1 import HttpClient from "./http-client";
3 export class ERMAPIClient extends HttpClient {
6 baseURL: "/api/v1/erm/",
14 endpoint: "agreements/" + id,
17 "periods,user_roles,user_roles.patron,agreement_licenses,agreement_licenses.license,agreement_relationships,agreement_relationships.related_agreement,documents,agreement_packages,agreement_packages.package,vendor",
22 endpoint: "agreements?" + (query || "_per_page=-1"),
26 endpoint: "agreements/" + id,
28 create: (agreement) =>
30 endpoint: "agreements",
33 update: (agreement, id) =>
35 endpoint: "agreements/" + id,
38 //count: () => this.count("agreements"), //TODO: Implement count method
46 endpoint: "licenses/" + id,
49 "user_roles,user_roles.patron,vendor,documents",
54 endpoint: "licenses?" + (query || "_per_page=-1"),
56 "x-koha-embed": "vendor.name",
61 endpoint: "licenses/" + id,
68 update: (license, id) =>
70 endpoint: "licenses/" + id,
80 endpoint: "eholdings/local/packages/" + id,
83 "package_agreements,package_agreements.agreement,resources+count,vendor",
89 "eholdings/local/packages?" + (query || "_per_page=-1"),
91 "x-koha-embed": "resources+count,vendor.name",
96 endpoint: "eholdings/local/packages/" + id,
98 create: (local_package) =>
100 endpoint: "eholdings/local/packages",
103 update: (local_package, id) =>
105 endpoint: "eholdings/local/packages/" + id,
108 count: (query = {}) =>
111 "eholdings/local/packages?" +
112 new URLSearchParams({
115 ...(query && { q: JSON.stringify(query) }),
125 endpoint: "eholdings/local/titles/" + id,
127 "x-koha-embed": "resources,resources.package",
132 endpoint: "eholdings/local/titles?" + (query || "_per_page=-1"),
136 endpoint: "eholdings/local/titles/" + id,
138 create: (local_package) =>
140 endpoint: "eholdings/local/titles",
143 update: (local_package, id) =>
145 endpoint: "eholdings/local/titles/" + id,
148 count: (query = {}) =>
151 "eholdings/local/titles?" +
152 new URLSearchParams({
155 ...(query && { q: JSON.stringify(query) }),
161 get localResources() {
165 endpoint: "eholdings/local/resources/" + id,
167 "x-koha-embed": "title,package,vendor",
174 export default ERMAPIClient;