@uptime.app/contracts 3.0.52 → 3.0.53-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/cjs/app-hack/app-hack-metadata.d.ts +1 -0
  2. package/dist/cjs/app-hack/app-hack-metadata.d.ts.map +1 -1
  3. package/dist/cjs/cms-hack/cms-searchable-hack.d.ts +2 -0
  4. package/dist/cjs/cms-hack/cms-searchable-hack.d.ts.map +1 -1
  5. package/dist/cjs/draft-hack/draft-hack.d.ts +2 -0
  6. package/dist/cjs/draft-hack/draft-hack.d.ts.map +1 -1
  7. package/dist/cjs/enriched-hack/enriched-hack.d.ts +2 -0
  8. package/dist/cjs/enriched-hack/enriched-hack.d.ts.map +1 -1
  9. package/dist/cjs/hack/hack.d.ts +2 -0
  10. package/dist/cjs/hack/hack.d.ts.map +1 -1
  11. package/dist/cjs/hack-mapping/app-hack-metadata.d.ts.map +1 -1
  12. package/dist/cjs/hack-mapping/app-hack-metadata.js +1 -0
  13. package/dist/cjs/hack-mapping/app-hack-metadata.js.map +1 -1
  14. package/dist/cjs/index.d.ts +2 -0
  15. package/dist/cjs/index.d.ts.map +1 -1
  16. package/dist/cjs/index.js +2 -0
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/pending-hack/pending-hack.d.ts +2 -0
  19. package/dist/cjs/pending-hack/pending-hack.d.ts.map +1 -1
  20. package/dist/cjs/spark/spark.d.ts +1 -1
  21. package/dist/cjs/spark/spark.d.ts.map +1 -1
  22. package/dist/cjs/topics/primary-topic-mapping.d.ts +7 -0
  23. package/dist/cjs/topics/primary-topic-mapping.d.ts.map +1 -0
  24. package/dist/cjs/topics/primary-topic-mapping.js +98 -0
  25. package/dist/cjs/topics/primary-topic-mapping.js.map +1 -0
  26. package/dist/cjs/topics/primary-topic.d.ts +4 -0
  27. package/dist/cjs/topics/primary-topic.d.ts.map +1 -0
  28. package/dist/cjs/topics/primary-topic.js +3 -0
  29. package/dist/cjs/topics/primary-topic.js.map +1 -0
  30. package/dist/esm/app-hack/app-hack-metadata.d.ts +1 -0
  31. package/dist/esm/app-hack/app-hack-metadata.d.ts.map +1 -1
  32. package/dist/esm/cms-hack/cms-searchable-hack.d.ts +2 -0
  33. package/dist/esm/cms-hack/cms-searchable-hack.d.ts.map +1 -1
  34. package/dist/esm/draft-hack/draft-hack.d.ts +2 -0
  35. package/dist/esm/draft-hack/draft-hack.d.ts.map +1 -1
  36. package/dist/esm/enriched-hack/enriched-hack.d.ts +2 -0
  37. package/dist/esm/enriched-hack/enriched-hack.d.ts.map +1 -1
  38. package/dist/esm/hack/hack.d.ts +2 -0
  39. package/dist/esm/hack/hack.d.ts.map +1 -1
  40. package/dist/esm/hack-mapping/app-hack-metadata.d.ts.map +1 -1
  41. package/dist/esm/hack-mapping/app-hack-metadata.js +1 -0
  42. package/dist/esm/hack-mapping/app-hack-metadata.js.map +1 -1
  43. package/dist/esm/index.d.ts +2 -0
  44. package/dist/esm/index.d.ts.map +1 -1
  45. package/dist/esm/index.js +2 -0
  46. package/dist/esm/index.js.map +1 -1
  47. package/dist/esm/pending-hack/pending-hack.d.ts +2 -0
  48. package/dist/esm/pending-hack/pending-hack.d.ts.map +1 -1
  49. package/dist/esm/spark/spark.d.ts +1 -1
  50. package/dist/esm/spark/spark.d.ts.map +1 -1
  51. package/dist/esm/topics/primary-topic-mapping.d.ts +7 -0
  52. package/dist/esm/topics/primary-topic-mapping.d.ts.map +1 -0
  53. package/dist/esm/topics/primary-topic-mapping.js +94 -0
  54. package/dist/esm/topics/primary-topic-mapping.js.map +1 -0
  55. package/dist/esm/topics/primary-topic.d.ts +4 -0
  56. package/dist/esm/topics/primary-topic.d.ts.map +1 -0
  57. package/dist/esm/topics/primary-topic.js +2 -0
  58. package/dist/esm/topics/primary-topic.js.map +1 -0
  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 +62 -61
  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 -17
  73. package/src/b2b-organisation/b2b-organisation-group.ts +42 -42
  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 +47 -44
  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 +192 -190
  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 +111 -109
  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 +129 -127
  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 +83 -82
  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 +2569 -2564
  128. package/src/hack-mapping/test-data/expected-app-full-hack.json +2502 -2497
  129. package/src/hack-mapping/test-data/expected-app-hack-metadata.json +86 -81
  130. package/src/hack-mapping/test-data/expected-app-restricted-hack.json +792 -787
  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 +223 -220
  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 +80 -78
  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 +76 -75
  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/topics/primary-topic-mapping.test.ts +36 -0
  218. package/src/topics/primary-topic-mapping.ts +110 -0
  219. package/src/topics/primary-topic.ts +3 -0
  220. package/src/translation/translation-events.ts +73 -73
  221. package/src/translation/translation.ts +25 -25
  222. package/src/trending/trending-events.ts +21 -21
  223. package/src/trending/trending-hacks.ts +8 -8
  224. package/src/user/cognito-user-authentication-log.ts +7 -7
  225. package/src/user/get-user.ts +63 -63
  226. package/src/user/user-events.ts +39 -39
  227. package/src/user-acl/user-acl-utils.test.ts +273 -273
  228. package/src/user-acl/user-acl-utils.ts +176 -176
  229. package/src/user-context/user-context-events.ts +21 -21
  230. package/src/user-context/user-context.ts +15 -15
  231. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  232. package/src/user-notification-context/user-notification-context.ts +9 -9
  233. package/src/user-statistics/user-statistics-events.ts +97 -97
  234. package/src/user-statistics/user-statistics.ts +82 -82
  235. package/src/video-cropping/video-cropping-events.ts +43 -43
  236. package/src/video-cropping/video-metadata.ts +12 -12
  237. package/tsconfig.cjs.json +7 -7
  238. package/tsconfig.npm.json +22 -22
@@ -1,52 +1,52 @@
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
- }
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
+ }
@@ -1,39 +1,39 @@
1
- export interface GeneratedDraftHackContent {
2
- title: string;
3
- segments: GeneratedDraftHackSegments;
4
- coverUrl?: string;
5
- copyrightFreeCoverUrl?: string;
6
- topics: GeneratedDraftTopic[];
7
- notification: GeneratedDraftHackNotification;
8
- contributors: GeneratedDraftContributor[];
9
- }
10
- export interface GeneratedDraftHackSegments {
11
- favouriteQuote: GeneratedDraftHackSegment;
12
- inANutshell: GeneratedDraftHackSegment;
13
- introduction: GeneratedDraftHackSegment;
14
- insights: GeneratedDraftHackInsightSegment[];
15
- conclusion: GeneratedDraftHackSegment;
16
- }
17
- export interface GeneratedDraftHackSegment {
18
- paragraphCards: GeneratedDraftHackCard[][];
19
- }
20
- export interface GeneratedDraftHackCard {
21
- markdown: string;
22
- }
23
- export interface GeneratedDraftHackInsightSegment extends GeneratedDraftHackSegment {
24
- title: string;
25
- actions: GeneratedDraftHackAction[];
26
- }
27
- export interface GeneratedDraftHackAction {
28
- title: string;
29
- markdown: string;
30
- }
31
- export interface GeneratedDraftTopic {
32
- name: string;
33
- }
34
- export interface GeneratedDraftHackNotification {
35
- aiGeneratedText: string;
36
- }
37
- export interface GeneratedDraftContributor {
38
- name: string;
39
- }
1
+ export interface GeneratedDraftHackContent {
2
+ title: string;
3
+ segments: GeneratedDraftHackSegments;
4
+ coverUrl?: string;
5
+ copyrightFreeCoverUrl?: string;
6
+ topics: GeneratedDraftTopic[];
7
+ notification: GeneratedDraftHackNotification;
8
+ contributors: GeneratedDraftContributor[];
9
+ }
10
+ export interface GeneratedDraftHackSegments {
11
+ favouriteQuote: GeneratedDraftHackSegment;
12
+ inANutshell: GeneratedDraftHackSegment;
13
+ introduction: GeneratedDraftHackSegment;
14
+ insights: GeneratedDraftHackInsightSegment[];
15
+ conclusion: GeneratedDraftHackSegment;
16
+ }
17
+ export interface GeneratedDraftHackSegment {
18
+ paragraphCards: GeneratedDraftHackCard[][];
19
+ }
20
+ export interface GeneratedDraftHackCard {
21
+ markdown: string;
22
+ }
23
+ export interface GeneratedDraftHackInsightSegment extends GeneratedDraftHackSegment {
24
+ title: string;
25
+ actions: GeneratedDraftHackAction[];
26
+ }
27
+ export interface GeneratedDraftHackAction {
28
+ title: string;
29
+ markdown: string;
30
+ }
31
+ export interface GeneratedDraftTopic {
32
+ name: string;
33
+ }
34
+ export interface GeneratedDraftHackNotification {
35
+ aiGeneratedText: string;
36
+ }
37
+ export interface GeneratedDraftContributor {
38
+ name: string;
39
+ }
@@ -1,21 +1,21 @@
1
- import { EnrichedB2BOrganisation } from './enriched-b2b-organisation';
2
-
3
- export interface EnrichedB2BOrganisationCreatedEvent {
4
- id: string;
5
- type: 'EnrichedB2BOrganisationCreated';
6
- payload: EnrichedB2BOrganisation;
7
- }
8
-
9
- export interface EnrichedB2BOrganisationUpdatedEvent {
10
- id: string;
11
- type: 'EnrichedB2BOrganisationUpdated';
12
- payload: EnrichedB2BOrganisation;
13
- }
14
-
15
- export interface EnrichedB2BOrganisationDeletedEvent {
16
- id: string;
17
- type: 'EnrichedB2BOrganisationDeleted';
18
- payload: EnrichedB2BOrganisation;
19
- }
20
-
21
- export type EnrichedB2BOrganisationChangedEvent = EnrichedB2BOrganisationCreatedEvent | EnrichedB2BOrganisationUpdatedEvent | EnrichedB2BOrganisationDeletedEvent;
1
+ import { EnrichedB2BOrganisation } from './enriched-b2b-organisation';
2
+
3
+ export interface EnrichedB2BOrganisationCreatedEvent {
4
+ id: string;
5
+ type: 'EnrichedB2BOrganisationCreated';
6
+ payload: EnrichedB2BOrganisation;
7
+ }
8
+
9
+ export interface EnrichedB2BOrganisationUpdatedEvent {
10
+ id: string;
11
+ type: 'EnrichedB2BOrganisationUpdated';
12
+ payload: EnrichedB2BOrganisation;
13
+ }
14
+
15
+ export interface EnrichedB2BOrganisationDeletedEvent {
16
+ id: string;
17
+ type: 'EnrichedB2BOrganisationDeleted';
18
+ payload: EnrichedB2BOrganisation;
19
+ }
20
+
21
+ export type EnrichedB2BOrganisationChangedEvent = EnrichedB2BOrganisationCreatedEvent | EnrichedB2BOrganisationUpdatedEvent | EnrichedB2BOrganisationDeletedEvent;
@@ -1,38 +1,38 @@
1
- import { B2BOrganisation } from '../b2b-organisation/b2b-organisation';
2
- import { SupportedLocale } from '../localisation/supported-locales';
3
-
4
- /**
5
- * An enriched model of B2BOrganisation containing data that can be consumed by a public (unauthenticated) endpoint
6
- */
7
- export interface EnrichedB2BOrganisation extends B2BOrganisation {
8
- identityProviders: EnrichedB2BOrganisationIdentityProvider[];
9
- skinId?: string;
10
- brandWebAppDomain?: string;
11
- brandAppName?: {
12
- [K in SupportedLocale]?: string
13
- };
14
- ssoEnforcement?: SSOEnforcement;
15
- }
16
-
17
- export interface EnrichedB2BOrganisationIdentityProvider {
18
- id?: string;
19
- providerName: string;
20
- verifiedDomains: string[];
21
- /** Matching verifiedDomains should require to be authenticated via IdP or not */
22
- enforceIdpAuth: boolean;
23
- }
24
-
25
- export enum SSOEnforcement {
26
- /**
27
- * Means that no identity provider is configured for the organisation
28
- */
29
- NONE = 'NONE',
30
- /**
31
- * Means that it has at least 1 identity provider but not all identity providers have enforceIdpAuth set to true
32
- */
33
- OPTIONAL = 'OPTIONAL',
34
- /**
35
- * Means it has at least 1 identity provider and that all identity providers enforceIdpAuth
36
- */
37
- ENFORCED = 'ENFORCED'
1
+ import { B2BOrganisation } from '../b2b-organisation/b2b-organisation';
2
+ import { SupportedLocale } from '../localisation/supported-locales';
3
+
4
+ /**
5
+ * An enriched model of B2BOrganisation containing data that can be consumed by a public (unauthenticated) endpoint
6
+ */
7
+ export interface EnrichedB2BOrganisation extends B2BOrganisation {
8
+ identityProviders: EnrichedB2BOrganisationIdentityProvider[];
9
+ skinId?: string;
10
+ brandWebAppDomain?: string;
11
+ brandAppName?: {
12
+ [K in SupportedLocale]?: string
13
+ };
14
+ ssoEnforcement?: SSOEnforcement;
15
+ }
16
+
17
+ export interface EnrichedB2BOrganisationIdentityProvider {
18
+ id?: string;
19
+ providerName: string;
20
+ verifiedDomains: string[];
21
+ /** Matching verifiedDomains should require to be authenticated via IdP or not */
22
+ enforceIdpAuth: boolean;
23
+ }
24
+
25
+ export enum SSOEnforcement {
26
+ /**
27
+ * Means that no identity provider is configured for the organisation
28
+ */
29
+ NONE = 'NONE',
30
+ /**
31
+ * Means that it has at least 1 identity provider but not all identity providers have enforceIdpAuth set to true
32
+ */
33
+ OPTIONAL = 'OPTIONAL',
34
+ /**
35
+ * Means it has at least 1 identity provider and that all identity providers enforceIdpAuth
36
+ */
37
+ ENFORCED = 'ENFORCED'
38
38
  }
@@ -1,21 +1,21 @@
1
- import { EnrichedHack } from './enriched-hack';
2
-
3
- export interface EnrichedHackCreatedEvent {
4
- id: string;
5
- type: 'EnrichedHackCreated';
6
- payload: EnrichedHack;
7
- }
8
-
9
- export interface EnrichedHackUpdatedEvent {
10
- id: string;
11
- type: 'EnrichedHackUpdated';
12
- payload: EnrichedHack;
13
- }
14
-
15
- export interface EnrichedHackDeletedEvent {
16
- id: string;
17
- type: 'EnrichedHackDeleted';
18
- payload: EnrichedHack;
19
- }
20
-
21
- export type EnrichedHackChangedEvent = EnrichedHackCreatedEvent | EnrichedHackUpdatedEvent | EnrichedHackDeletedEvent;
1
+ import { EnrichedHack } from './enriched-hack';
2
+
3
+ export interface EnrichedHackCreatedEvent {
4
+ id: string;
5
+ type: 'EnrichedHackCreated';
6
+ payload: EnrichedHack;
7
+ }
8
+
9
+ export interface EnrichedHackUpdatedEvent {
10
+ id: string;
11
+ type: 'EnrichedHackUpdated';
12
+ payload: EnrichedHack;
13
+ }
14
+
15
+ export interface EnrichedHackDeletedEvent {
16
+ id: string;
17
+ type: 'EnrichedHackDeleted';
18
+ payload: EnrichedHack;
19
+ }
20
+
21
+ export type EnrichedHackChangedEvent = EnrichedHackCreatedEvent | EnrichedHackUpdatedEvent | EnrichedHackDeletedEvent;
@@ -1,109 +1,111 @@
1
- import { HackAffiliate, HackContributor, HackExternalLink, HackSourceData, HackTopic, HackType } from '../hack/hack';
2
- import { KnowledgeSource } from '../knowledge-source/knowledge-source';
3
- import { Profile, ProfileMetadata } from '../profile/profile';
4
- import { Theme } from '../theme/theme';
5
- import { HackWithVoice } from '../hack/hack-with-voice';
6
- import { ExtractedSubject } from '../hack/extracted-subject';
7
- import { SegmentType, SegmentAction, SegmentSpeech, SegmentSection, SegmentTextCard } from '../segment/segment';
8
-
9
- export interface EnrichedHack {
10
- /** The hack id */
11
- id: string;
12
- /** The hack language e.g. 'fr' if it is French */
13
- language: string;
14
- /** The locale (language and region) of the hack e.g. fr-FR. Use @uptime.app/localisation-contracts */
15
- locale: string;
16
- /** The id of the hack in its original locale. */
17
- baseLocaleHackId: string;
18
- v: number;
19
- hackVersion: number;
20
- createdAt: string;
21
- updatedAt: string;
22
-
23
- /** introduced Oct 2023 **/
24
- draftHackId: string;
25
- draftHackVersion: number;
26
-
27
- //@todo: Deprecate
28
- source?: KnowledgeSource;
29
- owner: string;
30
- tenant?: string;
31
- acl: string[];
32
- theme: Theme;
33
- title: string;
34
- isHidden?: boolean;
35
- editorialTags?: string[];
36
- coverUrl?: string;
37
- /** Added in July 2024. This is the URL of the cover image that is free to use without any copyright. */
38
- copyrightFreeCoverUrl?: string;
39
- notifications?: EnrichedHackNotifications;
40
- /* currently contains the inANutshell segment markdown */
41
- description: string;
42
- // ...
43
-
44
- segments: HackWithVoice['segments']; // Use the 'HackWithVoice' type
45
- affiliate?: HackAffiliate;
46
- topics: HackTopic[];
47
- contributors?: HackContributor[];
48
- type: HackType;
49
- sourceData?: HackSourceData;
50
- externalLink?: HackExternalLink;
51
- profile: EnrichHackProfile;
52
-
53
- /** added April 2024 */
54
- // TODO make it mandatory after a republish
55
- subjects?: EnrichedHackSubjects;
56
-
57
- // distribution
58
- includeInEmailNotifications: boolean;
59
- includeInPushNotifications: boolean;
60
- includeInRecommendations: boolean;
61
- includeInSearchResults: boolean;
62
- includeInTrending: boolean;
63
- includeInHackOfTheDay: boolean;
64
- includeInWebsite: boolean;
65
-
66
- /**
67
- * Time saved in minutes by consuming the hack rather than the underlying knowledge source.
68
- * calculated using the knowledge source page count / duration
69
- * */
70
- timeSaved?: number;
71
- /**
72
- * An estimation of the time saved in minutes when no reliable information is available on the knowledge source.
73
- */
74
- estimatedTimeSaved?: number;
75
-
76
- /**
77
- * Tenant display name, from the display name of its b2b-organisation, if any
78
- */
79
- tenantDisplayName?: string;
80
- }
81
-
82
- export interface EnrichedHackNotifications {
83
- aiGeneratedText?: string;
84
- humanCuratedText?: string;
85
- }
86
-
87
- export interface EnrichedHackSubjects {
88
- aiGenerated: ExtractedSubject[];
89
- humanCurated?: ExtractedSubject[];
90
- }
91
-
92
- export interface EnrichedHackSegment {
93
- id: string;
94
- createdAt: string;
95
- updatedAt: string;
96
- title: string;
97
- type: SegmentType;
98
- keywords: string[];
99
- actions: SegmentAction[];
100
- speech: SegmentSpeech[];
101
- sections: SegmentSection[];
102
- storyMode?: {
103
- cards: SegmentTextCard[];
104
- speech: SegmentSpeech[];
105
- },
106
- textSummary?: string;
107
- }
108
-
109
- export type EnrichHackProfile = Profile | ProfileMetadata;
1
+ import { HackAffiliate, HackContributor, HackExternalLink, HackSourceData, HackTopic, HackType } from '../hack/hack';
2
+ import { KnowledgeSource } from '../knowledge-source/knowledge-source';
3
+ import { Profile, ProfileMetadata } from '../profile/profile';
4
+ import { Theme } from '../theme/theme';
5
+ import { HackWithVoice } from '../hack/hack-with-voice';
6
+ import { ExtractedSubject } from '../hack/extracted-subject';
7
+ import { SegmentType, SegmentAction, SegmentSpeech, SegmentSection, SegmentTextCard } from '../segment/segment';
8
+ import { PrimaryTopic } from '../topics/primary-topic';
9
+
10
+ export interface EnrichedHack {
11
+ /** The hack id */
12
+ id: string;
13
+ /** The hack language e.g. 'fr' if it is French */
14
+ language: string;
15
+ /** The locale (language and region) of the hack e.g. fr-FR. Use @uptime.app/localisation-contracts */
16
+ locale: string;
17
+ /** The id of the hack in its original locale. */
18
+ baseLocaleHackId: string;
19
+ v: number;
20
+ hackVersion: number;
21
+ createdAt: string;
22
+ updatedAt: string;
23
+
24
+ /** introduced Oct 2023 **/
25
+ draftHackId: string;
26
+ draftHackVersion: number;
27
+
28
+ //@todo: Deprecate
29
+ source?: KnowledgeSource;
30
+ owner: string;
31
+ tenant?: string;
32
+ acl: string[];
33
+ theme: Theme;
34
+ title: string;
35
+ isHidden?: boolean;
36
+ editorialTags?: string[];
37
+ coverUrl?: string;
38
+ /** Added in July 2024. This is the URL of the cover image that is free to use without any copyright. */
39
+ copyrightFreeCoverUrl?: string;
40
+ notifications?: EnrichedHackNotifications;
41
+ /* currently contains the inANutshell segment markdown */
42
+ description: string;
43
+ // ...
44
+
45
+ segments: HackWithVoice['segments']; // Use the 'HackWithVoice' type
46
+ affiliate?: HackAffiliate;
47
+ topics: HackTopic[];
48
+ primaryTopics: PrimaryTopic[];
49
+ contributors?: HackContributor[];
50
+ type: HackType;
51
+ sourceData?: HackSourceData;
52
+ externalLink?: HackExternalLink;
53
+ profile: EnrichHackProfile;
54
+
55
+ /** added April 2024 */
56
+ // TODO make it mandatory after a republish
57
+ subjects?: EnrichedHackSubjects;
58
+
59
+ // distribution
60
+ includeInEmailNotifications: boolean;
61
+ includeInPushNotifications: boolean;
62
+ includeInRecommendations: boolean;
63
+ includeInSearchResults: boolean;
64
+ includeInTrending: boolean;
65
+ includeInHackOfTheDay: boolean;
66
+ includeInWebsite: boolean;
67
+
68
+ /**
69
+ * Time saved in minutes by consuming the hack rather than the underlying knowledge source.
70
+ * calculated using the knowledge source page count / duration
71
+ * */
72
+ timeSaved?: number;
73
+ /**
74
+ * An estimation of the time saved in minutes when no reliable information is available on the knowledge source.
75
+ */
76
+ estimatedTimeSaved?: number;
77
+
78
+ /**
79
+ * Tenant display name, from the display name of its b2b-organisation, if any
80
+ */
81
+ tenantDisplayName?: string;
82
+ }
83
+
84
+ export interface EnrichedHackNotifications {
85
+ aiGeneratedText?: string;
86
+ humanCuratedText?: string;
87
+ }
88
+
89
+ export interface EnrichedHackSubjects {
90
+ aiGenerated: ExtractedSubject[];
91
+ humanCurated?: ExtractedSubject[];
92
+ }
93
+
94
+ export interface EnrichedHackSegment {
95
+ id: string;
96
+ createdAt: string;
97
+ updatedAt: string;
98
+ title: string;
99
+ type: SegmentType;
100
+ keywords: string[];
101
+ actions: SegmentAction[];
102
+ speech: SegmentSpeech[];
103
+ sections: SegmentSection[];
104
+ storyMode?: {
105
+ cards: SegmentTextCard[];
106
+ speech: SegmentSpeech[];
107
+ },
108
+ textSummary?: string;
109
+ }
110
+
111
+ export type EnrichHackProfile = Profile | ProfileMetadata;