feat: fix raw results to really show the raw DB results
This commit is contained in:
@@ -155,6 +155,16 @@ export interface PlatformService {
|
||||
*/
|
||||
dbGetOneRow(sql: string, params?: unknown[]): Promise<unknown[] | undefined>;
|
||||
|
||||
/**
|
||||
* Not recommended except for debugging.
|
||||
* Return the raw result of a SQL query.
|
||||
*
|
||||
* @param sql - The SQL query to execute
|
||||
* @param params - The parameters to pass to the query
|
||||
* @returns Promise resolving to the raw query result, or undefined if no results
|
||||
*/
|
||||
dbRawQuery(sql: string, params?: unknown[]): Promise<unknown | undefined>;
|
||||
|
||||
// Database utility methods
|
||||
/**
|
||||
* Generates an INSERT SQL statement for a given model and table.
|
||||
|
||||
@@ -24,7 +24,7 @@ import {
|
||||
import { logger } from "../../utils/logger";
|
||||
|
||||
interface QueuedOperation {
|
||||
type: "run" | "query";
|
||||
type: "run" | "query" | "rawQuery";
|
||||
sql: string;
|
||||
params: unknown[];
|
||||
resolve: (value: unknown) => void;
|
||||
@@ -159,6 +159,14 @@ export class CapacitorPlatformService implements PlatformService {
|
||||
};
|
||||
break;
|
||||
}
|
||||
case "rawQuery": {
|
||||
const queryResult = await this.db.query(
|
||||
operation.sql,
|
||||
operation.params,
|
||||
);
|
||||
result = queryResult;
|
||||
break;
|
||||
}
|
||||
}
|
||||
operation.resolve(result);
|
||||
} catch (error) {
|
||||
@@ -1270,6 +1278,14 @@ export class CapacitorPlatformService implements PlatformService {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see PlatformService.dbRawQuery
|
||||
*/
|
||||
async dbRawQuery(sql: string, params?: unknown[]): Promise<unknown> {
|
||||
await this.waitForInitialization();
|
||||
return this.queueOperation("rawQuery", sql, params || []);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if running on Capacitor platform.
|
||||
* @returns true, as this is the Capacitor implementation
|
||||
|
||||
@@ -636,6 +636,17 @@ export class WebPlatformService implements PlatformService {
|
||||
} as GetOneRowRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see PlatformService.dbRawQuery
|
||||
*/
|
||||
async dbRawQuery(
|
||||
sql: string,
|
||||
params?: unknown[],
|
||||
): Promise<unknown | undefined> {
|
||||
// This class doesn't post-process the result, so we can just use it.
|
||||
return this.dbQuery(sql, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rotates the camera between front and back cameras.
|
||||
* @returns Promise that resolves when the camera is rotated
|
||||
|
||||
Reference in New Issue
Block a user