extend getBy

This commit is contained in:
admin 2025-08-24 23:46:50 +02:00
parent 69e443ad27
commit 2c3b7a94de
3 changed files with 11 additions and 4 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "@apihub24/repository",
"version": "1.0.3",
"version": "2.0.0-alpha.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@apihub24/repository",
"version": "1.0.3",
"version": "2.0.0-alpha.0",
"license": "MIT",
"devDependencies": {
"rimraf": "^6.0.1",

View File

@ -1,6 +1,6 @@
{
"name": "@apihub24/repository",
"version": "1.0.3",
"version": "2.0.0-alpha.0",
"description": "",
"main": "dist/index.js",
"types": "./dist/index.d.ts",

View File

@ -1,5 +1,12 @@
export interface IQuery<TModel> {
filter: (model: TModel) => boolean;
skip: number;
limit: number;
sort: { key: (model: TModel) => any; option: "asc" | "desc" }[];
}
export interface IRepository<TModel> {
getBy(filter: (model: TModel) => boolean): Promise<TModel[]>;
getBy(options: IQuery<TModel>): Promise<TModel[]>;
save(models: TModel[]): Promise<TModel[]>;
deleteBy(filter: (model: TModel) => boolean): Promise<boolean>;
}