@avonjs/avonjs
Version:
A fluent Node.js API generator.
30 lines (29 loc) • 839 B
TypeScript
import type { CollectionRecord, PrimaryKey } from '../Contracts';
import type { Fluent } from '../Models';
import CollectionRepository from './CollectionRepository';
export default abstract class FileRepository extends CollectionRepository {
/**
* Resolve items from the store path.
*/
protected resolveItems(): CollectionRecord[];
/**
* Store given model into the storage.
*/
store(model: Fluent): Promise<Fluent>;
/**
* Store given model into the storage.
*/
update(model: Fluent): Promise<Fluent>;
/**
* Delete model for the given key.
*/
delete(key: PrimaryKey): Promise<void>;
/**
* Write given items to storage.
*/
protected write(items: Fluent[]): void;
/**
* Get path of the stored files.
*/
abstract filepath(): string;
}