From 42c0177428963bd756af10517f603fa9b2df5427 Mon Sep 17 00:00:00 2001
From: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Date: Tue, 29 Oct 2024 16:52:34 +0000
Subject: [PATCH] Bug 38290: Add library group api client

---
 .../prog/js/fetch/library-api-client.js       | 22 +++++++++++++++++++
 .../prog/js/vue/components/Vendors/Main.vue   |  1 +
 .../prog/js/vue/fetch/api-client.js           |  2 ++
 3 files changed, 25 insertions(+)
 create mode 100644 koha-tmpl/intranet-tmpl/prog/js/fetch/library-api-client.js

diff --git a/koha-tmpl/intranet-tmpl/prog/js/fetch/library-api-client.js b/koha-tmpl/intranet-tmpl/prog/js/fetch/library-api-client.js
new file mode 100644
index 00000000000..93973c8c3fe
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/js/fetch/library-api-client.js
@@ -0,0 +1,22 @@
+import HttpClient from "../vue/fetch/http-client";
+
+export class LibraryAPIClient extends HttpClient {
+    constructor() {
+        super({
+            baseURL: "/api/v1/library_groups",
+        });
+    }
+
+    get libraryGroups() {
+        return {
+            getAll: (query, params) =>
+                this.getAll({
+                    endpoint: "",
+                    query,
+                    params,
+                }),
+        };
+    }
+}
+
+export default LibraryAPIClient;
diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/Main.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/Main.vue
index f1e2da9e93d..5933106235d 100644
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/Main.vue
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/Main.vue
@@ -32,6 +32,7 @@ import LeftMenu from "../LeftMenu.vue";
 import Dialog from "../Dialog.vue";
 import "vue-select/dist/vue-select.css";
 import { storeToRefs } from "pinia";
+import { APIClient } from "../../fetch/api-client.js";
 
 export default {
     setup() {
diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js b/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js
index c12f54beebf..91e0a2371fe 100644
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js
@@ -9,6 +9,7 @@ import ItemAPIClient from "@fetch/item-api-client";
 import RecordSourcesAPIClient from "@fetch/record-sources-api-client";
 import SysprefAPIClient from "@fetch/system-preferences-api-client";
 import PreservationAPIClient from "@fetch/preservation-api-client";
+import LibraryAPIClient from "@fetch/library-api-client";
 
 export const APIClient = {
     erm: new ERMAPIClient(HttpClient),
@@ -20,4 +21,5 @@ export const APIClient = {
     sysprefs: new SysprefAPIClient(HttpClient),
     preservation: new PreservationAPIClient(HttpClient),
     record_sources: new RecordSourcesAPIClient(HttpClient),
+    libraries: new LibraryAPIClient(HttpClient),
 };
-- 
2.48.1