mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-08 00:26:37 +08:00
wavelet init
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* 用户服务模块
|
||||
*
|
||||
* @description
|
||||
* 提供用户个人设置相关的功能
|
||||
*/
|
||||
|
||||
export { UserService } from './user.service';
|
||||
export type { AccessToken, CreateTokenResponse } from './user.service';
|
||||
@@ -0,0 +1,2 @@
|
||||
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
import {BaseService} from '../core/base.service';
|
||||
|
||||
export interface AccessToken {
|
||||
id: number;
|
||||
user_id: number;
|
||||
name: string;
|
||||
masked_token: string;
|
||||
is_admin: boolean;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
}
|
||||
|
||||
export interface CreateTokenResponse {
|
||||
token: string;
|
||||
record: AccessToken;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户服务
|
||||
* 处理用户个人设置相关的 API 请求
|
||||
*/
|
||||
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 - 令牌名称
|
||||
* @param isAdmin - 是否赋予管理员权限(默认 false)
|
||||
*/
|
||||
static async createAccessToken(name: string, isAdmin = false): Promise<CreateTokenResponse> {
|
||||
return this.post<CreateTokenResponse>('/access-tokens', { name, is_admin: isAdmin });
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除一个 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`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user