feat: Rock 回库支持上游校验与强制释放,新增 Token 状态历史
This commit is contained in:
@@ -785,6 +785,28 @@ export interface RockTokenRestoreResult {
|
||||
skipped_items: RockTokenRestoreSkipItem[];
|
||||
}
|
||||
|
||||
export interface RockReleaseCheckResult {
|
||||
can_release: boolean
|
||||
upstream_status: string
|
||||
role_name?: string
|
||||
role_id?: string
|
||||
message: string
|
||||
}
|
||||
|
||||
export interface RockTokenStatusLog {
|
||||
id: number
|
||||
token_id: number
|
||||
upstream_token_id: string
|
||||
event_type: string
|
||||
from_status: string
|
||||
to_status: string
|
||||
source: string
|
||||
reason: string
|
||||
forced: boolean
|
||||
actor_user_id?: number | null
|
||||
created_at: string
|
||||
}
|
||||
|
||||
export interface RockStaleRefreshResult {
|
||||
scanned: number;
|
||||
fixed: number;
|
||||
@@ -921,10 +943,21 @@ export const rockApi = {
|
||||
.then((r) => r.data.data as { message?: string; status?: string }),
|
||||
resetToken: (id: number) =>
|
||||
request.post(`/platform/rock/tokens/${id}/reset`).then((r) => r.data.data),
|
||||
releaseToken: (id: number) =>
|
||||
checkReleaseToken: (id: number) =>
|
||||
request
|
||||
.post(`/platform/rock/tokens/${id}/release`)
|
||||
.then((r) => r.data.data),
|
||||
.post(`/platform/rock/tokens/${id}/release-check`)
|
||||
.then((r) => r.data.data as RockReleaseCheckResult),
|
||||
releaseToken: (
|
||||
id: number,
|
||||
data?: { force?: boolean; force_confirm_text?: string },
|
||||
) =>
|
||||
request
|
||||
.post(`/platform/rock/tokens/${id}/release`, data ?? {})
|
||||
.then((r) => r.data.data as { message: string }),
|
||||
listTokenStatusLogs: (id: number) =>
|
||||
request
|
||||
.get(`/platform/rock/tokens/${id}/status-logs`)
|
||||
.then((r) => r.data.data as { list: RockTokenStatusLog[] }),
|
||||
refreshTokenBinding: (id: number) =>
|
||||
request
|
||||
.post(`/platform/rock/tokens/${id}/refresh-binding`)
|
||||
|
||||
Reference in New Issue
Block a user