@talkpilot/core-db 1.3.32 → 1.3.34

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.
Files changed (41) hide show
  1. package/README.md +46 -3
  2. package/dist/bulkWrite/bulkWrite.ops.d.ts +17 -0
  3. package/dist/bulkWrite/bulkWrite.ops.d.ts.map +1 -0
  4. package/dist/bulkWrite/bulkWrite.ops.js +35 -0
  5. package/dist/bulkWrite/bulkWrite.ops.js.map +1 -0
  6. package/dist/bulkWrite/bulkWrite.types.d.ts +4 -0
  7. package/dist/bulkWrite/bulkWrite.types.d.ts.map +1 -0
  8. package/dist/bulkWrite/bulkWrite.types.js +3 -0
  9. package/dist/bulkWrite/bulkWrite.types.js.map +1 -0
  10. package/dist/bulkWrite/index.d.ts +3 -0
  11. package/dist/bulkWrite/index.d.ts.map +1 -0
  12. package/dist/bulkWrite/index.js +19 -0
  13. package/dist/bulkWrite/index.js.map +1 -0
  14. package/dist/index.d.ts +6 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +6 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.d.ts +15 -1
  19. package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.d.ts.map +1 -1
  20. package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.js +24 -1
  21. package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.js.map +1 -1
  22. package/dist/municipal/departmentsSubjects/departmentsSubjects.types.d.ts +1 -0
  23. package/dist/municipal/departmentsSubjects/departmentsSubjects.types.d.ts.map +1 -1
  24. package/dist/municipal/streets/streets.getters.d.ts +2 -1
  25. package/dist/municipal/streets/streets.getters.d.ts.map +1 -1
  26. package/dist/municipal/streets/streets.getters.js +6 -1
  27. package/dist/municipal/streets/streets.getters.js.map +1 -1
  28. package/dist/municipal/streets/streets.types.d.ts +1 -0
  29. package/dist/municipal/streets/streets.types.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/bulkWrite/__tests__/bulkWrite.spec.ts +65 -0
  32. package/src/bulkWrite/bulkWrite.ops.ts +45 -0
  33. package/src/bulkWrite/bulkWrite.types.ts +4 -0
  34. package/src/bulkWrite/index.ts +2 -0
  35. package/src/index.ts +7 -0
  36. package/src/municipal/departmentsSubjects/__tests__/departmentsSubjects.spec.ts +272 -0
  37. package/src/municipal/departmentsSubjects/departmentsSubjects.getters.ts +38 -3
  38. package/src/municipal/departmentsSubjects/departmentsSubjects.types.ts +1 -0
  39. package/src/municipal/streets/__tests__/streets.spec.ts +253 -0
  40. package/src/municipal/streets/streets.getters.ts +16 -1
  41. package/src/municipal/streets/streets.types.ts +1 -0
package/README.md CHANGED
@@ -16,6 +16,7 @@ L1:# @talkpilot/core-db
16
16
  - **Product-specific clients (future)** – While the package currently exposes the shared TalkPilot + municipal clients, we expect each product (CIS, MIS, TalkPilot Server) to eventually get its own domain-specific client helpers or wrappers so the shared core can remain stable while new consumers add targeted extensions.
17
17
  - **Test helpers** – `src/test-utils/` plus `src/__tests__/` reuse `MongoMemoryServer` and shared factories so tests start with clean data regardless of the consuming repo.
18
18
  - **Utility layers** – `src/utils/` contains shared validation, pagination, and environment helpers that complement the getters.
19
+ - **Bulk-write helpers** – `src/bulkWrite/` exposes small, domain-agnostic functions (`buildSetOp`, `buildUpsertOp`, `buildInsertOp`, `buildDeleteOp`) that construct correctly-shaped MongoDB bulk-write operations from a filter and field values — no collection- or domain-specific knowledge required.
19
20
  - **Environment awareness** – Defaults, fallbacks, and `process.env` lookups ensure local, CI, and Cloud Run clients all connect using the right URI/DB names.
20
21
 
21
22
  ## Key Components
@@ -24,6 +25,7 @@ L1:# @talkpilot/core-db
24
25
  - `src/talkpilot/` – Call history, agents, flows, sessions, leads, subscriptions, and support helpers exposed as getters plus helper enums/types for each collection.
25
26
  - `src/municipal/` – Municipal-specific collections (`cities`, `streets`, `departmentsSubjects`, `tickets`, etc.) plus vector search helpers and Ash Bina helpers used by MIS.
26
27
  - `src/utils/` – Shared helpers such as `resolveConnection`, pagination utilities, and schema validation helper functions.
28
+ - `src/bulkWrite/` – Generic bulk-write op constructors (`buildSetOp`, `buildUpsertOp`, `buildInsertOp`, `buildDeleteOp`) usable with any collection's document type.
27
29
  - `src/test-utils/` and `src/__tests__/` – Utilities that bootstrap `MongoMemoryServer`, expose factories, and make sure Jest environments can stub database calls predictably.
28
30
  - `dist/` – Compiled output consumed by downstream repos (CJS + ESM + type defs).
29
31
 
@@ -157,8 +159,10 @@ Refer to `DEVELOPMENT.md` for the full walkthrough, token instructions, and fact
157
159
  | 1.3.23 | Merge of 1.3.21 and 1.3.22 — combines the `ToolExecutionStep`/`steps`/`pushToolExecution` work (CP-1093) with the `CallsFilterParams.status: CallStatus` fix. Adds `CallStatusValues` (const object) with `CallStatus` and `ALL_CALL_STATUSES` derived from it. `CallStatus` still does not include `"redirected"` — tracked separately. |
158
160
  | 1.3.24 | **Breaking:** removed `flowId` from `WebsiteTalkProduct` — flow source of truth is `phone_numbers.flow_id`. Added `getPrimaryPhoneFlowId(clientId)`. |
159
161
  | 1.3.25 | Added `disconnectDb()` to close all MongoDB clients opened by `ensureDbConnected()` — for one-shot scripts that must exit cleanly. |
160
- | 1.3.32 | `clientDisplayName` lives on `clientsConfig.quota` (not top-level). `getClientDisplayName` returns `"-"` when unset; never exposes `clientId`. |
162
+ | 1.3.28 | Soft-delete (`isActive`) on Streets/DepartmentSubjects, new bulk-write getters, MongoDB type re-exports, and the generic `bulkWrite` op-builder module. |
161
163
  | 1.3.29 | Added client call-quota module (CP-1500): `ClientConfig.quota` for usage limits (`totalQuota`, `usedQuota`, `expiresAt`), alert settings on `clients`, and getters for state, increment/reset, threshold alerts, and expiry notification tracking. |
164
+ | 1.3.32 | `clientDisplayName` lives on `clientsConfig.quota` (not top-level). `getClientDisplayName` returns `"-"` when unset; never exposes `clientId`. |
165
+
162
166
  ### 1.1.9
163
167
 
164
168
  1. `npm run build`.
@@ -524,9 +528,28 @@ Combines the CP-1093 tool-execution-steps work (1.3.21) with the `CallsFilterPar
524
528
 
525
529
  `CallStatus` still does not include `"redirected"` — tracked separately.
526
530
 
531
+ ### 1.3.28 — Soft-delete support and generic bulk-write helpers
532
+
533
+ Adds an `isActive` soft-delete convention, bulk-write getters for Streets/DepartmentSubjects, MongoDB type re-exports, and a generic bulk-write op-builder module.
534
+
535
+ **Added**
536
+
537
+ | Export | Purpose |
538
+ | --- | --- |
539
+ | `Street.isActive` / `DepartmentSubject.isActive` | Optional soft-delete flag; `createStreet` defaults it to `true`. |
540
+ | `bulkWriteStreets` / `bulkWriteDepartmentsSubjects` | Passthrough bulk-write for each collection. |
541
+ | `findDepartmentSubjectsByFilter` | Query subjects by an arbitrary filter. |
542
+ | `updateDepartmentSubjectActive` | Set `isActive` on a subject by `_id`. |
543
+ | `ObjectId`, `Filter`, `BulkWriteOp`, `BulkWriteError`, `OptionalUnlessRequiredId` | Re-exported from `mongodb`. |
544
+ | `buildSetOp`, `buildUpsertOp`, `buildInsertOp`, `buildDeleteOp` | Generic bulk-write op builders — filter/fields in, a shaped op out. |
545
+
546
+ **Do I need to update my app?**
547
+
548
+ No — purely additive.
549
+
527
550
  ### 1.3.29 — Client call quota (CP-1500)
528
551
 
529
- Per-client call quota with usage counters, optional expiration, and configurable threshold/expiry email alerts. Usage lives on `clientsConfig`; alert config and send-tracking live on `clients`. TalkPilot Server consumes these getters to block calls when quota is exceeded or expired and to send notification emails.
552
+ Per-client call quota with usage counters, optional expiration, and configurable threshold/expiry email alerts. Usage lives on clientsConfig; alert config and send-tracking live on clients. TalkPilot Server consumes these getters to block calls when quota is exceeded or expired and to send notification emails.
530
553
 
531
554
  **Data model**
532
555
 
@@ -553,7 +576,27 @@ Per-client call quota with usage counters, optional expiration, and configurable
553
576
 
554
577
  **Do I need to update my app?**
555
578
 
556
- No — purely additive. **TalkPilot Server** should upgrade to **1.3.29** (or later) to enforce quota on inbound/outbound calls and to drive threshold/expiry emails via the new getters.
579
+ No — purely additive. TalkPilot Server should upgrade to 1.3.29 (or later) to enforce quota on inbound/outbound calls and to drive threshold/expiry emails via the new getters.
580
+
581
+ ### 1.3.32 — Quota `clientDisplayName`
582
+
583
+ Optional human-readable account label stored on `clientsConfig.quota` for quota notification emails. TalkPilot Server uses `getClientDisplayName` instead of exposing raw `clientId` in alert/expiry email copy.
584
+
585
+ **Changed**
586
+
587
+ | Area | What |
588
+ | --- | --- |
589
+ | `ClientQuotaUsage.clientDisplayName?` | Optional display name on `clientsConfig.quota` — e.g. `"Acme Corp"`. Included in `ClientQuotaState` via `getClientQuotaState`. |
590
+
591
+ **Added**
592
+
593
+ | Export | Purpose |
594
+ | --- | --- |
595
+ | `getClientDisplayName(clientId)` | Returns trimmed `quota.clientDisplayName`, or `"-"` when unset, missing, or blank. Never falls back to `clientId`. |
596
+
597
+ **Do I need to update my app?**
598
+
599
+ No — purely additive. Set `clientsConfig.quota.clientDisplayName` when provisioning quota for a client. **TalkPilot Server** should upgrade to **1.3.32** (or later) to use the label in quota emails.
557
600
 
558
601
  ## 🛠 CI/CD & deployment
559
602
 
@@ -0,0 +1,17 @@
1
+ import { Document, Filter, OptionalId } from "mongodb";
2
+ import { BulkWriteOp } from "./bulkWrite.types";
3
+ /**
4
+ * Updates specific fields on the record matching filter.
5
+ * Does nothing if no record matches.
6
+ */
7
+ export declare function buildSetOp<T extends Document>(filter: Filter<T>, setFields: Partial<T>): BulkWriteOp<T>;
8
+ /**
9
+ * Updates specific fields on the record matching the filter or creates a new record if none matches.
10
+ * setOnInsertFields are only applied when a new record is created; they're ignored on an update.
11
+ */
12
+ export declare function buildUpsertOp<T extends Document>(filter: Filter<T>, setFields: Partial<T>, setOnInsertFields?: Partial<T>): BulkWriteOp<T>;
13
+ /** Creates a new record. */
14
+ export declare function buildInsertOp<T extends Document>(document: OptionalId<T>): BulkWriteOp<T>;
15
+ /** Permanently removes the record matching the filter. */
16
+ export declare function buildDeleteOp<T extends Document>(filter: Filter<T>): BulkWriteOp<T>;
17
+ //# sourceMappingURL=bulkWrite.ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkWrite.ops.d.ts","sourceRoot":"","sources":["../../src/bulkWrite/bulkWrite.ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,QAAQ,EAC3C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,GACpB,WAAW,CAAC,CAAC,CAAC,CAEhB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,EAC9C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EACrB,iBAAiB,GAAE,OAAO,CAAC,CAAC,CAAM,GACjC,WAAW,CAAC,CAAC,CAAC,CAQhB;AAED,4BAA4B;AAC5B,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,EAC9C,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GACtB,WAAW,CAAC,CAAC,CAAC,CAEhB;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,EAC9C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAChB,WAAW,CAAC,CAAC,CAAC,CAEhB"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildSetOp = buildSetOp;
4
+ exports.buildUpsertOp = buildUpsertOp;
5
+ exports.buildInsertOp = buildInsertOp;
6
+ exports.buildDeleteOp = buildDeleteOp;
7
+ /**
8
+ * Updates specific fields on the record matching filter.
9
+ * Does nothing if no record matches.
10
+ */
11
+ function buildSetOp(filter, setFields) {
12
+ return { updateOne: { filter, update: { $set: setFields } } };
13
+ }
14
+ /**
15
+ * Updates specific fields on the record matching the filter or creates a new record if none matches.
16
+ * setOnInsertFields are only applied when a new record is created; they're ignored on an update.
17
+ */
18
+ function buildUpsertOp(filter, setFields, setOnInsertFields = {}) {
19
+ return {
20
+ updateOne: {
21
+ filter,
22
+ update: { $set: setFields, $setOnInsert: setOnInsertFields },
23
+ upsert: true,
24
+ },
25
+ };
26
+ }
27
+ /** Creates a new record. */
28
+ function buildInsertOp(document) {
29
+ return { insertOne: { document } };
30
+ }
31
+ /** Permanently removes the record matching the filter. */
32
+ function buildDeleteOp(filter) {
33
+ return { deleteOne: { filter } };
34
+ }
35
+ //# sourceMappingURL=bulkWrite.ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkWrite.ops.js","sourceRoot":"","sources":["../../src/bulkWrite/bulkWrite.ops.ts"],"names":[],"mappings":";;AAOA,gCAKC;AAMD,sCAYC;AAGD,sCAIC;AAGD,sCAIC;AAzCD;;;GAGG;AACH,SAAgB,UAAU,CACxB,MAAiB,EACjB,SAAqB;IAErB,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAC3B,MAAiB,EACjB,SAAqB,EACrB,oBAAgC,EAAE;IAElC,OAAO;QACL,SAAS,EAAE;YACT,MAAM;YACN,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE;YAC5D,MAAM,EAAE,IAAI;SACb;KACF,CAAC;AACJ,CAAC;AAED,4BAA4B;AAC5B,SAAgB,aAAa,CAC3B,QAAuB;IAEvB,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;AACrC,CAAC;AAED,0DAA0D;AAC1D,SAAgB,aAAa,CAC3B,MAAiB;IAEjB,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;AACnC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { AnyBulkWriteOperation, Document } from "mongodb";
2
+ /** A single MongoDB bulk-write operation, typed against the target document shape. */
3
+ export type BulkWriteOp<T extends Document> = AnyBulkWriteOperation<T>;
4
+ //# sourceMappingURL=bulkWrite.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkWrite.types.d.ts","sourceRoot":"","sources":["../../src/bulkWrite/bulkWrite.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,sFAAsF;AACtF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=bulkWrite.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkWrite.types.js","sourceRoot":"","sources":["../../src/bulkWrite/bulkWrite.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from "./bulkWrite.types";
2
+ export * from "./bulkWrite.ops";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bulkWrite/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./bulkWrite.types"), exports);
18
+ __exportStar(require("./bulkWrite.ops"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bulkWrite/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,kDAAgC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./talkpilot";
2
2
  export * from "./connection";
3
+ export * from "./bulkWrite";
3
4
  export { municipalDataMongodbClient, getDb as getMunicipalDataDb, setDb as setMunicipalDataDb, ObjectId as MunicipalDataObjectId, } from "./municipal";
4
5
  export * from "./municipal/cities";
5
6
  export * from "./municipal/streets";
@@ -12,4 +13,9 @@ export { websitalkMongodbClient, getDb as getWebsitalkDb, setDb as setWebsitalkD
12
13
  export * from "./websitalk/scans/scans.getters";
13
14
  export type * from "./websitalk/scans/scans.types";
14
15
  export * from "./websitalk/websiteUrls";
16
+ export { ObjectId } from "mongodb";
17
+ export type { Filter } from "mongodb";
18
+ export type { AnyBulkWriteOperation as BulkWriteOp } from "mongodb";
19
+ export { MongoBulkWriteError as BulkWriteError } from "mongodb";
20
+ export type { OptionalUnlessRequiredId } from "mongodb";
15
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,OAAO,EACL,0BAA0B,EAC1B,KAAK,IAAI,kBAAkB,EAC3B,KAAK,IAAI,kBAAkB,EAC3B,QAAQ,IAAI,qBAAqB,GAClC,MAAM,aAAa,CAAC;AACrB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,OAAO,EACL,sBAAsB,EACtB,KAAK,IAAI,cAAc,EACvB,KAAK,IAAI,cAAc,EACvB,QAAQ,IAAI,iBAAiB,GAC9B,MAAM,aAAa,CAAC;AACrB,cAAc,iCAAiC,CAAC;AAChD,mBAAmB,+BAA+B,CAAC;AACnD,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAE5B,OAAO,EACL,0BAA0B,EAC1B,KAAK,IAAI,kBAAkB,EAC3B,KAAK,IAAI,kBAAkB,EAC3B,QAAQ,IAAI,qBAAqB,GAClC,MAAM,aAAa,CAAC;AACrB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,OAAO,EACL,sBAAsB,EACtB,KAAK,IAAI,cAAc,EACvB,KAAK,IAAI,cAAc,EACvB,QAAQ,IAAI,iBAAiB,GAC9B,MAAM,aAAa,CAAC;AACrB,cAAc,iCAAiC,CAAC;AAChD,mBAAmB,+BAA+B,CAAC;AACnD,cAAc,yBAAyB,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,qBAAqB,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,mBAAmB,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AAChE,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -14,10 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.WebsitalkObjectId = exports.setWebsitalkDb = exports.getWebsitalkDb = exports.websitalkMongodbClient = exports.MunicipalDataObjectId = exports.setMunicipalDataDb = exports.getMunicipalDataDb = exports.municipalDataMongodbClient = void 0;
17
+ exports.BulkWriteError = exports.ObjectId = exports.WebsitalkObjectId = exports.setWebsitalkDb = exports.getWebsitalkDb = exports.websitalkMongodbClient = exports.MunicipalDataObjectId = exports.setMunicipalDataDb = exports.getMunicipalDataDb = exports.municipalDataMongodbClient = void 0;
18
18
  // TalkPilot DB exports
19
19
  __exportStar(require("./talkpilot"), exports);
20
20
  __exportStar(require("./connection"), exports);
21
+ __exportStar(require("./bulkWrite"), exports);
21
22
  var municipal_1 = require("./municipal");
22
23
  Object.defineProperty(exports, "municipalDataMongodbClient", { enumerable: true, get: function () { return municipal_1.municipalDataMongodbClient; } });
23
24
  Object.defineProperty(exports, "getMunicipalDataDb", { enumerable: true, get: function () { return municipal_1.getDb; } });
@@ -37,4 +38,8 @@ Object.defineProperty(exports, "setWebsitalkDb", { enumerable: true, get: functi
37
38
  Object.defineProperty(exports, "WebsitalkObjectId", { enumerable: true, get: function () { return websitalk_1.ObjectId; } });
38
39
  __exportStar(require("./websitalk/scans/scans.getters"), exports);
39
40
  __exportStar(require("./websitalk/websiteUrls"), exports);
41
+ var mongodb_1 = require("mongodb");
42
+ Object.defineProperty(exports, "ObjectId", { enumerable: true, get: function () { return mongodb_1.ObjectId; } });
43
+ var mongodb_2 = require("mongodb");
44
+ Object.defineProperty(exports, "BulkWriteError", { enumerable: true, get: function () { return mongodb_2.MongoBulkWriteError; } });
40
45
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uBAAuB;AACvB,8CAA4B;AAC5B,+CAA6B;AAE7B,yCAKqB;AAJnB,uHAAA,0BAA0B,OAAA;AAC1B,+GAAA,KAAK,OAAsB;AAC3B,+GAAA,KAAK,OAAsB;AAC3B,kHAAA,QAAQ,OAAyB;AAEnC,qDAAmC;AACnC,sDAAoC;AACpC,kEAAgD;AAChD,sDAAoC;AACpC,iEAA+C;AAC/C,yDAAuC;AACvC,0DAAwC;AAExC,yCAKqB;AAJnB,mHAAA,sBAAsB,OAAA;AACtB,2GAAA,KAAK,OAAkB;AACvB,2GAAA,KAAK,OAAkB;AACvB,8GAAA,QAAQ,OAAqB;AAE/B,kEAAgD;AAEhD,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uBAAuB;AACvB,8CAA4B;AAC5B,+CAA6B;AAC7B,8CAA4B;AAE5B,yCAKqB;AAJnB,uHAAA,0BAA0B,OAAA;AAC1B,+GAAA,KAAK,OAAsB;AAC3B,+GAAA,KAAK,OAAsB;AAC3B,kHAAA,QAAQ,OAAyB;AAEnC,qDAAmC;AACnC,sDAAoC;AACpC,kEAAgD;AAChD,sDAAoC;AACpC,iEAA+C;AAC/C,yDAAuC;AACvC,0DAAwC;AAExC,yCAKqB;AAJnB,mHAAA,sBAAsB,OAAA;AACtB,2GAAA,KAAK,OAAkB;AACvB,2GAAA,KAAK,OAAkB;AACvB,8GAAA,QAAQ,OAAqB;AAE/B,kEAAgD;AAEhD,0DAAwC;AAExC,mCAAmC;AAA1B,mGAAA,QAAQ,OAAA;AAGjB,mCAAgE;AAAvD,yGAAA,mBAAmB,OAAkB"}
@@ -1,7 +1,8 @@
1
1
  import { CityName, DepartmentSubject } from "../index";
2
- import { Collection, Filter } from "mongodb";
2
+ import { AnyBulkWriteOperation, BulkWriteOptions, BulkWriteResult, Collection, Filter, ObjectId } from "mongodb";
3
3
  import { VectorSearchResult } from "./departmentsSubjects.types";
4
4
  export declare const getDepartmentsSubjectsCollection: () => Collection<DepartmentSubject>;
5
+ export declare const bulkWriteDepartmentsSubjects: (operations: AnyBulkWriteOperation<DepartmentSubject>[], options?: BulkWriteOptions) => Promise<BulkWriteResult>;
5
6
  /**
6
7
  * Get all departments subjects for a given city.
7
8
  * No DB sort; tree build does not depend on order. Callers that need alphabetical order
@@ -59,4 +60,17 @@ export declare const updateDepartmentSubjectGuidelines: (filter: Filter<Departme
59
60
  */
60
61
  export declare const deleteDepartmentSubjectGuidelines: (filter: Filter<DepartmentSubject>) => Promise<DepartmentSubject | null>;
61
62
  export declare const findSubjectByQuery: (query: Partial<DepartmentSubject>) => Promise<import("mongodb").WithId<DepartmentSubject> | null>;
63
+ /**
64
+ * Get department subjects matching a filter
65
+ * @param filter - Mongo filter
66
+ * @returns Array of matching documents
67
+ */
68
+ export declare const findDepartmentSubjectsByFilter: (filter: Filter<DepartmentSubject>) => Promise<DepartmentSubject[]>;
69
+ /**
70
+ * Update the isActive flag for a subject
71
+ * @param id - _id of the document to update
72
+ * @param isActive - Active status to set
73
+ * @returns Updated DepartmentSubject document, null if not found
74
+ */
75
+ export declare const updateDepartmentSubjectActive: (id: ObjectId, isActive: boolean) => Promise<DepartmentSubject | null>;
62
76
  //# sourceMappingURL=departmentsSubjects.getters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"departmentsSubjects.getters.d.ts","sourceRoot":"","sources":["../../../src/municipal/departmentsSubjects/departmentsSubjects.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAS,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,eAAO,MAAM,gCAAgC,QACvC,UAAU,CAAC,iBAAiB,CAE/B,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,GAC1C,UAAU,QAAQ,EAClB,iBAAgB,OAAe,KAC9B,OAAO,CAAC,iBAAiB,EAAE,CAW7B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,GAC1C,aAAa,MAAM,EAAE,EACrB,UAAU,QAAQ,EAClB,QAAO,MAAU,EACjB,gBAAe,MAAY,KAC1B,OAAO,CAAC,kBAAkB,EAAE,CA8B9B,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,QAAQ,MAAM,CAAC,iBAAiB,CAAC,EACjC,iBAAiB,MAAM,KACtB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAgBlC,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,QAAQ,MAAM,CAAC,iBAAiB,CAAC,EACjC,eAAe,MAAM,EACrB,oBAAoB,MAAM,KACzB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAalC,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,QAAQ,MAAM,CAAC,iBAAiB,CAAC,EACjC,eAAe,MAAM,KACpB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAWlC,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,MAAM,CAAC,iBAAiB,CAAC,EACjC,eAAe;IACb,IAAI,EAAE,eAAe,GAAG,gBAAgB,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,KACA,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAwBlC,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAC/C,QAAQ,MAAM,CAAC,iBAAiB,CAAC,EACjC,iBAAiB,MAAM,EACvB,SAAS;IACP,IAAI,CAAC,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B,KACA,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAmBlC,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAC/C,QAAQ,MAAM,CAAC,iBAAiB,CAAC,EACjC,iBAAiB,MAAM,KACtB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAWlC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,GAC3C,WAAW,MAAM,EACjB,cAAc,MAAM,EACpB,UAAU,QAAQ,KACjB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAelC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,MAAM,CAAC,iBAAiB,CAAC,EACjC,YAAY,MAAM,KACjB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAQlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,MAAM,CAAC,iBAAiB,CAAC,KAChC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAQlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,OAAO,OAAO,CAAC,iBAAiB,CAAC,gEAEzE,CAAC"}
1
+ {"version":3,"file":"departmentsSubjects.getters.d.ts","sourceRoot":"","sources":["../../../src/municipal/departmentsSubjects/departmentsSubjects.getters.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findSubjectByQuery = exports.deleteDepartmentSubjectGuidelines = exports.updateDepartmentSubjectGuidelines = exports.getDepartmentSubjectBySubjectIds = exports.removeDepartmentSubjectCommunication = exports.updateDepartmentSubjectCommunication = exports.addDepartmentSubjectCommunication = exports.removeDepartmentSubjectInstruction = exports.updateDepartmentSubjectInstruction = exports.addDepartmentSubjectInstruction = exports.vectorSearchDepartmentsSubjects = exports.getAllDepartmentsSubjectsByCity = exports.getDepartmentsSubjectsCollection = void 0;
3
+ exports.updateDepartmentSubjectActive = exports.findDepartmentSubjectsByFilter = exports.findSubjectByQuery = exports.deleteDepartmentSubjectGuidelines = exports.updateDepartmentSubjectGuidelines = exports.getDepartmentSubjectBySubjectIds = exports.removeDepartmentSubjectCommunication = exports.updateDepartmentSubjectCommunication = exports.addDepartmentSubjectCommunication = exports.removeDepartmentSubjectInstruction = exports.updateDepartmentSubjectInstruction = exports.addDepartmentSubjectInstruction = exports.vectorSearchDepartmentsSubjects = exports.getAllDepartmentsSubjectsByCity = exports.bulkWriteDepartmentsSubjects = exports.getDepartmentsSubjectsCollection = void 0;
4
4
  const index_1 = require("../index");
5
5
  const getDepartmentsSubjectsCollection = () => {
6
6
  return (0, index_1.getDb)().collection("departmentsSubjects");
7
7
  };
8
8
  exports.getDepartmentsSubjectsCollection = getDepartmentsSubjectsCollection;
9
+ const bulkWriteDepartmentsSubjects = async (operations, options) => {
10
+ return (0, exports.getDepartmentsSubjectsCollection)().bulkWrite(operations, options);
11
+ };
12
+ exports.bulkWriteDepartmentsSubjects = bulkWriteDepartmentsSubjects;
9
13
  /**
10
14
  * Get all departments subjects for a given city.
11
15
  * No DB sort; tree build does not depend on order. Callers that need alphabetical order
@@ -185,4 +189,23 @@ const findSubjectByQuery = async (query) => {
185
189
  return await (0, exports.getDepartmentsSubjectsCollection)().findOne(query);
186
190
  };
187
191
  exports.findSubjectByQuery = findSubjectByQuery;
192
+ /**
193
+ * Get department subjects matching a filter
194
+ * @param filter - Mongo filter
195
+ * @returns Array of matching documents
196
+ */
197
+ const findDepartmentSubjectsByFilter = async (filter) => {
198
+ return (0, exports.getDepartmentsSubjectsCollection)().find(filter).toArray();
199
+ };
200
+ exports.findDepartmentSubjectsByFilter = findDepartmentSubjectsByFilter;
201
+ /**
202
+ * Update the isActive flag for a subject
203
+ * @param id - _id of the document to update
204
+ * @param isActive - Active status to set
205
+ * @returns Updated DepartmentSubject document, null if not found
206
+ */
207
+ const updateDepartmentSubjectActive = async (id, isActive) => {
208
+ return await (0, exports.getDepartmentsSubjectsCollection)().findOneAndUpdate({ _id: id }, { $set: { isActive, updatedAt: new Date() } }, { returnDocument: "after" });
209
+ };
210
+ exports.updateDepartmentSubjectActive = updateDepartmentSubjectActive;
188
211
  //# sourceMappingURL=departmentsSubjects.getters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"departmentsSubjects.getters.js","sourceRoot":"","sources":["../../../src/municipal/departmentsSubjects/departmentsSubjects.getters.ts"],"names":[],"mappings":";;;AAAA,oCAA8D;AAIvD,MAAM,gCAAgC,GAC3C,GAAkC,EAAE;IAClC,OAAO,IAAA,aAAK,GAAE,CAAC,UAAU,CAAoB,qBAAqB,CAAC,CAAC;AACtE,CAAC,CAAC;AAHS,QAAA,gCAAgC,oCAGzC;AAEJ;;;;;;;GAOG;AACI,MAAM,+BAA+B,GAAG,KAAK,EAClD,QAAkB,EAClB,iBAA0B,KAAK,EACD,EAAE;IAChC,MAAM,UAAU,GAAG,IAAA,wCAAgC,GAAE,CAAC;IACtD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE5C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,KAAK;aAChB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;aAC7C,OAAO,EAAE,CAAwB,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;AAC/B,CAAC,CAAC;AAdW,QAAA,+BAA+B,mCAc1C;AAEF;;;;;;;GAOG;AACI,MAAM,+BAA+B,GAAG,KAAK,EAClD,WAAqB,EACrB,QAAkB,EAClB,QAAgB,CAAC,EACjB,gBAAwB,GAAG,EACI,EAAE;IACjC,MAAM,UAAU,GAAG,IAAA,wCAAgC,GAAE,CAAC;IACtD,MAAM,SAAS,GAAG,mBAAmB,CAAC;IAEtC,OAAO,MAAM,UAAU;SACpB,SAAS,CAAqB;QAC7B;YACE,aAAa,EAAE;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,WAAW;gBACjB,WAAW;gBACX,aAAa;gBACb,KAAK;gBACL,MAAM,EAAE,EAAE,QAAQ,EAAE;aACrB;SACF;QACD;YACE,QAAQ,EAAE;gBACR,GAAG,EAAE,CAAC;gBACN,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,2BAA2B;gBAClE,gBAAgB,EAAE,CAAC;gBACnB,cAAc,EAAE,CAAC;gBACjB,YAAY,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;aACtC;SACF;KACF,CAAC;SACD,OAAO,EAAE,CAAC;AACf,CAAC,CAAC;AAnCW,QAAA,+BAA+B,mCAmC1C;AAEK,MAAM,+BAA+B,GAAG,KAAK,EAClD,MAAiC,EACjC,eAAuB,EACY,EAAE;IACrC,MAAM,cAAc,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;QACd,WAAW,EAAE,eAAe;KAC7B,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAgC,GAAE,CAAC,gBAAgB,CACtE,MAAM,EACN;QACE,KAAK,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE;QACvC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE;KAChC,EACD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;IAEF,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC,CAAC;AAnBW,QAAA,+BAA+B,mCAmB1C;AAEK,MAAM,kCAAkC,GAAG,KAAK,EACrD,MAAiC,EACjC,aAAqB,EACrB,kBAA0B,EACS,EAAE;IACrC,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAgC,GAAE,CAAC,gBAAgB,CACtE,EAAE,GAAG,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,EAC/C;QACE,IAAI,EAAE;YACJ,4BAA4B,EAAE,kBAAkB;YAChD,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB;KACF,EACD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;IAEF,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC,CAAC;AAjBW,QAAA,kCAAkC,sCAiB7C;AAEK,MAAM,kCAAkC,GAAG,KAAK,EACrD,MAAiC,EACjC,aAAqB,EACc,EAAE;IACrC,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAgC,GAAE,CAAC,gBAAgB,CACtE,MAAM,EACN;QACE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE;QAC9C,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE;KAChC,EACD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;IAEF,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC,CAAC;AAdW,QAAA,kCAAkC,sCAc7C;AAEK,MAAM,iCAAiC,GAAG,KAAK,EACpD,MAAiC,EACjC,aAKC,EACkC,EAAE;IACrC,MAAM,gBAAgB,GAAG;QACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;QACd,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,GAAG,CAAC,aAAa,CAAC,YAAY,KAAK,SAAS,IAAI;YAC9C,YAAY,EAAE,aAAa,CAAC,YAAY;SACzC,CAAC;QACF,UAAU,EAAE,KAAK;QACjB,GAAG,CAAC,aAAa,CAAC,WAAW,KAAK,SAAS,IAAI;YAC7C,WAAW,EAAE,aAAa,CAAC,WAAW;SACvC,CAAC;QACF,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC;KAChE,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAgC,GAAE,CAAC,gBAAgB,CACtE,MAAM,EACN;QACE,KAAK,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE;QAC3C,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE;KAChC,EACD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;IAEF,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC,CAAC;AAhCW,QAAA,iCAAiC,qCAgC5C;AAEK,MAAM,oCAAoC,GAAG,KAAK,EACvD,MAAiC,EACjC,eAAuB,EACvB,OAMC,EACkC,EAAE;IACrC,MAAM,SAAS,GAA4B,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;IACrE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAC5B,SAAS,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACpD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QACpC,SAAS,CAAC,+BAA+B,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IACpE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;QACnC,SAAS,CAAC,8BAA8B,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAClE,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;QAAE,SAAS,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;IAC5E,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAClC,SAAS,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAEhE,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAgC,GAAE,CAAC,gBAAgB,CACtE,EAAE,GAAG,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,EACnD,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;IAEF,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC,CAAC;AA7BW,QAAA,oCAAoC,wCA6B/C;AAEK,MAAM,oCAAoC,GAAG,KAAK,EACvD,MAAiC,EACjC,eAAuB,EACY,EAAE;IACrC,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAgC,GAAE,CAAC,gBAAgB,CACtE,MAAM,EACN;QACE,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;QAClD,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE;KAChC,EACD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;IAEF,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC,CAAC;AAdW,QAAA,oCAAoC,wCAc/C;AAEF;;;;;;GAMG;AACI,MAAM,gCAAgC,GAAG,KAAK,EACnD,SAAiB,EACjB,YAAoB,EACpB,QAAkB,EACiB,EAAE;IACrC,MAAM,UAAU,GAAG,IAAA,wCAAgC,GAAE,CAAC;IAEtD,MAAM,MAAM,GAA8B;QACxC,UAAU,EAAE,SAAS;QACrB,QAAQ;KACT,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,cAAc,GAAG,YAAY,CAAC;IACvC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhD,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC,CAAC;AAnBW,QAAA,gCAAgC,oCAmB3C;AAEF;;;;;GAKG;AACI,MAAM,iCAAiC,GAAG,KAAK,EACpD,MAAiC,EACjC,UAAkB,EACiB,EAAE;IACrC,iDAAiD;IACjD,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAgC,GAAE,CAAC,gBAAgB,CACtE,MAAM,EACN,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAC/C,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;IACF,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC,CAAC;AAXW,QAAA,iCAAiC,qCAW5C;AAEF;;;;GAIG;AACI,MAAM,iCAAiC,GAAG,KAAK,EACpD,MAAiC,EACE,EAAE;IACrC,gFAAgF;IAChF,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAgC,GAAE,CAAC,gBAAgB,CACtE,MAAM,EACN,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EACrD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;IACF,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC,CAAC;AAVW,QAAA,iCAAiC,qCAU5C;AAEK,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAiC,EAAE,EAAE;IAC5E,OAAO,MAAM,IAAA,wCAAgC,GAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B"}
1
+ {"version":3,"file":"departmentsSubjects.getters.js","sourceRoot":"","sources":["../../../src/municipal/departmentsSubjects/departmentsSubjects.getters.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export type DepartmentSubject = {
22
22
  instructions?: Instruction[];
23
23
  communications?: Communication[];
24
24
  sla?: number;
25
+ isActive?: boolean;
25
26
  };
26
27
  export interface Instruction {
27
28
  id: number;
@@ -1 +1 @@
1
- {"version":3,"file":"departmentsSubjects.types.d.ts","sourceRoot":"","sources":["../../../src/municipal/departmentsSubjects/departmentsSubjects.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"departmentsSubjects.types.d.ts","sourceRoot":"","sources":["../../../src/municipal/departmentsSubjects/departmentsSubjects.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { CityName, Street } from "../index";
2
2
  import type { StreetHint } from "./streets.types";
3
- import { Collection, Filter, ObjectId as MongoObjectId } from "mongodb";
3
+ import { AnyBulkWriteOperation, BulkWriteOptions, BulkWriteResult, Collection, Filter, ObjectId as MongoObjectId } from "mongodb";
4
4
  export declare const getStreetsCollection: () => Collection<Street>;
5
+ export declare const bulkWriteStreets: (operations: AnyBulkWriteOperation<Street>[], options?: BulkWriteOptions) => Promise<BulkWriteResult>;
5
6
  export declare const findStreets: (filter?: Filter<Street>) => Promise<Street[]>;
6
7
  export declare const getStreetById: (streetId: string) => Promise<Street | null>;
7
8
  export declare const getStreetsByCityName: (cityName: CityName) => Promise<Street[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"streets.getters.d.ts","sourceRoot":"","sources":["../../../src/municipal/streets/streets.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAExE,eAAO,MAAM,oBAAoB,QAAO,UAAU,CAAC,MAAM,CAExD,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,SAAQ,MAAM,CAAC,MAAM,CAAM,KAC1B,OAAO,CAAC,MAAM,EAAE,CAElB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAKvB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,UAAU,QAAQ,KACjB,OAAO,CAAC,MAAM,EAAE,CAKlB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAGvB,CAAC;AAEF,mIAAmI;AACnI,eAAO,MAAM,0BAA0B,GACrC,UAAU,MAAM,EAChB,UAAU,QAAQ,KACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAMvB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,YAAY,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC,KAC1D,OAAO,CAAC,aAAa,CAUvB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,EAChB,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC,KAC7D,OAAO,CAAC,MAAM,GAAG,IAAI,CAOvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,KACnD,OAAO,CAAC,MAAM,GAAG,IAAI,CAiBvB,CAAC;AAEF,gHAAgH;AAChH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAUvB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAKpE,CAAC"}
1
+ {"version":3,"file":"streets.getters.d.ts","sourceRoot":"","sources":["../../../src/municipal/streets/streets.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,MAAM,EACN,QAAQ,IAAI,aAAa,EAC1B,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,oBAAoB,QAAO,UAAU,CAAC,MAAM,CAExD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,YAAY,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAC3C,UAAU,gBAAgB,KACzB,OAAO,CAAC,eAAe,CAEzB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,SAAQ,MAAM,CAAC,MAAM,CAAM,KAC1B,OAAO,CAAC,MAAM,EAAE,CAElB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAKvB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,UAAU,QAAQ,KACjB,OAAO,CAAC,MAAM,EAAE,CAKlB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAGvB,CAAC;AAEF,mIAAmI;AACnI,eAAO,MAAM,0BAA0B,GACrC,UAAU,MAAM,EAChB,UAAU,QAAQ,KACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAMvB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,YAAY,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC,KAC1D,OAAO,CAAC,aAAa,CAWvB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,EAChB,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC,KAC7D,OAAO,CAAC,MAAM,GAAG,IAAI,CAOvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,KACnD,OAAO,CAAC,MAAM,GAAG,IAAI,CAiBvB,CAAC;AAEF,gHAAgH;AAChH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAUvB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAKpE,CAAC"}
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteStreet = exports.deleteStreetHint = exports.upsertStreetHintOnStreet = exports.updateStreet = exports.createStreet = exports.getStreetByStreetIdAndCity = exports.getStreetByStreetId = exports.getStreetsByCityName = exports.getStreetById = exports.findStreets = exports.getStreetsCollection = void 0;
3
+ exports.deleteStreet = exports.deleteStreetHint = exports.upsertStreetHintOnStreet = exports.updateStreet = exports.createStreet = exports.getStreetByStreetIdAndCity = exports.getStreetByStreetId = exports.getStreetsByCityName = exports.getStreetById = exports.findStreets = exports.bulkWriteStreets = exports.getStreetsCollection = void 0;
4
4
  const index_1 = require("../index");
5
5
  const getStreetsCollection = () => {
6
6
  return (0, index_1.getDb)().collection("streets");
7
7
  };
8
8
  exports.getStreetsCollection = getStreetsCollection;
9
+ const bulkWriteStreets = async (operations, options) => {
10
+ return (0, exports.getStreetsCollection)().bulkWrite(operations, options);
11
+ };
12
+ exports.bulkWriteStreets = bulkWriteStreets;
9
13
  const findStreets = async (filter = {}) => {
10
14
  return await (0, exports.getStreetsCollection)().find(filter).toArray();
11
15
  };
@@ -41,6 +45,7 @@ exports.getStreetByStreetIdAndCity = getStreetByStreetIdAndCity;
41
45
  const createStreet = async (streetData) => {
42
46
  const street = {
43
47
  ...streetData,
48
+ isActive: streetData.isActive ?? true,
44
49
  createdAt: new Date(),
45
50
  updatedAt: new Date(),
46
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"streets.getters.js","sourceRoot":"","sources":["../../../src/municipal/streets/streets.getters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streets.getters.js","sourceRoot":"","sources":["../../../src/municipal/streets/streets.getters.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export type Street = {
11
11
  name: string;
12
12
  cityName: string;
13
13
  hints?: StreetHint[];
14
+ isActive?: boolean;
14
15
  };
15
16
  export type StreetDoc = WithId<Street>;
16
17
  //# sourceMappingURL=streets.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"streets.types.d.ts","sourceRoot":"","sources":["../../../src/municipal/streets/streets.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"streets.types.d.ts","sourceRoot":"","sources":["../../../src/municipal/streets/streets.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talkpilot/core-db",
3
- "version": "1.3.32",
3
+ "version": "1.3.34",
4
4
  "description": "Core database package for centralized connections and ORM integration.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,65 @@
1
+ import {
2
+ buildDeleteOp,
3
+ buildInsertOp,
4
+ buildSetOp,
5
+ buildUpsertOp,
6
+ } from "../bulkWrite.ops";
7
+
8
+ interface TestDoc {
9
+ _id: string;
10
+ key: string;
11
+ value: string;
12
+ }
13
+
14
+ describe("buildSetOp", () => {
15
+ it("returns a plain $set updateOne with no upsert", () => {
16
+ const op = buildSetOp<TestDoc>({ key: "k1" }, { value: "v2" });
17
+ expect(op).toEqual({
18
+ updateOne: { filter: { key: "k1" }, update: { $set: { value: "v2" } } },
19
+ });
20
+ });
21
+ });
22
+
23
+ describe("buildUpsertOp", () => {
24
+ it("returns $set + $setOnInsert + upsert:true", () => {
25
+ const op = buildUpsertOp<TestDoc>(
26
+ { key: "k1" },
27
+ { value: "v1" },
28
+ { key: "k1" },
29
+ );
30
+ expect(op).toEqual({
31
+ updateOne: {
32
+ filter: { key: "k1" },
33
+ update: { $set: { value: "v1" }, $setOnInsert: { key: "k1" } },
34
+ upsert: true,
35
+ },
36
+ });
37
+ });
38
+
39
+ it("defaults $setOnInsert to an empty object when omitted", () => {
40
+ const op = buildUpsertOp<TestDoc>({ key: "k1" }, { value: "v1" });
41
+ expect(op).toEqual({
42
+ updateOne: {
43
+ filter: { key: "k1" },
44
+ update: { $set: { value: "v1" }, $setOnInsert: {} },
45
+ upsert: true,
46
+ },
47
+ });
48
+ });
49
+ });
50
+
51
+ describe("buildInsertOp", () => {
52
+ it("returns an insertOne with the given document", () => {
53
+ const op = buildInsertOp<TestDoc>({ _id: "1", key: "k1", value: "v1" });
54
+ expect(op).toEqual({
55
+ insertOne: { document: { _id: "1", key: "k1", value: "v1" } },
56
+ });
57
+ });
58
+ });
59
+
60
+ describe("buildDeleteOp", () => {
61
+ it("returns a deleteOne matching filter", () => {
62
+ const op = buildDeleteOp<TestDoc>({ key: "k1" });
63
+ expect(op).toEqual({ deleteOne: { filter: { key: "k1" } } });
64
+ });
65
+ });
@@ -0,0 +1,45 @@
1
+ import { Document, Filter, OptionalId } from "mongodb";
2
+ import { BulkWriteOp } from "./bulkWrite.types";
3
+
4
+ /**
5
+ * Updates specific fields on the record matching filter.
6
+ * Does nothing if no record matches.
7
+ */
8
+ export function buildSetOp<T extends Document>(
9
+ filter: Filter<T>,
10
+ setFields: Partial<T>,
11
+ ): BulkWriteOp<T> {
12
+ return { updateOne: { filter, update: { $set: setFields } } };
13
+ }
14
+
15
+ /**
16
+ * Updates specific fields on the record matching the filter or creates a new record if none matches.
17
+ * setOnInsertFields are only applied when a new record is created; they're ignored on an update.
18
+ */
19
+ export function buildUpsertOp<T extends Document>(
20
+ filter: Filter<T>,
21
+ setFields: Partial<T>,
22
+ setOnInsertFields: Partial<T> = {},
23
+ ): BulkWriteOp<T> {
24
+ return {
25
+ updateOne: {
26
+ filter,
27
+ update: { $set: setFields, $setOnInsert: setOnInsertFields },
28
+ upsert: true,
29
+ },
30
+ };
31
+ }
32
+
33
+ /** Creates a new record. */
34
+ export function buildInsertOp<T extends Document>(
35
+ document: OptionalId<T>,
36
+ ): BulkWriteOp<T> {
37
+ return { insertOne: { document } };
38
+ }
39
+
40
+ /** Permanently removes the record matching the filter. */
41
+ export function buildDeleteOp<T extends Document>(
42
+ filter: Filter<T>,
43
+ ): BulkWriteOp<T> {
44
+ return { deleteOne: { filter } };
45
+ }
@@ -0,0 +1,4 @@
1
+ import { AnyBulkWriteOperation, Document } from "mongodb";
2
+
3
+ /** A single MongoDB bulk-write operation, typed against the target document shape. */
4
+ export type BulkWriteOp<T extends Document> = AnyBulkWriteOperation<T>;
@@ -0,0 +1,2 @@
1
+ export * from "./bulkWrite.types";
2
+ export * from "./bulkWrite.ops";