@nestdevx/tenant
Version:
Tenant module for multi-tenant NestJS applications.
20 lines (19 loc) • 797 B
TypeScript
import { Logger } from "@nestjs/common";
import mongoose, { FilterQuery } from "mongoose";
import { ResponsePaginatedDto } from "../dtos/response-paginated.dto";
export declare class Repository<T> {
private readonly model;
readonly logger: Logger;
constructor(model: mongoose.Model<T>, logger?: Logger);
findOne(filter: FilterQuery<T>): Promise<T | null>;
create<C>(data: C): Promise<{
id: string;
}>;
findById(id: string): Promise<T>;
count(id?: string): Promise<number>;
findAll(): Promise<T[]>;
update<U>(id: string, data: U): Promise<T>;
delete(id: string): Promise<void>;
query(filter: FilterQuery<T>): Promise<T[]>;
getPaginatedResult<R>(page?: number, limit?: number, filter?: FilterQuery<T>): Promise<ResponsePaginatedDto<R>>;
}