@itrocks/mysql-maintainer
Version:
Reactively maintains database structure by updating schema and retrying on MySQL errors
25 lines (24 loc) • 1.52 kB
TypeScript
import { KeyOf } from '@itrocks/class-type';
import { ObjectOrType } from '@itrocks/class-type';
import { Type } from '@itrocks/class-type';
import { Mysql as M } from '@itrocks/mysql';
import { Entity } from '@itrocks/storage';
import { Identifier } from '@itrocks/storage';
import { SearchType } from '@itrocks/storage';
import { ContextualConnection } from './contextual-connection';
export declare class Mysql extends M {
connection?: ContextualConnection;
connect(): Promise<ContextualConnection>;
deleteId<T extends object>(type: ObjectOrType<T>, id: any, property?: KeyOf<Entity<T>>): Promise<void>;
deleteRelatedId<T extends Entity>(object: T, property: KeyOf<T>, id: Identifier): Promise<void>;
insert<T extends object>(object: T): Promise<Entity<T>>;
insertRelatedId<T extends Entity>(object: T, property: KeyOf<T>, id: Identifier): Promise<void>;
read<T extends object>(type: Type<T>, id: Identifier): Promise<Entity<T>>;
readCollection<T extends object, PT extends object>(object: Entity<T>, property: KeyOf<T>, type?: Type<PT>): Promise<Awaited<PT & {
id: Identifier;
}>[]>;
readCollectionIds<T extends object, PT extends object>(object: Entity<T>, property: KeyOf<T>, type?: Type<PT>): Promise<Identifier[]>;
readMultiple<T extends object>(type: Type<T>, ids: Identifier[]): Promise<Entity<T>[]>;
search<T extends object>(type: Type<T>, search?: SearchType<T>): Promise<Entity<T>[]>;
update<T extends object>(object: Entity<T>): Promise<Entity<T>>;
}