upload+accessKey

This commit is contained in:
ryan
2026-06-07 21:21:06 +08:00
parent 360a26f109
commit 70a13dc107
35 changed files with 4763 additions and 1321 deletions
+1
View File
@@ -6,3 +6,4 @@
*/
export { UserService } from './user.service';
export type { AccessToken, CreateTokenResponse } from './user.service';
+47 -2
View File
@@ -1,4 +1,19 @@
import { BaseService } from '../core/base.service';
import {BaseService} from '../core/base.service';
export interface AccessToken {
id: number;
user_id: number;
name: string;
masked_token: string;
last_used_at?: string;
created_at: string;
updated_at: string;
}
export interface CreateTokenResponse {
token: string;
record: AccessToken;
}
/**
* 用户服务
@@ -6,5 +21,35 @@ import { BaseService } from '../core/base.service';
*/
export class UserService extends BaseService {
protected static readonly basePath = '/api/v1/user';
}
/**
* 获取当前用户的 AccessToken 列表
*/
static async getAccessTokens(): Promise<AccessToken[]> {
return this.get<AccessToken[]>('/access-tokens');
}
/**
* 创建一个新的 AccessToken
* @param name - 令牌名称
*/
static async createAccessToken(name: string): Promise<CreateTokenResponse> {
return this.post<CreateTokenResponse>('/access-tokens', { name });
}
/**
* 删除一个 AccessToken
* @param id - 令牌 ID
*/
static async deleteAccessToken(id: number): Promise<string> {
return this.delete<string>(`/access-tokens/${id}`);
}
/**
* 轮换一个 AccessToken 密钥
* @param id - 令牌 ID
*/
static async rotateAccessToken(id: number): Promise<CreateTokenResponse> {
return this.post<CreateTokenResponse>(`/access-tokens/${id}/rotate`);
}
}