attio-js
Version:
Developer-friendly & type-safe JS/TS SDK based on the official OpenAPI spec of Attio.
131 lines (124 loc) • 3.3 kB
text/typescript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import { tasksCreate } from "../funcs/tasksCreate.js";
import { tasksDelete } from "../funcs/tasksDelete.js";
import { tasksGet } from "../funcs/tasksGet.js";
import { tasksList } from "../funcs/tasksList.js";
import { tasksUpdate } from "../funcs/tasksUpdate.js";
import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import {
DeleteV2TasksTaskIdRequest,
DeleteV2TasksTaskIdResponse,
} from "../models/operations/deletev2taskstaskid.js";
import {
GetV2TasksRequest,
GetV2TasksResponse,
} from "../models/operations/getv2tasks.js";
import {
GetV2TasksTaskIdRequest,
GetV2TasksTaskIdResponse,
} from "../models/operations/getv2taskstaskid.js";
import {
PatchV2TasksTaskIdRequest,
PatchV2TasksTaskIdResponse,
} from "../models/operations/patchv2taskstaskid.js";
import {
PostV2TasksRequest,
PostV2TasksResponse,
} from "../models/operations/postv2tasks.js";
import { unwrapAsync } from "../types/fp.js";
export class Tasks extends ClientSDK {
/**
* List tasks
*
* @remarks
* List all tasks. Results are sorted by creation date, from oldest to newest.
*
* Required scopes: `task:read`, `object_configuration:read`, `record_permission:read`, `user_management:read`.
*/
async list(
request: GetV2TasksRequest,
options?: RequestOptions,
): Promise<GetV2TasksResponse> {
return unwrapAsync(tasksList(
this,
request,
options,
));
}
/**
* Create a task
*
* @remarks
* Creates a new task.
*
* At present, tasks can only be created from plaintext without record reference formatting.
*
* Required scopes: `task:read-write`, `object_configuration:read`, `record_permission:read`, `user_management:read`.
*/
async create(
request: PostV2TasksRequest,
options?: RequestOptions,
): Promise<PostV2TasksResponse> {
return unwrapAsync(tasksCreate(
this,
request,
options,
));
}
/**
* Get a task
*
* @remarks
* Get a single task by ID.
*
* Required scopes: `task:read`, `object_configuration:read`, `record_permission:read`, `user_management:read`.
*/
async get(
request: GetV2TasksTaskIdRequest,
options?: RequestOptions,
): Promise<GetV2TasksTaskIdResponse> {
return unwrapAsync(tasksGet(
this,
request,
options,
));
}
/**
* Update a task
*
* @remarks
* Updates an existing task by `task_id`. At present, only the `deadline_at`, `is_completed`, `linked_records`, and `assignees` fields can be updated.
*
* Required scopes: `task:read-write`, `object_configuration:read`, `record_permission:read`, `user_management:read`.
*/
async update(
request: PatchV2TasksTaskIdRequest,
options?: RequestOptions,
): Promise<PatchV2TasksTaskIdResponse> {
return unwrapAsync(tasksUpdate(
this,
request,
options,
));
}
/**
* Delete a task
*
* @remarks
* Delete a task by ID.
*
* Required scopes: `task:read-write`.
*/
async delete(
request: DeleteV2TasksTaskIdRequest,
options?: RequestOptions,
): Promise<DeleteV2TasksTaskIdResponse> {
return unwrapAsync(tasksDelete(
this,
request,
options,
));
}
}