Refactor: merge find findPage - findAndPopulate findPageAndPopulate

This commit is contained in:
yassinedorbozgithub
2024-12-03 17:16:57 +01:00
parent acf3663bd5
commit cde4a36294
29 changed files with 82 additions and 163 deletions

View File

@@ -23,9 +23,9 @@ import { PermissionCreateDto } from '../dto/permission.dto';
import { ModelRepository } from '../repositories/model.repository';
import { PermissionRepository } from '../repositories/permission.repository';
import { RoleRepository } from '../repositories/role.repository';
import { ModelModel, Model } from '../schemas/model.schema';
import { PermissionModel, Permission } from '../schemas/permission.schema';
import { RoleModel, Role } from '../schemas/role.schema';
import { Model, ModelModel } from '../schemas/model.schema';
import { Permission, PermissionModel } from '../schemas/permission.schema';
import { Role, RoleModel } from '../schemas/role.schema';
import { ModelService } from '../services/model.service';
import { PermissionService } from '../services/permission.service';
import { RoleService } from '../services/role.service';

View File

@@ -30,7 +30,7 @@ import { PermissionRepository } from '../repositories/permission.repository';
import { RoleRepository } from '../repositories/role.repository';
import { UserRepository } from '../repositories/user.repository';
import { PermissionModel } from '../schemas/permission.schema';
import { RoleModel, Role } from '../schemas/role.schema';
import { Role, RoleModel } from '../schemas/role.schema';
import { UserModel } from '../schemas/user.schema';
import { PermissionService } from '../services/permission.service';
import { RoleService } from '../services/role.service';
@@ -96,14 +96,14 @@ describe('RoleController', () => {
describe('findPage', () => {
const pageQuery = getPageQuery<Role>({ sort: ['_id', 'asc'] });
it('should find roles', async () => {
jest.spyOn(roleService, 'findPage');
jest.spyOn(roleService, 'find');
const result = await roleController.findPage(pageQuery, [], {});
expect(roleService.findPage).toHaveBeenCalledWith({}, pageQuery);
expect(roleService.find).toHaveBeenCalledWith({}, pageQuery);
expect(result).toEqualPayload(roleFixtures);
});
it('should find roles, and for each role populate the corresponding users and permissions', async () => {
jest.spyOn(roleService, 'findPageAndPopulate');
jest.spyOn(roleService, 'findAndPopulate');
const allRoles = await roleService.findAll();
const allPermissions = await permissionService.findAll();
const allUsers = await userService.findAll();
@@ -128,10 +128,7 @@ describe('RoleController', () => {
return acc;
}, []);
expect(roleService.findPageAndPopulate).toHaveBeenCalledWith(
{},
pageQuery,
);
expect(roleService.findAndPopulate).toHaveBeenCalledWith({}, pageQuery);
expect(result).toEqualPayload(rolesWithPermissionsAndUsers);
});
});

View File

@@ -68,15 +68,9 @@ export class RoleController extends BaseController<
@Query(new SearchFilterPipe<Role>({ allowedFields: ['name'] }))
filters: TFilterQuery<Role>,
) {
if (pageQuery.limit) {
return this.canPopulate(populate)
? await this.roleService.findPageAndPopulate(filters, pageQuery)
: await this.roleService.findPage(filters, pageQuery);
}
return this.canPopulate(populate)
? await this.roleService.findAndPopulate(filters, pageQuery.sort)
: await this.roleService.find(filters, pageQuery.sort);
? await this.roleService.findAndPopulate(filters, pageQuery)
: await this.roleService.find(filters, pageQuery);
}
/**

View File

@@ -168,15 +168,9 @@ export class ReadOnlyUserController extends BaseController<
)
filters: TFilterQuery<User>,
) {
if (pageQuery.limit) {
return this.canPopulate(populate)
? await this.userService.findPageAndPopulate(filters, pageQuery)
: await this.userService.findPage(filters, pageQuery);
}
return this.canPopulate(populate)
? await this.userService.findAndPopulate(filters, pageQuery.sort)
: await this.userService.find(filters, pageQuery.sort);
? await this.userService.findAndPopulate(filters, pageQuery)
: await this.userService.find(filters, pageQuery);
}
/**