module.exports = function(Self) { Self.remoteMethodCtx('getUserConfig', { description: 'returns the information from UserConfig model for the active user', accepts: [], returns: { type: 'object', root: true }, http: { path: `/getUserConfig`, verb: 'get' } }); Self.getUserConfig = async(ctx, options) => { const models = Self.app.models; const myOptions = {}; if (typeof options == 'object') Object.assign(myOptions, options); let userConfig = await models.UserConfig.findOne({ where: {userFk: ctx.req.accessToken.userId} }, myOptions); const companyFilter = {where: {code: 'VNL'}}; const company = await models.Company.findOne(companyFilter, myOptions); const warehouseFilter = {where: {code: 'ALG'}}; const warehouse = await models.Warehouse.findOne(warehouseFilter, myOptions); if (!userConfig) { let newConfig = { warehouseFk: warehouse.id, companyFk: company.id, userFk: ctx.req.accessToken.userId }; userConfig = await models.UserConfig.create(newConfig, myOptions); } return userConfig; }; };