Files
crowd-funder-from-jason/src/interfaces/database.ts
Matthew Raymer 72b9d31da9 refactor: add strict typing to core database methods in PlatformServiceMixin
- Replace all `any` types in $db, $exec, $one, $query, $first, and $contacts with proper interfaces:
  - Use QueryExecResult and DatabaseExecResult for raw database operations
  - Use Contact[] for contact queries
  - Add generics for mapped query results
- Update PlatformService and database interfaces to match new types
- Remove unused type imports and fix linter errors
- Reduces risk of runtime errors and improves type safety for all database access
2025-07-03 10:14:35 +00:00

28 lines
732 B
TypeScript

export type SqlValue = string | number | null | Uint8Array;
export interface QueryExecResult {
columns: Array<string>;
values: Array<Array<SqlValue>>;
}
export interface DatabaseExecResult {
changes: number;
lastId?: number;
}
export interface DatabaseService {
initialize(): Promise<void>;
query(sql: string, params?: unknown[]): Promise<QueryExecResult[]>;
run(sql: string, params?: unknown[]): Promise<DatabaseExecResult>;
}
/**
* Generic database result type for mapped query results
*/
export type DatabaseResult<T = Record<string, unknown>> = T;
/**
* Database query result that can be either a single result or an array
*/
export type DatabaseQueryResult<T = Record<string, unknown>> = T | T[] | null;