1 import HttpClient from "./http-client";
3 export class ERMAPIClient extends HttpClient {
6 baseURL: "/api/v1/erm/",
23 endpoint: "agreements/" + id,
26 "periods,user_roles,user_roles.patron,agreement_licenses,agreement_licenses.license,agreement_relationships,agreement_relationships.related_agreement,documents,agreement_packages,agreement_packages.package,vendor",
29 getAll: (query, params) =>
31 endpoint: "agreements",
37 endpoint: "agreements/" + id,
41 endpoint: "agreements",
44 update: (agreement, id) =>
46 endpoint: "agreements/" + id,
49 count: (query = {}) =>
56 ...(query && { q: JSON.stringify(query) }),
66 endpoint: "licenses/" + id,
69 "user_roles,user_roles.patron,vendor,documents",
72 getAll: (query, params) =>
78 "x-koha-embed": "vendor",
83 endpoint: "licenses/" + id,
90 update: (license, id) =>
92 endpoint: "licenses/" + id,
95 count: (query = {}) =>
102 ...(query && { q: JSON.stringify(query) }),
108 get localPackages() {
112 endpoint: "eholdings/local/packages/" + id,
115 "package_agreements,package_agreements.agreement,resources+count,vendor",
118 getAll: (query, params) =>
120 endpoint: "eholdings/local/packages",
124 "x-koha-embed": "resources+count,vendor.name",
129 endpoint: "eholdings/local/packages/" + id,
131 create: local_package =>
133 endpoint: "eholdings/local/packages",
136 update: (local_package, id) =>
138 endpoint: "eholdings/local/packages/" + id,
141 count: (query = {}) =>
144 "eholdings/local/packages?" +
145 new URLSearchParams({
148 ...(query && { q: JSON.stringify(query) }),
158 endpoint: "eholdings/local/titles/" + id,
160 "x-koha-embed": "resources,resources.package",
165 endpoint: "eholdings/local/titles/" + id,
167 create: local_package =>
169 endpoint: "eholdings/local/titles",
172 update: (local_package, id) =>
174 endpoint: "eholdings/local/titles/" + id,
177 count: (query = {}) =>
180 "eholdings/local/titles?" +
181 new URLSearchParams({
184 ...(query && { q: JSON.stringify(query) }),
189 endpoint: "eholdings/local/titles/import",
195 get localResources() {
199 endpoint: "eholdings/local/resources/" + id,
201 "x-koha-embed": "title,package,vendor",
207 get EBSCOPackages() {
211 endpoint: "eholdings/ebsco/packages/" + id,
214 "package_agreements,package_agreements.agreement,resources+count,vendor",
219 endpoint: "eholdings/ebsco/packages/" + id,
229 endpoint: "eholdings/ebsco/titles/" + id,
231 "x-koha-embed": "resources,resources.package",
237 get EBSCOResources() {
241 endpoint: "eholdings/ebsco/resources/" + id,
243 "x-koha-embed": "title,package,vendor",
248 endpoint: "eholdings/ebsco/resources/" + id,
254 get usage_data_providers() {
258 endpoint: "usage_data_providers/" + id,
262 endpoint: "usage_data_providers",
268 endpoint: "usage_data_providers/" + id,
270 create: usage_data_provider =>
272 endpoint: "usage_data_providers",
273 body: usage_data_provider,
275 update: (usage_data_provider, id) =>
277 endpoint: "usage_data_providers/" + id,
278 body: usage_data_provider,
282 endpoint: "usage_data_providers/" + id + "/run",
287 endpoint: "usage_data_providers/" + id + "/test_connection",
289 count: (query = {}) =>
292 "usage_data_providers?" +
293 new URLSearchParams({
296 ...(query && { q: JSON.stringify(query) }),
302 get counter_files() {
306 endpoint: "counter_files/" + id,
308 count: (query = {}) =>
312 new URLSearchParams({
315 ...(query && { q: JSON.stringify(query) }),
321 get default_usage_reports() {
325 endpoint: "default_usage_reports",
328 create: default_usage_report =>
330 endpoint: "default_usage_reports",
331 body: default_usage_report,
335 endpoint: "default_usage_reports/" + id,
340 get usage_platforms() {
344 endpoint: "usage_platforms",
347 count: (query = {}) =>
351 new URLSearchParams({
354 ...(query && { q: JSON.stringify(query) }),
364 endpoint: "usage_items",
367 count: (query = {}) =>
371 new URLSearchParams({
374 ...(query && { q: JSON.stringify(query) }),
380 get usage_databases() {
384 endpoint: "usage_databases",
387 count: (query = {}) =>
391 new URLSearchParams({
394 ...(query && { q: JSON.stringify(query) }),
404 endpoint: "usage_titles",
407 count: (query = {}) =>
411 new URLSearchParams({
414 ...(query && { q: JSON.stringify(query) }),
421 export default ERMAPIClient;