43 lines
1.6 KiB
TypeScript
43 lines
1.6 KiB
TypeScript
export declare function initDB(): Promise<void>;
|
|
export interface AuthUser {
|
|
id: string;
|
|
username: string;
|
|
passwordHash: string;
|
|
displayName: string;
|
|
createdAt: number;
|
|
}
|
|
export declare function getUserByUsername(username: string): Promise<AuthUser | null>;
|
|
export declare function getUserById(id: string): Promise<AuthUser | null>;
|
|
export declare function createUser(user: AuthUser): Promise<void>;
|
|
export interface ServerInfo {
|
|
id: string;
|
|
name: string;
|
|
description?: string;
|
|
ownerId: string;
|
|
ownerPublicKey: string;
|
|
isPrivate: boolean;
|
|
maxUsers: number;
|
|
currentUsers: number;
|
|
tags: string[];
|
|
createdAt: number;
|
|
lastSeen: number;
|
|
}
|
|
export declare function getAllPublicServers(): Promise<ServerInfo[]>;
|
|
export declare function getServerById(id: string): Promise<ServerInfo | null>;
|
|
export declare function upsertServer(server: ServerInfo): Promise<void>;
|
|
export declare function deleteServer(id: string): Promise<void>;
|
|
export interface JoinRequest {
|
|
id: string;
|
|
serverId: string;
|
|
userId: string;
|
|
userPublicKey: string;
|
|
displayName: string;
|
|
status: 'pending' | 'approved' | 'rejected';
|
|
createdAt: number;
|
|
}
|
|
export declare function createJoinRequest(req: JoinRequest): Promise<void>;
|
|
export declare function getJoinRequestById(id: string): Promise<JoinRequest | null>;
|
|
export declare function getPendingRequestsForServer(serverId: string): Promise<JoinRequest[]>;
|
|
export declare function updateJoinRequestStatus(id: string, status: JoinRequest['status']): Promise<void>;
|
|
export declare function deleteStaleJoinRequests(maxAgeMs: number): Promise<void>;
|
|
//# sourceMappingURL=db.d.ts.map
|