fix: address comments

This commit is contained in:
abdou6666 2024-12-30 13:34:57 +01:00
parent 1e2fb1cfba
commit 9f99799888

View File

@ -267,7 +267,7 @@ export abstract class BaseRepository<
) { ) {
if (!criteria) { if (!criteria) {
// @TODO : Issue a warning ? // @TODO : Issue a warning ?
return Promise.resolve(null); return null;
} }
const query = this.findOneQuery(criteria, projection); const query = this.findOneQuery(criteria, projection);
@ -344,11 +344,11 @@ export abstract class BaseRepository<
): Promise<T[]> { ): Promise<T[]> {
if (Array.isArray(pageQuery)) { if (Array.isArray(pageQuery)) {
const query = this.findQuery(filter, pageQuery, projection); const query = this.findQuery(filter, pageQuery, projection);
return await this.execute(query, this.cls); return this.execute(query, this.cls);
} }
const query = this.findQuery(filter, pageQuery, projection); const query = this.findQuery(filter, pageQuery, projection);
return await this.execute(query, this.cls); return this.execute(query, this.cls);
} }
private ensureCanPopulate(): void { private ensureCanPopulate(): void {
@ -412,26 +412,12 @@ export abstract class BaseRepository<
*/ */
protected findPageQuery( protected findPageQuery(
filters: TFilterQuery<T>, filters: TFilterQuery<T>,
{ skip, limit, sort }: PageQueryDto<T>, { skip = 0, limit = 0, sort }: PageQueryDto<T>,
): Query<T[], T, object, T, 'find', object> { ): Query<T[], T, object, T, 'find', object> {
if (skip && limit) { return this.findQuery(filters)
return this.findQuery(filters) .skip(skip)
.skip(skip) .limit(limit)
.limit(limit) .sort([sort] as [string, SortOrder][]);
.sort([sort] as [string, SortOrder][]);
}
if (skip) {
return this.findQuery(filters)
.skip(skip)
.sort([sort] as [string, SortOrder][]);
}
if (limit) {
return this.findQuery(filters)
.limit(limit)
.sort([sort] as [string, SortOrder][]);
}
return this.findQuery(filters).sort([sort] as [string, SortOrder][]);
} }
/** /**
@ -442,7 +428,7 @@ export abstract class BaseRepository<
pageQuery: PageQueryDto<T>, pageQuery: PageQueryDto<T>,
): Promise<T[]> { ): Promise<T[]> {
const query = this.findPageQuery(filters, pageQuery); const query = this.findPageQuery(filters, pageQuery);
return await this.execute(query, this.cls); return this.execute(query, this.cls);
} }
/** /**