wip-backup-manager
Version:
This utility enables backup & restore of Kentico Kontent projects
88 lines (79 loc) • 2.98 kB
text/typescript
import {
AssetContracts,
AssetFolderContracts,
ContentItemContracts,
ContentTypeContracts,
ContentTypeSnippetContracts,
LanguageContracts,
LanguageVariantContracts,
TaxonomyContracts,
ProjectContracts,
} from '@kentico/kontent-management';
import { IProcessedItem, ItemType } from '../core';
export interface IImportConfig {
workflowIdForImportedItems: string;
projectId: string;
apiKey: string;
enableLog: boolean;
onUnsupportedBinaryFile?: (binaryFile: IBinaryFile) => void;
onImport?: (item: IProcessedItem) => void;
fixLanguages: boolean;
process?: {
taxonomy?: (item: TaxonomyContracts.ITaxonomyContract) => boolean | Promise<boolean>;
contentTypeSnippet?: (
item: ContentTypeSnippetContracts.IContentTypeSnippetContract
) => boolean | Promise<boolean>;
contentType?: (item: ContentTypeContracts.IContentTypeContract) => boolean | Promise<boolean>;
contentItem?: (item: ContentItemContracts.IContentItemModelContract) => boolean | Promise<boolean>;
languageVariant?: (item: LanguageVariantContracts.ILanguageVariantModelContract) => boolean | Promise<boolean>;
language?: (item: LanguageContracts.ILanguageModelContract) => boolean | Promise<boolean>;
asset?: (item: AssetContracts.IAssetModelContract) => boolean | Promise<boolean>;
assetFolder?: (item: AssetFolderContracts.IAssetFolderContract) => boolean | Promise<boolean>;
};
}
export interface IImportAllResult {
metadata: {
timestamp: Date;
projectId: string;
};
}
export interface IPreparedImportItem<TItem> {
type: ItemType;
codename: string;
item: TItem;
deps: string[];
}
export interface IBinaryFile {
binaryData: any;
asset: AssetContracts.IAssetModelContract;
}
export interface IImportSource {
importData: {
taxonomies: TaxonomyContracts.ITaxonomyContract[];
contentTypeSnippets: ContentTypeSnippetContracts.IContentTypeSnippetContract[];
contentTypes: ContentTypeContracts.IContentTypeContract[];
contentItems: ContentItemContracts.IContentItemModelContract[];
languageVariants: LanguageVariantContracts.ILanguageVariantModelContract[];
languages: LanguageContracts.ILanguageModelContract[];
assets: AssetContracts.IAssetModelContract[];
};
metadata: IImportMetadata;
validation: ProjectContracts.IProjectReportResponseContract;
assetFolders: AssetFolderContracts.IAssetFolderContract[];
binaryFiles: IBinaryFile[];
}
export interface IImportData {
orderedImportItems: IPreparedImportItem<any>[];
assetFolders: AssetFolderContracts.IAssetFolderContract[];
binaryFiles: IBinaryFile[];
}
export interface IFlattenedFolder {
name: string;
externalId?: string;
id: string;
}
export interface IImportMetadata {
projectId: string;
timestamp: Date;
isInconsistentExport: boolean;
}