aboutsummaryrefslogtreecommitdiffstats
path: root/code/app/src/models/base
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2023-02-25 13:15:44 +0100
committerivarlovlie <git@ivarlovlie.no>2023-02-25 13:15:44 +0100
commit900bb5e845c3ad44defbd427cae3d44a4a43321f (patch)
treedf3d96a93771884add571e82336c29fc3d9c7a1c /code/app/src/models/base
downloadgreatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.tar.xz
greatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.zip
feat: Initial commit
Diffstat (limited to 'code/app/src/models/base')
-rw-r--r--code/app/src/models/base/Customer.ts21
-rw-r--r--code/app/src/models/base/CustomerContact.ts8
-rw-r--r--code/app/src/models/base/CustomerEvent.ts6
-rw-r--r--code/app/src/models/base/SessionData.ts5
-rw-r--r--code/app/src/models/base/Tenant.ts8
-rw-r--r--code/app/src/models/base/User.ts13
-rw-r--r--code/app/src/models/base/UserRole.ts5
7 files changed, 66 insertions, 0 deletions
diff --git a/code/app/src/models/base/Customer.ts b/code/app/src/models/base/Customer.ts
new file mode 100644
index 0000000..ff52fbd
--- /dev/null
+++ b/code/app/src/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/models/base/CustomerContact.ts b/code/app/src/models/base/CustomerContact.ts
new file mode 100644
index 0000000..e8abea5
--- /dev/null
+++ b/code/app/src/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/models/base/CustomerEvent.ts b/code/app/src/models/base/CustomerEvent.ts
new file mode 100644
index 0000000..af86511
--- /dev/null
+++ b/code/app/src/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/models/base/SessionData.ts b/code/app/src/models/base/SessionData.ts
new file mode 100644
index 0000000..015cbf3
--- /dev/null
+++ b/code/app/src/models/base/SessionData.ts
@@ -0,0 +1,5 @@
+export type SessionData = {
+ id: string,
+ username: string,
+ displayName: string,
+} \ No newline at end of file
diff --git a/code/app/src/models/base/Tenant.ts b/code/app/src/models/base/Tenant.ts
new file mode 100644
index 0000000..6307efc
--- /dev/null
+++ b/code/app/src/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/models/base/User.ts b/code/app/src/models/base/User.ts
new file mode 100644
index 0000000..2b74d0e
--- /dev/null
+++ b/code/app/src/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/models/base/UserRole.ts b/code/app/src/models/base/UserRole.ts
new file mode 100644
index 0000000..ec32852
--- /dev/null
+++ b/code/app/src/models/base/UserRole.ts
@@ -0,0 +1,5 @@
+export enum UserRole {
+ REGULAR = "reg",
+ ADMINISTRATOR = "adm",
+ OWNER = "own"
+} \ No newline at end of file