UNPKG

@smile/strapi-client

Version:

An HTTP client for Strapi focused on content and media creation (for mass data migration from another CMS/datasource)

57 lines (56 loc) 1.77 kB
export interface JSONResponse { status?: number; data: { documentId: number; }; error?: { status: number; }; } export interface FileUploadFormat { hash: string; ext: string; mime: string; size: number; url: string; name: string; width: number; height: number; } export interface FileUploadResponse extends FileUploadFormat { id: number; alternativeText: any; caption: any; formats: { small: FileUploadFormat; medium: FileUploadFormat; thumbnail: FileUploadFormat; }; previewUrl: string; provider: string; provider_metadata: any; createdAt: Date; updatedAt: Date; } export interface MediaFolderCreation { data: { id: number; }; } export declare class StrapiClient { private strapiBaseUrl; private token; private adminToken?; private readonly apiBaseUrl; private schedulerPlugin?; constructor(strapiBaseUrl: string, token: string, adminToken?: string | undefined); configureScheduler(plugin: '@webbio-strapi-plugin-scheduler' | 'strapi-plugin-publisher'): void; createEntry<T>(apiId: string, data: T): Promise<JSONResponse>; updateEntry<T>(apiId: string, id: string | number, data: Partial<T>): Promise<JSONResponse>; addMediaAsset(assetPathOrUrl: string, alt?: string, caption?: string): Promise<FileUploadResponse[]>; createMediaFolder(folderName: string, parentId?: number | null): Promise<MediaFolderCreation>; moveMedia(folderId: number, mediaIds: number[]): Promise<void>; addPublishDate(contentType: string, id: number, date: Date): Promise<void>; addUnpublishDate(contentType: string, id: number, date: Date): Promise<void>; private _addPublisherDate; }