@talkpilot/core-db 1.3.27 → 1.3.28
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.
- package/README.md +22 -0
- package/dist/bulkWrite/bulkWrite.ops.d.ts +17 -0
- package/dist/bulkWrite/bulkWrite.ops.d.ts.map +1 -0
- package/dist/bulkWrite/bulkWrite.ops.js +35 -0
- package/dist/bulkWrite/bulkWrite.ops.js.map +1 -0
- package/dist/bulkWrite/bulkWrite.types.d.ts +4 -0
- package/dist/bulkWrite/bulkWrite.types.d.ts.map +1 -0
- package/dist/{talkpilot/clients/clients.quota.types.js → bulkWrite/bulkWrite.types.js} +1 -1
- package/dist/bulkWrite/bulkWrite.types.js.map +1 -0
- package/dist/bulkWrite/index.d.ts +3 -0
- package/dist/bulkWrite/index.d.ts.map +1 -0
- package/dist/bulkWrite/index.js +19 -0
- package/dist/bulkWrite/index.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.d.ts +15 -1
- package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.d.ts.map +1 -1
- package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.js +24 -1
- package/dist/municipal/departmentsSubjects/departmentsSubjects.getters.js.map +1 -1
- package/dist/municipal/departmentsSubjects/departmentsSubjects.setters.d.ts +10 -0
- package/dist/municipal/departmentsSubjects/departmentsSubjects.setters.d.ts.map +1 -0
- package/dist/municipal/departmentsSubjects/departmentsSubjects.setters.js +15 -0
- package/dist/municipal/departmentsSubjects/departmentsSubjects.setters.js.map +1 -0
- package/dist/municipal/departmentsSubjects/departmentsSubjects.types.d.ts +1 -0
- package/dist/municipal/departmentsSubjects/departmentsSubjects.types.d.ts.map +1 -1
- package/dist/municipal/streets/streets.getters.d.ts +2 -1
- package/dist/municipal/streets/streets.getters.d.ts.map +1 -1
- package/dist/municipal/streets/streets.getters.js +6 -1
- package/dist/municipal/streets/streets.getters.js.map +1 -1
- package/dist/municipal/streets/streets.setters.d.ts +10 -0
- package/dist/municipal/streets/streets.setters.d.ts.map +1 -0
- package/dist/municipal/streets/streets.setters.js +15 -0
- package/dist/municipal/streets/streets.setters.js.map +1 -0
- package/dist/municipal/streets/streets.types.d.ts +1 -0
- package/dist/municipal/streets/streets.types.d.ts.map +1 -1
- package/dist/reconcile/index.d.ts +5 -0
- package/dist/reconcile/index.d.ts.map +1 -0
- package/dist/reconcile/index.js +21 -0
- package/dist/reconcile/index.js.map +1 -0
- package/dist/reconcile/reconcile.diff.d.ts +4 -0
- package/dist/reconcile/reconcile.diff.d.ts.map +1 -0
- package/dist/reconcile/reconcile.diff.js +36 -0
- package/dist/reconcile/reconcile.diff.js.map +1 -0
- package/dist/reconcile/reconcile.execute.d.ts +7 -0
- package/dist/reconcile/reconcile.execute.d.ts.map +1 -0
- package/dist/reconcile/reconcile.execute.js +20 -0
- package/dist/reconcile/reconcile.execute.js.map +1 -0
- package/dist/reconcile/reconcile.ops.d.ts +12 -0
- package/dist/reconcile/reconcile.ops.d.ts.map +1 -0
- package/dist/reconcile/reconcile.ops.js +24 -0
- package/dist/reconcile/reconcile.ops.js.map +1 -0
- package/dist/reconcile/reconcile.types.d.ts +32 -0
- package/dist/reconcile/reconcile.types.d.ts.map +1 -0
- package/dist/reconcile/reconcile.types.js +3 -0
- package/dist/reconcile/reconcile.types.js.map +1 -0
- package/dist/talkpilot/clients/clients.types.d.ts +0 -3
- package/dist/talkpilot/clients/clients.types.d.ts.map +1 -1
- package/dist/talkpilot/clients/index.d.ts +0 -2
- package/dist/talkpilot/clients/index.d.ts.map +1 -1
- package/dist/talkpilot/clients/index.js +0 -2
- package/dist/talkpilot/clients/index.js.map +1 -1
- package/dist/talkpilot/clientsConfig/clientsConfig.getters.d.ts +0 -3
- package/dist/talkpilot/clientsConfig/clientsConfig.getters.d.ts.map +1 -1
- package/dist/talkpilot/clientsConfig/clientsConfig.getters.js +1 -23
- package/dist/talkpilot/clientsConfig/clientsConfig.getters.js.map +1 -1
- package/dist/talkpilot/clientsConfig/clientsConfig.types.d.ts +0 -2
- package/dist/talkpilot/clientsConfig/clientsConfig.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/bulkWrite/__tests__/bulkWrite.spec.ts +65 -0
- package/src/bulkWrite/bulkWrite.ops.ts +45 -0
- package/src/bulkWrite/bulkWrite.types.ts +4 -0
- package/src/bulkWrite/index.ts +2 -0
- package/src/index.ts +7 -0
- package/src/municipal/departmentsSubjects/__tests__/departmentsSubjects.spec.ts +272 -0
- package/src/municipal/departmentsSubjects/departmentsSubjects.getters.ts +38 -3
- package/src/municipal/departmentsSubjects/departmentsSubjects.types.ts +1 -0
- package/src/municipal/streets/__tests__/streets.spec.ts +253 -0
- package/src/municipal/streets/streets.getters.ts +16 -1
- package/src/municipal/streets/streets.types.ts +1 -0
- package/src/talkpilot/clients/clients.types.ts +0 -4
- package/src/talkpilot/clients/index.ts +0 -2
- package/src/talkpilot/clientsConfig/clientsConfig.getters.ts +0 -36
- package/src/talkpilot/clientsConfig/clientsConfig.types.ts +0 -3
- package/dist/talkpilot/clients/clients.quota.getters.d.ts +0 -7
- package/dist/talkpilot/clients/clients.quota.getters.d.ts.map +0 -1
- package/dist/talkpilot/clients/clients.quota.getters.js +0 -80
- package/dist/talkpilot/clients/clients.quota.getters.js.map +0 -1
- package/dist/talkpilot/clients/clients.quota.types.d.ts +0 -22
- package/dist/talkpilot/clients/clients.quota.types.d.ts.map +0 -1
- package/dist/talkpilot/clients/clients.quota.types.js.map +0 -1
- package/src/talkpilot/clients/__tests__/clients.quota.spec.ts +0 -110
- package/src/talkpilot/clients/clients.quota.getters.ts +0 -119
- package/src/talkpilot/clients/clients.quota.types.ts +0 -25
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,6 +159,7 @@ 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. |
|
|
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. |
|
|
160
163
|
### 1.1.9
|
|
161
164
|
|
|
162
165
|
1. `npm run build`.
|
|
@@ -522,6 +525,25 @@ Combines the CP-1093 tool-execution-steps work (1.3.21) with the `CallsFilterPar
|
|
|
522
525
|
|
|
523
526
|
`CallStatus` still does not include `"redirected"` — tracked separately.
|
|
524
527
|
|
|
528
|
+
### 1.3.28 — Soft-delete support and generic bulk-write helpers
|
|
529
|
+
|
|
530
|
+
Adds an `isActive` soft-delete convention, bulk-write getters for Streets/DepartmentSubjects, MongoDB type re-exports, and a generic bulk-write op-builder module.
|
|
531
|
+
|
|
532
|
+
**Added**
|
|
533
|
+
|
|
534
|
+
| Export | Purpose |
|
|
535
|
+
| --- | --- |
|
|
536
|
+
| `Street.isActive` / `DepartmentSubject.isActive` | Optional soft-delete flag; `createStreet` defaults it to `true`. |
|
|
537
|
+
| `bulkWriteStreets` / `bulkWriteDepartmentsSubjects` | Passthrough bulk-write for each collection. |
|
|
538
|
+
| `findDepartmentSubjectsByFilter` | Query subjects by an arbitrary filter. |
|
|
539
|
+
| `updateDepartmentSubjectActive` | Set `isActive` on a subject by `_id`. |
|
|
540
|
+
| `ObjectId`, `Filter`, `BulkWriteOp`, `BulkWriteError`, `OptionalUnlessRequiredId` | Re-exported from `mongodb`. |
|
|
541
|
+
| `buildSetOp`, `buildUpsertOp`, `buildInsertOp`, `buildDeleteOp` | Generic bulk-write op builders — filter/fields in, a shaped op out. |
|
|
542
|
+
|
|
543
|
+
**Do I need to update my app?**
|
|
544
|
+
|
|
545
|
+
No — purely additive.
|
|
546
|
+
|
|
525
547
|
## 🛠 CI/CD & deployment
|
|
526
548
|
|
|
527
549
|
- This package is consumed by Cloud Build-based services (TalkPilot Server, MIS, CIS) as a dependency when Docker images are built. Keep `dist/` in sync with your builds because the compiled artifact is what downstream services install.
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"bulkWrite.types.js","sourceRoot":"","sources":["../../src/bulkWrite/bulkWrite.types.ts"],"names":[],"mappings":""}
|
|
@@ -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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,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;
|
|
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,
|
|
1
|
+
{"version":3,"file":"departmentsSubjects.getters.d.ts","sourceRoot":"","sources":["../../../src/municipal/departmentsSubjects/departmentsSubjects.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,iBAAiB,EAAQ,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAC,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAChH,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAE/D,eAAO,MAAM,gCAAgC,QACvC,UAAU,CAAC,iBAAiB,CAE/B,CAAC;AAEJ,eAAO,MAAM,4BAA4B,GACvC,YAAY,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,EACtD,UAAU,gBAAgB,KACzB,OAAO,CAAC,eAAe,CAEzB,CAAC;AAEF;;;;;;;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;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GACzC,QAAQ,MAAM,CAAC,iBAAiB,CAAC,KAChC,OAAO,CAAC,iBAAiB,EAAE,CAE7B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,GACxC,IAAI,QAAQ,EACZ,UAAU,OAAO,KAChB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAMlC,CAAC"}
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"departmentsSubjects.getters.js","sourceRoot":"","sources":["../../../src/municipal/departmentsSubjects/departmentsSubjects.getters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AnyBulkWriteOperation, BulkWriteOptions, BulkWriteResult } from "mongodb";
|
|
2
|
+
import { DepartmentSubject } from "./departmentsSubjects.types";
|
|
3
|
+
/**
|
|
4
|
+
* Generic batch write for the departmentsSubjects collection — a thin passthrough to the
|
|
5
|
+
* driver's bulkWrite, with no diffing/key-building/business logic. `operations` must be
|
|
6
|
+
* non-empty (the driver throws on an empty batch). Errors (including partial failures under
|
|
7
|
+
* `{ ordered: false }`) propagate unchanged, so callers can still catch `MongoBulkWriteError`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const bulkWriteDepartmentsSubjects: (operations: AnyBulkWriteOperation<DepartmentSubject>[], options?: BulkWriteOptions) => Promise<BulkWriteResult>;
|
|
10
|
+
//# sourceMappingURL=departmentsSubjects.setters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"departmentsSubjects.setters.d.ts","sourceRoot":"","sources":["../../../src/municipal/departmentsSubjects/departmentsSubjects.setters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGhE;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GACvC,YAAY,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,EACtD,UAAU,gBAAgB,KACzB,OAAO,CAAC,eAAe,CAEzB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bulkWriteDepartmentsSubjects = void 0;
|
|
4
|
+
const departmentsSubjects_getters_1 = require("./departmentsSubjects.getters");
|
|
5
|
+
/**
|
|
6
|
+
* Generic batch write for the departmentsSubjects collection — a thin passthrough to the
|
|
7
|
+
* driver's bulkWrite, with no diffing/key-building/business logic. `operations` must be
|
|
8
|
+
* non-empty (the driver throws on an empty batch). Errors (including partial failures under
|
|
9
|
+
* `{ ordered: false }`) propagate unchanged, so callers can still catch `MongoBulkWriteError`.
|
|
10
|
+
*/
|
|
11
|
+
const bulkWriteDepartmentsSubjects = async (operations, options) => {
|
|
12
|
+
return (0, departmentsSubjects_getters_1.getDepartmentsSubjectsCollection)().bulkWrite(operations, options);
|
|
13
|
+
};
|
|
14
|
+
exports.bulkWriteDepartmentsSubjects = bulkWriteDepartmentsSubjects;
|
|
15
|
+
//# sourceMappingURL=departmentsSubjects.setters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"departmentsSubjects.setters.js","sourceRoot":"","sources":["../../../src/municipal/departmentsSubjects/departmentsSubjects.setters.ts"],"names":[],"mappings":";;;AAEA,+EAAiF;AAEjF;;;;;GAKG;AACI,MAAM,4BAA4B,GAAG,KAAK,EAC/C,UAAsD,EACtD,OAA0B,EACA,EAAE;IAC5B,OAAO,IAAA,8DAAgC,GAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC,CAAC;AALW,QAAA,4BAA4B,gCAKvC"}
|
|
@@ -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;
|
|
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,
|
|
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":";;;AAAA,oCAA6D;
|
|
1
|
+
{"version":3,"file":"streets.getters.js","sourceRoot":"","sources":["../../../src/municipal/streets/streets.getters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AnyBulkWriteOperation, BulkWriteOptions, BulkWriteResult } from "mongodb";
|
|
2
|
+
import { Street } from "./streets.types";
|
|
3
|
+
/**
|
|
4
|
+
* Generic batch write for the streets collection — a thin passthrough to the driver's
|
|
5
|
+
* bulkWrite, with no diffing/key-building/business logic. `operations` must be non-empty
|
|
6
|
+
* (the driver throws on an empty batch). Errors (including partial failures under
|
|
7
|
+
* `{ ordered: false }`) propagate unchanged, so callers can still catch `MongoBulkWriteError`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const bulkWriteStreets: (operations: AnyBulkWriteOperation<Street>[], options?: BulkWriteOptions) => Promise<BulkWriteResult>;
|
|
10
|
+
//# sourceMappingURL=streets.setters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streets.setters.d.ts","sourceRoot":"","sources":["../../../src/municipal/streets/streets.setters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAC3C,UAAU,gBAAgB,KACzB,OAAO,CAAC,eAAe,CAEzB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bulkWriteStreets = void 0;
|
|
4
|
+
const streets_getters_1 = require("./streets.getters");
|
|
5
|
+
/**
|
|
6
|
+
* Generic batch write for the streets collection — a thin passthrough to the driver's
|
|
7
|
+
* bulkWrite, with no diffing/key-building/business logic. `operations` must be non-empty
|
|
8
|
+
* (the driver throws on an empty batch). Errors (including partial failures under
|
|
9
|
+
* `{ ordered: false }`) propagate unchanged, so callers can still catch `MongoBulkWriteError`.
|
|
10
|
+
*/
|
|
11
|
+
const bulkWriteStreets = async (operations, options) => {
|
|
12
|
+
return (0, streets_getters_1.getStreetsCollection)().bulkWrite(operations, options);
|
|
13
|
+
};
|
|
14
|
+
exports.bulkWriteStreets = bulkWriteStreets;
|
|
15
|
+
//# sourceMappingURL=streets.setters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streets.setters.js","sourceRoot":"","sources":["../../../src/municipal/streets/streets.setters.ts"],"names":[],"mappings":";;;AAEA,uDAAyD;AAEzD;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,KAAK,EACnC,UAA2C,EAC3C,OAA0B,EACA,EAAE;IAC5B,OAAO,IAAA,sCAAoB,GAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reconcile/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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("./reconcile.types"), exports);
|
|
18
|
+
__exportStar(require("./reconcile.ops"), exports);
|
|
19
|
+
__exportStar(require("./reconcile.diff"), exports);
|
|
20
|
+
__exportStar(require("./reconcile.execute"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reconcile/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,kDAAgC;AAChC,mDAAiC;AACjC,sDAAoC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Document } from "mongodb";
|
|
2
|
+
import { ReconcileConfig, ReconcileDiffResult } from "./reconcile.types";
|
|
3
|
+
export declare function computeReconcileDiff<TSource, TDb extends Document, TKey extends string | number>(config: ReconcileConfig<TSource, TDb, TKey>, now?: Date): ReconcileDiffResult<TDb>;
|
|
4
|
+
//# sourceMappingURL=reconcile.diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile.diff.d.ts","sourceRoot":"","sources":["../../src/reconcile/reconcile.diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,GAAG,SAAS,QAAQ,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,EAC9F,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAC3C,GAAG,GAAE,IAAiB,GACrB,mBAAmB,CAAC,GAAG,CAAC,CA8C1B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeReconcileDiff = computeReconcileDiff;
|
|
4
|
+
function computeReconcileDiff(config, now = new Date()) {
|
|
5
|
+
const { source, dbRecords, getSourceKey, getDbKey, buildInsertOp, buildUpdateOp, buildDeactivateOp, shouldDeactivate = () => true, } = config;
|
|
6
|
+
const dbByKey = new Map(dbRecords.map((dbRecord) => [getDbKey(dbRecord), dbRecord]));
|
|
7
|
+
const sourceKeys = new Set();
|
|
8
|
+
const bulkOps = [];
|
|
9
|
+
const counts = { inserted: 0, updated: 0, deactivated: 0, exists: 0 };
|
|
10
|
+
for (const sourceRecord of source) {
|
|
11
|
+
const key = getSourceKey(sourceRecord);
|
|
12
|
+
sourceKeys.add(key);
|
|
13
|
+
const dbRecord = dbByKey.get(key);
|
|
14
|
+
if (!dbRecord) {
|
|
15
|
+
bulkOps.push(buildInsertOp(sourceRecord, now));
|
|
16
|
+
counts.inserted++;
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
const updateOp = buildUpdateOp(sourceRecord, dbRecord, now);
|
|
20
|
+
if (updateOp) {
|
|
21
|
+
bulkOps.push(updateOp);
|
|
22
|
+
counts.updated++;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
counts.exists++;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
for (const dbRecord of dbRecords) {
|
|
29
|
+
if (!sourceKeys.has(getDbKey(dbRecord)) && shouldDeactivate(dbRecord)) {
|
|
30
|
+
bulkOps.push(buildDeactivateOp(dbRecord, now));
|
|
31
|
+
counts.deactivated++;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return { bulkOps, counts };
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=reconcile.diff.js.map
|