@@ -17,7 +17,11 @@ public TrainingController(ITrainingRepository repository)
1717 {
1818 _repository = repository ?? throw new ArgumentNullException ( nameof ( repository ) ) ;
1919 }
20-
20+
21+ /// <summary>
22+ /// API for retrieval of added exercises from specific trainer.
23+ /// </summary>
24+ /// <param name="trainerId">Unique identifier of the desired trainer.</param>
2125 [ Authorize ( Roles = "Admin, Trainer, Client" ) ]
2226 [ HttpGet ( "exercises/{trainerId}" ) ]
2327 [ ProducesResponseType ( typeof ( IEnumerable < Exercise > ) , StatusCodes . Status200OK ) ]
@@ -27,6 +31,10 @@ public async Task<ActionResult<IEnumerable<Exercise>>> GetExercises(string train
2731 return Ok ( exercises ) ;
2832 }
2933
34+ /// <summary>
35+ /// API for retrieval of one specific exercise.
36+ /// </summary>
37+ /// <param name="id">Unique identifier of the desired exercise.</param>
3038 [ Authorize ( Roles = "Admin, Trainer, Client" ) ]
3139 [ HttpGet ( "exercise/{id}" , Name = "GetExercise" ) ]
3240 [ ProducesResponseType ( typeof ( Exercise ) , StatusCodes . Status200OK ) ]
@@ -40,7 +48,11 @@ public async Task<ActionResult<Exercise>> GetExercise(string id)
4048 }
4149 return Ok ( exercise ) ;
4250 }
43-
51+
52+ /// <summary>
53+ /// API for addition of new exercises by trainer.
54+ /// </summary>
55+ /// <param name="exercise">Object that represents exercise and contains values for exercise name and video path.</param>
4456 [ Authorize ( Roles = "Admin, Trainer" ) ]
4557 [ HttpPost ( "exercise" ) ]
4658 [ ProducesResponseType ( typeof ( Exercise ) , StatusCodes . Status201Created ) ]
@@ -50,6 +62,10 @@ public async Task<ActionResult> CreateExercise([FromBody] Exercise exercise)
5062 return CreatedAtRoute ( "GetExercise" , new { id = exercise . Id } , exercise ) ;
5163 }
5264
65+ /// <summary>
66+ /// API for exercise update.
67+ /// </summary>
68+ /// <param name="exercise">Object that represents exercise with updated values.</param>
5369 [ Authorize ( Roles = "Admin, Trainer" ) ]
5470 [ HttpPut ( "exercise" ) ]
5571 [ ProducesResponseType ( typeof ( Exercise ) , StatusCodes . Status200OK ) ]
@@ -59,6 +75,10 @@ public async Task<IActionResult> UpdateExercise([FromBody] Exercise exercise)
5975 return Ok ( result ) ;
6076 }
6177
78+ /// <summary>
79+ /// API for exercise removal.
80+ /// </summary>
81+ /// <param name="id">Unique identifier of the desired exercise.</param>
6282 [ Authorize ( Roles = "Admin, Trainer" ) ]
6383 [ HttpDelete ( "exercise/{id}" ) ]
6484 [ ProducesResponseType ( typeof ( Exercise ) , StatusCodes . Status200OK ) ]
@@ -68,6 +88,9 @@ public async Task<IActionResult> DeleteExercise(string id)
6888 return Ok ( result ) ;
6989 }
7090
91+ /// <summary>
92+ /// API for retrieval of trainings for clients. Retrives all trainings in database.
93+ /// </summary>
7194 [ Authorize ( Roles = "Admin, Trainer, Client" ) ]
7295 [ HttpGet ( "training/trainingClient" , Name = "GetTrainingsForClient" ) ]
7396 [ ProducesResponseType ( typeof ( IEnumerable < Training > ) , StatusCodes . Status200OK ) ]
@@ -77,6 +100,10 @@ public async Task<ActionResult<IEnumerable<Training>>> GetTrainingsForClient()
77100 return Ok ( trainings ) ;
78101 }
79102
103+ /// <summary>
104+ /// API for retrieval of trainings for trainer.
105+ /// </summary>
106+ /// <param name="trainerId">Unique identifier of the desired trainer.</param>
80107 [ Authorize ( Roles = "Admin, Trainer, Client" ) ]
81108 [ HttpGet ( "training/trainingTrainer/{trainerId}" , Name = "GetTrainingsForTrainer" ) ]
82109 [ ProducesResponseType ( typeof ( IEnumerable < Training > ) , StatusCodes . Status200OK ) ]
@@ -86,6 +113,10 @@ public async Task<ActionResult<IEnumerable<Training>>> GetTrainingsForTrainer(st
86113 return Ok ( trainings ) ;
87114 }
88115
116+ /// <summary>
117+ /// API for retrieval of specific training.
118+ /// </summary>
119+ /// <param name="id">Unique identifier of the desired training.</param>
89120 [ Authorize ( Roles = "Admin, Trainer, Client" ) ]
90121 [ HttpGet ( "training/{id}" , Name = "GetTraining" ) ]
91122 [ ProducesResponseType ( typeof ( Training ) , StatusCodes . Status200OK ) ]
@@ -100,6 +131,11 @@ public async Task<ActionResult<Training>> GetTraining(string id)
100131 return Ok ( training ) ;
101132 }
102133
134+ /// <summary>
135+ /// API for addition of new training made by trainer.
136+ /// </summary>
137+ /// <param name="training">Object that represents training with values for trainer id,
138+ /// training type and description.</param>
103139 [ Authorize ( Roles = "Admin, Trainer" ) ]
104140 [ HttpPost ( "training" ) ]
105141 [ ProducesResponseType ( typeof ( Training ) , StatusCodes . Status201Created ) ]
@@ -109,6 +145,10 @@ public async Task<ActionResult> CreateTraining([FromBody] Training training)
109145 return CreatedAtRoute ( "GetTraining" , new { id = training . TrainingId } , training ) ;
110146 }
111147
148+ /// <summary>
149+ /// API for training update.
150+ /// </summary>
151+ /// <param name="training">Object with updated values.</param>
112152 [ Authorize ( Roles = "Admin, Trainer" ) ]
113153 [ HttpPut ( "training" ) ]
114154 [ ProducesResponseType ( typeof ( Training ) , StatusCodes . Status200OK ) ]
@@ -118,6 +158,10 @@ public async Task<IActionResult> UpdateTraining([FromBody] Training training)
118158 return Ok ( result ) ;
119159 }
120160
161+ /// <summary>
162+ /// API for training removal.
163+ /// </summary>
164+ /// <param name="id">Unique identifier of the desired training.</param>
121165 [ Authorize ( Roles = "Admin, Trainer" ) ]
122166 [ HttpDelete ( "training/{id}" ) ]
123167 [ ProducesResponseType ( typeof ( Training ) , StatusCodes . Status200OK ) ]
@@ -127,6 +171,10 @@ public async Task<IActionResult> DeleteTraining(string id)
127171 return Ok ( result ) ;
128172 }
129173
174+ /// <summary>
175+ /// API for retrieval of all exercises from specific training.
176+ /// </summary>
177+ /// <param name="trainingId">Unique identifier of the desired training.</param>
130178 [ Authorize ( Roles = "Admin, Trainer, Client" ) ]
131179 [ HttpGet ( "trainingExercises/{trainingId}" , Name = "GetTrainingExercises" ) ]
132180 [ ProducesResponseType ( typeof ( IEnumerable < TrainingExercise > ) , StatusCodes . Status200OK ) ]
@@ -136,6 +184,10 @@ public async Task<ActionResult<IEnumerable<TrainingExercise>>> GetTrainingExerci
136184 return Ok ( trainingExercises ) ;
137185 }
138186
187+ /// <summary>
188+ /// API for retrieval of one exercise from specific training.
189+ /// </summary>
190+ /// <param name="id">Unique identifier of the desired exercise.</param>
139191 [ Authorize ( Roles = "Admin, Trainer, Client" ) ]
140192 [ HttpGet ( "trainingExercise/{id}" , Name = "GetTrainingExercise" ) ]
141193 [ ProducesResponseType ( typeof ( TrainingExercise ) , StatusCodes . Status200OK ) ]
@@ -150,6 +202,11 @@ public async Task<ActionResult<TrainingExercise>> GetTrainingExercise(string id)
150202 return Ok ( trainingExercise ) ;
151203 }
152204
205+ /// <summary>
206+ /// API for addition of new exercise in specific training.
207+ /// </summary>
208+ /// <param name="trainingExercises">Object that represents exercise and contains values for training and existing exercise id and sets and reps
209+ /// number of repetitions.</param>
153210 [ Authorize ( Roles = "Admin, Trainer" ) ]
154211 [ HttpPost ( "trainingExercise" ) ]
155212 [ ProducesResponseType ( typeof ( TrainingExercise ) , StatusCodes . Status201Created ) ]
@@ -159,6 +216,10 @@ public async Task<ActionResult> CreateTrainingExercise([FromBody] TrainingExerci
159216 return CreatedAtRoute ( "GetTrainingExercise" , new { id = trainingExercise . Id } , trainingExercise ) ;
160217 }
161218
219+ /// <summary>
220+ /// API for training update.
221+ /// </summary>
222+ /// <param name="trainingExercises">Object that represents exercise with updated values.</param>
162223 [ Authorize ( Roles = "Admin, Trainer" ) ]
163224 [ HttpPut ( "trainingExercise" ) ]
164225 [ ProducesResponseType ( typeof ( TrainingExercise ) , StatusCodes . Status200OK ) ]
@@ -168,6 +229,10 @@ public async Task<IActionResult> UpdateTrainingExercise([FromBody] TrainingExerc
168229 return Ok ( result ) ;
169230 }
170231
232+ /// <summary>
233+ /// API for removal of exercises from training. Removes all exercises for desired training.
234+ /// </summary>
235+ /// <param name="trainingId">Unique identifier of the desired training.</param>
171236 [ Authorize ( Roles = "Admin, Trainer" ) ]
172237 [ HttpDelete ( "trainingExercise/{trainingId}" ) ]
173238 [ ProducesResponseType ( typeof ( TrainingExercise ) , StatusCodes . Status200OK ) ]
@@ -177,6 +242,11 @@ public async Task<IActionResult> DeleteTrainingExercises(string trainingId)
177242 return Ok ( result ) ;
178243 }
179244
245+ /// <summary>
246+ /// API for training's queue update. Adds client's unique identifier in queue of clients who purchased this training.
247+ /// </summary>
248+ /// <param name="clientId">Unique identifier of client who purchased training.</param>
249+ /// <param name="trainingId">Unique identifier of purchased training.</param>
180250 [ Authorize ( Roles = "Client" ) ]
181251 [ HttpPost ( "training/{trainingId}/addClient/{clientId}" ) ]
182252 public async Task < IActionResult > AddClientToTraining ( string trainingId , string clientId )
@@ -189,6 +259,10 @@ public async Task<IActionResult> AddClientToTraining(string trainingId, string c
189259 return Ok ( $ "Client { clientId } added to training { trainingId } .") ;
190260 }
191261
262+ /// <summary>
263+ /// API for retrieval of purchased trainings for client.
264+ /// </summary>
265+ /// <param name="clientId">Unique identifier of desired client.</param>
192266 [ Authorize ( Roles = "Admin, Trainer, Client" ) ]
193267 [ HttpGet ( "training/byClient/{clientId}" ) ]
194268 public async Task < ActionResult < List < string > > > GetTrainingsByClient ( string clientId )
0 commit comments