@talkpilot/core-db 1.3.79 → 1.3.81
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/AGENTS.md +1 -1
- package/README.md +3 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/municipal/index.d.ts +1 -0
- package/dist/municipal/index.d.ts.map +1 -1
- package/dist/municipal/index.js +1 -0
- package/dist/municipal/index.js.map +1 -1
- package/dist/municipal/residents/index.d.ts +5 -0
- package/dist/municipal/residents/index.d.ts.map +1 -0
- package/dist/municipal/residents/index.js +24 -0
- package/dist/municipal/residents/index.js.map +1 -0
- package/dist/municipal/residents/residents.constants.d.ts +3 -0
- package/dist/municipal/residents/residents.constants.d.ts.map +1 -0
- package/dist/municipal/residents/residents.constants.js +6 -0
- package/dist/municipal/residents/residents.constants.js.map +1 -0
- package/dist/municipal/residents/residents.getters.d.ts +9 -0
- package/dist/municipal/residents/residents.getters.d.ts.map +1 -0
- package/dist/municipal/residents/residents.getters.js +32 -0
- package/dist/municipal/residents/residents.getters.js.map +1 -0
- package/dist/municipal/residents/residents.schema.d.ts +4 -0
- package/dist/municipal/residents/residents.schema.d.ts.map +1 -0
- package/dist/municipal/residents/residents.schema.js +29 -0
- package/dist/municipal/residents/residents.schema.js.map +1 -0
- package/dist/municipal/residents/residents.types.d.ts +15 -0
- package/dist/municipal/residents/residents.types.d.ts.map +1 -0
- package/dist/municipal/residents/residents.types.js +3 -0
- package/dist/municipal/residents/residents.types.js.map +1 -0
- package/dist/talkpilot/calls/calls.constants.d.ts +1 -1
- package/dist/talkpilot/calls/calls.constants.js +1 -1
- package/dist/talkpilot/calls/calls.constants.js.map +1 -1
- package/dist/talkpilot/flows/flows.schema.d.ts +28 -0
- package/dist/talkpilot/flows/flows.schema.d.ts.map +1 -1
- package/dist/talkpilot/flows/flows.schema.js +16 -0
- package/dist/talkpilot/flows/flows.schema.js.map +1 -1
- package/dist/talkpilot/flows/flows.types.d.ts +8 -0
- package/dist/talkpilot/flows/flows.types.d.ts.map +1 -1
- package/dist/test-utils/factories/index.d.ts +1 -0
- package/dist/test-utils/factories/index.d.ts.map +1 -1
- package/dist/test-utils/factories/index.js +1 -0
- package/dist/test-utils/factories/index.js.map +1 -1
- package/dist/test-utils/factories/municipal/residents.d.ts +5 -0
- package/dist/test-utils/factories/municipal/residents.d.ts.map +1 -0
- package/dist/test-utils/factories/municipal/residents.js +22 -0
- package/dist/test-utils/factories/municipal/residents.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/municipal/index.ts +1 -0
- package/src/municipal/residents/__tests__/residents.spec.ts +92 -0
- package/src/municipal/residents/index.ts +4 -0
- package/src/municipal/residents/residents.constants.ts +2 -0
- package/src/municipal/residents/residents.getters.ts +42 -0
- package/src/municipal/residents/residents.schema.ts +28 -0
- package/src/municipal/residents/residents.types.ts +17 -0
- package/src/talkpilot/calls/__tests__/calls.spec.ts +2 -2
- package/src/talkpilot/calls/calls.constants.ts +1 -1
- package/src/talkpilot/flows/__tests__/flows.schema.spec.ts +28 -0
- package/src/talkpilot/flows/flows.schema.ts +16 -0
- package/src/talkpilot/flows/flows.types.ts +9 -0
- package/src/test-utils/factories/index.ts +1 -0
- package/src/test-utils/factories/municipal/residents.ts +20 -0
package/AGENTS.md
CHANGED
|
@@ -12,7 +12,7 @@ Shared Mongo layer: typed getters, schemas, factories, indexes. Consumed by Talk
|
|
|
12
12
|
|
|
13
13
|
## Project structure
|
|
14
14
|
- `src/talkpilot/` — calls, flows, sessions, clients, phone numbers, subscriptions, …
|
|
15
|
-
- `src/municipal/` — cities, streets, tickets, departmentsSubjects, …
|
|
15
|
+
- `src/municipal/` — cities, streets, tickets, departmentsSubjects, residents, …
|
|
16
16
|
- `src/websitalk/` — scans, scanResources, websiteUrls.
|
|
17
17
|
- `src/configuration/` — prompts, models.
|
|
18
18
|
- `src/test-utils/` — Fishery factories and test DB helpers.
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ L1:# @talkpilot/core-db
|
|
|
24
24
|
|
|
25
25
|
- `src/connection.ts` – Central connection logic that resolves URIs/DB names from env vars (`MONGO_URI`, `MONGODB_URI`, `TALKPILOT_DB_NAME`, `MUNICIPAL_DB_NAME`) and reuses a single `MongoClient`.
|
|
26
26
|
- `src/talkpilot/` – Call history, agents, flows, sessions, leads, subscriptions, and support helpers exposed as getters plus helper enums/types for each collection.
|
|
27
|
-
- `src/municipal/` – Municipal-specific collections (`cities`, `streets`, `departmentsSubjects`, `tickets`, etc.) plus vector search helpers and Ash Bina helpers used by MIS.
|
|
27
|
+
- `src/municipal/` – Municipal-specific collections (`cities`, `streets`, `departmentsSubjects`, `tickets`, `residents`, etc.) plus vector search helpers and Ash Bina helpers used by MIS.
|
|
28
28
|
- `src/utils/` – Shared helpers such as `resolveConnection`, pagination utilities, and schema validation helper functions.
|
|
29
29
|
- `src/bulkWrite/` – Generic bulk-write op constructors (`buildSetOp`, `buildUpsertOp`, `buildInsertOp`, `buildDeleteOp`) usable with any collection's document type.
|
|
30
30
|
- `src/configuration/` – `configurationMongodbClient` plus the `prompts` collection (`Prompt` type, `getPromptByName`, `findPrompts`, `getAllPrompts`, `getPromptsByProduct`).
|
|
@@ -182,6 +182,8 @@ Refer to `DEVELOPMENT.md` for the full walkthrough, token instructions, and fact
|
|
|
182
182
|
| 1.3.61 | Optional `activeFlowId` on `WebsiteTalkProduct` (CP-1849). WebsiteTalk updates this flow instead of the flow on a phone number. |
|
|
183
183
|
| 1.3.62 | Pause/Resume support for WebsiteTalk scans (CP-1752): `PAUSED` and `CANCELED` added to `SCAN_STATUSES` (`PAUSED` deliberately excluded from `FINISHED_SCAN_STATUSES` — pausing isn't done, `CANCELED` is). Added `Scan.pausedAt`, tracked across pause/resume so elapsed-time display can freeze correctly instead of counting the paused duration. |
|
|
184
184
|
| 1.3.64 | New `callTokenUsage` collection with `incrementCallTokenUsage` (CP-1810): per-call realtime token usage, one document per `callSid`. |
|
|
185
|
+
| 1.3.65 | `Flow.beforeCallEvent` as an optional HTTP config object (`url` required; `timeoutMs`, `sendUserAuthToken`, `allowedKeys`, `wait`). `afterCallEvent` remains an optional Pub/Sub string. |
|
|
186
|
+
| 1.3.69 | Municipal `residents` collection: optional resident fields (`cityName`, `firstName`, `lastName`, `idNumber`, `phoneNumber`, `address`) with exact-match getters by phone, by idNumber, and by phone+idNumber (city-scoped). Schema + indexes exported; collection is created out of band. |
|
|
185
187
|
| 1.3.71 | Who ended a call (CP-1873): optional `Call.endedBy` (`system` / `agent` / `user`), `CallEndedByValues`, and `setCallEndedBy` (first write wins). **Breaking** vs 1.3.69–1.3.70: the value `resident` was replaced by `user`. |
|
|
186
188
|
| 1.3.74 | Added `human` to `CallEndedByValues` (CP-1873): a human agent ended the call, after a transfer or in a conference. |
|
|
187
189
|
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from "./municipal/departmentsSubjects";
|
|
|
8
8
|
export * from "./municipal/tickets";
|
|
9
9
|
export * from "./municipal/systemInstructions";
|
|
10
10
|
export * from "./municipal/muniIssues";
|
|
11
|
+
export * from "./municipal/residents";
|
|
11
12
|
export * from "./municipal/utils/types";
|
|
12
13
|
export { websitalkMongodbClient, getDb as getWebsitalkDb, setDb as setWebsitalkDb, ObjectId as WebsitalkObjectId, } from "./websitalk";
|
|
13
14
|
export * from "./websitalk/scans/scans.getters";
|
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;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,cAAc,mCAAmC,CAAC;AAClD,mBAAmB,+BAA+B,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6DAA6D,CAAC;AAC5E,cAAc,2DAA2D,CAAC;AAC1E,mBAAmB,yDAAyD,CAAC;AAE7E,OAAO,EACL,0BAA0B,EAC1B,KAAK,IAAI,kBAAkB,EAC3B,KAAK,IAAI,kBAAkB,GAC5B,MAAM,iBAAiB,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAE/C,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"}
|
|
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,uBAAuB,CAAC;AACtC,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,cAAc,mCAAmC,CAAC;AAClD,mBAAmB,+BAA+B,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6DAA6D,CAAC;AAC5E,cAAc,2DAA2D,CAAC;AAC1E,mBAAmB,yDAAyD,CAAC;AAE7E,OAAO,EACL,0BAA0B,EAC1B,KAAK,IAAI,kBAAkB,EAC3B,KAAK,IAAI,kBAAkB,GAC5B,MAAM,iBAAiB,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAE/C,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
|
@@ -30,6 +30,7 @@ __exportStar(require("./municipal/departmentsSubjects"), exports);
|
|
|
30
30
|
__exportStar(require("./municipal/tickets"), exports);
|
|
31
31
|
__exportStar(require("./municipal/systemInstructions"), exports);
|
|
32
32
|
__exportStar(require("./municipal/muniIssues"), exports);
|
|
33
|
+
__exportStar(require("./municipal/residents"), exports);
|
|
33
34
|
__exportStar(require("./municipal/utils/types"), exports);
|
|
34
35
|
var websitalk_1 = require("./websitalk");
|
|
35
36
|
Object.defineProperty(exports, "websitalkMongodbClient", { enumerable: true, get: function () { return websitalk_1.websitalkMongodbClient; } });
|
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;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;AAChD,oEAAkD;AAElD,4DAA0C;AAC1C,0DAAwC;AACxC,8FAA4E;AAC5E,4FAA0E;AAG1E,iDAIyB;AAHvB,2HAAA,0BAA0B,OAAA;AAC1B,mHAAA,KAAK,OAAsB;AAC3B,mHAAA,KAAK,OAAsB;AAE7B,0DAAwC;AACxC,yDAAuC;AACvC,iEAA+C;AAE/C,mCAAmC;AAA1B,mGAAA,QAAQ,OAAA;AAGjB,mCAAgE;AAAvD,yGAAA,mBAAmB,OAAkB"}
|
|
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,wDAAsC;AACtC,0DAAwC;AAExC,yCAKqB;AAJnB,mHAAA,sBAAsB,OAAA;AACtB,2GAAA,KAAK,OAAkB;AACvB,2GAAA,KAAK,OAAkB;AACvB,8GAAA,QAAQ,OAAqB;AAE/B,kEAAgD;AAChD,oEAAkD;AAElD,4DAA0C;AAC1C,0DAAwC;AACxC,8FAA4E;AAC5E,4FAA0E;AAG1E,iDAIyB;AAHvB,2HAAA,0BAA0B,OAAA;AAC1B,mHAAA,KAAK,OAAsB;AAC3B,mHAAA,KAAK,OAAsB;AAE7B,0DAAwC;AACxC,yDAAuC;AACvC,iEAA+C;AAE/C,mCAAmC;AAA1B,mGAAA,QAAQ,OAAA;AAGjB,mCAAgE;AAAvD,yGAAA,mBAAmB,OAAkB"}
|
|
@@ -5,6 +5,7 @@ export * from "./departmentsSubjects";
|
|
|
5
5
|
export * from "./tickets";
|
|
6
6
|
export * from "./systemInstructions";
|
|
7
7
|
export * from "./muniIssues";
|
|
8
|
+
export * from "./residents";
|
|
8
9
|
export * from "./utils/types";
|
|
9
10
|
export type { CityName } from "./utils/types";
|
|
10
11
|
export { municipalDataMongodbClient } from "./mongodb-client";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/municipal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,eAAO,MAAM,KAAK,GAAI,GAAG,EAAE,SAE1B,CAAC;AAEF,eAAO,MAAM,KAAK,QAAO,EAGxB,CAAC;AACF,eAAO,MAAM,QAAQ,sBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/municipal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,eAAO,MAAM,KAAK,GAAI,GAAG,EAAE,SAE1B,CAAC;AAEF,eAAO,MAAM,KAAK,QAAO,EAGxB,CAAC;AACF,eAAO,MAAM,QAAQ,sBAAgB,CAAC"}
|
package/dist/municipal/index.js
CHANGED
|
@@ -22,6 +22,7 @@ __exportStar(require("./departmentsSubjects"), exports);
|
|
|
22
22
|
__exportStar(require("./tickets"), exports);
|
|
23
23
|
__exportStar(require("./systemInstructions"), exports);
|
|
24
24
|
__exportStar(require("./muniIssues"), exports);
|
|
25
|
+
__exportStar(require("./residents"), exports);
|
|
25
26
|
__exportStar(require("./utils/types"), exports);
|
|
26
27
|
var mongodb_client_1 = require("./mongodb-client");
|
|
27
28
|
Object.defineProperty(exports, "municipalDataMongodbClient", { enumerable: true, get: function () { return mongodb_client_1.municipalDataMongodbClient; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/municipal/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAwD;AAExD,2CAAyB;AACzB,4CAA0B;AAC1B,wDAAsC;AACtC,4CAA0B;AAC1B,uDAAqC;AACrC,+CAA6B;AAC7B,gDAA8B;AAE9B,mDAA8D;AAArD,4HAAA,0BAA0B,OAAA;AAEnC,IAAI,EAAM,CAAC;AACJ,MAAM,KAAK,GAAG,CAAC,CAAK,EAAE,EAAE;IAC7B,EAAE,GAAG,CAAC,CAAC;AACT,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB;AAEK,MAAM,KAAK,GAAG,GAAO,EAAE;IAC5B,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC9D,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAHW,QAAA,KAAK,SAGhB;AACW,QAAA,QAAQ,GAAG,kBAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/municipal/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAwD;AAExD,2CAAyB;AACzB,4CAA0B;AAC1B,wDAAsC;AACtC,4CAA0B;AAC1B,uDAAqC;AACrC,+CAA6B;AAC7B,8CAA4B;AAC5B,gDAA8B;AAE9B,mDAA8D;AAArD,4HAAA,0BAA0B,OAAA;AAEnC,IAAI,EAAM,CAAC;AACJ,MAAM,KAAK,GAAG,CAAC,CAAK,EAAE,EAAE;IAC7B,EAAE,GAAG,CAAC,CAAC;AACT,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB;AAEK,MAAM,KAAK,GAAG,GAAO,EAAE;IAC5B,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC9D,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAHW,QAAA,KAAK,SAGhB;AACW,QAAA,QAAQ,GAAG,kBAAa,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from "./residents.getters";
|
|
2
|
+
export { RESIDENTS_COLLECTION } from "./residents.constants";
|
|
3
|
+
export { residentsJsonSchema, residentsIndexes } from "./residents.schema";
|
|
4
|
+
export type { Resident, ResidentDoc } from "./residents.types";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/municipal/residents/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
exports.residentsIndexes = exports.residentsJsonSchema = exports.RESIDENTS_COLLECTION = void 0;
|
|
18
|
+
__exportStar(require("./residents.getters"), exports);
|
|
19
|
+
var residents_constants_1 = require("./residents.constants");
|
|
20
|
+
Object.defineProperty(exports, "RESIDENTS_COLLECTION", { enumerable: true, get: function () { return residents_constants_1.RESIDENTS_COLLECTION; } });
|
|
21
|
+
var residents_schema_1 = require("./residents.schema");
|
|
22
|
+
Object.defineProperty(exports, "residentsJsonSchema", { enumerable: true, get: function () { return residents_schema_1.residentsJsonSchema; } });
|
|
23
|
+
Object.defineProperty(exports, "residentsIndexes", { enumerable: true, get: function () { return residents_schema_1.residentsIndexes; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/municipal/residents/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,6DAA6D;AAApD,2HAAA,oBAAoB,OAAA;AAC7B,uDAA2E;AAAlE,uHAAA,mBAAmB,OAAA;AAAE,oHAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residents.constants.d.ts","sourceRoot":"","sources":["../../../src/municipal/residents/residents.constants.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,cAAc,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESIDENTS_COLLECTION = void 0;
|
|
4
|
+
/** Mongo collection name for municipal resident records. */
|
|
5
|
+
exports.RESIDENTS_COLLECTION = "residents";
|
|
6
|
+
//# sourceMappingURL=residents.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residents.constants.js","sourceRoot":"","sources":["../../../src/municipal/residents/residents.constants.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC/C,QAAA,oBAAoB,GAAG,WAAW,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Collection, Filter } from "mongodb";
|
|
2
|
+
import { CityName, Resident } from "../index";
|
|
3
|
+
export declare const getResidentsCollection: () => Collection<Resident>;
|
|
4
|
+
export declare const findResidents: (filter?: Filter<Resident>) => Promise<Resident[]>;
|
|
5
|
+
export declare const getResidentById: (residentId: string) => Promise<Resident | null>;
|
|
6
|
+
export declare const findResidentsByCityAndPhone: (cityName: CityName, phoneNumber: string) => Promise<Resident[]>;
|
|
7
|
+
export declare const getResidentByCityAndIdNumber: (cityName: CityName, idNumber: string) => Promise<Resident | null>;
|
|
8
|
+
export declare const getResidentByCityPhoneAndIdNumber: (cityName: CityName, phoneNumber: string, idNumber: string) => Promise<Resident | null>;
|
|
9
|
+
//# sourceMappingURL=residents.getters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residents.getters.d.ts","sourceRoot":"","sources":["../../../src/municipal/residents/residents.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAmB,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG/D,eAAO,MAAM,sBAAsB,QAAO,UAAU,CAAC,QAAQ,CAE5D,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,SAAQ,MAAM,CAAC,QAAQ,CAAM,KAC5B,OAAO,CAAC,QAAQ,EAAE,CAEpB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,YAAY,MAAM,KACjB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAGzB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,UAAU,QAAQ,EAClB,aAAa,MAAM,KAClB,OAAO,CAAC,QAAQ,EAAE,CAEpB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,UAAU,QAAQ,EAClB,UAAU,MAAM,KACf,OAAO,CAAC,QAAQ,GAAG,IAAI,CAEzB,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,UAAU,QAAQ,EAClB,aAAa,MAAM,EACnB,UAAU,MAAM,KACf,OAAO,CAAC,QAAQ,GAAG,IAAI,CAEzB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getResidentByCityPhoneAndIdNumber = exports.getResidentByCityAndIdNumber = exports.findResidentsByCityAndPhone = exports.getResidentById = exports.findResidents = exports.getResidentsCollection = void 0;
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
const residents_constants_1 = require("./residents.constants");
|
|
6
|
+
const getResidentsCollection = () => {
|
|
7
|
+
return (0, index_1.getDb)().collection(residents_constants_1.RESIDENTS_COLLECTION);
|
|
8
|
+
};
|
|
9
|
+
exports.getResidentsCollection = getResidentsCollection;
|
|
10
|
+
const findResidents = async (filter = {}) => {
|
|
11
|
+
return (0, exports.getResidentsCollection)().find(filter).toArray();
|
|
12
|
+
};
|
|
13
|
+
exports.findResidents = findResidents;
|
|
14
|
+
const getResidentById = async (residentId) => {
|
|
15
|
+
if (!index_1.ObjectId.isValid(residentId))
|
|
16
|
+
return null;
|
|
17
|
+
return (0, exports.getResidentsCollection)().findOne({ _id: new index_1.ObjectId(residentId) });
|
|
18
|
+
};
|
|
19
|
+
exports.getResidentById = getResidentById;
|
|
20
|
+
const findResidentsByCityAndPhone = async (cityName, phoneNumber) => {
|
|
21
|
+
return (0, exports.getResidentsCollection)().find({ cityName, phoneNumber }).toArray();
|
|
22
|
+
};
|
|
23
|
+
exports.findResidentsByCityAndPhone = findResidentsByCityAndPhone;
|
|
24
|
+
const getResidentByCityAndIdNumber = async (cityName, idNumber) => {
|
|
25
|
+
return (0, exports.getResidentsCollection)().findOne({ cityName, idNumber });
|
|
26
|
+
};
|
|
27
|
+
exports.getResidentByCityAndIdNumber = getResidentByCityAndIdNumber;
|
|
28
|
+
const getResidentByCityPhoneAndIdNumber = async (cityName, phoneNumber, idNumber) => {
|
|
29
|
+
return (0, exports.getResidentsCollection)().findOne({ cityName, phoneNumber, idNumber });
|
|
30
|
+
};
|
|
31
|
+
exports.getResidentByCityPhoneAndIdNumber = getResidentByCityPhoneAndIdNumber;
|
|
32
|
+
//# sourceMappingURL=residents.getters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residents.getters.js","sourceRoot":"","sources":["../../../src/municipal/residents/residents.getters.ts"],"names":[],"mappings":";;;AACA,oCAA+D;AAC/D,+DAA6D;AAEtD,MAAM,sBAAsB,GAAG,GAAyB,EAAE;IAC/D,OAAO,IAAA,aAAK,GAAE,CAAC,UAAU,CAAW,0CAAoB,CAAC,CAAC;AAC5D,CAAC,CAAC;AAFW,QAAA,sBAAsB,0BAEjC;AAEK,MAAM,aAAa,GAAG,KAAK,EAChC,SAA2B,EAAE,EACR,EAAE;IACvB,OAAO,IAAA,8BAAsB,GAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;AACzD,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAEK,MAAM,eAAe,GAAG,KAAK,EAClC,UAAkB,EACQ,EAAE;IAC5B,IAAI,CAAC,gBAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,IAAA,8BAAsB,GAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,gBAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC;AALW,QAAA,eAAe,mBAK1B;AAEK,MAAM,2BAA2B,GAAG,KAAK,EAC9C,QAAkB,EAClB,WAAmB,EACE,EAAE;IACvB,OAAO,IAAA,8BAAsB,GAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AAC5E,CAAC,CAAC;AALW,QAAA,2BAA2B,+BAKtC;AAEK,MAAM,4BAA4B,GAAG,KAAK,EAC/C,QAAkB,EAClB,QAAgB,EACU,EAAE;IAC5B,OAAO,IAAA,8BAAsB,GAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AALW,QAAA,4BAA4B,gCAKvC;AAEK,MAAM,iCAAiC,GAAG,KAAK,EACpD,QAAkB,EAClB,WAAmB,EACnB,QAAgB,EACU,EAAE;IAC5B,OAAO,IAAA,8BAAsB,GAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,CAAC,CAAC;AANW,QAAA,iCAAiC,qCAM5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residents.schema.d.ts","sourceRoot":"","sources":["../../../src/municipal/residents/residents.schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE1D,eAAO,MAAM,mBAAmB,EAAE,QAYjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,EAW9C,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.residentsIndexes = exports.residentsJsonSchema = void 0;
|
|
4
|
+
exports.residentsJsonSchema = {
|
|
5
|
+
bsonType: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
cityName: { bsonType: "string" },
|
|
8
|
+
firstName: { bsonType: "string" },
|
|
9
|
+
lastName: { bsonType: "string" },
|
|
10
|
+
idNumber: { bsonType: "string" },
|
|
11
|
+
phoneNumber: { bsonType: "string" },
|
|
12
|
+
address: { bsonType: "string" },
|
|
13
|
+
createdAt: { bsonType: "date" },
|
|
14
|
+
updatedAt: { bsonType: "date" },
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
exports.residentsIndexes = [
|
|
18
|
+
{ key: { cityName: 1, phoneNumber: 1 }, name: "cityName_1_phoneNumber_1" },
|
|
19
|
+
{
|
|
20
|
+
key: { cityName: 1, idNumber: 1 },
|
|
21
|
+
name: "cityName_1_idNumber_unique",
|
|
22
|
+
unique: true,
|
|
23
|
+
partialFilterExpression: {
|
|
24
|
+
cityName: { $type: "string" },
|
|
25
|
+
idNumber: { $type: "string" },
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
//# sourceMappingURL=residents.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residents.schema.js","sourceRoot":"","sources":["../../../src/municipal/residents/residents.schema.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAa;IAC3C,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAChC,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACjC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAChC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAChC,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACnC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAC/B,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;QAC/B,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;KAChC;CACF,CAAC;AAEW,QAAA,gBAAgB,GAAuB;IAClD,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE;IAC1E;QACE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;QACjC,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE,IAAI;QACZ,uBAAuB,EAAE;YACvB,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC9B;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ObjectId, WithId } from "mongodb";
|
|
2
|
+
import { CityName } from "../utils/types";
|
|
3
|
+
export type Resident = {
|
|
4
|
+
_id: ObjectId;
|
|
5
|
+
createdAt?: Date;
|
|
6
|
+
updatedAt?: Date;
|
|
7
|
+
cityName?: CityName;
|
|
8
|
+
firstName?: string;
|
|
9
|
+
lastName?: string;
|
|
10
|
+
idNumber?: string;
|
|
11
|
+
phoneNumber?: string;
|
|
12
|
+
address?: string;
|
|
13
|
+
};
|
|
14
|
+
export type ResidentDoc = WithId<Resident>;
|
|
15
|
+
//# sourceMappingURL=residents.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residents.types.d.ts","sourceRoot":"","sources":["../../../src/municipal/residents/residents.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residents.types.js","sourceRoot":"","sources":["../../../src/municipal/residents/residents.types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calls.constants.js","sourceRoot":"","sources":["../../../src/talkpilot/calls/calls.constants.ts"],"names":[],"mappings":";;;AAAA,8CAA8C;AACjC,QAAA,wBAAwB,GAAG,UAAmB,CAAC;AAE5D,gDAAgD;AACnC,QAAA,0BAA0B,GAAG,YAAqB,CAAC;AAEhE,wEAAwE;AAC3D,QAAA,gBAAgB,GAAG,CAAC,aAAa,EAAE,UAAU,CAAU,CAAC;AAErE,4EAA4E;AAC/D,QAAA,cAAc,GAAG;IAC5B,WAAW;IACX,WAAW;IACX,MAAM;IACN,QAAQ;IACR,UAAU;CACF,CAAC;AAEX,6BAA6B;AAChB,QAAA,aAAa,GAAG,EAAE,CAAC;AAEhC,iEAAiE;AACpD,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAExC;;;;;GAKG;AACU,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAClC,QAAA,4BAA4B,GAAG,CAAC,CAAC;AAEjC,QAAA,4BAA4B,GAAG,CAAC,CAAC;AACjC,QAAA,6BAA6B,GAAG,EAAE,CAAC;AAEnC,QAAA,gBAAgB,GAAG;IAC9B,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEE,QAAA,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC;AAEjE,uGAAuG;AAC1F,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,
|
|
1
|
+
{"version":3,"file":"calls.constants.js","sourceRoot":"","sources":["../../../src/talkpilot/calls/calls.constants.ts"],"names":[],"mappings":";;;AAAA,8CAA8C;AACjC,QAAA,wBAAwB,GAAG,UAAmB,CAAC;AAE5D,gDAAgD;AACnC,QAAA,0BAA0B,GAAG,YAAqB,CAAC;AAEhE,wEAAwE;AAC3D,QAAA,gBAAgB,GAAG,CAAC,aAAa,EAAE,UAAU,CAAU,CAAC;AAErE,4EAA4E;AAC/D,QAAA,cAAc,GAAG;IAC5B,WAAW;IACX,WAAW;IACX,MAAM;IACN,QAAQ;IACR,UAAU;CACF,CAAC;AAEX,6BAA6B;AAChB,QAAA,aAAa,GAAG,EAAE,CAAC;AAEhC,iEAAiE;AACpD,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAExC;;;;;GAKG;AACU,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAClC,QAAA,4BAA4B,GAAG,CAAC,CAAC;AAEjC,QAAA,4BAA4B,GAAG,CAAC,CAAC;AACjC,QAAA,6BAA6B,GAAG,EAAE,CAAC;AAEnC,QAAA,gBAAgB,GAAG;IAC9B,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEE,QAAA,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC;AAEjE,uGAAuG;AAC1F,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;CAChB,CAAC"}
|
|
@@ -287,6 +287,34 @@ export declare const flowMongoSchema: {
|
|
|
287
287
|
readonly additionalProperties: false;
|
|
288
288
|
};
|
|
289
289
|
};
|
|
290
|
+
readonly beforeCallEvent: {
|
|
291
|
+
readonly bsonType: readonly ["object", "null"];
|
|
292
|
+
readonly required: readonly ["url"];
|
|
293
|
+
readonly properties: {
|
|
294
|
+
readonly url: {
|
|
295
|
+
readonly bsonType: "string";
|
|
296
|
+
};
|
|
297
|
+
readonly timeoutMs: {
|
|
298
|
+
readonly bsonType: readonly ["number", "null"];
|
|
299
|
+
};
|
|
300
|
+
readonly sendUserAuthToken: {
|
|
301
|
+
readonly bsonType: readonly ["bool", "null"];
|
|
302
|
+
};
|
|
303
|
+
readonly allowedKeys: {
|
|
304
|
+
readonly bsonType: readonly ["array", "null"];
|
|
305
|
+
readonly items: {
|
|
306
|
+
readonly bsonType: "string";
|
|
307
|
+
};
|
|
308
|
+
};
|
|
309
|
+
readonly wait: {
|
|
310
|
+
readonly bsonType: readonly ["bool", "null"];
|
|
311
|
+
};
|
|
312
|
+
};
|
|
313
|
+
readonly additionalProperties: false;
|
|
314
|
+
};
|
|
315
|
+
readonly afterCallEvent: {
|
|
316
|
+
readonly bsonType: readonly ["string", "null"];
|
|
317
|
+
};
|
|
290
318
|
};
|
|
291
319
|
readonly additionalProperties: false;
|
|
292
320
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows.schema.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"flows.schema.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmMlB,CAAC"}
|
|
@@ -178,6 +178,22 @@ exports.flowMongoSchema = {
|
|
|
178
178
|
additionalProperties: false,
|
|
179
179
|
},
|
|
180
180
|
},
|
|
181
|
+
beforeCallEvent: {
|
|
182
|
+
bsonType: ["object", "null"],
|
|
183
|
+
required: ["url"],
|
|
184
|
+
properties: {
|
|
185
|
+
url: { bsonType: "string" },
|
|
186
|
+
timeoutMs: { bsonType: ["number", "null"] },
|
|
187
|
+
sendUserAuthToken: { bsonType: ["bool", "null"] },
|
|
188
|
+
allowedKeys: {
|
|
189
|
+
bsonType: ["array", "null"],
|
|
190
|
+
items: { bsonType: "string" },
|
|
191
|
+
},
|
|
192
|
+
wait: { bsonType: ["bool", "null"] },
|
|
193
|
+
},
|
|
194
|
+
additionalProperties: false,
|
|
195
|
+
},
|
|
196
|
+
afterCallEvent: { bsonType: ["string", "null"] },
|
|
181
197
|
},
|
|
182
198
|
additionalProperties: false,
|
|
183
199
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows.schema.js","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"flows.schema.js","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,6 +132,13 @@ export type InternalToolConfig = {
|
|
|
132
132
|
maxCalls?: number;
|
|
133
133
|
params?: Record<string, InternalToolParamConfig>;
|
|
134
134
|
};
|
|
135
|
+
export type BeforeCallEvent = {
|
|
136
|
+
url: string;
|
|
137
|
+
timeoutMs?: number;
|
|
138
|
+
sendUserAuthToken?: boolean;
|
|
139
|
+
allowedKeys?: string[];
|
|
140
|
+
wait?: boolean;
|
|
141
|
+
};
|
|
135
142
|
export type Flow = {
|
|
136
143
|
freeTextContent?: string;
|
|
137
144
|
isFreeText?: boolean;
|
|
@@ -149,6 +156,7 @@ export type Flow = {
|
|
|
149
156
|
metaKeys?: MetaKey[] | null;
|
|
150
157
|
userProperties?: UserProperty[] | null;
|
|
151
158
|
tools?: FlowTool[];
|
|
159
|
+
beforeCallEvent?: BeforeCallEvent;
|
|
152
160
|
afterCallEvent?: string;
|
|
153
161
|
products?: string[];
|
|
154
162
|
aiProvider?: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows.types.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flows.types.d.ts","sourceRoot":"","sources":["../../../src/talkpilot/flows/flows.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export * from "./talkpilot/sessions";
|
|
|
10
10
|
export * from "./municipal/cities";
|
|
11
11
|
export * from "./municipal/departmentsSubjects";
|
|
12
12
|
export * from "./municipal/muniIssues";
|
|
13
|
+
export * from "./municipal/residents";
|
|
13
14
|
export * from "./municipal/streets";
|
|
14
15
|
export * from "./municipal/tickets";
|
|
15
16
|
export * from "./websitalk/scans";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/test-utils/factories/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/test-utils/factories/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC"}
|
|
@@ -26,6 +26,7 @@ __exportStar(require("./talkpilot/sessions"), exports);
|
|
|
26
26
|
__exportStar(require("./municipal/cities"), exports);
|
|
27
27
|
__exportStar(require("./municipal/departmentsSubjects"), exports);
|
|
28
28
|
__exportStar(require("./municipal/muniIssues"), exports);
|
|
29
|
+
__exportStar(require("./municipal/residents"), exports);
|
|
29
30
|
__exportStar(require("./municipal/streets"), exports);
|
|
30
31
|
__exportStar(require("./municipal/tickets"), exports);
|
|
31
32
|
__exportStar(require("./websitalk/scans"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test-utils/factories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,oDAAkC;AAClC,iEAA+C;AAC/C,4DAA0C;AAC1C,oDAAkC;AAClC,2DAAyC;AACzC,qDAAmC;AACnC,4DAA0C;AAC1C,uDAAqC;AACrC,qDAAmC;AACnC,kEAAgD;AAChD,yDAAuC;AACvC,sDAAoC;AACpC,sDAAoC;AACpC,oDAAkC;AAClC,4DAA0C;AAC1C,0DAAwC;AACxC,iEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test-utils/factories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,oDAAkC;AAClC,iEAA+C;AAC/C,4DAA0C;AAC1C,oDAAkC;AAClC,2DAAyC;AACzC,qDAAmC;AACnC,4DAA0C;AAC1C,uDAAqC;AACrC,qDAAmC;AACnC,kEAAgD;AAChD,yDAAuC;AACvC,wDAAsC;AACtC,sDAAoC;AACpC,sDAAoC;AACpC,oDAAkC;AAClC,4DAA0C;AAC1C,0DAAwC;AACxC,iEAA+C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Factory } from "fishery";
|
|
2
|
+
import type { Resident } from "../../../municipal";
|
|
3
|
+
export declare const residentFactory: Factory<Resident, any, Resident, import("fishery").DeepPartialObject<Resident>>;
|
|
4
|
+
export declare function createResident(overrides?: Partial<Resident>): Resident;
|
|
5
|
+
//# sourceMappingURL=residents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residents.d.ts","sourceRoot":"","sources":["../../../../src/test-utils/factories/municipal/residents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,eAAe,iFAUzB,CAAC;AAEJ,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAEtE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.residentFactory = void 0;
|
|
4
|
+
exports.createResident = createResident;
|
|
5
|
+
const fishery_1 = require("fishery");
|
|
6
|
+
const mongodb_1 = require("mongodb");
|
|
7
|
+
const faker_1 = require("@faker-js/faker");
|
|
8
|
+
exports.residentFactory = fishery_1.Factory.define(() => ({
|
|
9
|
+
_id: new mongodb_1.ObjectId(),
|
|
10
|
+
createdAt: new Date(),
|
|
11
|
+
updatedAt: new Date(),
|
|
12
|
+
cityName: faker_1.faker.location.city(),
|
|
13
|
+
firstName: faker_1.faker.person.firstName(),
|
|
14
|
+
lastName: faker_1.faker.person.lastName(),
|
|
15
|
+
idNumber: faker_1.faker.string.numeric(9),
|
|
16
|
+
phoneNumber: `+97250${faker_1.faker.string.numeric(7)}`,
|
|
17
|
+
address: faker_1.faker.location.streetAddress(),
|
|
18
|
+
}));
|
|
19
|
+
function createResident(overrides) {
|
|
20
|
+
return exports.residentFactory.build(overrides);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=residents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residents.js","sourceRoot":"","sources":["../../../../src/test-utils/factories/municipal/residents.ts"],"names":[],"mappings":";;;AAiBA,wCAEC;AAnBD,qCAAkC;AAClC,qCAAmC;AACnC,2CAAwC;AAG3B,QAAA,eAAe,GAAG,iBAAO,CAAC,MAAM,CAAW,GAAG,EAAE,CAAC,CAAC;IAC7D,GAAG,EAAE,IAAI,kBAAQ,EAAE;IACnB,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,QAAQ,EAAE,aAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;IAC/B,SAAS,EAAE,aAAK,CAAC,MAAM,CAAC,SAAS,EAAE;IACnC,QAAQ,EAAE,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,WAAW,EAAE,SAAS,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;IAC/C,OAAO,EAAE,aAAK,CAAC,QAAQ,CAAC,aAAa,EAAE;CACxC,CAAC,CAAC,CAAC;AAEJ,SAAgB,cAAc,CAAC,SAA6B;IAC1D,OAAO,uBAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC1C,CAAC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./municipal/departmentsSubjects";
|
|
|
15
15
|
export * from "./municipal/tickets";
|
|
16
16
|
export * from "./municipal/systemInstructions";
|
|
17
17
|
export * from "./municipal/muniIssues";
|
|
18
|
+
export * from "./municipal/residents";
|
|
18
19
|
export * from "./municipal/utils/types";
|
|
19
20
|
|
|
20
21
|
export {
|
package/src/municipal/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from "./departmentsSubjects";
|
|
|
6
6
|
export * from "./tickets";
|
|
7
7
|
export * from "./systemInstructions";
|
|
8
8
|
export * from "./muniIssues";
|
|
9
|
+
export * from "./residents";
|
|
9
10
|
export * from "./utils/types";
|
|
10
11
|
export type { CityName } from "./utils/types";
|
|
11
12
|
export { municipalDataMongodbClient } from "./mongodb-client";
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ObjectId } from "mongodb";
|
|
2
|
+
import {
|
|
3
|
+
findResidentsByCityAndPhone,
|
|
4
|
+
getResidentByCityAndIdNumber,
|
|
5
|
+
getResidentByCityPhoneAndIdNumber,
|
|
6
|
+
getResidentById,
|
|
7
|
+
getResidentsCollection,
|
|
8
|
+
} from "../residents.getters";
|
|
9
|
+
import { createResident } from "../../../test-utils/factories/municipal/residents";
|
|
10
|
+
|
|
11
|
+
const CITY = "tests" as const;
|
|
12
|
+
const OTHER_CITY = "eilat" as const;
|
|
13
|
+
|
|
14
|
+
describe("residents getters", () => {
|
|
15
|
+
it("getResidentById returns the document, or null for a missing / invalid id", async () => {
|
|
16
|
+
const resident = createResident({ cityName: CITY });
|
|
17
|
+
await getResidentsCollection().insertOne(resident);
|
|
18
|
+
|
|
19
|
+
const found = await getResidentById(resident._id.toHexString());
|
|
20
|
+
expect(found?._id.equals(resident._id)).toBe(true);
|
|
21
|
+
expect(found?.idNumber).toBe(resident.idNumber);
|
|
22
|
+
|
|
23
|
+
expect(await getResidentById("not-an-id")).toBeNull();
|
|
24
|
+
expect(await getResidentById(new ObjectId().toHexString())).toBeNull();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it("findResidentsByCityAndPhone returns only matching city + phone", async () => {
|
|
28
|
+
const phone = "+972501111111";
|
|
29
|
+
const match = createResident({ cityName: CITY, phoneNumber: phone });
|
|
30
|
+
const samePhoneOtherCity = createResident({
|
|
31
|
+
cityName: OTHER_CITY,
|
|
32
|
+
phoneNumber: phone,
|
|
33
|
+
});
|
|
34
|
+
const sameCityOtherPhone = createResident({
|
|
35
|
+
cityName: CITY,
|
|
36
|
+
phoneNumber: "+972502222222",
|
|
37
|
+
});
|
|
38
|
+
await getResidentsCollection().insertMany([
|
|
39
|
+
match,
|
|
40
|
+
samePhoneOtherCity,
|
|
41
|
+
sameCityOtherPhone,
|
|
42
|
+
]);
|
|
43
|
+
|
|
44
|
+
const found = await findResidentsByCityAndPhone(CITY, phone);
|
|
45
|
+
expect(found).toHaveLength(1);
|
|
46
|
+
expect(found[0]._id.equals(match._id)).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it("allows a document with only _id", async () => {
|
|
50
|
+
const resident = { _id: new ObjectId() };
|
|
51
|
+
await getResidentsCollection().insertOne(resident);
|
|
52
|
+
|
|
53
|
+
const found = await getResidentById(resident._id.toHexString());
|
|
54
|
+
expect(found?._id.equals(resident._id)).toBe(true);
|
|
55
|
+
expect(found?.firstName).toBeUndefined();
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it("getResidentByCityAndIdNumber is scoped to the city", async () => {
|
|
59
|
+
const idNumber = "123456789";
|
|
60
|
+
const match = createResident({ cityName: CITY, idNumber });
|
|
61
|
+
const otherCity = createResident({ cityName: OTHER_CITY, idNumber: "987654321" });
|
|
62
|
+
await getResidentsCollection().insertMany([match, otherCity]);
|
|
63
|
+
|
|
64
|
+
const found = await getResidentByCityAndIdNumber(CITY, idNumber);
|
|
65
|
+
expect(found?._id.equals(match._id)).toBe(true);
|
|
66
|
+
|
|
67
|
+
expect(await getResidentByCityAndIdNumber(OTHER_CITY, idNumber)).toBeNull();
|
|
68
|
+
expect(await getResidentByCityAndIdNumber(CITY, "000000000")).toBeNull();
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it("getResidentByCityPhoneAndIdNumber requires both phone and id in that city", async () => {
|
|
72
|
+
const phone = "+972501111111";
|
|
73
|
+
const idNumber = "201111111";
|
|
74
|
+
const match = createResident({ cityName: CITY, phoneNumber: phone, idNumber });
|
|
75
|
+
const samePhoneWrongId = createResident({
|
|
76
|
+
cityName: CITY,
|
|
77
|
+
phoneNumber: phone,
|
|
78
|
+
idNumber: "209999999",
|
|
79
|
+
});
|
|
80
|
+
await getResidentsCollection().insertMany([match, samePhoneWrongId]);
|
|
81
|
+
|
|
82
|
+
const found = await getResidentByCityPhoneAndIdNumber(CITY, phone, idNumber);
|
|
83
|
+
expect(found?._id.equals(match._id)).toBe(true);
|
|
84
|
+
|
|
85
|
+
expect(
|
|
86
|
+
await getResidentByCityPhoneAndIdNumber(CITY, phone, "000000000"),
|
|
87
|
+
).toBeNull();
|
|
88
|
+
expect(
|
|
89
|
+
await getResidentByCityPhoneAndIdNumber(OTHER_CITY, phone, idNumber),
|
|
90
|
+
).toBeNull();
|
|
91
|
+
});
|
|
92
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Collection, Filter } from "mongodb";
|
|
2
|
+
import { CityName, getDb, ObjectId, Resident } from "../index";
|
|
3
|
+
import { RESIDENTS_COLLECTION } from "./residents.constants";
|
|
4
|
+
|
|
5
|
+
export const getResidentsCollection = (): Collection<Resident> => {
|
|
6
|
+
return getDb().collection<Resident>(RESIDENTS_COLLECTION);
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export const findResidents = async (
|
|
10
|
+
filter: Filter<Resident> = {},
|
|
11
|
+
): Promise<Resident[]> => {
|
|
12
|
+
return getResidentsCollection().find(filter).toArray();
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export const getResidentById = async (
|
|
16
|
+
residentId: string,
|
|
17
|
+
): Promise<Resident | null> => {
|
|
18
|
+
if (!ObjectId.isValid(residentId)) return null;
|
|
19
|
+
return getResidentsCollection().findOne({ _id: new ObjectId(residentId) });
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const findResidentsByCityAndPhone = async (
|
|
23
|
+
cityName: CityName,
|
|
24
|
+
phoneNumber: string,
|
|
25
|
+
): Promise<Resident[]> => {
|
|
26
|
+
return getResidentsCollection().find({ cityName, phoneNumber }).toArray();
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const getResidentByCityAndIdNumber = async (
|
|
30
|
+
cityName: CityName,
|
|
31
|
+
idNumber: string,
|
|
32
|
+
): Promise<Resident | null> => {
|
|
33
|
+
return getResidentsCollection().findOne({ cityName, idNumber });
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const getResidentByCityPhoneAndIdNumber = async (
|
|
37
|
+
cityName: CityName,
|
|
38
|
+
phoneNumber: string,
|
|
39
|
+
idNumber: string,
|
|
40
|
+
): Promise<Resident | null> => {
|
|
41
|
+
return getResidentsCollection().findOne({ cityName, phoneNumber, idNumber });
|
|
42
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Document, IndexDescription } from "mongodb";
|
|
2
|
+
|
|
3
|
+
export const residentsJsonSchema: Document = {
|
|
4
|
+
bsonType: "object",
|
|
5
|
+
properties: {
|
|
6
|
+
cityName: { bsonType: "string" },
|
|
7
|
+
firstName: { bsonType: "string" },
|
|
8
|
+
lastName: { bsonType: "string" },
|
|
9
|
+
idNumber: { bsonType: "string" },
|
|
10
|
+
phoneNumber: { bsonType: "string" },
|
|
11
|
+
address: { bsonType: "string" },
|
|
12
|
+
createdAt: { bsonType: "date" },
|
|
13
|
+
updatedAt: { bsonType: "date" },
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const residentsIndexes: IndexDescription[] = [
|
|
18
|
+
{ key: { cityName: 1, phoneNumber: 1 }, name: "cityName_1_phoneNumber_1" },
|
|
19
|
+
{
|
|
20
|
+
key: { cityName: 1, idNumber: 1 },
|
|
21
|
+
name: "cityName_1_idNumber_unique",
|
|
22
|
+
unique: true,
|
|
23
|
+
partialFilterExpression: {
|
|
24
|
+
cityName: { $type: "string" },
|
|
25
|
+
idNumber: { $type: "string" },
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ObjectId, WithId } from "mongodb";
|
|
2
|
+
|
|
3
|
+
import { CityName } from "../utils/types";
|
|
4
|
+
|
|
5
|
+
export type Resident = {
|
|
6
|
+
_id: ObjectId;
|
|
7
|
+
createdAt?: Date;
|
|
8
|
+
updatedAt?: Date;
|
|
9
|
+
cityName?: CityName;
|
|
10
|
+
firstName?: string;
|
|
11
|
+
lastName?: string;
|
|
12
|
+
idNumber?: string;
|
|
13
|
+
phoneNumber?: string;
|
|
14
|
+
address?: string;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type ResidentDoc = WithId<Resident>;
|
|
@@ -107,12 +107,12 @@ describe("db.calls", () => {
|
|
|
107
107
|
|
|
108
108
|
const results = await Promise.all([
|
|
109
109
|
setCallEndedBy(call.callSid, "user"),
|
|
110
|
-
setCallEndedBy(call.callSid, "
|
|
110
|
+
setCallEndedBy(call.callSid, "humanAgent"),
|
|
111
111
|
]);
|
|
112
112
|
|
|
113
113
|
expect(results.filter(Boolean)).toHaveLength(1);
|
|
114
114
|
const stored = await getCallByCallSid(call.callSid);
|
|
115
|
-
expect(stored?.endedBy).toBe(results[0] ? "user" : "
|
|
115
|
+
expect(stored?.endedBy).toBe(results[0] ? "user" : "humanAgent");
|
|
116
116
|
});
|
|
117
117
|
|
|
118
118
|
it("should return false when the call does not exist", async () => {
|
|
@@ -121,4 +121,32 @@ describe("flowMongoSchema", () => {
|
|
|
121
121
|
"null",
|
|
122
122
|
]);
|
|
123
123
|
});
|
|
124
|
+
|
|
125
|
+
it("defines beforeCallEvent as an optional object with url, and afterCallEvent as optional string or null", () => {
|
|
126
|
+
const schema: any = flowMongoSchema;
|
|
127
|
+
|
|
128
|
+
expect(schema.properties).toHaveProperty("beforeCallEvent");
|
|
129
|
+
expect(schema.properties.beforeCallEvent.bsonType).toEqual(["object", "null"]);
|
|
130
|
+
expect(schema.properties.beforeCallEvent.required).toEqual(["url"]);
|
|
131
|
+
expect(schema.properties.beforeCallEvent.properties).toEqual(
|
|
132
|
+
expect.objectContaining({
|
|
133
|
+
url: { bsonType: "string" },
|
|
134
|
+
timeoutMs: { bsonType: ["number", "null"] },
|
|
135
|
+
sendUserAuthToken: { bsonType: ["bool", "null"] },
|
|
136
|
+
wait: { bsonType: ["bool", "null"] },
|
|
137
|
+
})
|
|
138
|
+
);
|
|
139
|
+
expect(schema.properties.beforeCallEvent.properties.allowedKeys).toEqual({
|
|
140
|
+
bsonType: ["array", "null"],
|
|
141
|
+
items: { bsonType: "string" },
|
|
142
|
+
});
|
|
143
|
+
expect(schema.required).not.toContain("beforeCallEvent");
|
|
144
|
+
|
|
145
|
+
expect(schema.properties).toHaveProperty("afterCallEvent");
|
|
146
|
+
expect(schema.properties.afterCallEvent.bsonType).toEqual([
|
|
147
|
+
"string",
|
|
148
|
+
"null",
|
|
149
|
+
]);
|
|
150
|
+
expect(schema.required).not.toContain("afterCallEvent");
|
|
151
|
+
});
|
|
124
152
|
});
|
|
@@ -175,6 +175,22 @@ export const flowMongoSchema = {
|
|
|
175
175
|
additionalProperties: false,
|
|
176
176
|
},
|
|
177
177
|
},
|
|
178
|
+
beforeCallEvent: {
|
|
179
|
+
bsonType: ["object", "null"],
|
|
180
|
+
required: ["url"],
|
|
181
|
+
properties: {
|
|
182
|
+
url: { bsonType: "string" },
|
|
183
|
+
timeoutMs: { bsonType: ["number", "null"] },
|
|
184
|
+
sendUserAuthToken: { bsonType: ["bool", "null"] },
|
|
185
|
+
allowedKeys: {
|
|
186
|
+
bsonType: ["array", "null"],
|
|
187
|
+
items: { bsonType: "string" },
|
|
188
|
+
},
|
|
189
|
+
wait: { bsonType: ["bool", "null"] },
|
|
190
|
+
},
|
|
191
|
+
additionalProperties: false,
|
|
192
|
+
},
|
|
193
|
+
afterCallEvent: { bsonType: ["string", "null"] },
|
|
178
194
|
},
|
|
179
195
|
additionalProperties: false,
|
|
180
196
|
} as const;
|
|
@@ -167,6 +167,14 @@ export type InternalToolConfig = {
|
|
|
167
167
|
params?: Record<string, InternalToolParamConfig>;
|
|
168
168
|
};
|
|
169
169
|
|
|
170
|
+
export type BeforeCallEvent = {
|
|
171
|
+
url: string;
|
|
172
|
+
timeoutMs?: number;
|
|
173
|
+
sendUserAuthToken?: boolean;
|
|
174
|
+
allowedKeys?: string[];
|
|
175
|
+
wait?: boolean;
|
|
176
|
+
};
|
|
177
|
+
|
|
170
178
|
/* ---------- The Flow object ---------- */
|
|
171
179
|
|
|
172
180
|
export type Flow = {
|
|
@@ -191,6 +199,7 @@ export type Flow = {
|
|
|
191
199
|
metaKeys?: MetaKey[] | null;
|
|
192
200
|
userProperties?: UserProperty[] | null;
|
|
193
201
|
tools?: FlowTool[];
|
|
202
|
+
beforeCallEvent?: BeforeCallEvent;
|
|
194
203
|
afterCallEvent?: string;
|
|
195
204
|
|
|
196
205
|
products?: string[];
|
|
@@ -10,6 +10,7 @@ export * from "./talkpilot/sessions";
|
|
|
10
10
|
export * from "./municipal/cities";
|
|
11
11
|
export * from "./municipal/departmentsSubjects";
|
|
12
12
|
export * from "./municipal/muniIssues";
|
|
13
|
+
export * from "./municipal/residents";
|
|
13
14
|
export * from "./municipal/streets";
|
|
14
15
|
export * from "./municipal/tickets";
|
|
15
16
|
export * from "./websitalk/scans";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Factory } from "fishery";
|
|
2
|
+
import { ObjectId } from "mongodb";
|
|
3
|
+
import { faker } from "@faker-js/faker";
|
|
4
|
+
import type { Resident } from "../../../municipal";
|
|
5
|
+
|
|
6
|
+
export const residentFactory = Factory.define<Resident>(() => ({
|
|
7
|
+
_id: new ObjectId(),
|
|
8
|
+
createdAt: new Date(),
|
|
9
|
+
updatedAt: new Date(),
|
|
10
|
+
cityName: faker.location.city(),
|
|
11
|
+
firstName: faker.person.firstName(),
|
|
12
|
+
lastName: faker.person.lastName(),
|
|
13
|
+
idNumber: faker.string.numeric(9),
|
|
14
|
+
phoneNumber: `+97250${faker.string.numeric(7)}`,
|
|
15
|
+
address: faker.location.streetAddress(),
|
|
16
|
+
}));
|
|
17
|
+
|
|
18
|
+
export function createResident(overrides?: Partial<Resident>): Resident {
|
|
19
|
+
return residentFactory.build(overrides);
|
|
20
|
+
}
|