@stackbit/cms-core 0.0.20 → 0.0.21-alpha.2

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 (64) hide show
  1. package/dist/annotator/html.d.ts +1 -0
  2. package/dist/annotator/html.d.ts.map +1 -0
  3. package/dist/annotator/index.d.ts +3 -2
  4. package/dist/annotator/index.d.ts.map +1 -0
  5. package/dist/annotator/react.d.ts +1 -0
  6. package/dist/annotator/react.d.ts.map +1 -0
  7. package/dist/common/common-schema.d.ts +3 -10
  8. package/dist/common/common-schema.d.ts.map +1 -0
  9. package/dist/common/common-schema.js +3 -4
  10. package/dist/common/common-schema.js.map +1 -1
  11. package/dist/common/common-types.d.ts +10 -0
  12. package/dist/common/common-types.d.ts.map +1 -0
  13. package/dist/common/common-types.js +3 -0
  14. package/dist/common/common-types.js.map +1 -0
  15. package/dist/consts.d.ts +1 -0
  16. package/dist/consts.d.ts.map +1 -0
  17. package/dist/content-source-interface.d.ts +338 -0
  18. package/dist/content-source-interface.d.ts.map +1 -0
  19. package/dist/content-source-interface.js +28 -0
  20. package/dist/content-source-interface.js.map +1 -0
  21. package/dist/content-store-types.d.ts +347 -0
  22. package/dist/content-store-types.d.ts.map +1 -0
  23. package/dist/content-store-types.js +3 -0
  24. package/dist/content-store-types.js.map +1 -0
  25. package/dist/content-store.d.ts +210 -0
  26. package/dist/content-store.d.ts.map +1 -0
  27. package/dist/content-store.js +1814 -0
  28. package/dist/content-store.js.map +1 -0
  29. package/dist/encoder.d.ts +36 -7
  30. package/dist/encoder.d.ts.map +1 -0
  31. package/dist/encoder.js +63 -40
  32. package/dist/encoder.js.map +1 -1
  33. package/dist/index.d.ts +12 -6
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +38 -11
  36. package/dist/index.js.map +1 -1
  37. package/dist/stackbit/index.d.ts +7 -3
  38. package/dist/stackbit/index.d.ts.map +1 -0
  39. package/dist/stackbit/index.js +13 -10
  40. package/dist/stackbit/index.js.map +1 -1
  41. package/dist/utils/index.d.ts +8 -7
  42. package/dist/utils/index.d.ts.map +1 -0
  43. package/dist/utils/schema-utils.d.ts +3 -2
  44. package/dist/utils/schema-utils.d.ts.map +1 -0
  45. package/dist/utils/timer.d.ts +18 -0
  46. package/dist/utils/timer.d.ts.map +1 -0
  47. package/dist/utils/timer.js +36 -0
  48. package/dist/utils/timer.js.map +1 -0
  49. package/package.json +8 -4
  50. package/src/common/common-schema.ts +12 -0
  51. package/src/common/common-types.ts +10 -0
  52. package/src/content-source-interface.ts +495 -0
  53. package/src/content-store-types.ts +430 -0
  54. package/src/content-store.ts +2333 -0
  55. package/src/{encoder.js → encoder.ts} +55 -17
  56. package/src/index.ts +11 -0
  57. package/src/stackbit/{index.js → index.ts} +5 -9
  58. package/src/utils/timer.ts +42 -0
  59. package/dist/utils/lazy-poller.d.ts +0 -21
  60. package/dist/utils/lazy-poller.js +0 -56
  61. package/dist/utils/lazy-poller.js.map +0 -1
  62. package/src/common/common-schema.js +0 -14
  63. package/src/index.js +0 -13
  64. package/src/utils/lazy-poller.ts +0 -74
@@ -0,0 +1,347 @@
1
+ import { DocumentStatus, FieldType } from './content-source-interface';
2
+ export { FieldType, Logger, LeveledLogMethod, DocumentStatus } from './content-source-interface';
3
+ export interface Document {
4
+ type: 'document';
5
+ srcType: string;
6
+ srcProjectId: string;
7
+ srcProjectUrl: string;
8
+ srcEnvironment: string;
9
+ srcObjectId: string;
10
+ srcObjectUrl: string;
11
+ srcObjectLabel: string;
12
+ srcModelName: string;
13
+ srcModelLabel: string;
14
+ isChanged: boolean;
15
+ status: DocumentStatus;
16
+ createdAt: string;
17
+ createdBy?: string;
18
+ updatedAt: string;
19
+ updatedBy?: string[];
20
+ fields: Record<string, DocumentField>;
21
+ }
22
+ export interface Asset {
23
+ type: 'asset';
24
+ srcType: string;
25
+ srcProjectId: string;
26
+ srcProjectUrl: string;
27
+ srcEnvironment: string;
28
+ srcObjectId: string;
29
+ srcObjectUrl: string;
30
+ srcObjectLabel: string;
31
+ srcModelName: string;
32
+ srcModelLabel: string;
33
+ isChanged: boolean;
34
+ status: DocumentStatus;
35
+ createdAt: string;
36
+ createdBy?: string;
37
+ updatedAt: string;
38
+ updatedBy?: string[];
39
+ fields: AssetFields;
40
+ }
41
+ export declare type AssetFields = {
42
+ title: DocumentValueFieldForType<'string'>;
43
+ file: AssetFileField;
44
+ };
45
+ export interface UploadAssetData {
46
+ url: string;
47
+ data?: string;
48
+ metadata: {
49
+ name: string;
50
+ type: string;
51
+ };
52
+ }
53
+ export interface ContentChangeResultItem {
54
+ srcType: string;
55
+ srcProjectId: string;
56
+ srcObjectId: string;
57
+ }
58
+ export interface ContentChangeResult {
59
+ updatedDocuments: ContentChangeResultItem[];
60
+ updatedAssets: ContentChangeResultItem[];
61
+ deletedDocuments: ContentChangeResultItem[];
62
+ deletedAssets: ContentChangeResultItem[];
63
+ }
64
+ export declare type APIObject = APIDocumentObject | APIImageObject;
65
+ export interface APIDocumentObject extends Omit<Document, 'fields' | 'type'> {
66
+ type: 'object';
67
+ fields: Record<string, DocumentFieldAPI>;
68
+ }
69
+ export interface APIImageObject extends Omit<Asset, 'fields' | 'type'> {
70
+ type: 'image';
71
+ fields: AssetFieldsAPI;
72
+ }
73
+ export declare type AssetFieldsAPI = {
74
+ title: DocumentFieldAPIForType<'string'>;
75
+ url: DocumentFieldAPIForType<'string'>;
76
+ };
77
+ export interface APIAsset {
78
+ objectId: string;
79
+ createdAt: string;
80
+ url: string;
81
+ title?: string;
82
+ fileName?: string;
83
+ contentType?: string;
84
+ size?: number;
85
+ width?: number;
86
+ height?: number;
87
+ }
88
+ export declare type DocumentField = DocumentValueField | DocumentObjectField | DocumentModelField | DocumentReferenceField | DocumentListField | DocumentMarkdownField | DocumentRichTextField | DocumentImageField;
89
+ export declare type DocumentFieldLocalized = DocumentValueFieldLocalized | DocumentObjectFieldLocalized | DocumentModelFieldLocalized | DocumentReferenceFieldLocalized | DocumentMarkdownFieldLocalized | DocumentRichTextFieldLocalized | DocumentListFieldLocalized | DocumentImageFieldLocalized;
90
+ export declare type DocumentFieldNonLocalized = DocumentValueFieldNonLocalized | DocumentObjectFieldNonLocalized | DocumentModelFieldNonLocalized | DocumentReferenceFieldNonLocalized | DocumentMarkdownFieldNonLocalized | DocumentRichTextFieldNonLocalized | DocumentListFieldNonLocalized | DocumentImageFieldNonLocalized;
91
+ export declare type DocumentFieldAPI = DocumentValueFieldAPI | DocumentObjectFieldAPI | DocumentModelFieldAPI | DocumentReferenceFieldAPI | DocumentMarkdownFieldAPI | DocumentRichTextFieldAPI | DocumentListFieldAPI | DocumentImageFieldAPI;
92
+ export declare type DocumentFieldBaseProps = DocumentValueFieldBaseProps | DocumentObjectFieldBase | DocumentModelFieldBase | DocumentReferenceFieldBase | DocumentListFieldBase | DocumentRichTextFieldBase | DocumentImageFieldBase;
93
+ export declare type DistributiveOmit<T, K extends PropertyKey> = T extends any ? Omit<T, K> : never;
94
+ export declare type Simplify<T> = {
95
+ [K in keyof T]: T[K];
96
+ };
97
+ export declare type FindByType<Union extends {
98
+ type: FieldType | 'unresolved_reference';
99
+ }, Type> = Union extends {
100
+ type: Type;
101
+ } ? Union : never;
102
+ export declare type DocumentFieldForType<Type extends FieldType> = FindByType<DocumentField, Type>;
103
+ export declare type DocumentFieldLocalizedForType<Type extends FieldType> = FindByType<DocumentFieldLocalized, Type>;
104
+ export declare type DocumentFieldNonLocalizedForType<Type extends FieldType> = FindByType<DocumentFieldNonLocalized, Type>;
105
+ export declare type DocumentFieldAPIForType<Type extends FieldType | 'unresolved_reference'> = FindByType<DocumentFieldAPI, Type>;
106
+ export declare type DocumentFieldBasePropsForType<Type extends FieldType> = FindByType<DocumentFieldBaseProps, Type>;
107
+ export declare type DocumentFieldSpecificPropsForType<Type extends FieldType> = Simplify<DistributiveOmit<DocumentFieldNonLocalizedForType<Type>, keyof DocumentFieldBasePropsForType<Type> | 'label' | 'locale' | 'localized'>>;
108
+ export declare type DocumentFieldTypeLocalized<BaseFieldProps, LocalizedFieldProps> = Simplify<BaseFieldProps & {
109
+ label?: string;
110
+ localized: true;
111
+ locales: Record<string, {
112
+ locale: string;
113
+ } & Omit<LocalizedFieldProps, 'isUnset'>>;
114
+ }>;
115
+ export declare type DocumentFieldTypeNonLocalized<BaseFieldProps, LocalizedFieldProps> = Simplify<BaseFieldProps & LocalizedFieldProps & {
116
+ label?: string;
117
+ localized?: false;
118
+ locale?: string;
119
+ }>;
120
+ export declare type DocumentFieldTypeAPI<BaseFieldProps, LocalizedFieldProps> = BaseFieldProps & LocalizedFieldProps & {
121
+ label?: string;
122
+ description?: string;
123
+ locale?: string;
124
+ localized?: boolean;
125
+ };
126
+ export declare type DocumentValueFieldType = Exclude<FieldType, 'object' | 'model' | 'reference' | 'markdown' | 'richText' | 'list' | 'image'>;
127
+ export declare type DocumentValueFieldForType<Type> = Type extends DocumentValueFieldType ? DocumentValueFieldLocalizedForType<Type> | DocumentValueFieldNonLocalizedForType<Type> : never;
128
+ export declare type DocumentValueField = DocumentValueFieldForType<DocumentValueFieldType>;
129
+ export declare type DocumentValueFieldLocalizedForType<Type> = Type extends DocumentValueFieldType ? DocumentFieldTypeLocalized<DocumentValueFieldBase<Type>, DocumentValueFieldProps> : never;
130
+ export declare type DocumentValueFieldLocalized = DocumentValueFieldLocalizedForType<DocumentValueFieldType>;
131
+ export declare type DocumentValueFieldNonLocalizedForType<Type> = Type extends DocumentValueFieldType ? DocumentFieldTypeNonLocalized<DocumentValueFieldBase<Type>, DocumentValueFieldProps> : never;
132
+ export declare type DocumentValueFieldNonLocalized = DocumentValueFieldNonLocalizedForType<DocumentValueFieldType>;
133
+ export declare type DocumentValueFieldAPIForType<Type> = Type extends DocumentValueFieldType ? DocumentFieldTypeAPI<DocumentValueFieldBase<Type>, DocumentValueFieldProps> : never;
134
+ export declare type DocumentValueFieldAPI = DocumentValueFieldAPIForType<DocumentValueFieldType>;
135
+ export declare type DocumentValueFieldBasePropsForType<Type> = Type extends DocumentValueFieldType ? DocumentValueFieldBase<Type> : never;
136
+ export declare type DocumentValueFieldBaseProps = DocumentValueFieldBasePropsForType<DocumentValueFieldType>;
137
+ export declare type DocumentValueFieldBase<Type extends DocumentValueFieldType> = {
138
+ type: Type;
139
+ };
140
+ export declare type DocumentValueFieldProps = {
141
+ value: any;
142
+ };
143
+ export declare type DocumentObjectField = DocumentObjectFieldLocalized | DocumentObjectFieldNonLocalized;
144
+ export declare type DocumentObjectFieldLocalized = DocumentFieldTypeLocalized<DocumentObjectFieldBase, DocumentObjectFieldProps>;
145
+ export declare type DocumentObjectFieldNonLocalized = DocumentFieldTypeNonLocalized<DocumentObjectFieldBase, DocumentObjectFieldProps>;
146
+ export declare type DocumentObjectFieldAPI = DocumentFieldTypeAPI<DocumentObjectFieldBase, DocumentObjectFieldPropsAPI>;
147
+ export declare type DocumentObjectFieldBase = {
148
+ type: 'object';
149
+ };
150
+ export declare type DocumentObjectFieldPropsCommon = {
151
+ srcObjectLabel: string;
152
+ };
153
+ export declare type DocumentObjectFieldProps = {
154
+ isUnset: true;
155
+ } | ({
156
+ isUnset?: false;
157
+ fields: Record<string, DocumentField>;
158
+ } & DocumentObjectFieldPropsCommon);
159
+ export declare type DocumentObjectFieldPropsAPI = {
160
+ isUnset: true;
161
+ } | ({
162
+ isUnset?: false;
163
+ fields: Record<string, DocumentFieldAPI>;
164
+ } & DocumentObjectFieldPropsCommon);
165
+ export declare type DocumentModelField = DocumentModelFieldLocalized | DocumentModelFieldNonLocalized;
166
+ export declare type DocumentModelFieldLocalized = DocumentFieldTypeLocalized<DocumentModelFieldBase, DocumentModelFieldProps>;
167
+ export declare type DocumentModelFieldNonLocalized = DocumentFieldTypeNonLocalized<DocumentModelFieldBase, DocumentModelFieldProps>;
168
+ export declare type DocumentModelFieldAPI = DocumentFieldTypeAPI<DocumentModelFieldBase, DocumentModelFieldPropsAPI>;
169
+ export declare type DocumentModelFieldBase = {
170
+ type: 'model';
171
+ };
172
+ export declare type DocumentModelFieldPropsCommon = {
173
+ srcObjectLabel: string;
174
+ srcModelName: string;
175
+ srcModelLabel: string;
176
+ };
177
+ export declare type DocumentModelFieldProps = {
178
+ isUnset: true;
179
+ } | ({
180
+ isUnset?: false;
181
+ fields: Record<string, DocumentField>;
182
+ } & DocumentModelFieldPropsCommon);
183
+ export declare type DocumentModelFieldPropsAPI = {
184
+ isUnset: true;
185
+ } | ({
186
+ isUnset?: false;
187
+ fields: Record<string, DocumentFieldAPI>;
188
+ } & DocumentModelFieldPropsCommon);
189
+ export declare type DocumentReferenceField = DocumentReferenceFieldLocalized | DocumentReferenceFieldNonLocalized;
190
+ export declare type DocumentReferenceFieldLocalized = DocumentFieldTypeLocalized<DocumentReferenceFieldBase, DocumentReferenceFieldProps>;
191
+ export declare type DocumentReferenceFieldNonLocalized = DocumentFieldTypeNonLocalized<DocumentReferenceFieldBase, DocumentReferenceFieldProps>;
192
+ export declare type DocumentReferenceFieldAPI = DocumentFieldTypeAPI<DocumentReferenceFieldBaseAPI, DocumentReferenceFieldProps>;
193
+ export declare type DocumentReferenceFieldBase = {
194
+ type: 'reference';
195
+ refType: 'document' | 'asset';
196
+ };
197
+ export declare type DocumentReferenceFieldProps = {
198
+ isUnset: true;
199
+ } | {
200
+ isUnset?: false;
201
+ refId: string;
202
+ };
203
+ export declare type DocumentReferenceFieldBaseAPI = {
204
+ type: 'unresolved_reference';
205
+ refType: 'object' | 'image';
206
+ };
207
+ export declare type DocumentMarkdownField = DocumentMarkdownFieldLocalized | DocumentMarkdownFieldNonLocalized;
208
+ export declare type DocumentMarkdownFieldLocalized = DocumentFieldTypeLocalized<DocumentMarkdownFieldBase, DocumentMarkdownFieldProps>;
209
+ export declare type DocumentMarkdownFieldNonLocalized = DocumentFieldTypeNonLocalized<DocumentMarkdownFieldBase, DocumentMarkdownFieldProps>;
210
+ export declare type DocumentMarkdownFieldAPI = DocumentFieldTypeAPI<DocumentMarkdownFieldBase, DocumentMarkdownFieldProps>;
211
+ export declare type DocumentMarkdownFieldBase = {
212
+ type: 'markdown';
213
+ };
214
+ export declare type DocumentMarkdownFieldProps = {
215
+ isUnset?: boolean;
216
+ multiElement?: boolean;
217
+ value: any;
218
+ };
219
+ export declare type DocumentRichTextField = DocumentRichTextFieldLocalized | DocumentRichTextFieldNonLocalized;
220
+ export declare type DocumentRichTextFieldLocalized = DocumentFieldTypeLocalized<DocumentRichTextFieldBase, DocumentRichTextFieldProps>;
221
+ export declare type DocumentRichTextFieldNonLocalized = DocumentFieldTypeNonLocalized<DocumentRichTextFieldBase, DocumentRichTextFieldProps>;
222
+ export declare type DocumentRichTextFieldAPI = DocumentFieldTypeAPI<DocumentRichTextFieldBase, DocumentRichTextFieldProps>;
223
+ export declare type DocumentRichTextFieldBase = {
224
+ type: 'richText';
225
+ };
226
+ export declare type DocumentRichTextFieldProps = {
227
+ isUnset?: boolean;
228
+ hint?: string;
229
+ multiElement?: boolean;
230
+ value: any;
231
+ };
232
+ export declare type DocumentListField = DocumentListFieldLocalized | DocumentListFieldNonLocalized;
233
+ export declare type DocumentListFieldLocalized = DocumentFieldTypeLocalized<DocumentListFieldBase, DocumentListFieldProps>;
234
+ export declare type DocumentListFieldNonLocalized = DocumentFieldTypeNonLocalized<DocumentListFieldBase, DocumentListFieldProps>;
235
+ export declare type DocumentListFieldAPI = DocumentFieldTypeAPI<DocumentListFieldBase, DocumentListFieldPropsAPI>;
236
+ export declare type DocumentListFieldBase = {
237
+ type: 'list';
238
+ };
239
+ export declare type DocumentListFieldProps = {
240
+ items: DocumentField[];
241
+ };
242
+ export declare type DocumentListFieldPropsAPI = {
243
+ items: DocumentFieldAPI[];
244
+ };
245
+ export declare type DocumentImageField = DocumentImageFieldLocalized | DocumentImageFieldNonLocalized;
246
+ export declare type DocumentImageFieldLocalized = DocumentFieldTypeLocalized<DocumentImageFieldBase, DocumentImageFieldProps>;
247
+ export declare type DocumentImageFieldNonLocalized = DocumentFieldTypeNonLocalized<DocumentImageFieldBase, DocumentImageFieldProps>;
248
+ export declare type DocumentImageFieldAPI = DocumentFieldTypeAPI<DocumentImageFieldBase, DocumentImageFieldPropsAPI>;
249
+ export declare type DocumentImageFieldBase = {
250
+ type: 'image';
251
+ };
252
+ export declare type DocumentImageFieldProps = {
253
+ isUnset: true;
254
+ } | {
255
+ isUnset?: false;
256
+ fields: AssetFieldsAPI;
257
+ };
258
+ export declare type DocumentImageFieldPropsAPI = {
259
+ isUnset: true;
260
+ } | {
261
+ isUnset?: false;
262
+ fields: AssetFieldsAPI;
263
+ };
264
+ export declare type AssetFileField = AssetFileFieldLocalized | AssetFileFieldNonLocalized;
265
+ export declare type AssetFileFieldLocalized = DocumentFieldTypeLocalized<AssetFileFieldBase, AssetFileFieldProps>;
266
+ export declare type AssetFileFieldNonLocalized = DocumentFieldTypeNonLocalized<AssetFileFieldBase, AssetFileFieldProps>;
267
+ export declare type AssetFileFieldBase = {
268
+ type: 'assetFile';
269
+ };
270
+ export declare type AssetFileFieldProps = {
271
+ url: string;
272
+ fileName?: string;
273
+ contentType?: string;
274
+ size?: number;
275
+ dimensions?: {
276
+ width?: number;
277
+ height?: number;
278
+ };
279
+ };
280
+ export declare type UpdateOperation = UpdateOperationSet | UpdateOperationUnset | UpdateOperationInsert | UpdateOperationRemove | UpdateOperationReorder;
281
+ export declare type UpdateOperationBase = {
282
+ opType: string;
283
+ fieldPath: (string | number)[];
284
+ locale?: string;
285
+ };
286
+ export declare type UpdateOperationSet = Simplify<UpdateOperationBase & {
287
+ opType: 'set';
288
+ field: UpdateOperationField;
289
+ }>;
290
+ export declare type UpdateOperationUnset = Simplify<UpdateOperationBase & {
291
+ opType: 'unset';
292
+ }>;
293
+ export declare type UpdateOperationInsert = Simplify<UpdateOperationBase & {
294
+ opType: 'insert';
295
+ index?: number;
296
+ item: UpdateOperationField;
297
+ }>;
298
+ export declare type UpdateOperationRemove = Simplify<UpdateOperationBase & {
299
+ opType: 'remove';
300
+ index: number;
301
+ }>;
302
+ export declare type UpdateOperationReorder = Simplify<UpdateOperationBase & {
303
+ opType: 'reorder';
304
+ order: number[];
305
+ }>;
306
+ export declare type UpdateOperationField = UpdateOperationValueField | UpdateOperationObjectField | UpdateOperationModelField | UpdateOperationReferenceField | UpdateOperationListField;
307
+ export declare type UpdateOperationValueFieldType = Exclude<FieldType, 'object' | 'model' | 'reference' | 'list'>;
308
+ export declare type UpdateOperationValueField = {
309
+ type: UpdateOperationValueFieldType;
310
+ value: any;
311
+ };
312
+ export declare type UpdateOperationObjectField = {
313
+ type: 'object';
314
+ object: Record<string, any>;
315
+ };
316
+ export declare type UpdateOperationModelField = {
317
+ type: 'model';
318
+ modelName: string;
319
+ object: Record<string, any>;
320
+ };
321
+ export declare type UpdateOperationReferenceField = {
322
+ type: 'reference';
323
+ refType: 'document' | 'asset';
324
+ refId: string;
325
+ };
326
+ export declare type UpdateOperationListField = {
327
+ type: 'list';
328
+ items: any[];
329
+ };
330
+ export declare type User = {
331
+ name: string;
332
+ email: string;
333
+ connections: {
334
+ type: string;
335
+ [key: string]: any;
336
+ }[];
337
+ };
338
+ export declare type ValidationError = {
339
+ message: string;
340
+ srcType: string;
341
+ srcProjectId: string;
342
+ srcObjectType: string;
343
+ srcObjectId: string;
344
+ fieldPath: (string | number)[];
345
+ isUniqueValidation?: boolean;
346
+ };
347
+ //# sourceMappingURL=content-store-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-store-types.d.ts","sourceRoot":"","sources":["../src/content-store-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=content-store-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-store-types.js","sourceRoot":"","sources":["../src/content-store-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,210 @@
1
+ import { Config, Model } from '@stackbit/sdk';
2
+ import * as CSITypes from './content-source-interface';
3
+ import * as ContentStoreTypes from './content-store-types';
4
+ import { UserCommandSpawner } from './common/common-types';
5
+ export interface ContentSourceOptions {
6
+ logger: ContentStoreTypes.Logger;
7
+ userLogger: ContentStoreTypes.Logger;
8
+ localDev: boolean;
9
+ stackbitYamlDir: string;
10
+ contentSources: CSITypes.ContentSourceInterface[];
11
+ userCommandSpawner?: UserCommandSpawner;
12
+ onSchemaChangeCallback: () => void;
13
+ onContentChangeCallback: (contentChanges: ContentStoreTypes.ContentChangeResult) => void;
14
+ handleConfigAssets: (config: Config) => Promise<Config>;
15
+ }
16
+ export declare class ContentStore {
17
+ private readonly contentSources;
18
+ private readonly logger;
19
+ private readonly userLogger;
20
+ private readonly userCommandSpawner?;
21
+ private readonly localDev;
22
+ private readonly stackbitYamlDir;
23
+ private readonly onSchemaChangeCallback;
24
+ private readonly onContentChangeCallback;
25
+ private readonly handleConfigAssets;
26
+ private contentSourceDataById;
27
+ private contentUpdatesWatchTimer;
28
+ private rawStackbitConfig;
29
+ private presets?;
30
+ constructor(options: ContentSourceOptions);
31
+ init(): Promise<void>;
32
+ reset(): Promise<void>;
33
+ /**
34
+ * This method is called when contentUpdatesWatchTimer receives timeout.
35
+ * It then notifies all content sources to stop watching for content changes.
36
+ */
37
+ handleTimerTimeout(): void;
38
+ /**
39
+ * This method is called when user interacts with Stackbit application.
40
+ * It is used to reset contentUpdatesWatchTimer. When the timer is over
41
+ * all content sources are notified to stop watching for content updates.
42
+ */
43
+ keepAlive(): Promise<void>;
44
+ /**
45
+ * This method is called when a content source notifies Stackbit of models
46
+ * changes via webhook. When this happens, all content source data
47
+ *
48
+ * For example, Contentful notifies Stackbit of any content-type changes via
49
+ * special webhook.
50
+ *
51
+ * @param contentSourceId
52
+ */
53
+ onContentSourceSchemaChange({ contentSourceId }: {
54
+ contentSourceId: string;
55
+ }): Promise<void>;
56
+ onFilesChange(updatedFiles: string[]): Promise<{
57
+ stackbitConfigUpdated?: boolean;
58
+ schemaChanged?: boolean;
59
+ contentChanges: ContentStoreTypes.ContentChangeResult;
60
+ }>;
61
+ loadStackbitConfig(): Promise<Record<string, any> | undefined>;
62
+ loadContentSourceData({ contentSourceInstance, init }: {
63
+ contentSourceInstance: CSITypes.ContentSourceInterface;
64
+ init: boolean;
65
+ }): Promise<void>;
66
+ onContentChange(contentSourceId: string, contentChangeEvent: CSITypes.ContentChangeEvent): ContentStoreTypes.ContentChangeResult;
67
+ getModels(): Record<string, Record<string, Record<string, Model>>>;
68
+ getLocales(): string[];
69
+ getPresets(): Record<string, any>;
70
+ getContentSourceEnvironment({ srcProjectId, srcType }: {
71
+ srcProjectId: string;
72
+ srcType: string;
73
+ }): string;
74
+ hasAccess({ srcType, srcProjectId, user }: {
75
+ srcType: string;
76
+ srcProjectId: string;
77
+ user?: ContentStoreTypes.User;
78
+ }): Promise<boolean>;
79
+ hasChanges({ srcType, srcProjectId, documents }: {
80
+ srcType?: string;
81
+ srcProjectId?: string;
82
+ documents?: {
83
+ srcType: string;
84
+ srcProjectId: string;
85
+ srcObjectId: string;
86
+ }[];
87
+ }): {
88
+ hasChanges: boolean;
89
+ changedObjects: {
90
+ srcType: string;
91
+ srcProjectId: string;
92
+ srcObjectId: string;
93
+ }[];
94
+ };
95
+ getDocument({ srcDocumentId, srcProjectId, srcType }: {
96
+ srcDocumentId: string;
97
+ srcProjectId: string;
98
+ srcType: string;
99
+ }): ContentStoreTypes.Document | undefined;
100
+ getDocuments(): ContentStoreTypes.Document[];
101
+ getAsset({ srcAssetId, srcProjectId, srcType }: {
102
+ srcAssetId: string;
103
+ srcProjectId: string;
104
+ srcType: string;
105
+ }): ContentStoreTypes.Asset | undefined;
106
+ getAssets(): ContentStoreTypes.Asset[];
107
+ getLocalizedApiObjects({ locale }: {
108
+ locale?: string;
109
+ }): ContentStoreTypes.APIObject[];
110
+ getApiAssets({ srcType, srcProjectId, pageSize, pageNum, searchQuery }?: {
111
+ srcType?: string;
112
+ srcProjectId?: string;
113
+ pageSize?: number;
114
+ pageNum?: number;
115
+ searchQuery?: string;
116
+ }): {
117
+ assets: ContentStoreTypes.APIAsset[];
118
+ pageSize: number;
119
+ pageNum: number;
120
+ totalPages: number;
121
+ };
122
+ createAndLinkDocument({ srcType, srcProjectId, srcDocumentId, fieldPath, modelName, object, index, locale, user }: {
123
+ srcType: string;
124
+ srcProjectId: string;
125
+ srcDocumentId: string;
126
+ fieldPath: (string | number)[];
127
+ modelName?: string;
128
+ object?: Record<string, any>;
129
+ index?: number;
130
+ locale?: string;
131
+ user?: ContentStoreTypes.User;
132
+ }): Promise<{
133
+ srcDocumentId: string;
134
+ }>;
135
+ uploadAndLinkAsset({ srcType, srcProjectId, srcDocumentId, fieldPath, asset, index, locale, user }: {
136
+ srcType: string;
137
+ srcProjectId: string;
138
+ srcDocumentId: string;
139
+ fieldPath: (string | number)[];
140
+ asset: ContentStoreTypes.UploadAssetData;
141
+ index?: number;
142
+ locale?: string;
143
+ user?: ContentStoreTypes.User;
144
+ }): Promise<{
145
+ srcDocumentId: string;
146
+ }>;
147
+ createDocument({ srcType, srcProjectId, modelName, object, locale, user }: {
148
+ srcType: string;
149
+ srcProjectId: string;
150
+ modelName: string;
151
+ object?: Record<string, any>;
152
+ locale?: string;
153
+ user?: ContentStoreTypes.User;
154
+ }): Promise<{
155
+ srcDocumentId: string;
156
+ }>;
157
+ updateDocument({ srcType, srcProjectId, srcDocumentId, updateOperations, user }: {
158
+ srcType: string;
159
+ srcProjectId: string;
160
+ srcDocumentId: string;
161
+ updateOperations: ContentStoreTypes.UpdateOperation[];
162
+ user?: ContentStoreTypes.User;
163
+ }): Promise<{
164
+ srcDocumentId: string;
165
+ }>;
166
+ duplicateDocument({ srcType, srcProjectId, srcDocumentId, object, user }: {
167
+ srcType: string;
168
+ srcProjectId: string;
169
+ srcDocumentId: string;
170
+ object?: Record<string, any>;
171
+ user?: ContentStoreTypes.User;
172
+ }): Promise<{
173
+ srcDocumentId: string;
174
+ }>;
175
+ uploadAssets({ srcType, srcProjectId, assets, locale, user }: {
176
+ srcType: string;
177
+ srcProjectId: string;
178
+ assets: ContentStoreTypes.UploadAssetData[];
179
+ locale?: string;
180
+ user?: ContentStoreTypes.User;
181
+ }): Promise<ContentStoreTypes.APIAsset[]>;
182
+ deleteDocument({ srcType, srcProjectId, srcDocumentId, user }: {
183
+ srcType: string;
184
+ srcProjectId: string;
185
+ srcDocumentId: string;
186
+ user?: ContentStoreTypes.User;
187
+ }): Promise<void>;
188
+ validateDocuments({ objects, locale, user }: {
189
+ objects: {
190
+ srcType: string;
191
+ srcProjectId: string;
192
+ srcObjectId: string;
193
+ }[];
194
+ locale?: string;
195
+ user?: ContentStoreTypes.User;
196
+ }): Promise<{
197
+ errors: ContentStoreTypes.ValidationError[];
198
+ }>;
199
+ publishDocuments({ objects, user }: {
200
+ objects: {
201
+ srcType: string;
202
+ srcProjectId: string;
203
+ srcObjectId: string;
204
+ }[];
205
+ user?: ContentStoreTypes.User;
206
+ }): Promise<void>;
207
+ private getContentSourceDataByIdOrThrow;
208
+ }
209
+ export declare function getContentSourceId(contentSourceType: string, srcProjectId: string): string;
210
+ //# sourceMappingURL=content-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-store.d.ts","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,MAAM,EAUN,KAAK,EACR,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAC;AAEvD,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IAClD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,uBAAuB,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,KAAK,IAAI,CAAC;IACzF,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;AAiCD,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAa;IACpD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAkE;IAC1G,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsC;IACzE,OAAO,CAAC,qBAAqB,CAAyC;IACtE,OAAO,CAAC,wBAAwB,CAAQ;IACxC,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAsB;gBAE1B,OAAO,EAAE,oBAAoB;IAanC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,KAAK;IAcX;;;OAGG;IACH,kBAAkB;IAMlB;;;;OAIG;IACG,SAAS;IAUf;;;;;;;;OAQG;IACG,2BAA2B,CAAC,EAAE,eAAe,EAAE,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE;IAU5E,aAAa,CACf,YAAY,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC;QAAE,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,CAAA;KAAE,CAAC;IA6CzH,kBAAkB;IAclB,qBAAqB,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE;QAAE,qBAAqB,EAAE,QAAQ,CAAC,sBAAsB,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE;IAiHtI,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,mBAAmB;IA4HhI,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAalE,UAAU,IAAI,MAAM,EAAE;IAWtB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIjC,2BAA2B,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAMzG,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAOtI,UAAU,CAAC,EACP,OAAO,EACP,YAAY,EACZ,SAAS,EACZ,EAAE;QACC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAChF,GAAG;QACA,UAAU,EAAE,OAAO,CAAC;QACpB,cAAc,EAAE;YACZ,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,EAAE,MAAM,CAAC;SACvB,EAAE,CAAC;KACP;IA2CD,WAAW,CAAC,EACR,aAAa,EACb,YAAY,EACZ,OAAO,EACV,EAAE;QACC,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;KACnB,GAAG,iBAAiB,CAAC,QAAQ,GAAG,SAAS;IAM1C,YAAY,IAAI,iBAAiB,CAAC,QAAQ,EAAE;IAU5C,QAAQ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB,CAAC,KAAK,GAAG,SAAS;IAMnJ,SAAS,IAAI,iBAAiB,CAAC,KAAK,EAAE;IAUtC,sBAAsB,CAAC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE;IAatF,YAAY,CAAC,EACT,OAAO,EACP,YAAY,EACZ,QAAa,EACb,OAAW,EACX,WAAW,EACd,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG;QAC7G,MAAM,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACrC,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACtB;IAmCK,qBAAqB,CAAC,EACxB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,MAAM,EACN,KAAK,EACL,MAAM,EACN,IAAI,EACP,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC;KACjC,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAmFhC,kBAAkB,CAAC,EACrB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,SAAS,EACT,KAAK,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACP,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC/B,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC;QACzC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC;KACjC,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAyEhC,cAAc,CAAC,EACjB,OAAO,EACP,YAAY,EACZ,SAAS,EACT,MAAM,EACN,MAAM,EACN,IAAI,EACP,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC;KACjC,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAgChC,cAAc,CAAC,EACjB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,IAAI,EACP,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,iBAAiB,CAAC,eAAe,EAAE,CAAC;QACtD,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC;KACjC,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAiFhC,iBAAiB,CAAC,EACpB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,MAAM,EACN,IAAI,EACP,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC;KACjC,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAkDhC,YAAY,CAAC,EACf,OAAO,EACP,YAAY,EACZ,MAAM,EACN,MAAM,EACN,IAAI,EACP,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,iBAAiB,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC;KACjC,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IAoCnC,cAAc,CAAC,EACjB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,IAAI,EACP,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC;KACjC;IAkBK,iBAAiB,CAAC,EACpB,OAAO,EACP,MAAM,EACN,IAAI,EACP,EAAE;QACC,OAAO,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC;KACjC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,CAAC,eAAe,EAAE,CAAA;KAAE,CAAC;IA4CtD,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAAE,OAAO,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAA;KAAE;IAYtJ,OAAO,CAAC,+BAA+B;CAO1C;AAED,wBAAgB,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAEjF"}