@acorex-platform/module-document-management-client 0.0.21
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/fesm2022/acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs +7849 -0
- package/fesm2022/acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-attachment-view-skeleton.component-CEC9HdMa.mjs +27 -0
- package/fesm2022/acorex-platform-module-document-management-client-attachment-view-skeleton.component-CEC9HdMa.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-attachment-widget.component-CBpWl_FH.mjs +36 -0
- package/fesm2022/acorex-platform-module-document-management-client-attachment-widget.component-CBpWl_FH.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-contracts.mjs +313 -0
- package/fesm2022/acorex-platform-module-document-management-client-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-drive-choose.component-Deduhl99.mjs +250 -0
- package/fesm2022/acorex-platform-module-document-management-client-drive-choose.component-Deduhl99.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-large-icons-view-skeleton.component-wZG913_E.mjs +27 -0
- package/fesm2022/acorex-platform-module-document-management-client-large-icons-view-skeleton.component-wZG913_E.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-large-icons-view.component-Bv5JFRtL.mjs +30 -0
- package/fesm2022/acorex-platform-module-document-management-client-large-icons-view.component-Bv5JFRtL.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-large-tiles-view.component-DTEIhPcT.mjs +35 -0
- package/fesm2022/acorex-platform-module-document-management-client-large-tiles-view.component-DTEIhPcT.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-link-dialog.component-DXwE55QU.mjs +68 -0
- package/fesm2022/acorex-platform-module-document-management-client-link-dialog.component-DXwE55QU.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-list-view-skeleton.component-C3-7rgTu.mjs +27 -0
- package/fesm2022/acorex-platform-module-document-management-client-list-view-skeleton.component-C3-7rgTu.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-list-view.component-_r7VP4i8.mjs +30 -0
- package/fesm2022/acorex-platform-module-document-management-client-list-view.component-_r7VP4i8.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-open-document.command-BbMZf6zo.mjs +96 -0
- package/fesm2022/acorex-platform-module-document-management-client-open-document.command-BbMZf6zo.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-share-dialog.component-D0D75M7u.mjs +143 -0
- package/fesm2022/acorex-platform-module-document-management-client-share-dialog.component-D0D75M7u.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-share-email-dialog.component-CTP-r-4w.mjs +54 -0
- package/fesm2022/acorex-platform-module-document-management-client-share-email-dialog.component-CTP-r-4w.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-small-icons-view-skeleton.component-Dskk_B96.mjs +27 -0
- package/fesm2022/acorex-platform-module-document-management-client-small-icons-view-skeleton.component-Dskk_B96.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-small-icons-view.component-RMDX74O9.mjs +30 -0
- package/fesm2022/acorex-platform-module-document-management-client-small-icons-view.component-RMDX74O9.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-DQW2VZJH.mjs +27 -0
- package/fesm2022/acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-DQW2VZJH.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-small-tiles-view.component-BT6fRWVH.mjs +35 -0
- package/fesm2022/acorex-platform-module-document-management-client-small-tiles-view.component-BT6fRWVH.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client-upload-document.command-CFFOw4gM.mjs +88 -0
- package/fesm2022/acorex-platform-module-document-management-client-upload-document.command-CFFOw4gM.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-document-management-client.mjs +3 -0
- package/fesm2022/acorex-platform-module-document-management-client.mjs.map +1 -0
- package/package.json +28 -0
- package/types/acorex-platform-module-document-management-client-contracts.d.ts +375 -0
- package/types/acorex-platform-module-document-management-client.d.ts +2401 -0
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
import { AXPMultiLanguageString, AXPFileListItem, AXPMetaData, AXPCategoryEntity } from '@acorex-platform/framework-shared/core';
|
|
2
|
+
import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
|
|
3
|
+
import { AXMMetaDataBuilderValue } from '@acorex-platform/module-data-management-contracts';
|
|
4
|
+
|
|
5
|
+
declare const AXPDocumentManagementFeatureKeys: {
|
|
6
|
+
readonly MaxSizeStorage: "DocumentManagement:Feature:max-size-storage";
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
declare const AXPDocumentManagementMenuKeys: {
|
|
10
|
+
readonly DocumentTypes: "document-management:menu:document-types";
|
|
11
|
+
readonly TenantDrive: "document-management:drive:tenant";
|
|
12
|
+
readonly UserDrive: "document-management:drive:user";
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Content & Documents capabilities used by this module.
|
|
17
|
+
* Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).
|
|
18
|
+
*/
|
|
19
|
+
declare const AXPContentDocumentsPermissionKeys: {
|
|
20
|
+
readonly Access: "ContentDocuments:Permission:Access";
|
|
21
|
+
readonly MaintainDocuments: "ContentDocuments:Permission:MaintainDocuments";
|
|
22
|
+
readonly MaintainContent: "ContentDocuments:Permission:MaintainContent";
|
|
23
|
+
readonly MaintainFormTemplates: "ContentDocuments:Permission:MaintainFormTemplates";
|
|
24
|
+
readonly Setup: "ContentDocuments:Permission:Setup";
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Prefer {@link AXPContentDocumentsPermissionKeys}.
|
|
28
|
+
* Legacy nested shape kept so existing imports compile during migration.
|
|
29
|
+
*/
|
|
30
|
+
declare const AXMPermissionsKeys: {
|
|
31
|
+
readonly DocumentManagement: {
|
|
32
|
+
readonly Management: "ContentDocuments:Permission:MaintainDocuments";
|
|
33
|
+
readonly DocumentType: {
|
|
34
|
+
readonly Management: "ContentDocuments:Permission:Setup";
|
|
35
|
+
readonly View: "ContentDocuments:Permission:Setup";
|
|
36
|
+
readonly Edit: "ContentDocuments:Permission:Setup";
|
|
37
|
+
readonly Delete: "ContentDocuments:Permission:Setup";
|
|
38
|
+
readonly Create: "ContentDocuments:Permission:Setup";
|
|
39
|
+
};
|
|
40
|
+
readonly Driver: {
|
|
41
|
+
readonly Management: "ContentDocuments:Permission:MaintainDocuments";
|
|
42
|
+
readonly View: "ContentDocuments:Permission:MaintainDocuments";
|
|
43
|
+
readonly Edit: "ContentDocuments:Permission:MaintainDocuments";
|
|
44
|
+
readonly Delete: "ContentDocuments:Permission:MaintainDocuments";
|
|
45
|
+
readonly Create: "ContentDocuments:Permission:MaintainDocuments";
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Persisted setting keys for the Document Management module (`AXPSettingsService`).
|
|
52
|
+
*/
|
|
53
|
+
declare enum AXPDocumentManagementSettings {
|
|
54
|
+
ViewMode = "DocumentManagement:Setting:DocumentExplorer.Layout.ViewMode",
|
|
55
|
+
SortField = "DocumentManagement:Setting:DocumentExplorer.Layout.SortField",
|
|
56
|
+
SortDirection = "DocumentManagement:Setting:DocumentExplorer.Layout.SortDirection",
|
|
57
|
+
GroupByType = "DocumentManagement:Setting:DocumentExplorer.Layout.GroupByType",
|
|
58
|
+
DetailPanelOpen = "DocumentManagement:Setting:DocumentExplorer.Layout.DetailPanelOpen"
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
declare const AXMDocumentManagementCommandKeys: {
|
|
62
|
+
readonly DocumentExpirationNotifyRun: "DocumentManagement:DocumentExpiration:NotifyRun";
|
|
63
|
+
};
|
|
64
|
+
declare const AXM_DOCUMENT_EXPIRATION_NOTIFY_RUN_COMMAND_KEY: "DocumentManagement:DocumentExpiration:NotifyRun";
|
|
65
|
+
|
|
66
|
+
declare const RootConfig: {
|
|
67
|
+
readonly config: {
|
|
68
|
+
i18n: string;
|
|
69
|
+
module: string;
|
|
70
|
+
};
|
|
71
|
+
readonly module: {
|
|
72
|
+
readonly module: string;
|
|
73
|
+
readonly name: string;
|
|
74
|
+
readonly title: `@${string}:module.title`;
|
|
75
|
+
readonly icon: "fa-light fa-books";
|
|
76
|
+
};
|
|
77
|
+
readonly entities: {
|
|
78
|
+
readonly folder: {
|
|
79
|
+
readonly name: "Folder";
|
|
80
|
+
readonly title: `@${string}:entities.folder.title`;
|
|
81
|
+
readonly titlePlural: `@${string}:entities.folder.title-plural`;
|
|
82
|
+
readonly icon: "fa-light fa-folder";
|
|
83
|
+
};
|
|
84
|
+
readonly document: {
|
|
85
|
+
readonly name: "Document";
|
|
86
|
+
readonly title: `@${string}:entities.document.title`;
|
|
87
|
+
readonly titlePlural: `@${string}:entities.document.title-plural`;
|
|
88
|
+
readonly icon: "fa-light fa-file";
|
|
89
|
+
};
|
|
90
|
+
readonly documentType: {
|
|
91
|
+
readonly name: "DocumentType";
|
|
92
|
+
readonly title: `@${string}:entities.document-type.title`;
|
|
93
|
+
readonly titlePlural: `@${string}:entities.document-type.title-plural`;
|
|
94
|
+
readonly icon: "fa-light fa-books";
|
|
95
|
+
};
|
|
96
|
+
readonly documentShortcut: {
|
|
97
|
+
readonly name: "DocumentShortcut";
|
|
98
|
+
readonly title: `@${string}:entities.document-shortcut.title`;
|
|
99
|
+
readonly titlePlural: `@${string}:entities.document-shortcut.title-plural`;
|
|
100
|
+
readonly icon: "fa-light fa-up-right-from-square";
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
readonly queries: {
|
|
104
|
+
readonly dashboard: {
|
|
105
|
+
readonly documentsKpi: `${string}:Dashboard:DocumentsKpi`;
|
|
106
|
+
};
|
|
107
|
+
readonly reports: {
|
|
108
|
+
readonly getDocumentsByType: `${string}:Reports:GetDocumentsByType`;
|
|
109
|
+
readonly getDocumentExpiration: `${string}:Reports:GetDocumentExpiration`;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Daily document expiration notifier (BackgroundJobSchedule → NotifyRun).
|
|
114
|
+
* Template ids align with AXM_TEXT_TEMPLATE_IDS in content-management contracts.
|
|
115
|
+
*/
|
|
116
|
+
readonly documentExpirationNotify: {
|
|
117
|
+
readonly providerKey: "document-management";
|
|
118
|
+
readonly defaultCron: "0 0 * * *";
|
|
119
|
+
readonly expiredTemplateId: "c7100009-0001-4111-b111-090909090909";
|
|
120
|
+
readonly nearExpiryTemplateId: "c710000a-0001-4111-b111-0a0a0a0a0a0a";
|
|
121
|
+
readonly tenantRoleNames: readonly ["admin", "safety-manager"];
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
declare const AXMDocumentManagementQueryKeys: {
|
|
126
|
+
readonly Drive: {
|
|
127
|
+
readonly GetRoot: "DocumentManagement:Drive:GetRoot";
|
|
128
|
+
readonly GetContents: "DocumentManagement:Drive:GetContents";
|
|
129
|
+
readonly GetRootByEntityRef: "DocumentManagement:Drive:GetRootByEntityRef";
|
|
130
|
+
};
|
|
131
|
+
readonly Document: {
|
|
132
|
+
readonly GetPath: "DocumentManagement:Document:GetPath";
|
|
133
|
+
readonly Search: "DocumentManagement:Document:Search";
|
|
134
|
+
readonly FindMany: "DocumentManagement:Document:FindMany";
|
|
135
|
+
readonly GetExpiredCount: "DocumentManagement:Document:GetExpiredCount";
|
|
136
|
+
};
|
|
137
|
+
readonly Folder: {
|
|
138
|
+
readonly GetPath: "DocumentManagement:Folder:GetPath";
|
|
139
|
+
readonly Search: "DocumentManagement:Folder:Search";
|
|
140
|
+
};
|
|
141
|
+
readonly DocumentType: {
|
|
142
|
+
readonly GetByName: "DocumentManagement:DocumentType:GetByName";
|
|
143
|
+
};
|
|
144
|
+
readonly Metadata: {
|
|
145
|
+
readonly GetUniqueDefinitions: "DocumentManagement:Metadata:GetUniqueDefinitions";
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
type AXMDocumentExpirationStatus = 'expired' | 'near';
|
|
150
|
+
/**
|
|
151
|
+
* Near-expiry window (days) shared by document badge UI and expiration reports.
|
|
152
|
+
* Documents that expire within this many days (and are not yet past) are "near".
|
|
153
|
+
*/
|
|
154
|
+
declare const AXM_DOCUMENT_EXPIRATION_NEAR_DAYS = 7;
|
|
155
|
+
declare function toDocumentExpirationDate(value: unknown): Date | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* Canonical persisted value for `Document.expirationDate`.
|
|
158
|
+
* Matches `date-time-editor`: ISO string at start of local day.
|
|
159
|
+
* Seed mocks and API writes must both use this shape (never BSON `Date`).
|
|
160
|
+
*/
|
|
161
|
+
declare function toDocumentExpirationStorageValue(value: unknown): string | null | undefined;
|
|
162
|
+
/**
|
|
163
|
+
* Local-day bounds used to query expired vs near-expiry documents.
|
|
164
|
+
* - expired: expirationDate < startOfToday
|
|
165
|
+
* - near: startOfToday <= expirationDate <= nearEndInclusive
|
|
166
|
+
*/
|
|
167
|
+
declare function getDocumentExpirationQueryBounds(options?: {
|
|
168
|
+
nearDays?: number;
|
|
169
|
+
now?: Date;
|
|
170
|
+
}): {
|
|
171
|
+
startOfToday: Date;
|
|
172
|
+
nearEndInclusive: Date;
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Same bounds as {@link getDocumentExpirationQueryBounds}, serialized as ISO strings.
|
|
176
|
+
*
|
|
177
|
+
* Entity storage often persists `expirationDate` as an ISO string. Passing a `Date`
|
|
178
|
+
* into Mongo `$lt` / `$gte` compares different BSON types and under-counts matches.
|
|
179
|
+
* HTTP entity queries stringify dates automatically; in-process drive/middleware
|
|
180
|
+
* queries must use these string bounds explicitly.
|
|
181
|
+
*/
|
|
182
|
+
declare function getDocumentExpirationQueryBoundValues(options?: {
|
|
183
|
+
nearDays?: number;
|
|
184
|
+
now?: Date;
|
|
185
|
+
}): {
|
|
186
|
+
startOfToday: string;
|
|
187
|
+
nearEndInclusive: string;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Calendar day key (YYYY-MM-DD) for `date` in an IANA timezone.
|
|
191
|
+
*/
|
|
192
|
+
declare function getDocumentExpirationDateKey(date: Date, timeZone?: string): string;
|
|
193
|
+
/** Add whole calendar days to a YYYY-MM-DD key (UTC noon arithmetic). */
|
|
194
|
+
declare function addDaysToDocumentExpirationDateKey(dateKey: string, days: number): string;
|
|
195
|
+
/** Inclusive UTC day window for a YYYY-MM-DD key (for expirationDate range queries). */
|
|
196
|
+
declare function getUtcDayBoundsForDateKey(dateKey: string): {
|
|
197
|
+
start: Date;
|
|
198
|
+
endExclusive: Date;
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* Whole days from `from` to `to` (start-of-local-day). Negative means `to` is in the past.
|
|
202
|
+
*/
|
|
203
|
+
declare function getDocumentExpirationRemainingDays(expirationDate: Date, now?: Date): number;
|
|
204
|
+
/**
|
|
205
|
+
* Classify a document expire date as expired / near / neither.
|
|
206
|
+
* Uses only `Document.expirationDate` (platform field).
|
|
207
|
+
*/
|
|
208
|
+
declare function classifyDocumentExpirationStatus(expirationDate: unknown, options?: {
|
|
209
|
+
nearDays?: number;
|
|
210
|
+
now?: Date;
|
|
211
|
+
}): AXMDocumentExpirationStatus | null;
|
|
212
|
+
|
|
213
|
+
/** Document lifecycle status (EDMS-style review workflow). */
|
|
214
|
+
type AXMDocumentManagementDocumentStatus = 'draft' | 'in-review' | 'approved' | 'rejected' | 'revision-requested';
|
|
215
|
+
/** Status value constants for use in code. */
|
|
216
|
+
declare const AXMDocumentManagementDocumentStatusValues: {
|
|
217
|
+
Draft: "draft";
|
|
218
|
+
InReview: "in-review";
|
|
219
|
+
Approved: "approved";
|
|
220
|
+
Rejected: "rejected";
|
|
221
|
+
RevisionRequested: "revision-requested";
|
|
222
|
+
};
|
|
223
|
+
interface AXMDocumentDto extends AXPEntityModel<string> {
|
|
224
|
+
name: string;
|
|
225
|
+
title: string;
|
|
226
|
+
documentType: AXMDocumentDocDto;
|
|
227
|
+
parentId: string;
|
|
228
|
+
fileInfo: AXPFileListItem;
|
|
229
|
+
description?: string;
|
|
230
|
+
/** ISO string at start of local day (same as date-time-editor); `Date` accepted on write then normalized. */
|
|
231
|
+
expirationDate?: Date | string;
|
|
232
|
+
statusId?: AXMDocumentManagementDocumentStatus;
|
|
233
|
+
status?: {
|
|
234
|
+
id: AXMDocumentManagementDocumentStatus;
|
|
235
|
+
title?: string;
|
|
236
|
+
};
|
|
237
|
+
version?: number;
|
|
238
|
+
metaDataForm?: AXPMetaData;
|
|
239
|
+
/**
|
|
240
|
+
* Optional host-entity binding (same semantics as Folder.refType / Folder.refId).
|
|
241
|
+
* Stamped from the nearest ancestor folder that has a record reference.
|
|
242
|
+
*/
|
|
243
|
+
refType?: string;
|
|
244
|
+
refId?: string;
|
|
245
|
+
}
|
|
246
|
+
interface AXMDocumentDocDto {
|
|
247
|
+
id: string;
|
|
248
|
+
name: string;
|
|
249
|
+
title: AXPMultiLanguageString;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Document Shortcut entity.
|
|
254
|
+
*
|
|
255
|
+
* Lightweight link that points to a physical document or folder so the same
|
|
256
|
+
* content can appear in multiple locations (folders, entity-bound drives)
|
|
257
|
+
* without duplicating the underlying file.
|
|
258
|
+
*/
|
|
259
|
+
interface AXMDocumentShortcutEntityModel extends AXPEntityModel<string> {
|
|
260
|
+
/** Folder that visually contains this shortcut. */
|
|
261
|
+
folderId: string;
|
|
262
|
+
/**
|
|
263
|
+
* Target document id this shortcut points to.
|
|
264
|
+
* Either targetDocumentId or targetFolderId must be set.
|
|
265
|
+
*/
|
|
266
|
+
targetDocumentId?: string;
|
|
267
|
+
/**
|
|
268
|
+
* Target folder id this shortcut points to.
|
|
269
|
+
* Either targetDocumentId or targetFolderId must be set.
|
|
270
|
+
*/
|
|
271
|
+
targetFolderId?: string;
|
|
272
|
+
/**
|
|
273
|
+
* Optional display name for the shortcut.
|
|
274
|
+
* When not provided, UI may fall back to target's name.
|
|
275
|
+
*/
|
|
276
|
+
name?: string;
|
|
277
|
+
/**
|
|
278
|
+
* Optional description to show in detail panels or tooltips.
|
|
279
|
+
*/
|
|
280
|
+
description?: string;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
interface DocumentTypeFileOutput {
|
|
284
|
+
selectedItems: Array<{
|
|
285
|
+
name: string;
|
|
286
|
+
title: string;
|
|
287
|
+
icon: string;
|
|
288
|
+
}>;
|
|
289
|
+
context: {
|
|
290
|
+
[key: string]: any;
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
interface AXMDocumentManagementDocumentTypeEntityModel extends AXPEntityModel<string> {
|
|
294
|
+
name: string;
|
|
295
|
+
title: AXPMultiLanguageString;
|
|
296
|
+
description?: AXPMultiLanguageString;
|
|
297
|
+
isEncrypted: boolean;
|
|
298
|
+
enableVersioning: boolean;
|
|
299
|
+
enableExpiration: boolean;
|
|
300
|
+
requiresReview: boolean;
|
|
301
|
+
reviewFirst?: boolean;
|
|
302
|
+
/** Metadata field definitions (meta-data-builder value; used by meta-data-form-editor). */
|
|
303
|
+
metaDataList?: AXMMetaDataBuilderValue;
|
|
304
|
+
type: DocumentTypeFileOutput;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
type AXMDocumentInheritanceType = 'Extends' | 'Inherited' | 'None';
|
|
308
|
+
/**
|
|
309
|
+
* Document Management Folder - Extends category substructure for consistency with platform
|
|
310
|
+
*
|
|
311
|
+
* Inherited from AXPCategoryEntity:
|
|
312
|
+
* - id, title, description?, parentId?
|
|
313
|
+
* - childrenCount (direct subfolders count)
|
|
314
|
+
* - itemsCount? (direct documents + shortcuts count)
|
|
315
|
+
* - expiredItemsCount? (documents past expirationDate in this folder subtree)
|
|
316
|
+
* - nearExpiryItemsCount? (documents in the near-expiry window in this folder subtree)
|
|
317
|
+
* - totalChildrenCount?, totalItemsCount? (optional, for analytics)
|
|
318
|
+
*
|
|
319
|
+
* Folder-specific: color, documentTypes, inherit, size, parent, folders, documents.
|
|
320
|
+
* Optional refId/refType link this folder to an entity record (e.g. for entity-scoped drive plugin).
|
|
321
|
+
*/
|
|
322
|
+
interface AXMDocumentManagementFolderEntityModel extends AXPEntityModel<string>, AXPCategoryEntity<string> {
|
|
323
|
+
color: string;
|
|
324
|
+
documentTypes?: AXMDocumentManagementDocumentTypeEntityModel[];
|
|
325
|
+
inherit: AXMDocumentInheritanceType;
|
|
326
|
+
size: number;
|
|
327
|
+
/**
|
|
328
|
+
* Subtree aggregate: expired documents in this folder and nested folders (denormalized).
|
|
329
|
+
* = direct expired documents + sum(child.expiredItemsCount).
|
|
330
|
+
*/
|
|
331
|
+
expiredItemsCount?: number;
|
|
332
|
+
/**
|
|
333
|
+
* Subtree aggregate: near-expiry documents in this folder and nested folders (denormalized).
|
|
334
|
+
* = direct near documents + sum(child.nearExpiryItemsCount).
|
|
335
|
+
*/
|
|
336
|
+
nearExpiryItemsCount?: number;
|
|
337
|
+
/** Optional: entity type (e.g. "content-management.promotion") this folder is bound to. */
|
|
338
|
+
refType?: string;
|
|
339
|
+
/** Optional: entity record id this folder is bound to. */
|
|
340
|
+
refId?: string;
|
|
341
|
+
parent?: AXMDocumentManagementFolderEntityModel;
|
|
342
|
+
folders?: AXMDocumentManagementFolderEntityModel[];
|
|
343
|
+
documents?: AXMDocumentDto[];
|
|
344
|
+
/**
|
|
345
|
+
* Optional: shortcuts that visually live in this folder and point to documents/folders elsewhere.
|
|
346
|
+
*/
|
|
347
|
+
shortcuts?: AXMDocumentShortcutEntityModel[];
|
|
348
|
+
}
|
|
349
|
+
interface AXMDocumentManagementFolderCreateDto {
|
|
350
|
+
title: string;
|
|
351
|
+
color: string;
|
|
352
|
+
description?: string;
|
|
353
|
+
parentId?: string;
|
|
354
|
+
documentTypes?: AXMDocumentManagementDocumentTypeEntityModel[];
|
|
355
|
+
inherit: AXMDocumentInheritanceType;
|
|
356
|
+
/** Optional; when not provided, backend may set to 0 or compute. */
|
|
357
|
+
size?: number;
|
|
358
|
+
/** Optional; used for tenant-scoped folder creation. */
|
|
359
|
+
tenantId?: string;
|
|
360
|
+
/** Optional; used for user-scoped folder creation. */
|
|
361
|
+
userId?: string;
|
|
362
|
+
/** Optional; entity type (e.g. "content-management.promotion") to bind folder to. */
|
|
363
|
+
refType?: string;
|
|
364
|
+
/** Optional; entity record id to bind folder to. */
|
|
365
|
+
refId?: string;
|
|
366
|
+
}
|
|
367
|
+
interface AXMDocumentManagementFolderGetDto extends AXMDocumentManagementFolderEntityModel {
|
|
368
|
+
parent?: AXMDocumentManagementFolderEntityModel;
|
|
369
|
+
folders?: AXMDocumentManagementFolderEntityModel[];
|
|
370
|
+
documents?: AXMDocumentDto[];
|
|
371
|
+
shortcuts?: AXMDocumentShortcutEntityModel[];
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
export { AXMDocumentManagementCommandKeys, AXMDocumentManagementDocumentStatusValues, AXMDocumentManagementQueryKeys, AXMPermissionsKeys, AXM_DOCUMENT_EXPIRATION_NEAR_DAYS, AXM_DOCUMENT_EXPIRATION_NOTIFY_RUN_COMMAND_KEY, AXPContentDocumentsPermissionKeys, AXPDocumentManagementFeatureKeys, AXPDocumentManagementMenuKeys, AXPDocumentManagementSettings, RootConfig, addDaysToDocumentExpirationDateKey, classifyDocumentExpirationStatus, getDocumentExpirationDateKey, getDocumentExpirationQueryBoundValues, getDocumentExpirationQueryBounds, getDocumentExpirationRemainingDays, getUtcDayBoundsForDateKey, toDocumentExpirationDate, toDocumentExpirationStorageValue };
|
|
375
|
+
export type { AXMDocumentDocDto, AXMDocumentDto, AXMDocumentExpirationStatus, AXMDocumentInheritanceType, AXMDocumentManagementDocumentStatus, AXMDocumentManagementDocumentTypeEntityModel, AXMDocumentManagementFolderCreateDto, AXMDocumentManagementFolderEntityModel, AXMDocumentManagementFolderGetDto, AXMDocumentShortcutEntityModel, DocumentTypeFileOutput };
|