/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { departmentsAddPeople } from "../funcs/departmentsAddPeople.js"; import { departmentsCreate } from "../funcs/departmentsCreate.js"; import { departmentsDelete } from "../funcs/departmentsDelete.js"; import { departmentsGet } from "../funcs/departmentsGet.js"; import { departmentsGetAll } from "../funcs/departmentsGetAll.js"; import { departmentsRemovePeople } from "../funcs/departmentsRemovePeople.js"; import { departmentsUpdate } from "../funcs/departmentsUpdate.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { DeleteDepartmentRequest, DeleteDepartmentResponse, } from "../models/operations/deletedepartment.js"; import { GetCompaniesDepartmentsRequest, GetCompaniesDepartmentsResponse, } from "../models/operations/getcompaniesdepartments.js"; import { GetDepartmentRequest, GetDepartmentResponse, } from "../models/operations/getdepartment.js"; import { PostDepartmentsRequest, PostDepartmentsResponse, } from "../models/operations/postdepartments.js"; import { PutAddPeopleToDepartmentRequest, PutAddPeopleToDepartmentResponse, } from "../models/operations/putaddpeopletodepartment.js"; import { PutDepartmentsRequest, PutDepartmentsResponse, } from "../models/operations/putdepartments.js"; import { PutRemovePeopleFromDepartmentRequest, PutRemovePeopleFromDepartmentResponse, } from "../models/operations/putremovepeoplefromdepartment.js"; import { unwrapAsync } from "../types/fp.js"; export class Departments extends ClientSDK { /** * Get all departments of a company * * @remarks * Get all of the departments for a given company with the employees and contractors assigned to that department. * * scope: `departments:read` */ async getAll( request: GetCompaniesDepartmentsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(departmentsGetAll( this, request, options, )); } /** * Create a department * * @remarks * Create a department * * scope: `departments:write` */ async create( request: PostDepartmentsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(departmentsCreate( this, request, options, )); } /** * Get a department * * @remarks * Get a department given the UUID * * scope: `departments:read` */ async get( request: GetDepartmentRequest, options?: RequestOptions, ): Promise { return unwrapAsync(departmentsGet( this, request, options, )); } /** * Update a department * * @remarks * Update a department * * scope: `departments:write` */ async update( request: PutDepartmentsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(departmentsUpdate( this, request, options, )); } /** * Delete a department * * @remarks * Delete a department. You cannot delete a department until all employees and contractors have been removed. * * scope: `departments:write` */ async delete( request: DeleteDepartmentRequest, options?: RequestOptions, ): Promise { return unwrapAsync(departmentsDelete( this, request, options, )); } /** * Add people to a department * * @remarks * Add employees and contractors to a department * * scope: `departments:write` */ async addPeople( request: PutAddPeopleToDepartmentRequest, options?: RequestOptions, ): Promise { return unwrapAsync(departmentsAddPeople( this, request, options, )); } /** * Remove people from a department * * @remarks * Remove employees and contractors from a department * * scope: `departments:write` */ async removePeople( request: PutRemovePeopleFromDepartmentRequest, options?: RequestOptions, ): Promise { return unwrapAsync(departmentsRemovePeople( this, request, options, )); } }