aboutsummaryrefslogtreecommitdiff
path: root/src/classes
diff options
context:
space:
mode:
authorVidhu Kant Sharma <vidhukant@vidhukant.xyz>2022-09-26 23:57:18 +0530
committerVidhu Kant Sharma <vidhukant@vidhukant.xyz>2022-09-26 23:57:18 +0530
commit708862c94bd119ca7e86540fbc68595a6256c9e3 (patch)
tree7eb8d284746015fe015641ae082f48abde2512cc /src/classes
parentdb693ab4000405f5b02e71dfaf78efe6884b775b (diff)
created very basic client editor
Diffstat (limited to 'src/classes')
-rw-r--r--src/classes/client.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/classes/client.js b/src/classes/client.js
new file mode 100644
index 0000000..524d0ce
--- /dev/null
+++ b/src/classes/client.js
@@ -0,0 +1,66 @@
+/* OpenBills-web - Web based libre billing software
+ * Copyright (C) 2022 Vidhu Kant Sharma <vidhukant@vidhukant.xyz>
+
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+import axios from "axios";
+
+export class Address {
+ constructor() {
+ this.Text = "";
+ this.City = "";
+ this.State = "";
+ this.PostalCode = "";
+ this.Country = "";
+ }
+}
+
+export class Contact {
+ constructor() {
+ this.Name = "";
+ this.Phones = [];
+ this.Emails = [];
+ this.Website = "";
+ }
+}
+
+export class Client {
+ constructor() {
+ this.Id = null;
+ this.Name = "";
+ this.Contact = new Contact();
+ this.GSTIN = "";
+ this.BillingAddress = new Address();
+ this.ShippingAddress = [];
+ }
+}
+
+export const saveClient = (item, ok, fail) => {
+ axios.post("/client/new", item)
+ .then(res => { console.log(res);ok()})
+ .catch((err) => fail())
+}
+
+export const deleteClient = (id, ok, fail) => {
+ axios.delete(`/client/${id}`)
+ .then(res => ok())
+ .catch((err) => fail())
+}
+
+export const getAllClients = (ok, fail) => {
+ axios.get("/client/all")
+ .then(res => ok(res.data))
+ .catch(err => fail())
+}