dbaas
Version:
Database as a service. Expose db to REST and GraphQL.
20 lines (19 loc) • 1.17 kB
TypeScript
import { ItemsService } from "directus";
import type { AbstractServiceOptions } from "directus/types/services";
import type { Request } from "express";
import type Models from "../models/index.js";
import type ExtensionContext from "../types/ExtensionContext.js";
import type { ActionHookContext } from "../types/RegisterHook/ActionHookHandler.js";
import type { FilterHookContext } from "../types/RegisterHook/FilterHookHandler.js";
/** Services instance created per request or filter/action context */
declare abstract class ServicesBase {
#private;
constructor(extensionContext: ExtensionContext, requestOrHookContext: Request | (FilterHookContext | ActionHookContext), options?: Partial<AbstractServiceOptions>);
get extensionContext(): ExtensionContext;
get requestOrHookContext(): Request | (FilterHookContext | ActionHookContext);
get options(): Partial<AbstractServiceOptions> | undefined;
loginAsAdmin(): void;
/** Get and cache the ItemsService scoped by request or hook context */
getItemsService<TCollection extends keyof Models>(collection: TCollection): ItemsService<Models[TCollection]>;
}
export default ServicesBase;