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 {};