UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

70 lines (69 loc) 3.3 kB
import { type AbstractMixable, type AnyRecord, type Model, type PrimaryKey, type ResourceActionEvent, type ResourceActionEventForAction, type ResourceStoreActionEvent, type ResourceUpdateActionEvent } from '../Contracts'; import { Fluent } from '../Models'; import type { Repository } from '../Repositories'; declare const _default: <T extends AbstractMixable<Repository>>(Parent: T) => (abstract new (...args: import("../Contracts").Args) => { /** * Store multiple model's into the storage. */ insert(models: Model[]): Promise<Model[]>; /** * Fill event model for successful resource store. */ forResourceStore(params: ResourceStoreActionEvent): Fluent; /** * Fill event model for successful resource update. */ forResourceUpdate(params: ResourceUpdateActionEvent): Fluent; /** * Fill event model for successful resource destroy. */ forResourceDelete(params: ResourceActionEvent): Fluent; /** * Fill event model for successful resource restore. */ forResourceRestore(params: ResourceActionEvent): Fluent; /** * Fill event model for successful action ran. */ forActionRan(params: ResourceActionEventForAction): Fluent; /** * Get the default attributes for creating a new action event. */ defaultAttributes(params: ResourceActionEvent): AnyRecord; /** * Delete resource events for ever. */ flush(resourceName: string, key: PrimaryKey): Promise<Model[]>; /** * Limit query to the given resource. */ scopeResource(resourceName: string, key: PrimaryKey): any; wheres: import("../Contracts").Where[]; orders: import("../Contracts").Order[]; modifiers: import("../Contracts").QueryModifierCallback[]; _transaction?: import("../Contracts").Transaction; transaction<V>(callback: import("../Contracts").TransactionCallback<V, any>): Promise<V>; setTransaction(transaction?: import("../Contracts").Transaction): any; getTransaction(): import("../Contracts").Transaction | undefined; runningInTransaction(): boolean; prepareTransaction(): Promise<import("../Contracts").Transaction>; where(where: import("../Contracts").Where | import("../Contracts").Where[]): any; setWheres(wheres: import("../Contracts").Where[]): any; getWheres(): import("../Contracts").Where[]; order(order: import("../Contracts").Order | import("../Contracts").Order[]): any; setOrders(orders: import("../Contracts").Order[]): any; getOrders(): import("../Contracts").Order[]; modify<T_1>(modifier: import("../Contracts").QueryModifierCallback<T_1>): any; find(key: PrimaryKey): Promise<import("../Contracts").Optional<Model>>; whereKey(key: PrimaryKey): any; whereKeys(keys: Array<PrimaryKey>): any; fillModel(result: AnyRecord): Model; search(search: string, page?: number, perPage?: number): Promise<import("../Contracts").SearchCollection>; all(wheres?: import("../Contracts").Where[]): Promise<Model[]>; first(wheres?: import("../Contracts").Where[]): Promise<import("../Contracts").Optional<Model>>; store(model: Model): Promise<Model>; update(model: Model): Promise<Model>; delete(key: PrimaryKey): Promise<void>; model(): Model; }) & T; export default _default;