@tstdl/base 0.91.50 → 0.91.52
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/data-extracting.d.ts +1 -0
- package/ai/data-extracting.js +62 -0
- package/authentication/server/authentication.api-controller.js +4 -4
- package/cancellation/token.d.ts +1 -2
- package/cancellation/token.js +1 -1
- package/core.d.ts +1 -1
- package/core.js +1 -1
- package/document-management/api/document-management.api.d.ts +753 -0
- package/document-management/api/document-management.api.js +222 -0
- package/document-management/api/index.d.ts +1 -0
- package/document-management/api/index.js +1 -0
- package/document-management/drizzle/0000_wakeful_firebrand.sql +228 -0
- package/document-management/drizzle/meta/0000_snapshot.json +1538 -0
- package/document-management/drizzle/meta/_journal.json +13 -0
- package/document-management/drizzle.config.d.ts +2 -0
- package/document-management/drizzle.config.js +11 -0
- package/document-management/index.d.ts +5 -0
- package/document-management/index.js +5 -0
- package/document-management/localizations/english.d.ts +2 -0
- package/document-management/localizations/english.js +9 -0
- package/document-management/localizations/german.d.ts +2 -0
- package/document-management/localizations/german.js +9 -0
- package/document-management/localizations/index.d.ts +5 -0
- package/document-management/localizations/index.js +9 -0
- package/document-management/localizations/localization.d.ts +9 -0
- package/document-management/localizations/localization.js +2 -0
- package/document-management/models/document-category.model.d.ts +4 -0
- package/document-management/models/document-category.model.js +18 -0
- package/document-management/models/document-collection-document.model.d.ts +7 -0
- package/document-management/models/document-collection-document.model.js +33 -0
- package/document-management/models/document-collection.model.d.ts +3 -0
- package/document-management/models/document-collection.model.js +14 -0
- package/document-management/models/document-file.model.d.ts +7 -0
- package/document-management/models/document-file.model.js +33 -0
- package/document-management/models/document-property-value.model.d.ts +21 -0
- package/document-management/models/document-property-value.model.js +58 -0
- package/document-management/models/document-property.model.d.ts +11 -0
- package/document-management/models/document-property.model.js +30 -0
- package/document-management/models/document-request-collection.model.d.ts +6 -0
- package/document-management/models/document-request-collection.model.js +28 -0
- package/document-management/models/document-request-file.model.d.ts +11 -0
- package/document-management/models/document-request-file.model.js +56 -0
- package/document-management/models/document-request-template.d.ts +10 -0
- package/document-management/models/document-request-template.js +39 -0
- package/document-management/models/document-request.model.d.ts +9 -0
- package/document-management/models/document-request.model.js +37 -0
- package/document-management/models/document-requests-template.d.ts +5 -0
- package/document-management/models/document-requests-template.js +23 -0
- package/document-management/models/document-type-property.model.d.ts +6 -0
- package/document-management/models/document-type-property.model.js +28 -0
- package/document-management/models/document-type.model.d.ts +7 -0
- package/document-management/models/document-type.model.js +32 -0
- package/document-management/models/document.model.d.ts +9 -0
- package/document-management/models/document.model.js +44 -0
- package/document-management/models/index.d.ts +15 -0
- package/document-management/models/index.js +15 -0
- package/document-management/models/schemas.d.ts +33 -0
- package/document-management/models/schemas.js +34 -0
- package/document-management/models/service-models/categories-and-types.view-model.d.ts +6 -0
- package/document-management/models/service-models/categories-and-types.view-model.js +24 -0
- package/document-management/models/service-models/document-folders.view-model.d.ts +22 -0
- package/document-management/models/service-models/document-folders.view-model.js +56 -0
- package/document-management/models/service-models/document-requests-template.view-model.d.ts +8 -0
- package/document-management/models/service-models/document-requests-template.view-model.js +26 -0
- package/document-management/models/service-models/document.service-model.d.ts +262 -0
- package/document-management/models/service-models/document.service-model.js +50 -0
- package/document-management/models/service-models/document.view-model.d.ts +33 -0
- package/document-management/models/service-models/document.view-model.js +99 -0
- package/document-management/models/service-models/index.d.ts +8 -0
- package/document-management/models/service-models/index.js +8 -0
- package/document-management/models/service-models/normalized-document-collection-view.model.d.ts +73 -0
- package/document-management/models/service-models/normalized-document-collection-view.model.js +110 -0
- package/document-management/models/service-models/normalized-requests-template-data.model.d.ts +16 -0
- package/document-management/models/service-models/normalized-requests-template-data.model.js +13 -0
- package/document-management/models/service-models/stats.view-model.d.ts +6 -0
- package/document-management/models/service-models/stats.view-model.js +32 -0
- package/document-management/module.d.ts +11 -0
- package/document-management/module.js +27 -0
- package/document-management/services/document-management.service.d.ts +65 -0
- package/document-management/services/document-management.service.js +376 -0
- package/document-management/services/index.d.ts +1 -0
- package/document-management/services/index.js +1 -0
- package/examples/document-management/main.d.ts +1 -0
- package/examples/document-management/main.js +30 -0
- package/examples/orm/drizzle.config.js +2 -1
- package/examples/orm/schemas.d.ts +1 -1
- package/examples/orm/user.model.d.ts +1 -2
- package/examples/orm/user.model.js +0 -1
- package/http/server/node/node-http-server.js +5 -5
- package/injector/injector.d.ts +4 -1
- package/injector/injector.js +4 -1
- package/injector/interfaces.d.ts +3 -3
- package/json-path/json-path.d.ts +2 -0
- package/json-path/json-path.js +7 -0
- package/message-bus/message-bus.d.ts +4 -6
- package/orm/database-schema.d.ts +3 -0
- package/orm/database-schema.js +6 -2
- package/orm/database.d.ts +6 -0
- package/orm/database.js +14 -0
- package/orm/decorators.d.ts +25 -2
- package/orm/decorators.js +15 -0
- package/orm/drizzle/index.d.ts +1 -0
- package/orm/drizzle/index.js +1 -0
- package/orm/drizzle/schema-converter.d.ts +37 -8
- package/orm/drizzle/schema-converter.js +121 -40
- package/orm/entity.d.ts +15 -12
- package/orm/entity.js +24 -11
- package/orm/index.d.ts +3 -2
- package/orm/index.js +3 -2
- package/orm/module.d.ts +6 -0
- package/orm/module.js +15 -0
- package/orm/query-converter.d.ts +5 -0
- package/orm/query-converter.js +114 -0
- package/orm/query.d.ts +15 -13
- package/orm/repository.d.ts +90 -31
- package/orm/repository.js +357 -55
- package/orm/schemas/index.d.ts +3 -0
- package/orm/schemas/index.js +3 -0
- package/orm/schemas/json.d.ts +9 -0
- package/orm/schemas/json.js +19 -0
- package/orm/schemas/numeric-date.d.ts +8 -0
- package/orm/schemas/numeric-date.js +13 -0
- package/orm/schemas/timestamp.d.ts +10 -0
- package/orm/schemas/timestamp.js +20 -0
- package/orm/transaction.d.ts +29 -0
- package/orm/transaction.js +73 -0
- package/orm/types.d.ts +15 -8
- package/orm/types.js +3 -2
- package/package.json +23 -12
- package/{rxjs → rxjs-utils}/reject-error.d.ts +1 -1
- package/{rxjs → rxjs-utils}/retry-backoff.d.ts +2 -2
- package/{rxjs → rxjs-utils}/slow-array.d.ts +7 -7
- package/{rxjs → rxjs-utils}/slow-array.js +2 -2
- package/{rxjs → rxjs-utils}/start-with-provider.d.ts +1 -1
- package/{rxjs → rxjs-utils}/teardown.d.ts +1 -1
- package/{rxjs → rxjs-utils}/untrack.d.ts +1 -1
- package/schema/decorators/types.d.ts +2 -2
- package/schema/schemas/number.d.ts +1 -1
- package/signals/pipe.d.ts +1 -1
- package/signals/pipe.js +1 -2
- package/sse/server-sent-events.d.ts +54 -0
- package/sse/server-sent-events.js +54 -0
- package/types.d.ts +5 -1
- package/utils/comparison.d.ts +2 -1
- package/utils/comparison.js +4 -3
- package/utils/compression.d.ts +4 -4
- package/utils/compression.js +35 -43
- package/utils/object/dereference.d.ts +6 -4
- package/utils/object/dereference.js +20 -8
- package/utils/object/object.d.ts +2 -0
- package/utils/object/object.js +20 -0
- /package/{rxjs → rxjs-utils}/cast.d.ts +0 -0
- /package/{rxjs → rxjs-utils}/cast.js +0 -0
- /package/{rxjs → rxjs-utils}/index.d.ts +0 -0
- /package/{rxjs → rxjs-utils}/index.js +0 -0
- /package/{rxjs → rxjs-utils}/noop.d.ts +0 -0
- /package/{rxjs → rxjs-utils}/noop.js +0 -0
- /package/{rxjs → rxjs-utils}/reject-error.js +0 -0
- /package/{rxjs → rxjs-utils}/retry-backoff.js +0 -0
- /package/{rxjs → rxjs-utils}/start-with-provider.js +0 -0
- /package/{rxjs → rxjs-utils}/teardown.js +0 -0
- /package/{rxjs → rxjs-utils}/timing.d.ts +0 -0
- /package/{rxjs → rxjs-utils}/timing.js +0 -0
- /package/{rxjs → rxjs-utils}/untrack.js +0 -0
package/document-management/models/service-models/normalized-document-collection-view.model.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
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
|
+
}
|
package/document-management/models/service-models/normalized-requests-template-data.model.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TypedOmit } from '../../../types.js';
|
|
2
|
+
import type { DocumentRequestTemplate } from '../document-request-template.js';
|
|
3
|
+
import type { DocumentRequestsTemplateData, DocumentRequestsTemplateView } from './document-requests-template.view-model.js';
|
|
4
|
+
import type { NormalizedDocumentCategory, NormalizedDocumentManagementData, NormalizedDocumentType } from './normalized-document-collection-view.model.js';
|
|
5
|
+
export type NormalizedDocumentRequestsTemplateData = TypedOmit<DocumentRequestsTemplateData, 'templates'> & {
|
|
6
|
+
templates: NormalizedDocumentRequestsTemplateView[];
|
|
7
|
+
categories: NormalizedDocumentCategory[];
|
|
8
|
+
types: NormalizedDocumentType[];
|
|
9
|
+
};
|
|
10
|
+
export type NormalizedDocumentRequestsTemplateView = TypedOmit<DocumentRequestsTemplateView, 'requestTemplates'> & {
|
|
11
|
+
requestTemplates: NormalizedDocumentRequestTemplate[];
|
|
12
|
+
};
|
|
13
|
+
export type NormalizedDocumentRequestTemplate = TypedOmit<DocumentRequestTemplate, 'typeId'> & {
|
|
14
|
+
type: NormalizedDocumentType | null;
|
|
15
|
+
};
|
|
16
|
+
export declare function toNormalizedDocumentRequestsTemplateData(templateData: DocumentRequestsTemplateData, documentManagementData: NormalizedDocumentManagementData): NormalizedDocumentRequestsTemplateData;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function toNormalizedDocumentRequestsTemplateData(templateData, documentManagementData) {
|
|
2
|
+
return {
|
|
3
|
+
templates: templateData.templates.map((template) => ({
|
|
4
|
+
...template,
|
|
5
|
+
requestTemplates: template.requestTemplates.map((requestTemplate) => ({
|
|
6
|
+
...requestTemplate,
|
|
7
|
+
type: documentManagementData.types.find((type) => type.id == requestTemplate.typeId) ?? null
|
|
8
|
+
}))
|
|
9
|
+
})),
|
|
10
|
+
categories: documentManagementData.categories,
|
|
11
|
+
types: documentManagementData.types
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { NumberProperty } from '../../../schema/index.js';
|
|
11
|
+
export class RequestFilesStats {
|
|
12
|
+
requiredFilesCount;
|
|
13
|
+
requiredFilesLeft;
|
|
14
|
+
pendingFilesCount;
|
|
15
|
+
approvedFilesCount;
|
|
16
|
+
}
|
|
17
|
+
__decorate([
|
|
18
|
+
NumberProperty(),
|
|
19
|
+
__metadata("design:type", Number)
|
|
20
|
+
], RequestFilesStats.prototype, "requiredFilesCount", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
NumberProperty(),
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
|
+
], RequestFilesStats.prototype, "requiredFilesLeft", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
NumberProperty(),
|
|
27
|
+
__metadata("design:type", Number)
|
|
28
|
+
], RequestFilesStats.prototype, "pendingFilesCount", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
NumberProperty(),
|
|
31
|
+
__metadata("design:type", Number)
|
|
32
|
+
], RequestFilesStats.prototype, "approvedFilesCount", void 0);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import './models/schemas.js';
|
|
2
|
+
import { type InjectionToken } from '../injector/index.js';
|
|
3
|
+
import type { DatabaseConfig } from '../orm/module.js';
|
|
4
|
+
import { DocumentManagementService } from './services/document-management.service.js';
|
|
5
|
+
export declare class DocumentManagementConfig {
|
|
6
|
+
fileObjectStorageModule: string;
|
|
7
|
+
database: DatabaseConfig;
|
|
8
|
+
customService?: InjectionToken<DocumentManagementService>;
|
|
9
|
+
}
|
|
10
|
+
export declare function configureDocumentManagement(config: DocumentManagementConfig): void;
|
|
11
|
+
export declare function migrateDocumentManagementSchema(): Promise<void>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import './models/schemas.js';
|
|
2
|
+
import { migrate } from 'drizzle-orm/node-postgres/migrator';
|
|
3
|
+
import { inject, Injector } from '../injector/index.js';
|
|
4
|
+
import { Database } from '../orm/database.js';
|
|
5
|
+
import { isDefined } from '../utils/type-guards.js';
|
|
6
|
+
import { DocumentManagementService } from './services/document-management.service.js';
|
|
7
|
+
export class DocumentManagementConfig {
|
|
8
|
+
fileObjectStorageModule;
|
|
9
|
+
database;
|
|
10
|
+
customService;
|
|
11
|
+
}
|
|
12
|
+
;
|
|
13
|
+
export function configureDocumentManagement(config) {
|
|
14
|
+
Injector.register(DocumentManagementConfig, { useValue: config });
|
|
15
|
+
if (isDefined(config.customService)) {
|
|
16
|
+
Injector.register(DocumentManagementService, { useToken: config.customService });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function migrateDocumentManagementSchema() {
|
|
20
|
+
const config = inject(DocumentManagementConfig);
|
|
21
|
+
const database = inject(Database, config.database.connection);
|
|
22
|
+
await migrate(database, {
|
|
23
|
+
migrationsSchema: 'document_management',
|
|
24
|
+
migrationsTable: '_migrations',
|
|
25
|
+
migrationsFolder: import.meta.resolve('./drizzle').replace('file://', '')
|
|
26
|
+
});
|
|
27
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Resolvable, resolveArgumentType } from '../../injector/index.js';
|
|
2
|
+
import { ObjectStorage } from '../../object-storage/index.js';
|
|
3
|
+
import { Query, Transaction } from '../../orm/index.js';
|
|
4
|
+
import { OneOrMany } from '../../types.js';
|
|
5
|
+
import { AddOrArchiveDocumentToOrFromCollectionParameters, ApplyDocumentRequestsTemplateParameters, ApproveDocumentRequestFileParameters, AssignPropertyToTypeParameters, CategoryAndTypesView, CreateCollectionParameters, CreateDocumentCategoryParameters, CreateDocumentParameters, CreateDocumentPropertyParameters, CreateDocumentRequestFileParameters, CreateDocumentRequestParameters, CreateDocumentRequestTemplateParameters, CreateDocumentRequestsTemplateParameters, CreateDocumentTypeParameters, DeleteDocumentRequestFileParameters, DeleteDocumentRequestParameters, DeleteDocumentRequestTemplateParameters, DeleteDocumentRequestsTemplateParameters, Document, DocumentCategory, DocumentCollection, DocumentCollectionDocument, DocumentFile, DocumentManagementData, DocumentProperty, DocumentPropertyBooleanValue, DocumentPropertyDataType, DocumentPropertyDecimalValue, DocumentPropertyIntegerValue, DocumentPropertyTextValue, DocumentRequest, DocumentRequestCollection, DocumentRequestFile, DocumentRequestTemplate, DocumentRequestsTemplate, DocumentRequestsTemplateData, DocumentType, DocumentTypeProperty, LoadDataCollectionsMetadataParameters, RejectDocumentRequestFileParameters, RequestFilesStats, SetDocumentPropertiesParameters, UpdateDocumentParameters, UpdateDocumentRequestFileParameters, UpdateDocumentRequestParameters, UpdateDocumentRequestTemplateParameters, UpdateDocumentRequestsTemplateParameters } from '../models/index.js';
|
|
6
|
+
import { DocumentManagementConfig } from '../module.js';
|
|
7
|
+
export type DocumentServiceArgument = DocumentManagementConfig;
|
|
8
|
+
export declare class DocumentManagementService implements Resolvable<DocumentServiceArgument> {
|
|
9
|
+
protected readonly documentService: import("../../orm/index.js").EntityRepository<Document>;
|
|
10
|
+
protected readonly documentFileService: import("../../orm/index.js").EntityRepository<DocumentFile>;
|
|
11
|
+
protected readonly documentCollectionService: import("../../orm/index.js").EntityRepository<DocumentCollection>;
|
|
12
|
+
protected readonly documentCategoryService: import("../../orm/index.js").EntityRepository<DocumentCategory>;
|
|
13
|
+
protected readonly documentTypeService: import("../../orm/index.js").EntityRepository<DocumentType>;
|
|
14
|
+
protected readonly documentRequestService: import("../../orm/index.js").EntityRepository<DocumentRequest>;
|
|
15
|
+
protected readonly documentRequestsTemplateService: import("../../orm/index.js").EntityRepository<DocumentRequestsTemplate>;
|
|
16
|
+
protected readonly documentRequestTemplateService: import("../../orm/index.js").EntityRepository<DocumentRequestTemplate>;
|
|
17
|
+
protected readonly documentRequestCollectionService: import("../../orm/index.js").EntityRepository<DocumentRequestCollection>;
|
|
18
|
+
protected readonly documentRequestFileService: import("../../orm/index.js").EntityRepository<DocumentRequestFile>;
|
|
19
|
+
protected readonly documentPropertyService: import("../../orm/index.js").EntityRepository<DocumentProperty>;
|
|
20
|
+
protected readonly documentTypePropertyService: import("../../orm/index.js").EntityRepository<DocumentTypeProperty>;
|
|
21
|
+
protected readonly documentPropertyTextValueService: import("../../orm/index.js").EntityRepository<DocumentPropertyTextValue>;
|
|
22
|
+
protected readonly documentPropertyIntegerValueService: import("../../orm/index.js").EntityRepository<DocumentPropertyIntegerValue>;
|
|
23
|
+
protected readonly documentPropertyDecimalValueService: import("../../orm/index.js").EntityRepository<DocumentPropertyDecimalValue>;
|
|
24
|
+
protected readonly documentPropertyBooleanValueService: import("../../orm/index.js").EntityRepository<DocumentPropertyBooleanValue>;
|
|
25
|
+
protected readonly documentCollectionDocumentService: import("../../orm/index.js").EntityRepository<DocumentCollectionDocument>;
|
|
26
|
+
protected readonly fileObjectStorage: ObjectStorage;
|
|
27
|
+
readonly [resolveArgumentType]: DocumentServiceArgument;
|
|
28
|
+
loadData(collectionIds: string[], collectionsMetadata?: LoadDataCollectionsMetadataParameters): Promise<DocumentManagementData>;
|
|
29
|
+
loadDocumentRequestsTemplateData(): Promise<DocumentRequestsTemplateData>;
|
|
30
|
+
loadCategoriesAndTypes(): Promise<CategoryAndTypesView>;
|
|
31
|
+
loadDocument(id: string): Promise<Document>;
|
|
32
|
+
loadDocumentFile(id: string): Promise<DocumentFile>;
|
|
33
|
+
loadType(id: string): Promise<DocumentType>;
|
|
34
|
+
getFileContentUrl(fileId: string, title: string | null, download?: boolean): Promise<string>;
|
|
35
|
+
createCategory(parameters: CreateDocumentCategoryParameters): Promise<DocumentCategory>;
|
|
36
|
+
createType(parameters: CreateDocumentTypeParameters): Promise<DocumentType>;
|
|
37
|
+
createCollection(parameters?: CreateCollectionParameters): Promise<DocumentCollection>;
|
|
38
|
+
collectionHasDocumentByFilter(collectionId: string, filter: Query<Document>): Promise<boolean>;
|
|
39
|
+
getRequestFilesStats(collectionIds: OneOrMany<string>): Promise<RequestFilesStats>;
|
|
40
|
+
createDocumentRequestsTemplate(parameters: CreateDocumentRequestsTemplateParameters): Promise<DocumentRequestsTemplate>;
|
|
41
|
+
updateDocumentRequestsTemplate({ id, label, metadata }: UpdateDocumentRequestsTemplateParameters): Promise<DocumentRequestsTemplate>;
|
|
42
|
+
applyDocumentRequestsTemplate({ id, collectionIds, metadata }: ApplyDocumentRequestsTemplateParameters): Promise<void>;
|
|
43
|
+
deleteDocumentRequestsTemplate(parameters: DeleteDocumentRequestsTemplateParameters): Promise<DocumentRequestsTemplate>;
|
|
44
|
+
createDocumentRequestTemplate(parameters: CreateDocumentRequestTemplateParameters): Promise<DocumentRequestTemplate>;
|
|
45
|
+
updateDocumentRequestTemplate({ id, typeId, requiredFilesCount, comment, metadata }: UpdateDocumentRequestTemplateParameters): Promise<DocumentRequestTemplate>;
|
|
46
|
+
deleteDocumentRequestTemplate(parameters: DeleteDocumentRequestTemplateParameters): Promise<DocumentRequestTemplate>;
|
|
47
|
+
createDocument({ typeId, addition, date, expiration, originalFileName, collectionIds, properties, metadata }: CreateDocumentParameters, content: Uint8Array | ReadableStream<Uint8Array>): Promise<Document>;
|
|
48
|
+
approveDocumentRequestFile({ id, approvalComment, documentMetadata, requestFileMetadata }: ApproveDocumentRequestFileParameters): Promise<Document>;
|
|
49
|
+
rejectDocumentRequestFile({ id, approvalComment, metadata }: RejectDocumentRequestFileParameters): Promise<void>;
|
|
50
|
+
updateDocumentRequestFile({ id, addition, approvalComment, metadata }: UpdateDocumentRequestFileParameters): Promise<DocumentRequestFile>;
|
|
51
|
+
deleteDocumentRequestFile({ id, metadata }: DeleteDocumentRequestFileParameters): Promise<void>;
|
|
52
|
+
createDocumentFile(content: Uint8Array | ReadableStream<Uint8Array>, originalFileName: string | null, dbTransaction?: Transaction): Promise<DocumentFile>;
|
|
53
|
+
createDocumentRequestFile({ requestId, addition, originalFileName, metadata }: CreateDocumentRequestFileParameters, content: Uint8Array | ReadableStream<Uint8Array>): Promise<DocumentRequestFile>;
|
|
54
|
+
createDocumentRequest(parameters: CreateDocumentRequestParameters, transaction?: Transaction): Promise<DocumentRequest>;
|
|
55
|
+
updateDocument(parameters: UpdateDocumentParameters, transaction?: Transaction): Promise<void>;
|
|
56
|
+
updateDocumentRequest(parameters: UpdateDocumentRequestParameters, transaction?: Transaction): Promise<void>;
|
|
57
|
+
deleteDocumentRequest({ id, metadata }: DeleteDocumentRequestParameters, transaction?: Transaction): Promise<void>;
|
|
58
|
+
setDocumentProperties(setDocumentPropertyItems: SetDocumentPropertiesParameters, transaction?: Transaction): Promise<void>;
|
|
59
|
+
addDocumentToCollection(parameters: AddOrArchiveDocumentToOrFromCollectionParameters, transaction?: Transaction): Promise<void>;
|
|
60
|
+
archiveDocument({ collectionId, documentId, metadata }: AddOrArchiveDocumentToOrFromCollectionParameters): Promise<void>;
|
|
61
|
+
createProperty(parameters: CreateDocumentPropertyParameters): Promise<DocumentProperty>;
|
|
62
|
+
assignPropertyToType(parameters: AssignPropertyToTypeParameters): Promise<void>;
|
|
63
|
+
protected getDocumentPropertyValueService(dataType: DocumentPropertyDataType): import("../../orm/index.js").EntityRepository<DocumentPropertyTextValue> | import("../../orm/index.js").EntityRepository<DocumentPropertyIntegerValue> | import("../../orm/index.js").EntityRepository<DocumentPropertyBooleanValue>;
|
|
64
|
+
protected getDocumentFileContentObjectUrl(title: string, file: DocumentFile, download: boolean): Promise<string>;
|
|
65
|
+
}
|