mirror of
https://github.com/SyncrowIOT/backend.git
synced 2026-10-23 13:17:55 +00:00
49 lines
1.6 KiB
TypeScript
49 lines
1.6 KiB
TypeScript
import { ControllerRoute } from '@app/common/constants/controller-route';
|
|
import { Controller, Get, Param, UseGuards } from '@nestjs/common';
|
|
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
|
|
import { BaseResponseDto } from '@app/common/dto/base.response.dto';
|
|
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
|
|
import { GetProjectParam } from '../dto';
|
|
import { ProjectUserService } from '../services/project-user.service';
|
|
|
|
@ApiTags('Project Module')
|
|
@Controller({
|
|
version: '1',
|
|
path: ControllerRoute.PROJECT_USER.ROUTE,
|
|
})
|
|
export class ProjectUserController {
|
|
constructor(private readonly projectUserService: ProjectUserService) {}
|
|
|
|
@ApiBearerAuth()
|
|
@UseGuards(JwtAuthGuard)
|
|
@ApiOperation({
|
|
summary:
|
|
ControllerRoute.PROJECT.ACTIONS.GET_USER_BY_UUID_IN_PROJECT_SUMMARY,
|
|
description:
|
|
ControllerRoute.PROJECT.ACTIONS.GET_USER_BY_UUID_IN_PROJECT_DESCRIPTION,
|
|
})
|
|
@Get()
|
|
async findUsersByProject(
|
|
@Param() params: GetProjectParam,
|
|
): Promise<BaseResponseDto> {
|
|
return this.projectUserService.getUsersByProject(params.projectUuid);
|
|
}
|
|
@ApiBearerAuth()
|
|
@UseGuards(JwtAuthGuard)
|
|
@ApiOperation({
|
|
summary: ControllerRoute.PROJECT.ACTIONS.GET_USERS_BY_PROJECT_SUMMARY,
|
|
description:
|
|
ControllerRoute.PROJECT.ACTIONS.GET_USERS_BY_PROJECT_DESCRIPTION,
|
|
})
|
|
@Get(':invitedUserUuid')
|
|
async findUserByUuidInProject(
|
|
@Param() params: GetProjectParam,
|
|
@Param('invitedUserUuid') invitedUserUuid: string,
|
|
): Promise<BaseResponseDto> {
|
|
return this.projectUserService.getUserByUuidInProject(
|
|
params.projectUuid,
|
|
invitedUserUuid,
|
|
);
|
|
}
|
|
}
|