@uptime.app/contracts 3.0.54 → 3.0.56

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 (243) hide show
  1. package/dist/cjs/brand/brand.d.ts +2 -0
  2. package/dist/cjs/brand/brand.d.ts.map +1 -1
  3. package/dist/cjs/draft-hack-generation/draft-hack-generation-events.d.ts +3 -0
  4. package/dist/cjs/draft-hack-generation/draft-hack-generation-events.d.ts.map +1 -1
  5. package/dist/cjs/hack-mapping/access-helper.js +1 -2
  6. package/dist/cjs/hack-mapping/access-helper.js.map +1 -1
  7. package/dist/cjs/hack-mapping/app-full-hack.js +1 -2
  8. package/dist/cjs/hack-mapping/app-full-hack.js.map +1 -1
  9. package/dist/cjs/hack-mapping/app-hack-metadata.js +1 -2
  10. package/dist/cjs/hack-mapping/app-hack-metadata.js.map +1 -1
  11. package/dist/cjs/hack-mapping/app-restricted-hack.js +1 -2
  12. package/dist/cjs/hack-mapping/app-restricted-hack.js.map +1 -1
  13. package/dist/cjs/hack-mapping/remove-undefined-fields.js +1 -2
  14. package/dist/cjs/hack-mapping/remove-undefined-fields.js.map +1 -1
  15. package/dist/cjs/hackbot/hack-generation-commands.d.ts +6 -9
  16. package/dist/cjs/hackbot/hack-generation-commands.d.ts.map +1 -1
  17. package/dist/cjs/hackbot/hack-generation-trigger.d.ts +6 -9
  18. package/dist/cjs/hackbot/hack-generation-trigger.d.ts.map +1 -1
  19. package/dist/cjs/hackbot/hack-generation-trigger.js.map +1 -1
  20. package/dist/cjs/hackbot/knowledge-source-location.d.ts +6 -0
  21. package/dist/cjs/hackbot/knowledge-source-location.d.ts.map +1 -0
  22. package/dist/cjs/hackbot/knowledge-source-location.js +3 -0
  23. package/dist/cjs/hackbot/knowledge-source-location.js.map +1 -0
  24. package/dist/cjs/knowledge-source-parsing/knowledge-source-metadata.d.ts +1 -0
  25. package/dist/cjs/knowledge-source-parsing/knowledge-source-metadata.d.ts.map +1 -1
  26. package/dist/cjs/knowledge-source-parsing/knowledge-source-parsing-commands.d.ts +9 -0
  27. package/dist/cjs/knowledge-source-parsing/knowledge-source-parsing-commands.d.ts.map +1 -1
  28. package/dist/cjs/knowledge-source-parsing/podcast-metadata.d.ts +1 -0
  29. package/dist/cjs/knowledge-source-parsing/podcast-metadata.d.ts.map +1 -1
  30. package/dist/cjs/knowledge-source-parsing/podcast-metadata.js.map +1 -1
  31. package/dist/cjs/localisation/live-locales.js +3 -4
  32. package/dist/cjs/localisation/live-locales.js.map +1 -1
  33. package/dist/cjs/localisation/locale-language.js +1 -2
  34. package/dist/cjs/localisation/locale-language.js.map +1 -1
  35. package/dist/cjs/localisation/supported-languages.js +2 -2
  36. package/dist/cjs/localisation/supported-languages.js.map +1 -1
  37. package/dist/cjs/localisation/supported-locales.js +3 -3
  38. package/dist/cjs/localisation/supported-locales.js.map +1 -1
  39. package/dist/cjs/service-simulator/mock-request-response.d.ts +8 -0
  40. package/dist/cjs/service-simulator/mock-request-response.d.ts.map +1 -1
  41. package/dist/cjs/text-to-speech/supported-voices.js +7 -8
  42. package/dist/cjs/text-to-speech/supported-voices.js.map +1 -1
  43. package/dist/cjs/user-acl/user-acl-utils.js +4 -4
  44. package/dist/cjs/user-acl/user-acl-utils.js.map +1 -1
  45. package/dist/esm/brand/brand.d.ts +2 -0
  46. package/dist/esm/brand/brand.d.ts.map +1 -1
  47. package/dist/esm/draft-hack-generation/draft-hack-generation-events.d.ts +3 -0
  48. package/dist/esm/draft-hack-generation/draft-hack-generation-events.d.ts.map +1 -1
  49. package/dist/esm/hackbot/hack-generation-commands.d.ts +6 -9
  50. package/dist/esm/hackbot/hack-generation-commands.d.ts.map +1 -1
  51. package/dist/esm/hackbot/hack-generation-trigger.d.ts +6 -9
  52. package/dist/esm/hackbot/hack-generation-trigger.d.ts.map +1 -1
  53. package/dist/esm/hackbot/hack-generation-trigger.js.map +1 -1
  54. package/dist/esm/hackbot/knowledge-source-location.d.ts +6 -0
  55. package/dist/esm/hackbot/knowledge-source-location.d.ts.map +1 -0
  56. package/dist/esm/hackbot/knowledge-source-location.js +2 -0
  57. package/dist/esm/hackbot/knowledge-source-location.js.map +1 -0
  58. package/dist/esm/knowledge-source-parsing/knowledge-source-metadata.d.ts +1 -0
  59. package/dist/esm/knowledge-source-parsing/knowledge-source-metadata.d.ts.map +1 -1
  60. package/dist/esm/knowledge-source-parsing/knowledge-source-parsing-commands.d.ts +9 -0
  61. package/dist/esm/knowledge-source-parsing/knowledge-source-parsing-commands.d.ts.map +1 -1
  62. package/dist/esm/knowledge-source-parsing/podcast-metadata.d.ts +1 -0
  63. package/dist/esm/knowledge-source-parsing/podcast-metadata.d.ts.map +1 -1
  64. package/dist/esm/knowledge-source-parsing/podcast-metadata.js.map +1 -1
  65. package/dist/esm/service-simulator/mock-request-response.d.ts +8 -0
  66. package/dist/esm/service-simulator/mock-request-response.d.ts.map +1 -1
  67. package/package.json +5 -2
  68. package/src/access-control/collection-access-control.ts +0 -28
  69. package/src/access-control/hack-access-control.ts +0 -32
  70. package/src/access-control/profile-access-control.ts +0 -28
  71. package/src/app-hack/app-full-hack.ts +0 -9
  72. package/src/app-hack/app-hack-metadata.ts +0 -61
  73. package/src/app-hack/app-restricted-hack.ts +0 -22
  74. package/src/b2b-content-access/b2b-content-access.ts +0 -57
  75. package/src/b2b-organisation/b2b-carousel.ts +0 -33
  76. package/src/b2b-organisation/b2b-org-idp-mapping.ts +0 -28
  77. package/src/b2b-organisation/b2b-organisation-events.ts +0 -21
  78. package/src/b2b-organisation/b2b-organisation-group-events.ts +0 -21
  79. package/src/b2b-organisation/b2b-organisation-group-membership-events.ts +0 -21
  80. package/src/b2b-organisation/b2b-organisation-group-membership.ts +0 -17
  81. package/src/b2b-organisation/b2b-organisation-group.ts +0 -43
  82. package/src/b2b-organisation/b2b-organisation-invitation.ts +0 -45
  83. package/src/b2b-organisation/b2b-organisation-member-events.ts +0 -21
  84. package/src/b2b-organisation/b2b-organisation-member.ts +0 -20
  85. package/src/b2b-organisation/b2b-organisation.ts +0 -38
  86. package/src/brand/brand-events.ts +0 -21
  87. package/src/brand/brand.ts +0 -78
  88. package/src/catalogue/catalogue.ts +0 -152
  89. package/src/cms-hack/cms-searchable-hack.ts +0 -44
  90. package/src/collection/collection-events.ts +0 -21
  91. package/src/collection/collection.ts +0 -59
  92. package/src/collection/enriched-collection-events.ts +0 -18
  93. package/src/collection/enriched-collection.ts +0 -65
  94. package/src/course/course-events.ts +0 -21
  95. package/src/course/course.ts +0 -25
  96. package/src/course-enrollment/course-enrollment-events.ts +0 -21
  97. package/src/course-enrollment/course-enrollment.ts +0 -36
  98. package/src/creator/creator-events.ts +0 -32
  99. package/src/creator/creator.ts +0 -7
  100. package/src/distribution/collection-distribution.ts +0 -17
  101. package/src/distribution/distribution-events.ts +0 -61
  102. package/src/distribution/hack-distribution.ts +0 -19
  103. package/src/draft-hack/draft-hack-events.ts +0 -21
  104. package/src/draft-hack/draft-hack.ts +0 -190
  105. package/src/draft-hack-generation/draft-hack-generation-commands.ts +0 -10
  106. package/src/draft-hack-generation/draft-hack-generation-events.ts +0 -52
  107. package/src/draft-hack-generation/draft-hack-generation.ts +0 -39
  108. package/src/enriched-b2b-organisation/enriched-b2b-organisation-events.ts +0 -21
  109. package/src/enriched-b2b-organisation/enriched-b2b-organisation.ts +0 -38
  110. package/src/enriched-hack/enriched-hack-events.ts +0 -21
  111. package/src/enriched-hack/enriched-hack.ts +0 -109
  112. package/src/enrichment-asset/hack-enrichment-video-events.ts +0 -55
  113. package/src/enrichment-asset/hack-enrichment-video.ts +0 -40
  114. package/src/entitlement/user-entitlements-commands.ts +0 -54
  115. package/src/entitlement/user-entitlements-events.ts +0 -29
  116. package/src/entitlement/user-entitlements.ts +0 -18
  117. package/src/flashcard/flashcard-events.ts +0 -85
  118. package/src/flashcard/flashcard.ts +0 -138
  119. package/src/hack/extracted-subject.ts +0 -31
  120. package/src/hack/hack-events.ts +0 -21
  121. package/src/hack/hack-published.ts +0 -21
  122. package/src/hack/hack-with-voice-events.ts +0 -21
  123. package/src/hack/hack-with-voice.ts +0 -36
  124. package/src/hack/hack.ts +0 -127
  125. package/src/hack/publish-hack-command.ts +0 -20
  126. package/src/hack/republish-hack-command.ts +0 -20
  127. package/src/hack-mapping/access-helper.ts +0 -6
  128. package/src/hack-mapping/app-full-hack.test.ts +0 -13
  129. package/src/hack-mapping/app-full-hack.ts +0 -14
  130. package/src/hack-mapping/app-hack-metadata.test.ts +0 -22
  131. package/src/hack-mapping/app-hack-metadata.ts +0 -82
  132. package/src/hack-mapping/app-restricted-hack.test.ts +0 -12
  133. package/src/hack-mapping/app-restricted-hack.ts +0 -21
  134. package/src/hack-mapping/remove-undefined-fields.ts +0 -9
  135. package/src/hack-mapping/test-data/enriched-hack.json +0 -2576
  136. package/src/hack-mapping/test-data/expected-app-full-hack.json +0 -2509
  137. package/src/hack-mapping/test-data/expected-app-hack-metadata.json +0 -93
  138. package/src/hack-mapping/test-data/expected-app-restricted-hack.json +0 -799
  139. package/src/hack-metadata/hack-metadata-events.ts +0 -21
  140. package/src/hack-metadata/hack-metadata.ts +0 -17
  141. package/src/hack-of-the-day/hack-of-the-day-events.ts +0 -21
  142. package/src/hack-of-the-day/hack-of-the-day.ts +0 -13
  143. package/src/hack-statistics/hack-statistics-events.ts +0 -21
  144. package/src/hack-statistics/hack-statistics.ts +0 -10
  145. package/src/hackbot/hack-generation-commands.ts +0 -45
  146. package/src/hackbot/hack-generation-trigger-events.ts +0 -21
  147. package/src/hackbot/hack-generation-trigger.ts +0 -57
  148. package/src/history/history-events.ts +0 -21
  149. package/src/history/history.ts +0 -46
  150. package/src/identity-provider/domain-identity-provider-events.ts +0 -21
  151. package/src/identity-provider/domain-identity-provider.ts +0 -11
  152. package/src/identity-provider/identity-provider-events.ts +0 -21
  153. package/src/identity-provider/identity-provider.ts +0 -51
  154. package/src/index.ts +0 -220
  155. package/src/interest/interest-events.ts +0 -21
  156. package/src/interest/interest.ts +0 -15
  157. package/src/knowledge-source/knowledge-source-events.ts +0 -21
  158. package/src/knowledge-source/knowledge-source.ts +0 -43
  159. package/src/knowledge-source-parsing/knowledge-source-metadata.ts +0 -58
  160. package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +0 -41
  161. package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +0 -30
  162. package/src/knowledge-source-parsing/podcast-metadata.ts +0 -44
  163. package/src/knowledge-source-parsing/podcast-parsing-events.ts +0 -28
  164. package/src/knowledge-source-parsing/user-hack-generation-options.ts +0 -7
  165. package/src/learn-upon/get-sqsso-url.ts +0 -13
  166. package/src/learn-upon/learn-upon-commands.ts +0 -33
  167. package/src/learn-upon/learn-upon-course-enrollment-events.ts +0 -21
  168. package/src/learn-upon/learn-upon-course-enrollment.ts +0 -63
  169. package/src/learn-upon/learn-upon-course-events.ts +0 -21
  170. package/src/learn-upon/learn-upon-course.ts +0 -109
  171. package/src/learn-upon/learn-upon-portal-events.ts +0 -21
  172. package/src/learn-upon/learn-upon-portal.ts +0 -13
  173. package/src/learn-upon/learn-upon-user-mapping-events.ts +0 -19
  174. package/src/learn-upon/learn-upon-user-mapping.ts +0 -10
  175. package/src/learn-upon/learn-upon-webhook-events.ts +0 -81
  176. package/src/learn-upon/learn-upon-webhook-types.ts +0 -347
  177. package/src/learn-upon/unenroll.ts +0 -7
  178. package/src/localisation/live-locales.ts +0 -45
  179. package/src/localisation/locale-language.ts +0 -4
  180. package/src/localisation/supported-languages.ts +0 -11
  181. package/src/localisation/supported-locales.ts +0 -67
  182. package/src/message-bus/context.ts +0 -8
  183. package/src/moderation/hack-moderation-result-events.ts +0 -18
  184. package/src/moderation/hack-moderation-result.ts +0 -27
  185. package/src/partner/partner-events.ts +0 -21
  186. package/src/partner/partner.ts +0 -7
  187. package/src/pending-hack/pending-hack-events.ts +0 -21
  188. package/src/pending-hack/pending-hack-with-voice-events.ts +0 -21
  189. package/src/pending-hack/pending-hack-with-voice.ts +0 -25
  190. package/src/pending-hack/pending-hack.ts +0 -78
  191. package/src/preferences/preferences-events.ts +0 -15
  192. package/src/preferences/preferences.ts +0 -35
  193. package/src/profile/profile-events.ts +0 -41
  194. package/src/profile/profile.ts +0 -36
  195. package/src/profile/translated-profile.ts +0 -13
  196. package/src/referral/referral-events.ts +0 -41
  197. package/src/referral/referral.ts +0 -76
  198. package/src/saved/saved-collection-events.ts +0 -19
  199. package/src/saved/saved-collection.ts +0 -8
  200. package/src/segment/segment-commands.ts +0 -75
  201. package/src/segment/segment-events.ts +0 -42
  202. package/src/segment/segment-with-voice.ts +0 -8
  203. package/src/segment/segment.ts +0 -82
  204. package/src/service-simulator/mock-request-response.ts +0 -17
  205. package/src/skin/skin-events.ts +0 -21
  206. package/src/skin/skin.ts +0 -7
  207. package/src/spark/spark-board-read-model.ts +0 -17
  208. package/src/spark/spark-board.ts +0 -12
  209. package/src/spark/spark-events.ts +0 -42
  210. package/src/spark/spark.ts +0 -75
  211. package/src/text-analysis/hack-categories-extracted-events.ts +0 -24
  212. package/src/text-analysis/hack-categories-extracted.ts +0 -31
  213. package/src/text-analysis/hack-entities-extracted-events.ts +0 -24
  214. package/src/text-analysis/hack-entities-extracted.ts +0 -38
  215. package/src/text-analysis/hack-keywords-extracted-events.ts +0 -24
  216. package/src/text-analysis/hack-keywords-extracted.ts +0 -23
  217. package/src/text-analysis/hack-topics-extracted-events.ts +0 -24
  218. package/src/text-analysis/hack-topics-extracted.ts +0 -31
  219. package/src/text-to-speech/create-speech-commands.ts +0 -22
  220. package/src/text-to-speech/speech-created-events.ts +0 -10
  221. package/src/text-to-speech/supported-voices.ts +0 -222
  222. package/src/text-to-speech/text-segment.ts +0 -29
  223. package/src/theme/theme-events.ts +0 -21
  224. package/src/theme/theme.ts +0 -68
  225. package/src/translation/translation-events.ts +0 -73
  226. package/src/translation/translation.ts +0 -25
  227. package/src/trending/trending-events.ts +0 -21
  228. package/src/trending/trending-hacks.ts +0 -8
  229. package/src/user/cognito-user-authentication-log.ts +0 -8
  230. package/src/user/get-user.ts +0 -63
  231. package/src/user/user-events.ts +0 -39
  232. package/src/user-acl/user-acl-utils.test.ts +0 -273
  233. package/src/user-acl/user-acl-utils.ts +0 -177
  234. package/src/user-context/user-context-events.ts +0 -21
  235. package/src/user-context/user-context.ts +0 -16
  236. package/src/user-notification-context/user-notification-context-events.ts +0 -21
  237. package/src/user-notification-context/user-notification-context.ts +0 -10
  238. package/src/user-statistics/user-statistics-events.ts +0 -97
  239. package/src/user-statistics/user-statistics.ts +0 -82
  240. package/src/video-cropping/video-cropping-events.ts +0 -43
  241. package/src/video-cropping/video-metadata.ts +0 -12
  242. package/tsconfig.cjs.json +0 -7
  243. package/tsconfig.npm.json +0 -22
@@ -1,21 +0,0 @@
1
- import { Collection } from './collection';
2
-
3
- export interface CollectionCreatedEvent {
4
- id: string;
5
- type: 'CollectionCreated';
6
- payload: Collection;
7
- }
8
-
9
- export interface CollectionUpdatedEvent {
10
- id: string;
11
- type: 'CollectionUpdated';
12
- payload: Collection;
13
- }
14
-
15
- export interface CollectionDeletedEvent {
16
- id: string;
17
- type: 'CollectionDeleted';
18
- payload: Collection;
19
- }
20
-
21
- export type CollectionChangedEvent = CollectionCreatedEvent | CollectionUpdatedEvent | CollectionDeletedEvent;
@@ -1,59 +0,0 @@
1
- export interface Collection {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
-
7
- title: string;
8
- /** added 21/02/2023 use @uptime.app/localisation-contracts SupportedLocale */
9
- locale: string;
10
- /** added 21/02/2023 */
11
- baseLocaleCollectionId: string;
12
- /** added May 2023. Only set on collections that are translations */
13
- baseLocaleCollectionVersion?: number;
14
- subtitle?: string;
15
- iconUrl?: string;
16
- coverUrl?: string;
17
- backgroundColor?: string;
18
- description: string;
19
- isPublished: boolean;
20
- visibility?: CollectionVisibility;
21
- tags?: string[];
22
- rank?: number;
23
- notificationMessage?: string;
24
- type: CollectionType;
25
- backdrop?: BackdropMetadata;
26
-
27
- /** Added on June 2022. Not all messages on the archive will have this property. */
28
- collectionHacks: CollectionHack[];
29
- owner: string;
30
- /** Added and backfilled December 2025 */
31
- tenant: string;
32
-
33
- /**
34
- * @deprecated you should use new 'collectionHacks' property
35
- */
36
- hackIds: string[];
37
- }
38
-
39
- export type CollectionType = 'collection' | 'backdrop';
40
-
41
- export interface CollectionVisibility {
42
- /* ISO date */
43
- startDate: string;
44
- /* ISO date */
45
- endDate: string;
46
- }
47
-
48
- export interface CollectionHack {
49
- hackId: string;
50
- /**
51
- * @maxLength 300
52
- */
53
- blurb?: string;
54
- }
55
-
56
- export interface BackdropMetadata {
57
- /* e.g. "2022-02-09T10:00:00" */
58
- backdropDate: string;
59
- }
@@ -1,18 +0,0 @@
1
- import { EnrichedCollection } from './enriched-collection';
2
-
3
- export interface EnrichedCollectionCreatedEvent {
4
- id: string;
5
- type: 'EnrichedCollectionCreated';
6
- payload: EnrichedCollection;
7
- }
8
- export interface EnrichedCollectionUpdatedEvent {
9
- id: string;
10
- type: 'EnrichedCollectionUpdated';
11
- payload: EnrichedCollection;
12
- }
13
- export interface EnrichedCollectionDeletedEvent {
14
- id: string;
15
- type: 'EnrichedCollectionDeleted';
16
- payload: EnrichedCollection;
17
- }
18
- export type EnrichedCollectionChangedEvent = EnrichedCollectionCreatedEvent | EnrichedCollectionUpdatedEvent | EnrichedCollectionDeletedEvent;
@@ -1,65 +0,0 @@
1
- import { AppHackMetadata } from '../app-hack/app-hack-metadata';
2
- import { ProfileMetadata } from '../profile/profile';
3
- import { BackdropMetadata } from './collection';
4
-
5
- export interface EnrichedCollection {
6
- id: string;
7
- v: number;
8
- createdAt: string;
9
- updatedAt: string;
10
- locale: string,
11
- language: string;
12
- baseLocaleCollectionId: string;
13
- title: string;
14
- subtitle?: string;
15
- coverUrl?: string;
16
- iconUrl?: string;
17
- backgroundColor?: string;
18
- description: string;
19
- tags: string[];
20
- rank?: number;
21
- acl: string[];
22
- catalogues: string[];
23
- isPublished: boolean;
24
- owner: string;
25
- /** Added and backfilled December 2025 */
26
- tenant: string;
27
- /** Added March 2026, required because 'tenant' is also required */
28
- tenantDisplayName: string;
29
- hacks: EnrichCollectionHack[];
30
- backdrop?: BackdropMetadata;
31
- isBackdrop: boolean;
32
- profile: EnrichCollectionProfile;
33
- notificationMessage?: string;
34
- includeInEmailNotifications: boolean;
35
- includeInPushNotifications: boolean;
36
- includeInRecommendations: boolean;
37
- includeInSearchResults: boolean;
38
- includeInWebsite: boolean;
39
- isHidden: boolean;
40
- visibility?: Visibility;
41
- }
42
-
43
- export interface EnrichCollectionHack {
44
- blurb?: string;
45
- hack: AppHackMetadata;
46
- }
47
-
48
- export interface ExistingProfile {
49
- id: string;
50
- name: string;
51
- avatarUrl: string;
52
- handle: string;
53
- }
54
-
55
- export type DeletedProfile = ProfileMetadata;
56
-
57
- export interface Visibility {
58
- /* ISO date */
59
- startDate: string;
60
- /* ISO date */
61
- endDate: string;
62
- }
63
-
64
- // matches pattern found in the hack enrichment service where the EnrichedHackProfile may be an actual Profile or it may have been deleted
65
- export type EnrichCollectionProfile = ExistingProfile | DeletedProfile;
@@ -1,21 +0,0 @@
1
- import { Course } from './course';
2
-
3
- export interface CourseCreatedEvent {
4
- id: string;
5
- type: 'CourseCreated';
6
- payload: Course;
7
- }
8
-
9
- export interface CourseUpdatedEvent {
10
- id: string;
11
- type: 'CourseUpdated';
12
- payload: Course;
13
- }
14
-
15
- export interface CourseDeletedEvent {
16
- id: string;
17
- type: 'CourseDeleted';
18
- payload: Course;
19
- }
20
-
21
- export type CourseChangedEvent = CourseCreatedEvent | CourseUpdatedEvent | CourseDeletedEvent;
@@ -1,25 +0,0 @@
1
-
2
- export interface Course {
3
- id: string;
4
- uptimeLearnUponPortalId: string;
5
- v: number;
6
- createdAt: string;
7
- updatedAt: string;
8
- title: string;
9
- coverUrl?: string;
10
- moduleCount: number;
11
- isCertified: boolean;
12
- isCataloged: boolean;
13
- dueDate?: string;
14
- accessExpiresAt?: string;
15
- publishedAt?: string;
16
- status: 'published' | 'draft' | 'archived' | 'under_revision' | 'deleted';
17
- shortDescription?: string;
18
- descriptionText?: string;
19
- descriptionHtml?: string;
20
- objectivesText?: string;
21
- objectivesHtml?: string;
22
- difficulty: 'not_applicable' | 'basic' | 'intermediate' | 'advanced';
23
- length?: number;
24
- lengthUnit?: string;
25
- }
@@ -1,21 +0,0 @@
1
- import { CourseEnrollment } from './course-enrollment';
2
-
3
- export interface CourseEnrollmentCreatedEvent {
4
- id: string;
5
- type: 'CourseEnrollmentCreated';
6
- payload: CourseEnrollment;
7
- }
8
-
9
- export interface CourseEnrollmentUpdatedEvent {
10
- id: string;
11
- type: 'CourseEnrollmentUpdated';
12
- payload: CourseEnrollment;
13
- }
14
-
15
- export interface CourseEnrollmentDeletedEvent {
16
- id: string;
17
- type: 'CourseEnrollmentDeleted';
18
- payload: CourseEnrollment;
19
- }
20
-
21
- export type CourseEnrollmentChangedEvent = CourseEnrollmentCreatedEvent | CourseEnrollmentUpdatedEvent | CourseEnrollmentDeletedEvent;
@@ -1,36 +0,0 @@
1
-
2
- export interface CourseEnrollment {
3
- /** maps to LearnUponWebhookCourseEnrollment.id */
4
- id: string;
5
- v: number;
6
- createdAt: string;
7
- updatedAt: string;
8
- /** maps to Course.title */
9
- courseTitle: string;
10
- /** maps to Course.coverUrl */
11
- courseCoverUrl?: string;
12
- /** uptime user id */
13
- userId: string;
14
- /** maps to Course.id */
15
- courseId: string;
16
- dueDate?: string;
17
- accessExpiresAt?: string;
18
- /** maps to Course.moduleCount */
19
- moduleCount: number;
20
- /** maps to Course.isCertified */
21
- isCertified: boolean;
22
- /** LearnUponWebhookCourseEnrollment.eventCreated */
23
- enrolledAt: string;
24
- /** maps to LearnUponWebhookCourseCompletion.enrollmentStatus && LearnUponWebhookModuleCompletions*/
25
- status: 'not_started' | 'in_progress' | 'completed' | 'passed' | 'failed' | 'pending_review';
26
- percentageComplete: number;
27
- percentageScore?: number;
28
- completedModuleCount: number;
29
- startedAt?: string;
30
- completedAt?: string;
31
- lastInteractedAt?: string;
32
- enrollmentUpdatedAt?: string;
33
- unenrolled?: boolean;
34
- organisationId: string;
35
- courseShortDescription?: string;
36
- }
@@ -1,32 +0,0 @@
1
- import { Creator } from './creator';
2
-
3
- export interface CreatorCreatedEvent {
4
- id: string;
5
- type: 'CreatorCreated',
6
- payload: Creator;
7
- }
8
-
9
-
10
- export interface CreatorUpdatedEvent {
11
- id: string;
12
- type: 'CreatorUpdated',
13
- payload: Creator;
14
- }
15
-
16
- export interface CreatorDeletedEvent {
17
- id: string;
18
- type: 'CreatorDeleted',
19
- payload: Creator;
20
- }
21
-
22
- export type CreatorChangedEvent = CreatorCreatedEvent | CreatorUpdatedEvent | CreatorDeletedEvent;
23
-
24
- export interface BecomeACreatorCommandPayload {
25
- userId: string;
26
- }
27
-
28
- export interface BecomeACreatorCommand {
29
- id: string;
30
- type: 'BecomeACreator',
31
- payload: BecomeACreatorCommandPayload;
32
- }
@@ -1,7 +0,0 @@
1
- export interface Creator {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- owner: string;
7
- }
@@ -1,17 +0,0 @@
1
- export interface CollectionDistribution extends CollectionDistributionProperties {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- collectionId: string;
7
- baseLocaleCollectionId: string;
8
- }
9
-
10
- export interface CollectionDistributionProperties {
11
- includeInEmailNotifications: boolean;
12
- includeInPushNotifications: boolean;
13
- includeInRecommendations: boolean;
14
- includeInSearchResults: boolean;
15
- includeInWebsite: boolean;
16
- isHidden: boolean;
17
- }
@@ -1,61 +0,0 @@
1
- import { HackDistribution } from './hack-distribution';
2
- import { CollectionDistribution } from './collection-distribution';
3
-
4
- export interface HackDistributionCreatedEvent {
5
- id: string;
6
- type: 'HackDistributionCreated';
7
- payload: HackDistribution;
8
- }
9
-
10
- export interface HackDistributionUpdatedEvent {
11
- id: string;
12
- type: 'HackDistributionUpdated';
13
- payload: HackDistribution;
14
- }
15
-
16
- export interface HackDistributionDeletedEvent {
17
- id: string;
18
- type: 'HackDistributionDeleted';
19
- payload: HackDistribution;
20
- }
21
-
22
- export interface CollectionDistributionCreatedEvent {
23
- id: string;
24
- type: 'CollectionDistributionCreated';
25
- payload: CollectionDistribution;
26
- }
27
-
28
- export interface CollectionDistributionUpdatedEvent {
29
- id: string;
30
- type: 'CollectionDistributionUpdated';
31
- payload: CollectionDistribution;
32
- }
33
-
34
- export interface CollectionDistributionDeletedEvent {
35
- id: string;
36
- type: 'CollectionDistributionDeleted';
37
- payload: CollectionDistribution;
38
- }
39
-
40
- export type HackDistributionChangedEvent = HackDistributionCreatedEvent | HackDistributionUpdatedEvent | HackDistributionDeletedEvent;
41
- export type CollectionDistributionChangedEvent = CollectionDistributionCreatedEvent | CollectionDistributionUpdatedEvent | CollectionDistributionDeletedEvent;
42
-
43
- export interface CheckPrivateHackDistributionEvent {
44
- id: string;
45
- type: 'CheckPrivateHackDistribution'
46
- payload: {
47
- id: string;
48
- v: number;
49
- hackId: string;
50
- }
51
- }
52
-
53
- export interface CheckPrivateCollectionDistributionEvent {
54
- id: string;
55
- type: 'CheckPrivateCollectionDistribution'
56
- payload: {
57
- id: string;
58
- v: number;
59
- collectionId: string;
60
- }
61
- }
@@ -1,19 +0,0 @@
1
- export interface HackDistribution extends HackDistributionProperties {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- hackId: string;
7
- baseLocaleHackId: string; // added 09/03/23 to allow syncing across hacks with the same baseLocaleHackId
8
- }
9
-
10
- export interface HackDistributionProperties {
11
- includeInEmailNotifications: boolean;
12
- includeInPushNotifications: boolean;
13
- includeInRecommendations: boolean;
14
- includeInSearchResults: boolean;
15
- includeInTrending: boolean;
16
- includeInHackOfTheDay: boolean;
17
- includeInWebsite: boolean;
18
- isHidden: boolean; // added 17/11/22, to replace Hack property with the same name
19
- }
@@ -1,21 +0,0 @@
1
- import { DraftHack } from './draft-hack';
2
-
3
- export interface DraftHackCreatedEvent {
4
- id: string;
5
- type: 'DraftHackCreated';
6
- payload: DraftHack;
7
- }
8
-
9
- export interface DraftHackUpdatedEvent {
10
- id: string;
11
- type: 'DraftHackUpdated';
12
- payload: DraftHack;
13
- }
14
-
15
- export interface DraftHackDeletedEvent {
16
- id: string;
17
- type: 'DraftHackDeleted';
18
- payload: DraftHack;
19
- }
20
-
21
- export type DraftHackChangedEvent = DraftHackCreatedEvent | DraftHackUpdatedEvent | DraftHackDeletedEvent;
@@ -1,190 +0,0 @@
1
- import { SupportedLocale } from '../localisation/supported-locales';
2
-
3
- export interface DraftHack extends DraftHackContent {
4
- /** The unique id of the draft hack. */
5
- id: string;
6
- /** The locale (language and region) of the draft hack e.g. fr-FR. Mandatory property since 12/01/2023. */
7
- locale: SupportedLocale;
8
- /** @deprecated Temporarily added in 12/01/2023. Should not be used under any circumstance as only a handful of drafts will contain this property */
9
- baseLocaleDraftHackId?: string;
10
- /** The id of the hack. Mandatory property since Dec 2022. */
11
- hackId: string;
12
- /** The id of the hack in its original locale. Mandatory property since 01/02/2023. */
13
- baseLocaleHackId: string;
14
-
15
- v: number;
16
- createdAt: string;
17
- updatedAt: string;
18
- publishedAt?: string;
19
- publishedVersion?: number;
20
- owner?: string;
21
- tenant?: string;
22
- /** workflowStatus was added in May 2022 as we move toward UGC. Older drafts have not been backfilled */
23
- workflowStatus?: DraftHackWorkflowStatus;
24
- /** added in Nov 2022. Set to true whenever content changes are made to the draft */
25
- hasUnpublishedChanges?: boolean;
26
- /** added in March 2023. Must be set whenever content changes are made to the draft */
27
- contentUpdatedAt?: string;
28
- /** added in late April 2023. Only set on translations. Set to the value of contentUpdatedAt of the base locale draft that was translated. Can be used to determine if the translated draft is out of sync with the original draft */
29
- baseLocaleContentUpdatedAt?: string;
30
- }
31
-
32
- export interface DraftHackContent {
33
- /**
34
- * @maxLength 150
35
- */
36
- title: string;
37
- /**
38
- * @maxLength 50
39
- */
40
- sourceId?: string;
41
- /**
42
- * @maxLength 50
43
- */
44
- themeId?: string;
45
- segments: DraftHackSegments;
46
- /**
47
- * @maxLength 1000
48
- */
49
- coverUrl?: string;
50
- /**
51
- * Added in July 2024. This is the URL of the cover image that is free to use without any copyright.
52
- * @maxLength 1000
53
- */
54
- copyrightFreeCoverUrl?: string;
55
- notifications?: DraftHackNotifications;
56
- affiliate?: DraftAffiliate;
57
- /**
58
- * @maxItems 50
59
- */
60
- topics?: DraftTopic[];
61
- /**
62
- * @maxItems 10
63
- */
64
- contributors?: DraftContributor[];
65
- sourceData?: DraftSourceData;
66
- /** For creators only. We will tackle this validation once profiles are introduce*/
67
- externalLink?: DraftHackExternalLink;
68
- /** For recording purpose for now, we will use this value further in the future */
69
- contentRating?: DraftHackRating;
70
- /**
71
- * @maxItems 50
72
- * @items.maxLength 150
73
- */
74
- tags?: string[];
75
- type?: DraftHackType;
76
- isCopyrightFree?: boolean;
77
- }
78
-
79
- export interface DraftHackNotifications {
80
- /**
81
- * @maxLength 1000
82
- */
83
- aiGeneratedText?: string;
84
- /**
85
- * @maxLength 1000
86
- */
87
- humanCuratedText?: string;
88
- }
89
-
90
- export interface DraftHackSegments {
91
- favouriteQuote?: DraftHackSegment;
92
- inANutshell?: DraftHackSegment;
93
- introduction?: DraftHackSegment;
94
- /**
95
- * @maxItems 10
96
- */
97
- insights?: DraftHackInsightSegment[];
98
- conclusion?: DraftHackSegment;
99
- }
100
-
101
- export interface DraftHackCard {
102
- /**
103
- * @maxLength 2000
104
- */
105
- markdown: string;
106
- }
107
-
108
- export interface DraftHackSegment {
109
- /**
110
- * @maxItems 50
111
- * @items.maxLength 150
112
- */
113
- keywords: string[];
114
- paragraphCards: DraftHackCard[][];
115
- /**
116
- * @maxLength 1000
117
- */
118
- textSummary?: string;
119
- }
120
-
121
- export interface DraftHackInsightSegment extends DraftHackSegment {
122
- /**
123
- * @maxLength 150
124
- */
125
- title?: string;
126
- /**
127
- * @maxItems 50
128
- */
129
- actions: DraftHackAction[];
130
- }
131
-
132
- export interface DraftHackAction {
133
- /**
134
- * @maxLength 150
135
- */
136
- title: string;
137
- /**
138
- * @maxLength 1000
139
- */
140
- markdown: string
141
- }
142
-
143
- export interface DraftContributor {
144
- /**
145
- * @maxLength 150
146
- */
147
- name: string;
148
- }
149
-
150
- export interface DraftTopic {
151
- /**
152
- * @maxLength 150
153
- */
154
- name: string;
155
- }
156
-
157
- export interface DraftAffiliate {
158
- /**
159
- * @maxLength 1000
160
- */
161
- url?: string;
162
- /**
163
- * @maxLength 150
164
- */
165
- name?: string;
166
- }
167
-
168
- export interface DraftSourceData {
169
- /**
170
- * @maxLength 150
171
- */
172
- episodeTitle?: string;
173
- /**
174
- * @maxLength 50
175
- */
176
- releaseDate?: string;
177
- }
178
-
179
- export interface DraftHackExternalLink {
180
- /**
181
- * @maxLength 1000
182
- */
183
- url: string;
184
- type: 'Website' | 'Book' | 'Course' | 'Podcast' | 'Video' | 'Other';
185
- }
186
-
187
- // this status is currently used to present the draft in different columns in the airtable used by the content team
188
- export type DraftHackWorkflowStatus = 'publishing' | 'published';
189
- export type DraftHackType = 'book' | 'course' | 'documentary' | 'podcast' | 'original';
190
- export type DraftHackRating = 'mature' | 'appropriate';
@@ -1,10 +0,0 @@
1
- export interface GenerateDraftHackCommand {
2
- id: string;
3
- type: 'GenerateDraftHack';
4
- payload: {
5
- knowledgeSourceContributor: string;
6
- knowledgeSourceName: string;
7
- knowledgeSourceType: string;
8
- reference: string;
9
- };
10
- }
@@ -1,52 +0,0 @@
1
- import { GeneratedDraftHackContent } from './draft-hack-generation';
2
-
3
- export interface DraftHackGenerated {
4
- id: string;
5
- type: 'DraftHackGenerated';
6
- payload: {
7
- // the draft hack id
8
- id: string;
9
- // the version
10
- v: number;
11
- reference: string;
12
- draftHackId: string;
13
- draftHackContent: GeneratedDraftHackContent;
14
-
15
- hackGenerationTriggerId: string;
16
-
17
- // introduced 11/09/2024
18
- researchNotes?: {
19
- insight1: string;
20
- insight2: string;
21
- insight3: string;
22
- };
23
- }
24
- }
25
-
26
- export interface DraftHackGenerationFailed {
27
- id: string;
28
- type: 'DraftHackGenerationFailed';
29
- payload: {
30
- reference: string;
31
- hackGenerationTriggerId: string;
32
- errorMessage: string;
33
- }
34
- }
35
-
36
- export interface GeneratedDraftHackSavedToGoogleDrive {
37
- id: string;
38
- type: 'GeneratedDraftHackSavedToGoogleDrive';
39
- payload: {
40
- // the draft hack id
41
- id: string;
42
- // the version
43
- v: number;
44
- reference: string;
45
- draftHackId: string;
46
- draftHackContent: GeneratedDraftHackContent;
47
- driveFile: {
48
- id: string;
49
- parentId: string;
50
- }
51
- }
52
- }