@tstdl/base 0.92.123 → 0.92.125
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/ai/ai-file.service.js +23 -18
- package/ai/ai.service.d.ts +4 -12
- package/ai/ai.service.js +79 -147
- package/ai/functions.d.ts +1 -1
- package/ai/types.d.ts +3 -1
- package/api/server/gateway.js +6 -6
- package/authentication/authentication.api.js +24 -24
- package/authentication/server/authentication.service.js +20 -20
- package/browser/page-controller.js +1 -1
- package/context/context.js +5 -5
- package/document-management/api/document-management.api.d.ts +60 -215
- package/document-management/api/document-management.api.js +32 -68
- package/document-management/models/document-assignment-scope.model.d.ts +11 -0
- package/document-management/models/{document-request-assignment-task-collection.model.js → document-assignment-scope.model.js} +14 -10
- package/document-management/models/document-assignment-task.model.d.ts +13 -0
- package/document-management/models/document-assignment-task.model.js +38 -0
- package/document-management/models/document-category.model.d.ts +2 -0
- package/document-management/models/document-category.model.js +7 -1
- package/document-management/models/{document-collection-document.model.d.ts → document-collection-assignment.model.d.ts} +1 -1
- package/document-management/models/{document-collection-document.model.js → document-collection-assignment.model.js} +7 -7
- package/document-management/models/document-collection.model.d.ts +2 -0
- package/document-management/models/document-collection.model.js +10 -0
- package/document-management/models/document-property-value.model.d.ts +3 -11
- package/document-management/models/document-property-value.model.js +15 -46
- package/document-management/models/document-property.model.d.ts +2 -1
- package/document-management/models/document-property.model.js +2 -2
- package/document-management/models/document-request-submission.model.d.ts +7 -0
- package/document-management/models/document-request-submission.model.js +34 -0
- package/document-management/models/document-request-template.d.ts +2 -4
- package/document-management/models/document-request-template.js +3 -8
- package/document-management/models/document-request.model.d.ts +14 -6
- package/document-management/models/document-request.model.js +22 -12
- package/document-management/models/document-type-validation.model.d.ts +6 -0
- package/document-management/models/document-type-validation.model.js +34 -0
- package/document-management/models/document-type.model.d.ts +0 -1
- package/document-management/models/document-type.model.js +0 -5
- package/document-management/models/document-validation-definition.model.d.ts +10 -0
- package/document-management/models/document-validation-definition.model.js +39 -0
- package/document-management/models/document-validation-execution-related-document.model.d.ts +7 -0
- package/document-management/models/document-validation-execution-related-document.model.js +34 -0
- package/document-management/models/document-validation-execution.model.d.ts +26 -0
- package/document-management/models/document-validation-execution.model.js +72 -0
- package/document-management/models/document-workflow.model.d.ts +35 -0
- package/document-management/models/document-workflow.model.js +70 -0
- package/document-management/models/document.model.d.ts +12 -1
- package/document-management/models/document.model.js +21 -5
- package/document-management/models/index.d.ts +10 -5
- package/document-management/models/index.js +10 -5
- package/document-management/models/service-models/categories-and-types.view-model.d.ts +3 -3
- package/document-management/models/service-models/categories-and-types.view-model.js +2 -21
- package/document-management/models/service-models/document-folders.view-model.d.ts +7 -14
- package/document-management/models/service-models/document-folders.view-model.js +20 -44
- package/document-management/models/service-models/document-management.view-model.d.ts +41 -0
- package/document-management/models/service-models/{document.view-model.js → document-management.view-model.js} +43 -26
- package/document-management/models/service-models/document.service-model.d.ts +51 -81
- package/document-management/models/service-models/document.service-model.js +30 -28
- package/document-management/models/service-models/enriched/enriched-document-assignment.view.d.ts +11 -0
- package/document-management/models/service-models/enriched/enriched-document-assignment.view.js +12 -0
- package/document-management/models/service-models/enriched/enriched-document-category.view.d.ts +13 -0
- package/document-management/models/service-models/enriched/enriched-document-category.view.js +47 -0
- package/document-management/models/service-models/enriched/enriched-document-collection.view.d.ts +22 -0
- package/document-management/models/service-models/enriched/enriched-document-collection.view.js +89 -0
- package/document-management/models/service-models/enriched/enriched-document-file.view.d.ts +12 -0
- package/document-management/models/service-models/enriched/enriched-document-file.view.js +16 -0
- package/document-management/models/service-models/enriched/enriched-document-management-data.view.d.ts +41 -0
- package/document-management/models/service-models/enriched/enriched-document-management-data.view.js +130 -0
- package/document-management/models/service-models/enriched/enriched-document-request.view.d.ts +17 -0
- package/document-management/models/service-models/enriched/enriched-document-request.view.js +52 -0
- package/document-management/models/service-models/enriched/enriched-document-type.view.d.ts +9 -0
- package/document-management/models/service-models/enriched/enriched-document-type.view.js +10 -0
- package/document-management/models/service-models/enriched/enriched-document.view.d.ts +28 -0
- package/document-management/models/service-models/enriched/enriched-document.view.js +77 -0
- package/document-management/models/service-models/enriched/enriched.d.ts +18 -0
- package/document-management/models/service-models/enriched/enriched.js +39 -0
- package/document-management/models/service-models/enriched/index.d.ts +9 -0
- package/document-management/models/service-models/enriched/index.js +9 -0
- package/document-management/models/service-models/index.d.ts +2 -2
- package/document-management/models/service-models/index.js +2 -2
- package/document-management/models/service-models/normalized-requests-template-data.model.d.ts +12 -10
- package/document-management/models/service-models/normalized-requests-template-data.model.js +5 -4
- package/document-management/models/service-models/stats.view-model.d.ts +7 -5
- package/document-management/models/service-models/stats.view-model.js +19 -9
- package/document-management/server/module.d.ts +2 -2
- package/document-management/server/module.js +3 -7
- package/document-management/server/schemas.d.ts +18 -23
- package/document-management/server/schemas.js +18 -23
- package/document-management/server/services/document-category-type.service.d.ts +25 -0
- package/document-management/server/services/document-category-type.service.js +66 -0
- package/document-management/server/services/document-collection.service.d.ts +13 -0
- package/document-management/server/services/document-collection.service.js +41 -0
- package/document-management/server/services/document-file.service.d.ts +17 -0
- package/document-management/server/services/document-file.service.js +204 -0
- package/document-management/server/services/document-management-ai.service.d.ts +22 -0
- package/document-management/server/services/document-management-ai.service.js +340 -0
- package/document-management/server/services/document-management-ancillary.service.d.ts +127 -3
- package/document-management/server/services/document-management-ancillary.service.js +24 -0
- package/document-management/server/services/document-management.service.d.ts +10 -122
- package/document-management/server/services/document-management.service.js +106 -888
- package/document-management/server/services/document-property.service.d.ts +84 -0
- package/document-management/server/services/document-property.service.js +87 -0
- package/document-management/server/services/document-request.service.d.ts +30 -0
- package/document-management/server/services/document-request.service.js +138 -0
- package/document-management/server/services/document-validation.service.d.ts +20 -0
- package/document-management/server/services/document-validation.service.js +145 -0
- package/document-management/server/services/document-workflow.service.d.ts +20 -0
- package/document-management/server/services/document-workflow.service.js +132 -0
- package/document-management/server/services/document.service.d.ts +16 -0
- package/document-management/server/services/document.service.js +81 -0
- package/document-management/server/services/index.d.ts +9 -0
- package/document-management/server/services/index.js +9 -0
- package/document-management/server/validators/ai-validation-executor.d.ts +19 -0
- package/document-management/server/validators/ai-validation-executor.js +51 -0
- package/document-management/server/validators/index.d.ts +2 -0
- package/document-management/server/validators/index.js +2 -0
- package/document-management/server/validators/single-document-validation-executor.d.ts +16 -0
- package/document-management/server/validators/single-document-validation-executor.js +20 -0
- package/document-management/server/validators/validator.d.ts +21 -0
- package/document-management/server/validators/validator.js +2 -0
- package/eslint.config.js +31 -17
- package/examples/document-management/main.d.ts +18 -3
- package/examples/document-management/main.js +28 -12
- package/file/mime-type.js +2 -9
- package/formats.d.ts +5 -2
- package/formats.js +32 -23
- package/http/client/http-client.js +1 -1
- package/injector/injector.js +2 -2
- package/object-storage/s3/s3.object-storage.js +1 -1
- package/orm/data-types/bytea.d.ts +8 -0
- package/orm/data-types/bytea.js +8 -0
- package/orm/data-types/index.d.ts +4 -0
- package/orm/data-types/index.js +4 -0
- package/orm/data-types/numeric-date.d.ts +9 -0
- package/orm/data-types/numeric-date.js +9 -0
- package/orm/data-types/timestamp.d.ts +9 -0
- package/orm/data-types/timestamp.js +9 -0
- package/orm/decorators.d.ts +139 -5
- package/orm/decorators.js +50 -0
- package/orm/entity.d.ts +19 -0
- package/orm/entity.js +19 -0
- package/orm/index.d.ts +5 -0
- package/orm/index.js +5 -0
- package/orm/query.d.ts +51 -0
- package/orm/query.js +6 -0
- package/orm/repository.types.d.ts +54 -2
- package/orm/server/database-schema.d.ts +34 -0
- package/orm/server/database-schema.js +29 -0
- package/orm/server/database.d.ts +19 -1
- package/orm/server/database.js +17 -3
- package/orm/server/drizzle/schema-converter.d.ts +2 -1
- package/orm/server/drizzle/schema-converter.js +12 -1
- package/orm/server/encryption.d.ts +16 -0
- package/orm/server/encryption.js +29 -4
- package/orm/server/index.d.ts +7 -0
- package/orm/server/index.js +7 -0
- package/orm/server/module.d.ts +20 -0
- package/orm/server/module.js +9 -0
- package/orm/server/query-converter.d.ts +17 -0
- package/orm/server/query-converter.js +66 -11
- package/orm/server/repository.d.ts +324 -18
- package/orm/server/repository.js +344 -73
- package/orm/server/transaction.d.ts +5 -5
- package/orm/server/transaction.js +5 -5
- package/orm/server/transactional.d.ts +75 -0
- package/orm/server/transactional.js +134 -0
- package/orm/server/types.d.ts +1 -0
- package/orm/sqls.d.ts +55 -0
- package/orm/sqls.js +60 -0
- package/orm/types.d.ts +67 -4
- package/orm/utils.d.ts +19 -3
- package/orm/utils.js +12 -0
- package/package.json +32 -31
- package/password/password-check-result.model.d.ts +9 -7
- package/password/password-check-result.model.js +8 -8
- package/password/password-check.js +5 -7
- package/password/password-check.localization.js +12 -12
- package/pdf/pdf.service.js +1 -1
- package/pdf/utils.d.ts +9 -0
- package/pdf/utils.js +19 -2
- package/process/spawn.d.ts +11 -4
- package/process/spawn.js +42 -5
- package/queue/postgres/queue.js +5 -5
- package/queue/queue.d.ts +6 -4
- package/queue/queue.js +6 -6
- package/schema/schemas/one-or-many.d.ts +2 -1
- package/schema/schemas/one-or-many.js +1 -1
- package/search-index/elastic/model/index-mapping.d.ts +1 -1
- package/search-index/elastic/model/index-mapping.js +0 -1
- package/search-index/elastic/search-index.d.ts +1 -2
- package/search-index/elastic/search-index.js +3 -3
- package/types.d.ts +1 -0
- package/utils/async-hook/async-hook.d.ts +9 -0
- package/utils/async-hook/async-hook.js +21 -0
- package/utils/async-hook/index.d.ts +1 -0
- package/utils/async-hook/index.js +1 -0
- package/utils/compression.js +1 -1
- package/utils/function/class.d.ts +6 -0
- package/utils/function/class.js +9 -0
- package/utils/function/index.d.ts +1 -0
- package/utils/function/index.js +1 -0
- package/utils/function/memoize.d.ts +18 -0
- package/utils/function/memoize.js +41 -2
- package/utils/jwt.d.ts +1 -1
- package/utils/jwt.js +5 -5
- package/utils/object/forward-ref.d.ts +3 -2
- package/utils/object/forward-ref.js +12 -12
- package/utils/object/lazy-property.js +2 -2
- package/utils/proxy.js +1 -1
- package/utils/stream/{readable-stream-from-promise.d.ts → from-promise.d.ts} +1 -0
- package/utils/stream/from-promise.js +27 -0
- package/utils/stream/index.d.ts +1 -1
- package/utils/stream/index.js +1 -1
- package/utils/stream/stream-reader.js +71 -31
- package/document-management/models/document-request-assignment-task-collection.model.d.ts +0 -7
- package/document-management/models/document-request-assignment-task.model.d.ts +0 -14
- package/document-management/models/document-request-assignment-task.model.js +0 -77
- package/document-management/models/document-request-file.model.d.ts +0 -16
- package/document-management/models/document-request-file.model.js +0 -86
- package/document-management/models/service-models/document.view-model.d.ts +0 -41
- package/document-management/models/service-models/normalized-document-collection-view.model.d.ts +0 -73
- package/document-management/models/service-models/normalized-document-collection-view.model.js +0 -110
- package/utils/stream/readable-stream-from-promise.js +0 -8
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { type EnumType } from '../../../enumeration/enumeration.js';
|
|
2
|
-
import { Timestamp } from '../../../orm/types.js';
|
|
3
|
-
import { DocumentCategory } from '../document-category.model.js';
|
|
4
|
-
import { DocumentCollection } from '../document-collection.model.js';
|
|
5
|
-
import { DocumentFile } from '../document-file.model.js';
|
|
6
|
-
import { DocumentPropertyValue } from '../document-property-value.model.js';
|
|
7
|
-
import { DocumentRequestFile } from '../document-request-file.model.js';
|
|
8
|
-
import { DocumentRequest } from '../document-request.model.js';
|
|
9
|
-
import { DocumentType } from '../document-type.model.js';
|
|
10
|
-
import { Document } from '../document.model.js';
|
|
11
|
-
export declare const ExtractionStatus: {
|
|
12
|
-
readonly Pending: "pending";
|
|
13
|
-
readonly Extracting: "extracting";
|
|
14
|
-
readonly Error: "error";
|
|
15
|
-
};
|
|
16
|
-
export type ExtractionStatus = EnumType<typeof ExtractionStatus>;
|
|
17
|
-
export declare class DocumentCollectionView extends DocumentCollection {
|
|
18
|
-
name: string | null;
|
|
19
|
-
group: string | null;
|
|
20
|
-
}
|
|
21
|
-
export declare class DocumentViewCollectionAssignment {
|
|
22
|
-
collectionId: string;
|
|
23
|
-
archiveTimestamp: Timestamp | null;
|
|
24
|
-
}
|
|
25
|
-
export declare class DocumentView extends Document {
|
|
26
|
-
collectionAssignments: DocumentViewCollectionAssignment[];
|
|
27
|
-
properties: DocumentPropertyValue[];
|
|
28
|
-
extractionStatus: ExtractionStatus | null;
|
|
29
|
-
}
|
|
30
|
-
export declare class DocumentRequestView extends DocumentRequest {
|
|
31
|
-
collectionIds: string[];
|
|
32
|
-
requestFiles: DocumentRequestFile[];
|
|
33
|
-
}
|
|
34
|
-
export declare class DocumentManagementData {
|
|
35
|
-
collections: DocumentCollectionView[];
|
|
36
|
-
documents: DocumentView[];
|
|
37
|
-
requests: DocumentRequestView[];
|
|
38
|
-
files: DocumentFile[];
|
|
39
|
-
categories: DocumentCategory[];
|
|
40
|
-
types: DocumentType[];
|
|
41
|
-
}
|
package/document-management/models/service-models/normalized-document-collection-view.model.d.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import type { TypedOmit } from '../../../types.js';
|
|
2
|
-
import type { DocumentCategory } from '../document-category.model.js';
|
|
3
|
-
import type { DocumentCollection } from '../document-collection.model.js';
|
|
4
|
-
import type { DocumentFile } from '../document-file.model.js';
|
|
5
|
-
import type { DocumentRequestFile } from '../document-request-file.model.js';
|
|
6
|
-
import type { DocumentType } from '../document-type.model.js';
|
|
7
|
-
import type { DocumentManagementData, DocumentRequestView, DocumentView } from './document.view-model.js';
|
|
8
|
-
export type RequestMetadata = {
|
|
9
|
-
pendingRequestFilesCount: number;
|
|
10
|
-
approvedRequestFilesCount: number;
|
|
11
|
-
rejectedRequestFilesCount: number;
|
|
12
|
-
requiredFilesLeft: number;
|
|
13
|
-
};
|
|
14
|
-
export type RequestsMetadata = RequestMetadata & {
|
|
15
|
-
requiredFilesCount: number;
|
|
16
|
-
};
|
|
17
|
-
export type GroupedCollectionsItem = RequestsMetadata & {
|
|
18
|
-
group: string | null;
|
|
19
|
-
collections: NormalizedDocumentCollectionView[];
|
|
20
|
-
};
|
|
21
|
-
export type NormalizedDocumentManagementData = TypedOmit<DocumentManagementData, 'collections' | 'documents' | 'requests' | 'categories' | 'types'> & RequestsMetadata & {
|
|
22
|
-
collections: NormalizedDocumentCollectionView[];
|
|
23
|
-
groupedCollections: GroupedCollectionsItem[];
|
|
24
|
-
documents: NormalizedDocumentView[];
|
|
25
|
-
requests: NormalizedDocumentRequestView[];
|
|
26
|
-
categories: NormalizedDocumentCategory[];
|
|
27
|
-
types: NormalizedDocumentType[];
|
|
28
|
-
};
|
|
29
|
-
export type GroupedRequestsItem = {
|
|
30
|
-
category: NormalizedDocumentCategory | null;
|
|
31
|
-
groups: ({
|
|
32
|
-
label: string | null;
|
|
33
|
-
requests: NormalizedDocumentRequestView[];
|
|
34
|
-
} & RequestsMetadata)[];
|
|
35
|
-
};
|
|
36
|
-
export type NormalizedDocumentCollectionView = DocumentCollection & RequestsMetadata & {
|
|
37
|
-
name: string | null;
|
|
38
|
-
group: string | null;
|
|
39
|
-
documents: NormalizedDocumentView[];
|
|
40
|
-
requests: NormalizedDocumentRequestView[];
|
|
41
|
-
groupedRequests: GroupedRequestsItem[];
|
|
42
|
-
};
|
|
43
|
-
export type NormalizedDocumentView = TypedOmit<DocumentView, 'typeId'> & {
|
|
44
|
-
type: NormalizedDocumentType | null;
|
|
45
|
-
file: DocumentFile;
|
|
46
|
-
};
|
|
47
|
-
export type NormalizedDocumentRequestView = TypedOmit<DocumentRequestView, 'typeId' | 'requestFiles'> & RequestMetadata & {
|
|
48
|
-
collections: NormalizedDocumentCollectionView[];
|
|
49
|
-
type: NormalizedDocumentType | null;
|
|
50
|
-
files: DocumentFile[];
|
|
51
|
-
requestFiles: NormalizedDocumentRequestFileView[];
|
|
52
|
-
};
|
|
53
|
-
export type NormalizedDocumentRequestFileView = TypedOmit<DocumentRequestFile, 'fileId'> & {
|
|
54
|
-
file: DocumentFile;
|
|
55
|
-
};
|
|
56
|
-
export type NormalizedDocumentTypeGroup = {
|
|
57
|
-
label: string | null;
|
|
58
|
-
types: NormalizedDocumentType[];
|
|
59
|
-
};
|
|
60
|
-
export type NormalizedDocumentCategory = DocumentCategory & {
|
|
61
|
-
groups: NormalizedDocumentTypeGroup[];
|
|
62
|
-
types: NormalizedDocumentType[];
|
|
63
|
-
};
|
|
64
|
-
export type NormalizedDocumentType = TypedOmit<DocumentType, 'categoryId'> & {
|
|
65
|
-
category: DocumentCategory;
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* @param primaryCollectionId - if a document request is for multiple collections, remove the primary collection from the request to avoid duplication
|
|
69
|
-
* @returns
|
|
70
|
-
*/
|
|
71
|
-
export declare function toNormalizedDocumentManagementData(data: DocumentManagementData, options?: {
|
|
72
|
-
primaryCollectionId?: string | null;
|
|
73
|
-
}): NormalizedDocumentManagementData;
|
package/document-management/models/service-models/normalized-document-collection-view.model.js
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { group, map } from '../../../utils/iterable-helpers/index.js';
|
|
2
|
-
import { assertDefinedPass, isNull, isString } from '../../../utils/type-guards.js';
|
|
3
|
-
import { distinct } from '../../../utils/array/array.js';
|
|
4
|
-
import { compareByValueSelection } from '../../../utils/comparison.js';
|
|
5
|
-
/**
|
|
6
|
-
* @param primaryCollectionId - if a document request is for multiple collections, remove the primary collection from the request to avoid duplication
|
|
7
|
-
* @returns
|
|
8
|
-
*/
|
|
9
|
-
export function toNormalizedDocumentManagementData(data, options) {
|
|
10
|
-
const normalizedTypes = data.types.map((type) => ({
|
|
11
|
-
...type,
|
|
12
|
-
category: assertDefinedPass(data.categories.find((category) => category.id == type.categoryId))
|
|
13
|
-
}));
|
|
14
|
-
const normalizedCategories = data.categories.map((category) => {
|
|
15
|
-
const categoryTypes = normalizedTypes.filter((type) => type.category.id == category.id);
|
|
16
|
-
const categoryGroups = [...group(categoryTypes, (type) => type.group)].map(([label, types]) => ({ label, types })).toSorted(compareByValueSelection(({ label }) => label));
|
|
17
|
-
return {
|
|
18
|
-
...category,
|
|
19
|
-
types: categoryTypes,
|
|
20
|
-
groups: categoryGroups
|
|
21
|
-
};
|
|
22
|
-
});
|
|
23
|
-
const normalizedDocuments = data.documents.map((document) => ({
|
|
24
|
-
...document,
|
|
25
|
-
file: assertDefinedPass(data.files.find((file) => file.id == document.fileId)),
|
|
26
|
-
type: isNull(document.typeId) ? null : assertDefinedPass(normalizedTypes.find((type) => type.id == document.typeId))
|
|
27
|
-
}));
|
|
28
|
-
const filteredRequests = isString(options?.primaryCollectionId)
|
|
29
|
-
? data.requests.map((request) => ((request.collectionIds.length >= 2) && request.collectionIds.includes(options.primaryCollectionId))
|
|
30
|
-
? { ...request, collectionIds: request.collectionIds.filter((collectionId) => collectionId != options.primaryCollectionId) }
|
|
31
|
-
: request)
|
|
32
|
-
: data.requests;
|
|
33
|
-
const normalizedDocumentRequests = filteredRequests.map((request) => ({
|
|
34
|
-
...request,
|
|
35
|
-
collections: [],
|
|
36
|
-
type: isNull(request.typeId) ? null : assertDefinedPass(normalizedTypes.find((type) => type.id == request.typeId)),
|
|
37
|
-
files: request.requestFiles.map((requestFile) => assertDefinedPass(data.files.find((file) => file.id == requestFile.fileId))),
|
|
38
|
-
requestFiles: request.requestFiles.map((requestFile) => ({
|
|
39
|
-
...requestFile,
|
|
40
|
-
file: assertDefinedPass(data.files.find((file) => file.id == requestFile.fileId))
|
|
41
|
-
})),
|
|
42
|
-
...calculateRequestMetadata(request)
|
|
43
|
-
}));
|
|
44
|
-
const normalizedCollections = data.collections.map((collection) => {
|
|
45
|
-
const collectionRequests = normalizedDocumentRequests.filter((request) => request.collectionIds.includes(collection.id));
|
|
46
|
-
const groupedCollectionRequests = [...map(group(collectionRequests, (request) => request.type?.category.id), ([categoryId, requests]) => ({
|
|
47
|
-
category: normalizedCategories.find((c) => c.id == categoryId) ?? null,
|
|
48
|
-
groups: [...map(group(requests, (request) => request.type?.group), ([groupLabel, groupRequests]) => ({ label: groupLabel ?? null, requests: groupRequests, ...calculateRequestsMetadata(groupRequests) }))]
|
|
49
|
-
}))];
|
|
50
|
-
return {
|
|
51
|
-
...collection,
|
|
52
|
-
documents: normalizedDocuments.filter((document) => document.collectionAssignments.some((assignment) => assignment.collectionId == collection.id)),
|
|
53
|
-
requests: collectionRequests,
|
|
54
|
-
groupedRequests: groupedCollectionRequests,
|
|
55
|
-
...calculateRequestsMetadata(collectionRequests)
|
|
56
|
-
};
|
|
57
|
-
});
|
|
58
|
-
for (const collection of normalizedCollections) {
|
|
59
|
-
for (const request of collection.requests) {
|
|
60
|
-
request.collections.push(collection);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
const groupedCollections = [
|
|
64
|
-
...map(group(normalizedCollections, (collection) => collection.group), ([group, collections]) => {
|
|
65
|
-
const collectionsRequests = distinct(collections.flatMap((collection) => collection.requests), (request) => request.id);
|
|
66
|
-
return {
|
|
67
|
-
group,
|
|
68
|
-
collections,
|
|
69
|
-
...calculateRequestsMetadata(collectionsRequests)
|
|
70
|
-
};
|
|
71
|
-
})
|
|
72
|
-
];
|
|
73
|
-
return {
|
|
74
|
-
...data,
|
|
75
|
-
collections: normalizedCollections,
|
|
76
|
-
groupedCollections,
|
|
77
|
-
requests: normalizedDocumentRequests,
|
|
78
|
-
documents: normalizedDocuments,
|
|
79
|
-
categories: normalizedCategories,
|
|
80
|
-
types: normalizedTypes,
|
|
81
|
-
...calculateRequestsMetadata(filteredRequests)
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
function calculateRequestsMetadata(requests) {
|
|
85
|
-
const requestMetadatas = requests.map(calculateRequestMetadata);
|
|
86
|
-
const requiredFilesCount = requests.reduce((sum, request) => (sum + request.requiredFilesCount), 0);
|
|
87
|
-
const pendingRequestFilesCount = requestMetadatas.reduce((sum, metadata) => (sum + metadata.pendingRequestFilesCount), 0);
|
|
88
|
-
const approvedRequestFilesCount = requestMetadatas.reduce((sum, metadata) => (sum + metadata.approvedRequestFilesCount), 0);
|
|
89
|
-
const rejectedRequestFilesCount = requestMetadatas.reduce((sum, metadata) => (sum + metadata.rejectedRequestFilesCount), 0);
|
|
90
|
-
const requiredFilesLeft = requestMetadatas.reduce((sum, metadata) => (sum + metadata.requiredFilesLeft), 0);
|
|
91
|
-
return {
|
|
92
|
-
requiredFilesCount,
|
|
93
|
-
pendingRequestFilesCount,
|
|
94
|
-
approvedRequestFilesCount,
|
|
95
|
-
rejectedRequestFilesCount,
|
|
96
|
-
requiredFilesLeft
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
function calculateRequestMetadata(request) {
|
|
100
|
-
const pendingRequestFilesCount = request.completed ? 0 : request.requestFiles.reduce((sum, requestFile) => (sum + (isNull(requestFile.approval) ? 1 : 0)), 0);
|
|
101
|
-
const approvedRequestFilesCount = request.requestFiles.reduce((sum, requestFile) => (sum + ((requestFile.approval == true) ? 1 : 0)), 0);
|
|
102
|
-
const rejectedRequestFilesCount = request.requestFiles.reduce((sum, requestFile) => (sum + ((requestFile.approval == false) ? 1 : 0)), 0);
|
|
103
|
-
const requiredFilesLeft = request.completed ? 0 : Math.max(0, request.requiredFilesCount - approvedRequestFilesCount);
|
|
104
|
-
return {
|
|
105
|
-
pendingRequestFilesCount,
|
|
106
|
-
approvedRequestFilesCount,
|
|
107
|
-
rejectedRequestFilesCount,
|
|
108
|
-
requiredFilesLeft
|
|
109
|
-
};
|
|
110
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { resolveValueOrProvider } from '../value-or-provider.js';
|
|
2
|
-
export function readableStreamFromPromise(promiseOrProvider) {
|
|
3
|
-
const stream = new TransformStream();
|
|
4
|
-
resolveValueOrProvider(promiseOrProvider)
|
|
5
|
-
.then(async (readable) => readable.pipeTo(stream.writable))
|
|
6
|
-
.catch(async (error) => stream.writable.abort(error));
|
|
7
|
-
return stream.readable;
|
|
8
|
-
}
|