@headless-lms/core 0.1.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.
Files changed (261) hide show
  1. package/LICENSE +21 -0
  2. package/dist/assets/events.d.ts +81 -0
  3. package/dist/assets/events.js +24 -0
  4. package/dist/assets/events.js.map +1 -0
  5. package/dist/assets/index.d.ts +7 -0
  6. package/dist/assets/index.js +3 -0
  7. package/dist/assets/model.d.ts +4 -0
  8. package/dist/assets/model.js +1 -0
  9. package/dist/assets/ports.d.ts +34 -0
  10. package/dist/assets/ports.js +1 -0
  11. package/dist/assets/service.d.ts +29 -0
  12. package/dist/assets/service.js +130 -0
  13. package/dist/assets/service.js.map +1 -0
  14. package/dist/automations/actions.d.ts +24 -0
  15. package/dist/automations/actions.js +59 -0
  16. package/dist/automations/actions.js.map +1 -0
  17. package/dist/automations/catalog.d.ts +12 -0
  18. package/dist/automations/catalog.js +224 -0
  19. package/dist/automations/catalog.js.map +1 -0
  20. package/dist/automations/events.d.ts +264 -0
  21. package/dist/automations/events.js +54 -0
  22. package/dist/automations/events.js.map +1 -0
  23. package/dist/automations/index.d.ts +9 -0
  24. package/dist/automations/index.js +4 -0
  25. package/dist/automations/model.d.ts +12 -0
  26. package/dist/automations/model.js +14 -0
  27. package/dist/automations/model.js.map +1 -0
  28. package/dist/automations/ports.d.ts +56 -0
  29. package/dist/automations/ports.js +1 -0
  30. package/dist/automations/service.d.ts +53 -0
  31. package/dist/automations/service.js +225 -0
  32. package/dist/automations/service.js.map +1 -0
  33. package/dist/automations/types.d.ts +3 -0
  34. package/dist/automations/types.js +1 -0
  35. package/dist/content/events.d.ts +410 -0
  36. package/dist/content/events.js +105 -0
  37. package/dist/content/events.js.map +1 -0
  38. package/dist/content/index.d.ts +8 -0
  39. package/dist/content/index.js +3 -0
  40. package/dist/content/model.d.ts +3 -0
  41. package/dist/content/model.js +1 -0
  42. package/dist/content/ports.d.ts +85 -0
  43. package/dist/content/ports.js +1 -0
  44. package/dist/content/service.d.ts +54 -0
  45. package/dist/content/service.js +479 -0
  46. package/dist/content/service.js.map +1 -0
  47. package/dist/content/types.d.ts +4 -0
  48. package/dist/content/types.js +1 -0
  49. package/dist/discussion/events.d.ts +101 -0
  50. package/dist/discussion/events.js +29 -0
  51. package/dist/discussion/events.js.map +1 -0
  52. package/dist/discussion/index.d.ts +8 -0
  53. package/dist/discussion/index.js +3 -0
  54. package/dist/discussion/model.d.ts +5 -0
  55. package/dist/discussion/model.js +1 -0
  56. package/dist/discussion/ports.d.ts +112 -0
  57. package/dist/discussion/ports.js +1 -0
  58. package/dist/discussion/service.d.ts +67 -0
  59. package/dist/discussion/service.js +343 -0
  60. package/dist/discussion/service.js.map +1 -0
  61. package/dist/discussion/types.d.ts +4 -0
  62. package/dist/discussion/types.js +1 -0
  63. package/dist/entitlements/events.d.ts +89 -0
  64. package/dist/entitlements/events.js +29 -0
  65. package/dist/entitlements/events.js.map +1 -0
  66. package/dist/entitlements/index.d.ts +7 -0
  67. package/dist/entitlements/index.js +3 -0
  68. package/dist/entitlements/model.d.ts +4 -0
  69. package/dist/entitlements/model.js +1 -0
  70. package/dist/entitlements/ports.d.ts +34 -0
  71. package/dist/entitlements/ports.js +1 -0
  72. package/dist/entitlements/service.d.ts +27 -0
  73. package/dist/entitlements/service.js +60 -0
  74. package/dist/entitlements/service.js.map +1 -0
  75. package/dist/identity/events.d.ts +63 -0
  76. package/dist/identity/events.js +24 -0
  77. package/dist/identity/events.js.map +1 -0
  78. package/dist/identity/index.d.ts +8 -0
  79. package/dist/identity/index.js +3 -0
  80. package/dist/identity/model.d.ts +3 -0
  81. package/dist/identity/model.js +1 -0
  82. package/dist/identity/ports.d.ts +58 -0
  83. package/dist/identity/ports.js +1 -0
  84. package/dist/identity/service.d.ts +38 -0
  85. package/dist/identity/service.js +79 -0
  86. package/dist/identity/service.js.map +1 -0
  87. package/dist/identity/types.d.ts +4 -0
  88. package/dist/identity/types.js +1 -0
  89. package/dist/integrations/events.d.ts +70 -0
  90. package/dist/integrations/events.js +24 -0
  91. package/dist/integrations/events.js.map +1 -0
  92. package/dist/integrations/index.d.ts +9 -0
  93. package/dist/integrations/index.js +6 -0
  94. package/dist/integrations/model.d.ts +28 -0
  95. package/dist/integrations/model.js +45 -0
  96. package/dist/integrations/model.js.map +1 -0
  97. package/dist/integrations/ports.d.ts +62 -0
  98. package/dist/integrations/ports.js +1 -0
  99. package/dist/integrations/registry.d.ts +7 -0
  100. package/dist/integrations/registry.js +16 -0
  101. package/dist/integrations/registry.js.map +1 -0
  102. package/dist/integrations/service.d.ts +47 -0
  103. package/dist/integrations/service.js +184 -0
  104. package/dist/integrations/service.js.map +1 -0
  105. package/dist/integrations/zod.d.ts +29 -0
  106. package/dist/integrations/zod.js +40 -0
  107. package/dist/integrations/zod.js.map +1 -0
  108. package/dist/organizations/events.d.ts +197 -0
  109. package/dist/organizations/events.js +59 -0
  110. package/dist/organizations/events.js.map +1 -0
  111. package/dist/organizations/index.d.ts +11 -0
  112. package/dist/organizations/index.js +5 -0
  113. package/dist/organizations/members.d.ts +32 -0
  114. package/dist/organizations/members.js +12 -0
  115. package/dist/organizations/members.js.map +1 -0
  116. package/dist/organizations/model.d.ts +3 -0
  117. package/dist/organizations/model.js +1 -0
  118. package/dist/organizations/ports.d.ts +127 -0
  119. package/dist/organizations/ports.js +1 -0
  120. package/dist/organizations/roles.d.ts +23 -0
  121. package/dist/organizations/roles.js +70 -0
  122. package/dist/organizations/roles.js.map +1 -0
  123. package/dist/organizations/service.d.ts +58 -0
  124. package/dist/organizations/service.js +359 -0
  125. package/dist/organizations/service.js.map +1 -0
  126. package/dist/organizations/types.d.ts +39 -0
  127. package/dist/organizations/types.js +1 -0
  128. package/dist/progress/events.d.ts +55 -0
  129. package/dist/progress/events.js +19 -0
  130. package/dist/progress/events.js.map +1 -0
  131. package/dist/progress/index.d.ts +8 -0
  132. package/dist/progress/index.js +3 -0
  133. package/dist/progress/model.d.ts +3 -0
  134. package/dist/progress/model.js +1 -0
  135. package/dist/progress/ports.d.ts +37 -0
  136. package/dist/progress/ports.js +1 -0
  137. package/dist/progress/service.d.ts +33 -0
  138. package/dist/progress/service.js +181 -0
  139. package/dist/progress/service.js.map +1 -0
  140. package/dist/progress/types.d.ts +4 -0
  141. package/dist/progress/types.js +1 -0
  142. package/dist/reporting/dashboard/index.d.ts +4 -0
  143. package/dist/reporting/dashboard/index.js +2 -0
  144. package/dist/reporting/dashboard/model.d.ts +14 -0
  145. package/dist/reporting/dashboard/model.js +1 -0
  146. package/dist/reporting/dashboard/ports.d.ts +13 -0
  147. package/dist/reporting/dashboard/ports.js +1 -0
  148. package/dist/reporting/dashboard/service.d.ts +19 -0
  149. package/dist/reporting/dashboard/service.js +20 -0
  150. package/dist/reporting/dashboard/service.js.map +1 -0
  151. package/dist/reporting/learn/index.d.ts +5 -0
  152. package/dist/reporting/learn/index.js +2 -0
  153. package/dist/reporting/learn/model.d.ts +23 -0
  154. package/dist/reporting/learn/model.js +1 -0
  155. package/dist/reporting/learn/ports.d.ts +42 -0
  156. package/dist/reporting/learn/ports.js +1 -0
  157. package/dist/reporting/learn/service.d.ts +48 -0
  158. package/dist/reporting/learn/service.js +111 -0
  159. package/dist/reporting/learn/service.js.map +1 -0
  160. package/dist/reporting/students/index.d.ts +4 -0
  161. package/dist/reporting/students/index.js +2 -0
  162. package/dist/reporting/students/model.d.ts +31 -0
  163. package/dist/reporting/students/model.js +1 -0
  164. package/dist/reporting/students/ports.d.ts +13 -0
  165. package/dist/reporting/students/ports.js +1 -0
  166. package/dist/reporting/students/service.d.ts +19 -0
  167. package/dist/reporting/students/service.js +20 -0
  168. package/dist/reporting/students/service.js.map +1 -0
  169. package/dist/shared/errors.d.ts +22 -0
  170. package/dist/shared/errors.js +34 -0
  171. package/dist/shared/errors.js.map +1 -0
  172. package/dist/shared/events.d.ts +31 -0
  173. package/dist/shared/events.js +75 -0
  174. package/dist/shared/events.js.map +1 -0
  175. package/dist/shared/id.d.ts +44 -0
  176. package/dist/shared/id.js +53 -0
  177. package/dist/shared/id.js.map +1 -0
  178. package/dist/shared/invite-token.d.ts +9 -0
  179. package/dist/shared/invite-token.js +16 -0
  180. package/dist/shared/invite-token.js.map +1 -0
  181. package/dist/shared/logger.d.ts +19 -0
  182. package/dist/shared/logger.js +44 -0
  183. package/dist/shared/logger.js.map +1 -0
  184. package/dist/shared/mailer.d.ts +23 -0
  185. package/dist/shared/mailer.js +27 -0
  186. package/dist/shared/mailer.js.map +1 -0
  187. package/dist/shared/ports.d.ts +62 -0
  188. package/dist/shared/ports.js +2 -0
  189. package/dist/shared/settings.d.ts +25 -0
  190. package/dist/shared/settings.js +21 -0
  191. package/dist/shared/settings.js.map +1 -0
  192. package/dist/types/assets.d.ts +2 -0
  193. package/dist/types/assets.js +1 -0
  194. package/dist/types/automations.d.ts +23 -0
  195. package/dist/types/automations.js +1 -0
  196. package/dist/types/content.d.ts +2 -0
  197. package/dist/types/content.js +1 -0
  198. package/dist/types/discussion.d.ts +36 -0
  199. package/dist/types/discussion.js +1 -0
  200. package/dist/types/email-templates.d.ts +57 -0
  201. package/dist/types/email-templates.js +1 -0
  202. package/dist/types/entitlements.d.ts +3 -0
  203. package/dist/types/entitlements.js +1 -0
  204. package/dist/types/events.d.ts +25 -0
  205. package/dist/types/events.js +1 -0
  206. package/dist/types/identity.d.ts +37 -0
  207. package/dist/types/identity.js +1 -0
  208. package/dist/types/index.d.ts +23 -0
  209. package/dist/types/index.js +1 -0
  210. package/dist/types/integrations.d.ts +45 -0
  211. package/dist/types/integrations.js +1 -0
  212. package/dist/types/organizations.d.ts +15 -0
  213. package/dist/types/organizations.js +1 -0
  214. package/dist/types/ports.d.ts +57 -0
  215. package/dist/types/ports.js +1 -0
  216. package/dist/types/progress.d.ts +6 -0
  217. package/dist/types/progress.js +1 -0
  218. package/dist/types/schemas/assets.d.ts +109 -0
  219. package/dist/types/schemas/assets.js +49 -0
  220. package/dist/types/schemas/assets.js.map +1 -0
  221. package/dist/types/schemas/automations.d.ts +118 -0
  222. package/dist/types/schemas/automations.js +73 -0
  223. package/dist/types/schemas/automations.js.map +1 -0
  224. package/dist/types/schemas/content.d.ts +216 -0
  225. package/dist/types/schemas/content.js +138 -0
  226. package/dist/types/schemas/content.js.map +1 -0
  227. package/dist/types/schemas/credentials.d.ts +15 -0
  228. package/dist/types/schemas/credentials.js +15 -0
  229. package/dist/types/schemas/credentials.js.map +1 -0
  230. package/dist/types/schemas/discussion.d.ts +192 -0
  231. package/dist/types/schemas/discussion.js +100 -0
  232. package/dist/types/schemas/discussion.js.map +1 -0
  233. package/dist/types/schemas/entitlements.d.ts +50 -0
  234. package/dist/types/schemas/entitlements.js +38 -0
  235. package/dist/types/schemas/entitlements.js.map +1 -0
  236. package/dist/types/schemas/identity.d.ts +37 -0
  237. package/dist/types/schemas/identity.js +34 -0
  238. package/dist/types/schemas/identity.js.map +1 -0
  239. package/dist/types/schemas/index.d.ts +14 -0
  240. package/dist/types/schemas/index.js +14 -0
  241. package/dist/types/schemas/integrations.d.ts +36 -0
  242. package/dist/types/schemas/integrations.js +30 -0
  243. package/dist/types/schemas/integrations.js.map +1 -0
  244. package/dist/types/schemas/organizations.d.ts +135 -0
  245. package/dist/types/schemas/organizations.js +90 -0
  246. package/dist/types/schemas/organizations.js.map +1 -0
  247. package/dist/types/schemas/outbox.d.ts +19 -0
  248. package/dist/types/schemas/outbox.js +18 -0
  249. package/dist/types/schemas/outbox.js.map +1 -0
  250. package/dist/types/schemas/progress.d.ts +53 -0
  251. package/dist/types/schemas/progress.js +37 -0
  252. package/dist/types/schemas/progress.js.map +1 -0
  253. package/dist/types/schemas/settings.d.ts +16 -0
  254. package/dist/types/schemas/settings.js +15 -0
  255. package/dist/types/schemas/settings.js.map +1 -0
  256. package/dist/types/schemas/shared.d.ts +13 -0
  257. package/dist/types/schemas/shared.js +28 -0
  258. package/dist/types/schemas/shared.js.map +1 -0
  259. package/dist/types/shared.d.ts +25 -0
  260. package/dist/types/shared.js +1 -0
  261. package/package.json +61 -0
@@ -0,0 +1,410 @@
1
+ import { JsonValue } from "../types/shared.js";
2
+ import { EventOf, EventOfValues, RuntimeEventDefinition, VersionedDomainEvent } from "../shared/events.js";
3
+ import "../shared/ports.js";
4
+ //#region src/content/events.d.ts
5
+ declare const contentEvents: {
6
+ courseCreated: RuntimeEventDefinition<VersionedDomainEvent<{
7
+ orgId: string;
8
+ id: string;
9
+ type: "course";
10
+ title: string;
11
+ slug: string;
12
+ description: string;
13
+ status: "draft" | "published";
14
+ category: string;
15
+ thumbnailAssetId: string | null;
16
+ settings: JsonValue;
17
+ createdAt: Date;
18
+ updatedAt: Date;
19
+ }, "content.course.created", 1>, {
20
+ orgId: string;
21
+ id: string;
22
+ type: "course";
23
+ title: string;
24
+ slug: string;
25
+ description: string;
26
+ status: "draft" | "published";
27
+ category: string;
28
+ thumbnailAssetId: string | null;
29
+ settings: unknown;
30
+ createdAt: unknown;
31
+ updatedAt: unknown;
32
+ }>;
33
+ courseUpdated: RuntimeEventDefinition<VersionedDomainEvent<{
34
+ orgId: string;
35
+ id: string;
36
+ type: "course";
37
+ title: string;
38
+ slug: string;
39
+ description: string;
40
+ status: "draft" | "published";
41
+ category: string;
42
+ thumbnailAssetId: string | null;
43
+ settings: JsonValue;
44
+ createdAt: Date;
45
+ updatedAt: Date;
46
+ }, "content.course.updated", 1>, {
47
+ orgId: string;
48
+ id: string;
49
+ type: "course";
50
+ title: string;
51
+ slug: string;
52
+ description: string;
53
+ status: "draft" | "published";
54
+ category: string;
55
+ thumbnailAssetId: string | null;
56
+ settings: unknown;
57
+ createdAt: unknown;
58
+ updatedAt: unknown;
59
+ }>;
60
+ courseDeleted: RuntimeEventDefinition<VersionedDomainEvent<{
61
+ orgId: string;
62
+ id: string;
63
+ type: "course";
64
+ title: string;
65
+ slug: string;
66
+ description: string;
67
+ status: "draft" | "published";
68
+ category: string;
69
+ thumbnailAssetId: string | null;
70
+ settings: JsonValue;
71
+ createdAt: Date;
72
+ updatedAt: Date;
73
+ }, "content.course.deleted", 1>, {
74
+ orgId: string;
75
+ id: string;
76
+ type: "course";
77
+ title: string;
78
+ slug: string;
79
+ description: string;
80
+ status: "draft" | "published";
81
+ category: string;
82
+ thumbnailAssetId: string | null;
83
+ settings: unknown;
84
+ createdAt: unknown;
85
+ updatedAt: unknown;
86
+ }>;
87
+ moduleCreated: RuntimeEventDefinition<VersionedDomainEvent<{
88
+ orgId: string;
89
+ id: string;
90
+ courseId: string;
91
+ title: string;
92
+ seq: number;
93
+ createdAt: Date;
94
+ updatedAt: Date;
95
+ }, "content.course.module.created", 1>, {
96
+ orgId: string;
97
+ id: string;
98
+ courseId: string;
99
+ title: string;
100
+ seq: number;
101
+ createdAt: unknown;
102
+ updatedAt: unknown;
103
+ }>;
104
+ moduleUpdated: RuntimeEventDefinition<VersionedDomainEvent<{
105
+ orgId: string;
106
+ id: string;
107
+ courseId: string;
108
+ title: string;
109
+ seq: number;
110
+ createdAt: Date;
111
+ updatedAt: Date;
112
+ }, "content.course.module.updated", 1>, {
113
+ orgId: string;
114
+ id: string;
115
+ courseId: string;
116
+ title: string;
117
+ seq: number;
118
+ createdAt: unknown;
119
+ updatedAt: unknown;
120
+ }>;
121
+ moduleDeleted: RuntimeEventDefinition<VersionedDomainEvent<{
122
+ orgId: string;
123
+ id: string;
124
+ courseId: string;
125
+ title: string;
126
+ seq: number;
127
+ createdAt: Date;
128
+ updatedAt: Date;
129
+ }, "content.course.module.deleted", 1>, {
130
+ orgId: string;
131
+ id: string;
132
+ courseId: string;
133
+ title: string;
134
+ seq: number;
135
+ createdAt: unknown;
136
+ updatedAt: unknown;
137
+ }>;
138
+ modulesReordered: RuntimeEventDefinition<VersionedDomainEvent<{
139
+ orgId: string;
140
+ id: string;
141
+ courseId: string;
142
+ title: string;
143
+ seq: number;
144
+ createdAt: Date;
145
+ updatedAt: Date;
146
+ }[], "content.course.modules.reordered", 1>, {
147
+ orgId: string;
148
+ id: string;
149
+ courseId: string;
150
+ title: string;
151
+ seq: number;
152
+ createdAt: unknown;
153
+ updatedAt: unknown;
154
+ }[]>;
155
+ activityCreated: RuntimeEventDefinition<VersionedDomainEvent<{
156
+ orgId: string;
157
+ id: string;
158
+ moduleId: string;
159
+ courseId: string;
160
+ seq: number;
161
+ settings: JsonValue;
162
+ createdAt: Date;
163
+ updatedAt: Date;
164
+ }, "content.course.activity.created", 1>, {
165
+ orgId: string;
166
+ id: string;
167
+ moduleId: string;
168
+ courseId: string;
169
+ seq: number;
170
+ settings: unknown;
171
+ createdAt: unknown;
172
+ updatedAt: unknown;
173
+ }>;
174
+ activityUpdated: RuntimeEventDefinition<VersionedDomainEvent<{
175
+ orgId: string;
176
+ id: string;
177
+ moduleId: string;
178
+ courseId: string;
179
+ seq: number;
180
+ settings: JsonValue;
181
+ createdAt: Date;
182
+ updatedAt: Date;
183
+ }, "content.course.activity.updated", 1>, {
184
+ orgId: string;
185
+ id: string;
186
+ moduleId: string;
187
+ courseId: string;
188
+ seq: number;
189
+ settings: unknown;
190
+ createdAt: unknown;
191
+ updatedAt: unknown;
192
+ }>;
193
+ activityDeleted: RuntimeEventDefinition<VersionedDomainEvent<{
194
+ orgId: string;
195
+ id: string;
196
+ moduleId: string;
197
+ courseId: string;
198
+ seq: number;
199
+ settings: JsonValue;
200
+ createdAt: Date;
201
+ updatedAt: Date;
202
+ }, "content.course.activity.deleted", 1>, {
203
+ orgId: string;
204
+ id: string;
205
+ moduleId: string;
206
+ courseId: string;
207
+ seq: number;
208
+ settings: unknown;
209
+ createdAt: unknown;
210
+ updatedAt: unknown;
211
+ }>;
212
+ activitiesReordered: RuntimeEventDefinition<VersionedDomainEvent<{
213
+ orgId: string;
214
+ id: string;
215
+ courseId: string;
216
+ title: string;
217
+ seq: number;
218
+ createdAt: Date;
219
+ updatedAt: Date;
220
+ }, "content.course.activities.reordered", 1>, {
221
+ orgId: string;
222
+ id: string;
223
+ courseId: string;
224
+ title: string;
225
+ seq: number;
226
+ createdAt: unknown;
227
+ updatedAt: unknown;
228
+ }>;
229
+ downloadCreated: RuntimeEventDefinition<VersionedDomainEvent<{
230
+ orgId: string;
231
+ id: string;
232
+ type: "download";
233
+ title: string;
234
+ slug: string;
235
+ description: string;
236
+ status: "draft" | "published";
237
+ category: string;
238
+ thumbnailAssetId: string | null;
239
+ createdAt: Date;
240
+ updatedAt: Date;
241
+ }, "content.download.created", 1>, {
242
+ orgId: string;
243
+ id: string;
244
+ type: "download";
245
+ title: string;
246
+ slug: string;
247
+ description: string;
248
+ status: "draft" | "published";
249
+ category: string;
250
+ thumbnailAssetId: string | null;
251
+ createdAt: unknown;
252
+ updatedAt: unknown;
253
+ }>;
254
+ downloadUpdated: RuntimeEventDefinition<VersionedDomainEvent<{
255
+ orgId: string;
256
+ id: string;
257
+ type: "download";
258
+ title: string;
259
+ slug: string;
260
+ description: string;
261
+ status: "draft" | "published";
262
+ category: string;
263
+ thumbnailAssetId: string | null;
264
+ createdAt: Date;
265
+ updatedAt: Date;
266
+ }, "content.download.updated", 1>, {
267
+ orgId: string;
268
+ id: string;
269
+ type: "download";
270
+ title: string;
271
+ slug: string;
272
+ description: string;
273
+ status: "draft" | "published";
274
+ category: string;
275
+ thumbnailAssetId: string | null;
276
+ createdAt: unknown;
277
+ updatedAt: unknown;
278
+ }>;
279
+ downloadDeleted: RuntimeEventDefinition<VersionedDomainEvent<{
280
+ orgId: string;
281
+ id: string;
282
+ type: "download";
283
+ title: string;
284
+ slug: string;
285
+ description: string;
286
+ status: "draft" | "published";
287
+ category: string;
288
+ thumbnailAssetId: string | null;
289
+ createdAt: Date;
290
+ updatedAt: Date;
291
+ }, "content.download.deleted", 1>, {
292
+ orgId: string;
293
+ id: string;
294
+ type: "download";
295
+ title: string;
296
+ slug: string;
297
+ description: string;
298
+ status: "draft" | "published";
299
+ category: string;
300
+ thumbnailAssetId: string | null;
301
+ createdAt: unknown;
302
+ updatedAt: unknown;
303
+ }>;
304
+ downloadAssetAdded: RuntimeEventDefinition<VersionedDomainEvent<{
305
+ downloadId: string;
306
+ assets: {
307
+ orgId: string;
308
+ id: string;
309
+ downloadId: string;
310
+ assetId: string;
311
+ seq: number;
312
+ displayName: string | null;
313
+ }[];
314
+ }, "content.download.asset.added", 1>, {
315
+ downloadId: string;
316
+ assets: {
317
+ orgId: string;
318
+ id: string;
319
+ downloadId: string;
320
+ assetId: string;
321
+ seq: number;
322
+ displayName: string | null;
323
+ }[];
324
+ }>;
325
+ downloadAssetRemoved: RuntimeEventDefinition<VersionedDomainEvent<{
326
+ downloadId: string;
327
+ assets: {
328
+ orgId: string;
329
+ id: string;
330
+ downloadId: string;
331
+ assetId: string;
332
+ seq: number;
333
+ displayName: string | null;
334
+ }[];
335
+ }, "content.download.asset.removed", 1>, {
336
+ downloadId: string;
337
+ assets: {
338
+ orgId: string;
339
+ id: string;
340
+ downloadId: string;
341
+ assetId: string;
342
+ seq: number;
343
+ displayName: string | null;
344
+ }[];
345
+ }>;
346
+ downloadAssetRenamed: RuntimeEventDefinition<VersionedDomainEvent<{
347
+ downloadId: string;
348
+ assets: {
349
+ orgId: string;
350
+ id: string;
351
+ downloadId: string;
352
+ assetId: string;
353
+ seq: number;
354
+ displayName: string | null;
355
+ }[];
356
+ }, "content.download.asset.renamed", 1>, {
357
+ downloadId: string;
358
+ assets: {
359
+ orgId: string;
360
+ id: string;
361
+ downloadId: string;
362
+ assetId: string;
363
+ seq: number;
364
+ displayName: string | null;
365
+ }[];
366
+ }>;
367
+ downloadAssetsReordered: RuntimeEventDefinition<VersionedDomainEvent<{
368
+ downloadId: string;
369
+ assets: {
370
+ orgId: string;
371
+ id: string;
372
+ downloadId: string;
373
+ assetId: string;
374
+ seq: number;
375
+ displayName: string | null;
376
+ }[];
377
+ }, "content.download.assets.reordered", 1>, {
378
+ downloadId: string;
379
+ assets: {
380
+ orgId: string;
381
+ id: string;
382
+ downloadId: string;
383
+ assetId: string;
384
+ seq: number;
385
+ displayName: string | null;
386
+ }[];
387
+ }>;
388
+ };
389
+ type CourseCreated = EventOf<typeof contentEvents.courseCreated>;
390
+ type CourseUpdated = EventOf<typeof contentEvents.courseUpdated>;
391
+ type CourseDeleted = EventOf<typeof contentEvents.courseDeleted>;
392
+ type CourseModuleCreated = EventOf<typeof contentEvents.moduleCreated>;
393
+ type CourseModuleUpdated = EventOf<typeof contentEvents.moduleUpdated>;
394
+ type CourseModuleDeleted = EventOf<typeof contentEvents.moduleDeleted>;
395
+ type CourseModulesReordered = EventOf<typeof contentEvents.modulesReordered>;
396
+ type CourseActivityCreated = EventOf<typeof contentEvents.activityCreated>;
397
+ type CourseActivityUpdated = EventOf<typeof contentEvents.activityUpdated>;
398
+ type CourseActivityDeleted = EventOf<typeof contentEvents.activityDeleted>;
399
+ type CourseActivitiesReordered = EventOf<typeof contentEvents.activitiesReordered>;
400
+ type DownloadCreated = EventOf<typeof contentEvents.downloadCreated>;
401
+ type DownloadUpdated = EventOf<typeof contentEvents.downloadUpdated>;
402
+ type DownloadDeleted = EventOf<typeof contentEvents.downloadDeleted>;
403
+ type DownloadAssetAdded = EventOf<typeof contentEvents.downloadAssetAdded>;
404
+ type DownloadAssetRemoved = EventOf<typeof contentEvents.downloadAssetRemoved>;
405
+ type DownloadAssetRenamed = EventOf<typeof contentEvents.downloadAssetRenamed>;
406
+ type DownloadAssetsReordered = EventOf<typeof contentEvents.downloadAssetsReordered>;
407
+ type ContentEvent = EventOfValues<typeof contentEvents>;
408
+ //#endregion
409
+ export { ContentEvent, CourseActivitiesReordered, CourseActivityCreated, CourseActivityDeleted, CourseActivityUpdated, CourseCreated, CourseDeleted, CourseModuleCreated, CourseModuleDeleted, CourseModuleUpdated, CourseModulesReordered, CourseUpdated, DownloadAssetAdded, DownloadAssetRemoved, DownloadAssetRenamed, DownloadAssetsReordered, DownloadCreated, DownloadDeleted, DownloadUpdated, contentEvents };
410
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1,105 @@
1
+ import { idSchema } from "../types/schemas/shared.js";
2
+ import { activitySchema, courseSchema, downloadAssetSchema, downloadSchema, moduleSchema } from "../types/schemas/content.js";
3
+ import { defineEvent } from "../shared/events.js";
4
+ import { z } from "zod";
5
+ //#region src/content/events.ts
6
+ const downloadAssetsEventSchema = z.object({
7
+ downloadId: idSchema,
8
+ assets: z.array(downloadAssetSchema)
9
+ }).strict();
10
+ const contentEvents = {
11
+ courseCreated: defineEvent({
12
+ type: "content.course.created",
13
+ version: 1,
14
+ data: courseSchema
15
+ }),
16
+ courseUpdated: defineEvent({
17
+ type: "content.course.updated",
18
+ version: 1,
19
+ data: courseSchema
20
+ }),
21
+ courseDeleted: defineEvent({
22
+ type: "content.course.deleted",
23
+ version: 1,
24
+ data: courseSchema
25
+ }),
26
+ moduleCreated: defineEvent({
27
+ type: "content.course.module.created",
28
+ version: 1,
29
+ data: moduleSchema
30
+ }),
31
+ moduleUpdated: defineEvent({
32
+ type: "content.course.module.updated",
33
+ version: 1,
34
+ data: moduleSchema
35
+ }),
36
+ moduleDeleted: defineEvent({
37
+ type: "content.course.module.deleted",
38
+ version: 1,
39
+ data: moduleSchema
40
+ }),
41
+ modulesReordered: defineEvent({
42
+ type: "content.course.modules.reordered",
43
+ version: 1,
44
+ data: z.array(moduleSchema)
45
+ }),
46
+ activityCreated: defineEvent({
47
+ type: "content.course.activity.created",
48
+ version: 1,
49
+ data: activitySchema
50
+ }),
51
+ activityUpdated: defineEvent({
52
+ type: "content.course.activity.updated",
53
+ version: 1,
54
+ data: activitySchema
55
+ }),
56
+ activityDeleted: defineEvent({
57
+ type: "content.course.activity.deleted",
58
+ version: 1,
59
+ data: activitySchema
60
+ }),
61
+ activitiesReordered: defineEvent({
62
+ type: "content.course.activities.reordered",
63
+ version: 1,
64
+ data: moduleSchema
65
+ }),
66
+ downloadCreated: defineEvent({
67
+ type: "content.download.created",
68
+ version: 1,
69
+ data: downloadSchema
70
+ }),
71
+ downloadUpdated: defineEvent({
72
+ type: "content.download.updated",
73
+ version: 1,
74
+ data: downloadSchema
75
+ }),
76
+ downloadDeleted: defineEvent({
77
+ type: "content.download.deleted",
78
+ version: 1,
79
+ data: downloadSchema
80
+ }),
81
+ downloadAssetAdded: defineEvent({
82
+ type: "content.download.asset.added",
83
+ version: 1,
84
+ data: downloadAssetsEventSchema
85
+ }),
86
+ downloadAssetRemoved: defineEvent({
87
+ type: "content.download.asset.removed",
88
+ version: 1,
89
+ data: downloadAssetsEventSchema
90
+ }),
91
+ downloadAssetRenamed: defineEvent({
92
+ type: "content.download.asset.renamed",
93
+ version: 1,
94
+ data: downloadAssetsEventSchema
95
+ }),
96
+ downloadAssetsReordered: defineEvent({
97
+ type: "content.download.assets.reordered",
98
+ version: 1,
99
+ data: downloadAssetsEventSchema
100
+ })
101
+ };
102
+ //#endregion
103
+ export { contentEvents };
104
+
105
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","names":[],"sources":["../../src/content/events.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n activitySchema,\n courseSchema,\n downloadAssetSchema,\n downloadSchema,\n idSchema,\n moduleSchema,\n} from '../types/schemas/index.js';\nimport {\n defineEvent,\n type EventOf,\n type EventOfValues,\n} from '../shared/ports.js';\n\nconst downloadAssetsEventSchema = z\n .object({\n downloadId: idSchema,\n assets: z.array(downloadAssetSchema),\n })\n .strict();\n\nexport const contentEvents = {\n courseCreated: defineEvent({\n type: 'content.course.created',\n version: 1,\n data: courseSchema,\n }),\n courseUpdated: defineEvent({\n type: 'content.course.updated',\n version: 1,\n data: courseSchema,\n }),\n courseDeleted: defineEvent({\n type: 'content.course.deleted',\n version: 1,\n data: courseSchema,\n }),\n moduleCreated: defineEvent({\n type: 'content.course.module.created',\n version: 1,\n data: moduleSchema,\n }),\n moduleUpdated: defineEvent({\n type: 'content.course.module.updated',\n version: 1,\n data: moduleSchema,\n }),\n moduleDeleted: defineEvent({\n type: 'content.course.module.deleted',\n version: 1,\n data: moduleSchema,\n }),\n modulesReordered: defineEvent({\n type: 'content.course.modules.reordered',\n version: 1,\n data: z.array(moduleSchema),\n }),\n activityCreated: defineEvent({\n type: 'content.course.activity.created',\n version: 1,\n data: activitySchema,\n }),\n activityUpdated: defineEvent({\n type: 'content.course.activity.updated',\n version: 1,\n data: activitySchema,\n }),\n activityDeleted: defineEvent({\n type: 'content.course.activity.deleted',\n version: 1,\n data: activitySchema,\n }),\n activitiesReordered: defineEvent({\n type: 'content.course.activities.reordered',\n version: 1,\n data: moduleSchema,\n }),\n downloadCreated: defineEvent({\n type: 'content.download.created',\n version: 1,\n data: downloadSchema,\n }),\n downloadUpdated: defineEvent({\n type: 'content.download.updated',\n version: 1,\n data: downloadSchema,\n }),\n downloadDeleted: defineEvent({\n type: 'content.download.deleted',\n version: 1,\n data: downloadSchema,\n }),\n downloadAssetAdded: defineEvent({\n type: 'content.download.asset.added',\n version: 1,\n data: downloadAssetsEventSchema,\n }),\n downloadAssetRemoved: defineEvent({\n type: 'content.download.asset.removed',\n version: 1,\n data: downloadAssetsEventSchema,\n }),\n downloadAssetRenamed: defineEvent({\n type: 'content.download.asset.renamed',\n version: 1,\n data: downloadAssetsEventSchema,\n }),\n downloadAssetsReordered: defineEvent({\n type: 'content.download.assets.reordered',\n version: 1,\n data: downloadAssetsEventSchema,\n }),\n};\n\nexport type CourseCreated = EventOf<typeof contentEvents.courseCreated>;\nexport type CourseUpdated = EventOf<typeof contentEvents.courseUpdated>;\nexport type CourseDeleted = EventOf<typeof contentEvents.courseDeleted>;\nexport type CourseModuleCreated = EventOf<typeof contentEvents.moduleCreated>;\nexport type CourseModuleUpdated = EventOf<typeof contentEvents.moduleUpdated>;\nexport type CourseModuleDeleted = EventOf<typeof contentEvents.moduleDeleted>;\nexport type CourseModulesReordered = EventOf<typeof contentEvents.modulesReordered>;\nexport type CourseActivityCreated = EventOf<typeof contentEvents.activityCreated>;\nexport type CourseActivityUpdated = EventOf<typeof contentEvents.activityUpdated>;\nexport type CourseActivityDeleted = EventOf<typeof contentEvents.activityDeleted>;\nexport type CourseActivitiesReordered = EventOf<typeof contentEvents.activitiesReordered>;\nexport type DownloadCreated = EventOf<typeof contentEvents.downloadCreated>;\nexport type DownloadUpdated = EventOf<typeof contentEvents.downloadUpdated>;\nexport type DownloadDeleted = EventOf<typeof contentEvents.downloadDeleted>;\nexport type DownloadAssetAdded = EventOf<typeof contentEvents.downloadAssetAdded>;\nexport type DownloadAssetRemoved = EventOf<typeof contentEvents.downloadAssetRemoved>;\nexport type DownloadAssetRenamed = EventOf<typeof contentEvents.downloadAssetRenamed>;\nexport type DownloadAssetsReordered = EventOf<typeof contentEvents.downloadAssetsReordered>;\nexport type ContentEvent = EventOfValues<typeof contentEvents>;\n"],"mappings":";;;;;AAeA,MAAM,4BAA4B,EAC/B,OAAO;CACN,YAAY;CACZ,QAAQ,EAAE,MAAM,mBAAmB;AACrC,CAAC,CAAC,CACD,OAAO;AAEV,MAAa,gBAAgB;CAC3B,eAAe,YAAY;EACzB,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,eAAe,YAAY;EACzB,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,eAAe,YAAY;EACzB,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,eAAe,YAAY;EACzB,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,eAAe,YAAY;EACzB,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,eAAe,YAAY;EACzB,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,kBAAkB,YAAY;EAC5B,MAAM;EACN,SAAS;EACT,MAAM,EAAE,MAAM,YAAY;CAC5B,CAAC;CACD,iBAAiB,YAAY;EAC3B,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,iBAAiB,YAAY;EAC3B,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,iBAAiB,YAAY;EAC3B,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,qBAAqB,YAAY;EAC/B,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,iBAAiB,YAAY;EAC3B,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,iBAAiB,YAAY;EAC3B,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,iBAAiB,YAAY;EAC3B,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,oBAAoB,YAAY;EAC9B,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,sBAAsB,YAAY;EAChC,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,sBAAsB,YAAY;EAChC,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;CACD,yBAAyB,YAAY;EACnC,MAAM;EACN,SAAS;EACT,MAAM;CACR,CAAC;AACH"}
@@ -0,0 +1,8 @@
1
+ import { Page } from "../types/shared.js";
2
+ import { Activity, AddDownloadAssetInput, Course, CourseSettings, CourseStatus, CreateCourseInput, CreateDownloadInput, Download, DownloadAsset, DownloadStatus, ListCoursesQuery, ListDownloadsQuery, Module, ReorderDownloadAssetsInput, SaveActivityInput, UpdateCourseInput, UpdateDownloadInput } from "../types/schemas/content.js";
3
+ import { ContentEvent, CourseActivitiesReordered, CourseActivityCreated, CourseActivityDeleted, CourseActivityUpdated, CourseCreated, CourseDeleted, CourseModuleCreated, CourseModuleDeleted, CourseModuleUpdated, CourseModulesReordered, CourseUpdated, DownloadCreated, DownloadDeleted, DownloadUpdated, contentEvents } from "./events.js";
4
+ import "./model.js";
5
+ import "./types.js";
6
+ import { ContentRepository, ContentService } from "./ports.js";
7
+ import { ContentServiceImpl } from "./service.js";
8
+ export { type Activity, type AddDownloadAssetInput, type ContentEvent, type ContentRepository, type ContentService, ContentServiceImpl, type Course, type CourseActivitiesReordered, type CourseActivityCreated, type CourseActivityDeleted, type CourseActivityUpdated, type CourseCreated, type CourseDeleted, type CourseModuleCreated, type CourseModuleDeleted, type CourseModuleUpdated, type CourseModulesReordered, type CourseSettings, type CourseStatus, type CourseUpdated, type CreateCourseInput, type CreateDownloadInput, type Download, type DownloadAsset, type DownloadCreated, type DownloadDeleted, type DownloadStatus, type DownloadUpdated, type ListCoursesQuery, type ListDownloadsQuery, type Module, type Page, type ReorderDownloadAssetsInput, type SaveActivityInput, type UpdateCourseInput, type UpdateDownloadInput, contentEvents };
@@ -0,0 +1,3 @@
1
+ import { contentEvents } from "./events.js";
2
+ import { ContentServiceImpl } from "./service.js";
3
+ export { ContentServiceImpl, contentEvents };
@@ -0,0 +1,3 @@
1
+ import { Activity, ActivityAsset, ActivitySettings, ContentItem, ContentType, Course, CourseSettings, CourseStatus, Download, DownloadAsset, DownloadStatus, Module, SaveActivityInput } from "../types/schemas/content.js";
2
+ import "../types/index.js";
3
+ export type { Activity, ActivityAsset, ActivitySettings, ContentItem, ContentType, Course, CourseSettings, CourseStatus, Download, DownloadAsset, DownloadStatus, Module, SaveActivityInput };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,85 @@
1
+ import { Page } from "../types/shared.js";
2
+ import { Activity, AddDownloadAssetInput, Course, CourseSettings, CreateCourseInput, CreateDownloadInput, Download, DownloadAsset, ListCoursesQuery, ListDownloadsQuery, Module, SaveActivityInput, UpdateCourseInput, UpdateDownloadInput } from "../types/schemas/content.js";
3
+ import { OutboxAppender, UnitOfWork } from "../shared/ports.js";
4
+ import "./model.js";
5
+ import "./types.js";
6
+ //#region src/content/ports.d.ts
7
+ interface ContentService {
8
+ list(orgId: string, query: ListCoursesQuery): Promise<Page<Course>>;
9
+ getCourse(orgId: string, id: string): Promise<Course | null>;
10
+ createCourse(orgId: string, input: CreateCourseInput): Promise<Course>;
11
+ /** @throws NotFoundError when no course with this id exists in the org. */
12
+ updateCourse(orgId: string, id: string, patch: UpdateCourseInput): Promise<Course>;
13
+ /** @throws NotFoundError when no course with this id exists in the org. */
14
+ patchSettings(orgId: string, id: string, value: Partial<CourseSettings>): Promise<CourseSettings>;
15
+ /** @throws NotFoundError when no course with this id exists in the org. */
16
+ deleteCourse(orgId: string, id: string): Promise<void>;
17
+ listCourseModules(orgId: string, courseId: string): Promise<Module[]>;
18
+ listCourseActivities(orgId: string, courseId: string): Promise<Activity[]>;
19
+ getActivity(orgId: string, activityId: string): Promise<Activity | null>;
20
+ getModule(orgId: string, moduleId: string): Promise<Module | null>;
21
+ reorderModules(orgId: string, courseId: string, orderedIds: string[]): Promise<Module[]>;
22
+ createModule(orgId: string, courseId: string, title: string): Promise<Module[]>;
23
+ /** @throws NotFoundError when no such module exists in this course. */
24
+ updateModule(orgId: string, courseId: string, moduleId: string, title: string): Promise<Module[]>;
25
+ /** @throws NotFoundError when no such module exists in this course. */
26
+ deleteModule(orgId: string, courseId: string, moduleId: string): Promise<Module[]>;
27
+ /** @throws NotFoundError when no such module exists in this course. */
28
+ reorderActivities(orgId: string, courseId: string, moduleId: string, orderedIds: string[]): Promise<Module[]>;
29
+ /** @throws NotFoundError when the module — or, on update, the activity — does not exist. */
30
+ saveActivity(orgId: string, courseId: string, moduleId: string, input: SaveActivityInput, activityId?: string): Promise<Module[]>;
31
+ /** @throws NotFoundError when no such activity exists in this module. */
32
+ deleteActivity(orgId: string, courseId: string, moduleId: string, activityId: string): Promise<Module[]>;
33
+ listDownloads(orgId: string, query: ListDownloadsQuery): Promise<Page<Download>>;
34
+ getDownload(orgId: string, id: string): Promise<Download | null>;
35
+ createDownload(orgId: string, input: CreateDownloadInput): Promise<Download>;
36
+ /** @throws NotFoundError when no download with this id exists in the org. */
37
+ updateDownload(orgId: string, id: string, patch: UpdateDownloadInput): Promise<Download>;
38
+ /** @throws NotFoundError when no download with this id exists in the org. */
39
+ removeDownload(orgId: string, id: string): Promise<void>;
40
+ listDownloadAssets(orgId: string, downloadId: string): Promise<DownloadAsset[]>;
41
+ addDownloadAsset(orgId: string, downloadId: string, input: AddDownloadAssetInput): Promise<DownloadAsset[]>;
42
+ removeDownloadAsset(orgId: string, downloadId: string, assetId: string): Promise<DownloadAsset[]>;
43
+ renameDownloadAsset(orgId: string, downloadId: string, assetId: string, displayName: string | null): Promise<DownloadAsset[]>;
44
+ /** @throws ConflictError when assetIds is not exactly the download's current asset set. */
45
+ reorderDownloadAssets(orgId: string, downloadId: string, assetIds: string[]): Promise<DownloadAsset[]>;
46
+ }
47
+ interface ContentRepository {
48
+ list(orgId: string, query: ListCoursesQuery): Promise<Page<Course>>;
49
+ findById(orgId: string, id: string): Promise<Course | null>;
50
+ create(orgId: string, input: CreateCourseInput, slug: string): Promise<Course>;
51
+ update(orgId: string, id: string, patch: UpdateCourseInput): Promise<Course | null>;
52
+ delete(orgId: string, id: string): Promise<boolean>;
53
+ listForCourse(orgId: string, courseId: string): Promise<Module[]>;
54
+ listActivitiesForCourse(orgId: string, courseId: string): Promise<Activity[]>;
55
+ findActivity(orgId: string, activityId: string): Promise<Activity | null>;
56
+ findModule(orgId: string, moduleId: string): Promise<Module | null>;
57
+ reorderModules(orgId: string, courseId: string, orderedIds: string[]): Promise<Module[]>;
58
+ createModule(orgId: string, courseId: string, title: string): Promise<Module[]>;
59
+ updateModule(orgId: string, courseId: string, moduleId: string, title: string): Promise<Module[]>;
60
+ deleteModule(orgId: string, courseId: string, moduleId: string): Promise<Module[]>;
61
+ reorderActivities(orgId: string, courseId: string, moduleId: string, orderedIds: string[]): Promise<Module[]>;
62
+ saveActivity(orgId: string, courseId: string, moduleId: string, input: SaveActivityInput, activityId?: string): Promise<{
63
+ modules: Module[];
64
+ activity: Activity;
65
+ }>;
66
+ deleteActivity(orgId: string, courseId: string, moduleId: string, activityId: string): Promise<Module[]>;
67
+ listDownloads(orgId: string, query: ListDownloadsQuery): Promise<Page<Download>>;
68
+ getDownload(orgId: string, id: string): Promise<Download | null>;
69
+ createDownload(orgId: string, input: CreateDownloadInput, slug: string): Promise<Download>;
70
+ updateDownload(orgId: string, id: string, patch: UpdateDownloadInput): Promise<Download | null>;
71
+ deleteDownload(orgId: string, id: string): Promise<boolean>;
72
+ listDownloadAssets(orgId: string, downloadId: string): Promise<DownloadAsset[]>;
73
+ addDownloadAsset(orgId: string, downloadId: string, input: AddDownloadAssetInput): Promise<DownloadAsset[]>;
74
+ removeDownloadAsset(orgId: string, downloadId: string, assetId: string): Promise<DownloadAsset[]>;
75
+ renameDownloadAsset(orgId: string, downloadId: string, assetId: string, displayName: string | null): Promise<DownloadAsset[]>;
76
+ reorderDownloadAssets(orgId: string, downloadId: string, assetIds: string[]): Promise<DownloadAsset[]>;
77
+ }
78
+ interface ContentTxScope {
79
+ content: ContentRepository;
80
+ outbox: OutboxAppender;
81
+ }
82
+ type ContentUnitOfWork = UnitOfWork<ContentTxScope>;
83
+ //#endregion
84
+ export { ContentRepository, ContentService, ContentTxScope, ContentUnitOfWork };
85
+ //# sourceMappingURL=ports.d.ts.map
@@ -0,0 +1 @@
1
+ export {};