Files
photo-live/apps/admin/src/api/adminUsers.ts
T
2026-09-20 20:26:53 +08:00

45 lines
2.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 账号治理接口(对齐 @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` })
}