@contractspec/lib.files 1.46.1 → 1.47.0
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/dist/contracts/index.d.ts +291 -291
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/entities/index.d.ts +133 -133
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/events.d.ts +118 -118
- package/dist/events.d.ts.map +1 -1
- package/dist/files.capability.d.ts +8 -0
- package/dist/files.capability.d.ts.map +1 -0
- package/dist/files.capability.js +25 -0
- package/dist/files.capability.js.map +1 -0
- package/dist/files.feature.d.ts +4 -4
- package/dist/files.feature.d.ts.map +1 -1
- package/dist/files.feature.js +12 -5
- package/dist/files.feature.js.map +1 -1
- package/dist/storage/index.js.map +1 -1
- package/package.json +7 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/contracts/index.ts"],"sourcesContent":[],"mappings":";;;;cAOa,uCAAS;;UAwBpB,2BAAA,CAAA;;EAxBW,CAAA;EAwBX,IAAA,EAAA;;;;;;;;;;;;;;;;;;;EAxBoB,CAAA;EA0BT,QAAA,EAAA;IAcX,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;EAd2B,OAAA,EAAA;IAgBhB,IAAA,uCAoBX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;cApCW,8CAAgB;;UAc3B,2BAAA,CAAA;;;EAE0B,MAAA,EAAA;IAsBf,IAAA,uCAUX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;IAV4B,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IA+LjB,UAAA,EAAA,KAgCX;EAAA,CAAA;;;;;;;;;EAhC6B,OAAA,EAAA;;;;;;;;;;;;;cArNlB,6CAAe;;UAoB1B,2BAAA,CAAA;;;;+CAiM6B,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAqClB,CAAA;EA0BX,UAAA,EAAA;;;;;+CA1B6B,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;+CAAA,CAAA,OAAA,EAAA,OAAA,CAAA;IAAA,UAAA,EAAA,IAAA;EA+BlB,CAAA;EA0BX,SAAA,EAAA;+CA1B6B,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;IAAA,IAAA,uCAAA,KAAA,EAAA,MAAA,CAAA;IA+BlB,UAAA,EAAA,KA0BX;EAAA,CAAA;;IA1B0B,IAAA,yCAAA,CAAA;;;;;;;;;;;;;;;;;;;yBAAA;MAAA,CAAA;MA+Bf,WAAA,EAkBX;QAAA,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;QAlB4B,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;wBAAA;MAAA,CAAA;MAuBjB,MAAA,EAAA;QA0BX,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;MA1BiC,SAAA,EAAA;;;;;;;;IAAA,CAAA,CAAA;IA+BtB,UAAA,EAAA,IAAA;EA0BX,CAAA;;cAjZW,+CAAiB;;IAuXI,IAAA,EA7WhC,2BAAA,CAAA,SA6WgC,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;;IAAA,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IA+BrB,UAAA,EAAA,IAAA;EA0BX,CAAA;;;;EA1B8B,CAAA;;;;;cAvNnB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/contracts/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/entities/index.d.ts
CHANGED
|
@@ -1,164 +1,164 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
|
|
2
2
|
import { ModuleSchemaContribution } from "@contractspec/lib.schema";
|
|
3
3
|
|
|
4
4
|
//#region src/entities/index.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Storage provider enum.
|
|
7
7
|
*/
|
|
8
|
-
declare const StorageProviderEnum:
|
|
8
|
+
declare const StorageProviderEnum: _contractspec_lib_schema0.EntityEnumDef;
|
|
9
9
|
/**
|
|
10
10
|
* File status enum.
|
|
11
11
|
*/
|
|
12
|
-
declare const FileStatusEnum:
|
|
12
|
+
declare const FileStatusEnum: _contractspec_lib_schema0.EntityEnumDef;
|
|
13
13
|
/**
|
|
14
14
|
* File entity - represents an uploaded file.
|
|
15
15
|
*/
|
|
16
|
-
declare const FileEntity:
|
|
17
|
-
id:
|
|
18
|
-
name:
|
|
19
|
-
mimeType:
|
|
20
|
-
size:
|
|
21
|
-
storageProvider:
|
|
22
|
-
storagePath:
|
|
23
|
-
storageKey:
|
|
24
|
-
checksum:
|
|
25
|
-
etag:
|
|
26
|
-
status:
|
|
27
|
-
isPublic:
|
|
28
|
-
expiresAt:
|
|
29
|
-
ownerId:
|
|
30
|
-
orgId:
|
|
31
|
-
metadata:
|
|
32
|
-
tags:
|
|
33
|
-
width:
|
|
34
|
-
height:
|
|
35
|
-
createdAt:
|
|
36
|
-
updatedAt:
|
|
37
|
-
versions:
|
|
38
|
-
attachments:
|
|
16
|
+
declare const FileEntity: _contractspec_lib_schema0.EntitySpec<{
|
|
17
|
+
id: _contractspec_lib_schema0.EntityScalarField;
|
|
18
|
+
name: _contractspec_lib_schema0.EntityScalarField;
|
|
19
|
+
mimeType: _contractspec_lib_schema0.EntityScalarField;
|
|
20
|
+
size: _contractspec_lib_schema0.EntityScalarField;
|
|
21
|
+
storageProvider: _contractspec_lib_schema0.EntityEnumField;
|
|
22
|
+
storagePath: _contractspec_lib_schema0.EntityScalarField;
|
|
23
|
+
storageKey: _contractspec_lib_schema0.EntityScalarField;
|
|
24
|
+
checksum: _contractspec_lib_schema0.EntityScalarField;
|
|
25
|
+
etag: _contractspec_lib_schema0.EntityScalarField;
|
|
26
|
+
status: _contractspec_lib_schema0.EntityEnumField;
|
|
27
|
+
isPublic: _contractspec_lib_schema0.EntityScalarField;
|
|
28
|
+
expiresAt: _contractspec_lib_schema0.EntityScalarField;
|
|
29
|
+
ownerId: _contractspec_lib_schema0.EntityScalarField;
|
|
30
|
+
orgId: _contractspec_lib_schema0.EntityScalarField;
|
|
31
|
+
metadata: _contractspec_lib_schema0.EntityScalarField;
|
|
32
|
+
tags: _contractspec_lib_schema0.EntityScalarField;
|
|
33
|
+
width: _contractspec_lib_schema0.EntityScalarField;
|
|
34
|
+
height: _contractspec_lib_schema0.EntityScalarField;
|
|
35
|
+
createdAt: _contractspec_lib_schema0.EntityScalarField;
|
|
36
|
+
updatedAt: _contractspec_lib_schema0.EntityScalarField;
|
|
37
|
+
versions: _contractspec_lib_schema0.EntityRelationField;
|
|
38
|
+
attachments: _contractspec_lib_schema0.EntityRelationField;
|
|
39
39
|
}>;
|
|
40
40
|
/**
|
|
41
41
|
* FileVersion entity - version history for files.
|
|
42
42
|
*/
|
|
43
|
-
declare const FileVersionEntity:
|
|
44
|
-
id:
|
|
45
|
-
fileId:
|
|
46
|
-
version:
|
|
47
|
-
size:
|
|
48
|
-
storagePath:
|
|
49
|
-
checksum:
|
|
50
|
-
comment:
|
|
51
|
-
changes:
|
|
52
|
-
createdBy:
|
|
53
|
-
createdAt:
|
|
54
|
-
file:
|
|
43
|
+
declare const FileVersionEntity: _contractspec_lib_schema0.EntitySpec<{
|
|
44
|
+
id: _contractspec_lib_schema0.EntityScalarField;
|
|
45
|
+
fileId: _contractspec_lib_schema0.EntityScalarField;
|
|
46
|
+
version: _contractspec_lib_schema0.EntityScalarField;
|
|
47
|
+
size: _contractspec_lib_schema0.EntityScalarField;
|
|
48
|
+
storagePath: _contractspec_lib_schema0.EntityScalarField;
|
|
49
|
+
checksum: _contractspec_lib_schema0.EntityScalarField;
|
|
50
|
+
comment: _contractspec_lib_schema0.EntityScalarField;
|
|
51
|
+
changes: _contractspec_lib_schema0.EntityScalarField;
|
|
52
|
+
createdBy: _contractspec_lib_schema0.EntityScalarField;
|
|
53
|
+
createdAt: _contractspec_lib_schema0.EntityScalarField;
|
|
54
|
+
file: _contractspec_lib_schema0.EntityRelationField;
|
|
55
55
|
}>;
|
|
56
56
|
/**
|
|
57
57
|
* Attachment entity - polymorphic link between files and entities.
|
|
58
58
|
*/
|
|
59
|
-
declare const AttachmentEntity:
|
|
60
|
-
id:
|
|
61
|
-
fileId:
|
|
62
|
-
entityType:
|
|
63
|
-
entityId:
|
|
64
|
-
attachmentType:
|
|
65
|
-
name:
|
|
66
|
-
description:
|
|
67
|
-
order:
|
|
68
|
-
metadata:
|
|
69
|
-
createdBy:
|
|
70
|
-
createdAt:
|
|
71
|
-
updatedAt:
|
|
72
|
-
file:
|
|
59
|
+
declare const AttachmentEntity: _contractspec_lib_schema0.EntitySpec<{
|
|
60
|
+
id: _contractspec_lib_schema0.EntityScalarField;
|
|
61
|
+
fileId: _contractspec_lib_schema0.EntityScalarField;
|
|
62
|
+
entityType: _contractspec_lib_schema0.EntityScalarField;
|
|
63
|
+
entityId: _contractspec_lib_schema0.EntityScalarField;
|
|
64
|
+
attachmentType: _contractspec_lib_schema0.EntityScalarField;
|
|
65
|
+
name: _contractspec_lib_schema0.EntityScalarField;
|
|
66
|
+
description: _contractspec_lib_schema0.EntityScalarField;
|
|
67
|
+
order: _contractspec_lib_schema0.EntityScalarField;
|
|
68
|
+
metadata: _contractspec_lib_schema0.EntityScalarField;
|
|
69
|
+
createdBy: _contractspec_lib_schema0.EntityScalarField;
|
|
70
|
+
createdAt: _contractspec_lib_schema0.EntityScalarField;
|
|
71
|
+
updatedAt: _contractspec_lib_schema0.EntityScalarField;
|
|
72
|
+
file: _contractspec_lib_schema0.EntityRelationField;
|
|
73
73
|
}>;
|
|
74
74
|
/**
|
|
75
75
|
* UploadSession entity - tracks multipart uploads.
|
|
76
76
|
*/
|
|
77
|
-
declare const UploadSessionEntity:
|
|
78
|
-
id:
|
|
79
|
-
fileName:
|
|
80
|
-
mimeType:
|
|
81
|
-
totalSize:
|
|
82
|
-
uploadId:
|
|
83
|
-
uploadedBytes:
|
|
84
|
-
uploadedParts:
|
|
85
|
-
status:
|
|
86
|
-
error:
|
|
87
|
-
fileId:
|
|
88
|
-
ownerId:
|
|
89
|
-
orgId:
|
|
90
|
-
expiresAt:
|
|
91
|
-
createdAt:
|
|
92
|
-
updatedAt:
|
|
77
|
+
declare const UploadSessionEntity: _contractspec_lib_schema0.EntitySpec<{
|
|
78
|
+
id: _contractspec_lib_schema0.EntityScalarField;
|
|
79
|
+
fileName: _contractspec_lib_schema0.EntityScalarField;
|
|
80
|
+
mimeType: _contractspec_lib_schema0.EntityScalarField;
|
|
81
|
+
totalSize: _contractspec_lib_schema0.EntityScalarField;
|
|
82
|
+
uploadId: _contractspec_lib_schema0.EntityScalarField;
|
|
83
|
+
uploadedBytes: _contractspec_lib_schema0.EntityScalarField;
|
|
84
|
+
uploadedParts: _contractspec_lib_schema0.EntityScalarField;
|
|
85
|
+
status: _contractspec_lib_schema0.EntityScalarField;
|
|
86
|
+
error: _contractspec_lib_schema0.EntityScalarField;
|
|
87
|
+
fileId: _contractspec_lib_schema0.EntityScalarField;
|
|
88
|
+
ownerId: _contractspec_lib_schema0.EntityScalarField;
|
|
89
|
+
orgId: _contractspec_lib_schema0.EntityScalarField;
|
|
90
|
+
expiresAt: _contractspec_lib_schema0.EntityScalarField;
|
|
91
|
+
createdAt: _contractspec_lib_schema0.EntityScalarField;
|
|
92
|
+
updatedAt: _contractspec_lib_schema0.EntityScalarField;
|
|
93
93
|
}>;
|
|
94
94
|
/**
|
|
95
95
|
* All file entities for schema composition.
|
|
96
96
|
*/
|
|
97
|
-
declare const fileEntities: (
|
|
98
|
-
id:
|
|
99
|
-
name:
|
|
100
|
-
mimeType:
|
|
101
|
-
size:
|
|
102
|
-
storageProvider:
|
|
103
|
-
storagePath:
|
|
104
|
-
storageKey:
|
|
105
|
-
checksum:
|
|
106
|
-
etag:
|
|
107
|
-
status:
|
|
108
|
-
isPublic:
|
|
109
|
-
expiresAt:
|
|
110
|
-
ownerId:
|
|
111
|
-
orgId:
|
|
112
|
-
metadata:
|
|
113
|
-
tags:
|
|
114
|
-
width:
|
|
115
|
-
height:
|
|
116
|
-
createdAt:
|
|
117
|
-
updatedAt:
|
|
118
|
-
versions:
|
|
119
|
-
attachments:
|
|
120
|
-
}> |
|
|
121
|
-
id:
|
|
122
|
-
fileId:
|
|
123
|
-
version:
|
|
124
|
-
size:
|
|
125
|
-
storagePath:
|
|
126
|
-
checksum:
|
|
127
|
-
comment:
|
|
128
|
-
changes:
|
|
129
|
-
createdBy:
|
|
130
|
-
createdAt:
|
|
131
|
-
file:
|
|
132
|
-
}> |
|
|
133
|
-
id:
|
|
134
|
-
fileId:
|
|
135
|
-
entityType:
|
|
136
|
-
entityId:
|
|
137
|
-
attachmentType:
|
|
138
|
-
name:
|
|
139
|
-
description:
|
|
140
|
-
order:
|
|
141
|
-
metadata:
|
|
142
|
-
createdBy:
|
|
143
|
-
createdAt:
|
|
144
|
-
updatedAt:
|
|
145
|
-
file:
|
|
146
|
-
}> |
|
|
147
|
-
id:
|
|
148
|
-
fileName:
|
|
149
|
-
mimeType:
|
|
150
|
-
totalSize:
|
|
151
|
-
uploadId:
|
|
152
|
-
uploadedBytes:
|
|
153
|
-
uploadedParts:
|
|
154
|
-
status:
|
|
155
|
-
error:
|
|
156
|
-
fileId:
|
|
157
|
-
ownerId:
|
|
158
|
-
orgId:
|
|
159
|
-
expiresAt:
|
|
160
|
-
createdAt:
|
|
161
|
-
updatedAt:
|
|
97
|
+
declare const fileEntities: (_contractspec_lib_schema0.EntitySpec<{
|
|
98
|
+
id: _contractspec_lib_schema0.EntityScalarField;
|
|
99
|
+
name: _contractspec_lib_schema0.EntityScalarField;
|
|
100
|
+
mimeType: _contractspec_lib_schema0.EntityScalarField;
|
|
101
|
+
size: _contractspec_lib_schema0.EntityScalarField;
|
|
102
|
+
storageProvider: _contractspec_lib_schema0.EntityEnumField;
|
|
103
|
+
storagePath: _contractspec_lib_schema0.EntityScalarField;
|
|
104
|
+
storageKey: _contractspec_lib_schema0.EntityScalarField;
|
|
105
|
+
checksum: _contractspec_lib_schema0.EntityScalarField;
|
|
106
|
+
etag: _contractspec_lib_schema0.EntityScalarField;
|
|
107
|
+
status: _contractspec_lib_schema0.EntityEnumField;
|
|
108
|
+
isPublic: _contractspec_lib_schema0.EntityScalarField;
|
|
109
|
+
expiresAt: _contractspec_lib_schema0.EntityScalarField;
|
|
110
|
+
ownerId: _contractspec_lib_schema0.EntityScalarField;
|
|
111
|
+
orgId: _contractspec_lib_schema0.EntityScalarField;
|
|
112
|
+
metadata: _contractspec_lib_schema0.EntityScalarField;
|
|
113
|
+
tags: _contractspec_lib_schema0.EntityScalarField;
|
|
114
|
+
width: _contractspec_lib_schema0.EntityScalarField;
|
|
115
|
+
height: _contractspec_lib_schema0.EntityScalarField;
|
|
116
|
+
createdAt: _contractspec_lib_schema0.EntityScalarField;
|
|
117
|
+
updatedAt: _contractspec_lib_schema0.EntityScalarField;
|
|
118
|
+
versions: _contractspec_lib_schema0.EntityRelationField;
|
|
119
|
+
attachments: _contractspec_lib_schema0.EntityRelationField;
|
|
120
|
+
}> | _contractspec_lib_schema0.EntitySpec<{
|
|
121
|
+
id: _contractspec_lib_schema0.EntityScalarField;
|
|
122
|
+
fileId: _contractspec_lib_schema0.EntityScalarField;
|
|
123
|
+
version: _contractspec_lib_schema0.EntityScalarField;
|
|
124
|
+
size: _contractspec_lib_schema0.EntityScalarField;
|
|
125
|
+
storagePath: _contractspec_lib_schema0.EntityScalarField;
|
|
126
|
+
checksum: _contractspec_lib_schema0.EntityScalarField;
|
|
127
|
+
comment: _contractspec_lib_schema0.EntityScalarField;
|
|
128
|
+
changes: _contractspec_lib_schema0.EntityScalarField;
|
|
129
|
+
createdBy: _contractspec_lib_schema0.EntityScalarField;
|
|
130
|
+
createdAt: _contractspec_lib_schema0.EntityScalarField;
|
|
131
|
+
file: _contractspec_lib_schema0.EntityRelationField;
|
|
132
|
+
}> | _contractspec_lib_schema0.EntitySpec<{
|
|
133
|
+
id: _contractspec_lib_schema0.EntityScalarField;
|
|
134
|
+
fileId: _contractspec_lib_schema0.EntityScalarField;
|
|
135
|
+
entityType: _contractspec_lib_schema0.EntityScalarField;
|
|
136
|
+
entityId: _contractspec_lib_schema0.EntityScalarField;
|
|
137
|
+
attachmentType: _contractspec_lib_schema0.EntityScalarField;
|
|
138
|
+
name: _contractspec_lib_schema0.EntityScalarField;
|
|
139
|
+
description: _contractspec_lib_schema0.EntityScalarField;
|
|
140
|
+
order: _contractspec_lib_schema0.EntityScalarField;
|
|
141
|
+
metadata: _contractspec_lib_schema0.EntityScalarField;
|
|
142
|
+
createdBy: _contractspec_lib_schema0.EntityScalarField;
|
|
143
|
+
createdAt: _contractspec_lib_schema0.EntityScalarField;
|
|
144
|
+
updatedAt: _contractspec_lib_schema0.EntityScalarField;
|
|
145
|
+
file: _contractspec_lib_schema0.EntityRelationField;
|
|
146
|
+
}> | _contractspec_lib_schema0.EntitySpec<{
|
|
147
|
+
id: _contractspec_lib_schema0.EntityScalarField;
|
|
148
|
+
fileName: _contractspec_lib_schema0.EntityScalarField;
|
|
149
|
+
mimeType: _contractspec_lib_schema0.EntityScalarField;
|
|
150
|
+
totalSize: _contractspec_lib_schema0.EntityScalarField;
|
|
151
|
+
uploadId: _contractspec_lib_schema0.EntityScalarField;
|
|
152
|
+
uploadedBytes: _contractspec_lib_schema0.EntityScalarField;
|
|
153
|
+
uploadedParts: _contractspec_lib_schema0.EntityScalarField;
|
|
154
|
+
status: _contractspec_lib_schema0.EntityScalarField;
|
|
155
|
+
error: _contractspec_lib_schema0.EntityScalarField;
|
|
156
|
+
fileId: _contractspec_lib_schema0.EntityScalarField;
|
|
157
|
+
ownerId: _contractspec_lib_schema0.EntityScalarField;
|
|
158
|
+
orgId: _contractspec_lib_schema0.EntityScalarField;
|
|
159
|
+
expiresAt: _contractspec_lib_schema0.EntityScalarField;
|
|
160
|
+
createdAt: _contractspec_lib_schema0.EntityScalarField;
|
|
161
|
+
updatedAt: _contractspec_lib_schema0.EntityScalarField;
|
|
162
162
|
}>)[];
|
|
163
163
|
/**
|
|
164
164
|
* Module schema contribution for files.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/entities/index.ts"],"sourcesContent":[],"mappings":";;;;;;;AAWa,cAAA,mBAKX,EAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/entities/index.ts"],"sourcesContent":[],"mappings":";;;;;;;AAWa,cAAA,mBAKX,EAAA,yBAAA,CAL8B,aAK9B;AAKF;AAiBA;;cAjBa,gBAYX,yBAAA,CAZyB;;;;cAiBd,sCAAU;MA0FrB,yBAAA,CAAA;;;;;;;;;;;;;;;;oDA1FqB;EAAA,MAAA,6CAAA;EA+FV,SAAA,6CAwCX;EAAA,SAAA,6CAAA;;;;;;;cAxCW,6CAAiB;MAwC5B,yBAAA,CAAA;;;mDAxC4B;EAAA,WAAA,6CAAA;EA6CjB,QAAA,6CAwDX;EAAA,OAAA,6CAAA;;;;;;;;;cAxDW,4CAAgB;MAwD3B,yBAAA,CAAA;;;uDAxD2B;EAAA,cAAA,6CAAA;EA6DhB,IAAA,6CA0DX;EAAA,WAAA,6CAAA;;;;;;;;;;;cA1DW,+CAAmB;MA0D9B,yBAAA,CAAA;;;wDA1D8B;EAAA,QAAA,6CAAA;EA+DnB,aAAA,6CAKZ;EAAA,aAAA,6CAAA;;;;;;;;;;;;;cALY,yCAAY;MAKxB,yBAAA,CAAA;;;;;;;;mDALwB;EAAA,MAAA,2CAAA;;;;;;;;;;;;;;MAAA,yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUZ,SAAA,6CAIZ;;;;;;;;;;;;;;;;cAJY,yBAAyB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["filesSchemaContribution: ModuleSchemaContribution"],"sources":["../../src/entities/index.ts"],"sourcesContent":["import {\n defineEntity,\n defineEntityEnum,\n field,\n index,\n} from '@contractspec/lib.schema';\nimport type { ModuleSchemaContribution } from '@contractspec/lib.schema';\n\n/**\n * Storage provider enum.\n */\nexport const StorageProviderEnum = defineEntityEnum({\n name: 'StorageProvider',\n values: ['LOCAL', 'S3', 'GCS', 'AZURE', 'CLOUDFLARE'] as const,\n schema: 'lssm_files',\n description: 'Storage backend provider.',\n});\n\n/**\n * File status enum.\n */\nexport const FileStatusEnum = defineEntityEnum({\n name: 'FileStatus',\n values: [\n 'PENDING',\n 'UPLOADED',\n 'PROCESSING',\n 'READY',\n 'ERROR',\n 'DELETED',\n ] as const,\n schema: 'lssm_files',\n description: 'File processing status.',\n});\n\n/**\n * File entity - represents an uploaded file.\n */\nexport const FileEntity = defineEntity({\n name: 'File',\n description: 'An uploaded file.',\n schema: 'lssm_files',\n map: 'file',\n fields: {\n id: field.id({ description: 'Unique file identifier' }),\n\n // File info\n name: field.string({ description: 'Original file name' }),\n mimeType: field.string({ description: 'MIME type' }),\n size: field.int({ description: 'File size in bytes' }),\n\n // Storage\n storageProvider: field.enum('StorageProvider', {\n default: 'LOCAL',\n description: 'Storage backend',\n }),\n storagePath: field.string({ description: 'Path in storage backend' }),\n storageKey: field.string({\n isOptional: true,\n description: 'Storage key/bucket',\n }),\n\n // Integrity\n checksum: field.string({\n isOptional: true,\n description: 'SHA-256 checksum',\n }),\n etag: field.string({ isOptional: true, description: 'Storage ETag' }),\n\n // Status\n status: field.enum('FileStatus', {\n default: 'PENDING',\n description: 'File status',\n }),\n\n // Access\n isPublic: field.boolean({\n default: false,\n description: 'Whether file is publicly accessible',\n }),\n expiresAt: field.dateTime({\n isOptional: true,\n description: 'Auto-delete timestamp',\n }),\n\n // Ownership\n ownerId: field.string({ description: 'User who uploaded' }),\n orgId: field.string({\n isOptional: true,\n description: 'Organization scope',\n }),\n\n // Metadata\n metadata: field.json({\n isOptional: true,\n description: 'Additional metadata',\n }),\n tags: field.json({\n isOptional: true,\n description: 'Tags for categorization',\n }),\n\n // Image-specific\n width: field.int({\n isOptional: true,\n description: 'Image width in pixels',\n }),\n height: field.int({\n isOptional: true,\n description: 'Image height in pixels',\n }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n\n // Relations\n versions: field.hasMany('FileVersion'),\n attachments: field.hasMany('Attachment'),\n },\n indexes: [\n index.on(['ownerId']),\n index.on(['orgId']),\n index.on(['status']),\n index.on(['mimeType']),\n index.on(['storageProvider', 'storagePath']),\n ],\n enums: [StorageProviderEnum, FileStatusEnum],\n});\n\n/**\n * FileVersion entity - version history for files.\n */\nexport const FileVersionEntity = defineEntity({\n name: 'FileVersion',\n description: 'A version of a file.',\n schema: 'lssm_files',\n map: 'file_version',\n fields: {\n id: field.id({ description: 'Unique version identifier' }),\n fileId: field.foreignKey({ description: 'Parent file' }),\n\n // Version info\n version: field.int({ description: 'Version number' }),\n size: field.int({ description: 'Version size in bytes' }),\n\n // Storage\n storagePath: field.string({ description: 'Path in storage backend' }),\n checksum: field.string({\n isOptional: true,\n description: 'SHA-256 checksum',\n }),\n\n // Metadata\n comment: field.string({ isOptional: true, description: 'Version comment' }),\n changes: field.json({\n isOptional: true,\n description: 'Change description',\n }),\n\n // Creator\n createdBy: field.string({ description: 'User who created version' }),\n\n // Timestamps\n createdAt: field.createdAt(),\n\n // Relations\n file: field.belongsTo('File', ['fileId'], ['id'], { onDelete: 'Cascade' }),\n },\n indexes: [\n index.on(['fileId', 'version']),\n index.unique(['fileId', 'version'], { name: 'file_version_unique' }),\n ],\n});\n\n/**\n * Attachment entity - polymorphic link between files and entities.\n */\nexport const AttachmentEntity = defineEntity({\n name: 'Attachment',\n description: 'Links a file to an entity.',\n schema: 'lssm_files',\n map: 'attachment',\n fields: {\n id: field.id({ description: 'Unique attachment identifier' }),\n fileId: field.foreignKey({ description: 'Attached file' }),\n\n // Target entity (polymorphic)\n entityType: field.string({\n description: 'Target entity type (deal, listing, etc.)',\n }),\n entityId: field.string({ description: 'Target entity ID' }),\n\n // Attachment metadata\n attachmentType: field.string({\n isOptional: true,\n description: 'Type of attachment (document, image, avatar, etc.)',\n }),\n name: field.string({\n isOptional: true,\n description: 'Display name (overrides file name)',\n }),\n description: field.string({\n isOptional: true,\n description: 'Attachment description',\n }),\n\n // Ordering\n order: field.int({ default: 0, description: 'Display order' }),\n\n // Metadata\n metadata: field.json({\n isOptional: true,\n description: 'Attachment-specific metadata',\n }),\n\n // Creator\n createdBy: field.string({ description: 'User who created attachment' }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n\n // Relations\n file: field.belongsTo('File', ['fileId'], ['id'], { onDelete: 'Cascade' }),\n },\n indexes: [\n index.on(['entityType', 'entityId']),\n index.on(['fileId']),\n index.on(['entityType', 'entityId', 'attachmentType']),\n index.unique(['fileId', 'entityType', 'entityId'], {\n name: 'attachment_unique',\n }),\n ],\n});\n\n/**\n * UploadSession entity - tracks multipart uploads.\n */\nexport const UploadSessionEntity = defineEntity({\n name: 'UploadSession',\n description: 'Tracks a multipart upload session.',\n schema: 'lssm_files',\n map: 'upload_session',\n fields: {\n id: field.id({ description: 'Unique session identifier' }),\n\n // File info\n fileName: field.string({ description: 'Target file name' }),\n mimeType: field.string({ description: 'Expected MIME type' }),\n totalSize: field.int({ description: 'Total file size' }),\n\n // Upload state\n uploadId: field.string({\n isOptional: true,\n description: 'Storage upload ID',\n }),\n uploadedBytes: field.int({\n default: 0,\n description: 'Bytes uploaded so far',\n }),\n uploadedParts: field.json({\n isOptional: true,\n description: 'Completed part info',\n }),\n\n // Status\n status: field.string({\n default: '\"pending\"',\n description: 'Session status',\n }),\n error: field.string({\n isOptional: true,\n description: 'Error message if failed',\n }),\n\n // Result\n fileId: field.string({\n isOptional: true,\n description: 'Resulting file ID',\n }),\n\n // Context\n ownerId: field.string({ description: 'User who initiated upload' }),\n orgId: field.string({\n isOptional: true,\n description: 'Organization scope',\n }),\n\n // Expiry\n expiresAt: field.dateTime({ description: 'Session expiry time' }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n },\n indexes: [index.on(['status', 'expiresAt']), index.on(['ownerId'])],\n});\n\n/**\n * All file entities for schema composition.\n */\nexport const fileEntities = [\n FileEntity,\n FileVersionEntity,\n AttachmentEntity,\n UploadSessionEntity,\n];\n\n/**\n * Module schema contribution for files.\n */\nexport const filesSchemaContribution: ModuleSchemaContribution = {\n moduleId: '@contractspec/lib.files',\n entities: fileEntities,\n enums: [StorageProviderEnum, FileStatusEnum],\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/entities/index.ts"],"sourcesContent":["import {\n defineEntity,\n defineEntityEnum,\n field,\n index,\n} from '@contractspec/lib.schema';\nimport type { ModuleSchemaContribution } from '@contractspec/lib.schema';\n\n/**\n * Storage provider enum.\n */\nexport const StorageProviderEnum = defineEntityEnum({\n name: 'StorageProvider',\n values: ['LOCAL', 'S3', 'GCS', 'AZURE', 'CLOUDFLARE'] as const,\n schema: 'lssm_files',\n description: 'Storage backend provider.',\n});\n\n/**\n * File status enum.\n */\nexport const FileStatusEnum = defineEntityEnum({\n name: 'FileStatus',\n values: [\n 'PENDING',\n 'UPLOADED',\n 'PROCESSING',\n 'READY',\n 'ERROR',\n 'DELETED',\n ] as const,\n schema: 'lssm_files',\n description: 'File processing status.',\n});\n\n/**\n * File entity - represents an uploaded file.\n */\nexport const FileEntity = defineEntity({\n name: 'File',\n description: 'An uploaded file.',\n schema: 'lssm_files',\n map: 'file',\n fields: {\n id: field.id({ description: 'Unique file identifier' }),\n\n // File info\n name: field.string({ description: 'Original file name' }),\n mimeType: field.string({ description: 'MIME type' }),\n size: field.int({ description: 'File size in bytes' }),\n\n // Storage\n storageProvider: field.enum('StorageProvider', {\n default: 'LOCAL',\n description: 'Storage backend',\n }),\n storagePath: field.string({ description: 'Path in storage backend' }),\n storageKey: field.string({\n isOptional: true,\n description: 'Storage key/bucket',\n }),\n\n // Integrity\n checksum: field.string({\n isOptional: true,\n description: 'SHA-256 checksum',\n }),\n etag: field.string({ isOptional: true, description: 'Storage ETag' }),\n\n // Status\n status: field.enum('FileStatus', {\n default: 'PENDING',\n description: 'File status',\n }),\n\n // Access\n isPublic: field.boolean({\n default: false,\n description: 'Whether file is publicly accessible',\n }),\n expiresAt: field.dateTime({\n isOptional: true,\n description: 'Auto-delete timestamp',\n }),\n\n // Ownership\n ownerId: field.string({ description: 'User who uploaded' }),\n orgId: field.string({\n isOptional: true,\n description: 'Organization scope',\n }),\n\n // Metadata\n metadata: field.json({\n isOptional: true,\n description: 'Additional metadata',\n }),\n tags: field.json({\n isOptional: true,\n description: 'Tags for categorization',\n }),\n\n // Image-specific\n width: field.int({\n isOptional: true,\n description: 'Image width in pixels',\n }),\n height: field.int({\n isOptional: true,\n description: 'Image height in pixels',\n }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n\n // Relations\n versions: field.hasMany('FileVersion'),\n attachments: field.hasMany('Attachment'),\n },\n indexes: [\n index.on(['ownerId']),\n index.on(['orgId']),\n index.on(['status']),\n index.on(['mimeType']),\n index.on(['storageProvider', 'storagePath']),\n ],\n enums: [StorageProviderEnum, FileStatusEnum],\n});\n\n/**\n * FileVersion entity - version history for files.\n */\nexport const FileVersionEntity = defineEntity({\n name: 'FileVersion',\n description: 'A version of a file.',\n schema: 'lssm_files',\n map: 'file_version',\n fields: {\n id: field.id({ description: 'Unique version identifier' }),\n fileId: field.foreignKey({ description: 'Parent file' }),\n\n // Version info\n version: field.int({ description: 'Version number' }),\n size: field.int({ description: 'Version size in bytes' }),\n\n // Storage\n storagePath: field.string({ description: 'Path in storage backend' }),\n checksum: field.string({\n isOptional: true,\n description: 'SHA-256 checksum',\n }),\n\n // Metadata\n comment: field.string({ isOptional: true, description: 'Version comment' }),\n changes: field.json({\n isOptional: true,\n description: 'Change description',\n }),\n\n // Creator\n createdBy: field.string({ description: 'User who created version' }),\n\n // Timestamps\n createdAt: field.createdAt(),\n\n // Relations\n file: field.belongsTo('File', ['fileId'], ['id'], { onDelete: 'Cascade' }),\n },\n indexes: [\n index.on(['fileId', 'version']),\n index.unique(['fileId', 'version'], { name: 'file_version_unique' }),\n ],\n});\n\n/**\n * Attachment entity - polymorphic link between files and entities.\n */\nexport const AttachmentEntity = defineEntity({\n name: 'Attachment',\n description: 'Links a file to an entity.',\n schema: 'lssm_files',\n map: 'attachment',\n fields: {\n id: field.id({ description: 'Unique attachment identifier' }),\n fileId: field.foreignKey({ description: 'Attached file' }),\n\n // Target entity (polymorphic)\n entityType: field.string({\n description: 'Target entity type (deal, listing, etc.)',\n }),\n entityId: field.string({ description: 'Target entity ID' }),\n\n // Attachment metadata\n attachmentType: field.string({\n isOptional: true,\n description: 'Type of attachment (document, image, avatar, etc.)',\n }),\n name: field.string({\n isOptional: true,\n description: 'Display name (overrides file name)',\n }),\n description: field.string({\n isOptional: true,\n description: 'Attachment description',\n }),\n\n // Ordering\n order: field.int({ default: 0, description: 'Display order' }),\n\n // Metadata\n metadata: field.json({\n isOptional: true,\n description: 'Attachment-specific metadata',\n }),\n\n // Creator\n createdBy: field.string({ description: 'User who created attachment' }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n\n // Relations\n file: field.belongsTo('File', ['fileId'], ['id'], { onDelete: 'Cascade' }),\n },\n indexes: [\n index.on(['entityType', 'entityId']),\n index.on(['fileId']),\n index.on(['entityType', 'entityId', 'attachmentType']),\n index.unique(['fileId', 'entityType', 'entityId'], {\n name: 'attachment_unique',\n }),\n ],\n});\n\n/**\n * UploadSession entity - tracks multipart uploads.\n */\nexport const UploadSessionEntity = defineEntity({\n name: 'UploadSession',\n description: 'Tracks a multipart upload session.',\n schema: 'lssm_files',\n map: 'upload_session',\n fields: {\n id: field.id({ description: 'Unique session identifier' }),\n\n // File info\n fileName: field.string({ description: 'Target file name' }),\n mimeType: field.string({ description: 'Expected MIME type' }),\n totalSize: field.int({ description: 'Total file size' }),\n\n // Upload state\n uploadId: field.string({\n isOptional: true,\n description: 'Storage upload ID',\n }),\n uploadedBytes: field.int({\n default: 0,\n description: 'Bytes uploaded so far',\n }),\n uploadedParts: field.json({\n isOptional: true,\n description: 'Completed part info',\n }),\n\n // Status\n status: field.string({\n default: '\"pending\"',\n description: 'Session status',\n }),\n error: field.string({\n isOptional: true,\n description: 'Error message if failed',\n }),\n\n // Result\n fileId: field.string({\n isOptional: true,\n description: 'Resulting file ID',\n }),\n\n // Context\n ownerId: field.string({ description: 'User who initiated upload' }),\n orgId: field.string({\n isOptional: true,\n description: 'Organization scope',\n }),\n\n // Expiry\n expiresAt: field.dateTime({ description: 'Session expiry time' }),\n\n // Timestamps\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n },\n indexes: [index.on(['status', 'expiresAt']), index.on(['ownerId'])],\n});\n\n/**\n * All file entities for schema composition.\n */\nexport const fileEntities = [\n FileEntity,\n FileVersionEntity,\n AttachmentEntity,\n UploadSessionEntity,\n];\n\n/**\n * Module schema contribution for files.\n */\nexport const filesSchemaContribution: ModuleSchemaContribution = {\n moduleId: '@contractspec/lib.files',\n entities: fileEntities,\n enums: [StorageProviderEnum, FileStatusEnum],\n};\n"],"mappings":"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"}
|