UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

113 lines (112 loc) 4.04 kB
import { type AbstractMixable, type Args, type Model, type PrimaryKey, type SoftDeletes as SoftDeletesContract, type Where } from '../Contracts'; import type Repository from '../Repositories/Repository'; declare const _default: <TModel extends Model, TBase extends AbstractMixable<Repository<TModel>> = AbstractMixable<Repository<TModel>>>(Parent: TBase) => (abstract new (...params: Args) => { /** * Store given model into the storage. */ store(model: TModel): Promise<TModel>; /** * Ensure that "delete at" attribute is set. */ ensureOfSoftDeletes(model: TModel): TModel; /** * Delete model for the given key. */ delete(key: PrimaryKey): Promise<void>; /** * Fill the "deleted at" column. */ fillSoftDeletes(model: TModel): TModel; /** * Reset the "deleted at" column. */ resetSoftDeletes(model: TModel): TModel; /** * Delete model for the given key. */ forceDelete(key: PrimaryKey): Promise<void>; /** * Restore the delete model for given key. */ restore(key: PrimaryKey): Promise<TModel>; /** * Apply soft-delete constraint. */ applySoftDelete(): Repository<TModel> & SoftDeletesContract<TModel>; /** * Apply soft-delete constraint. */ withoutTrashed(): Repository<TModel> & SoftDeletesContract<TModel>; /** * Ignore soft-delete constraint. */ withTrashed(): Repository<TModel> & SoftDeletesContract<TModel>; /** * Apply only trashed record constraints. */ onlyTrashed(): Repository<TModel> & SoftDeletesContract<TModel>; /** * Removes all scopes. */ removeSoftDeleteQueries(): Repository<TModel> & SoftDeletesContract<TModel>; /** * Get soft-delete constraint. */ scopeSoftDelete(): Where; /** * Get only trashed records constraint. */ scopeTrashedRecords(): Where; /** * Determine whether a given resource is "soft-deleted". */ isSoftDeleted(resource: Model): boolean; /** * Get name of `deleted_at` key. */ getDeletedAtKey(): string; /** * Get value for `deleted_at` key. */ getDeletedAtValue(): unknown; /** * Get a fresh timestamp for the model. */ freshTimestamp(): unknown; /** * Get value for available records. * * @deprecated Use `getDeletedAtValueOnRestore` instead. */ getSoftDeleteValue(): unknown; /** * Get value for available records. */ getDeletedAtValueOnRestore(): unknown; wheres: 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: Where | Where[]): any; setWheres(wheres: Where[]): any; getWheres(): Where[]; order(order: import("../Contracts").Order | import("../Contracts").Order[]): any; setOrders(orders: import("../Contracts").Order[]): any; getOrders(): import("../Contracts").Order[]; modify<T>(modifier: import("../Contracts").QueryModifierCallback<T>): any; find(key: PrimaryKey): Promise<import("../Contracts").Optional<TModel>>; whereKey(key: PrimaryKey): any; whereKeys(keys: Array<PrimaryKey>): any; fillModel(result: import("../Contracts").AnyRecord): TModel; search(search: string, page?: number, perPage?: number): Promise<import("../Contracts").SearchCollection>; all(wheres?: Where[]): Promise<TModel[]>; first(wheres?: Where[]): Promise<import("../Contracts").Optional<TModel>>; update(model: TModel): Promise<TModel>; model(): TModel; }) & TBase; export default _default;