import { Body, Controller, Get, Put, Request } from '@nestjs/common';
import { SettingsService } from './settings.service';
import { RequirePermissions } from '../../common/decorators/permissions.decorator';

@Controller('settings')
export class SettingsController {
  constructor(private svc: SettingsService) {}

  @Get()
  @RequirePermissions('settings.view')
  getAll(@Request() req: any) {
    return this.svc.getAll(req.tenant);
  }

  @Get('grouped')
  @RequirePermissions('settings.view')
  getByGroup(@Request() req: any) {
    return this.svc.getByGroup(req.tenant);
  }

  @Put()
  @RequirePermissions('settings.update')
  updateMany(@Request() req: any, @Body() body: { updates: { key: string; value: string }[] }) {
    return this.svc.updateMany(req.tenant, body.updates ?? []);
  }
}
