UNPKG

contentful-management

Version:
39 lines (38 loc) 1.35 kB
import type { BasicMetaSysProps, CollectionProp, DefaultElements, MakeRequest, SysLink } from '../common-types'; import type { ResourceType, UpsertResourceTypeProps } from './resource-type'; export type ResourceProviderProps = { /** * System metadata */ sys: Omit<BasicMetaSysProps, 'version'> & { organization: SysLink; appDefinition: SysLink; }; /** * Resource Provider type, value is 'function' */ type: 'function'; /** * Link to a Contentful function */ function: SysLink; }; export type UpsertResourceProviderProps = Omit<ResourceProviderProps, 'sys'> & { sys: { id: string; }; }; export interface ResourceProvider extends ResourceProviderProps, DefaultElements<ResourceProviderProps> { upsert(): Promise<ResourceProvider>; delete(): Promise<void>; upsertResourceType(id: string, data: UpsertResourceTypeProps): Promise<ResourceType>; getResourceType(id: string): Promise<ResourceType>; getResourceTypes(): Promise<CollectionProp<ResourceType>>; } /** * @private * @param makeRequest - function to make requests via an adapter * @param data - Raw Resource Provider data * @return Wrapped Resource Provider data */ export declare function wrapResourceProvider(makeRequest: MakeRequest, data: ResourceProviderProps): ResourceProvider;