UNPKG

pocketbase-tools

Version:

A TypeScript toolkit for PocketBase, featuring a standard service/action/types layered structure. It provides interfaces and implementations for common business logic such as users, products, company profiles, and file utilities, making it suitable for se

42 lines (41 loc) 1.24 kB
import { IBaseService } from "."; export interface IUserService extends IBaseService { authenticate(email: string, password: string): Promise<any>; requestPasswordReset(email: string): Promise<void>; confirmPasswordReset(token: string, password: string, passwordConfirm: string): Promise<void>; refreshToken(): Promise<any>; getProfile(): Promise<any>; } export interface User { collectionId?: string; collectionName?: string; id?: string; email: string; name?: string; emailVisibility?: boolean; avatar?: string; verified?: boolean; created?: string; updated?: string; } export type UserCreate = User & { password: string; passwordConfirm: string; }; export type UserUpdate = Partial<User> & { oldPassword?: string; password?: string; passwordConfirm?: string; }; export interface UserAction { addUser(user: Partial<UserCreate>): Promise<User | null>; updateUser(id: string, updatedFields: Partial<UserUpdate>): Promise<User | null>; deleteUser(id: string): Promise<User | null>; } export interface UserService { getAllUsers(options?: { filter?: string; sort?: string; expand?: string[]; }): Promise<User[] | null>; }