routes
This commit is contained in:
@@ -12,18 +12,20 @@ import { PermissionEnum } from '../../common/enums/permission.enum';
|
||||
|
||||
@ApiTags('Criticism')
|
||||
@ApiBearerAuth()
|
||||
@Controller('criticisms')
|
||||
@Controller()
|
||||
export class CriticismController {
|
||||
constructor(private readonly criticismService: CriticismsService) {}
|
||||
|
||||
@Post()
|
||||
@Post('public/criticisms')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Create a new criticism' })
|
||||
create(@Body() createDto: CreateCriticismDto, @UserId() userId: string) {
|
||||
return this.criticismService.create(createDto, userId);
|
||||
}
|
||||
|
||||
@Get()
|
||||
//------------- Admin Routes ------------------
|
||||
|
||||
@Get('admin/criticisms')
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(PermissionEnum.MANAGE_CRITICISMS)
|
||||
@ApiOperation({ summary: 'Get all criticisms (admin only)' })
|
||||
@@ -31,7 +33,7 @@ export class CriticismController {
|
||||
return this.criticismService.findAll(queryDto);
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
@Get('admin/criticisms/:id')
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(PermissionEnum.MANAGE_CRITICISMS)
|
||||
@ApiOperation({ summary: 'Get one criticism by id (admin only)' })
|
||||
@@ -39,7 +41,7 @@ export class CriticismController {
|
||||
return this.criticismService.findOneAndMarkAsRead(id);
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
@Delete('admin/criticisms/:id')
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(PermissionEnum.MANAGE_CRITICISMS)
|
||||
@ApiOperation({ summary: 'Delete one criticism by id (admin only)' })
|
||||
|
||||
@@ -14,13 +14,57 @@ import { PermissionEnum } from 'src/common/enums/permission.enum';
|
||||
|
||||
@ApiTags('Learning')
|
||||
@ApiBearerAuth()
|
||||
@Controller('learnings')
|
||||
@Controller()
|
||||
export class LearningController {
|
||||
constructor(private readonly learningService: LearningService) {}
|
||||
|
||||
// ----------------- Public / User routes -----------------
|
||||
|
||||
@Get('public/learnings')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Find learnings video' })
|
||||
findAllLearnings() {
|
||||
return this.learningService.findLearningsVideos();
|
||||
}
|
||||
|
||||
@Get('public/learnings/category')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Find learning categories' })
|
||||
findCategories() {
|
||||
return this.learningService.findCategories();
|
||||
}
|
||||
|
||||
@Get('public/learnings/category/:id')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Find one learning category by id' })
|
||||
findCategoryById(@Param('id') id: string) {
|
||||
return this.learningService.findCategoryById(id);
|
||||
}
|
||||
|
||||
@Get('public/learnings/progress')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Get current user learning progress' })
|
||||
getUserProgress(@UserId() userId: string) {
|
||||
return this.learningService.getUserProgress(userId);
|
||||
}
|
||||
|
||||
@Post('public/learnings/:learningId/progress')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Track learning progress' })
|
||||
trackProgress(@UserId() userId: string, @Param('learningId') learningId: string) {
|
||||
return this.learningService.trackProgress(userId, learningId);
|
||||
}
|
||||
|
||||
@Get('public/learnings/:id')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Find learning video by id' })
|
||||
findLearningVideoById(@Param('id') id: string) {
|
||||
return this.learningService.findLearningVideoById(id);
|
||||
}
|
||||
|
||||
// ----------------- Admin routes -----------------
|
||||
|
||||
@Post()
|
||||
@Post('admin/learnings')
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(PermissionEnum.MANAGE_LEARNINGS)
|
||||
@ApiOperation({ summary: 'Create learning video' })
|
||||
@@ -28,7 +72,7 @@ export class LearningController {
|
||||
return this.learningService.createLearningVideo(createDto);
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
@Delete('admin/learnings/:id')
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(PermissionEnum.MANAGE_LEARNINGS)
|
||||
@ApiOperation({ summary: 'Delete learning video by id' })
|
||||
@@ -36,7 +80,7 @@ export class LearningController {
|
||||
return this.learningService.deleteLearningVideoById(id);
|
||||
}
|
||||
|
||||
@Patch(':id')
|
||||
@Patch('admin/learnings/:id')
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(PermissionEnum.MANAGE_LEARNINGS)
|
||||
@ApiOperation({ summary: 'Update learning video by id' })
|
||||
@@ -44,7 +88,7 @@ export class LearningController {
|
||||
return this.learningService.updateLearningVideo(id, updateDto);
|
||||
}
|
||||
|
||||
@Post('category')
|
||||
@Post('admin/learnings/category')
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(PermissionEnum.MANAGE_LEARNINGS)
|
||||
@ApiOperation({ summary: 'Create learning category' })
|
||||
@@ -52,7 +96,7 @@ export class LearningController {
|
||||
return this.learningService.createLearningCategory(createDto);
|
||||
}
|
||||
|
||||
@Patch('category/:id')
|
||||
@Patch('admin/learnings/category/:id')
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(PermissionEnum.MANAGE_LEARNINGS)
|
||||
@ApiOperation({ summary: 'Update learning category' })
|
||||
@@ -60,7 +104,7 @@ export class LearningController {
|
||||
return this.learningService.updateLearningCategory(id, updateDto);
|
||||
}
|
||||
|
||||
@Delete('category/:id')
|
||||
@Delete('admin/learnings/category/:id')
|
||||
@UseGuards(AdminAuthGuard)
|
||||
@Permissions(PermissionEnum.MANAGE_LEARNINGS)
|
||||
@ApiOperation({ summary: 'Delete category by id' })
|
||||
@@ -68,47 +112,5 @@ export class LearningController {
|
||||
return this.learningService.deleteCategoryById(id);
|
||||
}
|
||||
|
||||
// ----------------- Public / User routes -----------------
|
||||
|
||||
@Get()
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Find learnings video' })
|
||||
findAllLearnings() {
|
||||
return this.learningService.findLearningsVideos();
|
||||
}
|
||||
|
||||
@Get('category')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Find learning categories' })
|
||||
findCategories() {
|
||||
return this.learningService.findCategories();
|
||||
}
|
||||
|
||||
@Get('category/:id')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Find one learning category by id' })
|
||||
findCategoryById(@Param('id') id: string) {
|
||||
return this.learningService.findCategoryById(id);
|
||||
}
|
||||
|
||||
@Get('progress')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Get current user learning progress' })
|
||||
getUserProgress(@UserId() userId: string) {
|
||||
return this.learningService.getUserProgress(userId);
|
||||
}
|
||||
|
||||
@Post(':learningId/progress')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Track learning progress' })
|
||||
trackProgress(@UserId() userId: string, @Param('learningId') learningId: string) {
|
||||
return this.learningService.trackProgress(userId, learningId);
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
@UseGuards(AuthGuard)
|
||||
@ApiOperation({ summary: 'Find learning video by id' })
|
||||
findLearningVideoById(@Param('id') id: string) {
|
||||
return this.learningService.findLearningVideoById(id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user