Lines 60-71
sub get {
Link Here
|
60 |
my $train_id = $c->param('train_id'); |
60 |
my $train_id = $c->param('train_id'); |
61 |
my $train = $c->objects->find( Koha::Preservation::Trains->search, $train_id ); |
61 |
my $train = $c->objects->find( Koha::Preservation::Trains->search, $train_id ); |
62 |
|
62 |
|
63 |
unless ($train) { |
63 |
return $c->resource_not_found("Train") |
64 |
return $c->render( |
64 |
unless $train; |
65 |
status => 404, |
|
|
66 |
openapi => { error => "Train not found" } |
67 |
); |
68 |
} |
69 |
|
65 |
|
70 |
return $c->render( |
66 |
return $c->render( |
71 |
status => 200, |
67 |
status => 200, |
Lines 144-155
sub update {
Link Here
|
144 |
my $train_id = $c->param('train_id'); |
140 |
my $train_id = $c->param('train_id'); |
145 |
my $train = Koha::Preservation::Trains->find($train_id); |
141 |
my $train = Koha::Preservation::Trains->find($train_id); |
146 |
|
142 |
|
147 |
unless ($train) { |
143 |
return $c->resource_not_found("Train") |
148 |
return $c->render( |
144 |
unless $train; |
149 |
status => 404, |
|
|
150 |
openapi => { error => "Train not found" } |
151 |
); |
152 |
} |
153 |
|
145 |
|
154 |
return try { |
146 |
return try { |
155 |
Koha::Database->new->schema->txn_do( |
147 |
Koha::Database->new->schema->txn_do( |
Lines 202-213
sub delete {
Link Here
|
202 |
my $c = shift->openapi->valid_input or return; |
194 |
my $c = shift->openapi->valid_input or return; |
203 |
|
195 |
|
204 |
my $train = Koha::Preservation::Trains->find( $c->param('train_id') ); |
196 |
my $train = Koha::Preservation::Trains->find( $c->param('train_id') ); |
205 |
unless ($train) { |
197 |
|
206 |
return $c->render( |
198 |
return $c->resource_not_found("Train") |
207 |
status => 404, |
199 |
unless $train; |
208 |
openapi => { error => "Train not found" } |
|
|
209 |
); |
210 |
} |
211 |
|
200 |
|
212 |
return try { |
201 |
return try { |
213 |
$train->delete; |
202 |
$train->delete; |
Lines 232-243
sub get_item {
Link Here
|
232 |
my $train_id = $c->param('train_id'); |
221 |
my $train_id = $c->param('train_id'); |
233 |
my $train = Koha::Preservation::Trains->find($train_id); |
222 |
my $train = Koha::Preservation::Trains->find($train_id); |
234 |
|
223 |
|
235 |
unless ($train) { |
224 |
return $c->resource_not_found("Train") |
236 |
return $c->render( |
225 |
unless $train; |
237 |
status => 404, |
|
|
238 |
openapi => { error => "Train not found" } |
239 |
); |
240 |
} |
241 |
|
226 |
|
242 |
my $train_item_id = $c->param('train_item_id'); |
227 |
my $train_item_id = $c->param('train_item_id'); |
243 |
|
228 |
|
Lines 276-287
sub add_items {
Link Here
|
276 |
my $train_id = $c->param('train_id'); |
261 |
my $train_id = $c->param('train_id'); |
277 |
my $train = Koha::Preservation::Trains->find($train_id); |
262 |
my $train = Koha::Preservation::Trains->find($train_id); |
278 |
|
263 |
|
279 |
unless ($train) { |
264 |
return $c->resource_not_found("Train") |
280 |
return $c->render( |
265 |
unless $train; |
281 |
status => 404, |
|
|
282 |
openapi => { error => "Train not found" } |
283 |
); |
284 |
} |
285 |
|
266 |
|
286 |
my $body = $c->req->json; |
267 |
my $body = $c->req->json; |
287 |
return try { |
268 |
return try { |
Lines 317-328
sub add_item {
Link Here
|
317 |
my $train_id = $c->param('train_id'); |
298 |
my $train_id = $c->param('train_id'); |
318 |
my $train = Koha::Preservation::Trains->find($train_id); |
299 |
my $train = Koha::Preservation::Trains->find($train_id); |
319 |
|
300 |
|
320 |
unless ($train) { |
301 |
return $c->resource_not_found("Train") |
321 |
return $c->render( |
302 |
unless $train; |
322 |
status => 404, |
|
|
323 |
openapi => { error => "Train not found" } |
324 |
); |
325 |
} |
326 |
|
303 |
|
327 |
my $body = $c->req->json; |
304 |
my $body = $c->req->json; |
328 |
return try { |
305 |
return try { |
Lines 385-408
sub copy_item {
Link Here
|
385 |
my $train_id = $c->param('train_id'); |
362 |
my $train_id = $c->param('train_id'); |
386 |
my $train = Koha::Preservation::Trains->find($train_id); |
363 |
my $train = Koha::Preservation::Trains->find($train_id); |
387 |
|
364 |
|
388 |
unless ($train) { |
365 |
return $c->resource_not_found("Train") |
389 |
return $c->render( |
366 |
unless $train; |
390 |
status => 404, |
|
|
391 |
openapi => { error => "Train not found" } |
392 |
); |
393 |
} |
394 |
|
367 |
|
395 |
my $train_item_id = $c->param('train_item_id'); |
368 |
my $train_item_id = $c->param('train_item_id'); |
396 |
|
369 |
|
397 |
my $train_item = |
370 |
my $train_item = |
398 |
Koha::Preservation::Train::Items->search( { train_item_id => $train_item_id, train_id => $train_id } )->single; |
371 |
Koha::Preservation::Train::Items->search( { train_item_id => $train_item_id, train_id => $train_id } )->single; |
399 |
|
372 |
|
400 |
unless ($train_item) { |
373 |
return $c->resource_not_found("Item") |
401 |
return $c->render( |
374 |
unless $train_item; |
402 |
status => 404, |
|
|
403 |
openapi => { error => "Item not found" } |
404 |
); |
405 |
} |
406 |
|
375 |
|
407 |
my $body = $c->req->json; |
376 |
my $body = $c->req->json; |
408 |
return try { |
377 |
return try { |
Lines 489-512
sub update_item {
Link Here
|
489 |
my $train_id = $c->param('train_id'); |
458 |
my $train_id = $c->param('train_id'); |
490 |
my $train = Koha::Preservation::Trains->find($train_id); |
459 |
my $train = Koha::Preservation::Trains->find($train_id); |
491 |
|
460 |
|
492 |
unless ($train) { |
461 |
return $c->resource_not_found("Train") |
493 |
return $c->render( |
462 |
unless $train; |
494 |
status => 404, |
|
|
495 |
openapi => { error => "Train not found" } |
496 |
); |
497 |
} |
498 |
|
463 |
|
499 |
my $train_item_id = $c->param('train_item_id'); |
464 |
my $train_item_id = $c->param('train_item_id'); |
500 |
|
465 |
|
501 |
my $train_item = |
466 |
my $train_item = |
502 |
Koha::Preservation::Train::Items->search( { train_item_id => $train_item_id, train_id => $train_id } )->single; |
467 |
Koha::Preservation::Train::Items->search( { train_item_id => $train_item_id, train_id => $train_id } )->single; |
503 |
|
468 |
|
504 |
unless ($train_item) { |
469 |
return $c->resource_not_found("Item") |
505 |
return $c->render( |
470 |
unless $train_item; |
506 |
status => 404, |
|
|
507 |
openapi => { error => "Item not found" } |
508 |
); |
509 |
} |
510 |
|
471 |
|
511 |
return try { |
472 |
return try { |
512 |
Koha::Database->new->schema->txn_do( |
473 |
Koha::Database->new->schema->txn_do( |
Lines 536-558
sub remove_item {
Link Here
|
536 |
my $train_id = $c->param('train_id'); |
497 |
my $train_id = $c->param('train_id'); |
537 |
my $train = Koha::Preservation::Trains->find($train_id); |
498 |
my $train = Koha::Preservation::Trains->find($train_id); |
538 |
|
499 |
|
539 |
unless ($train) { |
500 |
return $c->resource_not_found("Train") |
540 |
return $c->render( |
501 |
unless $train; |
541 |
status => 404, |
|
|
542 |
openapi => { error => "Train not found" } |
543 |
); |
544 |
} |
545 |
|
502 |
|
546 |
my $train_item_id = $c->param('train_item_id'); |
503 |
my $train_item_id = $c->param('train_item_id'); |
547 |
|
504 |
|
548 |
my $train_item = $train->items->find($train_item_id); |
505 |
my $train_item = $train->items->find($train_item_id); |
549 |
|
506 |
|
550 |
unless ($train_item) { |
507 |
return $c->resource_not_found("Train item") |
551 |
return $c->render( |
508 |
unless $train_item; |
552 |
status => 404, |
|
|
553 |
openapi => { error => "Train item not found" } |
554 |
); |
555 |
} |
556 |
|
509 |
|
557 |
return try { |
510 |
return try { |
558 |
$train_item->delete; |
511 |
$train_item->delete; |