93 lines
2.1 KiB
TypeScript
93 lines
2.1 KiB
TypeScript
import {
|
|||
|
|
Body,
|
||
|
|
Controller,
|
||
|
|
Get,
|
||
|
|
Param,
|
||
|
|
Patch,
|
||
|
|
Post,
|
||
|
|
Query,
|
||
|
|
UseGuards,
|
||
|
|
} from '@nestjs/common';
|
||
|
|
import {
|
||
|
|
CreatePlatformOrganizationDto,
|
||
|
|
ResetPlatformUserPasswordDto,
|
||
|
|
UpdatePlatformMembershipRoleDto,
|
||
|
|
UpdatePlatformOrganizationDto,
|
||
|
|
UpdatePlatformStatusDto,
|
||
|
|
} from './dto';
|
||
|
|
import { PlatformAuthGuard } from './platform-auth.guard';
|
||
|
|
import { PlatformService } from './platform.service';
|
||
|
|
|
||
|
|
@Controller('platform')
|
||
|
|
@UseGuards(PlatformAuthGuard)
|
||
|
|
export class PlatformController {
|
||
|
|
constructor(private readonly platform: PlatformService) {}
|
||
|
|
|
||
|
|
@Get('stats')
|
||
|
|
stats() {
|
||
|
|
return this.platform.stats();
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get('organizations')
|
||
|
|
listOrganizations(@Query('q') q?: string) {
|
||
|
|
return this.platform.listOrganizations(q);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Post('organizations')
|
||
|
|
createOrganization(@Body() dto: CreatePlatformOrganizationDto) {
|
||
|
|
return this.platform.createOrganization(dto);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get('organizations/:id')
|
||
|
|
getOrganization(@Param('id') id: string) {
|
||
|
|
return this.platform.getOrganization(id);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Patch('organizations/:id')
|
||
|
|
updateOrganization(
|
||
|
|
@Param('id') id: string,
|
||
|
|
@Body() dto: UpdatePlatformOrganizationDto,
|
||
|
|
) {
|
||
|
|
return this.platform.updateOrganization(id, dto);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get('users')
|
||
|
|
listUsers(@Query('q') q?: string) {
|
||
|
|
return this.platform.listUsers(q);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get('users/:id')
|
||
|
|
getUser(@Param('id') id: string) {
|
||
|
|
return this.platform.getUser(id);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Patch('users/:id')
|
||
|
|
setUserActive(@Param('id') id: string, @Body() dto: UpdatePlatformStatusDto) {
|
||
|
|
return this.platform.setUserActive(id, dto.isActive);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Patch('users/:id/password')
|
||
|
|
resetUserPassword(
|
||
|
|
@Param('id') id: string,
|
||
|
|
@Body() dto: ResetPlatformUserPasswordDto,
|
||
|
|
) {
|
||
|
|
return this.platform.resetUserPassword(id, dto);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Patch('memberships/:id')
|
||
|
|
setMembershipActive(
|
||
|
|
@Param('id') id: string,
|
||
|
|
@Body() dto: UpdatePlatformStatusDto,
|
||
|
|
) {
|
||
|
|
return this.platform.setMembershipActive(id, dto.isActive);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Patch('memberships/:id/role')
|
||
|
|
updateMembershipRole(
|
||
|
|
@Param('id') id: string,
|
||
|
|
@Body() dto: UpdatePlatformMembershipRoleDto,
|
||
|
|
) {
|
||
|
|
return this.platform.updateMembershipRole(id, dto.role);
|
||
|
|
}
|
||
|
|
}
|