UNPKG

@veloze/restbase

Version:
78 lines (77 loc) 2.28 kB
/** * @typedef {import('../types.js').Index} Index */ /** * @typedef {object} SqlInitOptions * @property {import('sequelize').Sequelize} client * @property {Index[]} [indexes] */ /** * @typedef {import('./Adapter.js').AdapterOptions} AdapterOptions */ /** * @typedef {object} SqlAdapterOptionsExt * @property {string} database database name */ /** * @typedef {AdapterOptions & SqlAdapterOptionsExt & SqlInitOptions} SqlAdapterOptions */ /** * @see https://sequelize.org/docs/v6/ */ export class SqlAdapter extends Adapter { /** * @param {SqlAdapterOptions} options */ constructor(options: SqlAdapterOptions); _indexes: import("../types.js").Index[] | undefined; adapterType: string; /** * @param {SqlInitOptions} options */ init(options: SqlInitOptions): Promise<void>; create(doc: any): Promise<any>; update(doc: any): Promise<any>; findById(id: any): Promise<any>; findMany(filter: any, findOptions: any): Promise<{ data: any[]; }>; deleteById(id: any): Promise<{ deletedCount: any; }>; deleteDeleted(date: any): Promise<{ deletedCount: any; }>; } export namespace SqlAdapter { export { schemaToModel }; export { convertFilterRule }; export { convertFindOptions }; } export type Schema = import("../Schema.js").Schema; export type Index = import("../types.js").Index; export type SqlInitOptions = { client: import("sequelize").Sequelize; indexes?: import("../types.js").Index[] | undefined; }; export type AdapterOptions = import("./Adapter.js").AdapterOptions; export type SqlAdapterOptionsExt = { /** * database name */ database: string; }; export type SqlAdapterOptions = AdapterOptions & SqlAdapterOptionsExt & SqlInitOptions; import { Adapter } from './Adapter.js'; /** * convert json schema to sequelize table schema * @param {Schema|object} schema * @returns {object} Sequelize model */ declare function schemaToModel(schema: Schema | object): object; /** * @see https://sequelize.org/docs/v6/core-concepts/model-querying-basics/ */ declare function convertFilterRule(filterRule: any): {}; declare function convertFindOptions(findOptions: any): { offset: number; limit: number; order: string[][]; }; export {};