2022-03-24 09:50:40 +00:00
|
|
|
import { Field, RawValue } from '../../schemas/types';
|
2022-03-25 10:12:39 +00:00
|
|
|
import { DatabaseManager } from './manager';
|
2022-03-24 09:50:40 +00:00
|
|
|
|
2022-03-23 06:16:13 +00:00
|
|
|
export type QueryFilter = Record<string, string | string[]>;
|
|
|
|
|
|
|
|
export interface GetQueryBuilderOptions {
|
2022-03-25 10:12:39 +00:00
|
|
|
offset?: number;
|
|
|
|
limit?: number;
|
|
|
|
groupBy?: string;
|
|
|
|
orderBy?: string;
|
|
|
|
order?: 'desc' | 'asc';
|
2022-03-23 06:16:13 +00:00
|
|
|
}
|
2022-03-24 09:50:40 +00:00
|
|
|
|
|
|
|
export interface GetAllOptions {
|
2022-03-25 10:12:39 +00:00
|
|
|
schemaName: string;
|
2022-03-24 09:50:40 +00:00
|
|
|
fields?: string[];
|
2022-03-25 10:12:39 +00:00
|
|
|
filters?: QueryFilter;
|
2022-03-24 09:50:40 +00:00
|
|
|
start?: number;
|
|
|
|
limit?: number;
|
|
|
|
groupBy?: string;
|
|
|
|
orderBy?: string;
|
|
|
|
order?: 'asc' | 'desc';
|
|
|
|
}
|
|
|
|
|
|
|
|
export type ColumnDiff = { added: Field[]; removed: string[] };
|
|
|
|
export type FieldValueMap = Record<
|
|
|
|
string,
|
|
|
|
RawValue | undefined | FieldValueMap[]
|
|
|
|
>;
|
2022-03-24 13:13:59 +00:00
|
|
|
|
|
|
|
export interface Patch {
|
|
|
|
name: string;
|
|
|
|
version: string;
|
|
|
|
patch: {
|
2022-03-25 10:12:39 +00:00
|
|
|
execute: (dm: DatabaseManager) => Promise<void>;
|
2022-03-24 13:13:59 +00:00
|
|
|
beforeMigrate?: boolean;
|
|
|
|
};
|
|
|
|
}
|
2022-03-25 10:12:39 +00:00
|
|
|
|
|
|
|
export type KnexColumnType =
|
|
|
|
| 'text'
|
|
|
|
| 'integer'
|
|
|
|
| 'float'
|
|
|
|
| 'boolean'
|
|
|
|
| 'date'
|
|
|
|
| 'datetime'
|
|
|
|
| 'time'
|
|
|
|
| 'binary';
|