storemw-core-api 1.0.160 → 1.0.162

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,23 +1,23 @@
1
1
  export type DefaultOmitFields = "createdatetime" | "createuserid" | "updatedatetime" | "updateuserid" | "isdelete" | "istrash" | "accountid";
2
2
  export declare const getDefaultCreateFields: (createUserId: number, accountId: number) => {
3
- createuserid: string | number;
3
+ createuserid: any;
4
4
  createdatetime: string;
5
- updateuserid: string | number;
5
+ updateuserid: any;
6
6
  updatedatetime: string;
7
7
  accountid: number;
8
8
  };
9
9
  export declare const getDefaultUpdateFields: (updateUserId: number) => {
10
- updateuserid: string | number;
10
+ updateuserid: any;
11
11
  updatedatetime: string;
12
12
  };
13
13
  export declare const getDefaultTrashFields: (updateUserId: number) => {
14
14
  istrash: boolean;
15
- updateuserid: string | number;
15
+ updateuserid: any;
16
16
  updatedatetime: string;
17
17
  };
18
18
  export declare const getDefaultRemoveFields: (updateUserId: number) => {
19
19
  isdelete: boolean;
20
- updateuserid: string | number;
20
+ updateuserid: any;
21
21
  updatedatetime: string;
22
22
  };
23
23
  export declare const getDefaultGetWhere: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.errorRecordNotFoundAfterRemoved = exports.errorRecordNotFoundAfterTrashed = exports.errorRecordNotFoundAfterUpdated = exports.errorRecordNotFoundAlreadyDeleted = exports.getDefaultRemoveWhere = exports.getDefaultTrashWhere = exports.getDefaultUpdateWhere = exports.getDefaultGetWhere = exports.getDefaultRemoveFields = exports.getDefaultTrashFields = exports.getDefaultUpdateFields = exports.getDefaultCreateFields = void 0;
4
4
  const utils_1 = require("../../utils");
5
5
  const forceToZeroIfEmpty = (val) => {
6
- return val === "" ? 0 : "";
6
+ return val === "" ? 0 : val;
7
7
  };
8
8
  // insert into create - data fields
9
9
  const getDefaultCreateFields = (createUserId, accountId) => {
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/lib/model_factory/default.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAK/C,MAAM,kBAAkB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACpC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/B,CAAC,CAAA;AAED,mCAAmC;AAC5B,MAAM,sBAAsB,GAAG,CAAC,YAAoB,EAAE,SAAiB,EAAE,EAAE;IAE9E,MAAM,kBAAkB,GAAG,IAAA,6BAAqB,GAAE,CAAA;IAElD,OAAO;QACH,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,kBAAkB;QAClC,SAAS,EAAE,SAAS;KACvB,CAAA;AACL,CAAC,CAAA;AAXY,QAAA,sBAAsB,0BAWlC;AAED,mCAAmC;AAC5B,MAAM,sBAAsB,GAAG,CAAC,YAAoB,EAAE,EAAE;IAE3D,MAAM,kBAAkB,GAAG,IAAA,6BAAqB,GAAE,CAAA;IAElD,OAAO;QACH,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,kBAAkB;KACrC,CAAA;AACL,CAAC,CAAA;AARY,QAAA,sBAAsB,0BAQlC;AAED,kCAAkC;AAC3B,MAAM,qBAAqB,GAAG,CAAC,YAAoB,EAAE,EAAE;IAE1D,MAAM,kBAAkB,GAAG,IAAA,6BAAqB,GAAE,CAAA;IAElD,OAAO;QACH,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,kBAAkB;KACrC,CAAA;AACL,CAAC,CAAA;AATY,QAAA,qBAAqB,yBASjC;AAED,mCAAmC;AAC5B,MAAM,sBAAsB,GAAG,CAAC,YAAoB,EAAE,EAAE;IAE3D,MAAM,kBAAkB,GAAG,IAAA,6BAAqB,GAAE,CAAA;IAElD,OAAO;QACH,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,kBAAkB;KACrC,CAAA;AACL,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC;AAED,yCAAyC;AAC5B,QAAA,kBAAkB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAErD,4CAA4C;AAC/B,QAAA,qBAAqB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAExE,2CAA2C;AAC9B,QAAA,oBAAoB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAEvE,4CAA4C;AAC/B,QAAA,qBAAqB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAE3D,QAAA,iCAAiC,GAAG,qCAAqC,CAAA;AACzE,QAAA,+BAA+B,GAAG,+BAA+B,CAAA;AACjE,QAAA,+BAA+B,GAAG,8BAA8B,CAAA;AAChE,QAAA,+BAA+B,GAAG,+BAA+B,CAAA","sourcesContent":["import { getCurrentDateTimeISO } from \"@/utils\"\n\nexport type DefaultOmitFields = \"createdatetime\" | \"createuserid\" |\n \"updatedatetime\" | \"updateuserid\" | \"isdelete\" | \"istrash\" | \"accountid\"\n\nconst forceToZeroIfEmpty = (val: any) => {\n return val === \"\" ? 0 : \"\";\n}\n\n// insert into create - data fields\nexport const getDefaultCreateFields = (createUserId: number, accountId: number) => {\n\n const currentDatetimeISO = getCurrentDateTimeISO()\n\n return {\n createuserid: forceToZeroIfEmpty(createUserId),\n createdatetime: currentDatetimeISO,\n updateuserid: forceToZeroIfEmpty(createUserId),\n updatedatetime: currentDatetimeISO,\n accountid: accountId\n }\n}\n\n// insert into update - data fields\nexport const getDefaultUpdateFields = (updateUserId: number) => {\n\n const currentDatetimeISO = getCurrentDateTimeISO()\n\n return {\n updateuserid: forceToZeroIfEmpty(updateUserId),\n updatedatetime: currentDatetimeISO,\n }\n}\n\n// insert into trash - data fields\nexport const getDefaultTrashFields = (updateUserId: number) => {\n\n const currentDatetimeISO = getCurrentDateTimeISO()\n\n return {\n istrash: true,\n updateuserid: forceToZeroIfEmpty(updateUserId),\n updatedatetime: currentDatetimeISO,\n }\n}\n\n// insert into remove - data fields\nexport const getDefaultRemoveFields = (updateUserId: number) => {\n\n const currentDatetimeISO = getCurrentDateTimeISO()\n\n return {\n isdelete: true,\n updateuserid: forceToZeroIfEmpty(updateUserId),\n updatedatetime: currentDatetimeISO,\n }\n}\n\n// insert into the get - where conditions\nexport const getDefaultGetWhere = { isdelete: false }\n\n// insert into the update - where conditions\nexport const getDefaultUpdateWhere = { isdelete: false, istrash: false }\n\n// insert into the trash - where conditions\nexport const getDefaultTrashWhere = { isdelete: false, istrash: false }\n\n// insert into the remove - where conditions\nexport const getDefaultRemoveWhere = { isdelete: false, istrash: false }\n\nexport const errorRecordNotFoundAlreadyDeleted = `Record not found or already deleted`\nexport const errorRecordNotFoundAfterUpdated = `Record not found after update`\nexport const errorRecordNotFoundAfterTrashed = `Record not found after trash`\nexport const errorRecordNotFoundAfterRemoved = `Record not found after remove`"]}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/lib/model_factory/default.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAK/C,MAAM,kBAAkB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACpC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAChC,CAAC,CAAA;AAED,mCAAmC;AAC5B,MAAM,sBAAsB,GAAG,CAAC,YAAoB,EAAE,SAAiB,EAAE,EAAE;IAE9E,MAAM,kBAAkB,GAAG,IAAA,6BAAqB,GAAE,CAAA;IAElD,OAAO;QACH,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,kBAAkB;QAClC,SAAS,EAAE,SAAS;KACvB,CAAA;AACL,CAAC,CAAA;AAXY,QAAA,sBAAsB,0BAWlC;AAED,mCAAmC;AAC5B,MAAM,sBAAsB,GAAG,CAAC,YAAoB,EAAE,EAAE;IAE3D,MAAM,kBAAkB,GAAG,IAAA,6BAAqB,GAAE,CAAA;IAElD,OAAO;QACH,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,kBAAkB;KACrC,CAAA;AACL,CAAC,CAAA;AARY,QAAA,sBAAsB,0BAQlC;AAED,kCAAkC;AAC3B,MAAM,qBAAqB,GAAG,CAAC,YAAoB,EAAE,EAAE;IAE1D,MAAM,kBAAkB,GAAG,IAAA,6BAAqB,GAAE,CAAA;IAElD,OAAO;QACH,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,kBAAkB;KACrC,CAAA;AACL,CAAC,CAAA;AATY,QAAA,qBAAqB,yBASjC;AAED,mCAAmC;AAC5B,MAAM,sBAAsB,GAAG,CAAC,YAAoB,EAAE,EAAE;IAE3D,MAAM,kBAAkB,GAAG,IAAA,6BAAqB,GAAE,CAAA;IAElD,OAAO;QACH,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,kBAAkB;KACrC,CAAA;AACL,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC;AAED,yCAAyC;AAC5B,QAAA,kBAAkB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAErD,4CAA4C;AAC/B,QAAA,qBAAqB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAExE,2CAA2C;AAC9B,QAAA,oBAAoB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAEvE,4CAA4C;AAC/B,QAAA,qBAAqB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAE3D,QAAA,iCAAiC,GAAG,qCAAqC,CAAA;AACzE,QAAA,+BAA+B,GAAG,+BAA+B,CAAA;AACjE,QAAA,+BAA+B,GAAG,8BAA8B,CAAA;AAChE,QAAA,+BAA+B,GAAG,+BAA+B,CAAA","sourcesContent":["import { getCurrentDateTimeISO } from \"@/utils\"\n\nexport type DefaultOmitFields = \"createdatetime\" | \"createuserid\" |\n \"updatedatetime\" | \"updateuserid\" | \"isdelete\" | \"istrash\" | \"accountid\"\n\nconst forceToZeroIfEmpty = (val: any) => {\n return val === \"\" ? 0 : val;\n}\n\n// insert into create - data fields\nexport const getDefaultCreateFields = (createUserId: number, accountId: number) => {\n\n const currentDatetimeISO = getCurrentDateTimeISO()\n\n return {\n createuserid: forceToZeroIfEmpty(createUserId),\n createdatetime: currentDatetimeISO,\n updateuserid: forceToZeroIfEmpty(createUserId),\n updatedatetime: currentDatetimeISO,\n accountid: accountId\n }\n}\n\n// insert into update - data fields\nexport const getDefaultUpdateFields = (updateUserId: number) => {\n\n const currentDatetimeISO = getCurrentDateTimeISO()\n\n return {\n updateuserid: forceToZeroIfEmpty(updateUserId),\n updatedatetime: currentDatetimeISO,\n }\n}\n\n// insert into trash - data fields\nexport const getDefaultTrashFields = (updateUserId: number) => {\n\n const currentDatetimeISO = getCurrentDateTimeISO()\n\n return {\n istrash: true,\n updateuserid: forceToZeroIfEmpty(updateUserId),\n updatedatetime: currentDatetimeISO,\n }\n}\n\n// insert into remove - data fields\nexport const getDefaultRemoveFields = (updateUserId: number) => {\n\n const currentDatetimeISO = getCurrentDateTimeISO()\n\n return {\n isdelete: true,\n updateuserid: forceToZeroIfEmpty(updateUserId),\n updatedatetime: currentDatetimeISO,\n }\n}\n\n// insert into the get - where conditions\nexport const getDefaultGetWhere = { isdelete: false }\n\n// insert into the update - where conditions\nexport const getDefaultUpdateWhere = { isdelete: false, istrash: false }\n\n// insert into the trash - where conditions\nexport const getDefaultTrashWhere = { isdelete: false, istrash: false }\n\n// insert into the remove - where conditions\nexport const getDefaultRemoveWhere = { isdelete: false, istrash: false }\n\nexport const errorRecordNotFoundAlreadyDeleted = `Record not found or already deleted`\nexport const errorRecordNotFoundAfterUpdated = `Record not found after update`\nexport const errorRecordNotFoundAfterTrashed = `Record not found after trash`\nexport const errorRecordNotFoundAfterRemoved = `Record not found after remove`"]}
@@ -51,13 +51,13 @@ let userSqlSelect = {
51
51
  [`usr.${models_1.ModelUserFields.status}`]: "status"
52
52
  };
53
53
  let defaultSqlSelect = {
54
- [`wrk.${models_1.ModelWorkerFields.createdatetime} `]: "createdatetime",
55
- [`creator.${models_1.ModelUserFields.login_username} `]: "createusername",
56
- [`wrk.${models_1.ModelWorkerFields.updatedatetime} `]: "updatedatetime",
57
- [`updater.${models_1.ModelUserFields.login_username} `]: "updateusername",
58
- [`wrk.${models_1.ModelWorkerFields.isdelete} `]: "isdelete",
59
- [`wrk.${models_1.ModelWorkerFields.istrash} `]: "istrash",
60
- [`wrk.${models_1.ModelWorkerFields.accountid} `]: "accountid",
54
+ [`wrk.${models_1.ModelWorkerFields.createdatetime}`]: "createdatetime",
55
+ [`creator.${models_1.ModelUserFields.login_username}`]: "createusername",
56
+ [`wrk.${models_1.ModelWorkerFields.updatedatetime}`]: "updatedatetime",
57
+ [`updater.${models_1.ModelUserFields.login_username}`]: "updateusername",
58
+ [`wrk.${models_1.ModelWorkerFields.isdelete}`]: "isdelete",
59
+ [`wrk.${models_1.ModelWorkerFields.istrash}`]: "istrash",
60
+ [`wrk.${models_1.ModelWorkerFields.accountid}`]: "accountid",
61
61
  };
62
62
  let userPropLocationSqlSelect = {
63
63
  [`COALESCE(
@@ -77,7 +77,7 @@ const WorkerService = (props) => {
77
77
  const createWorker = async ({ data }) => {
78
78
  const _data = getCreatePayload(data);
79
79
  if (!_data) {
80
- throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)} `);
80
+ throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)}`);
81
81
  }
82
82
  let response = await workerModel.create({ data: _data });
83
83
  return response;
@@ -85,9 +85,9 @@ const WorkerService = (props) => {
85
85
  const updateWorker = async ({ userId, data }) => {
86
86
  const _data = getUpdatePayload(data);
87
87
  if (!_data) {
88
- throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)} `);
88
+ throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)}`);
89
89
  }
90
- let response = await workerModel.update({ where: { [`${models_1.ModelWorkerFields.user_id} `]: userId }, data: _data });
90
+ let response = await workerModel.update({ where: { [`${models_1.ModelWorkerFields.user_id}`]: userId }, data: _data });
91
91
  return response;
92
92
  };
93
93
  const getWorker = async ({ id, datatypes = [], includePassword = false }) => {
@@ -107,11 +107,11 @@ const WorkerService = (props) => {
107
107
  if (includePassword === true) {
108
108
  userSqlSelect = {
109
109
  ...userSqlSelect,
110
- [`usr.${models_1.ModelUserFields.login_password} `]: "password",
110
+ [`usr.${models_1.ModelUserFields.login_password}`]: "password",
111
111
  };
112
112
  }
113
113
  else {
114
- delete userSqlSelect[`usr.${models_1.ModelUserFields.login_password} `];
114
+ delete userSqlSelect[`usr.${models_1.ModelUserFields.login_password}`];
115
115
  }
116
116
  let sqlSelect = [
117
117
  `COUNT(*) OVER() as filtered_count`,
@@ -227,7 +227,7 @@ const WorkerService = (props) => {
227
227
  const removeWorkers = async ({ userIds }) => {
228
228
  if (!userIds.length)
229
229
  (0, utils_1.throwError)('userIds is required');
230
- const response = await workerModel.remove({ where: { [`${models_1.ModelWorkerFields.user_id} `]: { in: userIds } } });
230
+ const response = await workerModel.remove({ where: { [`${models_1.ModelWorkerFields.user_id}`]: { in: userIds } } });
231
231
  return response;
232
232
  };
233
233
  const getDataTypes = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerService.js","sourceRoot":"","sources":["../../../src/services/user/WorkerService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n WorkerModel,\n ModelWorkerFields,\n ModelUserPropFields,\n ModelLocationFields,\n UserInjectionFieldModel\n} from \"@/models\";\n\nimport { InjectionFieldService, userParentSqlSelect } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"worker\"\n\nexport const workerDataTypes = {\n location: \"location\",\n locationCount: \"location_count\",\n zone: \"zone\",\n zoneCount: \"zone_count\",\n workerInjectionFields: \"worker_injection_fields\",\n file: \"file\",\n parentUser: \"parent_user\"\n}\n\nexport type WorkerDataType = keyof typeof workerDataTypes;\n\nexport type WorkerServiceProps = DefaultServiceProps & {};\n\nexport type WorkerGetProps = {\n id: number,\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerListProps = QueryList & {\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type WorkerCreateProps = {\n data:\n // worker\n {\n worker: {\n userId: number,\n remark: string\n }\n }\n}\n\nexport type WorkerUpdateProps = {\n userId: number,\n data:\n // worker\n {\n worker: {\n // userId: number,\n remark: string\n }\n }\n}\n\nconst getCreatePayload = (data: WorkerCreateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: WorkerUpdateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n // [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`wrk.${ModelWorkerFields.worker_id}`]: \"worker_id\",\n [`wrk.${ModelWorkerFields.user_id}`]: \"user_id\",\n [`wrk.${ModelWorkerFields.remark}`]: \"remark\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.parent_user_id}`]: \"parent_user_id\",\n [`usr.${ModelUserFields.status}`]: \"status\"\n}\n\nlet defaultSqlSelect = {\n [`wrk.${ModelWorkerFields.createdatetime} `]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username} `]: \"createusername\",\n [`wrk.${ModelWorkerFields.updatedatetime} `]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username} `]: \"updateusername\",\n [`wrk.${ModelWorkerFields.isdelete} `]: \"isdelete\",\n [`wrk.${ModelWorkerFields.istrash} `]: \"istrash\",\n [`wrk.${ModelWorkerFields.accountid} `]: \"accountid\",\n}\n\nlet userPropLocationSqlSelect = {\n [`COALESCE(\n STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}:: text, ', '),\n ''\n)`]: \"location_id\",\n [`COALESCE(\n STRING_AGG(location.${ModelLocationFields.location_name}:: text, ', '),\n ''\n)`]: \"location_name\",\n}\n\nexport const WorkerService = (props: WorkerServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const workerModel = WorkerModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n // const userInjectionFieldModel = UserInjectionFieldModel({ ...rest })\n\n const createWorker = async ({ data }: WorkerCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)} `);\n }\n\n let response = await workerModel.create({ data: _data })\n\n return response\n }\n\n const updateWorker = async ({ userId, data }: WorkerUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)} `);\n }\n\n let response = await workerModel.update({ where: { [`${ModelWorkerFields.user_id} `]: userId }, data: _data })\n\n return response\n }\n\n const getWorker = async ({ id, datatypes = [], includePassword = false }: WorkerGetProps) => {\n\n let { data } = await listWorkers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: \"user_id\", operator: \"=\", value: id }],\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listWorkers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: WorkerListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password} `]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password} `];\n }\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n buildSqlSelect(``, userPropLocationSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"usr\", [\"wrk.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"creator\", [\"wrk.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"updater\", [\"wrk.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"user_props\", \"usrprop_location\", [\"wrk.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(userSqlSelect),\n // ...Object.keys(userPropLocationSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...userSqlSelect,\n ...userPropLocationSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(workerDataTypes.workerInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"worker\")\n\n const workerInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...workerInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, workerInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"user_injection_fields\", \"uif\", [\"wrk.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'worker'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(workerInjectionFieldSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.parentUser)) {\n\n filterColumns = { ...filterColumns, ...userParentSqlSelect }\n\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"users\", \"parentuser\", [\"usr.parent_user_id = parentuser.user_id\", \"parentuser.isdelete = false\", \"parentuser.istrash = false\"])]\n sqlSelect = [...sqlSelect, buildSqlSelect(``, userParentSqlSelect)]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(userParentSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.location)) {\n\n let locationSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationFields.location_id}', location.location_id,\n '${ModelLocationFields.location_code}', location.location_code,\n '${ModelLocationFields.location_name}', location.location_name,\n '${ModelLocationFields.location_type}', location.location_type,\n '${ModelLocationFields.address_1}', location.address_1,\n '${ModelLocationFields.address_2}', location.address_2,\n '${ModelLocationFields.area_id}', location.area_id,\n '${ModelLocationFields.country_id}', location.country_id,\n '${ModelLocationFields.state_id}', location.state_id,\n '${ModelLocationFields.postcode}', location.postcode,\n '${ModelLocationFields.is_default}', location.is_default,\n '${ModelLocationFields.person_contact}', location.person_contact,\n '${ModelLocationFields.person_name}', location.person_contact,\n '${ModelLocationFields.person_email}', location.person_email,\n '${ModelLocationFields.isdelete}', location.isdelete,\n '${ModelLocationFields.istrash}', location.istrash\n )\n ) FILTER(WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false),\n '[]'\n )`]: \"locations\"\n }\n\n filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"wrk.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n }\n\n if (datatypes.includes(workerDataTypes.locationCount)) {\n\n let locationCountSqlSelect = {\n [`COUNT(DISTINCT location.${ModelLocationFields.location_id}):: INT`]: \"location_count\"\n }\n\n filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"wrk.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n }\n\n // if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n // let branchUserCountSqlSelect = {\n // [`COUNT(DISTINCT brnusrcount.${ ModelBranchUserFields.branch_user_id }):: INT`]: \"branch_user_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"wrk.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `wrk.isdelete = false`,\n `wrk.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"workers\",\n mainAlias: \"wrk\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await workerModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeWorkers = async ({ userIds }: WorkerRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await workerModel.remove({ where: { [`${ModelWorkerFields.user_id} `]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(workerDataTypes);\n }\n\n return {\n createWorker,\n updateWorker,\n getWorker,\n listWorkers,\n removeWorkers,\n getDataTypes\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"WorkerService.js","sourceRoot":"","sources":["../../../src/services/user/WorkerService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n WorkerModel,\n ModelWorkerFields,\n ModelUserPropFields,\n ModelLocationFields,\n UserInjectionFieldModel\n} from \"@/models\";\n\nimport { InjectionFieldService, userParentSqlSelect } from \"@/services\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, buildInjectionFieldsSqlSelect } from \"@/lib\";\n\nexport type UserType = \"worker\"\n\nexport const workerDataTypes = {\n location: \"location\",\n locationCount: \"location_count\",\n zone: \"zone\",\n zoneCount: \"zone_count\",\n workerInjectionFields: \"worker_injection_fields\",\n file: \"file\",\n parentUser: \"parent_user\"\n}\n\nexport type WorkerDataType = keyof typeof workerDataTypes;\n\nexport type WorkerServiceProps = DefaultServiceProps & {};\n\nexport type WorkerGetProps = {\n id: number,\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerListProps = QueryList & {\n includePassword?: boolean,\n datatypes: WorkerDataType[]\n};\n\nexport type WorkerRemoveProps = {\n userIds: BigInt[]\n};\n\nexport type WorkerCreateProps = {\n data:\n // worker\n {\n worker: {\n userId: number,\n remark: string\n }\n }\n}\n\nexport type WorkerUpdateProps = {\n userId: number,\n data:\n // worker\n {\n worker: {\n // userId: number,\n remark: string\n }\n }\n}\n\nconst getCreatePayload = (data: WorkerCreateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nconst getUpdatePayload = (data: WorkerUpdateProps[\"data\"]) => {\n\n if (\"worker\" in data) {\n\n return {\n // [`${ModelWorkerFields.user_id}`]: data.worker.userId,\n [`${ModelWorkerFields.remark}`]: data.worker.remark\n }\n }\n\n return false\n\n}\n\nlet mainSqlSelect = {\n [`wrk.${ModelWorkerFields.worker_id}`]: \"worker_id\",\n [`wrk.${ModelWorkerFields.user_id}`]: \"user_id\",\n [`wrk.${ModelWorkerFields.remark}`]: \"remark\",\n}\n\nlet userSqlSelect = {\n [`usr.${ModelUserFields.login_username}`]: \"username\",\n [`usr.${ModelUserFields.user_type}`]: \"user_type\",\n [`usr.${ModelUserFields.firstname}`]: \"firstname\",\n [`usr.${ModelUserFields.lastname}`]: \"lastname\",\n [`CONCAT(usr.${ModelUserFields.contact_country_code}, usr.${ModelUserFields.contact_phone_number})`]: \"contact\",\n [`usr.${ModelUserFields.contact_country_code}`]: \"contact_country_code\",\n [`usr.${ModelUserFields.contact_phone_number}`]: \"contact_phone_number\",\n [`usr.${ModelUserFields.email}`]: \"email\",\n [`usr.${ModelUserFields.address}`]: \"address\",\n [`usr.${ModelUserFields.parent_user_id}`]: \"parent_user_id\",\n [`usr.${ModelUserFields.status}`]: \"status\"\n}\n\nlet defaultSqlSelect = {\n [`wrk.${ModelWorkerFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`wrk.${ModelWorkerFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`wrk.${ModelWorkerFields.isdelete}`]: \"isdelete\",\n [`wrk.${ModelWorkerFields.istrash}`]: \"istrash\",\n [`wrk.${ModelWorkerFields.accountid}`]: \"accountid\",\n}\n\nlet userPropLocationSqlSelect = {\n [`COALESCE(\n STRING_AGG(usrprop_location.${ModelUserPropFields.props_id}:: text, ', '),\n ''\n)`]: \"location_id\",\n [`COALESCE(\n STRING_AGG(location.${ModelLocationFields.location_name}:: text, ', '),\n ''\n)`]: \"location_name\",\n}\n\nexport const WorkerService = (props: WorkerServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const workerModel = WorkerModel({ ...rest })\n\n const injectionFieldService = InjectionFieldService({ ...rest, injectionFieldType: \"user\" })\n\n // const userInjectionFieldModel = UserInjectionFieldModel({ ...rest })\n\n const createWorker = async ({ data }: WorkerCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await workerModel.create({ data: _data })\n\n return response\n }\n\n const updateWorker = async ({ userId, data }: WorkerUpdateProps) => {\n\n const _data = getUpdatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await workerModel.update({ where: { [`${ModelWorkerFields.user_id}`]: userId }, data: _data })\n\n return response\n }\n\n const getWorker = async ({ id, datatypes = [], includePassword = false }: WorkerGetProps) => {\n\n let { data } = await listWorkers({\n includePassword,\n limit: 1,\n offset: 0,\n filters: [{ field: \"user_id\", operator: \"=\", value: id }],\n sortfield: \"user_id\",\n sortorder: \"ASC\",\n datatypes\n })\n\n return data[0] ?? null;\n\n };\n\n const listWorkers = async ({\n includePassword = false,\n limit,\n offset,\n filters,\n sortfield,\n sortorder,\n datatypes = []\n }: WorkerListProps) => {\n\n let data = []\n\n if (includePassword === true) {\n userSqlSelect = {\n ...userSqlSelect,\n [`usr.${ModelUserFields.login_password}`]: \"password\",\n }\n } else {\n delete userSqlSelect[`usr.${ModelUserFields.login_password}`];\n }\n\n let sqlSelect = [\n `COUNT(*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n buildSqlSelect(``, userSqlSelect),\n buildSqlSelect(``, defaultSqlSelect),\n buildSqlSelect(``, userPropLocationSqlSelect),\n ]\n\n let sqlRelation = [\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"usr\", [\"wrk.user_id = usr.user_id\", \"usr.isdelete = false\", \"usr.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"creator\", [\"wrk.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"users\", \"updater\", [\"wrk.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"user_props\", \"usrprop_location\", [\"wrk.user_id = usrprop_location.user_id\", \"usrprop_location.type = 'LOCATION_ID'\", \"usrprop_location.isdelete = false\", \"usrprop_location.istrash = false\"]),\n buildSqlRelation(\"left\", \"wrk\", \"locations\", \"location\", [\"usrprop_location.props_id = location.location_id\", \"location.isdelete = false\", \"location.istrash = false\"]),\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n ...Object.keys(userSqlSelect),\n // ...Object.keys(userPropLocationSqlSelect),\n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n ...userSqlSelect,\n ...userPropLocationSqlSelect,\n ...defaultSqlSelect\n }\n\n if (datatypes.includes(workerDataTypes.workerInjectionFields)) {\n\n let activeInjectionFields = await injectionFieldService.listActiveInjectionFields(\"user\", \"worker\")\n\n const workerInjectionFieldSqlSelect = buildInjectionFieldsSqlSelect(\"uif\", activeInjectionFields)\n\n filterColumns = { ...filterColumns, ...workerInjectionFieldSqlSelect }\n\n sqlSelect = [...sqlSelect, ...(activeInjectionFields.length > 0 ? [buildSqlSelect(``, workerInjectionFieldSqlSelect)] : [])]\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"user_injection_fields\", \"uif\", [\"wrk.user_id = uif.user_id\", \"uif.field_ref = 'user'\", \"uif.field_module = 'worker'\", \"uif.isdelete = false\", \"uif.istrash = false\"])]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(workerInjectionFieldSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.parentUser)) {\n\n filterColumns = { ...filterColumns, ...userParentSqlSelect }\n\n sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"wrk\", \"users\", \"parentuser\", [\"usr.parent_user_id = parentuser.user_id\", \"parentuser.isdelete = false\", \"parentuser.istrash = false\"])]\n sqlSelect = [...sqlSelect, buildSqlSelect(``, userParentSqlSelect)]\n sqlGroupBy = [...sqlGroupBy, ...Object.keys(userParentSqlSelect)]\n\n }\n\n if (datatypes.includes(workerDataTypes.location)) {\n\n let locationSqlSelect = {\n [`COALESCE(\n JSON_AGG(\n DISTINCT JSONB_BUILD_OBJECT(\n '${ModelLocationFields.location_id}', location.location_id,\n '${ModelLocationFields.location_code}', location.location_code,\n '${ModelLocationFields.location_name}', location.location_name,\n '${ModelLocationFields.location_type}', location.location_type,\n '${ModelLocationFields.address_1}', location.address_1,\n '${ModelLocationFields.address_2}', location.address_2,\n '${ModelLocationFields.area_id}', location.area_id,\n '${ModelLocationFields.country_id}', location.country_id,\n '${ModelLocationFields.state_id}', location.state_id,\n '${ModelLocationFields.postcode}', location.postcode,\n '${ModelLocationFields.is_default}', location.is_default,\n '${ModelLocationFields.person_contact}', location.person_contact,\n '${ModelLocationFields.person_name}', location.person_contact,\n '${ModelLocationFields.person_email}', location.person_email,\n '${ModelLocationFields.isdelete}', location.isdelete,\n '${ModelLocationFields.istrash}', location.istrash\n )\n ) FILTER(WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false),\n '[]'\n )`]: \"locations\"\n }\n\n filterColumns = { ...filterColumns, ...locationSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"usrprop_location\", \"location\", \"brn\", [\"wrk.user_id = brn.user_id\", \"brn.isdelete = false\", \"brn.istrash = false\"])]\n\n }\n\n if (datatypes.includes(workerDataTypes.locationCount)) {\n\n let locationCountSqlSelect = {\n [`COUNT(DISTINCT location.${ModelLocationFields.location_id}):: INT`]: \"location_count\"\n }\n\n filterColumns = { ...filterColumns, ...locationCountSqlSelect }\n\n sqlSelect = [...sqlSelect, buildSqlSelect(``, locationCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branches\", \"brncount\", [\"wrk.user_id = brncount.user_id\", \"brncount.isdelete = false\", \"brncount.istrash = false\"])]\n\n }\n\n // if (datatypes.includes(customerDataTypes.branchUserCount)) {\n\n // let branchUserCountSqlSelect = {\n // [`COUNT(DISTINCT brnusrcount.${ ModelBranchUserFields.branch_user_id }):: INT`]: \"branch_user_count\"\n // }\n\n // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }\n\n // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]\n // sqlRelation = [...sqlRelation, buildSqlRelation(\"left\", \"cus\", \"branch_users\", \"brnusrcount\", [\"wrk.user_id = brnusrcount.user_id\", \"brnusrcount.isdelete = false\", \"brnusrcount.istrash = false\"])]\n\n // }\n\n let sqlWhere = [\n `wrk.isdelete = false`,\n `wrk.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"workers\",\n mainAlias: \"wrk\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await workerModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeWorkers = async ({ userIds }: WorkerRemoveProps) => {\n\n if (!userIds.length) throwError('userIds is required');\n\n const response = await workerModel.remove({ where: { [`${ModelWorkerFields.user_id}`]: { in: userIds } } });\n\n return response\n };\n\n const getDataTypes = () => {\n return Object.values(workerDataTypes);\n }\n\n return {\n createWorker,\n updateWorker,\n getWorker,\n listWorkers,\n removeWorkers,\n getDataTypes\n }\n\n}\n\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storemw-core-api",
3
- "version": "1.0.160",
3
+ "version": "1.0.162",
4
4
  "description": "STOREMW Core API",
5
5
  "main": "dist/app.js",
6
6
  "types": "dist/app.d.ts",