Files
photo-live/apps/admin/src/api/adminUsers.ts
T

45 lines
2.0 KiB
TypeScript
Raw Normal View History

/**
* 账号治理接口(对齐 @photo/contracts tags [admin]:listAdminUsers 管理列表
* 模式 / updateAdminUser / resetAdminUserPassword / activateAdminUser /
* deactivateAdminUser)
*
* - 管理列表不带 accountPrefix(带了即切到邀请前缀查询模式,见 api/albums
* fetchLookupUsers):全量用户 + query/status 过滤 + createdAt+ID 倒序游标
* - PATCH 部分语义(role/localLocked/displayName;sourceStatus 只读展示)
* - 自我保护在服务层(自改角色/自锁 400 VALIDATION_FAILED,http 层已本地化)
* - activate 仅管 credentialStatus 维度(pending→active,初始凭据经
* reset-password 出具);deactivate = localLocked=true + 撤全部会话
*/
import request from '@/utils/http'
/** 管理列表(全量用户 + query/status 过滤 + 游标分页) */
export function fetchAdminUsers(params: Api.AdminUser.ListParams) {
return request.get<Api.AdminUser.ListResponse>({ url: '/v1/admin/users', params })
}
/** 更新用户治理属性(部分更新;服务端幂等 no-op 不落审计) */
export function fetchUpdateAdminUser(userId: string, data: Api.AdminUser.UpdatePayload) {
return request.patch<Api.AdminUser.Item>({ url: `/v1/admin/users/${userId}`, data })
}
/** 管理员重置用户密码(指定或服务端生成;撤销目标全部既有会话) */
export function fetchResetAdminUserPassword(
userId: string,
data: Api.AdminUser.ResetPasswordPayload
) {
return request.post<Api.AdminUser.ResetPasswordResponse>({
url: `/v1/admin/users/${userId}/reset-password`,
data
})
}
/** 激活待激活用户(credentialStatus pending→active,幂等;不出凭据) */
export function fetchActivateAdminUser(userId: string) {
return request.post<Api.AdminUser.Item>({ url: `/v1/admin/users/${userId}/activate` })
}
/** 停用用户(localLocked=true + 撤销全部会话,幂等;上游状态不动) */
export function fetchDeactivateAdminUser(userId: string) {
return request.post<Api.AdminUser.Item>({ url: `/v1/admin/users/${userId}/deactivate` })
}