import {
  Controller,
  Get,
  Post,
  Body,
  Patch,
  Param,
  Delete,
} from '@nestjs/common';
import { UserPermissionConditionsService } from './user-permission-conditions.service';
import { CreateUserPermissionConditionDto } from './dto/create-user-permission-condition.dto';
import { UpdateUserPermissionConditionDto } from './dto/update-user-permission-condition.dto';

@Controller('user-permission-conditions')
export class UserPermissionConditionsController {
  constructor(
    private readonly userPermissionConditionsService: UserPermissionConditionsService,
  ) {}

  @Post()
  create(
    @Body() createUserPermissionConditionDto: CreateUserPermissionConditionDto,
  ) {
    return this.userPermissionConditionsService.create(
      createUserPermissionConditionDto,
    );
  }

  @Get()
  findAll() {
    return this.userPermissionConditionsService.findAll();
  }

  @Get(':id')
  findOne(@Param('id') id: string) {
    return this.userPermissionConditionsService.findOne(+id);
  }

  @Patch(':id')
  update(
    @Param('id') id: string,
    @Body() updateUserPermissionConditionDto: UpdateUserPermissionConditionDto,
  ) {
    return this.userPermissionConditionsService.update(
      +id,
      updateUserPermissionConditionDto,
    );
  }

  @Delete(':id')
  remove(@Param('id') id: string) {
    return this.userPermissionConditionsService.remove(+id);
  }
  @Get('user/:id')
  async getUserPermissionsForUser(@Param('id') userId: string) {
    return this.userPermissionConditionsService.getUserPermissionsByUser(
      +userId,
    );
  }
}
