61 lines
1.3 KiB
TypeScript
61 lines
1.3 KiB
TypeScript
import { Lang } from './lang';
|
|
|
|
// This type is only a partial of the data available.
|
|
export type ContentstackPluginDefinition = {
|
|
type: 'field' | 'rte_plugin';
|
|
title: string;
|
|
src: string;
|
|
};
|
|
|
|
// This type is only a partial of the data available.
|
|
// Check console when editing an entry for all the data available.
|
|
// The data comes from Contentstack, we have no control.
|
|
// Extend this if needed.
|
|
export type ContentstackEmbeddedData = {
|
|
entryMetadata: {
|
|
contentTypeUid: string;
|
|
entryUid: string;
|
|
locale: Lang;
|
|
};
|
|
utilis: {
|
|
content_type: {
|
|
schema: Array<
|
|
| {
|
|
uid: string;
|
|
data_type: "text";
|
|
value: string;
|
|
}
|
|
| {
|
|
uid: string;
|
|
data_type: "json";
|
|
value: unknown;
|
|
}
|
|
>;
|
|
};
|
|
extensions: ContentstackPluginDefinition[];
|
|
};
|
|
requestProps: {
|
|
stack: {
|
|
api_key: string;
|
|
};
|
|
branch: string;
|
|
};
|
|
};
|
|
|
|
// This is our version of the required fields we need that are available in ContentstackEmbeddedData
|
|
export type ExtractedContentstackEmbeddedData = {
|
|
contentType: {
|
|
uid: string;
|
|
};
|
|
entry: {
|
|
locale: Lang;
|
|
title: string;
|
|
uid: string;
|
|
};
|
|
plugin: ContentstackPluginDefinition;
|
|
stack: {
|
|
apiKey: string;
|
|
};
|
|
branch: string;
|
|
};
|