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 .exceptions .MediaItemCheckedOutException ;
7
- import com .codedifferently .lesson26 .library .search .SearchCriteria ;
8
3
import java .io .IOException ;
9
4
import java .util .List ;
10
5
import java .util .Set ;
11
6
import java .util .UUID ;
7
+
12
8
import org .springframework .http .ResponseEntity ;
13
9
import org .springframework .web .bind .annotation .CrossOrigin ;
14
10
import org .springframework .web .bind .annotation .DeleteMapping ;
18
14
import org .springframework .web .bind .annotation .RequestBody ;
19
15
import org .springframework .web .bind .annotation .RestController ;
20
16
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 .exceptions .MediaItemCheckedOutException ;
21
+ import com .codedifferently .lesson26 .library .search .SearchCriteria ;
22
+
21
23
@ RestController
22
24
@ CrossOrigin
23
25
public class MediaItemsController {
@@ -40,7 +42,7 @@ public ResponseEntity<GetMediaItemsResponse> getItems() {
40
42
41
43
@ GetMapping ("/items/{id}" )
42
44
public ResponseEntity <MediaItemResponse > getItemsById (@ PathVariable ("id" ) UUID id ) {
43
- Set <MediaItem > items = library .search (SearchCriteria .builder ().build ());
45
+ Set <MediaItem > items = library .search (SearchCriteria .builder ().id ( id . toString ()). build ());
44
46
45
47
if (items .isEmpty ()) {
46
48
return ResponseEntity .notFound ().build ();
@@ -51,15 +53,14 @@ public ResponseEntity<MediaItemResponse> getItemsById(@PathVariable("id") UUID i
51
53
}
52
54
53
55
@ PostMapping ("/items" )
54
- public ResponseEntity <CreateMediaItemResponse > postItem (
55
- @ RequestBody CreateMediaItemRequest request ) {
56
+ public ResponseEntity <CreateMediaItemResponse > postItem (@ RequestBody CreateMediaItemRequest request ) {
56
57
MediaItem newItem = MediaItemRequest .asMediaItem (request .getItem ());
57
58
58
59
library .addMediaItem (newItem , librarian );
59
60
60
61
MediaItemResponse itemResponse = MediaItemResponse .from (newItem );
61
62
CreateMediaItemResponse response = CreateMediaItemResponse .builder ().item (itemResponse ).build ();
62
-
63
+
63
64
return ResponseEntity .ok (response );
64
65
}
65
66
@@ -70,7 +71,7 @@ public ResponseEntity<Void> deleteItem(@PathVariable("id") UUID id) {
70
71
if (items .isEmpty ()) {
71
72
return ResponseEntity .notFound ().build ();
72
73
}
73
-
74
+
74
75
MediaItem itemToDelete = items .iterator ().next ();
75
76
76
77
try {
0 commit comments