Bug 32939: Have a generic APIClient object
[koha-ffzg.git] / koha-tmpl / intranet-tmpl / prog / js / vue / fetch / erm-api-client.js
1 import HttpClient from "./http-client";
2
3 export class ERMAPIClient extends HttpClient {
4     constructor() {
5         super({
6             baseURL: "/api/v1/erm/",
7         });
8     }
9
10     get agreements() {
11         return {
12             get: (id) =>
13                 this.get({
14                     endpoint: "agreements/" + id,
15                     headers: {
16                         "x-koha-embed":
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",
18                     },
19                 }),
20             getAll: (query) =>
21                 this.get({
22                     endpoint: "agreements?" + (query || "_per_page=-1"),
23                 }),
24             delete: (id) =>
25                 this.delete({
26                     endpoint: "agreements/" + id,
27                     headers: this.getDefaultJSONPayloadHeader(),
28                 }),
29             create: (agreement) =>
30                 this.post({
31                     endpoint: "agreements",
32                     body: agreement,
33                     headers: this.getDefaultJSONPayloadHeader(),
34                 }),
35             update: (agreement, id) =>
36                 this.put({
37                     endpoint: "agreements/" + id,
38                     body: agreement,
39                     headers: this.getDefaultJSONPayloadHeader(),
40                 }),
41             //count: () => this.count("agreements"), //TODO: Implement count method
42         };
43     }
44 }
45
46 export default ERMAPIClient;