1
1
package com .codedifferently .lesson26 .web ;
2
2
3
+ import com .codedifferently .lesson26 .library .Librarian ;
4
+ import com .codedifferently .lesson26 .library .Library ;
5
+ import com .codedifferently .lesson26 .library .MediaItem ;
6
+ import com .codedifferently .lesson26 .library .search .SearchCriteria ;
7
+ import jakarta .validation .Valid ;
3
8
import java .io .IOException ;
4
9
import java .util .List ;
5
10
import java .util .Set ;
6
11
import java .util .UUID ;
7
-
8
12
import org .springframework .http .ResponseEntity ;
9
13
import org .springframework .web .bind .annotation .CrossOrigin ;
10
14
import org .springframework .web .bind .annotation .DeleteMapping ;
14
18
import org .springframework .web .bind .annotation .RequestBody ;
15
19
import org .springframework .web .bind .annotation .RestController ;
16
20
17
- import com .codedifferently .lesson26 .library .Librarian ;
18
- import com .codedifferently .lesson26 .library .Library ;
19
- import com .codedifferently .lesson26 .library .MediaItem ;
20
- import com .codedifferently .lesson26 .library .search .SearchCriteria ;
21
-
22
- import jakarta .validation .Valid ;
23
-
24
21
@ RestController
25
22
@ CrossOrigin
26
23
public class MediaItemsController {
@@ -39,27 +36,28 @@ public GetMediaItemsResponse getItems() {
39
36
var response = GetMediaItemsResponse .builder ().items (responseItems ).build ();
40
37
return response ;
41
38
}
39
+
42
40
@ GetMapping ("/items/{id}" )
43
41
public ResponseEntity <MediaItemResponse > getItemById (@ PathVariable ("id" ) UUID id ) {
44
42
SearchCriteria searchCriteria = SearchCriteria .builder ().id (id .toString ()).build ();
45
43
46
44
Set <MediaItem > foundItem = library .search (searchCriteria );
47
45
48
- if (foundItem .isEmpty ()) {
46
+ if (foundItem .isEmpty ()) {
49
47
return ResponseEntity .notFound ().build ();
50
48
}
51
49
MediaItem item = foundItem .iterator ().next ();
52
50
MediaItemResponse response = MediaItemResponse .from (item );
53
-
51
+
54
52
return ResponseEntity .ok (response );
55
53
}
56
54
57
55
@ DeleteMapping ("/items/{id}" )
58
- public ResponseEntity <Void > deleteItem (@ PathVariable ("id" )UUID id ) {
56
+ public ResponseEntity <Void > deleteItem (@ PathVariable ("id" ) UUID id ) {
59
57
SearchCriteria searchCriteria = SearchCriteria .builder ().id (id .toString ()).build ();
60
58
61
59
Set <MediaItem > foundItem = library .search (searchCriteria );
62
- if (foundItem .isEmpty ()) {
60
+ if (foundItem .isEmpty ()) {
63
61
return ResponseEntity .notFound ().build ();
64
62
}
65
63
MediaItem item = foundItem .iterator ().next ();
@@ -73,7 +71,7 @@ public CreateMediaItemResponse addsItem(@Valid @RequestBody CreateMediaItemReque
73
71
MediaItem item = MediaItemRequest .asMediaItem (itemRequest );
74
72
library .addMediaItem (item , librarian );
75
73
CreateMediaItemResponse response =
76
- CreateMediaItemResponse .builder ().item (getItemById (item .getId ()).getBody ()).build ();
74
+ CreateMediaItemResponse .builder ().item (getItemById (item .getId ()).getBody ()).build ();
77
75
return response ;
78
76
}
79
77
}
0 commit comments