UNPKG

@decaf-ts/db-decorators

Version:

Agnostic database decorators and repository

24 lines (23 loc) 1.31 kB
import { OperationKeys } from "../operations"; import { Context } from "../repository"; import { RepositoryFlags } from "../repository/types"; /** * @description Interface for context-aware operations * @summary Provides context management for database operations * @template F - Type extending RepositoryFlags, defaults to RepositoryFlags * @template C - Type extending Context<F>, defaults to Context<F> * @interface Contextual * @memberOf module:db-decorators */ export interface Contextual<F extends RepositoryFlags = RepositoryFlags, C extends Context<F> = Context<F>> { /** * @description Creates a context for a specific operation * @summary Generates an operation-specific context with custom flags * @param {(OperationKeys.CREATE|OperationKeys.READ|OperationKeys.UPDATE|OperationKeys.DELETE)} operation - The operation type * @template F - Type extending RepositoryFlags, defaults to RepositoryFlags * @param {Partial<F>} overrides - Custom flag overrides for this context * @param {...any[]} args - Additional arguments * @return {Promise<C>} Promise resolving to the created context */ context(operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE, overrides: Partial<F>, ...args: any[]): Promise<C>; }