arcstrum-sdk
Version:
Arcstrum SDK for authentication and database management
46 lines (45 loc) • 1.8 kB
TypeScript
interface DBClientOptions {
userId: string;
token?: string;
apiBase?: string;
}
export declare class ArcstrumDBClient {
private userId;
private token?;
private apiBase;
query(db_file: string, sql: string): Promise<any[]>;
constructor({ userId, token, apiBase }: DBClientOptions);
private headers;
private post;
private get;
listDatabases(): Promise<string[]>;
createDatabase(db_file: string): Promise<void>;
deleteDatabase(db_file: string): Promise<void>;
renameDatabase(old_name: string, new_name: string): Promise<void>;
getTables(db_file: string): Promise<string[]>;
queryTable(db_file: string, table: string): Promise<any[]>;
insertRow(db_file: string, table: string, row: Record<string, any>): Promise<void>;
deleteRow(db_file: string, table: string, row: Record<string, any>): Promise<void>;
execSql(db_file: string, sql: string): Promise<void>;
validateSql(sql: string): Promise<{
type: string;
valid: boolean;
}>;
getUsageAnalytics(): Promise<Record<string, Record<string, number>>>;
getTableSchema(db_file: string, table: string): Promise<any[]>;
getDbStats(db_file: string): Promise<{
size_bytes: number;
last_modified: number;
}>;
getPreviewRows(db_file: string, table: string, limit?: number): Promise<any[]>;
getColumnInfo(db_file: string, table: string): Promise<any[]>;
searchTable(db_file: string, table: string, filters: {
column: string;
op: string;
value: string;
}[]): Promise<any[]>;
getDbMetadata(db_file: string): Promise<Record<string, any>>;
updateDbMetadata(db_file: string, metadata: Record<string, any>): Promise<void>;
deleteDbMetadata(db_file: string): Promise<void>;
}
export {};