UNPKG

@kevisual/noco

Version:

一个轻量级的 NocoDB API SDK,支持表记录操作和 Base 管理功能。

50 lines (47 loc) 1.46 kB
import { Query, ResponseList } from '../api.ts'; type Options = { query: Query; }; export class Users { query?: Query; constructor(options?: Options) { this.query = options?.query; } async listUsers(baseId?: string): Promise<ResponseList<UserItem>> { // return this.query.makeRequest(`/api/v2/meta/bases/${baseId}/users`, { // method: 'GET', // }); return this.query.makeRequest(`api/v1/db/meta/projects/${baseId}/users`, { method: 'GET', }); } async createUser(baseId: string, data: Partial<UserItem>): Promise<UserItem> { // return this.query.makeRequest(`/api/v2/meta/bases/${baseId}/users`, { return this.query.makeRequest(`/api/v1/db/meta/projects/${baseId}/users`, { method: 'POST', data, }); } async deleteUser(userId: string): Promise<{ code: number; message: string }> { // return this.query.makeRequest(`/api/v2/meta/bases/${baseId}/users/${userId}`, { return this.query.makeRequest(`/api/v1/users/${userId}`, { method: 'DELETE', headers: { 'xc-gui': 'true' } }); } } const userRoles = ['no-access', 'commenter', 'editor', 'guest', 'owner', 'viewer', 'creator'] as const; type UserRole = typeof userRoles[number]; type UserItem = { email: string; display_name: string; invite_token: string; id: string; meta?: any; main_roles?: string;// org-level-creator,super base_id?: string; roles: UserRole; created_at: string; };