-
Notifications
You must be signed in to change notification settings - Fork 291
Expand file tree
/
Copy pathframework-instance-requirements.controller.ts
More file actions
92 lines (86 loc) · 2.76 KB
/
framework-instance-requirements.controller.ts
File metadata and controls
92 lines (86 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import {
Body,
Controller,
Delete,
Get,
Param,
Patch,
Post,
Query,
UseGuards,
} from '@nestjs/common';
import {
ApiTags,
ApiBearerAuth,
ApiOperation,
ApiQuery,
} from '@nestjs/swagger';
import { HybridAuthGuard } from '../auth/hybrid-auth.guard';
import { PermissionGuard } from '../auth/permission.guard';
import { RequirePermission } from '../auth/require-permission.decorator';
import { OrganizationId } from '../auth/auth-context.decorator';
import { FrameworkInstanceRequirementsService } from './framework-instance-requirements.service';
import { CreateFrameworkInstanceRequirementDto } from './dto/create-framework-instance-requirement.dto';
import { UpdateFrameworkInstanceRequirementDto } from './dto/update-framework-instance-requirement.dto';
@ApiTags('Framework Instance Requirements')
@ApiBearerAuth()
@UseGuards(HybridAuthGuard, PermissionGuard)
@Controller({ path: 'framework-instance-requirements', version: '1' })
export class FrameworkInstanceRequirementsController {
constructor(
private readonly service: FrameworkInstanceRequirementsService,
) {}
@Get()
@RequirePermission('framework', 'read')
@ApiOperation({
summary: 'List custom requirements for a framework instance',
})
@ApiQuery({ name: 'frameworkInstanceId', required: true, type: String })
async findAll(
@OrganizationId() organizationId: string,
@Query('frameworkInstanceId') frameworkInstanceId: string,
) {
const data = await this.service.findAll(
frameworkInstanceId,
organizationId,
);
return { data, count: data.length };
}
@Get(':id')
@RequirePermission('framework', 'read')
@ApiOperation({ summary: 'Get a single framework instance requirement' })
async findOne(
@OrganizationId() organizationId: string,
@Param('id') id: string,
) {
return this.service.findOne(id, organizationId);
}
@Post()
@RequirePermission('framework', 'create')
@ApiOperation({ summary: 'Create a framework instance requirement' })
async create(
@OrganizationId() organizationId: string,
@Body() dto: CreateFrameworkInstanceRequirementDto,
) {
return this.service.create(dto, organizationId);
}
@Patch(':id')
@RequirePermission('framework', 'update')
@ApiOperation({ summary: 'Update a framework instance requirement' })
async update(
@OrganizationId() organizationId: string,
@Param('id') id: string,
@Body() dto: UpdateFrameworkInstanceRequirementDto,
) {
return this.service.update(id, dto, organizationId);
}
@Delete(':id')
@RequirePermission('framework', 'delete')
@ApiOperation({ summary: 'Delete a framework instance requirement' })
async delete(
@OrganizationId() organizationId: string,
@Param('id') id: string,
) {
return this.service.delete(id, organizationId);
}
}