erp-platform/ui/src/services/identity.service.ts
2025-08-12 11:39:06 +03:00

88 lines
2.5 KiB
TypeScript

import { ListResultDto } from '../proxy'
import {
GetPermissionListResultDto,
IdentityRoleDto,
IdentityUserDto,
PermissionDefinitionRecord,
UpdatePermissionsDto,
UserClaimModel,
UserInfoViewModel,
} from '../proxy/admin'
import { AuditLogDto } from '../proxy/auditLog/audit-log'
import apiService from './api.service'
export const getRoles = (skipCount = 0, maxResultCount = 10) =>
apiService.fetchData<ListResultDto<IdentityRoleDto>>({
method: 'GET',
url: `/api/identity/roles?skipCount=${skipCount}&maxResultCount=${maxResultCount}`,
})
export const getUsers = (skipCount = 0, maxResultCount = 10) =>
apiService.fetchData<ListResultDto<IdentityUserDto>>({
method: 'GET',
url: `/api/identity/users?skipCount=${skipCount}&maxResultCount=${maxResultCount}`,
})
export const getUserDetail = (userId: string) =>
apiService.fetchData<UserInfoViewModel>({
method: 'GET',
url: `/api/app/platform-identity/by-id/${userId}`,
})
export const putUserDetail = (input: UserInfoViewModel) =>
apiService.fetchData({
method: 'PUT',
url: `/api/app/platform-identity/user`,
data: input,
})
export const putUserLookout = (input: UserInfoViewModel) =>
apiService.fetchData({
method: 'PUT',
url: `/api/app/platform-identity/lockout`,
data: input,
})
export const getPermissions = (providerName: string, providerKey?: string) =>
apiService.fetchData<GetPermissionListResultDto>({
method: 'GET',
url: `/api/permission-management/permissions?providerName=${providerName}${
providerKey ? `&providerKey=${providerKey}` : ''
}`,
})
export const getPermissionsList = () =>
apiService.fetchData<PermissionDefinitionRecord[]>({
method: 'GET',
url: `/api/app/platform-identity/permission-list`,
})
export const updatePermissions = (
providerName: string,
providerKey: string,
input: UpdatePermissionsDto,
) =>
apiService.fetchData({
method: 'PUT',
url: `/api/permission-management/permissions?providerName=${providerName}&providerKey=${providerKey}`,
data: input,
})
export const getAuditLogs = (id: string) =>
apiService.fetchData<AuditLogDto>({
method: 'GET',
url: `/api/app/audit-log/${id}`,
})
export const postClaimUser = (input: UserClaimModel) =>
apiService.fetchData({
method: 'POST',
url: `/api/app/platform-identity/claim-user`,
data: input,
})
export const deleteClaimUser = (id: string, userId?: string) =>
apiService.fetchData({
method: 'DELETE',
url: `/api/app/platform-identity/${id}/claim-user/${userId}`,
})