2023-01-23 21:19:18 +01:00
|
|
|
import { Attribute, Table } from "./db";
|
|
|
|
import { Aggregation, Joins, Modifier } from "./dbStructure";
|
|
|
|
import { selectQuery } from "./query";
|
|
|
|
|
|
|
|
export type primaryData = string | number | boolean | null;
|
|
|
|
export type allModifierInput = primaryData | Modifier | selectQuery | Attribute | Aggregation;
|
|
|
|
|
|
|
|
export type selectElements = primaryData | Attribute | Aggregation | selectQuery
|
|
|
|
export type selectFromElements = Table | Joins | null;
|
|
|
|
|
|
|
|
export type serializeReturn = [string, primaryData[]];
|
|
|
|
|
2023-01-24 10:40:16 +01:00
|
|
|
export type attributeSettings = {
|
|
|
|
unique?: boolean,
|
2023-01-24 20:34:03 +01:00
|
|
|
autoIncrement?: boolean,
|
2023-01-24 10:40:16 +01:00
|
|
|
default?: primaryData,
|
|
|
|
notNull?: boolean
|
|
|
|
primaryKey?: boolean,
|
|
|
|
foreginKey?: {
|
|
|
|
link: Attribute,
|
|
|
|
onDelete?: onAction,
|
|
|
|
onUpdate?: onAction
|
|
|
|
}
|
|
|
|
};
|
2023-01-23 21:19:18 +01:00
|
|
|
|
2023-01-23 22:10:33 +01:00
|
|
|
export enum onAction {
|
2023-01-23 21:19:18 +01:00
|
|
|
cascade,
|
|
|
|
noAction,
|
|
|
|
setNull,
|
|
|
|
setDefault
|
|
|
|
}
|