Files
TakeoutSaaS.AdminUI/src/api/tenant-role.ts
2026-01-29 04:21:09 +00:00

99 lines
2.3 KiB
TypeScript

import request from '@/utils/http'
/**
* 获取租户角色列表
* @param tenantId 租户ID
* @param params 查询参数
*/
export function fetchGetTenantRoles(
tenantId: number | string,
params?: Api.TenantRole.RoleQueryParams
) {
return request.get<Api.TenantRole.RoleDtoPagedResult>({
url: `/api/admin/v1/tenants/${tenantId}/roles`,
params
})
}
/**
* 获取租户角色详情
* @param tenantId 租户ID
* @param roleId 角色ID
*/
export function fetchGetTenantRoleDetail(tenantId: number | string, roleId: number | string) {
return request.get<Api.TenantRole.RoleDto>({
url: `/api/admin/v1/tenants/${tenantId}/roles/${roleId}`
})
}
/**
* 创建租户角色
* @param tenantId 租户ID
* @param data 创建参数
*/
export function fetchCreateTenantRole(
tenantId: number | string,
data: Api.TenantRole.CreateRoleCommand
) {
return request.post<Api.TenantRole.RoleDto>({
url: `/api/admin/v1/tenants/${tenantId}/roles`,
data
})
}
/**
* 更新租户角色
* @param tenantId 租户ID
* @param roleId 角色ID
* @param data 更新参数
*/
export function fetchUpdateTenantRole(
tenantId: number | string,
roleId: number | string,
data: Api.TenantRole.UpdateRoleCommand
) {
return request.put<Api.TenantRole.RoleDto>({
url: `/api/admin/v1/tenants/${tenantId}/roles/${roleId}`,
data
})
}
/**
* 删除租户角色
* @param tenantId 租户ID
* @param roleId 角色ID
*/
export function fetchDeleteTenantRole(tenantId: number | string, roleId: number | string) {
return request.del<boolean>({
url: `/api/admin/v1/tenants/${tenantId}/roles/${roleId}`
})
}
/**
* 获取租户角色权限
* @param tenantId 租户ID
* @param roleId 角色ID
*/
export function fetchGetTenantRolePermissions(tenantId: number | string, roleId: number | string) {
return request.get<string[]>({
url: `/api/admin/v1/tenants/${tenantId}/roles/${roleId}/permissions`
})
}
/**
* 更新租户角色权限
* @param tenantId 租户ID
* @param roleId 角色ID
* @param permissions 权限代码列表
*/
export function fetchUpdateTenantRolePermissions(
tenantId: number | string,
roleId: number | string,
permissionIds: string[]
) {
return request.put<boolean>({
url: `/api/admin/v1/tenants/${tenantId}/roles/${roleId}/permissions`,
data: { permissionIds }
})
}