UNPKG

@jungvonmatt/sb-migrate

Version:

CLI tool for managing Storyblok schema and content migrations

278 lines (277 loc) 9.54 kB
import StoryblokClient, { ISbResult } from "storyblok-js-client"; import { IComponent, IPendingComponent } from "../types/IComponent"; import { IStory, IPendingStory } from "../types/stories"; import { IDataSource, IDataSourceEntry, IPendingDataSource, IPendingDataSourceEntry } from "../types/IDataSource"; import { IComponentGroup, IPendingComponentGroup } from "../types/IComponentGroup"; /** * Sets the number of requests per second to limit API calls * @param requestsPerSecond Number of requests per second (default: 3) */ export declare function setRequestsPerSecond(requestsPerSecond: number): void; /** * Creates a new instance of the Storyblok client using configuration from either * the config file (.storyblokrc.json) or environment variables. * * @throws {Error} If no OAuth token is found in either the config file or environment variables * @returns {Promise<StoryblokClient>} A configured Storyblok client instance * * @example * ```typescript * const client = await getStoryblokClient(); * const { data } = await client.get('stories'); * ``` */ export declare function getStoryblokClient(): Promise<StoryblokClient>; type IResult<T = any> = Omit<ISbResult, "data"> & { data: T; }; /** * API methods for managing Storyblok stories */ export type CreateStoryPayload = { release_id?: number; publish?: "1"; }; export type UpdateStoryPayload = CreateStoryPayload & { group_id?: number; force_update?: "1"; lang?: string; }; export declare const stories: { getAll(params?: Record<string, any>): Promise<IResult<{ stories: IStory[]; }>>; get(id: number, params?: Record<string, any>): Promise<IResult<{ story: IStory; }>>; getBySlug(slug: string): Promise<IStory>; create(story: IPendingStory, params?: CreateStoryPayload): Promise<IResult<{ story: IStory; }>>; update(story: IStory, params?: UpdateStoryPayload): Promise<IResult<{ story: IStory; }>>; delete(storyOrId: IStory | number): Promise<IResult<{ story: IStory; }>>; }; /** * API methods for managing Storyblok components */ export declare const componentGroups: { getAll(params?: Record<string, any>): Promise<IResult<{ component_groups: IComponentGroup[]; }>>; get(id: number | string, params?: Record<string, any>): Promise<IResult<{ component_group: IComponentGroup; }>>; create(componentGroup: IPendingComponentGroup): Promise<IResult<{ component_group: IComponentGroup; }>>; update(componentGroup: IComponentGroup): Promise<IResult<{ component_group: IComponentGroup; }>>; delete(componentGroupOrId: IComponentGroup | number | string): Promise<IResult<{ component_group: IComponentGroup; }>>; }; export declare const components: { getAll(params?: Record<string, any>): Promise<IResult<{ components: IComponent[]; }>>; get(id: number | string, params?: Record<string, any>): Promise<IResult<{ component: IComponent; }>>; create(component: IPendingComponent): Promise<IResult<{ component: IComponent; }>>; update(component: IComponent): Promise<IResult<{ component: IComponent; }>>; delete(componentOrId: IComponent | number | string): Promise<IResult<{ component: IComponent; }>>; }; /** * API methods for managing Storyblok spaces */ export declare const spaces: { getSpaceOptions(): Promise<{ is_demo: boolean; force_v1: boolean; force_v2: boolean; component_groups: Array<{ id: number; name: string; uuid: string; }>; languages: Array<{ code: string; name: string; }>; hosted_backup: boolean; duplicated_from: number; track_statistics: boolean; required_assest_fields: string[]; use_translated_stories: boolean; asset_custom_meta_data_schema: any[]; }>; getSpaceLanguages(): Promise<{ code: string; name: string; }[]>; }; /** * API methods for managing Storyblok datasources */ export declare const datasources: { getAll(params?: Record<string, any>): Promise<IResult<{ datasources: IDataSource[]; }>>; get(id: number | string, params?: Record<string, any>): Promise<IResult<{ datasource: IDataSource; }>>; create(entry: IPendingDataSource): Promise<IResult<{ datasource: IDataSource; }>>; update(entry: IDataSource): Promise<IResult<{ datasource: IDataSource; }>>; delete(entryOrId: IDataSource | number | string): Promise<IResult<{ datasource: IStory; }>>; has(id: number | string): Promise<boolean>; }; export declare const datasourceEntries: { getAll(datasource: IDataSource | number | string, params?: Record<string, any>): Promise<IResult<{ datasource_entries: IDataSourceEntry[]; }>>; get(id: number | string, params?: Record<string, any>): Promise<IResult<{ datasource: IDataSourceEntry; }>>; create(entry: IPendingDataSourceEntry): Promise<IResult<{ datasource: IDataSourceEntry; }>>; update(entry: IDataSourceEntry): Promise<IResult<{ datasource: IDataSourceEntry; }>>; delete(entryOrId: IDataSourceEntry | number | string): Promise<IResult<{ datasource: IStory; }>>; }; export declare const api: { spaces: { getSpaceOptions(): Promise<{ is_demo: boolean; force_v1: boolean; force_v2: boolean; component_groups: Array<{ id: number; name: string; uuid: string; }>; languages: Array<{ code: string; name: string; }>; hosted_backup: boolean; duplicated_from: number; track_statistics: boolean; required_assest_fields: string[]; use_translated_stories: boolean; asset_custom_meta_data_schema: any[]; }>; getSpaceLanguages(): Promise<{ code: string; name: string; }[]>; }; stories: { getAll(params?: Record<string, any>): Promise<IResult<{ stories: IStory[]; }>>; get(id: number, params?: Record<string, any>): Promise<IResult<{ story: IStory; }>>; getBySlug(slug: string): Promise<IStory>; create(story: IPendingStory, params?: CreateStoryPayload): Promise<IResult<{ story: IStory; }>>; update(story: IStory, params?: UpdateStoryPayload): Promise<IResult<{ story: IStory; }>>; delete(storyOrId: IStory | number): Promise<IResult<{ story: IStory; }>>; }; componentGroups: { getAll(params?: Record<string, any>): Promise<IResult<{ component_groups: IComponentGroup[]; }>>; get(id: number | string, params?: Record<string, any>): Promise<IResult<{ component_group: IComponentGroup; }>>; create(componentGroup: IPendingComponentGroup): Promise<IResult<{ component_group: IComponentGroup; }>>; update(componentGroup: IComponentGroup): Promise<IResult<{ component_group: IComponentGroup; }>>; delete(componentGroupOrId: IComponentGroup | number | string): Promise<IResult<{ component_group: IComponentGroup; }>>; }; components: { getAll(params?: Record<string, any>): Promise<IResult<{ components: IComponent[]; }>>; get(id: number | string, params?: Record<string, any>): Promise<IResult<{ component: IComponent; }>>; create(component: IPendingComponent): Promise<IResult<{ component: IComponent; }>>; update(component: IComponent): Promise<IResult<{ component: IComponent; }>>; delete(componentOrId: IComponent | number | string): Promise<IResult<{ component: IComponent; }>>; }; datasources: { getAll(params?: Record<string, any>): Promise<IResult<{ datasources: IDataSource[]; }>>; get(id: number | string, params?: Record<string, any>): Promise<IResult<{ datasource: IDataSource; }>>; create(entry: IPendingDataSource): Promise<IResult<{ datasource: IDataSource; }>>; update(entry: IDataSource): Promise<IResult<{ datasource: IDataSource; }>>; delete(entryOrId: IDataSource | number | string): Promise<IResult<{ datasource: IStory; }>>; has(id: number | string): Promise<boolean>; }; datasourceEntries: { getAll(datasource: IDataSource | number | string, params?: Record<string, any>): Promise<IResult<{ datasource_entries: IDataSourceEntry[]; }>>; get(id: number | string, params?: Record<string, any>): Promise<IResult<{ datasource: IDataSourceEntry; }>>; create(entry: IPendingDataSourceEntry): Promise<IResult<{ datasource: IDataSourceEntry; }>>; update(entry: IDataSourceEntry): Promise<IResult<{ datasource: IDataSourceEntry; }>>; delete(entryOrId: IDataSourceEntry | number | string): Promise<IResult<{ datasource: IStory; }>>; }; }; export {};