import { IdentityRoleDto, IdentityUserDto } from '@/proxy/admin/models' import { ListResultDto, PagedResultDto } from '../proxy' import { CreateUpdateOrganizationUnitDto, OrganizationUnitDto, } from '../proxy/admin/organization-unit/models' import apiService from './api.service' export const ouGet = (skipCount = 0, maxResultCount = 10) => apiService.fetchData>({ method: 'GET', url: `/api/app/platform-ou?skipCount=${skipCount}&maxResultCount=${maxResultCount}`, }) export const ouGetAll = () => apiService.fetchData>({ method: 'GET', url: `/api/app/platform-ou/all`, }) export const ouGetById = (id: string) => apiService.fetchData({ method: 'GET', url: `/api/app/platform-ou/${id}`, }) export const ouPost = (data: CreateUpdateOrganizationUnitDto) => apiService.fetchData({ method: 'POST', url: `/api/app/platform-ou`, data: { ...data }, }) export const ouPut = (data: CreateUpdateOrganizationUnitDto) => apiService.fetchData({ method: 'PUT', url: `/api/app/platform-ou/${data.id}`, data, }) export const ouDelete = (id: string) => apiService.fetchData({ method: 'DELETE', url: `/api/app/platform-ou/${id}`, }) export const ouPutMove = (id: string, newParentId?: string) => apiService.fetchData({ method: 'PUT', url: `/api/app/platform-ou/${id}/move`, params: { newParent: newParentId }, }) export const ouGetMembers = (id: string) => apiService.fetchData>({ method: 'GET', url: `/api/app/platform-ou/${id}/members`, }) export const ouPutMembers = (id: string, userIds: string[]) => apiService.fetchData({ method: 'PUT', url: `/api/app/platform-ou/${id}/members`, data: userIds, }) export const ouDeleteMembers = (id: string, userId: string) => apiService.fetchData({ method: 'DELETE', url: `/api/app/platform-ou/${id}/members/${userId}`, }) export const ouMoveAllUsers = (id: string, newId: string) => apiService.fetchData({ method: 'PUT', url: `/api/app/platform-ou/${id}/move-all-users/${newId}`, }) export const ouGetRoles = (id: string) => apiService.fetchData>({ method: 'GET', url: `/api/app/platform-ou/${id}/roles`, }) export const ouPutRoles = (id: string, userIds: string[]) => apiService.fetchData({ method: 'PUT', url: `/api/app/platform-ou/${id}/roles`, data: userIds, }) export const ouDeleteRoles = (id: string, roleId: string) => apiService.fetchData({ method: 'DELETE', url: `/api/app/platform-ou/${id}/roles/${roleId}`, })