contentful-management
Version:
Client for Contentful's Content Management API
52 lines (51 loc) • 1.46 kB
TypeScript
import type { DefaultElements, GetTagParams, MakeRequest, MetaSysProps, SysLink } from '../common-types';
export type TagVisibility = 'private' | 'public';
export type TagSysProps = Pick<MetaSysProps, 'id' | 'version' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy'> & {
type: 'Tag';
visibility: TagVisibility;
space: SysLink;
environment: SysLink;
};
export type TagProps = {
sys: TagSysProps;
name: string;
};
export type CreateTagProps = Omit<TagProps, 'sys'> & {
sys: Pick<TagSysProps, 'visibility'>;
};
export type UpdateTagProps = Omit<TagProps, 'sys'> & {
sys: Pick<TagSysProps, 'version'>;
};
export type DeleteTagParams = GetTagParams & {
version: number;
};
export type TagCollectionProps = {
sys: {
type: 'Array';
};
items: TagProps[];
total: number;
};
export interface TagCollection {
items: Tag[];
total: number;
}
type TagApi = {
update(): Promise<Tag>;
delete(): Promise<void>;
};
export interface Tag extends TagProps, DefaultElements<TagProps>, TagApi {
}
/**
* @private
*/
export default function createTagApi(makeRequest: MakeRequest): TagApi;
/**
* @private
*/
export declare function wrapTag(makeRequest: MakeRequest, data: TagProps): Tag;
/**
* @private
*/
export declare const wrapTagCollection: (makeRequest: MakeRequest, data: import("../common-types").CollectionProp<TagProps>) => import("../common-types").Collection<Tag, TagProps>;
export {};