@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,97 +1,97 @@
1
- import { DailyInsightCompleted, StreakRepair, UserHackStatistics, UserInsightStreak, ViewedHack } from './user-statistics';
2
-
3
- export interface DailyInsightCompletedCreatedEvent {
4
- id: string;
5
- type: 'DailyInsightCompletedCreated';
6
- payload: DailyInsightCompleted;
7
- }
8
-
9
- export interface DailyInsightCompletedUpdatedEvent {
10
- id: string;
11
- type: 'DailyInsightCompletedUpdated';
12
- payload: DailyInsightCompleted;
13
- }
14
-
15
- export interface DailyInsightCompletedDeletedEvent {
16
- id: string;
17
- type: 'DailyInsightCompletedDeleted';
18
- payload: DailyInsightCompleted;
19
- }
20
-
21
- export interface StreakRepairCreatedEvent {
22
- id: string;
23
- type: 'StreakRepairCreated';
24
- payload: StreakRepair;
25
- }
26
-
27
- export interface StreakRepairUpdatedEvent {
28
- id: string;
29
- type: 'StreakRepairUpdated';
30
- payload: StreakRepair;
31
- }
32
-
33
- export interface StreakRepairDeletedEvent {
34
- id: string;
35
- type: 'StreakRepairDeleted';
36
- payload: StreakRepair;
37
- }
38
-
39
- export interface UserHackStatisticsCreatedEvent {
40
- id: string;
41
- type: 'UserHackStatisticsCreated';
42
- payload: UserHackStatistics;
43
- }
44
-
45
- export interface UserHackStatisticsUpdatedEvent {
46
- id: string;
47
- type: 'UserHackStatisticsUpdated';
48
- payload: UserHackStatistics;
49
- }
50
-
51
- export interface UserHackStatisticsDeletedEvent {
52
- id: string;
53
- type: 'UserHackStatisticsDeleted';
54
- payload: UserHackStatistics;
55
- }
56
-
57
- export interface UserInsightStreakCreatedEvent {
58
- id: string;
59
- type: 'UserInsightStreakCreated';
60
- payload: UserInsightStreak;
61
- }
62
-
63
- export interface UserInsightStreakUpdatedEvent {
64
- id: string;
65
- type: 'UserInsightStreakUpdated';
66
- payload: UserInsightStreak;
67
- }
68
-
69
- export interface UserInsightStreakDeletedEvent {
70
- id: string;
71
- type: 'UserInsightStreakDeleted';
72
- payload: UserInsightStreak;
73
- }
74
-
75
- export interface ViewedHackCreatedEvent {
76
- id: string;
77
- type: 'ViewedHackCreated';
78
- payload: ViewedHack;
79
- }
80
-
81
- export interface ViewedHackUpdatedEvent {
82
- id: string;
83
- type: 'ViewedHackUpdated';
84
- payload: ViewedHack;
85
- }
86
-
87
- export interface ViewedHackDeletedEvent {
88
- id: string;
89
- type: 'ViewedHackDeleted';
90
- payload: ViewedHack;
91
- }
92
-
93
- export type DailyInsightCompletedChangedEvent = DailyInsightCompletedCreatedEvent | DailyInsightCompletedUpdatedEvent | DailyInsightCompletedDeletedEvent;
94
- export type StreakRepairChangedEvent = StreakRepairCreatedEvent | StreakRepairUpdatedEvent | StreakRepairDeletedEvent;
95
- export type UserHackStatisticsChangedEvent = UserHackStatisticsCreatedEvent | UserHackStatisticsUpdatedEvent | UserHackStatisticsDeletedEvent;
96
- export type UserInsightStreakChangedEvent = UserInsightStreakCreatedEvent | UserInsightStreakUpdatedEvent | UserInsightStreakDeletedEvent;
97
- export type ViewedHackChangedEvent = ViewedHackCreatedEvent | ViewedHackUpdatedEvent | ViewedHackDeletedEvent;
1
+ import { DailyInsightCompleted, StreakRepair, UserHackStatistics, UserInsightStreak, ViewedHack } from './user-statistics';
2
+
3
+ export interface DailyInsightCompletedCreatedEvent {
4
+ id: string;
5
+ type: 'DailyInsightCompletedCreated';
6
+ payload: DailyInsightCompleted;
7
+ }
8
+
9
+ export interface DailyInsightCompletedUpdatedEvent {
10
+ id: string;
11
+ type: 'DailyInsightCompletedUpdated';
12
+ payload: DailyInsightCompleted;
13
+ }
14
+
15
+ export interface DailyInsightCompletedDeletedEvent {
16
+ id: string;
17
+ type: 'DailyInsightCompletedDeleted';
18
+ payload: DailyInsightCompleted;
19
+ }
20
+
21
+ export interface StreakRepairCreatedEvent {
22
+ id: string;
23
+ type: 'StreakRepairCreated';
24
+ payload: StreakRepair;
25
+ }
26
+
27
+ export interface StreakRepairUpdatedEvent {
28
+ id: string;
29
+ type: 'StreakRepairUpdated';
30
+ payload: StreakRepair;
31
+ }
32
+
33
+ export interface StreakRepairDeletedEvent {
34
+ id: string;
35
+ type: 'StreakRepairDeleted';
36
+ payload: StreakRepair;
37
+ }
38
+
39
+ export interface UserHackStatisticsCreatedEvent {
40
+ id: string;
41
+ type: 'UserHackStatisticsCreated';
42
+ payload: UserHackStatistics;
43
+ }
44
+
45
+ export interface UserHackStatisticsUpdatedEvent {
46
+ id: string;
47
+ type: 'UserHackStatisticsUpdated';
48
+ payload: UserHackStatistics;
49
+ }
50
+
51
+ export interface UserHackStatisticsDeletedEvent {
52
+ id: string;
53
+ type: 'UserHackStatisticsDeleted';
54
+ payload: UserHackStatistics;
55
+ }
56
+
57
+ export interface UserInsightStreakCreatedEvent {
58
+ id: string;
59
+ type: 'UserInsightStreakCreated';
60
+ payload: UserInsightStreak;
61
+ }
62
+
63
+ export interface UserInsightStreakUpdatedEvent {
64
+ id: string;
65
+ type: 'UserInsightStreakUpdated';
66
+ payload: UserInsightStreak;
67
+ }
68
+
69
+ export interface UserInsightStreakDeletedEvent {
70
+ id: string;
71
+ type: 'UserInsightStreakDeleted';
72
+ payload: UserInsightStreak;
73
+ }
74
+
75
+ export interface ViewedHackCreatedEvent {
76
+ id: string;
77
+ type: 'ViewedHackCreated';
78
+ payload: ViewedHack;
79
+ }
80
+
81
+ export interface ViewedHackUpdatedEvent {
82
+ id: string;
83
+ type: 'ViewedHackUpdated';
84
+ payload: ViewedHack;
85
+ }
86
+
87
+ export interface ViewedHackDeletedEvent {
88
+ id: string;
89
+ type: 'ViewedHackDeleted';
90
+ payload: ViewedHack;
91
+ }
92
+
93
+ export type DailyInsightCompletedChangedEvent = DailyInsightCompletedCreatedEvent | DailyInsightCompletedUpdatedEvent | DailyInsightCompletedDeletedEvent;
94
+ export type StreakRepairChangedEvent = StreakRepairCreatedEvent | StreakRepairUpdatedEvent | StreakRepairDeletedEvent;
95
+ export type UserHackStatisticsChangedEvent = UserHackStatisticsCreatedEvent | UserHackStatisticsUpdatedEvent | UserHackStatisticsDeletedEvent;
96
+ export type UserInsightStreakChangedEvent = UserInsightStreakCreatedEvent | UserInsightStreakUpdatedEvent | UserInsightStreakDeletedEvent;
97
+ export type ViewedHackChangedEvent = ViewedHackCreatedEvent | ViewedHackUpdatedEvent | ViewedHackDeletedEvent;
@@ -1,82 +1,82 @@
1
- export interface ViewedHack {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- userId: string;
7
- hackId: string;
8
- isHackCompleted: boolean;
9
- insightsCompletedCount: number;
10
- /** added Aug 2023 */
11
- percentageComplete: number;
12
- /** added Aug 2023 */
13
- lastViewedAt: string;
14
- hackProgress: {
15
- id: string;
16
- version: number;
17
- createdAt: string;
18
- }
19
- }
20
-
21
- export interface UserInsightStreak {
22
- userId: string;
23
- v: number;
24
- id: string; // deterministic from userId
25
- createdAt: string;
26
- updatedAt: string;
27
- longestStreak: {
28
- length: number;
29
- },
30
- latestStreak: {
31
- // date with format YYYY-MM-DD
32
- latestDayCompleted: string;
33
- length: number;
34
- },
35
- previousStreak: {
36
- length: number;
37
- },
38
- // 30 dates with format YYYY-MM-DD
39
- latestDaysCompleted: string[];
40
- repairs?: {
41
- usedThisMonthCount: number;
42
- }
43
- }
44
-
45
- export interface UserHackStatistics {
46
- userId: string;
47
- v: number;
48
- createdAt: string;
49
- updatedAt: string;
50
-
51
- id: string; // deterministic from userId
52
- insightsCompletedCount: number;
53
- hacksCompletedCount: number;
54
- /** Time saved in minutes. Added Aug 2023 */
55
- totalTimeSaved: number;
56
- perTopic?: PerTopicStatistics[]
57
- }
58
-
59
- export interface PerTopicStatistics {
60
- name: string;
61
- insightsCompletedCount: number;
62
- }
63
-
64
- export interface StreakRepair {
65
- id: string;
66
- v: number;
67
- createdAt: string;
68
- updatedAt: string;
69
- userId: string;
70
- repairDate_streakType : string;
71
- repairDate: string;
72
- streakType: string;
73
- }
74
-
75
- export interface DailyInsightCompleted {
76
- id: string;
77
- v: number;
78
- createdAt: string;
79
- updatedAt: string;
80
- userId: string;
81
- dateInsightCompleted: string;
82
- }
1
+ export interface ViewedHack {
2
+ id: string;
3
+ v: number;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ userId: string;
7
+ hackId: string;
8
+ isHackCompleted: boolean;
9
+ insightsCompletedCount: number;
10
+ /** added Aug 2023 */
11
+ percentageComplete: number;
12
+ /** added Aug 2023 */
13
+ lastViewedAt: string;
14
+ hackProgress: {
15
+ id: string;
16
+ version: number;
17
+ createdAt: string;
18
+ }
19
+ }
20
+
21
+ export interface UserInsightStreak {
22
+ userId: string;
23
+ v: number;
24
+ id: string; // deterministic from userId
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ longestStreak: {
28
+ length: number;
29
+ },
30
+ latestStreak: {
31
+ // date with format YYYY-MM-DD
32
+ latestDayCompleted: string;
33
+ length: number;
34
+ },
35
+ previousStreak: {
36
+ length: number;
37
+ },
38
+ // 30 dates with format YYYY-MM-DD
39
+ latestDaysCompleted: string[];
40
+ repairs?: {
41
+ usedThisMonthCount: number;
42
+ }
43
+ }
44
+
45
+ export interface UserHackStatistics {
46
+ userId: string;
47
+ v: number;
48
+ createdAt: string;
49
+ updatedAt: string;
50
+
51
+ id: string; // deterministic from userId
52
+ insightsCompletedCount: number;
53
+ hacksCompletedCount: number;
54
+ /** Time saved in minutes. Added Aug 2023 */
55
+ totalTimeSaved: number;
56
+ perTopic?: PerTopicStatistics[]
57
+ }
58
+
59
+ export interface PerTopicStatistics {
60
+ name: string;
61
+ insightsCompletedCount: number;
62
+ }
63
+
64
+ export interface StreakRepair {
65
+ id: string;
66
+ v: number;
67
+ createdAt: string;
68
+ updatedAt: string;
69
+ userId: string;
70
+ repairDate_streakType : string;
71
+ repairDate: string;
72
+ streakType: string;
73
+ }
74
+
75
+ export interface DailyInsightCompleted {
76
+ id: string;
77
+ v: number;
78
+ createdAt: string;
79
+ updatedAt: string;
80
+ userId: string;
81
+ dateInsightCompleted: string;
82
+ }
@@ -1,43 +1,43 @@
1
- import { VideoMetadata } from './video-metadata';
2
-
3
- export interface VideoCroppedEvent {
4
- id: string;
5
- type: 'VideoCroppedEvent';
6
- payload: VideoCroppedEventPayload;
7
- }
8
-
9
- export interface VideoCroppedEventPayload {
10
- youTubeVideoId: string;
11
- startAtSeconds: number;
12
- endAtSeconds: number;
13
- reference: string;
14
- s3Path: string;
15
- videoMetadata: VideoMetadata;
16
- }
17
-
18
- export interface VideoCroppingFailedEvent {
19
- id: string;
20
- type: 'VideoCroppingFailedEvent';
21
- payload: VideoCroppingFailedEventPayload;
22
- }
23
-
24
- export interface VideoCroppingFailedEventPayload {
25
- reference: string;
26
- error: string;
27
- }
28
-
29
- export interface CropVideoCommandBody {
30
- // a command needs an id and a version so that it can be more easily replayed
31
- id: string;
32
- v: number;
33
- youTubeUrl: string;
34
- // a reference set by the service issuing this command. Used to match to the corresponding VideoCroppedEvent or VideoFailedToBeCroppedEvent (TBC whether a failed event is required)
35
- // TODO: better name
36
- reference: string;
37
- }
38
-
39
- export interface CropVideoCommand {
40
- id: string;
41
- type: 'CropVideoCommand';
42
- payload: CropVideoCommandBody;
43
- }
1
+ import { VideoMetadata } from './video-metadata';
2
+
3
+ export interface VideoCroppedEvent {
4
+ id: string;
5
+ type: 'VideoCroppedEvent';
6
+ payload: VideoCroppedEventPayload;
7
+ }
8
+
9
+ export interface VideoCroppedEventPayload {
10
+ youTubeVideoId: string;
11
+ startAtSeconds: number;
12
+ endAtSeconds: number;
13
+ reference: string;
14
+ s3Path: string;
15
+ videoMetadata: VideoMetadata;
16
+ }
17
+
18
+ export interface VideoCroppingFailedEvent {
19
+ id: string;
20
+ type: 'VideoCroppingFailedEvent';
21
+ payload: VideoCroppingFailedEventPayload;
22
+ }
23
+
24
+ export interface VideoCroppingFailedEventPayload {
25
+ reference: string;
26
+ error: string;
27
+ }
28
+
29
+ export interface CropVideoCommandBody {
30
+ // a command needs an id and a version so that it can be more easily replayed
31
+ id: string;
32
+ v: number;
33
+ youTubeUrl: string;
34
+ // a reference set by the service issuing this command. Used to match to the corresponding VideoCroppedEvent or VideoFailedToBeCroppedEvent (TBC whether a failed event is required)
35
+ // TODO: better name
36
+ reference: string;
37
+ }
38
+
39
+ export interface CropVideoCommand {
40
+ id: string;
41
+ type: 'CropVideoCommand';
42
+ payload: CropVideoCommandBody;
43
+ }
@@ -1,12 +1,12 @@
1
- export interface VideoMetadata {
2
- title: string;
3
- ownerChannelName: string;
4
- ownerChannelId: string;
5
- ownerProfileUrl: string;
6
- lengthSeconds: number;
7
- croppedSeconds: number;
8
- percentCropped: number;
9
- quality: string; // e.g. "hd1080", "small", "tiny"
10
- qualityLabel: string; // e.g. "1080p", "720p60 HDR"
11
- fileSize?: number;
12
- }
1
+ export interface VideoMetadata {
2
+ title: string;
3
+ ownerChannelName: string;
4
+ ownerChannelId: string;
5
+ ownerProfileUrl: string;
6
+ lengthSeconds: number;
7
+ croppedSeconds: number;
8
+ percentCropped: number;
9
+ quality: string; // e.g. "hd1080", "small", "tiny"
10
+ qualityLabel: string; // e.g. "1080p", "720p60 HDR"
11
+ fileSize?: number;
12
+ }
package/tsconfig.cjs.json CHANGED
@@ -1,7 +1,7 @@
1
- {
2
- "extends": "./tsconfig.npm.json",
3
- "compilerOptions": {
4
- "module": "CommonJS",
5
- "outDir": "./dist/cjs"
6
- },
7
- }
1
+ {
2
+ "extends": "./tsconfig.npm.json",
3
+ "compilerOptions": {
4
+ "module": "CommonJS",
5
+ "outDir": "./dist/cjs"
6
+ },
7
+ }
package/tsconfig.npm.json CHANGED
@@ -1,22 +1,22 @@
1
- {
2
- "compilerOptions": {
3
- "build": true,
4
- "target": "ES2020",
5
- "module": "ES2020",
6
- "declaration": true,
7
- "emitDeclarationOnly": false,
8
- "declarationMap": true,
9
- "sourceMap": true,
10
- "outDir": "./dist/esm",
11
- "noEmit": false,
12
- "strict": true,
13
- "noImplicitAny": true,
14
- "strictNullChecks": true,
15
- "esModuleInterop": true,
16
- "moduleResolution": "node",
17
- "resolveJsonModule": true,
18
- },
19
- "files": [
20
- "src/index.ts"
21
- ]
22
- }
1
+ {
2
+ "compilerOptions": {
3
+ "build": true,
4
+ "target": "ES2020",
5
+ "module": "ES2020",
6
+ "declaration": true,
7
+ "emitDeclarationOnly": false,
8
+ "declarationMap": true,
9
+ "sourceMap": true,
10
+ "outDir": "./dist/esm",
11
+ "noEmit": false,
12
+ "strict": true,
13
+ "noImplicitAny": true,
14
+ "strictNullChecks": true,
15
+ "esModuleInterop": true,
16
+ "moduleResolution": "node",
17
+ "resolveJsonModule": true,
18
+ },
19
+ "files": [
20
+ "src/index.ts"
21
+ ]
22
+ }
@@ -1,7 +0,0 @@
1
- import { PrimaryTopic } from './primary-topic';
2
- export declare const VALID_PRIMARY_TOPIC_TAGS: string[];
3
- export declare const OLD_TOPIC_TAGS: string[];
4
- export type PrimaryTopicTag = (typeof VALID_PRIMARY_TOPIC_TAGS)[number];
5
- export type OldTopicTag = (typeof OLD_TOPIC_TAGS)[number];
6
- export declare function mapPrimaryTopicsToOldTopics(primaryTopics: Array<PrimaryTopic | string>): OldTopicTag[];
7
- //# sourceMappingURL=primary-topic-mapping.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primary-topic-mapping.d.ts","sourceRoot":"","sources":["../../../src/topics/primary-topic-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,wBAAwB,UAiCpC,CAAC;AAEF,eAAO,MAAM,cAAc,UAmB1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AA0C1D,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,WAAW,EAAE,CAQtG"}
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapPrimaryTopicsToOldTopics = exports.OLD_TOPIC_TAGS = exports.VALID_PRIMARY_TOPIC_TAGS = void 0;
4
- exports.VALID_PRIMARY_TOPIC_TAGS = [
5
- 'Arts & Design',
6
- 'Biographies',
7
- 'Business',
8
- 'Career Success',
9
- 'Communication',
10
- 'Education & Studying',
11
- 'Entrepreneurship',
12
- 'Environment',
13
- 'Fitness & Sports',
14
- 'History',
15
- 'Home & Hobbies',
16
- 'Humanity & Societies',
17
- 'Identity & Equality',
18
- 'Investing',
19
- 'Leadership & Management',
20
- 'Marketing',
21
- 'Media & Entertainment',
22
- 'Mental Health',
23
- 'Mindfulness',
24
- 'Money & Finances',
25
- 'Neurodiversity',
26
- 'Nutrition & Health',
27
- 'Parenting & Family',
28
- 'Personal Growth',
29
- 'Politics, Law & Economics',
30
- 'Psychology & Philosophy',
31
- 'Relationships',
32
- 'Religion',
33
- 'Sales',
34
- 'Science',
35
- 'Sex',
36
- 'AI & Technology'
37
- ];
38
- exports.OLD_TOPIC_TAGS = [
39
- 'Arts & Design',
40
- 'Biographies',
41
- 'Business',
42
- 'Culture & Society',
43
- 'Career & Success',
44
- 'Education',
45
- 'Health & Fitness',
46
- 'History',
47
- 'Leadership & Entrepreneurship',
48
- 'Lifestyle',
49
- 'Marketing & Sales',
50
- 'Mind & Philosophy',
51
- 'Money & Investing',
52
- 'Parenting & Relationships',
53
- 'Personal Growth',
54
- 'Religion & Spirituality',
55
- 'Science & the Environment',
56
- 'Technology & the Future'
57
- ];
58
- const TOPIC_TO_PRIMARY_TOPIC_MAPPING = {
59
- 'Arts & Design': ['Arts & Design', 'Media & Entertainment'],
60
- 'Biographies': ['Biographies'],
61
- 'Business': ['Business'],
62
- 'Culture & Society': ['Identity & Equality', 'Politics, Law & Economics', 'Humanity & Societies'],
63
- 'Career & Success': ['Career Success'],
64
- 'Education': ['Education & Studying'],
65
- 'Health & Fitness': ['Nutrition & Health', 'Fitness & Sports', 'Mental Health', 'Neurodiversity'],
66
- 'History': ['History'],
67
- 'Leadership & Entrepreneurship': ['Leadership & Management', 'Entrepreneurship'],
68
- 'Lifestyle': ['Home & Hobbies'],
69
- 'Marketing & Sales': ['Marketing', 'Sales'],
70
- 'Mind & Philosophy': ['Mindfulness', 'Psychology & Philosophy'],
71
- 'Money & Investing': ['Money & Finances', 'Investing'],
72
- 'Parenting & Relationships': ['Sex', 'Relationships', 'Parenting & Family'],
73
- 'Personal Growth': ['Personal Growth', 'Communication'],
74
- 'Religion & Spirituality': ['Religion'],
75
- 'Science & the Environment': ['Science', 'Environment'],
76
- 'Technology & the Future': ['AI & Technology']
77
- };
78
- const PRIMARY_TOPIC_TO_OLD_TOPIC_MAPPING = Object.entries(TOPIC_TO_PRIMARY_TOPIC_MAPPING).reduce((mapping, [oldTopic, primaryTopics]) => {
79
- for (const primaryTopic of primaryTopics) {
80
- mapping[primaryTopic] = oldTopic;
81
- }
82
- return mapping;
83
- }, {});
84
- function primaryTopicNameOf(primaryTopic) {
85
- return typeof primaryTopic === 'string' ? primaryTopic : primaryTopic.name;
86
- }
87
- function mapPrimaryTopicToOldTopic(primaryTopic) {
88
- return PRIMARY_TOPIC_TO_OLD_TOPIC_MAPPING[primaryTopicNameOf(primaryTopic)];
89
- }
90
- function mapPrimaryTopicsToOldTopics(primaryTopics) {
91
- return [
92
- ...new Set(primaryTopics
93
- .map(mapPrimaryTopicToOldTopic)
94
- .filter((oldTopic) => oldTopic !== undefined))
95
- ];
96
- }
97
- exports.mapPrimaryTopicsToOldTopics = mapPrimaryTopicsToOldTopics;
98
- //# sourceMappingURL=primary-topic-mapping.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primary-topic-mapping.js","sourceRoot":"","sources":["../../../src/topics/primary-topic-mapping.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export interface PrimaryTopic {
2
- name: string;
3
- }
4
- //# sourceMappingURL=primary-topic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primary-topic.d.ts","sourceRoot":"","sources":["../../../src/topics/primary-topic.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;CAChB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=primary-topic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primary-topic.js","sourceRoot":"","sources":["../../../src/topics/primary-topic.ts"],"names":[],"mappings":""}