contentful-management
Version:
Client for Contentful's Content Management API
44 lines (43 loc) • 1.46 kB
TypeScript
import type { BasicMetaSysProps, DefaultElements, GetEntryParams, GetTaskParams, Link, MakeRequest, SysLink } from '../common-types';
export type TaskStatus = 'active' | 'resolved';
export type TaskSysProps = Pick<BasicMetaSysProps, 'id' | 'version' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy'> & {
type: 'Task';
space: SysLink;
environment: SysLink;
parentEntity: Link<'Entry'>;
};
export type TaskProps = {
sys: TaskSysProps;
body: string;
assignedTo: Link<'User' | 'Team'>;
status: TaskStatus;
dueDate?: string;
};
export type CreateTaskProps = Omit<TaskProps, 'sys'>;
export type UpdateTaskProps = Omit<TaskProps, 'sys'> & {
sys: Pick<TaskSysProps, 'version'>;
};
export type CreateTaskParams = GetEntryParams;
export type UpdateTaskParams = GetTaskParams;
export type DeleteTaskParams = GetTaskParams & {
version: number;
};
type TaskApi = {
update(): Promise<Task>;
delete(): Promise<void>;
};
export interface Task extends TaskProps, DefaultElements<TaskProps>, TaskApi {
}
/**
* @private
*/
export default function createTaskApi(makeRequest: MakeRequest): TaskApi;
/**
* @private
*/
export declare function wrapTask(makeRequest: MakeRequest, data: TaskProps): Task;
/**
* @private
*/
export declare const wrapTaskCollection: (makeRequest: MakeRequest, data: import("../common-types").CollectionProp<TaskProps>) => import("../common-types").Collection<Task, TaskProps>;
export {};