| 123456789101112131415161718192021222324252627282930313233 |
- import { Controller, Get, Post, Put, Body, UseGuards, Request } from '@nestjs/common';
- import { AdminService } from './admin.service';
- import { CombinedAuthGuard } from '../auth/combined-auth.guard';
- import { RolesGuard } from '../auth/roles.guard';
- import { Roles } from '../auth/roles.decorator';
- import { UserRole } from '../user/user-role.enum';
- @Controller('v1/admin')
- @UseGuards(CombinedAuthGuard, RolesGuard)
- @Roles(UserRole.TENANT_ADMIN, UserRole.SUPER_ADMIN)
- export class AdminController {
- constructor(private readonly adminService: AdminService) { }
- @Get('users')
- async getUsers(@Request() req: any) {
- return this.adminService.getTenantUsers(req.user.tenantId);
- }
- @Get('settings')
- async getSettings(@Request() req: any) {
- return this.adminService.getTenantSettings(req.user.tenantId);
- }
- @Put('settings')
- async updateSettings(@Request() req: any, @Body() body: any) {
- return this.adminService.updateTenantSettings(req.user.tenantId, body);
- }
- @Get('pending-shares')
- async getPendingShares(@Request() req: any) {
- return this.adminService.getPendingShares(req.user.tenantId);
- }
- }
|