UNPKG

bx-rest

Version:

Bitrix24 REST API client angular, vue or typescript

120 lines (119 loc) 4.48 kB
import { iBXRestParamSort } from '../../base/sort'; import { iBXRestYesNo } from '../../base/yes-no'; import { iBXRestFilterGenerator } from '../../base/filter-generator'; import { iBXRestPagination } from '../../base/api-pagination-bx'; import { iBXRestHttpTask, iBXRestHttpTaskGroupHttp, iBXRestTask } from '../task'; import { iBXRestTaskFieldsName } from '../base/fields-name'; import { SnakeToCamelCase } from 'snake-camel-types'; import { ToUpperCaseKeys } from '../../../base/upper-case-keys'; import { ObjectToSnake } from 'ts-case-convert/lib/caseConvert'; export interface iBXRestTasksTaskListHttp<S extends iBXRestTaskFieldsName[], CustomFields = object> { tasks: iBXRestHttpTasksTaskList<S, CustomFields>[] | undefined; } export type iBXRestHttpTasksTaskList<S extends iBXRestTaskFieldsName[], CustomFields = object> = { [K in SnakeToCamelCase<Lowercase<S[number]>>]: iBXRestHttpTask[K]; } & CustomFields; export type iBXRestTasksTaskList<S extends iBXRestTaskFieldsName[], CustomFields = object> = { [K in SnakeToCamelCase<Lowercase<S[number]>>]: iBXRestTask[K]; } & CustomFields; /** * Если при запросе tasks.task.list не указывать выводимые поля (select) отдаст этот набор */ export interface iBXRestTasksTaskListHttpDefault extends iBXRestHttpTask { closedDate: null; createdDate: string; durationFact: string; group: iBXRestHttpTaskGroupHttp; additionalData: any[]; id: string; image: string; membersCount: number; name: string; opened: boolean; groupId: string; projectId: string; timeEstimate: string; timeSpentInLogs: string; title: string; } /** * Если при запросе tasks.task.list не указывать выводимые поля (select) отдаст этот набор */ export interface iBXRestTasksTaskListDefault extends Partial<iBXRestTask> { closedDate: Date | undefined; createdDate: Date; durationFact: string; group: iBXRestHttpTaskGroupHttp; additionalData: any[]; id: number; image: string; membersCount: number; name: string; opened: boolean; groupId: number; projectId: string; timeEstimate: string; timeSpentInLogs: string; title: string; } export interface iBXRestParamTasksList<CustomFields extends object> extends iBXRestPagination { order?: iBXRestParamTaskListOrder; filter?: iBXRestFilterGenerator<iBXRestParamTaskListFilter>; select?: (iBXRestTaskFieldsName | keyof ToUpperCaseKeys<ObjectToSnake<CustomFields>> | '*' | 'UF_*')[]; } export interface iBXRestParamTaskListOrder { ID?: iBXRestParamSort; TITLE?: iBXRestParamSort; TIME_SPENT_IN_LOGS?: iBXRestParamSort; DATE_START?: iBXRestParamSort; CREATED_DATE?: iBXRestParamSort; CHANGED_DATE?: iBXRestParamSort; CLOSED_DATE?: iBXRestParamSort; START_DATE_PLAN?: iBXRestParamSort; END_DATE_PLAN?: iBXRestParamSort; DEADLINE?: iBXRestParamSort; REAL_STATUS?: iBXRestParamSort; STATUS_COMPLETE?: iBXRestParamSort; PRIORITY?: iBXRestParamSort; MARK?: iBXRestParamSort; CREATED_BY_LAST_NAME?: iBXRestParamSort; RESPONSIBLE_LAST_NAME?: iBXRestParamSort; GROUP_ID?: iBXRestParamSort; TIME_ESTIMATE?: iBXRestParamSort; ALLOW_CHANGE_DEADLINE?: iBXRestParamSort; ALLOW_TIME_TRACKING?: iBXRestParamSort; MATCH_WORK_TIME?: iBXRestParamSort; FAVORITE?: iBXRestParamSort; SORTING?: iBXRestParamSort; MESSAGE_ID?: iBXRestParamSort; } export interface iBXRestParamTaskListFilter { ID?: number | number[]; ACTIVITY_DATE?: string; PARENT_ID?: number; GROUP_ID?: number | number[]; CREATED_BY?: number | number[]; STATUS_CHANGED_BY?: number; PRIORITY?: number; FORUM_TOPIC_ID?: number; RESPONSIBLE_ID?: number | number[]; TITLE?: string; TAG?: string; REAL_STATUS?: number | number[]; STATUS?: number | number[]; MARK?: number; SITE_ID?: number; ADD_IN_REPORT?: iBXRestYesNo; ALLOW_TIME_TRACKING?: iBXRestYesNo; DATE_START?: Date | string; DEADLINE?: Date | string; CREATED_DATE?: Date | string; CLOSED_DATE?: Date | string; CHANGED_DATE?: Date | string; ACCOMPLICE?: number | number[]; AUDITOR?: number | number[]; DEPENDS_ON?: number; ONLY_ROOT_TASKS?: iBXRestYesNo; STAGE_ID?: number | number[] | string | string[]; UF_CRM_TASK?: number | number[] | string | string[] | any; }