my $periods = delete $body->{periods} // [];
my $user_roles = delete $body->{user_roles} // [];
my $agreement_licenses = delete $body->{agreement_licenses} // [];
+ my $agreement_relationships = delete $body->{agreement_relationships} // [];
my $agreement = Koha::ERM::Agreement->new_from_api($body)->store;
$agreement->periods($periods);
$agreement->user_roles($user_roles);
$agreement->agreement_licenses($agreement_licenses);
+ $agreement->agreement_relationships($agreement_relationships);
$c->res->headers->location($c->req->url->to_string . '/' . $agreement->agreement_id);
return $c->render(
my $periods = delete $body->{periods} // [];
my $user_roles = delete $body->{user_roles} // [];
my $agreement_licenses = delete $body->{agreement_licenses} // [];
+ my $agreement_relationships = delete $body->{agreement_relationships} // [];
$agreement->set_from_api($body)->store;
$agreement->periods($periods);
$agreement->user_roles($user_roles);
$agreement->agreement_licenses($agreement_licenses);
+ $agreement->agreement_relationships($agreement_relationships);
$c->res->headers->location($c->req->url->to_string . '/' . $agreement->agreement_id);
return $c->render(
description: role for users
items:
$ref: erm_agreement_user_role.yaml
+ agreement_relationships:
+ type: array
+ description: agreement relationships
+ items:
+ $ref: erm_agreement_relationship.yaml
agreement_licenses:
type: array
description: agreement licenses
--- /dev/null
+---
+type: object
+properties:
+ agreement_id:
+ type: integer
+ description: Internal agreement identifier
+ related_agreement_id:
+ type: integer
+ description: Internal related agreement identifier
+ relationship:
+ description: relationship between the agreements
+ type: string
+ enum:
+ - supersedes
+ - is-superseded-by
+ - provides_post-cancellation_access_for
+ - has-post-cancellation-access-in
+ - tracks_demand-driven_acquisitions_for
+ - has-demand-driven-acquisitions-in
+ - has_backfile_in
+ - has_frontfile_in
+ - related_to
+ notes:
+ type:
+ - string
+ - "null"
+additionalProperties: false
+required:
+ - related_agreement_id
+ - relationship
- user_roles.patron
- agreement_licenses
- agreement_licenses.license
+ - agreement_relationships
+ - agreement_relationships.agreement
+ - agreement_relationships.related_agreement
put:
x-mojo-to: ERM::Agreements#update
operationId: updateErmAgreements
- periods
- user_roles
- agreement_licenses
+ - agreement_relationships
delete:
x-mojo-to: ERM::Agreements#delete
operationId: deleteErmAgreements