1- import { Authorized , Delete , JsonController , ForbiddenError } from "routing-controllers" ;
1+ import {
2+ Authorized ,
3+ Delete ,
4+ JsonController ,
5+ ForbiddenError ,
6+ CurrentUser ,
7+ Param ,
8+ Put ,
9+ Post ,
10+ Body
11+ } from "routing-controllers" ;
212import { Inject } from "typedi" ;
313import { UserRole } from "../entities/user-role" ;
4- import { SettingsServiceToken } from "../services/settings-service" ;
5- import { SettingsServiceToken } from "../services/settings-service" ;
14+ import { SettingsServiceToken , ISettingsService } from "../services/settings-service" ;
15+ import { RatingServiceToken , IRatingService } from "../services/rating-service" ;
16+ import {
17+ RatingDTO ,
18+ CriteriaDTO ,
19+ SuccessResponseDTO ,
20+ convertBetweenEntityAndDTO
21+ } from "./dto" ;
22+ import { User } from "../entities/user" ;
23+ import { Criteria } from "../entities/criteria" ;
24+ import { Rating } from "../entities/rating" ;
625
7- // The RatingController and RatingService group stuff concerning ratings and critiera
8- // together. Feel free to separate, if you think that would be better.
26+ // TODO separate rating and criteria controller?
927
1028@JsonController ( "/ratings" )
1129export class RatingController {
@@ -43,10 +61,10 @@ export class RatingController {
4361 @Post ( "/rate" )
4462 @Authorized ( UserRole . User )
4563 public async createRating (
46- @Body ( ) { data : RatingDTO } : { data : RatingDTO } ,
64+ @Body ( ) { data : ratingDTO } : { data : RatingDTO } ,
4765 @CurrentUser ( ) user : User ,
48- ) : Promise < readonly RatingDTO [ ] > {
49- const rating = convertBetweenEntityAndDTO ( RatingDTO , Rating ) ;
66+ ) : Promise < RatingDTO > {
67+ const rating = convertBetweenEntityAndDTO ( ratingDTO , Rating ) ;
5068 const createdRating = await this . _ratings . createRating ( rating ) ;
5169 return convertBetweenEntityAndDTO ( createdRating , RatingDTO ) ;
5270 }
@@ -58,9 +76,9 @@ export class RatingController {
5876 @Authorized ( UserRole . Root )
5977 public async createCriteria (
6078 @Body ( ) { data : criteriaDTO } : { data : CriteriaDTO } ,
61- ) : Promise < readonly CriteriaDTO [ ] > {
79+ ) : Promise < CriteriaDTO > {
6280 const criteria = convertBetweenEntityAndDTO ( criteriaDTO , Criteria ) ;
63- const createdCriteria = await this . _ratings . createCriteria ( ) ;
81+ const createdCriteria = await this . _ratings . createCriteria ( criteria ) ;
6482 return convertBetweenEntityAndDTO ( createdCriteria , CriteriaDTO ) ;
6583 }
6684
@@ -70,12 +88,12 @@ export class RatingController {
7088 @Put ( "/criteria/:id" )
7189 @Authorized ( UserRole . Root )
7290 public async updateCriteria (
73- @Param ( "id" ) teamId : number ,
91+ @Param ( "id" ) criteriaId : number ,
7492 @Body ( ) { data : criteriaDTO } : { data : CriteriaDTO } ,
75- ) : Promise < TeamDTO > {
93+ ) : Promise < CriteriaDTO > {
7694 // TODO There is a TeamUpdateDTO. CriteriaUpdateDTO?
77- const team = convertBetweenEntityAndDTO ( criteriaDTO , Criteria ) ;
78- const updateTeam = await this . _ratings . updateCriteria ( team , user ) ;
95+ const criteria = convertBetweenEntityAndDTO ( criteriaDTO , Criteria ) ;
96+ const updateCriteria = await this . _ratings . updateCriteria ( criteria ) ;
7997 return convertBetweenEntityAndDTO ( updateCriteria , CriteriaDTO ) ;
8098 }
8199
0 commit comments