diff --git a/src/apis/kanbanconfig/index.ts b/src/apis/kanbanconfig/index.ts index e56aaaf74..b9ee58194 100644 --- a/src/apis/kanbanconfig/index.ts +++ b/src/apis/kanbanconfig/index.ts @@ -1,2 +1,3 @@ import './get' import './put' +import './post' diff --git a/src/apis/kanbanconfig/post.ts b/src/apis/kanbanconfig/post.ts new file mode 100644 index 000000000..60ade86ef --- /dev/null +++ b/src/apis/kanbanconfig/post.ts @@ -0,0 +1,58 @@ +import { KanbanConfigSchema } from '../../schemas/KanbanConfig' +import { ProjectId, ScenarioFieldConfigId } from 'teambition-types' +import { SDKFetch } from '../../SDKFetch' +import { SDK } from '../../SDK' + +export function setKanbanConfigDisplayedFieldsFetch( + this: SDKFetch, + projectId: ProjectId, + sfcId: ScenarioFieldConfigId, + displayedFields: KanbanConfigSchema['displayedFields'], +) { + return this.post( + `kanban-configs`, + { + _projectId: projectId, + _scenariofieldconfigId: sfcId, + displayedFields, + } + ) +} + +declare module '../../SDKFetch' { + interface SDKFetch { + setKanbanConfigDisplayedFields: + typeof setKanbanConfigDisplayedFieldsFetch + } +} + +SDKFetch.prototype.setKanbanConfigDisplayedFields = + setKanbanConfigDisplayedFieldsFetch + +function setKanbanConfigDisplayedFields( + this: SDK, + projectId: ProjectId, + sfcId: ScenarioFieldConfigId, + displayedFields: KanbanConfigSchema['displayedFields'], +) { + return this.lift({ + method: 'update', + clause: { _scenariofieldconfigId: sfcId }, + request: this.fetch.setKanbanConfigDisplayedFields( + projectId, + sfcId, + displayedFields, + ), + tableName: 'KanbanConfig', + }) +} + +declare module '../../SDK' { + interface SDK { + setKanbanConfigDisplayedFields: + typeof setKanbanConfigDisplayedFields + } +} + +SDK.prototype.setKanbanConfigDisplayedFields = + setKanbanConfigDisplayedFields