@stamhoofd/models 2.83.0 → 2.83.1

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 +1 @@
1
- {"version":3,"file":"WebshopCounter.d.ts","sourceRoot":"","sources":["../../../src/helpers/WebshopCounter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,cAAc;IACvB,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;WAEvC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;WA+BhD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D,MAAM,CAAC,QAAQ;CAGlB"}
1
+ {"version":3,"file":"WebshopCounter.d.ts","sourceRoot":"","sources":["../../../src/helpers/WebshopCounter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,cAAc;IACvB,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;WAEvC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;WAkChD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D,MAAM,CAAC,QAAQ;CAGlB"}
@@ -11,6 +11,8 @@ class WebshopCounter {
11
11
  return Math.floor(Math.random() * 1000000000) + 100000000;
12
12
  }
13
13
  const webshopId = webshop.id;
14
+ // For sequential numbering, we cannot go over 100000000
15
+ const maxStartNumber = 100000000 - 100000;
14
16
  // Prevent race conditions: create a queue
15
17
  // The queue can only run one at a time for the same webshop (so multiple webshops at the same time are allowed)
16
18
  return await queues_1.QueueHandler.schedule('webshop/numbers-' + webshopId, async () => {
@@ -21,12 +23,12 @@ class WebshopCounter {
21
23
  }
22
24
  const [rows] = await simple_database_1.Database.select(`select max(number) as previousNumber from webshop_orders where webshopId = ? AND number < 100000000`, [webshopId]);
23
25
  let nextNumber;
24
- if (rows.length == 0) {
25
- nextNumber = webshop.privateMeta.startNumber ?? 1;
26
+ if (rows.length === 0) {
27
+ nextNumber = Math.min(maxStartNumber, webshop.privateMeta.startNumber ?? 1);
26
28
  }
27
29
  else {
28
30
  const previousNumber = rows[0]['']['previousNumber'];
29
- nextNumber = (previousNumber ?? ((webshop.privateMeta.startNumber ?? 1) - 1)) + 1;
31
+ nextNumber = (previousNumber ?? (Math.min(maxStartNumber, webshop.privateMeta.startNumber ?? 1) - 1)) + 1;
30
32
  }
31
33
  this.numberCache.set(webshopId, nextNumber + 1);
32
34
  return nextNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"WebshopCounter.js","sourceRoot":"","sources":["../../../src/helpers/WebshopCounter.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,8CAAiD;AACjD,sDAA6D;AAI7D,MAAa,cAAc;IACvB,MAAM,CAAC,WAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEpD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAgB;QACvC,IAAI,OAAO,CAAC,WAAW,CAAC,aAAa,IAAI,iCAAoB,CAAC,MAAM,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,SAAS,CAAC;QAC9D,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAE7B,0CAA0C;QAC1C,gHAAgH;QAChH,OAAO,MAAM,qBAAY,CAAC,QAAQ,CAAC,kBAAkB,GAAG,SAAS,EAAE,KAAK,IAAI,EAAE;YAC1E,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;gBAChD,OAAO,UAAU,CAAC;YACtB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,qGAAqG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACzJ,IAAI,UAA8B,CAAC;YAEnC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACnB,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC;YACtD,CAAC;iBACI,CAAC;gBACF,MAAM,cAAc,GAAkB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAkB,CAAC;gBACrF,UAAU,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YAChD,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAiB;QACvC,0CAA0C;QAC1C,gHAAgH;QAChH,OAAO,MAAM,qBAAY,CAAC,QAAQ,CAAC,kBAAkB,GAAG,SAAS,EAAE,KAAK,IAAI,EAAE;YAC1E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,QAAQ;QACX,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAC5B,CAAC;;AA7CL,wCA8CC"}
1
+ {"version":3,"file":"WebshopCounter.js","sourceRoot":"","sources":["../../../src/helpers/WebshopCounter.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,8CAAiD;AACjD,sDAA6D;AAI7D,MAAa,cAAc;IACvB,MAAM,CAAC,WAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEpD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAgB;QACvC,IAAI,OAAO,CAAC,WAAW,CAAC,aAAa,IAAI,iCAAoB,CAAC,MAAM,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,SAAS,CAAC;QAC9D,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAE7B,wDAAwD;QACxD,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC;QAE1C,0CAA0C;QAC1C,gHAAgH;QAChH,OAAO,MAAM,qBAAY,CAAC,QAAQ,CAAC,kBAAkB,GAAG,SAAS,EAAE,KAAK,IAAI,EAAE;YAC1E,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;gBAChD,OAAO,UAAU,CAAC;YACtB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,qGAAqG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACzJ,IAAI,UAA8B,CAAC;YAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YAChF,CAAC;iBACI,CAAC;gBACF,MAAM,cAAc,GAAkB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAkB,CAAC;gBACrF,UAAU,GAAG,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9G,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YAChD,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAiB;QACvC,0CAA0C;QAC1C,gHAAgH;QAChH,OAAO,MAAM,qBAAY,CAAC,QAAQ,CAAC,kBAAkB,GAAG,SAAS,EAAE,KAAK,IAAI,EAAE;YAC1E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,QAAQ;QACX,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;;AAhDL,wCAiDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/models",
3
- "version": "2.83.0",
3
+ "version": "2.83.1",
4
4
  "main": "./dist/src/index.js",
5
5
  "types": "./dist/src/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -30,5 +30,5 @@
30
30
  "publishConfig": {
31
31
  "access": "public"
32
32
  },
33
- "gitHead": "5f116184aad8965d9deda1902e73af7feefa5721"
33
+ "gitHead": "97bf928ed008f1a992380b25385c86caecc43d42"
34
34
  }
@@ -13,6 +13,9 @@ export class WebshopCounter {
13
13
  }
14
14
  const webshopId = webshop.id;
15
15
 
16
+ // For sequential numbering, we cannot go over 100000000
17
+ const maxStartNumber = 100000000 - 100000;
18
+
16
19
  // Prevent race conditions: create a queue
17
20
  // The queue can only run one at a time for the same webshop (so multiple webshops at the same time are allowed)
18
21
  return await QueueHandler.schedule('webshop/numbers-' + webshopId, async () => {
@@ -25,12 +28,12 @@ export class WebshopCounter {
25
28
  const [rows] = await Database.select(`select max(number) as previousNumber from webshop_orders where webshopId = ? AND number < 100000000`, [webshopId]);
26
29
  let nextNumber: number | undefined;
27
30
 
28
- if (rows.length == 0) {
29
- nextNumber = webshop.privateMeta.startNumber ?? 1;
31
+ if (rows.length === 0) {
32
+ nextNumber = Math.min(maxStartNumber, webshop.privateMeta.startNumber ?? 1);
30
33
  }
31
34
  else {
32
35
  const previousNumber: number | null = rows[0]['']['previousNumber'] as number | null;
33
- nextNumber = (previousNumber ?? ((webshop.privateMeta.startNumber ?? 1) - 1)) + 1;
36
+ nextNumber = (previousNumber ?? (Math.min(maxStartNumber, webshop.privateMeta.startNumber ?? 1) - 1)) + 1;
34
37
  }
35
38
 
36
39
  this.numberCache.set(webshopId, nextNumber + 1);
@@ -47,7 +50,7 @@ export class WebshopCounter {
47
50
  });
48
51
  }
49
52
 
50
- static clearAll(){
51
- this.numberCache.clear()
53
+ static clearAll() {
54
+ this.numberCache.clear();
52
55
  }
53
56
  }