File

src/admin/admin.controller.ts

Prefix

api/v1/admin

Index

Methods

Methods

Async setContractManger
setContractManger(request: AuthRequest, contractManagerDto: ContractManagerDto)
Decorators :
@UseGuards(new RolesAuthGuard())
@Post('/role/contractManager')
Parameters :
Name Type Optional
request AuthRequest No
contractManagerDto ContractManagerDto No
Returns : unknown
Async setNewJurisdictionFields
setNewJurisdictionFields(request: AuthRequest, jurisdictionFieldsDto: JurisdictionFieldsDto)
Decorators :
@UseGuards(new RolesAuthGuard())
@Post('/jurisdiction')
Parameters :
Name Type Optional
request AuthRequest No
jurisdictionFieldsDto JurisdictionFieldsDto No
Returns : unknown
import {
  Body,
  Controller,
  Post,
  ServiceUnavailableException,
  UseGuards,
  Request,
} from "@nestjs/common";
import { RolesAuthGuard } from "src/auth/guards/roles-auth.guard";
import { RoleService } from "./role.service";
import { ContractManagerDto } from "./dtos/set-contractManager.dto";
import { JurisdictionService } from "./jurisdiction.service";
import { JurisdictionFieldsDto } from "./dtos/create-jurisdiction-fields.dto";
import { AuthRequest } from "src/common/interfaces";

@Controller("api/v1/admin")
export class AdminController {
  constructor(
    private readonly roleService: RoleService,
    private readonly jurisdictionService: JurisdictionService,
  ) {}

  @UseGuards(new RolesAuthGuard(["admin"]))
  @Post("/role/contractManager")
  async setContractManger(
    @Request() request: AuthRequest,
    @Body() contractManagerDto: ContractManagerDto,
  ) {
    try {
      return await this.roleService.setContractManager({
        ...contractManagerDto,
        email: request.user.email,
      });
    } catch (error) {
      console.error(error);
      throw new ServiceUnavailableException(error);
    }
  }

  @UseGuards(new RolesAuthGuard(["admin"]))
  @Post("/jurisdiction")
  async setNewJurisdictionFields(
    @Request() request: AuthRequest,
    @Body() jurisdictionFieldsDto: JurisdictionFieldsDto,
  ) {
    try {
      return await this.jurisdictionService.setNewJurisdictionFields({
        userJwtPayload: request.user,
        fields: jurisdictionFieldsDto.newFields,
      });
    } catch (error) {
      console.error(error);
      throw new ServiceUnavailableException(error);
    }
  }
}

results matching ""

    No results matching ""