@uptime.app/contracts 3.0.20-rc.2 → 3.0.20

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 (211) hide show
  1. package/dist/cjs/b2b-organisation/b2b-organisation-group-events.d.ts +18 -0
  2. package/dist/cjs/b2b-organisation/b2b-organisation-group-events.d.ts.map +1 -0
  3. package/dist/cjs/b2b-organisation/b2b-organisation-group-events.js +3 -0
  4. package/dist/cjs/b2b-organisation/b2b-organisation-group-events.js.map +1 -0
  5. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership-events.d.ts +18 -0
  6. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership-events.d.ts.map +1 -0
  7. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership-events.js +3 -0
  8. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership-events.js.map +1 -0
  9. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.d.ts +10 -0
  10. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.d.ts.map +1 -0
  11. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.js +3 -0
  12. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.js.map +1 -0
  13. package/dist/cjs/b2b-organisation/b2b-organisation-group.d.ts +14 -0
  14. package/dist/cjs/b2b-organisation/b2b-organisation-group.d.ts.map +1 -0
  15. package/dist/cjs/b2b-organisation/b2b-organisation-group.js +9 -0
  16. package/dist/cjs/b2b-organisation/b2b-organisation-group.js.map +1 -0
  17. package/dist/cjs/course-enrollment/course-enrollment.d.ts +0 -2
  18. package/dist/cjs/course-enrollment/course-enrollment.d.ts.map +1 -1
  19. package/dist/cjs/index.d.ts +4 -0
  20. package/dist/cjs/index.d.ts.map +1 -1
  21. package/dist/cjs/index.js +4 -0
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/esm/b2b-organisation/b2b-organisation-group-events.d.ts +18 -0
  24. package/dist/esm/b2b-organisation/b2b-organisation-group-events.d.ts.map +1 -0
  25. package/dist/esm/b2b-organisation/b2b-organisation-group-events.js +2 -0
  26. package/dist/esm/b2b-organisation/b2b-organisation-group-events.js.map +1 -0
  27. package/dist/esm/b2b-organisation/b2b-organisation-group-membership-events.d.ts +18 -0
  28. package/dist/esm/b2b-organisation/b2b-organisation-group-membership-events.d.ts.map +1 -0
  29. package/dist/esm/b2b-organisation/b2b-organisation-group-membership-events.js +2 -0
  30. package/dist/esm/b2b-organisation/b2b-organisation-group-membership-events.js.map +1 -0
  31. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.d.ts +10 -0
  32. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.d.ts.map +1 -0
  33. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.js +2 -0
  34. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.js.map +1 -0
  35. package/dist/esm/b2b-organisation/b2b-organisation-group.d.ts +14 -0
  36. package/dist/esm/b2b-organisation/b2b-organisation-group.d.ts.map +1 -0
  37. package/dist/esm/b2b-organisation/b2b-organisation-group.js +6 -0
  38. package/dist/esm/b2b-organisation/b2b-organisation-group.js.map +1 -0
  39. package/dist/esm/course-enrollment/course-enrollment.d.ts +0 -2
  40. package/dist/esm/course-enrollment/course-enrollment.d.ts.map +1 -1
  41. package/dist/esm/index.d.ts +4 -0
  42. package/dist/esm/index.d.ts.map +1 -1
  43. package/dist/esm/index.js +4 -0
  44. package/dist/esm/index.js.map +1 -1
  45. package/package.json +2 -2
  46. package/src/access-control/collection-access-control.ts +28 -28
  47. package/src/access-control/hack-access-control.ts +32 -32
  48. package/src/access-control/profile-access-control.ts +27 -27
  49. package/src/app-hack/app-full-hack.ts +9 -9
  50. package/src/app-hack/app-hack-metadata.ts +61 -61
  51. package/src/app-hack/app-restricted-hack.ts +22 -22
  52. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  53. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  54. package/src/b2b-organisation/b2b-org-idp-mapping.ts +27 -27
  55. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  56. package/src/b2b-organisation/b2b-organisation-group-events.ts +21 -0
  57. package/src/b2b-organisation/b2b-organisation-group-membership-events.ts +21 -0
  58. package/src/b2b-organisation/b2b-organisation-group-membership.ts +9 -0
  59. package/src/b2b-organisation/b2b-organisation-group.ts +15 -0
  60. package/src/b2b-organisation/b2b-organisation-invitation.ts +45 -45
  61. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  62. package/src/b2b-organisation/b2b-organisation-member.ts +19 -19
  63. package/src/b2b-organisation/b2b-organisation.ts +35 -35
  64. package/src/brand/brand-events.ts +21 -21
  65. package/src/brand/brand.ts +27 -27
  66. package/src/catalogue/catalogue.ts +147 -147
  67. package/src/cms-hack/cms-searchable-hack.ts +44 -44
  68. package/src/collection/collection-events.ts +21 -21
  69. package/src/collection/collection.ts +57 -57
  70. package/src/collection/enriched-collection-events.ts +18 -18
  71. package/src/collection/enriched-collection.ts +61 -61
  72. package/src/course/course-events.ts +20 -20
  73. package/src/course/course.ts +25 -25
  74. package/src/course-enrollment/course-enrollment-events.ts +21 -21
  75. package/src/course-enrollment/course-enrollment.ts +33 -35
  76. package/src/creator/creator-events.ts +32 -32
  77. package/src/creator/creator.ts +7 -7
  78. package/src/distribution/collection-distribution.ts +17 -17
  79. package/src/distribution/distribution-events.ts +61 -61
  80. package/src/distribution/hack-distribution.ts +18 -18
  81. package/src/draft-hack/draft-hack-events.ts +21 -21
  82. package/src/draft-hack/draft-hack.ts +190 -190
  83. package/src/draft-hack-generation/draft-hack-generation-commands.ts +10 -10
  84. package/src/draft-hack-generation/draft-hack-generation-events.ts +52 -52
  85. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  86. package/src/enriched-b2b-organisation/enriched-b2b-organisation-events.ts +21 -21
  87. package/src/enriched-b2b-organisation/enriched-b2b-organisation.ts +37 -37
  88. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  89. package/src/enriched-hack/enriched-hack.ts +109 -109
  90. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  91. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  92. package/src/entitlement/user-entitlements-commands.ts +54 -54
  93. package/src/entitlement/user-entitlements-events.ts +29 -29
  94. package/src/entitlement/user-entitlements.ts +18 -18
  95. package/src/flashcard/flashcard-events.ts +85 -85
  96. package/src/flashcard/flashcard.ts +138 -138
  97. package/src/hack/extracted-subject.ts +31 -31
  98. package/src/hack/hack-events.ts +21 -21
  99. package/src/hack/hack-published.ts +21 -21
  100. package/src/hack/hack-with-voice-events.ts +20 -20
  101. package/src/hack/hack-with-voice.ts +36 -36
  102. package/src/hack/hack.ts +127 -127
  103. package/src/hack/publish-hack-command.ts +20 -20
  104. package/src/hack/republish-hack-command.ts +20 -20
  105. package/src/hack-mapping/access-helper.ts +6 -6
  106. package/src/hack-mapping/app-full-hack.test.ts +12 -12
  107. package/src/hack-mapping/app-full-hack.ts +14 -14
  108. package/src/hack-mapping/app-hack-metadata.test.ts +22 -22
  109. package/src/hack-mapping/app-hack-metadata.ts +82 -82
  110. package/src/hack-mapping/app-restricted-hack.test.ts +11 -11
  111. package/src/hack-mapping/app-restricted-hack.ts +21 -21
  112. package/src/hack-mapping/remove-undefined-fields.ts +9 -9
  113. package/src/hack-mapping/test-data/enriched-hack.json +2576 -2576
  114. package/src/hack-mapping/test-data/expected-app-full-hack.json +2509 -2509
  115. package/src/hack-mapping/test-data/expected-app-hack-metadata.json +93 -93
  116. package/src/hack-mapping/test-data/expected-app-restricted-hack.json +799 -799
  117. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  118. package/src/hack-metadata/hack-metadata.ts +17 -17
  119. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  120. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  121. package/src/hack-statistics/hack-statistics-events.ts +21 -21
  122. package/src/hack-statistics/hack-statistics.ts +9 -9
  123. package/src/hackbot/hack-generation-commands.ts +44 -44
  124. package/src/hackbot/hack-generation-trigger-events.ts +21 -21
  125. package/src/hackbot/hack-generation-trigger.ts +56 -56
  126. package/src/history/history-events.ts +21 -21
  127. package/src/history/history.ts +46 -46
  128. package/src/identity-provider/domain-identity-provider-events.ts +20 -20
  129. package/src/identity-provider/domain-identity-provider.ts +10 -10
  130. package/src/identity-provider/identity-provider-events.ts +20 -20
  131. package/src/identity-provider/identity-provider.ts +46 -46
  132. package/src/index.ts +210 -205
  133. package/src/interest/interest-events.ts +21 -21
  134. package/src/interest/interest.ts +15 -15
  135. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  136. package/src/knowledge-source/knowledge-source.ts +43 -43
  137. package/src/knowledge-source-parsing/knowledge-source-metadata.ts +52 -52
  138. package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +41 -41
  139. package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +30 -30
  140. package/src/knowledge-source-parsing/podcast-metadata.ts +44 -44
  141. package/src/knowledge-source-parsing/podcast-parsing-events.ts +28 -28
  142. package/src/knowledge-source-parsing/user-hack-generation-options.ts +7 -7
  143. package/src/learn-upon/get-sqsso-url.ts +13 -13
  144. package/src/learn-upon/learn-upon-commands.ts +32 -32
  145. package/src/learn-upon/learn-upon-course-enrollment-events.ts +21 -21
  146. package/src/learn-upon/learn-upon-course-enrollment.ts +62 -62
  147. package/src/learn-upon/learn-upon-course-events.ts +21 -21
  148. package/src/learn-upon/learn-upon-course.ts +105 -105
  149. package/src/learn-upon/learn-upon-portal-events.ts +20 -20
  150. package/src/learn-upon/learn-upon-portal.ts +12 -12
  151. package/src/learn-upon/learn-upon-user-mapping-events.ts +18 -18
  152. package/src/learn-upon/learn-upon-user-mapping.ts +9 -9
  153. package/src/learn-upon/learn-upon-webhook-events.ts +80 -80
  154. package/src/learn-upon/learn-upon-webhook-types.ts +346 -346
  155. package/src/learn-upon/unenroll.ts +6 -6
  156. package/src/localisation/live-locales.ts +45 -45
  157. package/src/localisation/locale-language.ts +4 -4
  158. package/src/localisation/supported-languages.ts +11 -11
  159. package/src/localisation/supported-locales.ts +67 -67
  160. package/src/message-bus/context.ts +7 -7
  161. package/src/moderation/hack-moderation-result-events.ts +18 -18
  162. package/src/moderation/hack-moderation-result.ts +27 -27
  163. package/src/partner/partner-events.ts +21 -21
  164. package/src/partner/partner.ts +7 -7
  165. package/src/pending-hack/pending-hack-events.ts +20 -20
  166. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  167. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  168. package/src/pending-hack/pending-hack.ts +78 -78
  169. package/src/preferences/preferences-events.ts +15 -15
  170. package/src/preferences/preferences.ts +35 -35
  171. package/src/profile/profile-events.ts +41 -41
  172. package/src/profile/profile.ts +36 -36
  173. package/src/profile/translated-profile.ts +13 -13
  174. package/src/referral/referral-events.ts +41 -41
  175. package/src/referral/referral.ts +76 -76
  176. package/src/saved/saved-collection-events.ts +19 -19
  177. package/src/saved/saved-collection.ts +8 -8
  178. package/src/segment/segment-commands.ts +75 -75
  179. package/src/segment/segment-events.ts +42 -42
  180. package/src/segment/segment-with-voice.ts +8 -8
  181. package/src/segment/segment.ts +82 -82
  182. package/src/service-simulator/mock-request-response.ts +17 -17
  183. package/src/skin/skin-events.ts +21 -21
  184. package/src/skin/skin.ts +6 -6
  185. package/src/spark/spark-board-read-model.ts +17 -17
  186. package/src/spark/spark-board.ts +12 -12
  187. package/src/spark/spark-events.ts +42 -42
  188. package/src/spark/spark.ts +75 -75
  189. package/src/text-to-speech/create-speech-commands.ts +22 -22
  190. package/src/text-to-speech/speech-created-events.ts +10 -10
  191. package/src/text-to-speech/supported-voices.ts +222 -222
  192. package/src/text-to-speech/text-segment.ts +29 -29
  193. package/src/theme/theme-events.ts +21 -21
  194. package/src/theme/theme.ts +68 -68
  195. package/src/translation/translation-events.ts +73 -73
  196. package/src/translation/translation.ts +25 -25
  197. package/src/trending/trending-events.ts +21 -21
  198. package/src/trending/trending-hacks.ts +8 -8
  199. package/src/user/cognito-user-authentication-log.ts +7 -7
  200. package/src/user/get-user.ts +63 -63
  201. package/src/user/user-events.ts +32 -32
  202. package/src/user-context/user-context-events.ts +21 -21
  203. package/src/user-context/user-context.ts +15 -15
  204. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  205. package/src/user-notification-context/user-notification-context.ts +9 -9
  206. package/src/user-statistics/user-statistics-events.ts +97 -97
  207. package/src/user-statistics/user-statistics.ts +82 -82
  208. package/src/video-cropping/video-cropping-events.ts +43 -43
  209. package/src/video-cropping/video-metadata.ts +12 -12
  210. package/tsconfig.cjs.json +7 -7
  211. package/tsconfig.npm.json +22 -22
@@ -1,20 +1,20 @@
1
- export interface B2BOrganisationMember {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- userId: string;
7
- organisationId: string;
8
- invitationId?: string;
9
- /** Added Nov 2024. AppRole.B2bAdmin or AppRole.B2bMember */
10
- role: string;
11
- profileId?: string;
12
- joinedVia?: B2BOrganisationMemberJoinedVia;
13
- externalUserId?: string;
14
- }
15
-
16
- export enum B2BOrganisationMemberJoinedVia {
17
- INVITATION = 'INVITATION',
18
- PUBLIC_LINK = 'PUBLIC_LINK',
19
- SSO = 'SSO',
1
+ export interface B2BOrganisationMember {
2
+ id: string;
3
+ v: number;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ userId: string;
7
+ organisationId: string;
8
+ invitationId?: string;
9
+ /** Added Nov 2024. AppRole.B2bAdmin or AppRole.B2bMember */
10
+ role: string;
11
+ profileId?: string;
12
+ joinedVia?: B2BOrganisationMemberJoinedVia;
13
+ externalUserId?: string;
14
+ }
15
+
16
+ export enum B2BOrganisationMemberJoinedVia {
17
+ INVITATION = 'INVITATION',
18
+ PUBLIC_LINK = 'PUBLIC_LINK',
19
+ SSO = 'SSO',
20
20
  }
@@ -1,36 +1,36 @@
1
- export interface B2BOrganisation {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- name: string; //unique
7
- owner: string; //unique
8
- code?: string;
9
- /** for now this will reference what to display in the home screen of the app for users that joined the organisation */
10
- provider: string;
11
- /** for organisations that might be different but have the same name to be displayed. Ex: HP Ireland & HP US ==> we want the displayName to be HP */
12
- displayName: string;
13
- /** the max amount of times the code to join an organisation can be used */
14
- codeUsageLimit?: number;
15
- /** the prefix to use for the url of the organisation */
16
- urlPrefix?: string;
17
- brandId?: string;
18
- /** if the organisation provides members with the premium entitlement */
19
- providesPremium?: boolean;
20
- /** Introduced to allow simple creation of demo orgs for sales team. Is used in production but only for demo purposes */
21
- isDemo?: boolean;
22
- /** Is used in production but only for demo purposes */
23
- demoLogoUrl?: string;
24
- /** Any extra entitlements that are issued to members of this organisation. Not to be used provide premium - use providesPremium flag */
25
- issuedEntitlements?: string[];
26
- /** If the org members are not given free premium then override the standard RevenueCat offering presented to the user */
27
- revenueCatOffering?: string;
28
- /** Promo code to be applied when the user requests for the available stripe plans */
29
- promoCode?: string;
30
- /** Whether the public link can be use or not */
31
- publicLinkDisabled?: boolean;
32
- /** Whether the organisation can create content */
33
- canCreateContent?: boolean;
34
- /** Id of the Uptime LearnUpon portal the organisation's users have access to */
35
- uptimeLearnUponPortalId?: string;
1
+ export interface B2BOrganisation {
2
+ id: string;
3
+ v: number;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ name: string; //unique
7
+ owner: string; //unique
8
+ code?: string;
9
+ /** for now this will reference what to display in the home screen of the app for users that joined the organisation */
10
+ provider: string;
11
+ /** for organisations that might be different but have the same name to be displayed. Ex: HP Ireland & HP US ==> we want the displayName to be HP */
12
+ displayName: string;
13
+ /** the max amount of times the code to join an organisation can be used */
14
+ codeUsageLimit?: number;
15
+ /** the prefix to use for the url of the organisation */
16
+ urlPrefix?: string;
17
+ brandId?: string;
18
+ /** if the organisation provides members with the premium entitlement */
19
+ providesPremium?: boolean;
20
+ /** Introduced to allow simple creation of demo orgs for sales team. Is used in production but only for demo purposes */
21
+ isDemo?: boolean;
22
+ /** Is used in production but only for demo purposes */
23
+ demoLogoUrl?: string;
24
+ /** Any extra entitlements that are issued to members of this organisation. Not to be used provide premium - use providesPremium flag */
25
+ issuedEntitlements?: string[];
26
+ /** If the org members are not given free premium then override the standard RevenueCat offering presented to the user */
27
+ revenueCatOffering?: string;
28
+ /** Promo code to be applied when the user requests for the available stripe plans */
29
+ promoCode?: string;
30
+ /** Whether the public link can be use or not */
31
+ publicLinkDisabled?: boolean;
32
+ /** Whether the organisation can create content */
33
+ canCreateContent?: boolean;
34
+ /** Id of the Uptime LearnUpon portal the organisation's users have access to */
35
+ uptimeLearnUponPortalId?: string;
36
36
  }
@@ -1,21 +1,21 @@
1
- import { Brand } from './brand';
2
-
3
- export interface BrandCreatedEvent {
4
- id: string;
5
- type: 'BrandCreated';
6
- payload: Brand;
7
- }
8
-
9
- export interface BrandUpdatedEvent {
10
- id: string;
11
- type: 'BrandUpdated';
12
- payload: Brand;
13
- }
14
-
15
- export interface BrandDeletedEvent {
16
- id: string;
17
- type: 'BrandDeleted';
18
- payload: Brand;
19
- }
20
-
21
- export type BrandChangedEvent = BrandCreatedEvent | BrandUpdatedEvent | BrandDeletedEvent;
1
+ import { Brand } from './brand';
2
+
3
+ export interface BrandCreatedEvent {
4
+ id: string;
5
+ type: 'BrandCreated';
6
+ payload: Brand;
7
+ }
8
+
9
+ export interface BrandUpdatedEvent {
10
+ id: string;
11
+ type: 'BrandUpdated';
12
+ payload: Brand;
13
+ }
14
+
15
+ export interface BrandDeletedEvent {
16
+ id: string;
17
+ type: 'BrandDeleted';
18
+ payload: Brand;
19
+ }
20
+
21
+ export type BrandChangedEvent = BrandCreatedEvent | BrandUpdatedEvent | BrandDeletedEvent;
@@ -1,28 +1,28 @@
1
- import { SupportedLocale } from '../localisation/supported-locales';
2
-
3
- export interface Brand {
4
- id: string;
5
- v: number;
6
- createdAt: string;
7
- updatedAt: string;
8
- name: string;
9
- skinId?: string;
10
- /** must unique across all brands */
11
- webAppDomain?: string;
12
- appName?: {
13
- [K in SupportedLocale]?: string
14
- };
15
- welcomeHacks?: WelcomeHack[];
16
- hasCustomTab?: boolean;
17
- customTabLongName?: {
18
- [K in SupportedLocale]?: string
19
- };
20
- customTabShortName?: {
21
- [K in SupportedLocale]?: string
22
- };
23
- }
24
-
25
- // In case we need to add more properties to the BrandHack interface, we can do so here.
26
- export interface WelcomeHack {
27
- hackId: string;
1
+ import { SupportedLocale } from '../localisation/supported-locales';
2
+
3
+ export interface Brand {
4
+ id: string;
5
+ v: number;
6
+ createdAt: string;
7
+ updatedAt: string;
8
+ name: string;
9
+ skinId?: string;
10
+ /** must unique across all brands */
11
+ webAppDomain?: string;
12
+ appName?: {
13
+ [K in SupportedLocale]?: string
14
+ };
15
+ welcomeHacks?: WelcomeHack[];
16
+ hasCustomTab?: boolean;
17
+ customTabLongName?: {
18
+ [K in SupportedLocale]?: string
19
+ };
20
+ customTabShortName?: {
21
+ [K in SupportedLocale]?: string
22
+ };
23
+ }
24
+
25
+ // In case we need to add more properties to the BrandHack interface, we can do so here.
26
+ export interface WelcomeHack {
27
+ hackId: string;
28
28
  }
@@ -1,147 +1,147 @@
1
- export interface Catalogue {
2
- id: string; // unique, dynamo primary key. not necessarily a uuid. could be b2b:<id> or a simple string like public
3
- owner: string; // used for permissions - who is allowed to edit this catalogue
4
- v: number;
5
- createdAt: string;
6
- updatedAt: string;
7
- name: string; // added December 2023 to make it easier to find catalogues in the UI
8
- accessType: CatalogueAccessType; // added December 2023.
9
- }
10
-
11
- export type CatalogueAccessType = 'include' | 'exclude';
12
-
13
- export interface CatalogueCreatedEvent {
14
- id: string;
15
- type: 'CatalogueCreated';
16
- payload: Catalogue;
17
- }
18
-
19
- export interface CatalogueUpdatedEvent {
20
- id: string;
21
- type: 'CatalogueUpdated';
22
- payload: Catalogue;
23
- }
24
-
25
- export interface CatalogueDeletedEvent {
26
- id: string;
27
- type: 'CatalogueDeleted';
28
- payload: Catalogue;
29
- }
30
-
31
- export type CatalogueChangedEvent = CatalogueCreatedEvent | CatalogueUpdatedEvent | CatalogueDeletedEvent;
32
-
33
- export interface CatalogueHackEntry {
34
- id: string; // not really used but there for store reasons
35
- v: number;
36
- createdAt: string;
37
- updatedAt: string;
38
- catalogueId: string; // the catalogue name
39
- baseLocaleHackId: string; // use baseLocaleHackId as all translations should be in the same catalogue
40
- }
41
-
42
- export interface CatalogueHackEntryCreatedEvent {
43
- id: string;
44
- type: 'CatalogueHackEntryCreated';
45
- payload: CatalogueHackEntry;
46
- }
47
-
48
- export interface CatalogueHackEntryUpdatedEvent {
49
- id: string;
50
- type: 'CatalogueHackEntryUpdated';
51
- payload: CatalogueHackEntry;
52
- }
53
-
54
- export interface CatalogueHackEntryDeletedEvent {
55
- id: string;
56
- type: 'CatalogueHackEntryDeleted';
57
- payload: CatalogueHackEntry;
58
- }
59
-
60
- export type CatalogueHackEntryChangedEvent = CatalogueHackEntryCreatedEvent | CatalogueHackEntryUpdatedEvent | CatalogueHackEntryDeletedEvent;
61
-
62
- export interface CatalogueCollectionEntry {
63
- id: string;
64
- v: number;
65
- createdAt: string;
66
- updatedAt: string;
67
- catalogueId: string;
68
- baseLocaleCollectionId: string;
69
- }
70
-
71
- export interface CatalogueCollectionEntryCreatedEvent {
72
- id: string;
73
- type: 'CatalogueCollectionEntryCreated';
74
- payload: CatalogueCollectionEntry;
75
- }
76
-
77
- export interface CatalogueCollectionEntryUpdatedEvent {
78
- id: string;
79
- type: 'CatalogueCollectionEntryUpdated';
80
- payload: CatalogueCollectionEntry;
81
- }
82
-
83
- export interface CatalogueCollectionEntryDeletedEvent {
84
- id: string;
85
- type: 'CatalogueCollectionEntryDeleted';
86
- payload: CatalogueCollectionEntry;
87
- }
88
-
89
- export type CatalogueCollectionEntryChangedEvent = CatalogueCollectionEntryCreatedEvent | CatalogueCollectionEntryUpdatedEvent | CatalogueCollectionEntryDeletedEvent;
90
-
91
- export interface CatalogueB2BOrgEntry {
92
- id: string;
93
- v: number;
94
- createdAt: string;
95
- updatedAt: string;
96
- catalogueId: string;
97
- b2bOrgId: string;
98
- }
99
-
100
- export interface CatalogueB2BOrgEntryCreatedEvent {
101
- id: string;
102
- type: 'CatalogueB2BOrgEntryCreated';
103
- payload: CatalogueB2BOrgEntry;
104
- }
105
-
106
- export interface CatalogueB2BOrgEntryUpdatedEvent {
107
- id: string;
108
- type: 'CatalogueB2BOrgEntryUpdated';
109
- payload: CatalogueB2BOrgEntry;
110
- }
111
-
112
- export interface CatalogueB2BOrgEntryDeletedEvent {
113
- id: string;
114
- type: 'CatalogueB2BOrgEntryDeleted';
115
- payload: CatalogueB2BOrgEntry;
116
- }
117
-
118
- export type CatalogueB2BOrgEntryChangedEvent = CatalogueB2BOrgEntryCreatedEvent | CatalogueB2BOrgEntryUpdatedEvent | CatalogueB2BOrgEntryDeletedEvent;
119
-
120
- export interface CatalogueProfileEntry {
121
- id: string;
122
- v: number;
123
- createdAt: string;
124
- updatedAt: string;
125
- catalogueId: string;
126
- profileId: string;
127
- }
128
-
129
- export interface CatalogueProfileEntryCreatedEvent {
130
- id: string;
131
- type: 'CatalogueProfileEntryCreated';
132
- payload: CatalogueProfileEntry;
133
- }
134
-
135
- export interface CatalogueProfileEntryUpdatedEvent {
136
- id: string;
137
- type: 'CatalogueProfileEntryUpdated';
138
- payload: CatalogueProfileEntry;
139
- }
140
-
141
- export interface CatalogueProfileEntryDeletedEvent {
142
- id: string;
143
- type: 'CatalogueProfileEntryDeleted';
144
- payload: CatalogueProfileEntry;
145
- }
146
-
147
- export type CatalogueProfileEntryChangedEvent = CatalogueProfileEntryCreatedEvent | CatalogueProfileEntryUpdatedEvent | CatalogueProfileEntryDeletedEvent;
1
+ export interface Catalogue {
2
+ id: string; // unique, dynamo primary key. not necessarily a uuid. could be b2b:<id> or a simple string like public
3
+ owner: string; // used for permissions - who is allowed to edit this catalogue
4
+ v: number;
5
+ createdAt: string;
6
+ updatedAt: string;
7
+ name: string; // added December 2023 to make it easier to find catalogues in the UI
8
+ accessType: CatalogueAccessType; // added December 2023.
9
+ }
10
+
11
+ export type CatalogueAccessType = 'include' | 'exclude';
12
+
13
+ export interface CatalogueCreatedEvent {
14
+ id: string;
15
+ type: 'CatalogueCreated';
16
+ payload: Catalogue;
17
+ }
18
+
19
+ export interface CatalogueUpdatedEvent {
20
+ id: string;
21
+ type: 'CatalogueUpdated';
22
+ payload: Catalogue;
23
+ }
24
+
25
+ export interface CatalogueDeletedEvent {
26
+ id: string;
27
+ type: 'CatalogueDeleted';
28
+ payload: Catalogue;
29
+ }
30
+
31
+ export type CatalogueChangedEvent = CatalogueCreatedEvent | CatalogueUpdatedEvent | CatalogueDeletedEvent;
32
+
33
+ export interface CatalogueHackEntry {
34
+ id: string; // not really used but there for store reasons
35
+ v: number;
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ catalogueId: string; // the catalogue name
39
+ baseLocaleHackId: string; // use baseLocaleHackId as all translations should be in the same catalogue
40
+ }
41
+
42
+ export interface CatalogueHackEntryCreatedEvent {
43
+ id: string;
44
+ type: 'CatalogueHackEntryCreated';
45
+ payload: CatalogueHackEntry;
46
+ }
47
+
48
+ export interface CatalogueHackEntryUpdatedEvent {
49
+ id: string;
50
+ type: 'CatalogueHackEntryUpdated';
51
+ payload: CatalogueHackEntry;
52
+ }
53
+
54
+ export interface CatalogueHackEntryDeletedEvent {
55
+ id: string;
56
+ type: 'CatalogueHackEntryDeleted';
57
+ payload: CatalogueHackEntry;
58
+ }
59
+
60
+ export type CatalogueHackEntryChangedEvent = CatalogueHackEntryCreatedEvent | CatalogueHackEntryUpdatedEvent | CatalogueHackEntryDeletedEvent;
61
+
62
+ export interface CatalogueCollectionEntry {
63
+ id: string;
64
+ v: number;
65
+ createdAt: string;
66
+ updatedAt: string;
67
+ catalogueId: string;
68
+ baseLocaleCollectionId: string;
69
+ }
70
+
71
+ export interface CatalogueCollectionEntryCreatedEvent {
72
+ id: string;
73
+ type: 'CatalogueCollectionEntryCreated';
74
+ payload: CatalogueCollectionEntry;
75
+ }
76
+
77
+ export interface CatalogueCollectionEntryUpdatedEvent {
78
+ id: string;
79
+ type: 'CatalogueCollectionEntryUpdated';
80
+ payload: CatalogueCollectionEntry;
81
+ }
82
+
83
+ export interface CatalogueCollectionEntryDeletedEvent {
84
+ id: string;
85
+ type: 'CatalogueCollectionEntryDeleted';
86
+ payload: CatalogueCollectionEntry;
87
+ }
88
+
89
+ export type CatalogueCollectionEntryChangedEvent = CatalogueCollectionEntryCreatedEvent | CatalogueCollectionEntryUpdatedEvent | CatalogueCollectionEntryDeletedEvent;
90
+
91
+ export interface CatalogueB2BOrgEntry {
92
+ id: string;
93
+ v: number;
94
+ createdAt: string;
95
+ updatedAt: string;
96
+ catalogueId: string;
97
+ b2bOrgId: string;
98
+ }
99
+
100
+ export interface CatalogueB2BOrgEntryCreatedEvent {
101
+ id: string;
102
+ type: 'CatalogueB2BOrgEntryCreated';
103
+ payload: CatalogueB2BOrgEntry;
104
+ }
105
+
106
+ export interface CatalogueB2BOrgEntryUpdatedEvent {
107
+ id: string;
108
+ type: 'CatalogueB2BOrgEntryUpdated';
109
+ payload: CatalogueB2BOrgEntry;
110
+ }
111
+
112
+ export interface CatalogueB2BOrgEntryDeletedEvent {
113
+ id: string;
114
+ type: 'CatalogueB2BOrgEntryDeleted';
115
+ payload: CatalogueB2BOrgEntry;
116
+ }
117
+
118
+ export type CatalogueB2BOrgEntryChangedEvent = CatalogueB2BOrgEntryCreatedEvent | CatalogueB2BOrgEntryUpdatedEvent | CatalogueB2BOrgEntryDeletedEvent;
119
+
120
+ export interface CatalogueProfileEntry {
121
+ id: string;
122
+ v: number;
123
+ createdAt: string;
124
+ updatedAt: string;
125
+ catalogueId: string;
126
+ profileId: string;
127
+ }
128
+
129
+ export interface CatalogueProfileEntryCreatedEvent {
130
+ id: string;
131
+ type: 'CatalogueProfileEntryCreated';
132
+ payload: CatalogueProfileEntry;
133
+ }
134
+
135
+ export interface CatalogueProfileEntryUpdatedEvent {
136
+ id: string;
137
+ type: 'CatalogueProfileEntryUpdated';
138
+ payload: CatalogueProfileEntry;
139
+ }
140
+
141
+ export interface CatalogueProfileEntryDeletedEvent {
142
+ id: string;
143
+ type: 'CatalogueProfileEntryDeleted';
144
+ payload: CatalogueProfileEntry;
145
+ }
146
+
147
+ export type CatalogueProfileEntryChangedEvent = CatalogueProfileEntryCreatedEvent | CatalogueProfileEntryUpdatedEvent | CatalogueProfileEntryDeletedEvent;
@@ -1,44 +1,44 @@
1
- import { EnrichedHackSubjects } from '../enriched-hack/enriched-hack';
2
- import { HackContributor, HackTopic, HackType } from '../hack/hack';
3
-
4
- export interface CmsSearchableHack {
5
- /** id of the hack, even if the hack is currently in draft state */
6
- id: string;
7
- title: string;
8
- draftHackId: string;
9
- hackId: string;
10
- baseLocaleHackId: string;
11
- locale: string;
12
- language: string;
13
- /** when the draft was created */
14
- createdAt: string;
15
- updatedAt: string;
16
- publishedAt?: string;
17
- owner: string;
18
- // will be empty on draft
19
- acl: string[];
20
-
21
- description: string
22
-
23
- sourceId?: string;
24
- themeId?: string;
25
- coverUrl?: string;
26
-
27
- editorialTags: string[];
28
-
29
- copyrightFreeCoverUrl?: string;
30
-
31
- contributors: HackContributor[];
32
- type?: HackType;
33
-
34
- topics: HackTopic[];
35
- keywords: string[];
36
- topicsExtracted: string[];
37
- keywordsExtracted: string[];
38
- hackSubjects: EnrichedHackSubjects;
39
-
40
- workflowStatus: 'unpublished' | 'published' | 'publishing';
41
- isPublished: boolean;
42
- hasUnpublishedChanges: boolean;
43
- isHidden: boolean;
44
- }
1
+ import { EnrichedHackSubjects } from '../enriched-hack/enriched-hack';
2
+ import { HackContributor, HackTopic, HackType } from '../hack/hack';
3
+
4
+ export interface CmsSearchableHack {
5
+ /** id of the hack, even if the hack is currently in draft state */
6
+ id: string;
7
+ title: string;
8
+ draftHackId: string;
9
+ hackId: string;
10
+ baseLocaleHackId: string;
11
+ locale: string;
12
+ language: string;
13
+ /** when the draft was created */
14
+ createdAt: string;
15
+ updatedAt: string;
16
+ publishedAt?: string;
17
+ owner: string;
18
+ // will be empty on draft
19
+ acl: string[];
20
+
21
+ description: string
22
+
23
+ sourceId?: string;
24
+ themeId?: string;
25
+ coverUrl?: string;
26
+
27
+ editorialTags: string[];
28
+
29
+ copyrightFreeCoverUrl?: string;
30
+
31
+ contributors: HackContributor[];
32
+ type?: HackType;
33
+
34
+ topics: HackTopic[];
35
+ keywords: string[];
36
+ topicsExtracted: string[];
37
+ keywordsExtracted: string[];
38
+ hackSubjects: EnrichedHackSubjects;
39
+
40
+ workflowStatus: 'unpublished' | 'published' | 'publishing';
41
+ isPublished: boolean;
42
+ hasUnpublishedChanges: boolean;
43
+ isHidden: boolean;
44
+ }
@@ -1,21 +1,21 @@
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
+ 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;