|
| 1 | +import { Controller, Get, UseGuards } from '@nestjs/common'; |
| 2 | +import { |
| 3 | + ApiTags, |
| 4 | + ApiOperation, |
| 5 | + ApiResponse, |
| 6 | + ApiBearerAuth, |
| 7 | +} from '@nestjs/swagger'; |
1 | 8 | import { |
2 | 9 | Controller, |
3 | 10 | Get, |
@@ -33,36 +40,64 @@ export class AnalyticsController { |
33 | 40 |
|
34 | 41 | @Get('overview') |
35 | 42 | @ApiOperation({ summary: 'Get analytics overview' }) |
36 | | - @ApiResponse({ status: 200, description: 'Analytics overview retrieved successfully', type: AnalyticsOverviewDto }) |
| 43 | + @ApiResponse({ |
| 44 | + status: 200, |
| 45 | + description: 'Analytics overview retrieved successfully', |
| 46 | + type: AnalyticsOverviewDto, |
| 47 | + }) |
37 | 48 | @ApiResponse({ status: 401, description: 'Unauthorized' }) |
38 | | - @ApiResponse({ status: 403, description: 'Forbidden - Admin access required' }) |
| 49 | + @ApiResponse({ |
| 50 | + status: 403, |
| 51 | + description: 'Forbidden - Admin access required', |
| 52 | + }) |
39 | 53 | async getOverview(): Promise<AnalyticsOverviewDto> { |
40 | 54 | return this.analyticsService.getOverview(); |
41 | 55 | } |
42 | 56 |
|
43 | 57 | @Get('course-performance') |
44 | 58 | @ApiOperation({ summary: 'Get course performance analytics' }) |
45 | | - @ApiResponse({ status: 200, description: 'Course performance data retrieved successfully', type: [CoursePerformanceDto] }) |
| 59 | + @ApiResponse({ |
| 60 | + status: 200, |
| 61 | + description: 'Course performance data retrieved successfully', |
| 62 | + type: [CoursePerformanceDto], |
| 63 | + }) |
46 | 64 | @ApiResponse({ status: 401, description: 'Unauthorized' }) |
47 | | - @ApiResponse({ status: 403, description: 'Forbidden - Admin access required' }) |
| 65 | + @ApiResponse({ |
| 66 | + status: 403, |
| 67 | + description: 'Forbidden - Admin access required', |
| 68 | + }) |
48 | 69 | async getCoursePerformance(): Promise<CoursePerformanceDto[]> { |
49 | 70 | return this.analyticsService.getCoursePerformance(); |
50 | 71 | } |
51 | 72 |
|
52 | 73 | @Get('learner-activity') |
53 | 74 | @ApiOperation({ summary: 'Get learner activity analytics' }) |
54 | | - @ApiResponse({ status: 200, description: 'Learner activity data retrieved successfully', type: [LearnerActivityPointDto] }) |
| 75 | + @ApiResponse({ |
| 76 | + status: 200, |
| 77 | + description: 'Learner activity data retrieved successfully', |
| 78 | + type: [LearnerActivityPointDto], |
| 79 | + }) |
55 | 80 | @ApiResponse({ status: 401, description: 'Unauthorized' }) |
56 | | - @ApiResponse({ status: 403, description: 'Forbidden - Admin access required' }) |
| 81 | + @ApiResponse({ |
| 82 | + status: 403, |
| 83 | + description: 'Forbidden - Admin access required', |
| 84 | + }) |
57 | 85 | async getLearnerActivity(): Promise<LearnerActivityPointDto[]> { |
58 | 86 | return this.analyticsService.getLearnerActivity(); |
59 | 87 | } |
60 | 88 |
|
61 | 89 | @Get('top-learners') |
62 | 90 | @ApiOperation({ summary: 'Get top learners analytics' }) |
63 | | - @ApiResponse({ status: 200, description: 'Top learners data retrieved successfully', type: [TopLearnerDto] }) |
| 91 | + @ApiResponse({ |
| 92 | + status: 200, |
| 93 | + description: 'Top learners data retrieved successfully', |
| 94 | + type: [TopLearnerDto], |
| 95 | + }) |
64 | 96 | @ApiResponse({ status: 401, description: 'Unauthorized' }) |
65 | | - @ApiResponse({ status: 403, description: 'Forbidden - Admin access required' }) |
| 97 | + @ApiResponse({ |
| 98 | + status: 403, |
| 99 | + description: 'Forbidden - Admin access required', |
| 100 | + }) |
66 | 101 | async getTopLearners(): Promise<TopLearnerDto[]> { |
67 | 102 | return this.analyticsService.getTopLearners(); |
68 | 103 | } |
|
0 commit comments