import { getDefaultClient } from '../../factory' import type { DepartmentsAddReqVO, DepartmentsAddRespVO, DepartmentsAddActorReqVO, DepartmentsAddActorRespVO, DepartmentsCreateServiceAccountReqVO, DepartmentsCreateServiceAccountRespVO, DepartmentsDeleteRespVO, DepartmentsDeleteActorReqVO, DepartmentsDeleteUserRespVO, DepartmentsEmployeeAccountChangePasswordReqVO, DepartmentsEmployeeAccountChangePasswordRespVO, DepartmentsEmployeeAccountCreateReqVO, DepartmentsEmployeeAccountCreateRespVO, DepartmentsGetActorsRespVO, DepartmentsGetDeptPolicyRespVO, DepartmentsGetListRespVO, DepartmentsGetOrganizationUsersReqVO, DepartmentsGetOrganizationUsersRespVO, DepartmentsGetUserRespVO, DepartmentsInviteCodeHistoryReqVO, DepartmentsInviteCodeHistoryRespVO, DepartmentsInviteCodeSwitchReqVO, DepartmentsInviteCodeSwitchRespVO, DepartmentsInviteOneByOneReqVO, DepartmentsInviteOneByOneRespVO, DepartmentsMakeLinkReqVO, DepartmentsMakeLinkRespVO, DepartmentsRelocateReqVO, DepartmentsRelocateRespVO, DepartmentsRenameReqVO, DepartmentsRenameRespVO, DepartmentsResendInviteReqVO, DepartmentsResendInviteRespVO, DepartmentsServiceAccountRenewTokenReqVO, DepartmentsServiceAccountRenewTokenRespVO, DepartmentsSetDeptPolicyReqVO, DepartmentsSetDeptPolicyRespVO, DepartmentsUpdateUserReqVO, DepartmentsUpdateUserRespVO } from '../../types/departments' import type { GetOrganizationTreeRespVO } from '../../types/user-action' // @endpoint POST /organization/departments/add // @controller Departments.Add export async function adminAddDepartment( data: DepartmentsAddReqVO ): Promise { return getDefaultClient().post('/organization/departments/add', data) } // @endpoint POST /organization/actors/add // @controller Departments.AddActor export async function adminAddActor( data: DepartmentsAddActorReqVO ): Promise { return getDefaultClient().post('/organization/actors/add', data) } // @endpoint POST /organization/service-account/create // @controller Departments.CreateServiceAccount export async function adminCreateServiceAccount( data: DepartmentsCreateServiceAccountReqVO ): Promise { return getDefaultClient().post('/organization/service-account/create', data) } // @endpoint DELETE /organization/departments/:id // @controller Departments.Delete export async function adminDeleteDepartment( id: string ): Promise { return getDefaultClient().delete(`/organization/departments/${id}`) } // @endpoint POST /organization/actors/delete // @controller Departments.DeleteActor export async function adminDeleteActor( data: DepartmentsDeleteActorReqVO ): Promise { return getDefaultClient().post('/organization/actors/delete', data) } // @endpoint DELETE /organization/users/:tenant_user_id // @controller Departments.DeleteUser export async function adminDeleteUser( tenantUserId: string ): Promise { return getDefaultClient().delete(`/organization/users/${tenantUserId}`) } // @endpoint POST /organization/employee-account/changePassword // @controller Departments.EmployeeAccountChangePassword export async function adminChangeEmployeeAccountPassword( data: DepartmentsEmployeeAccountChangePasswordReqVO ): Promise { return getDefaultClient().post('/organization/employee-account/changePassword', data) } // @endpoint POST /organization/employee-account/create // @controller Departments.EmployeeAccountCreate export async function adminCreateEmployeeAccount( data: DepartmentsEmployeeAccountCreateReqVO ): Promise { return getDefaultClient().post('/organization/employee-account/create', data) } // @endpoint POST /organization/actors/list // @controller Departments.GetActors export async function adminGetActors(): Promise { return getDefaultClient().post('/organization/actors/list') } // @endpoint GET /organization/department-policy/:id // @controller Departments.GetDeptPolicy export async function adminGetDepartmentPolicy( id: string ): Promise { return getDefaultClient().get(`/organization/department-policy/${id}`) } // @endpoint POST /organization/departments/list // @controller Departments.GetList export async function adminGetDepartmentList(ids?: number[]): Promise { return getDefaultClient().post('/organization/departments/list', { ids: ids || [] }) } // @endpoint POST /organization/departments/tree // @controller UserAction.GetOrganizationTree export async function getOrganizationTree(parentId: number = 0): Promise { return getDefaultClient().post('/organization/departments/tree', { parent_id: parentId }) } // @endpoint POST /organization/list-users // @controller Departments.GetOrganizationUsers export async function adminGetOrganizationUsers( data: DepartmentsGetOrganizationUsersReqVO ): Promise { return getDefaultClient().post('/organization/list-users', data) } // @endpoint GET /organization/users/:tenant_user_id // @controller Departments.GetUser export async function adminGetStaffUser( tenantUserId: string ): Promise { return getDefaultClient().get(`/organization/users/${tenantUserId}`) } // @endpoint POST /organization/invite/invite-code-history // @controller Departments.InviteCodeHistory export async function adminGetInviteCodeHistory( data: DepartmentsInviteCodeHistoryReqVO ): Promise { return getDefaultClient().post('/organization/invite/invite-code-history', data) } // @endpoint POST /organization/invite/invite-code-switch // @controller Departments.InviteCodeSwtich export async function adminSwitchInviteCode( data: DepartmentsInviteCodeSwitchReqVO ): Promise { return getDefaultClient().post('/organization/invite/invite-code-switch', data) } // @endpoint POST /organization/invite/one-by-one // @controller Departments.InviteOneByOne export async function adminInviteUserOneByOne( data: DepartmentsInviteOneByOneReqVO ): Promise { return getDefaultClient().post('/organization/invite/one-by-one', data) } // @endpoint POST /organization/invite/make-link // @controller Departments.MakeLink export async function adminMakeInviteLink( data: DepartmentsMakeLinkReqVO ): Promise { return getDefaultClient().post('/organization/invite/make-link', data) } // @endpoint PUT /organization/departments/:id/relocate // @controller Departments.Relocate export async function adminRelocateDepartment( id: string, data: DepartmentsRelocateReqVO ): Promise { return getDefaultClient().put(`/organization/departments/${id}/relocate`, data) } // @endpoint PUT /organization/departments/:id/rename // @controller Departments.Rename export async function adminRenameDepartment( id: string, data: DepartmentsRenameReqVO ): Promise { return getDefaultClient().put(`/organization/departments/${id}/rename`, data) } // @endpoint POST /organization/invite/resend // @controller Departments.ResendInvite export async function adminResendInvite( data: DepartmentsResendInviteReqVO ): Promise { return getDefaultClient().post('/organization/invite/resend', data) } // @endpoint POST /organization/service-account/renew-token // @controller Departments.ServiceAccountRenewToken export async function adminRenewServiceAccountToken( data: DepartmentsServiceAccountRenewTokenReqVO ): Promise { return getDefaultClient().post('/organization/service-account/renew-token', data) } // @endpoint PUT /organization/department-policy/:id // @controller Departments.SetDeptPolicy export async function adminSetDepartmentPolicy( id: string, data: DepartmentsSetDeptPolicyReqVO ): Promise { return getDefaultClient().put(`/organization/department-policy/${id}`, data) } // @endpoint PUT /organization/users/:tenant_user_id // @controller Departments.UpdateUser export async function adminUpdateStaffUser( tenantUserId: string, data: DepartmentsUpdateUserReqVO ): Promise { return getDefaultClient().put(`/organization/users/${tenantUserId}`, data) }