aboutsummaryrefslogtreecommitdiffstats
path: root/code/app/src/lib/models/base
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-10-09 18:33:20 +0200
committerivarlovlie <git@ivarlovlie.no>2022-10-09 18:33:20 +0200
commita57845f08a6eb9bc32c2173f15472e0c29722cf6 (patch)
tree68724e66a4caadf78c464a9cd93f62c8aaed7401 /code/app/src/lib/models/base
parentb7e39b59fd0fc7b5610ebff29035bf622079e0d8 (diff)
downloadgreatoffice-a57845f08a6eb9bc32c2173f15472e0c29722cf6.tar.xz
greatoffice-a57845f08a6eb9bc32c2173f15472e0c29722cf6.zip
refactor: Restructure and create new models
Diffstat (limited to 'code/app/src/lib/models/base')
-rw-r--r--code/app/src/lib/models/base/Customer.ts21
-rw-r--r--code/app/src/lib/models/base/CustomerContact.ts8
-rw-r--r--code/app/src/lib/models/base/CustomerEvent.ts6
-rw-r--r--code/app/src/lib/models/base/Tenant.ts8
-rw-r--r--code/app/src/lib/models/base/User.ts13
-rw-r--r--code/app/src/lib/models/base/UserRole.ts5
6 files changed, 61 insertions, 0 deletions
diff --git a/code/app/src/lib/models/base/Customer.ts b/code/app/src/lib/models/base/Customer.ts
new file mode 100644
index 0000000..e44ebb6
--- /dev/null
+++ b/code/app/src/lib/models/base/Customer.ts
@@ -0,0 +1,21 @@
+import type { CustomerContact } from "./CustomerContact"
+import type { User } from "./User"
+
+export type Customer = {
+ /**
+ * Guid id for customer
+ */
+ id: string,
+ /**
+ * The name of the company
+ */
+ name: string,
+ /**
+ * Responsible contact in the current tenant
+ */
+ tenantContact: User,
+ /**
+ * The customers main contact
+ */
+ mainContact: CustomerContact,
+} \ No newline at end of file
diff --git a/code/app/src/lib/models/base/CustomerContact.ts b/code/app/src/lib/models/base/CustomerContact.ts
new file mode 100644
index 0000000..e8abea5
--- /dev/null
+++ b/code/app/src/lib/models/base/CustomerContact.ts
@@ -0,0 +1,8 @@
+export type CustomerContact = {
+ firstName: string,
+ lastname: string,
+ email: string,
+ phone: string,
+ workTitle: string,
+ note: string
+} \ No newline at end of file
diff --git a/code/app/src/lib/models/base/CustomerEvent.ts b/code/app/src/lib/models/base/CustomerEvent.ts
new file mode 100644
index 0000000..af86511
--- /dev/null
+++ b/code/app/src/lib/models/base/CustomerEvent.ts
@@ -0,0 +1,6 @@
+export type CustomerEvent = {
+ /**
+ * A descriptive name for the occured event
+ */
+ name: string,
+} \ No newline at end of file
diff --git a/code/app/src/lib/models/base/Tenant.ts b/code/app/src/lib/models/base/Tenant.ts
new file mode 100644
index 0000000..983122b
--- /dev/null
+++ b/code/app/src/lib/models/base/Tenant.ts
@@ -0,0 +1,8 @@
+import type { User } from "./User"
+
+export type Tenant = {
+ id: string,
+ name: string,
+ description: string,
+ masterUser: User,
+} \ No newline at end of file
diff --git a/code/app/src/lib/models/base/User.ts b/code/app/src/lib/models/base/User.ts
new file mode 100644
index 0000000..371c38e
--- /dev/null
+++ b/code/app/src/lib/models/base/User.ts
@@ -0,0 +1,13 @@
+import type { UserRole } from "./UserRole"
+
+export type User = {
+ /**
+ * Guid id for user
+ */
+ id: string,
+ firstName: string,
+ lastName: string,
+ role: UserRole,
+ username: string,
+ email: string
+} \ No newline at end of file
diff --git a/code/app/src/lib/models/base/UserRole.ts b/code/app/src/lib/models/base/UserRole.ts
new file mode 100644
index 0000000..ec32852
--- /dev/null
+++ b/code/app/src/lib/models/base/UserRole.ts
@@ -0,0 +1,5 @@
+export enum UserRole {
+ REGULAR = "reg",
+ ADMINISTRATOR = "adm",
+ OWNER = "own"
+} \ No newline at end of file