@talkpilot/core-db 1.3.38 → 1.3.40
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 +26 -0
- 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/talkpilot/clients/clients.quota.constants.d.ts +2 -0
- package/dist/talkpilot/clients/clients.quota.constants.d.ts.map +1 -0
- package/dist/talkpilot/clients/clients.quota.constants.js +5 -0
- package/dist/talkpilot/clients/clients.quota.constants.js.map +1 -0
- package/dist/talkpilot/clients/clients.quota.utils.d.ts +8 -0
- package/dist/talkpilot/clients/clients.quota.utils.d.ts.map +1 -0
- package/dist/talkpilot/clients/clients.quota.utils.js +45 -0
- package/dist/talkpilot/clients/clients.quota.utils.js.map +1 -0
- package/dist/talkpilot/clientsConfig/clientsConfig.constants.d.ts +3 -0
- package/dist/talkpilot/clientsConfig/clientsConfig.constants.d.ts.map +1 -0
- package/dist/talkpilot/clientsConfig/clientsConfig.constants.js +6 -0
- package/dist/talkpilot/clientsConfig/clientsConfig.constants.js.map +1 -0
- package/dist/talkpilot/clientsConfig/clientsConfig.getters.d.ts +39 -0
- package/dist/talkpilot/clientsConfig/clientsConfig.getters.d.ts.map +1 -1
- package/dist/talkpilot/clientsConfig/clientsConfig.getters.js +92 -1
- package/dist/talkpilot/clientsConfig/clientsConfig.getters.js.map +1 -1
- package/dist/talkpilot/clientsConfig/clientsConfig.types.d.ts +4 -0
- package/dist/talkpilot/clientsConfig/clientsConfig.types.d.ts.map +1 -1
- package/dist/talkpilot/clientsConfig/index.d.ts +1 -0
- package/dist/talkpilot/clientsConfig/index.d.ts.map +1 -1
- package/dist/talkpilot/clientsConfig/index.js +1 -0
- package/dist/talkpilot/clientsConfig/index.js.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/websitalk/knowledgeDocuments.d.ts +5 -0
- package/dist/test-utils/factories/websitalk/knowledgeDocuments.d.ts.map +1 -0
- package/dist/test-utils/factories/websitalk/knowledgeDocuments.js +23 -0
- package/dist/test-utils/factories/websitalk/knowledgeDocuments.js.map +1 -0
- package/dist/test-utils/factories/websitalk/scanResources.d.ts +5 -0
- package/dist/test-utils/factories/websitalk/scanResources.d.ts.map +1 -0
- package/dist/test-utils/factories/websitalk/scanResources.js +24 -0
- package/dist/test-utils/factories/websitalk/scanResources.js.map +1 -0
- package/dist/test-utils/factories/websitalk/scans.d.ts.map +1 -1
- package/dist/test-utils/factories/websitalk/scans.js +5 -0
- package/dist/test-utils/factories/websitalk/scans.js.map +1 -1
- package/dist/websitalk/index.d.ts +1 -0
- package/dist/websitalk/index.d.ts.map +1 -1
- package/dist/websitalk/index.js +1 -0
- package/dist/websitalk/index.js.map +1 -1
- package/dist/websitalk/knowledgeDocuments/index.d.ts +4 -0
- package/dist/websitalk/knowledgeDocuments/index.d.ts.map +1 -0
- package/dist/{reconcile → websitalk/knowledgeDocuments}/index.js +3 -4
- package/dist/websitalk/knowledgeDocuments/index.js.map +1 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.constants.d.ts +14 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.constants.d.ts.map +1 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.constants.js +15 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.constants.js.map +1 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.getters.d.ts +10 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.getters.d.ts.map +1 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.getters.js +61 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.getters.js.map +1 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.types.d.ts +28 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.types.d.ts.map +1 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.types.js +3 -0
- package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.types.js.map +1 -0
- package/dist/websitalk/scanResources/index.d.ts +5 -0
- package/dist/websitalk/scanResources/index.d.ts.map +1 -0
- package/dist/websitalk/scanResources/index.js +21 -0
- package/dist/websitalk/scanResources/index.js.map +1 -0
- package/dist/websitalk/scanResources/scanResources.constants.d.ts +38 -0
- package/dist/websitalk/scanResources/scanResources.constants.d.ts.map +1 -0
- package/dist/websitalk/scanResources/scanResources.constants.js +47 -0
- package/dist/websitalk/scanResources/scanResources.constants.js.map +1 -0
- package/dist/websitalk/scanResources/scanResources.getters.d.ts +8 -0
- package/dist/websitalk/scanResources/scanResources.getters.d.ts.map +1 -0
- package/dist/websitalk/scanResources/scanResources.getters.js +68 -0
- package/dist/websitalk/scanResources/scanResources.getters.js.map +1 -0
- package/dist/websitalk/scanResources/scanResources.types.d.ts +60 -0
- package/dist/websitalk/scanResources/scanResources.types.d.ts.map +1 -0
- package/dist/{reconcile/reconcile.types.js → websitalk/scanResources/scanResources.types.js} +1 -1
- package/dist/websitalk/scanResources/scanResources.types.js.map +1 -0
- package/dist/websitalk/scanResources/scanResources.utils.d.ts +7 -0
- package/dist/websitalk/scanResources/scanResources.utils.d.ts.map +1 -0
- package/dist/websitalk/scanResources/scanResources.utils.js +20 -0
- package/dist/websitalk/scanResources/scanResources.utils.js.map +1 -0
- package/dist/websitalk/scans/scans.getters.d.ts.map +1 -1
- package/dist/websitalk/scans/scans.getters.js +8 -2
- package/dist/websitalk/scans/scans.getters.js.map +1 -1
- package/dist/websitalk/scans/scans.types.d.ts +5 -0
- package/dist/websitalk/scans/scans.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/talkpilot/clientsConfig/__tests__/clientsConfig.getters.spec.ts +318 -0
- package/src/talkpilot/clientsConfig/clientsConfig.constants.ts +2 -0
- package/src/talkpilot/clientsConfig/clientsConfig.getters.ts +116 -2
- package/src/talkpilot/clientsConfig/clientsConfig.types.ts +4 -0
- package/src/talkpilot/clientsConfig/index.ts +1 -0
- package/src/test-utils/factories/index.ts +1 -0
- package/src/test-utils/factories/websitalk/scanResources.ts +26 -0
- package/src/test-utils/factories/websitalk/scans.ts +5 -0
- package/src/websitalk/index.ts +1 -0
- package/src/websitalk/scanResources/__tests__/scanResources.spec.ts +136 -0
- package/src/websitalk/scanResources/index.ts +4 -0
- package/src/websitalk/scanResources/scanResources.constants.ts +47 -0
- package/src/websitalk/scanResources/scanResources.getters.ts +94 -0
- package/src/websitalk/scanResources/scanResources.types.ts +90 -0
- package/src/websitalk/scanResources/scanResources.utils.ts +28 -0
- package/src/websitalk/scans/scans.getters.ts +8 -2
- package/src/websitalk/scans/scans.types.ts +9 -0
- package/dist/municipal/departmentsSubjects/departmentsSubjects.setters.d.ts +0 -10
- package/dist/municipal/departmentsSubjects/departmentsSubjects.setters.d.ts.map +0 -1
- package/dist/municipal/departmentsSubjects/departmentsSubjects.setters.js +0 -15
- package/dist/municipal/departmentsSubjects/departmentsSubjects.setters.js.map +0 -1
- package/dist/municipal/streets/streets.setters.d.ts +0 -10
- package/dist/municipal/streets/streets.setters.d.ts.map +0 -1
- package/dist/municipal/streets/streets.setters.js +0 -15
- package/dist/municipal/streets/streets.setters.js.map +0 -1
- package/dist/reconcile/index.d.ts +0 -5
- package/dist/reconcile/index.d.ts.map +0 -1
- package/dist/reconcile/index.js.map +0 -1
- package/dist/reconcile/reconcile.diff.d.ts +0 -4
- package/dist/reconcile/reconcile.diff.d.ts.map +0 -1
- package/dist/reconcile/reconcile.diff.js +0 -36
- package/dist/reconcile/reconcile.diff.js.map +0 -1
- package/dist/reconcile/reconcile.execute.d.ts +0 -7
- package/dist/reconcile/reconcile.execute.d.ts.map +0 -1
- package/dist/reconcile/reconcile.execute.js +0 -20
- package/dist/reconcile/reconcile.execute.js.map +0 -1
- package/dist/reconcile/reconcile.ops.d.ts +0 -12
- package/dist/reconcile/reconcile.ops.d.ts.map +0 -1
- package/dist/reconcile/reconcile.ops.js +0 -24
- package/dist/reconcile/reconcile.ops.js.map +0 -1
- package/dist/reconcile/reconcile.types.d.ts +0 -32
- package/dist/reconcile/reconcile.types.d.ts.map +0 -1
- package/dist/reconcile/reconcile.types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/websitalk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAwD;AAExD,0CAAwB;AACxB,gDAA8B;AAC9B,mDAA0D;AAAjD,wHAAA,sBAAsB,OAAA;AAE/B,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,iCAAiC,CAAC,CAAC;IAC5D,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/websitalk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAwD;AAExD,0CAAwB;AACxB,kDAAgC;AAChC,gDAA8B;AAC9B,mDAA0D;AAAjD,wHAAA,sBAAsB,OAAA;AAE/B,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,iCAAiC,CAAC,CAAC;IAC5D,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAHW,QAAA,KAAK,SAGhB;AACW,QAAA,QAAQ,GAAG,kBAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC"}
|
|
@@ -14,8 +14,7 @@ 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
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("./
|
|
20
|
-
__exportStar(require("./reconcile.execute"), exports);
|
|
17
|
+
__exportStar(require("./knowledgeDocuments.constants"), exports);
|
|
18
|
+
__exportStar(require("./knowledgeDocuments.types"), exports);
|
|
19
|
+
__exportStar(require("./knowledgeDocuments.getters"), exports);
|
|
21
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,6DAA2C;AAC3C,+DAA6C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const KNOWLEDGE_DOCUMENTS_COLLECTION = "knowledgeDocuments";
|
|
2
|
+
export declare const KNOWLEDGE_DOCUMENT_STATUSES: {
|
|
3
|
+
readonly UPLOADING: "UPLOADING";
|
|
4
|
+
readonly EXTRACTING: "EXTRACTING";
|
|
5
|
+
readonly PROCESSING: "PROCESSING";
|
|
6
|
+
readonly READY: "READY";
|
|
7
|
+
readonly FAILED: "FAILED";
|
|
8
|
+
};
|
|
9
|
+
export type KnowledgeDocumentStatus = (typeof KNOWLEDGE_DOCUMENT_STATUSES)[keyof typeof KNOWLEDGE_DOCUMENT_STATUSES];
|
|
10
|
+
export declare const KNOWLEDGE_FILE_TYPES: {
|
|
11
|
+
readonly PDF: "pdf";
|
|
12
|
+
};
|
|
13
|
+
export type KnowledgeFileType = (typeof KNOWLEDGE_FILE_TYPES)[keyof typeof KNOWLEDGE_FILE_TYPES];
|
|
14
|
+
//# sourceMappingURL=knowledgeDocuments.constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgeDocuments.constants.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AAEnE,eAAO,MAAM,2BAA2B;;;;;;CAM9B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAEjF,eAAO,MAAM,oBAAoB;;CAEvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KNOWLEDGE_FILE_TYPES = exports.KNOWLEDGE_DOCUMENT_STATUSES = exports.KNOWLEDGE_DOCUMENTS_COLLECTION = void 0;
|
|
4
|
+
exports.KNOWLEDGE_DOCUMENTS_COLLECTION = "knowledgeDocuments";
|
|
5
|
+
exports.KNOWLEDGE_DOCUMENT_STATUSES = {
|
|
6
|
+
UPLOADING: "UPLOADING",
|
|
7
|
+
EXTRACTING: "EXTRACTING",
|
|
8
|
+
PROCESSING: "PROCESSING",
|
|
9
|
+
READY: "READY",
|
|
10
|
+
FAILED: "FAILED",
|
|
11
|
+
};
|
|
12
|
+
exports.KNOWLEDGE_FILE_TYPES = {
|
|
13
|
+
PDF: "pdf",
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=knowledgeDocuments.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgeDocuments.constants.js","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,oBAAoB,CAAC;AAEtD,QAAA,2BAA2B,GAAG;IACzC,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAKE,QAAA,oBAAoB,GAAG;IAClC,GAAG,EAAE,KAAK;CACF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Collection, ObjectId as MongoObjectId } from "mongodb";
|
|
2
|
+
import type { CreateKnowledgeDocumentInput, KnowledgeDocument, KnowledgeDocumentDoc, UpdateKnowledgeDocumentInput } from "./knowledgeDocuments.types";
|
|
3
|
+
export declare const getKnowledgeDocumentsCollection: () => Collection<KnowledgeDocument>;
|
|
4
|
+
export declare const createKnowledgeDocument: (input: CreateKnowledgeDocumentInput) => Promise<MongoObjectId>;
|
|
5
|
+
export declare const getKnowledgeDocumentById: (id: string) => Promise<KnowledgeDocumentDoc | null>;
|
|
6
|
+
export declare const listKnowledgeDocumentsByClientId: (clientId: string) => Promise<KnowledgeDocumentDoc[]>;
|
|
7
|
+
export declare const listReadyKnowledgeDocumentIdsByClientId: (clientId: string) => Promise<string[]>;
|
|
8
|
+
export declare const updateKnowledgeDocument: (id: string, updates: UpdateKnowledgeDocumentInput) => Promise<KnowledgeDocumentDoc | null>;
|
|
9
|
+
export declare const deleteKnowledgeDocument: (id: string) => Promise<boolean>;
|
|
10
|
+
//# sourceMappingURL=knowledgeDocuments.getters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgeDocuments.getters.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAMhE,OAAO,KAAK,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,+BAA+B,QAAO,UAAU,CAAC,iBAAiB,CAE9E,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,OAAO,4BAA4B,KAClC,OAAO,CAAC,aAAa,CAoBvB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,IAAI,MAAM,KACT,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAErC,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,UAAU,MAAM,KACf,OAAO,CAAC,oBAAoB,EAAE,CAKhC,CAAC;AAEF,eAAO,MAAM,uCAAuC,GAClD,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,EAAE,CAQlB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,IAAI,MAAM,EACV,SAAS,4BAA4B,KACpC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAMrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,OAAO,CAKzE,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteKnowledgeDocument = exports.updateKnowledgeDocument = exports.listReadyKnowledgeDocumentIdsByClientId = exports.listKnowledgeDocumentsByClientId = exports.getKnowledgeDocumentById = exports.createKnowledgeDocument = exports.getKnowledgeDocumentsCollection = void 0;
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
const knowledgeDocuments_constants_1 = require("./knowledgeDocuments.constants");
|
|
6
|
+
const getKnowledgeDocumentsCollection = () => {
|
|
7
|
+
return (0, index_1.getDb)().collection(knowledgeDocuments_constants_1.KNOWLEDGE_DOCUMENTS_COLLECTION);
|
|
8
|
+
};
|
|
9
|
+
exports.getKnowledgeDocumentsCollection = getKnowledgeDocumentsCollection;
|
|
10
|
+
const createKnowledgeDocument = async (input) => {
|
|
11
|
+
const now = new Date();
|
|
12
|
+
const { insertedId } = await (0, exports.getKnowledgeDocumentsCollection)().insertOne({
|
|
13
|
+
clientId: input.clientId,
|
|
14
|
+
filename: input.filename,
|
|
15
|
+
contentType: input.contentType,
|
|
16
|
+
fileType: input.fileType,
|
|
17
|
+
storagePath: input.storagePath,
|
|
18
|
+
markdownStoragePath: input.markdownStoragePath,
|
|
19
|
+
byteSize: input.byteSize,
|
|
20
|
+
pageCount: input.pageCount,
|
|
21
|
+
charCount: input.charCount,
|
|
22
|
+
contentHash: input.contentHash,
|
|
23
|
+
status: input.status ?? knowledgeDocuments_constants_1.KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
|
|
24
|
+
errorMessage: input.errorMessage,
|
|
25
|
+
progressPercent: input.progressPercent ?? 0,
|
|
26
|
+
createdAt: now,
|
|
27
|
+
updatedAt: now,
|
|
28
|
+
});
|
|
29
|
+
return insertedId;
|
|
30
|
+
};
|
|
31
|
+
exports.createKnowledgeDocument = createKnowledgeDocument;
|
|
32
|
+
const getKnowledgeDocumentById = async (id) => {
|
|
33
|
+
return (0, exports.getKnowledgeDocumentsCollection)().findOne({ _id: new index_1.ObjectId(id) });
|
|
34
|
+
};
|
|
35
|
+
exports.getKnowledgeDocumentById = getKnowledgeDocumentById;
|
|
36
|
+
const listKnowledgeDocumentsByClientId = async (clientId) => {
|
|
37
|
+
return (0, exports.getKnowledgeDocumentsCollection)()
|
|
38
|
+
.find({ clientId })
|
|
39
|
+
.sort({ createdAt: -1 })
|
|
40
|
+
.toArray();
|
|
41
|
+
};
|
|
42
|
+
exports.listKnowledgeDocumentsByClientId = listKnowledgeDocumentsByClientId;
|
|
43
|
+
const listReadyKnowledgeDocumentIdsByClientId = async (clientId) => {
|
|
44
|
+
const docs = await (0, exports.getKnowledgeDocumentsCollection)()
|
|
45
|
+
.find({ clientId, status: knowledgeDocuments_constants_1.KNOWLEDGE_DOCUMENT_STATUSES.READY }, { projection: { _id: 1 } })
|
|
46
|
+
.toArray();
|
|
47
|
+
return docs.map((doc) => doc._id.toString());
|
|
48
|
+
};
|
|
49
|
+
exports.listReadyKnowledgeDocumentIdsByClientId = listReadyKnowledgeDocumentIdsByClientId;
|
|
50
|
+
const updateKnowledgeDocument = async (id, updates) => {
|
|
51
|
+
return (0, exports.getKnowledgeDocumentsCollection)().findOneAndUpdate({ _id: new index_1.ObjectId(id) }, { $set: { ...updates, updatedAt: new Date() } }, { returnDocument: "after" });
|
|
52
|
+
};
|
|
53
|
+
exports.updateKnowledgeDocument = updateKnowledgeDocument;
|
|
54
|
+
const deleteKnowledgeDocument = async (id) => {
|
|
55
|
+
const result = await (0, exports.getKnowledgeDocumentsCollection)().deleteOne({
|
|
56
|
+
_id: new index_1.ObjectId(id),
|
|
57
|
+
});
|
|
58
|
+
return result.deletedCount === 1;
|
|
59
|
+
};
|
|
60
|
+
exports.deleteKnowledgeDocument = deleteKnowledgeDocument;
|
|
61
|
+
//# sourceMappingURL=knowledgeDocuments.getters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgeDocuments.getters.js","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.getters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ObjectId } from "mongodb";
|
|
2
|
+
import type { KnowledgeDocumentStatus, KnowledgeFileType } from "./knowledgeDocuments.constants";
|
|
3
|
+
export type KnowledgeDocument = {
|
|
4
|
+
clientId: string;
|
|
5
|
+
filename: string;
|
|
6
|
+
contentType: string;
|
|
7
|
+
fileType: KnowledgeFileType;
|
|
8
|
+
storagePath: string;
|
|
9
|
+
markdownStoragePath?: string;
|
|
10
|
+
byteSize: number;
|
|
11
|
+
pageCount?: number;
|
|
12
|
+
charCount?: number;
|
|
13
|
+
contentHash?: string;
|
|
14
|
+
status: KnowledgeDocumentStatus;
|
|
15
|
+
errorMessage?: string;
|
|
16
|
+
progressPercent: number;
|
|
17
|
+
createdAt: Date;
|
|
18
|
+
updatedAt: Date;
|
|
19
|
+
};
|
|
20
|
+
export type KnowledgeDocumentDoc = KnowledgeDocument & {
|
|
21
|
+
_id: ObjectId;
|
|
22
|
+
};
|
|
23
|
+
export type CreateKnowledgeDocumentInput = Omit<KnowledgeDocument, "createdAt" | "updatedAt" | "progressPercent" | "status"> & {
|
|
24
|
+
status?: KnowledgeDocumentStatus;
|
|
25
|
+
progressPercent?: number;
|
|
26
|
+
};
|
|
27
|
+
export type UpdateKnowledgeDocumentInput = Partial<Omit<KnowledgeDocument, "clientId" | "createdAt" | "updatedAt">>;
|
|
28
|
+
//# sourceMappingURL=knowledgeDocuments.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgeDocuments.types.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,uBAAuB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG;IAAE,GAAG,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,iBAAiB,EACjB,WAAW,GAAG,WAAW,GAAG,iBAAiB,GAAG,QAAQ,CACzD,GAAG;IACF,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAChD,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC,CAChE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgeDocuments.types.js","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/websitalk/scanResources/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,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("./scanResources.constants"), exports);
|
|
18
|
+
__exportStar(require("./scanResources.getters"), exports);
|
|
19
|
+
__exportStar(require("./scanResources.types"), exports);
|
|
20
|
+
__exportStar(require("./scanResources.utils"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/websitalk/scanResources/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,0DAAwC;AACxC,wDAAsC;AACtC,wDAAsC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const SCAN_RESOURCES_COLLECTION = "scanResources";
|
|
2
|
+
export declare const URL_TASK_STATUSES: {
|
|
3
|
+
readonly URL_PENDING: "URL_PENDING";
|
|
4
|
+
readonly URL_SCANNING: "URL_SCANNING";
|
|
5
|
+
readonly URL_READY_TO_PROCESS: "URL_READY_TO_PROCESS";
|
|
6
|
+
readonly URL_PENDING_CHUNKS: "URL_PENDING_CHUNKS";
|
|
7
|
+
readonly URL_CHUNKING: "URL_CHUNKING";
|
|
8
|
+
readonly URL_EMBEDDING: "URL_EMBEDDING";
|
|
9
|
+
readonly URL_COMPLETED: "URL_COMPLETED";
|
|
10
|
+
readonly URL_FAILED: "URL_FAILED";
|
|
11
|
+
readonly URL_DUPLICATE_CONTENT: "URL_DUPLICATE_CONTENT";
|
|
12
|
+
readonly URL_PERMANENT_FAILURE: "URL_PERMANENT_FAILURE";
|
|
13
|
+
};
|
|
14
|
+
export declare const BOARD_COLUMN_STATUSES: {
|
|
15
|
+
readonly PENDING: readonly ["URL_PENDING"];
|
|
16
|
+
readonly SCANNING: readonly ["URL_SCANNING"];
|
|
17
|
+
readonly READY_TO_PROCESS: readonly ["URL_READY_TO_PROCESS"];
|
|
18
|
+
readonly CHUNKING: readonly ["URL_CHUNKING", "URL_PENDING_CHUNKS"];
|
|
19
|
+
readonly PROCESSING: readonly ["URL_EMBEDDING"];
|
|
20
|
+
readonly COMPLETED: readonly ["URL_COMPLETED", "URL_DUPLICATE_CONTENT"];
|
|
21
|
+
readonly FAILED: readonly ["URL_PERMANENT_FAILURE", "URL_FAILED"];
|
|
22
|
+
};
|
|
23
|
+
export declare const SCAN_RESOURCE_BOARD_PROJECTION: {
|
|
24
|
+
readonly url: 1;
|
|
25
|
+
readonly title: 1;
|
|
26
|
+
readonly status: 1;
|
|
27
|
+
readonly statusEnteredAt: 1;
|
|
28
|
+
readonly retryCount: 1;
|
|
29
|
+
readonly processRetryCount: 1;
|
|
30
|
+
readonly globalResurrections: 1;
|
|
31
|
+
readonly noRetry: 1;
|
|
32
|
+
readonly errorMessage: 1;
|
|
33
|
+
readonly updatedAt: 1;
|
|
34
|
+
readonly sourceType: 1;
|
|
35
|
+
};
|
|
36
|
+
export declare const DEFAULT_PAGE_LIMIT = 4;
|
|
37
|
+
export declare const MAX_PAGE_LIMIT = 50;
|
|
38
|
+
//# sourceMappingURL=scanResources.constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanResources.constants.d.ts","sourceRoot":"","sources":["../../../src/websitalk/scanResources/scanResources.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AAEzD,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAWpB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;CAcxB,CAAC;AAEX,eAAO,MAAM,8BAA8B;;;;;;;;;;;;CAYjC,CAAC;AAEX,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,cAAc,KAAK,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_PAGE_LIMIT = exports.DEFAULT_PAGE_LIMIT = exports.SCAN_RESOURCE_BOARD_PROJECTION = exports.BOARD_COLUMN_STATUSES = exports.URL_TASK_STATUSES = exports.SCAN_RESOURCES_COLLECTION = void 0;
|
|
4
|
+
exports.SCAN_RESOURCES_COLLECTION = "scanResources";
|
|
5
|
+
exports.URL_TASK_STATUSES = {
|
|
6
|
+
URL_PENDING: "URL_PENDING",
|
|
7
|
+
URL_SCANNING: "URL_SCANNING",
|
|
8
|
+
URL_READY_TO_PROCESS: "URL_READY_TO_PROCESS",
|
|
9
|
+
URL_PENDING_CHUNKS: "URL_PENDING_CHUNKS",
|
|
10
|
+
URL_CHUNKING: "URL_CHUNKING",
|
|
11
|
+
URL_EMBEDDING: "URL_EMBEDDING",
|
|
12
|
+
URL_COMPLETED: "URL_COMPLETED",
|
|
13
|
+
URL_FAILED: "URL_FAILED",
|
|
14
|
+
URL_DUPLICATE_CONTENT: "URL_DUPLICATE_CONTENT",
|
|
15
|
+
URL_PERMANENT_FAILURE: "URL_PERMANENT_FAILURE",
|
|
16
|
+
};
|
|
17
|
+
exports.BOARD_COLUMN_STATUSES = {
|
|
18
|
+
PENDING: [exports.URL_TASK_STATUSES.URL_PENDING],
|
|
19
|
+
SCANNING: [exports.URL_TASK_STATUSES.URL_SCANNING],
|
|
20
|
+
READY_TO_PROCESS: [exports.URL_TASK_STATUSES.URL_READY_TO_PROCESS],
|
|
21
|
+
CHUNKING: [exports.URL_TASK_STATUSES.URL_CHUNKING, exports.URL_TASK_STATUSES.URL_PENDING_CHUNKS],
|
|
22
|
+
PROCESSING: [exports.URL_TASK_STATUSES.URL_EMBEDDING],
|
|
23
|
+
COMPLETED: [
|
|
24
|
+
exports.URL_TASK_STATUSES.URL_COMPLETED,
|
|
25
|
+
exports.URL_TASK_STATUSES.URL_DUPLICATE_CONTENT,
|
|
26
|
+
],
|
|
27
|
+
FAILED: [
|
|
28
|
+
exports.URL_TASK_STATUSES.URL_PERMANENT_FAILURE,
|
|
29
|
+
exports.URL_TASK_STATUSES.URL_FAILED,
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
exports.SCAN_RESOURCE_BOARD_PROJECTION = {
|
|
33
|
+
url: 1,
|
|
34
|
+
title: 1,
|
|
35
|
+
status: 1,
|
|
36
|
+
statusEnteredAt: 1,
|
|
37
|
+
retryCount: 1,
|
|
38
|
+
processRetryCount: 1,
|
|
39
|
+
globalResurrections: 1,
|
|
40
|
+
noRetry: 1,
|
|
41
|
+
errorMessage: 1,
|
|
42
|
+
updatedAt: 1,
|
|
43
|
+
sourceType: 1,
|
|
44
|
+
};
|
|
45
|
+
exports.DEFAULT_PAGE_LIMIT = 4;
|
|
46
|
+
exports.MAX_PAGE_LIMIT = 50;
|
|
47
|
+
//# sourceMappingURL=scanResources.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanResources.constants.js","sourceRoot":"","sources":["../../../src/websitalk/scanResources/scanResources.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GAAG,eAAe,CAAC;AAE5C,QAAA,iBAAiB,GAAG;IAC/B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,oBAAoB,EAAE,sBAAsB;IAC5C,kBAAkB,EAAE,oBAAoB;IACxC,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,YAAY;IACxB,qBAAqB,EAAE,uBAAuB;IAC9C,qBAAqB,EAAE,uBAAuB;CACtC,CAAC;AAEE,QAAA,qBAAqB,GAAG;IACnC,OAAO,EAAE,CAAC,yBAAiB,CAAC,WAAW,CAAC;IACxC,QAAQ,EAAE,CAAC,yBAAiB,CAAC,YAAY,CAAC;IAC1C,gBAAgB,EAAE,CAAC,yBAAiB,CAAC,oBAAoB,CAAC;IAC1D,QAAQ,EAAE,CAAC,yBAAiB,CAAC,YAAY,EAAE,yBAAiB,CAAC,kBAAkB,CAAC;IAChF,UAAU,EAAE,CAAC,yBAAiB,CAAC,aAAa,CAAC;IAC7C,SAAS,EAAE;QACT,yBAAiB,CAAC,aAAa;QAC/B,yBAAiB,CAAC,qBAAqB;KACxC;IACD,MAAM,EAAE;QACN,yBAAiB,CAAC,qBAAqB;QACvC,yBAAiB,CAAC,UAAU;KAC7B;CACO,CAAC;AAEE,QAAA,8BAA8B,GAAG;IAC5C,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,eAAe,EAAE,CAAC;IAClB,UAAU,EAAE,CAAC;IACb,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,CAAC;IACtB,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;CACL,CAAC;AAEE,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,cAAc,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Collection } from "mongodb";
|
|
2
|
+
import type { PagedResult, ScanPagesQuery, ScanResource, ScanResourceBoardProjection, ScanResourceDoc, UrlTaskStatus } from "./scanResources.types";
|
|
3
|
+
export declare const getScanResourcesCollection: () => Collection<ScanResource>;
|
|
4
|
+
export declare const getScanKpiCounts: (scanId: string) => Promise<Partial<Record<UrlTaskStatus, number>>>;
|
|
5
|
+
export declare const getScanResourceCountsByScanIds: (scanIds: string[]) => Promise<Record<string, number>>;
|
|
6
|
+
export declare const getScanPages: (query: ScanPagesQuery) => Promise<PagedResult<ScanResourceBoardProjection>>;
|
|
7
|
+
export declare const getScanResourceById: (scanId: string, pageId: string) => Promise<ScanResourceDoc | null>;
|
|
8
|
+
//# sourceMappingURL=scanResources.getters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanResources.getters.d.ts","sourceRoot":"","sources":["../../../src/websitalk/scanResources/scanResources.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,SAAS,CAAC;AAQvD,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,2BAA2B,EAC3B,eAAe,EACf,aAAa,EACd,MAAM,uBAAuB,CAAC;AAG/B,eAAO,MAAM,0BAA0B,QAAO,UAAU,CAAC,YAAY,CACR,CAAC;AAE9D,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,KACb,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAYhD,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,SAAS,MAAM,EAAE,KAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWhC,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,cAAc,KACpB,OAAO,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAiClD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,EACd,QAAQ,MAAM,KACb,OAAO,CAAC,eAAe,GAAG,IAAI,CAC4C,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getScanResourceById = exports.getScanPages = exports.getScanResourceCountsByScanIds = exports.getScanKpiCounts = exports.getScanResourcesCollection = void 0;
|
|
4
|
+
const mongodb_1 = require("mongodb");
|
|
5
|
+
const index_1 = require("../index");
|
|
6
|
+
const scanResources_constants_1 = require("./scanResources.constants");
|
|
7
|
+
const scanResources_utils_1 = require("./scanResources.utils");
|
|
8
|
+
const getScanResourcesCollection = () => (0, index_1.getDb)().collection(scanResources_constants_1.SCAN_RESOURCES_COLLECTION);
|
|
9
|
+
exports.getScanResourcesCollection = getScanResourcesCollection;
|
|
10
|
+
const getScanKpiCounts = async (scanId) => {
|
|
11
|
+
const rows = await (0, exports.getScanResourcesCollection)()
|
|
12
|
+
.aggregate([
|
|
13
|
+
{ $match: { scanId } },
|
|
14
|
+
{ $group: { _id: "$status", count: { $sum: 1 } } },
|
|
15
|
+
])
|
|
16
|
+
.toArray();
|
|
17
|
+
return rows.reduce((acc, row) => {
|
|
18
|
+
acc[row._id] = row.count;
|
|
19
|
+
return acc;
|
|
20
|
+
}, {});
|
|
21
|
+
};
|
|
22
|
+
exports.getScanKpiCounts = getScanKpiCounts;
|
|
23
|
+
const getScanResourceCountsByScanIds = async (scanIds) => {
|
|
24
|
+
if (scanIds.length === 0)
|
|
25
|
+
return {};
|
|
26
|
+
const rows = await (0, exports.getScanResourcesCollection)()
|
|
27
|
+
.aggregate([
|
|
28
|
+
{ $match: { scanId: { $in: scanIds } } },
|
|
29
|
+
{ $group: { _id: "$scanId", count: { $sum: 1 } } },
|
|
30
|
+
])
|
|
31
|
+
.toArray();
|
|
32
|
+
return Object.fromEntries(rows.map((row) => [row._id, row.count]));
|
|
33
|
+
};
|
|
34
|
+
exports.getScanResourceCountsByScanIds = getScanResourceCountsByScanIds;
|
|
35
|
+
const getScanPages = async (query) => {
|
|
36
|
+
const limit = Math.min(query.limit ?? scanResources_constants_1.DEFAULT_PAGE_LIMIT, scanResources_constants_1.MAX_PAGE_LIMIT);
|
|
37
|
+
const filter = {
|
|
38
|
+
scanId: query.scanId,
|
|
39
|
+
status: { $in: [...(0, scanResources_utils_1.statusesForColumn)(query.column)] },
|
|
40
|
+
};
|
|
41
|
+
if (query.cursor) {
|
|
42
|
+
filter._id = { $gt: (0, scanResources_utils_1.decodeCursor)(query.cursor) };
|
|
43
|
+
}
|
|
44
|
+
if (query.search) {
|
|
45
|
+
filter.$or = [
|
|
46
|
+
{ url: { $regex: query.search, $options: "i" } },
|
|
47
|
+
{ title: { $regex: query.search, $options: "i" } },
|
|
48
|
+
];
|
|
49
|
+
}
|
|
50
|
+
if (query.since) {
|
|
51
|
+
filter.updatedAt = { $gte: query.since };
|
|
52
|
+
}
|
|
53
|
+
const docs = await (0, exports.getScanResourcesCollection)()
|
|
54
|
+
.find(filter, {
|
|
55
|
+
projection: scanResources_constants_1.SCAN_RESOURCE_BOARD_PROJECTION,
|
|
56
|
+
sort: { _id: 1 },
|
|
57
|
+
limit: limit + 1,
|
|
58
|
+
})
|
|
59
|
+
.toArray();
|
|
60
|
+
const hasMore = docs.length > limit;
|
|
61
|
+
const items = (hasMore ? docs.slice(0, limit) : docs);
|
|
62
|
+
const nextCursor = hasMore ? (0, scanResources_utils_1.encodeCursor)(items[items.length - 1]._id) : null;
|
|
63
|
+
return { items, nextCursor };
|
|
64
|
+
};
|
|
65
|
+
exports.getScanPages = getScanPages;
|
|
66
|
+
const getScanResourceById = async (scanId, pageId) => (0, exports.getScanResourcesCollection)().findOne({ scanId, _id: new mongodb_1.ObjectId(pageId) });
|
|
67
|
+
exports.getScanResourceById = getScanResourceById;
|
|
68
|
+
//# sourceMappingURL=scanResources.getters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanResources.getters.js","sourceRoot":"","sources":["../../../src/websitalk/scanResources/scanResources.getters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { WithId } from "mongodb";
|
|
2
|
+
import type { BOARD_COLUMN_STATUSES, URL_TASK_STATUSES } from "./scanResources.constants";
|
|
3
|
+
export type UrlTaskStatus = (typeof URL_TASK_STATUSES)[keyof typeof URL_TASK_STATUSES];
|
|
4
|
+
export type BoardColumn = keyof typeof BOARD_COLUMN_STATUSES;
|
|
5
|
+
export type StageLogEntry = {
|
|
6
|
+
from: UrlTaskStatus | null;
|
|
7
|
+
to: UrlTaskStatus;
|
|
8
|
+
occurredAt: Date;
|
|
9
|
+
details: Record<string, unknown>;
|
|
10
|
+
};
|
|
11
|
+
export type ScanResource = {
|
|
12
|
+
urlHashId: string;
|
|
13
|
+
clientId: string;
|
|
14
|
+
scanId: string;
|
|
15
|
+
websiteUrlId: string;
|
|
16
|
+
url: string;
|
|
17
|
+
urlCanonical?: string | null;
|
|
18
|
+
title?: string | null;
|
|
19
|
+
h1?: string | null;
|
|
20
|
+
language?: string | null;
|
|
21
|
+
sourceType?: string | null;
|
|
22
|
+
context?: string | null;
|
|
23
|
+
contentHash?: string | null;
|
|
24
|
+
duplicateOfTaskId?: string | null;
|
|
25
|
+
breadcrumbs?: unknown;
|
|
26
|
+
description?: string | null;
|
|
27
|
+
sourceUrl?: string | null;
|
|
28
|
+
errorMessage?: string | null;
|
|
29
|
+
status: UrlTaskStatus;
|
|
30
|
+
depth: number;
|
|
31
|
+
retryCount: number;
|
|
32
|
+
processRetryCount?: number;
|
|
33
|
+
globalResurrections?: number;
|
|
34
|
+
noRetry?: boolean;
|
|
35
|
+
reviveAt?: Date | null;
|
|
36
|
+
statusEnteredAt?: Date;
|
|
37
|
+
httpStatus?: number;
|
|
38
|
+
finalUrl?: string;
|
|
39
|
+
batchDone?: number;
|
|
40
|
+
batchTotal?: number;
|
|
41
|
+
stageLogs?: StageLogEntry[];
|
|
42
|
+
createdAt: Date;
|
|
43
|
+
updatedAt: Date;
|
|
44
|
+
fetchedAt?: Date | null;
|
|
45
|
+
};
|
|
46
|
+
export type ScanResourceDoc = WithId<ScanResource>;
|
|
47
|
+
export type ScanResourceBoardProjection = Pick<ScanResourceDoc, "_id" | "url" | "title" | "status" | "statusEnteredAt" | "retryCount" | "processRetryCount" | "globalResurrections" | "noRetry" | "errorMessage" | "updatedAt" | "sourceType">;
|
|
48
|
+
export type ScanPagesQuery = {
|
|
49
|
+
scanId: string;
|
|
50
|
+
column: BoardColumn;
|
|
51
|
+
search?: string;
|
|
52
|
+
cursor?: string | null;
|
|
53
|
+
since?: Date;
|
|
54
|
+
limit?: number;
|
|
55
|
+
};
|
|
56
|
+
export type PagedResult<T> = {
|
|
57
|
+
items: T[];
|
|
58
|
+
nextCursor: string | null;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=scanResources.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanResources.types.d.ts","sourceRoot":"","sources":["../../../src/websitalk/scanResources/scanResources.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanResources.types.js","sourceRoot":"","sources":["../../../src/websitalk/scanResources/scanResources.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ObjectId } from "mongodb";
|
|
2
|
+
import type { BoardColumn, UrlTaskStatus } from "./scanResources.types";
|
|
3
|
+
export declare const boardColumn: (status: UrlTaskStatus) => BoardColumn;
|
|
4
|
+
export declare const statusesForColumn: (column: BoardColumn) => readonly UrlTaskStatus[];
|
|
5
|
+
export declare const encodeCursor: (id: ObjectId) => string;
|
|
6
|
+
export declare const decodeCursor: (cursor: string) => ObjectId;
|
|
7
|
+
//# sourceMappingURL=scanResources.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanResources.utils.d.ts","sourceRoot":"","sources":["../../../src/websitalk/scanResources/scanResources.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAcxE,eAAO,MAAM,WAAW,GAAI,QAAQ,aAAa,KAAG,WAC1B,CAAC;AAE3B,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,WAAW,KAClB,SAAS,aAAa,EAAmC,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,IAAI,QAAQ,KAAG,MACM,CAAC;AAEnD,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,QACiB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeCursor = exports.encodeCursor = exports.statusesForColumn = exports.boardColumn = void 0;
|
|
4
|
+
const mongodb_1 = require("mongodb");
|
|
5
|
+
const scanResources_constants_1 = require("./scanResources.constants");
|
|
6
|
+
const STATUS_TO_COLUMN = Object.entries(scanResources_constants_1.BOARD_COLUMN_STATUSES).reduce((acc, [column, statuses]) => {
|
|
7
|
+
for (const status of statuses) {
|
|
8
|
+
acc[status] = column;
|
|
9
|
+
}
|
|
10
|
+
return acc;
|
|
11
|
+
}, {});
|
|
12
|
+
const boardColumn = (status) => STATUS_TO_COLUMN[status];
|
|
13
|
+
exports.boardColumn = boardColumn;
|
|
14
|
+
const statusesForColumn = (column) => scanResources_constants_1.BOARD_COLUMN_STATUSES[column];
|
|
15
|
+
exports.statusesForColumn = statusesForColumn;
|
|
16
|
+
const encodeCursor = (id) => Buffer.from(id.toHexString()).toString("base64");
|
|
17
|
+
exports.encodeCursor = encodeCursor;
|
|
18
|
+
const decodeCursor = (cursor) => new mongodb_1.ObjectId(Buffer.from(cursor, "base64").toString("utf-8"));
|
|
19
|
+
exports.decodeCursor = decodeCursor;
|
|
20
|
+
//# sourceMappingURL=scanResources.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanResources.utils.js","sourceRoot":"","sources":["../../../src/websitalk/scanResources/scanResources.utils.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AACnC,uEAAkE;AAGlE,MAAM,gBAAgB,GAAuC,MAAM,CAAC,OAAO,CACzE,+CAAqB,CACtB,CAAC,MAAM,CACN,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE;IAC1B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,MAAqB,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAwC,CACzC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,MAAqB,EAAe,EAAE,CAChE,gBAAgB,CAAC,MAAM,CAAC,CAAC;AADd,QAAA,WAAW,eACG;AAEpB,MAAM,iBAAiB,GAAG,CAC/B,MAAmB,EACO,EAAE,CAAC,+CAAqB,CAAC,MAAM,CAAC,CAAC;AAFhD,QAAA,iBAAiB,qBAE+B;AAEtD,MAAM,YAAY,GAAG,CAAC,EAAY,EAAU,EAAE,CACnD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AADtC,QAAA,YAAY,gBAC0B;AAE5C,MAAM,YAAY,GAAG,CAAC,MAAc,EAAY,EAAE,CACvD,IAAI,kBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AADnD,QAAA,YAAY,gBACuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scans.getters.d.ts","sourceRoot":"","sources":["../../../src/websitalk/scans/scans.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAEL,YAAY,EACb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAInD,eAAO,MAAM,kBAAkB,QAAO,UAAU,CAAC,IAAI,CAEpD,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,UAAU,MAAM,EAChB,WAAW,IAAI,EACf,SAAS,IAAI,KACZ,OAAO,CAAC,OAAO,EAAE,CAUnB,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAAI,CAAC,SAAS,MAAM,IAAI,EACpE,UAAU,MAAM,EAChB,WAAW,IAAI,EACf,SAAS,IAAI,EACb,QAAQ,CAAC,EAAE,KACV,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAkBpC,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"scans.getters.d.ts","sourceRoot":"","sources":["../../../src/websitalk/scans/scans.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAEL,YAAY,EACb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAInD,eAAO,MAAM,kBAAkB,QAAO,UAAU,CAAC,IAAI,CAEpD,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,UAAU,MAAM,EAChB,WAAW,IAAI,EACf,SAAS,IAAI,KACZ,OAAO,CAAC,OAAO,EAAE,CAUnB,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAAI,CAAC,SAAS,MAAM,IAAI,EACpE,UAAU,MAAM,EAChB,WAAW,IAAI,EACf,SAAS,IAAI,EACb,QAAQ,CAAC,EAAE,KACV,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAkBpC,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,qDAmB3C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAEpE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,cAAc,MAAM,KACnB,OAAO,CAAC,OAAO,EAAE,CAKnB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,cAAc,MAAM,KACnB,OAAO,CAAC,OAAO,GAAG,IAAI,CAKxB,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,cAAc,MAAM,KACnB,OAAO,CAAC,OAAO,GAAG,IAAI,CAMxB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,UAAU,MAAM,KACf,OAAO,CAAC,OAAO,EAAE,CAQnB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,QAAQ,QAAQ,EAChB,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC,KACrD,OAAO,CAAC,OAAO,GAAG,IAAI,CAMxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,EACnB,UAAU,YAAY,KACrB,OAAO,CAAC,OAAO,EAAE,CAGnB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,OAAO,MAAM,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,MAAM,CAEpE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,cAAc,MAAM,KACnB,OAAO,CAAC,OAAO,CAEjB,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,cAAc,MAAM,KACnB,OAAO,CAAC,OAAO,GAAG,IAAI,CAKxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,cAAc,MAAM,KACnB,OAAO,CAAC,MAAM,CAGhB,CAAC"}
|
|
@@ -39,6 +39,7 @@ const getScanFieldsByClientAndDateRange = (clientId, startDate, endDate, fields)
|
|
|
39
39
|
};
|
|
40
40
|
exports.getScanFieldsByClientAndDateRange = getScanFieldsByClientAndDateRange;
|
|
41
41
|
const createScanDoc = (scan) => {
|
|
42
|
+
const now = new Date();
|
|
42
43
|
return (0, exports.getScansCollection)().insertOne({
|
|
43
44
|
...scan,
|
|
44
45
|
status: scans_constants_1.SCAN_STATUSES.CHECKING,
|
|
@@ -47,8 +48,13 @@ const createScanDoc = (scan) => {
|
|
|
47
48
|
pagesSkipped: 0,
|
|
48
49
|
skipped: [],
|
|
49
50
|
siteChrome: {},
|
|
50
|
-
createdAt:
|
|
51
|
-
updatedAt:
|
|
51
|
+
createdAt: now,
|
|
52
|
+
updatedAt: now,
|
|
53
|
+
startedAt: now,
|
|
54
|
+
completedAt: null,
|
|
55
|
+
pagesCompleted: 0,
|
|
56
|
+
pagesFailedPermanent: 0,
|
|
57
|
+
pagesDuplicate: 0,
|
|
52
58
|
});
|
|
53
59
|
};
|
|
54
60
|
exports.createScanDoc = createScanDoc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scans.getters.js","sourceRoot":"","sources":["../../../src/websitalk/scans/scans.getters.ts"],"names":[],"mappings":";;;AAAA,qCAAuD;AACvD,oCAAiC;AACjC,mEAG2C;AAE3C,uDAA0E;AAC1E,+CAAiD;AAE1C,MAAM,kBAAkB,GAAG,GAAqB,EAAE;IACvD,OAAO,IAAA,aAAK,GAAE,CAAC,UAAU,CAAO,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEK,MAAM,4BAA4B,GAAG,CAC1C,QAAgB,EAChB,SAAe,EACf,OAAa,EACO,EAAE;IACtB,OAAO,IAAA,0BAAkB,GAAE;SACxB,IAAI,CAAC;QACJ,QAAQ;QACR,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;SACd;KACF,CAAC;SACD,OAAO,EAAE,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,4BAA4B,gCAcvC;AAEK,MAAM,iCAAiC,GAAG,CAC/C,QAAgB,EAChB,SAAe,EACf,OAAa,EACb,MAAW,EAC0B,EAAE;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACjE,GAAG,CAAC,KAAe,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAA,0BAAkB,GAAE;SACxB,IAAI,CACH;QACE,QAAQ;QACR,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;SACd;KACF,EACD,EAAE,UAAU,EAAE,CACf;SACA,OAAO,EAAyC,CAAC;AACtD,CAAC,CAAC;AAvBW,QAAA,iCAAiC,qCAuB5C;AAEK,MAAM,aAAa,GAAG,CAC3B,IAC0C,EAC1C,EAAE;IACF,OAAO,IAAA,0BAAkB,GAAE,CAAC,SAAS,CAAC;QACpC,GAAG,IAAI;QACP,MAAM,EAAE,+BAAa,CAAC,QAAQ;QAC9B,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAwB;QACpC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"scans.getters.js","sourceRoot":"","sources":["../../../src/websitalk/scans/scans.getters.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,11 @@ export type Scan = {
|
|
|
35
35
|
siteChrome: SiteChromeEntry;
|
|
36
36
|
createdAt: Date;
|
|
37
37
|
updatedAt: Date;
|
|
38
|
+
startedAt?: Date;
|
|
39
|
+
completedAt?: Date | null;
|
|
40
|
+
pagesCompleted?: number;
|
|
41
|
+
pagesFailedPermanent?: number;
|
|
42
|
+
pagesDuplicate?: number;
|
|
38
43
|
};
|
|
39
44
|
export type ScanDoc = WithId<Scan>;
|
|
40
45
|
//# sourceMappingURL=scans.types.d.ts.map
|