|
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; |