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

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 (254) hide show
  1. package/dist/cjs/app-hack/app-hack-metadata.d.ts +0 -1
  2. package/dist/cjs/app-hack/app-hack-metadata.d.ts.map +1 -1
  3. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.d.ts +6 -0
  4. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.d.ts.map +1 -1
  5. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.js +6 -0
  6. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.js.map +1 -1
  7. package/dist/cjs/b2b-organisation/b2b-organisation-group.d.ts +0 -1
  8. package/dist/cjs/b2b-organisation/b2b-organisation-group.d.ts.map +1 -1
  9. package/dist/cjs/b2b-organisation/b2b-organisation-group.js +1 -23
  10. package/dist/cjs/b2b-organisation/b2b-organisation-group.js.map +1 -1
  11. package/dist/cjs/cms-hack/cms-searchable-hack.d.ts +0 -2
  12. package/dist/cjs/cms-hack/cms-searchable-hack.d.ts.map +1 -1
  13. package/dist/cjs/draft-hack/draft-hack.d.ts +0 -2
  14. package/dist/cjs/draft-hack/draft-hack.d.ts.map +1 -1
  15. package/dist/cjs/enriched-hack/enriched-hack.d.ts +0 -2
  16. package/dist/cjs/enriched-hack/enriched-hack.d.ts.map +1 -1
  17. package/dist/cjs/hack/hack.d.ts +0 -2
  18. package/dist/cjs/hack/hack.d.ts.map +1 -1
  19. package/dist/cjs/hack-mapping/app-hack-metadata.d.ts.map +1 -1
  20. package/dist/cjs/hack-mapping/app-hack-metadata.js +0 -1
  21. package/dist/cjs/hack-mapping/app-hack-metadata.js.map +1 -1
  22. package/dist/cjs/index.d.ts +0 -2
  23. package/dist/cjs/index.d.ts.map +1 -1
  24. package/dist/cjs/index.js +0 -2
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/cjs/pending-hack/pending-hack.d.ts +0 -2
  27. package/dist/cjs/pending-hack/pending-hack.d.ts.map +1 -1
  28. package/dist/cjs/spark/spark.d.ts +1 -1
  29. package/dist/cjs/spark/spark.d.ts.map +1 -1
  30. package/dist/esm/app-hack/app-hack-metadata.d.ts +0 -1
  31. package/dist/esm/app-hack/app-hack-metadata.d.ts.map +1 -1
  32. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.d.ts +6 -0
  33. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.d.ts.map +1 -1
  34. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.js +5 -1
  35. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.js.map +1 -1
  36. package/dist/esm/b2b-organisation/b2b-organisation-group.d.ts +0 -1
  37. package/dist/esm/b2b-organisation/b2b-organisation-group.d.ts.map +1 -1
  38. package/dist/esm/b2b-organisation/b2b-organisation-group.js +0 -22
  39. package/dist/esm/b2b-organisation/b2b-organisation-group.js.map +1 -1
  40. package/dist/esm/cms-hack/cms-searchable-hack.d.ts +0 -2
  41. package/dist/esm/cms-hack/cms-searchable-hack.d.ts.map +1 -1
  42. package/dist/esm/draft-hack/draft-hack.d.ts +0 -2
  43. package/dist/esm/draft-hack/draft-hack.d.ts.map +1 -1
  44. package/dist/esm/enriched-hack/enriched-hack.d.ts +0 -2
  45. package/dist/esm/enriched-hack/enriched-hack.d.ts.map +1 -1
  46. package/dist/esm/hack/hack.d.ts +0 -2
  47. package/dist/esm/hack/hack.d.ts.map +1 -1
  48. package/dist/esm/hack-mapping/app-hack-metadata.d.ts.map +1 -1
  49. package/dist/esm/hack-mapping/app-hack-metadata.js +0 -1
  50. package/dist/esm/hack-mapping/app-hack-metadata.js.map +1 -1
  51. package/dist/esm/index.d.ts +0 -2
  52. package/dist/esm/index.d.ts.map +1 -1
  53. package/dist/esm/index.js +0 -2
  54. package/dist/esm/index.js.map +1 -1
  55. package/dist/esm/pending-hack/pending-hack.d.ts +0 -2
  56. package/dist/esm/pending-hack/pending-hack.d.ts.map +1 -1
  57. package/dist/esm/spark/spark.d.ts +1 -1
  58. package/dist/esm/spark/spark.d.ts.map +1 -1
  59. package/package.json +2 -2
  60. package/src/access-control/collection-access-control.ts +28 -28
  61. package/src/access-control/hack-access-control.ts +32 -32
  62. package/src/access-control/profile-access-control.ts +27 -27
  63. package/src/app-hack/app-full-hack.ts +9 -9
  64. package/src/app-hack/app-hack-metadata.ts +61 -62
  65. package/src/app-hack/app-restricted-hack.ts +22 -22
  66. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  67. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  68. package/src/b2b-organisation/b2b-org-idp-mapping.ts +27 -27
  69. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  70. package/src/b2b-organisation/b2b-organisation-group-events.ts +21 -21
  71. package/src/b2b-organisation/b2b-organisation-group-membership-events.ts +21 -21
  72. package/src/b2b-organisation/b2b-organisation-group-membership.ts +17 -10
  73. package/src/b2b-organisation/b2b-organisation-group.ts +43 -66
  74. package/src/b2b-organisation/b2b-organisation-invitation.ts +45 -45
  75. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  76. package/src/b2b-organisation/b2b-organisation-member.ts +19 -19
  77. package/src/b2b-organisation/b2b-organisation.ts +38 -38
  78. package/src/brand/brand-events.ts +21 -21
  79. package/src/brand/brand.ts +77 -77
  80. package/src/catalogue/catalogue.ts +152 -152
  81. package/src/cms-hack/cms-searchable-hack.ts +44 -47
  82. package/src/collection/collection-events.ts +21 -21
  83. package/src/collection/collection.ts +59 -59
  84. package/src/collection/enriched-collection-events.ts +18 -18
  85. package/src/collection/enriched-collection.ts +65 -65
  86. package/src/course/course-events.ts +20 -20
  87. package/src/course/course.ts +25 -25
  88. package/src/course-enrollment/course-enrollment-events.ts +21 -21
  89. package/src/course-enrollment/course-enrollment.ts +36 -36
  90. package/src/creator/creator-events.ts +32 -32
  91. package/src/creator/creator.ts +7 -7
  92. package/src/distribution/collection-distribution.ts +17 -17
  93. package/src/distribution/distribution-events.ts +61 -61
  94. package/src/distribution/hack-distribution.ts +18 -18
  95. package/src/draft-hack/draft-hack-events.ts +21 -21
  96. package/src/draft-hack/draft-hack.ts +190 -192
  97. package/src/draft-hack-generation/draft-hack-generation-commands.ts +10 -10
  98. package/src/draft-hack-generation/draft-hack-generation-events.ts +52 -52
  99. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  100. package/src/enriched-b2b-organisation/enriched-b2b-organisation-events.ts +21 -21
  101. package/src/enriched-b2b-organisation/enriched-b2b-organisation.ts +37 -37
  102. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  103. package/src/enriched-hack/enriched-hack.ts +109 -111
  104. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  105. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  106. package/src/entitlement/user-entitlements-commands.ts +54 -54
  107. package/src/entitlement/user-entitlements-events.ts +29 -29
  108. package/src/entitlement/user-entitlements.ts +18 -18
  109. package/src/flashcard/flashcard-events.ts +85 -85
  110. package/src/flashcard/flashcard.ts +138 -138
  111. package/src/hack/extracted-subject.ts +31 -31
  112. package/src/hack/hack-events.ts +21 -21
  113. package/src/hack/hack-published.ts +21 -21
  114. package/src/hack/hack-with-voice-events.ts +20 -20
  115. package/src/hack/hack-with-voice.ts +36 -36
  116. package/src/hack/hack.ts +127 -129
  117. package/src/hack/publish-hack-command.ts +20 -20
  118. package/src/hack/republish-hack-command.ts +20 -20
  119. package/src/hack-mapping/access-helper.ts +6 -6
  120. package/src/hack-mapping/app-full-hack.test.ts +13 -13
  121. package/src/hack-mapping/app-full-hack.ts +14 -14
  122. package/src/hack-mapping/app-hack-metadata.test.ts +22 -22
  123. package/src/hack-mapping/app-hack-metadata.ts +82 -83
  124. package/src/hack-mapping/app-restricted-hack.test.ts +12 -12
  125. package/src/hack-mapping/app-restricted-hack.ts +21 -21
  126. package/src/hack-mapping/remove-undefined-fields.ts +9 -9
  127. package/src/hack-mapping/test-data/enriched-hack.json +2564 -2569
  128. package/src/hack-mapping/test-data/expected-app-full-hack.json +2497 -2502
  129. package/src/hack-mapping/test-data/expected-app-hack-metadata.json +81 -86
  130. package/src/hack-mapping/test-data/expected-app-restricted-hack.json +787 -792
  131. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  132. package/src/hack-metadata/hack-metadata.ts +17 -17
  133. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  134. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  135. package/src/hack-statistics/hack-statistics-events.ts +21 -21
  136. package/src/hack-statistics/hack-statistics.ts +9 -9
  137. package/src/hackbot/hack-generation-commands.ts +45 -45
  138. package/src/hackbot/hack-generation-trigger-events.ts +21 -21
  139. package/src/hackbot/hack-generation-trigger.ts +57 -57
  140. package/src/history/history-events.ts +21 -21
  141. package/src/history/history.ts +46 -46
  142. package/src/identity-provider/domain-identity-provider-events.ts +20 -20
  143. package/src/identity-provider/domain-identity-provider.ts +10 -10
  144. package/src/identity-provider/identity-provider-events.ts +20 -20
  145. package/src/identity-provider/identity-provider.ts +46 -46
  146. package/src/index.ts +220 -223
  147. package/src/interest/interest-events.ts +21 -21
  148. package/src/interest/interest.ts +15 -15
  149. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  150. package/src/knowledge-source/knowledge-source.ts +43 -43
  151. package/src/knowledge-source-parsing/knowledge-source-metadata.ts +58 -58
  152. package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +41 -41
  153. package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +30 -30
  154. package/src/knowledge-source-parsing/podcast-metadata.ts +44 -44
  155. package/src/knowledge-source-parsing/podcast-parsing-events.ts +28 -28
  156. package/src/knowledge-source-parsing/user-hack-generation-options.ts +7 -7
  157. package/src/learn-upon/get-sqsso-url.ts +13 -13
  158. package/src/learn-upon/learn-upon-commands.ts +33 -33
  159. package/src/learn-upon/learn-upon-course-enrollment-events.ts +21 -21
  160. package/src/learn-upon/learn-upon-course-enrollment.ts +62 -62
  161. package/src/learn-upon/learn-upon-course-events.ts +21 -21
  162. package/src/learn-upon/learn-upon-course.ts +108 -108
  163. package/src/learn-upon/learn-upon-portal-events.ts +20 -20
  164. package/src/learn-upon/learn-upon-portal.ts +12 -12
  165. package/src/learn-upon/learn-upon-user-mapping-events.ts +18 -18
  166. package/src/learn-upon/learn-upon-user-mapping.ts +9 -9
  167. package/src/learn-upon/learn-upon-webhook-events.ts +80 -80
  168. package/src/learn-upon/learn-upon-webhook-types.ts +346 -346
  169. package/src/learn-upon/unenroll.ts +6 -6
  170. package/src/localisation/live-locales.ts +45 -45
  171. package/src/localisation/locale-language.ts +4 -4
  172. package/src/localisation/supported-languages.ts +11 -11
  173. package/src/localisation/supported-locales.ts +67 -67
  174. package/src/message-bus/context.ts +7 -7
  175. package/src/moderation/hack-moderation-result-events.ts +18 -18
  176. package/src/moderation/hack-moderation-result.ts +27 -27
  177. package/src/partner/partner-events.ts +21 -21
  178. package/src/partner/partner.ts +7 -7
  179. package/src/pending-hack/pending-hack-events.ts +20 -20
  180. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  181. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  182. package/src/pending-hack/pending-hack.ts +78 -80
  183. package/src/preferences/preferences-events.ts +15 -15
  184. package/src/preferences/preferences.ts +35 -35
  185. package/src/profile/profile-events.ts +41 -41
  186. package/src/profile/profile.ts +36 -36
  187. package/src/profile/translated-profile.ts +13 -13
  188. package/src/referral/referral-events.ts +41 -41
  189. package/src/referral/referral.ts +76 -76
  190. package/src/saved/saved-collection-events.ts +19 -19
  191. package/src/saved/saved-collection.ts +8 -8
  192. package/src/segment/segment-commands.ts +75 -75
  193. package/src/segment/segment-events.ts +42 -42
  194. package/src/segment/segment-with-voice.ts +8 -8
  195. package/src/segment/segment.ts +82 -82
  196. package/src/service-simulator/mock-request-response.ts +17 -17
  197. package/src/skin/skin-events.ts +21 -21
  198. package/src/skin/skin.ts +6 -6
  199. package/src/spark/spark-board-read-model.ts +17 -17
  200. package/src/spark/spark-board.ts +12 -12
  201. package/src/spark/spark-events.ts +42 -42
  202. package/src/spark/spark.ts +75 -76
  203. package/src/text-analysis/hack-categories-extracted-events.ts +24 -24
  204. package/src/text-analysis/hack-categories-extracted.ts +31 -31
  205. package/src/text-analysis/hack-entities-extracted-events.ts +24 -24
  206. package/src/text-analysis/hack-entities-extracted.ts +38 -38
  207. package/src/text-analysis/hack-keywords-extracted-events.ts +24 -24
  208. package/src/text-analysis/hack-keywords-extracted.ts +23 -23
  209. package/src/text-analysis/hack-topics-extracted-events.ts +24 -24
  210. package/src/text-analysis/hack-topics-extracted.ts +31 -31
  211. package/src/text-to-speech/create-speech-commands.ts +22 -22
  212. package/src/text-to-speech/speech-created-events.ts +10 -10
  213. package/src/text-to-speech/supported-voices.ts +222 -222
  214. package/src/text-to-speech/text-segment.ts +29 -29
  215. package/src/theme/theme-events.ts +21 -21
  216. package/src/theme/theme.ts +68 -68
  217. package/src/translation/translation-events.ts +73 -73
  218. package/src/translation/translation.ts +25 -25
  219. package/src/trending/trending-events.ts +21 -21
  220. package/src/trending/trending-hacks.ts +8 -8
  221. package/src/user/cognito-user-authentication-log.ts +7 -7
  222. package/src/user/get-user.ts +63 -63
  223. package/src/user/user-events.ts +39 -39
  224. package/src/user-acl/user-acl-utils.test.ts +273 -273
  225. package/src/user-acl/user-acl-utils.ts +176 -176
  226. package/src/user-context/user-context-events.ts +21 -21
  227. package/src/user-context/user-context.ts +15 -15
  228. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  229. package/src/user-notification-context/user-notification-context.ts +9 -9
  230. package/src/user-statistics/user-statistics-events.ts +97 -97
  231. package/src/user-statistics/user-statistics.ts +82 -82
  232. package/src/video-cropping/video-cropping-events.ts +43 -43
  233. package/src/video-cropping/video-metadata.ts +12 -12
  234. package/tsconfig.cjs.json +7 -7
  235. package/tsconfig.npm.json +22 -22
  236. package/dist/cjs/topics/primary-topic-mapping.d.ts +0 -7
  237. package/dist/cjs/topics/primary-topic-mapping.d.ts.map +0 -1
  238. package/dist/cjs/topics/primary-topic-mapping.js +0 -98
  239. package/dist/cjs/topics/primary-topic-mapping.js.map +0 -1
  240. package/dist/cjs/topics/primary-topic.d.ts +0 -4
  241. package/dist/cjs/topics/primary-topic.d.ts.map +0 -1
  242. package/dist/cjs/topics/primary-topic.js +0 -3
  243. package/dist/cjs/topics/primary-topic.js.map +0 -1
  244. package/dist/esm/topics/primary-topic-mapping.d.ts +0 -7
  245. package/dist/esm/topics/primary-topic-mapping.d.ts.map +0 -1
  246. package/dist/esm/topics/primary-topic-mapping.js +0 -94
  247. package/dist/esm/topics/primary-topic-mapping.js.map +0 -1
  248. package/dist/esm/topics/primary-topic.d.ts +0 -4
  249. package/dist/esm/topics/primary-topic.d.ts.map +0 -1
  250. package/dist/esm/topics/primary-topic.js +0 -2
  251. package/dist/esm/topics/primary-topic.js.map +0 -1
  252. package/src/topics/primary-topic-mapping.test.ts +0 -36
  253. package/src/topics/primary-topic-mapping.ts +0 -110
  254. package/src/topics/primary-topic.ts +0 -3
@@ -1,68 +1,68 @@
1
- export interface ThemeTemplate {
2
- /** the url of the background video */
3
- backgroundVideoUrl?: string;
4
- /** the url of the background image */
5
- backgroundImageUrl?: string;
6
- /** the font color that will be used when rendering text in the foreground */
7
- fontColor: string;
8
- }
9
-
10
- export interface SegmentThemeTemplates {
11
- overview: {
12
- a: ThemeTemplate;
13
- b: ThemeTemplate;
14
- },
15
- insightOne: {
16
- // one template is for the title card
17
- // the other one for insight content
18
- a: ThemeTemplate;
19
- b: ThemeTemplate;
20
- },
21
- insightTwo: {
22
- a: ThemeTemplate;
23
- b: ThemeTemplate;
24
- },
25
- insightThree: {
26
- a: ThemeTemplate;
27
- b: ThemeTemplate;
28
- },
29
- dark: {
30
- overview: {
31
- a: ThemeTemplate;
32
- b: ThemeTemplate;
33
- },
34
- insightOne: {
35
- a: ThemeTemplate;
36
- b: ThemeTemplate;
37
- },
38
- insightTwo: {
39
- a: ThemeTemplate;
40
- b: ThemeTemplate;
41
- },
42
- insightThree: {
43
- a: ThemeTemplate;
44
- b: ThemeTemplate;
45
- }
46
- }
47
- }
48
-
49
- export interface Theme {
50
- id: string;
51
- name: string;
52
- fontFamily: string;
53
- templates: SegmentThemeTemplates;
54
- mood: 'neutral' | 'sombre' | 'vibrant';
55
- isCustom: boolean;
56
- /* properties of the story and audio player */
57
- player?: {
58
- light: {
59
- backgroundColor: string;
60
- },
61
- dark: {
62
- backgroundColor: string;
63
- }
64
- }
65
- updatedAt: string;
66
- createdAt: string;
67
- v: number;
68
- }
1
+ export interface ThemeTemplate {
2
+ /** the url of the background video */
3
+ backgroundVideoUrl?: string;
4
+ /** the url of the background image */
5
+ backgroundImageUrl?: string;
6
+ /** the font color that will be used when rendering text in the foreground */
7
+ fontColor: string;
8
+ }
9
+
10
+ export interface SegmentThemeTemplates {
11
+ overview: {
12
+ a: ThemeTemplate;
13
+ b: ThemeTemplate;
14
+ },
15
+ insightOne: {
16
+ // one template is for the title card
17
+ // the other one for insight content
18
+ a: ThemeTemplate;
19
+ b: ThemeTemplate;
20
+ },
21
+ insightTwo: {
22
+ a: ThemeTemplate;
23
+ b: ThemeTemplate;
24
+ },
25
+ insightThree: {
26
+ a: ThemeTemplate;
27
+ b: ThemeTemplate;
28
+ },
29
+ dark: {
30
+ overview: {
31
+ a: ThemeTemplate;
32
+ b: ThemeTemplate;
33
+ },
34
+ insightOne: {
35
+ a: ThemeTemplate;
36
+ b: ThemeTemplate;
37
+ },
38
+ insightTwo: {
39
+ a: ThemeTemplate;
40
+ b: ThemeTemplate;
41
+ },
42
+ insightThree: {
43
+ a: ThemeTemplate;
44
+ b: ThemeTemplate;
45
+ }
46
+ }
47
+ }
48
+
49
+ export interface Theme {
50
+ id: string;
51
+ name: string;
52
+ fontFamily: string;
53
+ templates: SegmentThemeTemplates;
54
+ mood: 'neutral' | 'sombre' | 'vibrant';
55
+ isCustom: boolean;
56
+ /* properties of the story and audio player */
57
+ player?: {
58
+ light: {
59
+ backgroundColor: string;
60
+ },
61
+ dark: {
62
+ backgroundColor: string;
63
+ }
64
+ }
65
+ updatedAt: string;
66
+ createdAt: string;
67
+ v: number;
68
+ }
@@ -1,73 +1,73 @@
1
- import { SupportedLocale } from '../localisation/supported-locales';
2
- import { ObjectToTranslate, TextWithTranslation } from './translation';
3
- import { Text } from './translation';
4
-
5
- export interface TextTranslatedEvent {
6
- id: string;
7
- type: 'TextTranslated';
8
- payload: {
9
- reference: string;
10
- fromLocale: string;
11
- toLocale: string;
12
- text: TextWithTranslation[];
13
- };
14
- }
15
-
16
- export interface ObjectsTranslatedEvent {
17
- id: string;
18
- type: 'ObjectsTranslated';
19
- payload: {
20
- reference: string;
21
- fromLocale: string;
22
- toLocale: string;
23
- translatedObjects: TranslatedObject[];
24
- };
25
- }
26
-
27
- export interface TranslatedObject {
28
- translatedObject: any;
29
- reference: string;
30
- }
31
-
32
- /**
33
- * Translate JSON objects using Chat GPT
34
- */
35
- export interface TranslateObjectsCommand {
36
- id: string;
37
- type: 'TranslateObjects';
38
- payload: TranslateObjectsCommandPayload;
39
- }
40
-
41
- export interface TranslateObjectsCommandPayload {
42
- /**
43
- * Identifier set by the creator of the command. It also shows up in the TextTranslated event and
44
- * it has the same value as in the original command, so that interested services can match their command to the event.
45
- */
46
- reference: string;
47
- fromLocale: SupportedLocale;
48
- toLocale: SupportedLocale;
49
- objectsToTranslate: ObjectToTranslate[];
50
- /**
51
- * Optional model to use for translation. If not provided, the default model will be used.
52
- * It used to be a SupportedGptModel enum
53
- */
54
- chatGptModel?: string;
55
- }
56
-
57
- export interface TranslateTextCommand {
58
- id: string;
59
- type: 'TranslateText';
60
- payload: TranslateTextCommandPayload
61
- }
62
-
63
- export interface TranslateTextCommandPayload {
64
- /**
65
- * Identifier set by the creator of the command. It also shows up in the TextTranslated event and
66
- * it has the same value as in the original command, so that interested services can match their command to the event.
67
- */
68
- reference: string;
69
- // TODO fromLocale and toLocale to use contracts' SupportedLocales
70
- fromLocale: string;
71
- toLocale: string;
72
- text: Text[];
73
- }
1
+ import { SupportedLocale } from '../localisation/supported-locales';
2
+ import { ObjectToTranslate, TextWithTranslation } from './translation';
3
+ import { Text } from './translation';
4
+
5
+ export interface TextTranslatedEvent {
6
+ id: string;
7
+ type: 'TextTranslated';
8
+ payload: {
9
+ reference: string;
10
+ fromLocale: string;
11
+ toLocale: string;
12
+ text: TextWithTranslation[];
13
+ };
14
+ }
15
+
16
+ export interface ObjectsTranslatedEvent {
17
+ id: string;
18
+ type: 'ObjectsTranslated';
19
+ payload: {
20
+ reference: string;
21
+ fromLocale: string;
22
+ toLocale: string;
23
+ translatedObjects: TranslatedObject[];
24
+ };
25
+ }
26
+
27
+ export interface TranslatedObject {
28
+ translatedObject: any;
29
+ reference: string;
30
+ }
31
+
32
+ /**
33
+ * Translate JSON objects using Chat GPT
34
+ */
35
+ export interface TranslateObjectsCommand {
36
+ id: string;
37
+ type: 'TranslateObjects';
38
+ payload: TranslateObjectsCommandPayload;
39
+ }
40
+
41
+ export interface TranslateObjectsCommandPayload {
42
+ /**
43
+ * Identifier set by the creator of the command. It also shows up in the TextTranslated event and
44
+ * it has the same value as in the original command, so that interested services can match their command to the event.
45
+ */
46
+ reference: string;
47
+ fromLocale: SupportedLocale;
48
+ toLocale: SupportedLocale;
49
+ objectsToTranslate: ObjectToTranslate[];
50
+ /**
51
+ * Optional model to use for translation. If not provided, the default model will be used.
52
+ * It used to be a SupportedGptModel enum
53
+ */
54
+ chatGptModel?: string;
55
+ }
56
+
57
+ export interface TranslateTextCommand {
58
+ id: string;
59
+ type: 'TranslateText';
60
+ payload: TranslateTextCommandPayload
61
+ }
62
+
63
+ export interface TranslateTextCommandPayload {
64
+ /**
65
+ * Identifier set by the creator of the command. It also shows up in the TextTranslated event and
66
+ * it has the same value as in the original command, so that interested services can match their command to the event.
67
+ */
68
+ reference: string;
69
+ // TODO fromLocale and toLocale to use contracts' SupportedLocales
70
+ fromLocale: string;
71
+ toLocale: string;
72
+ text: Text[];
73
+ }
@@ -1,25 +1,25 @@
1
- export interface Text {
2
- /**
3
- * Identifier set by the creator of the command. TextWithTranslation entities have the same
4
- * references as in the original command, so that they can be easily matched by the receiving service.
5
- */
6
- reference: string;
7
- content: string;
8
- }
9
-
10
- export interface ObjectToTranslate {
11
- /**
12
- * Stringified size must be lower than 7000 characters so that it can work with ChatGPT
13
- */
14
- objectToTranslate: any;
15
- translationCacheKey: string;
16
- /** refresh the cache item */
17
- refreshCache?: boolean
18
- reference: string;
19
- /** additional text that will be added to the GPT prompt when requesting translation */
20
- promptAdditions?: string;
21
- }
22
-
23
- export interface TextWithTranslation extends Text {
24
- translation: string;
25
- }
1
+ export interface Text {
2
+ /**
3
+ * Identifier set by the creator of the command. TextWithTranslation entities have the same
4
+ * references as in the original command, so that they can be easily matched by the receiving service.
5
+ */
6
+ reference: string;
7
+ content: string;
8
+ }
9
+
10
+ export interface ObjectToTranslate {
11
+ /**
12
+ * Stringified size must be lower than 7000 characters so that it can work with ChatGPT
13
+ */
14
+ objectToTranslate: any;
15
+ translationCacheKey: string;
16
+ /** refresh the cache item */
17
+ refreshCache?: boolean
18
+ reference: string;
19
+ /** additional text that will be added to the GPT prompt when requesting translation */
20
+ promptAdditions?: string;
21
+ }
22
+
23
+ export interface TextWithTranslation extends Text {
24
+ translation: string;
25
+ }
@@ -1,21 +1,21 @@
1
- import { TrendingHacks } from './trending-hacks';
2
-
3
- export interface TrendingHacksCreatedEvent {
4
- id: string;
5
- type: 'TrendingHacksCreated';
6
- payload: TrendingHacks;
7
- }
8
-
9
- export interface TrendingHacksUpdatedEvent {
10
- id: string;
11
- type: 'TrendingHacksUpdated';
12
- payload: TrendingHacks;
13
- }
14
-
15
- export interface TrendingHacksDeletedEvent {
16
- id: string;
17
- type: 'TrendingHacksDeleted';
18
- payload: TrendingHacks;
19
- }
20
-
21
- export type TrendingHacksChangedEvent = TrendingHacksCreatedEvent | TrendingHacksUpdatedEvent | TrendingHacksDeletedEvent;
1
+ import { TrendingHacks } from './trending-hacks';
2
+
3
+ export interface TrendingHacksCreatedEvent {
4
+ id: string;
5
+ type: 'TrendingHacksCreated';
6
+ payload: TrendingHacks;
7
+ }
8
+
9
+ export interface TrendingHacksUpdatedEvent {
10
+ id: string;
11
+ type: 'TrendingHacksUpdated';
12
+ payload: TrendingHacks;
13
+ }
14
+
15
+ export interface TrendingHacksDeletedEvent {
16
+ id: string;
17
+ type: 'TrendingHacksDeleted';
18
+ payload: TrendingHacks;
19
+ }
20
+
21
+ export type TrendingHacksChangedEvent = TrendingHacksCreatedEvent | TrendingHacksUpdatedEvent | TrendingHacksDeletedEvent;
@@ -1,8 +1,8 @@
1
- export interface TrendingHacks {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- date: string;
7
- hackIds: string[];
8
- }
1
+ export interface TrendingHacks {
2
+ id: string;
3
+ v: number;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ date: string;
7
+ hackIds: string[];
8
+ }
@@ -1,8 +1,8 @@
1
- export interface CognitoUserAuthenticationLog {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- cognitoUserId: string;
7
- lastAuthenticatedAt: string;
1
+ export interface CognitoUserAuthenticationLog {
2
+ id: string;
3
+ v: number;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ cognitoUserId: string;
7
+ lastAuthenticatedAt: string;
8
8
  }
@@ -1,63 +1,63 @@
1
- import { Entitlement } from '../entitlement/user-entitlements';
2
- import { IdentityProviderClaims } from '../identity-provider/identity-provider';
3
- import { Context } from '../message-bus/context';
4
-
5
- export interface InternalGetUserLambdaPayload {
6
- userId: string;
7
- context: Context;
8
- }
9
-
10
- export interface UserResponse {
11
- id: string;
12
- createdAt: string;
13
- email?: string;
14
- firstName: string;
15
- phoneNumber?: string;
16
- isAnonymous: boolean;
17
- status: UserStatus;
18
- entitlements: Entitlement[];
19
- organisations: string[];
20
- memberships: UserResponseMembership[];
21
- isCreator: boolean;
22
- isPartner: boolean;
23
- isInfluencer: boolean;
24
- webAppDomain: string;
25
- skinId: string;
26
- brandId?: string;
27
- /** id of the identity provider if the user has ever signed in via SSO */
28
- identityProviderId?: string;
29
- identityProviderClaims?: IdentityProviderClaims;
30
- locale?: string;
31
- }
32
-
33
- export enum UserStatus {
34
- /**
35
- * User has not yet been created.
36
- * Requires the frontend to post data to create the user
37
- * */
38
- NEEDS_CREATING = 'NEEDS_CREATING',
39
- /**
40
- * User is being created.
41
- * Frontend has sent the required data and the backend is asynchronously processing.
42
- * Poll and wait for ACTIVE
43
- * */
44
- CREATION_IN_PROGRESS = 'CREATION_IN_PROGRESS',
45
- /**
46
- * User has been created and should be part of an organisation but the membership has not been processed yet.
47
- * Poll and wait for ACTIVE
48
- * */
49
- PENDING_ORGANISATION_MEMBERSHIP = 'PENDING_ORGANISATION_MEMBERSHIP',
50
- /**
51
- * User has been created and should have been issued entitlements but they have not been issued yet.
52
- * Poll and wait for ACTIVE
53
- * */
54
- PENDING_ENTITLEMENTS = 'PENDING_ENTITLEMENTS',
55
- /** All user data is up to date */
56
- ACTIVE = 'ACTIVE',
57
- }
58
-
59
- export interface UserResponseMembership {
60
- organisationId: string;
61
- role: string;
62
- tenant: string;
63
- }
1
+ import { Entitlement } from '../entitlement/user-entitlements';
2
+ import { IdentityProviderClaims } from '../identity-provider/identity-provider';
3
+ import { Context } from '../message-bus/context';
4
+
5
+ export interface InternalGetUserLambdaPayload {
6
+ userId: string;
7
+ context: Context;
8
+ }
9
+
10
+ export interface UserResponse {
11
+ id: string;
12
+ createdAt: string;
13
+ email?: string;
14
+ firstName: string;
15
+ phoneNumber?: string;
16
+ isAnonymous: boolean;
17
+ status: UserStatus;
18
+ entitlements: Entitlement[];
19
+ organisations: string[];
20
+ memberships: UserResponseMembership[];
21
+ isCreator: boolean;
22
+ isPartner: boolean;
23
+ isInfluencer: boolean;
24
+ webAppDomain: string;
25
+ skinId: string;
26
+ brandId?: string;
27
+ /** id of the identity provider if the user has ever signed in via SSO */
28
+ identityProviderId?: string;
29
+ identityProviderClaims?: IdentityProviderClaims;
30
+ locale?: string;
31
+ }
32
+
33
+ export enum UserStatus {
34
+ /**
35
+ * User has not yet been created.
36
+ * Requires the frontend to post data to create the user
37
+ * */
38
+ NEEDS_CREATING = 'NEEDS_CREATING',
39
+ /**
40
+ * User is being created.
41
+ * Frontend has sent the required data and the backend is asynchronously processing.
42
+ * Poll and wait for ACTIVE
43
+ * */
44
+ CREATION_IN_PROGRESS = 'CREATION_IN_PROGRESS',
45
+ /**
46
+ * User has been created and should be part of an organisation but the membership has not been processed yet.
47
+ * Poll and wait for ACTIVE
48
+ * */
49
+ PENDING_ORGANISATION_MEMBERSHIP = 'PENDING_ORGANISATION_MEMBERSHIP',
50
+ /**
51
+ * User has been created and should have been issued entitlements but they have not been issued yet.
52
+ * Poll and wait for ACTIVE
53
+ * */
54
+ PENDING_ENTITLEMENTS = 'PENDING_ENTITLEMENTS',
55
+ /** All user data is up to date */
56
+ ACTIVE = 'ACTIVE',
57
+ }
58
+
59
+ export interface UserResponseMembership {
60
+ organisationId: string;
61
+ role: string;
62
+ tenant: string;
63
+ }
@@ -1,39 +1,39 @@
1
- export interface IdentityProviderWhitelistedFields {
2
- countryCode?: string;
3
- department?: string;
4
- }
5
-
6
- export interface UserEventPayload {
7
- id: string;
8
- v: number;
9
- createdAt: string;
10
- updatedAt: string;
11
- /** id of the identity provider if the user has ever signed in via SSO */
12
- identityProviderId?: string;
13
- identityProviderClaims?: IdentityProviderWhitelistedFields;
14
- /** only on DeletedEvents. There are a handful of Deleted events in staging without this field */
15
- deletedAt?: string;
16
- reasonForLeavingUptime?: string;
17
- /** added May 2025 */
18
- isCmsUser?: boolean;
19
- /** added in August 2025 */
20
- locale?: string;
21
- }
22
-
23
- export interface UserCreatedEvent {
24
- id: string;
25
- type: 'UserCreated';
26
- payload: UserEventPayload;
27
- }
28
-
29
- export interface UserUpdatedEvent {
30
- id: string;
31
- type: 'UserUpdated';
32
- payload: UserEventPayload;
33
- }
34
-
35
- export interface UserDeletedEvent {
36
- id: string;
37
- type: 'UserDeleted';
38
- payload: UserEventPayload;
39
- }
1
+ export interface IdentityProviderWhitelistedFields {
2
+ countryCode?: string;
3
+ department?: string;
4
+ }
5
+
6
+ export interface UserEventPayload {
7
+ id: string;
8
+ v: number;
9
+ createdAt: string;
10
+ updatedAt: string;
11
+ /** id of the identity provider if the user has ever signed in via SSO */
12
+ identityProviderId?: string;
13
+ identityProviderClaims?: IdentityProviderWhitelistedFields;
14
+ /** only on DeletedEvents. There are a handful of Deleted events in staging without this field */
15
+ deletedAt?: string;
16
+ reasonForLeavingUptime?: string;
17
+ /** added May 2025 */
18
+ isCmsUser?: boolean;
19
+ /** added in August 2025 */
20
+ locale?: string;
21
+ }
22
+
23
+ export interface UserCreatedEvent {
24
+ id: string;
25
+ type: 'UserCreated';
26
+ payload: UserEventPayload;
27
+ }
28
+
29
+ export interface UserUpdatedEvent {
30
+ id: string;
31
+ type: 'UserUpdated';
32
+ payload: UserEventPayload;
33
+ }
34
+
35
+ export interface UserDeletedEvent {
36
+ id: string;
37
+ type: 'UserDeleted';
38
+ payload: UserEventPayload;
39
+ }