From 8442b85a859864a9117581c837f56ec13b579e0e Mon Sep 17 00:00:00 2001 From: yassinedorbozgithub Date: Fri, 11 Oct 2024 03:55:32 +0100 Subject: [PATCH] fix(api): remove duplicated populate methods --- .../repositories/conversation.repository.ts | 18 +--------- .../repositories/permission.repository.ts | 36 +------------------ api/src/user/repositories/role.repository.ts | 34 +----------------- 3 files changed, 3 insertions(+), 85 deletions(-) diff --git a/api/src/chat/repositories/conversation.repository.ts b/api/src/chat/repositories/conversation.repository.ts index fdbcb401..0cde3eeb 100644 --- a/api/src/chat/repositories/conversation.repository.ts +++ b/api/src/chat/repositories/conversation.repository.ts @@ -9,7 +9,7 @@ import { Injectable } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { InjectModel } from '@nestjs/mongoose'; -import { FilterQuery, Model } from 'mongoose'; +import { Model } from 'mongoose'; import { BaseRepository } from '@/utils/generics/base-repository'; @@ -49,20 +49,4 @@ export class ConversationRepository extends BaseRepository< async end(convo: Conversation | ConversationFull) { return await this.updateOne(convo.id, { active: false }); } - - /** - * Finds a single conversation by a given criteria and populates the related fields: `sender`, `current`, and `next`. - * - * @param criteria The search criteria, either a string or a filter query. - * - * @returns A promise resolving to the populated conversation full object. - */ - async findOneAndPopulate(criteria: string | FilterQuery) { - const query = this.findOneQuery(criteria).populate([ - 'sender', - 'current', - 'next', - ]); - return await this.executeOne(query, ConversationFull); - } } diff --git a/api/src/user/repositories/permission.repository.ts b/api/src/user/repositories/permission.repository.ts index a3949336..692aa7fd 100644 --- a/api/src/user/repositories/permission.repository.ts +++ b/api/src/user/repositories/permission.repository.ts @@ -9,7 +9,7 @@ import { Injectable } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { InjectModel } from '@nestjs/mongoose'; -import { Model, TFilterQuery } from 'mongoose'; +import { Model } from 'mongoose'; import { BaseRepository } from '@/utils/generics/base-repository'; @@ -32,38 +32,4 @@ export class PermissionRepository extends BaseRepository< ) { super(eventEmitter, model, Permission, PERMISSION_POPULATE, PermissionFull); } - - /** - * Finds all permissions and populates the `model` and `role` relationships. - * - * @returns A list of populated permission entities. - */ - async findAllAndPopulate() { - const query = this.findAllQuery().populate(['model', 'role']); - return await this.execute(query, PermissionFull); - } - - /** - * Finds permissions based on the specified filter and populates the `model` and `role` relationships. - * - * @param filter - The filter query for finding permissions. - * - * @returns A list of populated permission entities matching the filter. - */ - async findAndPopulate(filter: TFilterQuery) { - const query = this.findQuery(filter).populate(['model', 'role']); - return await this.execute(query, PermissionFull); - } - - /** - * Finds a single permission by its ID and populates the `model` and `role` relationships. - * - * @param id - The ID of the permission to find. - * - * @returns The populated permission entity. - */ - async findOneAndPopulate(id: string) { - const query = this.findOneQuery(id).populate(['model', 'role']); - return await this.executeOne(query, PermissionFull); - } } diff --git a/api/src/user/repositories/role.repository.ts b/api/src/user/repositories/role.repository.ts index 939f4cbc..27431711 100644 --- a/api/src/user/repositories/role.repository.ts +++ b/api/src/user/repositories/role.repository.ts @@ -9,10 +9,9 @@ import { Injectable } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { InjectModel } from '@nestjs/mongoose'; -import { Model, TFilterQuery } from 'mongoose'; +import { Model } from 'mongoose'; import { BaseRepository } from '@/utils/generics/base-repository'; -import { PageQueryDto } from '@/utils/pagination/pagination-query.dto'; import { Permission } from '../schemas/permission.schema'; import { @@ -51,35 +50,4 @@ export class RoleRepository extends BaseRepository< } return result; } - - /** - * Finds and paginates Role entities based on filter criteria, and populates related fields. - * - * @param filter Filter criteria for querying Role entities. - * @param pageQuery Pagination details. - * - * @returns Paginated result of Role entities populated with related permissions and users. - */ - async findPageAndPopulate( - filter: TFilterQuery, - pageQuery: PageQueryDto, - ) { - const query = this.findPageQuery(filter, pageQuery).populate([ - 'permissions', - 'users', - ]); - return await this.execute(query, RoleFull); - } - - /** - * Finds a single Role entity by its ID, and populates related fields. - * - * @param id The ID of the Role to find. - * - * @returns The found Role entity populated with related permissions and users. - */ - async findOneAndPopulate(id: string) { - const query = this.findOneQuery(id).populate(['permissions', 'users']); - return await this.executeOne(query, RoleFull); - } }