tabletcommand-backend-models 7.4.123 → 7.4.124

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.
@@ -19,6 +19,10 @@ async function PartnerModule(mongoose) {
19
19
  type: [String],
20
20
  default: [],
21
21
  },
22
+ departmentId: {
23
+ type: String,
24
+ default: "",
25
+ },
22
26
  }, {
23
27
  _id: false,
24
28
  id: false,
@@ -1 +1 @@
1
- {"version":3,"file":"partner.js","sourceRoot":"","sources":["../../src/models/partner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"partner.js","sourceRoot":"","sources":["../../src/models/partner.ts"],"names":[],"mappings":"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"}
@@ -34,5 +34,42 @@ const mock_1 = require("./mock");
34
34
  chai_1.assert.deepEqual(sut.location.departmentIds, (_b = testItem.location) === null || _b === void 0 ? void 0 : _b.departmentIds);
35
35
  chai_1.assert.equal(sut.location.includeVehicleStatus, (_c = testItem.location) === null || _c === void 0 ? void 0 : _c.includeVehicleStatus);
36
36
  });
37
+ (0, node_test_1.it)("round-trips location filters including departmentId scope", async function () {
38
+ var _a, _b;
39
+ const partner = {
40
+ ...testItem,
41
+ location: {
42
+ enabled: true,
43
+ departmentIds: (_b = (_a = testItem.location) === null || _a === void 0 ? void 0 : _a.departmentIds) !== null && _b !== void 0 ? _b : [],
44
+ includeVehicleStatus: false,
45
+ speedAsBinary: false,
46
+ useCadVisibility: false,
47
+ filters: [
48
+ { type: "agencyCode", enabled: true, values: ["AC1"], departmentId: "dept001" },
49
+ { type: "agencyCode", enabled: true, values: ["AC2"], departmentId: "" },
50
+ ],
51
+ },
52
+ };
53
+ const item = new models.Partner(partner);
54
+ const saved = await item.save();
55
+ const sut = await models.Partner.findById(saved._id);
56
+ chai_1.assert.isNotNull(sut);
57
+ if (!sut) {
58
+ return;
59
+ }
60
+ chai_1.assert.lengthOf(sut.location.filters, 2);
61
+ const scoped = sut.location.filters[0];
62
+ chai_1.assert.isDefined(scoped);
63
+ chai_1.assert.equal(scoped === null || scoped === void 0 ? void 0 : scoped.type, "agencyCode");
64
+ chai_1.assert.equal(scoped === null || scoped === void 0 ? void 0 : scoped.enabled, true);
65
+ chai_1.assert.deepEqual(scoped === null || scoped === void 0 ? void 0 : scoped.values, ["AC1"]);
66
+ chai_1.assert.equal(scoped === null || scoped === void 0 ? void 0 : scoped.departmentId, "dept001");
67
+ const unscoped = sut.location.filters[1];
68
+ chai_1.assert.isDefined(unscoped);
69
+ chai_1.assert.equal(unscoped === null || unscoped === void 0 ? void 0 : unscoped.type, "agencyCode");
70
+ chai_1.assert.equal(unscoped === null || unscoped === void 0 ? void 0 : unscoped.enabled, true);
71
+ chai_1.assert.deepEqual(unscoped === null || unscoped === void 0 ? void 0 : unscoped.values, ["AC2"]);
72
+ chai_1.assert.equal(unscoped === null || unscoped === void 0 ? void 0 : unscoped.departmentId, "");
73
+ });
37
74
  });
38
75
  //# sourceMappingURL=partner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"partner.js","sourceRoot":"","sources":["../../src/test/partner.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,yCAAgE;AAChE,8BAA8B;AAC9B,mCAAmC;AACnC,iCAAgC;AAEhC,IAAA,oBAAQ,EAAC,SAAS,EAAE;IAClB,IAAI,MAAuB,EAAE,QAA0B,CAAC;IACxD,IAAI,QAA4B,CAAC;IACjC,IAAA,sBAAU,EAAC,KAAK;QACd,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAClB,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAEtB,MAAM,IAAI,GAAG,IAAA,cAAU,EAAC;YACtB,QAAQ;SACT,CAAC,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,IAAA,qBAAS,EAAC,KAAK;QACb,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,UAAU,EAAE,KAAK;;QAClB,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAE9B,aAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/B,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1C,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,aAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAA,QAAQ,CAAC,QAAQ,0CAAE,OAAO,CAAC,CAAC;QAC/D,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAA,QAAQ,CAAC,QAAQ,0CAAE,aAAa,CAAC,CAAC;QAC/E,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAA,QAAQ,CAAC,QAAQ,0CAAE,oBAAoB,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"partner.js","sourceRoot":"","sources":["../../src/test/partner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"partner.d.ts","sourceRoot":"","sources":["../../src/models/partner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,OAAO,EAEL,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAIL,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,OAAQ,SAAQ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAAI;AAEzE,wBAA8B,aAAa,CAAC,QAAQ,EAAE,cAAc;;;;SA0InE;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,OAAO,CAAC;CAAI"}
1
+ {"version":3,"file":"partner.d.ts","sourceRoot":"","sources":["../../src/models/partner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,OAAO,EAEL,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAIL,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,OAAQ,SAAQ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAAI;AAEzE,wBAA8B,aAAa,CAAC,QAAQ,EAAE,cAAc;;;;SA8InE;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,OAAO,CAAC;CAAI"}
@@ -3,6 +3,7 @@ export interface PartnerLocationFilter {
3
3
  type: string;
4
4
  enabled: boolean;
5
5
  values: string[];
6
+ departmentId: string;
6
7
  }
7
8
  export interface PartnerLocationType {
8
9
  enabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"partner.d.ts","sourceRoot":"","sources":["../../src/types/partner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAOjC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"partner.d.ts","sourceRoot":"","sources":["../../src/types/partner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tabletcommand-backend-models",
3
- "version": "7.4.123",
3
+ "version": "7.4.124",
4
4
  "description": "Tablet Command Backend Models",
5
5
  "scripts": {
6
6
  "lint": "eslint src",
@@ -18,8 +18,8 @@
18
18
  "dependencies": {
19
19
  "debug": "^4.4.3",
20
20
  "lodash": "^4.18.1",
21
- "moment-timezone": "^0.6.3",
22
- "mongoose": "^8.24.4",
21
+ "moment-timezone": "^0.6.5",
22
+ "mongoose": "^8.24.5",
23
23
  "mongoose-lean-virtuals": "^2.1.0",
24
24
  "uuid": "~14.0.2"
25
25
  },
@@ -30,22 +30,22 @@
30
30
  "@types/del": "3.0.1",
31
31
  "@types/gulp": "4.0.18",
32
32
  "@types/lodash": "^4.17.25",
33
- "@types/node": "^24.13.4",
34
- "@typescript-eslint/eslint-plugin": "~8.70.0",
35
- "@typescript-eslint/parser": "~8.70.0",
36
- "chai": "^6.2.2",
37
- "cspell": "^10.3.2",
33
+ "@types/node": "^24.19.1",
34
+ "@typescript-eslint/eslint-plugin": "~8.71.1",
35
+ "@typescript-eslint/parser": "~8.71.1",
36
+ "chai": "^6.3.0",
37
+ "cspell": "^10.3.6",
38
38
  "del": "^8.0.1",
39
39
  "eslint": "^9.39.5",
40
40
  "eslint-plugin-promise": "^7.3.0",
41
- "eslint-plugin-security": "^4.0.1",
42
- "globals": "^17.12.0",
41
+ "eslint-plugin-security": "^4.2.0",
42
+ "globals": "^17.13.0",
43
43
  "gulp": "^5.0.1",
44
44
  "gulp-execa": "^8.0.1",
45
45
  "neostandard": "^0.13.0",
46
46
  "ts-node": "10.9.2",
47
- "tsx": "^4.23.13",
48
- "type-coverage": "^2.30.1",
47
+ "tsx": "^4.23.15",
48
+ "type-coverage": "^2.30.3",
49
49
  "typescript": "~5.9.3"
50
50
  },
51
51
  "typeCoverage": {
@@ -32,6 +32,10 @@ export default async function PartnerModule(mongoose: MongooseModule) {
32
32
  type: [String],
33
33
  default: [],
34
34
  },
35
+ departmentId: {
36
+ type: String,
37
+ default: "",
38
+ },
35
39
  }, {
36
40
  _id: false,
37
41
  id: false,
@@ -35,4 +35,45 @@ describe("Partner", function() {
35
35
  assert.deepEqual(sut.location.departmentIds, testItem.location?.departmentIds);
36
36
  assert.equal(sut.location.includeVehicleStatus, testItem.location?.includeVehicleStatus);
37
37
  });
38
+
39
+ it("round-trips location filters including departmentId scope", async function() {
40
+ const partner: Partial<m.Partner> = {
41
+ ...testItem,
42
+ location: {
43
+ enabled: true,
44
+ departmentIds: testItem.location?.departmentIds ?? [],
45
+ includeVehicleStatus: false,
46
+ speedAsBinary: false,
47
+ useCadVisibility: false,
48
+ filters: [
49
+ { type: "agencyCode", enabled: true, values: ["AC1"], departmentId: "dept001" },
50
+ { type: "agencyCode", enabled: true, values: ["AC2"], departmentId: "" },
51
+ ],
52
+ },
53
+ };
54
+
55
+ const item = new models.Partner(partner);
56
+ const saved = await item.save();
57
+ const sut = await models.Partner.findById(saved._id);
58
+
59
+ assert.isNotNull(sut);
60
+ if (!sut) {
61
+ return;
62
+ }
63
+ assert.lengthOf(sut.location.filters, 2);
64
+
65
+ const scoped = sut.location.filters[0];
66
+ assert.isDefined(scoped);
67
+ assert.equal(scoped?.type, "agencyCode");
68
+ assert.equal(scoped?.enabled, true);
69
+ assert.deepEqual(scoped?.values, ["AC1"]);
70
+ assert.equal(scoped?.departmentId, "dept001");
71
+
72
+ const unscoped = sut.location.filters[1];
73
+ assert.isDefined(unscoped);
74
+ assert.equal(unscoped?.type, "agencyCode");
75
+ assert.equal(unscoped?.enabled, true);
76
+ assert.deepEqual(unscoped?.values, ["AC2"]);
77
+ assert.equal(unscoped?.departmentId, "");
78
+ });
38
79
  });
@@ -1,14 +1,10 @@
1
1
  import { Types } from "mongoose";
2
2
 
3
- // Versatile, open-ended filter: each entry declares what dimension it filters
4
- // on (`type`), whether it is active (`enabled`), and the allowed values for
5
- // that dimension (`values`). Adding a new filter dimension is a new array
6
- // entry, not a schema change. Consumers apply only the `type` values they
7
- // understand and ignore the rest.
8
3
  export interface PartnerLocationFilter {
9
4
  type: string,
10
5
  enabled: boolean,
11
6
  values: string[],
7
+ departmentId: string,
12
8
  }
13
9
 
14
10
  export interface PartnerLocationType {