diff --git a/schema.js b/schema.js index 04eb70d..fd97bee 100644 --- a/schema.js +++ b/schema.js @@ -136,5 +136,5 @@ var video12 = db.videos.insertOne({ }).insertedId; // Update the users documents with the _id fields of the videos documents -db.users.updateOne({ "_id": user1 }, { "$set": { "favorites": [video1, video3, video4, video5, video7, video8, video9, video11] } }); -db.users.updateOne({ "_id": user2 }, { "$set": { "favorites": [video2, video3, video4, video6, video7, video10, video12] } }); \ No newline at end of file +db.users.updateOne({ "_id": user1 }, { "$set": { "favorites": [video1] } }); +db.users.updateOne({ "_id": user2 }, { "$set": { "favorites": [video2] } }); \ No newline at end of file diff --git a/src/main/java/com/postech30/movies/controller/UserController.java b/src/main/java/com/postech30/movies/controller/UserController.java index e110ca0..5cfd203 100644 --- a/src/main/java/com/postech30/movies/controller/UserController.java +++ b/src/main/java/com/postech30/movies/controller/UserController.java @@ -1,6 +1,7 @@ package com.postech30.movies.controller; import com.postech30.movies.dto.UserDTO; +import com.postech30.movies.entity.Video; import com.postech30.movies.service.UserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -74,4 +75,20 @@ public Mono updateUser(@RequestBody UserDTO userDTO, @PathVariable("id" public Mono deleteUser(@PathVariable("id") String userId) { return userService.deleteUser(userId); } + + + @Operation(summary = "Recomenda video a o usuario", + description = "Recomenda video com base nos favoritos do usuario com base nos dados do sistema.") + @ApiResponses({ + @ApiResponse(responseCode = "200", description = "Sucesso"), + @ApiResponse(responseCode = "400", description = "Request incorreto"), + @ApiResponse(responseCode = "404", description = "Usuário não encontrado") + }) + @GetMapping("/recommendation/{userId}") + public Flux