@uptime.app/contracts 1.0.41-rc.8 → 1.0.41

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 (109) hide show
  1. package/package.json +2 -2
  2. package/src/access-control/collection-access-control.ts +28 -28
  3. package/src/access-control/hack-access-control.ts +29 -29
  4. package/src/app-hack/app-full-hack.ts +9 -9
  5. package/src/app-hack/app-hack-metadata.ts +58 -58
  6. package/src/app-hack/app-restricted-hack.ts +22 -22
  7. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  8. package/src/b2b-organisation/b2b-carousel.ts +34 -34
  9. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  10. package/src/b2b-organisation/b2b-organisation-invitation.ts +31 -31
  11. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  12. package/src/b2b-organisation/b2b-organisation-member.ts +8 -8
  13. package/src/b2b-organisation/b2b-organisation.ts +15 -15
  14. package/src/brand/brand-events.ts +21 -21
  15. package/src/brand/brand.ts +19 -19
  16. package/src/catalogue/catalogue.ts +118 -118
  17. package/src/collection/collection-events.ts +21 -21
  18. package/src/collection/collection.ts +58 -58
  19. package/src/collection/enriched-collection-events.ts +18 -18
  20. package/src/collection/enriched-collection.ts +64 -64
  21. package/src/creator/creator-events.ts +32 -32
  22. package/src/creator/creator.ts +7 -7
  23. package/src/distribution/collection-distribution.ts +17 -17
  24. package/src/distribution/distribution-events.ts +61 -61
  25. package/src/distribution/hack-distribution.ts +18 -18
  26. package/src/draft-hack/draft-hack-events.ts +21 -21
  27. package/src/draft-hack/draft-hack.ts +189 -189
  28. package/src/draft-hack-generation/draft-hack-generation-commands.ts +33 -33
  29. package/src/draft-hack-generation/draft-hack-generation-events.ts +42 -42
  30. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  31. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  32. package/src/enriched-hack/enriched-hack.ts +103 -103
  33. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  34. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  35. package/src/entitlement/user-entitlements-commands.ts +33 -33
  36. package/src/entitlement/user-entitlements-events.ts +29 -29
  37. package/src/entitlement/user-entitlements.ts +18 -18
  38. package/src/flashcard/flashcard-events.ts +85 -85
  39. package/src/flashcard/flashcard.ts +138 -138
  40. package/src/hack/extracted-subject.ts +31 -31
  41. package/src/hack/hack-events.ts +21 -21
  42. package/src/hack/hack-published.ts +21 -21
  43. package/src/hack/hack-with-voice-events.ts +20 -20
  44. package/src/hack/hack-with-voice.ts +33 -33
  45. package/src/hack/hack.ts +116 -116
  46. package/src/hack/publish-hack-command.ts +18 -18
  47. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  48. package/src/hack-metadata/hack-metadata.ts +17 -17
  49. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  50. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  51. package/src/history/history-events.ts +21 -21
  52. package/src/history/history.ts +46 -46
  53. package/src/index.ts +147 -147
  54. package/src/interest/interest-events.ts +21 -21
  55. package/src/interest/interest.ts +15 -15
  56. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  57. package/src/knowledge-source/knowledge-source.ts +43 -43
  58. package/src/localisation/live-locales.ts +37 -37
  59. package/src/localisation/locale-language.ts +4 -4
  60. package/src/localisation/supported-languages.ts +11 -11
  61. package/src/localisation/supported-locales.ts +61 -61
  62. package/src/moderation/hack-moderation-result-events.ts +18 -18
  63. package/src/moderation/hack-moderation-result.ts +27 -27
  64. package/src/partner/partner-events.ts +21 -21
  65. package/src/partner/partner.ts +7 -7
  66. package/src/pending-hack/pending-hack-events.ts +20 -20
  67. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  68. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  69. package/src/pending-hack/pending-hack.ts +77 -77
  70. package/src/preferences/preferences-events.ts +15 -15
  71. package/src/preferences/preferences.ts +35 -35
  72. package/src/profile/profile-events.ts +41 -41
  73. package/src/profile/profile.ts +27 -27
  74. package/src/profile/translated-profile.ts +13 -13
  75. package/src/referral/referral-events.ts +41 -41
  76. package/src/referral/referral.ts +76 -76
  77. package/src/saved/saved-collection-events.ts +19 -19
  78. package/src/saved/saved-collection.ts +8 -8
  79. package/src/segment/segment-commands.ts +70 -70
  80. package/src/segment/segment-events.ts +42 -42
  81. package/src/segment/segment-with-voice.ts +8 -8
  82. package/src/segment/segment.ts +82 -82
  83. package/src/skin/skin-events.ts +21 -21
  84. package/src/skin/skin.ts +6 -6
  85. package/src/spark/spark-board-read-model.ts +17 -17
  86. package/src/spark/spark-board.ts +12 -12
  87. package/src/spark/spark-events.ts +42 -42
  88. package/src/spark/spark.ts +80 -80
  89. package/src/text-to-speech/create-speech-commands.ts +20 -20
  90. package/src/text-to-speech/speech-created-events.ts +10 -10
  91. package/src/text-to-speech/supported-voices.ts +151 -151
  92. package/src/text-to-speech/text-segment.ts +29 -29
  93. package/src/theme/theme-events.ts +21 -21
  94. package/src/theme/theme.ts +68 -68
  95. package/src/translation/translation-events.ts +73 -73
  96. package/src/translation/translation.ts +25 -25
  97. package/src/trending/trending-events.ts +21 -21
  98. package/src/trending/trending-hacks.ts +8 -8
  99. package/src/user/user-events.ts +27 -27
  100. package/src/user-context/user-context-events.ts +21 -21
  101. package/src/user-context/user-context.ts +16 -16
  102. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  103. package/src/user-notification-context/user-notification-context.ts +9 -9
  104. package/src/user-statistics/user-statistics-events.ts +97 -97
  105. package/src/user-statistics/user-statistics.ts +82 -82
  106. package/src/video-cropping/video-cropping-events.ts +43 -43
  107. package/src/video-cropping/video-metadata.ts +12 -12
  108. package/tsconfig.cjs.json +7 -7
  109. package/tsconfig.npm.json +21 -21
@@ -1,15 +1,15 @@
1
- export interface B2BOrganisation {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- name: string; //unique
7
- owner: string; //unique
8
- code?: string;
9
- provider: string; // for now this will reference what to display in the home screen of the app for users that joined the organisation
10
- displayName: string; // for organisations that might be different but have the same name to be displayed. Ex: HP Ireland & HP US ==> we want the displayName to be HP
11
- codeUsageLimit?: number; // the max amount of times the code to join an organisation can be use
12
- urlPrefix?: string; // the prefix to use for the url of the organisation
13
- brandId?: string;
14
- providesPremium?: boolean; // if the organisation provides premium we should issue the entitlements
15
- }
1
+ export interface B2BOrganisation {
2
+ id: string;
3
+ v: number;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ name: string; //unique
7
+ owner: string; //unique
8
+ code?: string;
9
+ provider: string; // for now this will reference what to display in the home screen of the app for users that joined the organisation
10
+ displayName: string; // for organisations that might be different but have the same name to be displayed. Ex: HP Ireland & HP US ==> we want the displayName to be HP
11
+ codeUsageLimit?: number; // the max amount of times the code to join an organisation can be use
12
+ urlPrefix?: string; // the prefix to use for the url of the organisation
13
+ brandId?: string;
14
+ providesPremium?: boolean; // if the organisation provides premium we should issue the entitlements
15
+ }
@@ -1,21 +1,21 @@
1
- import { Brand } from './brand';
2
-
3
- export interface BrandCreatedEvent {
4
- id: string;
5
- type: 'BrandCreated';
6
- payload: Brand;
7
- }
8
-
9
- export interface BrandUpdatedEvent {
10
- id: string;
11
- type: 'BrandUpdated';
12
- payload: Brand;
13
- }
14
-
15
- export interface BrandDeletedEvent {
16
- id: string;
17
- type: 'BrandDeleted';
18
- payload: Brand;
19
- }
20
-
21
- export type BrandChangedEvent = BrandCreatedEvent | BrandUpdatedEvent | BrandDeletedEvent;
1
+ import { Brand } from './brand';
2
+
3
+ export interface BrandCreatedEvent {
4
+ id: string;
5
+ type: 'BrandCreated';
6
+ payload: Brand;
7
+ }
8
+
9
+ export interface BrandUpdatedEvent {
10
+ id: string;
11
+ type: 'BrandUpdated';
12
+ payload: Brand;
13
+ }
14
+
15
+ export interface BrandDeletedEvent {
16
+ id: string;
17
+ type: 'BrandDeleted';
18
+ payload: Brand;
19
+ }
20
+
21
+ export type BrandChangedEvent = BrandCreatedEvent | BrandUpdatedEvent | BrandDeletedEvent;
@@ -1,20 +1,20 @@
1
- import { SupportedLocale } from '../localisation/supported-locales';
2
-
3
- export interface Brand {
4
- id: string;
5
- v: number;
6
- createdAt: string;
7
- updatedAt: string;
8
- name: string;
9
- skinId?: string;
10
- webAppDomain?: string;
11
- appName?: {
12
- [K in SupportedLocale]?: string
13
- };
14
- welcomeHacks?: WelcomeHack[];
15
- }
16
-
17
- // In case we need to add more properties to the BrandHack interface, we can do so here.
18
- export interface WelcomeHack {
19
- hackId: string;
1
+ import { SupportedLocale } from '../localisation/supported-locales';
2
+
3
+ export interface Brand {
4
+ id: string;
5
+ v: number;
6
+ createdAt: string;
7
+ updatedAt: string;
8
+ name: string;
9
+ skinId?: string;
10
+ webAppDomain?: string;
11
+ appName?: {
12
+ [K in SupportedLocale]?: string
13
+ };
14
+ welcomeHacks?: WelcomeHack[];
15
+ }
16
+
17
+ // In case we need to add more properties to the BrandHack interface, we can do so here.
18
+ export interface WelcomeHack {
19
+ hackId: string;
20
20
  }
@@ -1,118 +1,118 @@
1
- export interface Catalogue {
2
- id: string; // unique, dynamo primary key. not necessarily a uuid. could be b2b:<id> or a simple string like public
3
- owner: string; // used for permissions - who is allowed to edit this catalogue
4
- v: number;
5
- createdAt: string;
6
- updatedAt: string;
7
- name: string; // added December 2023 to make it easier to find catalogues in the UI
8
- accessType: CatalogueAccessType; // added December 2023.
9
- }
10
-
11
- export type CatalogueAccessType = 'include' | 'exclude';
12
-
13
- export interface CatalogueCreatedEvent {
14
- id: string;
15
- type: 'CatalogueCreated';
16
- payload: Catalogue;
17
- }
18
-
19
- export interface CatalogueUpdatedEvent {
20
- id: string;
21
- type: 'CatalogueUpdated';
22
- payload: Catalogue;
23
- }
24
-
25
- export interface CatalogueDeletedEvent {
26
- id: string;
27
- type: 'CatalogueDeleted';
28
- payload: Catalogue;
29
- }
30
-
31
- export type CatalogueChangedEvent = CatalogueCreatedEvent | CatalogueUpdatedEvent | CatalogueDeletedEvent;
32
-
33
- export interface CatalogueHackEntry {
34
- id: string; // not really used but there for store reasons
35
- v: number;
36
- createdAt: string;
37
- updatedAt: string;
38
- catalogueId: string; // the catalogue name
39
- baseLocaleHackId: string; // use baseLocaleHackId as all translations should be in the same catalogue
40
- }
41
-
42
- export interface CatalogueHackEntryCreatedEvent {
43
- id: string;
44
- type: 'CatalogueHackEntryCreated';
45
- payload: CatalogueHackEntry;
46
- }
47
-
48
- export interface CatalogueHackEntryUpdatedEvent {
49
- id: string;
50
- type: 'CatalogueHackEntryUpdated';
51
- payload: CatalogueHackEntry;
52
- }
53
-
54
- export interface CatalogueHackEntryDeletedEvent {
55
- id: string;
56
- type: 'CatalogueHackEntryDeleted';
57
- payload: CatalogueHackEntry;
58
- }
59
-
60
- export type CatalogueHackEntryChangedEvent = CatalogueHackEntryCreatedEvent | CatalogueHackEntryUpdatedEvent | CatalogueHackEntryDeletedEvent;
61
-
62
- export interface CatalogueCollectionEntry {
63
- id: string;
64
- v: number;
65
- createdAt: string;
66
- updatedAt: string;
67
- catalogueId: string;
68
- baseLocaleCollectionId: string;
69
- }
70
-
71
- export interface CatalogueCollectionEntryCreatedEvent {
72
- id: string;
73
- type: 'CatalogueCollectionEntryCreated';
74
- payload: CatalogueCollectionEntry;
75
- }
76
-
77
- export interface CatalogueCollectionEntryUpdatedEvent {
78
- id: string;
79
- type: 'CatalogueCollectionEntryUpdated';
80
- payload: CatalogueCollectionEntry;
81
- }
82
-
83
- export interface CatalogueCollectionEntryDeletedEvent {
84
- id: string;
85
- type: 'CatalogueCollectionEntryDeleted';
86
- payload: CatalogueCollectionEntry;
87
- }
88
-
89
- export type CatalogueCollectionEntryChangedEvent = CatalogueCollectionEntryCreatedEvent | CatalogueCollectionEntryUpdatedEvent | CatalogueCollectionEntryDeletedEvent;
90
-
91
- export interface CatalogueB2BOrgEntry {
92
- id: string;
93
- v: number;
94
- createdAt: string;
95
- updatedAt: string;
96
- catalogueId: string;
97
- b2bOrgId: string;
98
- }
99
-
100
- export interface CatalogueB2BOrgEntryCreatedEvent {
101
- id: string;
102
- type: 'CatalogueB2BOrgEntryCreated';
103
- payload: CatalogueB2BOrgEntry;
104
- }
105
-
106
- export interface CatalogueB2BOrgEntryUpdatedEvent {
107
- id: string;
108
- type: 'CatalogueB2BOrgEntryUpdated';
109
- payload: CatalogueB2BOrgEntry;
110
- }
111
-
112
- export interface CatalogueB2BOrgEntryDeletedEvent {
113
- id: string;
114
- type: 'CatalogueB2BOrgEntryDeleted';
115
- payload: CatalogueB2BOrgEntry;
116
- }
117
-
118
- export type CatalogueB2BOrgEntryChangedEvent = CatalogueB2BOrgEntryCreatedEvent | CatalogueB2BOrgEntryUpdatedEvent | CatalogueB2BOrgEntryDeletedEvent;
1
+ export interface Catalogue {
2
+ id: string; // unique, dynamo primary key. not necessarily a uuid. could be b2b:<id> or a simple string like public
3
+ owner: string; // used for permissions - who is allowed to edit this catalogue
4
+ v: number;
5
+ createdAt: string;
6
+ updatedAt: string;
7
+ name: string; // added December 2023 to make it easier to find catalogues in the UI
8
+ accessType: CatalogueAccessType; // added December 2023.
9
+ }
10
+
11
+ export type CatalogueAccessType = 'include' | 'exclude';
12
+
13
+ export interface CatalogueCreatedEvent {
14
+ id: string;
15
+ type: 'CatalogueCreated';
16
+ payload: Catalogue;
17
+ }
18
+
19
+ export interface CatalogueUpdatedEvent {
20
+ id: string;
21
+ type: 'CatalogueUpdated';
22
+ payload: Catalogue;
23
+ }
24
+
25
+ export interface CatalogueDeletedEvent {
26
+ id: string;
27
+ type: 'CatalogueDeleted';
28
+ payload: Catalogue;
29
+ }
30
+
31
+ export type CatalogueChangedEvent = CatalogueCreatedEvent | CatalogueUpdatedEvent | CatalogueDeletedEvent;
32
+
33
+ export interface CatalogueHackEntry {
34
+ id: string; // not really used but there for store reasons
35
+ v: number;
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ catalogueId: string; // the catalogue name
39
+ baseLocaleHackId: string; // use baseLocaleHackId as all translations should be in the same catalogue
40
+ }
41
+
42
+ export interface CatalogueHackEntryCreatedEvent {
43
+ id: string;
44
+ type: 'CatalogueHackEntryCreated';
45
+ payload: CatalogueHackEntry;
46
+ }
47
+
48
+ export interface CatalogueHackEntryUpdatedEvent {
49
+ id: string;
50
+ type: 'CatalogueHackEntryUpdated';
51
+ payload: CatalogueHackEntry;
52
+ }
53
+
54
+ export interface CatalogueHackEntryDeletedEvent {
55
+ id: string;
56
+ type: 'CatalogueHackEntryDeleted';
57
+ payload: CatalogueHackEntry;
58
+ }
59
+
60
+ export type CatalogueHackEntryChangedEvent = CatalogueHackEntryCreatedEvent | CatalogueHackEntryUpdatedEvent | CatalogueHackEntryDeletedEvent;
61
+
62
+ export interface CatalogueCollectionEntry {
63
+ id: string;
64
+ v: number;
65
+ createdAt: string;
66
+ updatedAt: string;
67
+ catalogueId: string;
68
+ baseLocaleCollectionId: string;
69
+ }
70
+
71
+ export interface CatalogueCollectionEntryCreatedEvent {
72
+ id: string;
73
+ type: 'CatalogueCollectionEntryCreated';
74
+ payload: CatalogueCollectionEntry;
75
+ }
76
+
77
+ export interface CatalogueCollectionEntryUpdatedEvent {
78
+ id: string;
79
+ type: 'CatalogueCollectionEntryUpdated';
80
+ payload: CatalogueCollectionEntry;
81
+ }
82
+
83
+ export interface CatalogueCollectionEntryDeletedEvent {
84
+ id: string;
85
+ type: 'CatalogueCollectionEntryDeleted';
86
+ payload: CatalogueCollectionEntry;
87
+ }
88
+
89
+ export type CatalogueCollectionEntryChangedEvent = CatalogueCollectionEntryCreatedEvent | CatalogueCollectionEntryUpdatedEvent | CatalogueCollectionEntryDeletedEvent;
90
+
91
+ export interface CatalogueB2BOrgEntry {
92
+ id: string;
93
+ v: number;
94
+ createdAt: string;
95
+ updatedAt: string;
96
+ catalogueId: string;
97
+ b2bOrgId: string;
98
+ }
99
+
100
+ export interface CatalogueB2BOrgEntryCreatedEvent {
101
+ id: string;
102
+ type: 'CatalogueB2BOrgEntryCreated';
103
+ payload: CatalogueB2BOrgEntry;
104
+ }
105
+
106
+ export interface CatalogueB2BOrgEntryUpdatedEvent {
107
+ id: string;
108
+ type: 'CatalogueB2BOrgEntryUpdated';
109
+ payload: CatalogueB2BOrgEntry;
110
+ }
111
+
112
+ export interface CatalogueB2BOrgEntryDeletedEvent {
113
+ id: string;
114
+ type: 'CatalogueB2BOrgEntryDeleted';
115
+ payload: CatalogueB2BOrgEntry;
116
+ }
117
+
118
+ export type CatalogueB2BOrgEntryChangedEvent = CatalogueB2BOrgEntryCreatedEvent | CatalogueB2BOrgEntryUpdatedEvent | CatalogueB2BOrgEntryDeletedEvent;
@@ -1,21 +1,21 @@
1
- import { Collection } from './collection';
2
-
3
- export interface CollectionCreatedEvent {
4
- id: string;
5
- type: 'CollectionCreated';
6
- payload: Collection;
7
- }
8
-
9
- export interface CollectionUpdatedEvent {
10
- id: string;
11
- type: 'CollectionUpdated';
12
- payload: Collection;
13
- }
14
-
15
- export interface CollectionDeletedEvent {
16
- id: string;
17
- type: 'CollectionDeleted';
18
- payload: Collection;
19
- }
20
-
21
- export type CollectionChangedEvent = CollectionCreatedEvent | CollectionUpdatedEvent | CollectionDeletedEvent;
1
+ import { Collection } from './collection';
2
+
3
+ export interface CollectionCreatedEvent {
4
+ id: string;
5
+ type: 'CollectionCreated';
6
+ payload: Collection;
7
+ }
8
+
9
+ export interface CollectionUpdatedEvent {
10
+ id: string;
11
+ type: 'CollectionUpdated';
12
+ payload: Collection;
13
+ }
14
+
15
+ export interface CollectionDeletedEvent {
16
+ id: string;
17
+ type: 'CollectionDeleted';
18
+ payload: Collection;
19
+ }
20
+
21
+ export type CollectionChangedEvent = CollectionCreatedEvent | CollectionUpdatedEvent | CollectionDeletedEvent;
@@ -1,58 +1,58 @@
1
- export interface Collection {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
-
7
- title: string;
8
- /** added 21/02/2023 use @uptime.app/localisation-contracts SupportedLocale */
9
- locale: string;
10
- /** added 21/02/2023 */
11
- baseLocaleCollectionId: string;
12
- /** added May 2023. Only set on collections that are translations */
13
- baseLocaleCollectionVersion?: number;
14
- subtitle?: string;
15
- iconUrl?: string;
16
- coverUrl?: string;
17
- backgroundColor?: string;
18
- description: string;
19
- isPublished: boolean;
20
- visibility?: CollectionVisibility;
21
- tags?: string[];
22
- rank?: number;
23
- notificationMessage?: string;
24
- type: CollectionType;
25
- backdrop?: BackdropMetadata;
26
-
27
- /** Added on June 2022. Not all messages on the archive will have this property. */
28
- collectionHacks: CollectionHack[];
29
- // concept we are exploring: https://d0.awsstatic.com/whitepapers/Multi_Tenant_SaaS_Storage_Strategies.pdf
30
- owner?: string;
31
-
32
- /**
33
- * @deprecated you should use new 'collectionHacks' property
34
- */
35
- hackIds: string[];
36
- }
37
-
38
- export type CollectionType = 'collection' | 'backdrop';
39
-
40
- export interface CollectionVisibility {
41
- /* ISO date */
42
- startDate: string;
43
- /* ISO date */
44
- endDate: string;
45
- }
46
-
47
- export interface CollectionHack {
48
- hackId: string;
49
- /**
50
- * @maxLength 300
51
- */
52
- blurb?: string;
53
- }
54
-
55
- export interface BackdropMetadata {
56
- /* e.g. "2022-02-09T10:00:00" */
57
- backdropDate: string;
58
- }
1
+ export interface Collection {
2
+ id: string;
3
+ v: number;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+
7
+ title: string;
8
+ /** added 21/02/2023 use @uptime.app/localisation-contracts SupportedLocale */
9
+ locale: string;
10
+ /** added 21/02/2023 */
11
+ baseLocaleCollectionId: string;
12
+ /** added May 2023. Only set on collections that are translations */
13
+ baseLocaleCollectionVersion?: number;
14
+ subtitle?: string;
15
+ iconUrl?: string;
16
+ coverUrl?: string;
17
+ backgroundColor?: string;
18
+ description: string;
19
+ isPublished: boolean;
20
+ visibility?: CollectionVisibility;
21
+ tags?: string[];
22
+ rank?: number;
23
+ notificationMessage?: string;
24
+ type: CollectionType;
25
+ backdrop?: BackdropMetadata;
26
+
27
+ /** Added on June 2022. Not all messages on the archive will have this property. */
28
+ collectionHacks: CollectionHack[];
29
+ // concept we are exploring: https://d0.awsstatic.com/whitepapers/Multi_Tenant_SaaS_Storage_Strategies.pdf
30
+ owner?: string;
31
+
32
+ /**
33
+ * @deprecated you should use new 'collectionHacks' property
34
+ */
35
+ hackIds: string[];
36
+ }
37
+
38
+ export type CollectionType = 'collection' | 'backdrop';
39
+
40
+ export interface CollectionVisibility {
41
+ /* ISO date */
42
+ startDate: string;
43
+ /* ISO date */
44
+ endDate: string;
45
+ }
46
+
47
+ export interface CollectionHack {
48
+ hackId: string;
49
+ /**
50
+ * @maxLength 300
51
+ */
52
+ blurb?: string;
53
+ }
54
+
55
+ export interface BackdropMetadata {
56
+ /* e.g. "2022-02-09T10:00:00" */
57
+ backdropDate: string;
58
+ }
@@ -1,18 +1,18 @@
1
- import { EnrichedCollection } from './enriched-collection';
2
-
3
- export interface EnrichedCollectionCreatedEvent {
4
- id: string;
5
- type: 'EnrichedCollectionCreated';
6
- payload: EnrichedCollection;
7
- }
8
- export interface EnrichedCollectionUpdatedEvent {
9
- id: string;
10
- type: 'EnrichedCollectionUpdated';
11
- payload: EnrichedCollection;
12
- }
13
- export interface EnrichedCollectionDeletedEvent {
14
- id: string;
15
- type: 'EnrichedCollectionDeleted';
16
- payload: EnrichedCollection;
17
- }
18
- export type EnrichedCollectionChangedEvent = EnrichedCollectionCreatedEvent | EnrichedCollectionUpdatedEvent | EnrichedCollectionDeletedEvent;
1
+ import { EnrichedCollection } from './enriched-collection';
2
+
3
+ export interface EnrichedCollectionCreatedEvent {
4
+ id: string;
5
+ type: 'EnrichedCollectionCreated';
6
+ payload: EnrichedCollection;
7
+ }
8
+ export interface EnrichedCollectionUpdatedEvent {
9
+ id: string;
10
+ type: 'EnrichedCollectionUpdated';
11
+ payload: EnrichedCollection;
12
+ }
13
+ export interface EnrichedCollectionDeletedEvent {
14
+ id: string;
15
+ type: 'EnrichedCollectionDeleted';
16
+ payload: EnrichedCollection;
17
+ }
18
+ export type EnrichedCollectionChangedEvent = EnrichedCollectionCreatedEvent | EnrichedCollectionUpdatedEvent | EnrichedCollectionDeletedEvent;