@uptime.app/contracts 2.0.45 → 2.0.46-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 (156) hide show
  1. package/dist/cjs/collection/enriched-collection.d.ts +1 -0
  2. package/dist/cjs/collection/enriched-collection.d.ts.map +1 -1
  3. package/dist/cjs/enriched-hack/enriched-hack.d.ts +1 -0
  4. package/dist/cjs/enriched-hack/enriched-hack.d.ts.map +1 -1
  5. package/dist/cjs/spark/spark.d.ts +1 -0
  6. package/dist/cjs/spark/spark.d.ts.map +1 -1
  7. package/dist/esm/collection/enriched-collection.d.ts +1 -0
  8. package/dist/esm/collection/enriched-collection.d.ts.map +1 -1
  9. package/dist/esm/enriched-hack/enriched-hack.d.ts +1 -0
  10. package/dist/esm/enriched-hack/enriched-hack.d.ts.map +1 -1
  11. package/dist/esm/spark/spark.d.ts +1 -0
  12. package/dist/esm/spark/spark.d.ts.map +1 -1
  13. package/package.json +2 -2
  14. package/src/access-control/collection-access-control.ts +28 -28
  15. package/src/access-control/hack-access-control.ts +32 -32
  16. package/src/access-control/profile-access-control.ts +27 -27
  17. package/src/app-hack/app-full-hack.ts +9 -9
  18. package/src/app-hack/app-hack-metadata.ts +61 -61
  19. package/src/app-hack/app-restricted-hack.ts +22 -22
  20. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  21. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  22. package/src/b2b-organisation/b2b-org-idp-mapping.ts +27 -27
  23. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  24. package/src/b2b-organisation/b2b-organisation-invitation.ts +45 -45
  25. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  26. package/src/b2b-organisation/b2b-organisation-member.ts +11 -11
  27. package/src/b2b-organisation/b2b-organisation.ts +33 -33
  28. package/src/brand/brand-events.ts +21 -21
  29. package/src/brand/brand.ts +27 -27
  30. package/src/catalogue/catalogue.ts +147 -147
  31. package/src/cms-hack/cms-searchable-hack.ts +44 -44
  32. package/src/collection/collection-events.ts +21 -21
  33. package/src/collection/collection.ts +57 -57
  34. package/src/collection/enriched-collection-events.ts +18 -18
  35. package/src/collection/enriched-collection.ts +65 -64
  36. package/src/creator/creator-events.ts +32 -32
  37. package/src/creator/creator.ts +7 -7
  38. package/src/distribution/collection-distribution.ts +17 -17
  39. package/src/distribution/distribution-events.ts +61 -61
  40. package/src/distribution/hack-distribution.ts +18 -18
  41. package/src/draft-hack/draft-hack-events.ts +21 -21
  42. package/src/draft-hack/draft-hack.ts +190 -190
  43. package/src/draft-hack-generation/draft-hack-generation-commands.ts +10 -10
  44. package/src/draft-hack-generation/draft-hack-generation-events.ts +52 -52
  45. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  46. package/src/enriched-b2b-organisation/enriched-b2b-organisation-events.ts +21 -21
  47. package/src/enriched-b2b-organisation/enriched-b2b-organisation.ts +17 -17
  48. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  49. package/src/enriched-hack/enriched-hack.ts +109 -109
  50. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  51. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  52. package/src/entitlement/user-entitlements-commands.ts +54 -54
  53. package/src/entitlement/user-entitlements-events.ts +29 -29
  54. package/src/entitlement/user-entitlements.ts +18 -18
  55. package/src/flashcard/flashcard-events.ts +85 -85
  56. package/src/flashcard/flashcard.ts +138 -138
  57. package/src/hack/extracted-subject.ts +31 -31
  58. package/src/hack/hack-events.ts +21 -21
  59. package/src/hack/hack-published.ts +21 -21
  60. package/src/hack/hack-with-voice-events.ts +20 -20
  61. package/src/hack/hack-with-voice.ts +33 -33
  62. package/src/hack/hack.ts +117 -117
  63. package/src/hack/publish-hack-command.ts +20 -20
  64. package/src/hack-mapping/access-helper.ts +6 -6
  65. package/src/hack-mapping/app-full-hack.test.ts +12 -12
  66. package/src/hack-mapping/app-full-hack.ts +14 -14
  67. package/src/hack-mapping/app-hack-metadata.test.ts +22 -22
  68. package/src/hack-mapping/app-hack-metadata.ts +82 -82
  69. package/src/hack-mapping/app-restricted-hack.test.ts +11 -11
  70. package/src/hack-mapping/app-restricted-hack.ts +21 -21
  71. package/src/hack-mapping/remove-undefined-fields.ts +9 -9
  72. package/src/hack-mapping/test-data/enriched-hack.json +2576 -2575
  73. package/src/hack-mapping/test-data/expected-app-full-hack.json +2509 -2508
  74. package/src/hack-mapping/test-data/expected-app-hack-metadata.json +93 -92
  75. package/src/hack-mapping/test-data/expected-app-restricted-hack.json +799 -798
  76. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  77. package/src/hack-metadata/hack-metadata.ts +17 -17
  78. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  79. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  80. package/src/hack-statistics/hack-statistics-events.ts +21 -21
  81. package/src/hack-statistics/hack-statistics.ts +9 -9
  82. package/src/hackbot/hack-generation-commands.ts +44 -44
  83. package/src/hackbot/hack-generation-trigger-events.ts +21 -21
  84. package/src/hackbot/hack-generation-trigger.ts +56 -56
  85. package/src/history/history-events.ts +21 -21
  86. package/src/history/history.ts +46 -46
  87. package/src/identity-provider/domain-identity-provider-events.ts +20 -20
  88. package/src/identity-provider/domain-identity-provider.ts +10 -10
  89. package/src/identity-provider/identity-provider-events.ts +20 -20
  90. package/src/identity-provider/identity-provider.ts +31 -31
  91. package/src/index.ts +181 -181
  92. package/src/interest/interest-events.ts +21 -21
  93. package/src/interest/interest.ts +15 -15
  94. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  95. package/src/knowledge-source/knowledge-source.ts +43 -43
  96. package/src/knowledge-source-parsing/knowledge-source-metadata.ts +52 -52
  97. package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +41 -41
  98. package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +30 -30
  99. package/src/knowledge-source-parsing/podcast-metadata.ts +44 -44
  100. package/src/knowledge-source-parsing/podcast-parsing-events.ts +28 -28
  101. package/src/knowledge-source-parsing/user-hack-generation-options.ts +7 -7
  102. package/src/localisation/live-locales.ts +45 -45
  103. package/src/localisation/locale-language.ts +4 -4
  104. package/src/localisation/supported-languages.ts +11 -11
  105. package/src/localisation/supported-locales.ts +67 -67
  106. package/src/message-bus/Context.ts +7 -7
  107. package/src/moderation/hack-moderation-result-events.ts +18 -18
  108. package/src/moderation/hack-moderation-result.ts +27 -27
  109. package/src/partner/partner-events.ts +21 -21
  110. package/src/partner/partner.ts +7 -7
  111. package/src/pending-hack/pending-hack-events.ts +20 -20
  112. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  113. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  114. package/src/pending-hack/pending-hack.ts +78 -78
  115. package/src/preferences/preferences-events.ts +15 -15
  116. package/src/preferences/preferences.ts +35 -35
  117. package/src/profile/profile-events.ts +41 -41
  118. package/src/profile/profile.ts +29 -29
  119. package/src/profile/translated-profile.ts +13 -13
  120. package/src/referral/referral-events.ts +41 -41
  121. package/src/referral/referral.ts +76 -76
  122. package/src/saved/saved-collection-events.ts +19 -19
  123. package/src/saved/saved-collection.ts +8 -8
  124. package/src/segment/segment-commands.ts +75 -75
  125. package/src/segment/segment-events.ts +42 -42
  126. package/src/segment/segment-with-voice.ts +8 -8
  127. package/src/segment/segment.ts +82 -82
  128. package/src/skin/skin-events.ts +21 -21
  129. package/src/skin/skin.ts +6 -6
  130. package/src/spark/spark-board-read-model.ts +17 -17
  131. package/src/spark/spark-board.ts +12 -12
  132. package/src/spark/spark-events.ts +42 -42
  133. package/src/spark/spark.ts +81 -80
  134. package/src/text-to-speech/create-speech-commands.ts +22 -22
  135. package/src/text-to-speech/speech-created-events.ts +10 -10
  136. package/src/text-to-speech/supported-voices.ts +183 -183
  137. package/src/text-to-speech/text-segment.ts +29 -29
  138. package/src/theme/theme-events.ts +21 -21
  139. package/src/theme/theme.ts +68 -68
  140. package/src/translation/translation-events.ts +73 -73
  141. package/src/translation/translation.ts +25 -25
  142. package/src/trending/trending-events.ts +21 -21
  143. package/src/trending/trending-hacks.ts +8 -8
  144. package/src/user/cognito-user-authentication-log.ts +7 -7
  145. package/src/user/get-user.ts +60 -60
  146. package/src/user/user-events.ts +30 -30
  147. package/src/user-context/user-context-events.ts +21 -21
  148. package/src/user-context/user-context.ts +15 -15
  149. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  150. package/src/user-notification-context/user-notification-context.ts +9 -9
  151. package/src/user-statistics/user-statistics-events.ts +97 -97
  152. package/src/user-statistics/user-statistics.ts +82 -82
  153. package/src/video-cropping/video-cropping-events.ts +43 -43
  154. package/src/video-cropping/video-metadata.ts +12 -12
  155. package/tsconfig.cjs.json +7 -7
  156. package/tsconfig.npm.json +22 -22
@@ -1,67 +1,67 @@
1
- export enum SupportedLocale {
2
- /** English (United States) */
3
- enUS = 'en-US',
4
- /** Portuguese (Brazil) */
5
- ptBR = 'pt-BR',
6
- /** Spanish (International) */
7
- es = 'es',
8
- /** French (France) */
9
- frFR = 'fr-FR',
10
- /** Italian */
11
- itIT = 'it-IT',
12
- /** Dutch */
13
- nlNL = 'nl-NL',
14
- /** German */
15
- deDE = 'de-DE',
16
- /** Polish */
17
- plPL = 'pl-PL',
18
- /** Swedish */
19
- svSE = 'sv-SE',
20
- /** Turkish */
21
- trTR = 'tr-TR',
22
- /** Canadian French */
23
- frCA = 'fr-CA',
24
- /** Traditional Chinese */
25
- zhTW = 'zh-TW',
26
- /** Simplified Chinese */
27
- zhCN = 'zh-CN',
28
- /** Norwegian */
29
- nbNO = 'nb-NO',
30
- /** Malaysian Malay */
31
- msMY = 'ms-MY',
32
- /** Modern Standard Arabic */
33
- ar = 'ar',
34
- /** Hebrew */
35
- heIL = 'he-IL',
36
- /** Japanese */
37
- jaJP = 'ja-JP',
38
- /** Bahasa Indonesian */
39
- idID = 'id-ID',
40
- /** Vietnamese */
41
- viVN = 'vi-VN',
42
- /** Russian */
43
- ruRU = 'ru-RU',
44
- /** Korean */
45
- koKR = 'ko-KR',
46
- /** Thai */
47
- thTH = 'th-TH',
48
- /** Hindi */
49
- hiIN = 'hi-IN',
50
- }
51
-
52
- /**
53
- * All supported locale codes. Use allLiveLocaleCodes() instead when checking for locale codes supported by the app
54
- */
55
- export function allSupportedLocaleCodes(): string[] {
56
- return Object.values(SupportedLocale);
57
- }
58
-
59
- export function supportedLocaleFrom(localeCode?: string): SupportedLocale {
60
- const locale = allSupportedLocaleCodes().find(liveLocale => liveLocale == localeCode);
61
- if (!locale) {
62
- return DEFAULT_LOCALE;
63
- }
64
- return locale as SupportedLocale;
65
- }
66
-
67
- export const DEFAULT_LOCALE = SupportedLocale.enUS;
1
+ export enum SupportedLocale {
2
+ /** English (United States) */
3
+ enUS = 'en-US',
4
+ /** Portuguese (Brazil) */
5
+ ptBR = 'pt-BR',
6
+ /** Spanish (International) */
7
+ es = 'es',
8
+ /** French (France) */
9
+ frFR = 'fr-FR',
10
+ /** Italian */
11
+ itIT = 'it-IT',
12
+ /** Dutch */
13
+ nlNL = 'nl-NL',
14
+ /** German */
15
+ deDE = 'de-DE',
16
+ /** Polish */
17
+ plPL = 'pl-PL',
18
+ /** Swedish */
19
+ svSE = 'sv-SE',
20
+ /** Turkish */
21
+ trTR = 'tr-TR',
22
+ /** Canadian French */
23
+ frCA = 'fr-CA',
24
+ /** Traditional Chinese */
25
+ zhTW = 'zh-TW',
26
+ /** Simplified Chinese */
27
+ zhCN = 'zh-CN',
28
+ /** Norwegian */
29
+ nbNO = 'nb-NO',
30
+ /** Malaysian Malay */
31
+ msMY = 'ms-MY',
32
+ /** Modern Standard Arabic */
33
+ ar = 'ar',
34
+ /** Hebrew */
35
+ heIL = 'he-IL',
36
+ /** Japanese */
37
+ jaJP = 'ja-JP',
38
+ /** Bahasa Indonesian */
39
+ idID = 'id-ID',
40
+ /** Vietnamese */
41
+ viVN = 'vi-VN',
42
+ /** Russian */
43
+ ruRU = 'ru-RU',
44
+ /** Korean */
45
+ koKR = 'ko-KR',
46
+ /** Thai */
47
+ thTH = 'th-TH',
48
+ /** Hindi */
49
+ hiIN = 'hi-IN',
50
+ }
51
+
52
+ /**
53
+ * All supported locale codes. Use allLiveLocaleCodes() instead when checking for locale codes supported by the app
54
+ */
55
+ export function allSupportedLocaleCodes(): string[] {
56
+ return Object.values(SupportedLocale);
57
+ }
58
+
59
+ export function supportedLocaleFrom(localeCode?: string): SupportedLocale {
60
+ const locale = allSupportedLocaleCodes().find(liveLocale => liveLocale == localeCode);
61
+ if (!locale) {
62
+ return DEFAULT_LOCALE;
63
+ }
64
+ return locale as SupportedLocale;
65
+ }
66
+
67
+ export const DEFAULT_LOCALE = SupportedLocale.enUS;
@@ -1,8 +1,8 @@
1
- export interface Context {
2
- invocationId: string;
3
- transactionId: string;
4
- causationId: string;
5
- correlationIds: {
6
- [k: string]: string;
7
- };
1
+ export interface Context {
2
+ invocationId: string;
3
+ transactionId: string;
4
+ causationId: string;
5
+ correlationIds: {
6
+ [k: string]: string;
7
+ };
8
8
  }
@@ -1,18 +1,18 @@
1
- import { HackModerationResult } from './hack-moderation-result';
2
-
3
- export interface HackModerationResultCreatedEvent {
4
- id: string;
5
- type: 'HackModerationResultCreated';
6
- payload: HackModerationResult;
7
- }
8
- export interface HackModerationResultUpdatedEvent {
9
- id: string;
10
- type: 'HackModerationResultUpdated';
11
- payload: HackModerationResult;
12
- }
13
- export interface HackModerationResultDeletedEvent {
14
- id: string;
15
- type: 'HackModerationResultDeleted';
16
- payload: HackModerationResult;
17
- }
18
- export declare type HackModerationResultChangedEvent = HackModerationResultCreatedEvent | HackModerationResultUpdatedEvent | HackModerationResultDeletedEvent;
1
+ import { HackModerationResult } from './hack-moderation-result';
2
+
3
+ export interface HackModerationResultCreatedEvent {
4
+ id: string;
5
+ type: 'HackModerationResultCreated';
6
+ payload: HackModerationResult;
7
+ }
8
+ export interface HackModerationResultUpdatedEvent {
9
+ id: string;
10
+ type: 'HackModerationResultUpdated';
11
+ payload: HackModerationResult;
12
+ }
13
+ export interface HackModerationResultDeletedEvent {
14
+ id: string;
15
+ type: 'HackModerationResultDeleted';
16
+ payload: HackModerationResult;
17
+ }
18
+ export declare type HackModerationResultChangedEvent = HackModerationResultCreatedEvent | HackModerationResultUpdatedEvent | HackModerationResultDeletedEvent;
@@ -1,27 +1,27 @@
1
- export interface HackModerationResult {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- hackId: string;
7
- hackVersion: number;
8
- draftHackId: string;
9
- draftHackVersion: number;
10
- moderationLabels: ModerationLabel[];
11
- moderationActions: ModerationAction[];
12
- }
13
-
14
- export interface ModerationLabel {
15
- label: string;
16
- content: string;
17
- }
18
-
19
- export enum ModerationAction {
20
- Accept = 'accept',
21
- PartialDistribution = 'partial_distribution',
22
- NoDistribution = 'no_distribution',
23
- Review = 'review',
24
- Notify = 'notify',
25
- Hide = 'hide',
26
- Escalate = 'escalate'
27
- }
1
+ export interface HackModerationResult {
2
+ id: string;
3
+ v: number;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ hackId: string;
7
+ hackVersion: number;
8
+ draftHackId: string;
9
+ draftHackVersion: number;
10
+ moderationLabels: ModerationLabel[];
11
+ moderationActions: ModerationAction[];
12
+ }
13
+
14
+ export interface ModerationLabel {
15
+ label: string;
16
+ content: string;
17
+ }
18
+
19
+ export enum ModerationAction {
20
+ Accept = 'accept',
21
+ PartialDistribution = 'partial_distribution',
22
+ NoDistribution = 'no_distribution',
23
+ Review = 'review',
24
+ Notify = 'notify',
25
+ Hide = 'hide',
26
+ Escalate = 'escalate'
27
+ }
@@ -1,21 +1,21 @@
1
- import { Partner } from './partner';
2
-
3
- export interface PartnerCreatedEvent {
4
- id: string;
5
- type: 'PartnerCreated';
6
- payload: Partner;
7
- }
8
-
9
- export interface PartnerUpdatedEvent {
10
- id: string;
11
- type: 'PartnerUpdated';
12
- payload: Partner;
13
- }
14
-
15
- export interface PartnerDeletedEvent {
16
- id: string;
17
- type: 'PartnerDeleted';
18
- payload: Partner;
19
- }
20
-
21
- export type PartnerChangedEvent = PartnerCreatedEvent | PartnerUpdatedEvent | PartnerDeletedEvent;
1
+ import { Partner } from './partner';
2
+
3
+ export interface PartnerCreatedEvent {
4
+ id: string;
5
+ type: 'PartnerCreated';
6
+ payload: Partner;
7
+ }
8
+
9
+ export interface PartnerUpdatedEvent {
10
+ id: string;
11
+ type: 'PartnerUpdated';
12
+ payload: Partner;
13
+ }
14
+
15
+ export interface PartnerDeletedEvent {
16
+ id: string;
17
+ type: 'PartnerDeleted';
18
+ payload: Partner;
19
+ }
20
+
21
+ export type PartnerChangedEvent = PartnerCreatedEvent | PartnerUpdatedEvent | PartnerDeletedEvent;
@@ -1,7 +1,7 @@
1
- export interface Partner {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- owner: string;
7
- }
1
+ export interface Partner {
2
+ id: string;
3
+ v: number;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ owner: string;
7
+ }
@@ -1,21 +1,21 @@
1
- import { PendingHack } from './pending-hack';
2
-
3
- export interface PendingHackCreatedEvent {
4
- id: string;
5
- type: 'PendingHackCreated';
6
- payload: PendingHack;
7
- }
8
-
9
- export interface PendingHackUpdatedEvent {
10
- id: string;
11
- type: 'PendingHackUpdated';
12
- payload: PendingHack;
13
- }
14
-
15
- export interface PendingHackDeletedEvent {
16
- id: string;
17
- type: 'PendingHackDeleted';
18
- payload: PendingHack;
19
- }
20
-
1
+ import { PendingHack } from './pending-hack';
2
+
3
+ export interface PendingHackCreatedEvent {
4
+ id: string;
5
+ type: 'PendingHackCreated';
6
+ payload: PendingHack;
7
+ }
8
+
9
+ export interface PendingHackUpdatedEvent {
10
+ id: string;
11
+ type: 'PendingHackUpdated';
12
+ payload: PendingHack;
13
+ }
14
+
15
+ export interface PendingHackDeletedEvent {
16
+ id: string;
17
+ type: 'PendingHackDeleted';
18
+ payload: PendingHack;
19
+ }
20
+
21
21
  export type PendingHackChangedEvent = PendingHackCreatedEvent | PendingHackUpdatedEvent | PendingHackDeletedEvent;
@@ -1,21 +1,21 @@
1
- import { PendingHackWithVoice } from './pending-hack-with-voice';
2
-
3
- export interface PendingHackWithVoiceCreatedEvent {
4
- id: string;
5
- type: 'PendingHackWithVoiceCreated';
6
- payload: PendingHackWithVoice;
7
- }
8
-
9
- export interface PendingHackWithVoiceUpdatedEvent {
10
- id: string;
11
- type: 'PendingHackWithVoiceUpdated';
12
- payload: PendingHackWithVoice;
13
- }
14
-
15
- export interface PendingHackWithVoiceDeletedEvent {
16
- id: string;
17
- type: 'PendingHackWithVoiceDeleted';
18
- payload: PendingHackWithVoice;
19
- }
20
-
1
+ import { PendingHackWithVoice } from './pending-hack-with-voice';
2
+
3
+ export interface PendingHackWithVoiceCreatedEvent {
4
+ id: string;
5
+ type: 'PendingHackWithVoiceCreated';
6
+ payload: PendingHackWithVoice;
7
+ }
8
+
9
+ export interface PendingHackWithVoiceUpdatedEvent {
10
+ id: string;
11
+ type: 'PendingHackWithVoiceUpdated';
12
+ payload: PendingHackWithVoice;
13
+ }
14
+
15
+ export interface PendingHackWithVoiceDeletedEvent {
16
+ id: string;
17
+ type: 'PendingHackWithVoiceDeleted';
18
+ payload: PendingHackWithVoice;
19
+ }
20
+
21
21
  export type PendingHackWithVoiceChangedEvent = PendingHackWithVoiceCreatedEvent | PendingHackWithVoiceUpdatedEvent | PendingHackWithVoiceDeletedEvent;
@@ -1,25 +1,25 @@
1
- /* eslint-disable @typescript-eslint/ban-types */
2
- import { Segment } from '../segment/segment';
3
- import { CompletePendingHack, PendingHack } from './pending-hack';
4
-
5
- export interface PendingHackWithVoice {
6
- id: string;
7
- v: number;
8
- createdAt: string;
9
- updatedAt: string;
10
- voiceId: string;
11
- isDefaultVoice: boolean;
12
- hackId: string;
13
- baseLocaleHackId: string;
14
- segments: PendingHack['segments'];
15
- }
16
-
17
- export interface CompletePendingHackWithVoice extends PendingHackWithVoice {
18
- segments: CompletePendingHack['segments'];
19
- }
20
-
21
- export type CompletePendingHackWithVoiceWithPutInAction = CompletePendingHackWithVoice & {
22
- segments: {
23
- putInAction: Segment;
24
- }
25
- };
1
+ /* eslint-disable @typescript-eslint/ban-types */
2
+ import { Segment } from '../segment/segment';
3
+ import { CompletePendingHack, PendingHack } from './pending-hack';
4
+
5
+ export interface PendingHackWithVoice {
6
+ id: string;
7
+ v: number;
8
+ createdAt: string;
9
+ updatedAt: string;
10
+ voiceId: string;
11
+ isDefaultVoice: boolean;
12
+ hackId: string;
13
+ baseLocaleHackId: string;
14
+ segments: PendingHack['segments'];
15
+ }
16
+
17
+ export interface CompletePendingHackWithVoice extends PendingHackWithVoice {
18
+ segments: CompletePendingHack['segments'];
19
+ }
20
+
21
+ export type CompletePendingHackWithVoiceWithPutInAction = CompletePendingHackWithVoice & {
22
+ segments: {
23
+ putInAction: Segment;
24
+ }
25
+ };
@@ -1,78 +1,78 @@
1
- /* eslint-disable @typescript-eslint/ban-types */
2
- import { ExtractedSubject } from '../hack/extracted-subject';
3
- import { HackAffiliate, HackContributor, HackType, HackSourceData, HackTopic, HackExternalLink } from '../hack/hack';
4
- import { Segment } from '../segment/segment';
5
-
6
- export interface PendingHack {
7
- id: string;
8
- /** use @uptime.app/localisation-contracts */
9
- locale: string;
10
- baseLocaleHackId: string;
11
- v: number;
12
- createdAt: string;
13
- updatedAt: string;
14
- owner?: string;
15
- tenant?: string;
16
- draftHackId: string;
17
- draftHackVersion: number;
18
- hackId: string;
19
- sourceId?: string;
20
- title: string;
21
- themeId: string;
22
- coverUrl?: string;
23
- /** Added in July 2024. This is the URL of the cover image that is free to use without any copyright. */
24
- copyrightFreeCoverUrl?: string;
25
- affiliate?: HackAffiliate;
26
- topics: HackTopic[];
27
- contributors: HackContributor[];
28
- type: HackType;
29
- sourceData?: HackSourceData;
30
- notifications?: {
31
- aiGeneratedText?: string;
32
- humanCuratedText?: string;
33
- };
34
- segments: {
35
- favouriteQuote: Segment | {};
36
- inANutshell: Segment | {};
37
- introduction: Segment | {};
38
- insights: [
39
- (Segment | {}),
40
- (Segment | {}),
41
- (Segment | {})
42
- ];
43
- conclusion: Segment | {};
44
- // composite segments
45
- overview: Segment | {};
46
- shareableOverview: Segment | {};
47
- hereAreTheInsights: Segment | {};
48
- putInAction?: Segment | {};
49
- };
50
- externalLink?: HackExternalLink;
51
- subjects?: ExtractedSubject[];
52
- }
53
-
54
- export interface CompletePendingHack extends PendingHack {
55
- segments: {
56
- favouriteQuote: Segment;
57
- inANutshell: Segment;
58
- introduction: Segment;
59
- insights: [
60
- Segment,
61
- Segment,
62
- Segment
63
- ];
64
- conclusion: Segment;
65
- // composite segments
66
- overview: Segment;
67
- shareableOverview: Segment;
68
- hereAreTheInsights: Segment;
69
- putInAction?: Segment;
70
- };
71
- subjects: ExtractedSubject[];
72
- }
73
-
74
- export type CompletePendingHackWithPutInAction = CompletePendingHack & {
75
- segments: {
76
- putInAction: Segment;
77
- }
78
- };
1
+ /* eslint-disable @typescript-eslint/ban-types */
2
+ import { ExtractedSubject } from '../hack/extracted-subject';
3
+ import { HackAffiliate, HackContributor, HackType, HackSourceData, HackTopic, HackExternalLink } from '../hack/hack';
4
+ import { Segment } from '../segment/segment';
5
+
6
+ export interface PendingHack {
7
+ id: string;
8
+ /** use @uptime.app/localisation-contracts */
9
+ locale: string;
10
+ baseLocaleHackId: string;
11
+ v: number;
12
+ createdAt: string;
13
+ updatedAt: string;
14
+ owner?: string;
15
+ tenant?: string;
16
+ draftHackId: string;
17
+ draftHackVersion: number;
18
+ hackId: string;
19
+ sourceId?: string;
20
+ title: string;
21
+ themeId: string;
22
+ coverUrl?: string;
23
+ /** Added in July 2024. This is the URL of the cover image that is free to use without any copyright. */
24
+ copyrightFreeCoverUrl?: string;
25
+ affiliate?: HackAffiliate;
26
+ topics: HackTopic[];
27
+ contributors: HackContributor[];
28
+ type: HackType;
29
+ sourceData?: HackSourceData;
30
+ notifications?: {
31
+ aiGeneratedText?: string;
32
+ humanCuratedText?: string;
33
+ };
34
+ segments: {
35
+ favouriteQuote: Segment | {};
36
+ inANutshell: Segment | {};
37
+ introduction: Segment | {};
38
+ insights: [
39
+ (Segment | {}),
40
+ (Segment | {}),
41
+ (Segment | {})
42
+ ];
43
+ conclusion: Segment | {};
44
+ // composite segments
45
+ overview: Segment | {};
46
+ shareableOverview: Segment | {};
47
+ hereAreTheInsights: Segment | {};
48
+ putInAction?: Segment | {};
49
+ };
50
+ externalLink?: HackExternalLink;
51
+ subjects?: ExtractedSubject[];
52
+ }
53
+
54
+ export interface CompletePendingHack extends PendingHack {
55
+ segments: {
56
+ favouriteQuote: Segment;
57
+ inANutshell: Segment;
58
+ introduction: Segment;
59
+ insights: [
60
+ Segment,
61
+ Segment,
62
+ Segment
63
+ ];
64
+ conclusion: Segment;
65
+ // composite segments
66
+ overview: Segment;
67
+ shareableOverview: Segment;
68
+ hereAreTheInsights: Segment;
69
+ putInAction?: Segment;
70
+ };
71
+ subjects: ExtractedSubject[];
72
+ }
73
+
74
+ export type CompletePendingHackWithPutInAction = CompletePendingHack & {
75
+ segments: {
76
+ putInAction: Segment;
77
+ }
78
+ };
@@ -1,15 +1,15 @@
1
- import { Preferences } from './preferences';
2
-
3
- export interface UserPreferencesCreatedEvent {
4
- id: string;
5
- type: 'UserPreferencesCreated';
6
- payload: Preferences;
7
- }
8
-
9
- export interface UserPreferencesUpdatedEvent {
10
- id: string;
11
- type: 'UserPreferencesUpdated';
12
- payload: Preferences;
13
- }
14
-
15
- export type UserPreferencesChangedEvent = UserPreferencesCreatedEvent | UserPreferencesUpdatedEvent;
1
+ import { Preferences } from './preferences';
2
+
3
+ export interface UserPreferencesCreatedEvent {
4
+ id: string;
5
+ type: 'UserPreferencesCreated';
6
+ payload: Preferences;
7
+ }
8
+
9
+ export interface UserPreferencesUpdatedEvent {
10
+ id: string;
11
+ type: 'UserPreferencesUpdated';
12
+ payload: Preferences;
13
+ }
14
+
15
+ export type UserPreferencesChangedEvent = UserPreferencesCreatedEvent | UserPreferencesUpdatedEvent;