From a57845f08a6eb9bc32c2173f15472e0c29722cf6 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Mon, 10 Oct 2022 00:33:20 +0800 Subject: refactor: Restructure and create new models --- code/app/src/lib/models/base/Customer.ts | 21 +++++++++++++++++++++ code/app/src/lib/models/base/CustomerContact.ts | 8 ++++++++ code/app/src/lib/models/base/CustomerEvent.ts | 6 ++++++ code/app/src/lib/models/base/Tenant.ts | 8 ++++++++ code/app/src/lib/models/base/User.ts | 13 +++++++++++++ code/app/src/lib/models/base/UserRole.ts | 5 +++++ 6 files changed, 61 insertions(+) create mode 100644 code/app/src/lib/models/base/Customer.ts create mode 100644 code/app/src/lib/models/base/CustomerContact.ts create mode 100644 code/app/src/lib/models/base/CustomerEvent.ts create mode 100644 code/app/src/lib/models/base/Tenant.ts create mode 100644 code/app/src/lib/models/base/User.ts create mode 100644 code/app/src/lib/models/base/UserRole.ts (limited to 'code/app/src/lib/models/base') 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 -- cgit v1.3