@things-factory/setting-base 4.3.591 → 4.3.609

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.
@@ -37,6 +37,12 @@ let PartnerSettingMutation = class PartnerSettingMutation {
37
37
  await Promise.all(createRecords.map(async (record) => {
38
38
  const partnerDomain = await domainRepo.findOne(record.partnerDomain.id);
39
39
  const setting = await settingRepo.findOne(record.setting.id);
40
+ //validate input format for qr scanning configuration
41
+ if (record.setting.name == 'qr-data-parsing-configuration') {
42
+ if (!validateInputQRFormat(record.value)) {
43
+ throw new Error('Invalid input format');
44
+ }
45
+ }
40
46
  const result = await partnerSettingRepo.save(Object.assign(Object.assign({ domain, creator: user, updater: user }, record), { name: setting.name, description: setting.description, category: setting.category, partnerDomain,
41
47
  setting }));
42
48
  results.push(result);
@@ -84,4 +90,35 @@ PartnerSettingMutation = __decorate([
84
90
  (0, type_graphql_1.Resolver)(partner_setting_1.PartnerSetting)
85
91
  ], PartnerSettingMutation);
86
92
  exports.PartnerSettingMutation = PartnerSettingMutation;
93
+ function validateInputQRFormat(jsonString) {
94
+ try {
95
+ //parse the JSON
96
+ let jsonObj = JSON.parse(jsonString.trim());
97
+ //check if the JSON object is null or not an object
98
+ if (!jsonObj || typeof jsonObj !== 'object') {
99
+ throw new Error('Input must be a JSON object');
100
+ }
101
+ //check if required properties exist
102
+ if (!jsonObj.hasOwnProperty('delimiter') && !jsonObj.hasOwnProperty('sequence') && !jsonObj.hasOwnProperty('type')) {
103
+ throw new Error("Missing required property");
104
+ }
105
+ //check if sequence values are valid
106
+ const validSequenceValues = ['serialNumber', 'productBarcode'];
107
+ for (let i = 0; i < jsonObj.sequence.length; i++) {
108
+ let value = jsonObj.sequence[i];
109
+ if (value === 'SerialNumber')
110
+ value = 'serialNumber';
111
+ if (value === 'gtin' || value === 'GTIN')
112
+ value = 'productBarcode';
113
+ if (!validSequenceValues.includes(value)) {
114
+ throw new Error(`Invalid sequence value: '${jsonObj.sequence[i]}'.`);
115
+ }
116
+ }
117
+ //if all checks pass, return the parsed object
118
+ return jsonObj;
119
+ }
120
+ catch (error) {
121
+ throw new Error(error);
122
+ }
123
+ }
87
124
  //# sourceMappingURL=partner-setting-mutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"partner-setting-mutation.js","sourceRoot":"","sources":["../../../server/service/partner-setting/partner-setting-mutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"partner-setting-mutation.js","sourceRoot":"","sources":["../../../server/service/partner-setting/partner-setting-mutation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAsE;AACtE,qCAAsE;AACtE,iDAA8C;AAE9C,uDAAkD;AAClD,iEAA4D;AAC5D,gDAA4C;AAGrC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAG3B,AAAN,KAAK,CAAC,4BAA4B,CACe,OAA8B,EACtE,OAAY;QAEnB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,kBAAkB,GACtB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,gCAAc,CAAC,KAAI,IAAA,uBAAa,EAAC,gCAAc,CAAC,CAAA;QACpE,MAAM,UAAU,GAAuB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,cAAM,CAAC,KAAI,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAA;QACzF,MAAM,WAAW,GAAwB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,iBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,iBAAO,CAAC,CAAA;QAE7F,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,MAAM,CACrD,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACjB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3D,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG;gBAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAEzE,OAAO,OAAO,CAAA;QAChB,CAAC,EACD,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CACzC,CAAA;QAED,IAAI,OAAO,GAAqB,EAAE,CAAA;QAElC,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE;YACzB,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAsB,EAAE,EAAE;gBACjD,MAAM,aAAa,GAAW,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;gBAC/E,MAAM,OAAO,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBAErE,qDAAqD;gBACrD,IAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,+BAA+B,EAAE;oBACzD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;wBACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;qBACxC;iBACF;gBAED,MAAM,MAAM,GAAmB,MAAM,kBAAkB,CAAC,IAAI,+BAC1D,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACV,MAAM,KACT,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,WAAW,EAAE,OAAO,CAAC,WAAW,EAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,aAAa;oBACb,OAAO,IACP,CAAA;gBAEF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC,CAAC,CACH,CAAA;SACF;QAED,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE;YACzB,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAsB,EAAE,EAAE;gBACjD,MAAM,aAAa,GAAW,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;gBAC/E,MAAM,OAAO,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBAErE,MAAM,cAAc,GAAmB,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC3F,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;gBAEtE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,+CACvC,cAAc,GACd,MAAM,KACT,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,WAAW,EAAE,OAAO,CAAC,WAAW,EAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,OAAO,EAAE,IAAI,EACb,aAAa;oBACb,OAAO,IACP,CAAA;gBAEF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC,CAAC,CACH,CAAA;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAIK,AAAN,KAAK,CAAC,qBAAqB,CAA+B,GAAa,EAAS,OAAY;QAC1F,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACtE,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAxFO;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,gCAAc,CAAC,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;IAEvG,WAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,0CAAmB,CAAC,CAAC,CAAA;IAC7C,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;0EA4EP;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;IACvD,WAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAAiB,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;mEAK9E;AA1FU,sBAAsB;IADlC,IAAA,uBAAQ,EAAC,gCAAc,CAAC;GACZ,sBAAsB,CA2FlC;AA3FY,wDAAsB;AA6FnC,SAAS,qBAAqB,CAAC,UAAU;IACvC,IAAI;QACF,gBAAgB;QAChB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;QAE3C,mDAAmD;QACnD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;SAC/C;QAED,oCAAoC;QACpC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;YAClH,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;SAC7C;QAED,oCAAoC;QACpC,MAAM,mBAAmB,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAA;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,KAAK,KAAK,cAAc;gBAAE,KAAK,GAAG,cAAc,CAAA;YACpD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM;gBAAE,KAAK,GAAG,gBAAgB,CAAA;YAClE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;aACnE;SACF;QAED,8CAA8C;QAC9C,OAAO,OAAO,CAAA;KACf;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;KACvB;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/setting-base",
3
- "version": "4.3.591",
3
+ "version": "4.3.609",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -26,5 +26,5 @@
26
26
  "@things-factory/auth-base": "^4.3.591",
27
27
  "@things-factory/code-base": "^4.3.591"
28
28
  },
29
- "gitHead": "b8528f316a234ad95d0f285d5ade988b44f1195f"
29
+ "gitHead": "9442aa55ff704d8adf03b277522aa17a21fb6d3a"
30
30
  }
@@ -38,6 +38,13 @@ export class PartnerSettingMutation {
38
38
  const partnerDomain: Domain = await domainRepo.findOne(record.partnerDomain.id)
39
39
  const setting: Setting = await settingRepo.findOne(record.setting.id)
40
40
 
41
+ //validate input format for qr scanning configuration
42
+ if(record.setting.name == 'qr-data-parsing-configuration') {
43
+ if (!validateInputQRFormat(record.value)) {
44
+ throw new Error('Invalid input format')
45
+ }
46
+ }
47
+
41
48
  const result: PartnerSetting = await partnerSettingRepo.save({
42
49
  domain,
43
50
  creator: user,
@@ -92,3 +99,36 @@ export class PartnerSettingMutation {
92
99
  return true
93
100
  }
94
101
  }
102
+
103
+ function validateInputQRFormat(jsonString) {
104
+ try {
105
+ //parse the JSON
106
+ let jsonObj = JSON.parse(jsonString.trim())
107
+
108
+ //check if the JSON object is null or not an object
109
+ if (!jsonObj || typeof jsonObj !== 'object') {
110
+ throw new Error('Input must be a JSON object')
111
+ }
112
+
113
+ //check if required properties exist
114
+ if (!jsonObj.hasOwnProperty('delimiter') && !jsonObj.hasOwnProperty('sequence') && !jsonObj.hasOwnProperty('type')) {
115
+ throw new Error("Missing required property")
116
+ }
117
+
118
+ //check if sequence values are valid
119
+ const validSequenceValues = ['serialNumber', 'productBarcode']
120
+ for (let i = 0; i < jsonObj.sequence.length; i++) {
121
+ let value = jsonObj.sequence[i]
122
+ if (value === 'SerialNumber') value = 'serialNumber'
123
+ if (value === 'gtin' || value === 'GTIN') value = 'productBarcode'
124
+ if (!validSequenceValues.includes(value)) {
125
+ throw new Error(`Invalid sequence value: '${jsonObj.sequence[i]}'.`)
126
+ }
127
+ }
128
+
129
+ //if all checks pass, return the parsed object
130
+ return jsonObj
131
+ } catch (error) {
132
+ throw new Error(error)
133
+ }
134
+ }