From 3f7dbd64718505ad8c142b888752fc339d6b164c Mon Sep 17 00:00:00 2001 From: ilham Date: Fri, 17 Dec 2021 09:37:47 +0700 Subject: [PATCH] add: get role for create membership --- src/configurable/configurable.controller.ts | 14 ++++++++++++++ src/configurable/roles.service.ts | 20 +++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/configurable/configurable.controller.ts b/src/configurable/configurable.controller.ts index fe94a6e..65864ee 100644 --- a/src/configurable/configurable.controller.ts +++ b/src/configurable/configurable.controller.ts @@ -47,6 +47,20 @@ export class ConfigurableController { }; } + @Get('/roles/for-membership') + async findAllForMembership(@Query('page') page: number) { + const [data, count] = await this.roleService.findAllRolesForCreateMember( + page, + ); + + return { + data, + count, + statusCode: HttpStatus.OK, + message: 'success', + }; + } + @Get(':id') async findOne(@Param('id', ParseUUIDPipe) id: string) { return { diff --git a/src/configurable/roles.service.ts b/src/configurable/roles.service.ts index 7147f1a..2f2424e 100644 --- a/src/configurable/roles.service.ts +++ b/src/configurable/roles.service.ts @@ -1,5 +1,5 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; -import { EntityNotFoundError, Repository } from 'typeorm'; +import { EntityNotFoundError, In, Not, Repository } from 'typeorm'; import { Roles } from './entities/roles.entity'; import { InjectRepository } from '@nestjs/typeorm'; @@ -20,6 +20,24 @@ export class RoleService { }); } + findAllRolesForCreateMember(page) { + return this.rolesRepository.findAndCount({ + skip: page * 10, + take: 10, + where: { + id: Not( + In([ + '3196cdf4-ae5f-4677-9bcd-98be35c72321', + '21dceea2-416e-4b55-b74c-12605e1f8d1b', + ]), + ), + }, + order: { + version: 'DESC', + }, + }); + } + async findOne(id: string) { try { return await this.rolesRepository.findOneOrFail(id);