From dcc5928f36ee0e184210e4f2bbbeafe85541cbe1 Mon Sep 17 00:00:00 2001
From: Steve Reis <stevereis93@gmail.com>
Date: Sun, 26 Sep 2021 19:40:02 +0200
Subject: [PATCH] Refactor models (added entity parent class)

---
 api/src/engine/models/category.model.ts | 11 +++--------
 api/src/engine/models/entity.model.ts   | 10 ++++++++++
 api/src/engine/models/group.model.ts    |  9 ++-------
 api/src/engine/models/variable.model.ts |  9 ++-------
 4 files changed, 17 insertions(+), 22 deletions(-)
 create mode 100644 api/src/engine/models/entity.model.ts

diff --git a/api/src/engine/models/category.model.ts b/api/src/engine/models/category.model.ts
index 877acc5..921ebfc 100644
--- a/api/src/engine/models/category.model.ts
+++ b/api/src/engine/models/category.model.ts
@@ -1,10 +1,5 @@
-import { Field, ObjectType } from '@nestjs/graphql';
+import { ObjectType } from '@nestjs/graphql';
+import { Entity } from './entity.model';
 
 @ObjectType()
-export class Category {
-  @Field()
-  id: string;
-
-  @Field()
-  label: string;
-}
+export class Category extends Entity {}
diff --git a/api/src/engine/models/entity.model.ts b/api/src/engine/models/entity.model.ts
new file mode 100644
index 0000000..70fc950
--- /dev/null
+++ b/api/src/engine/models/entity.model.ts
@@ -0,0 +1,10 @@
+import { Field, ObjectType } from '@nestjs/graphql';
+
+@ObjectType()
+export class Entity {
+  @Field()
+  id: string;
+
+  @Field({ nullable: true })
+  label: string;
+}
diff --git a/api/src/engine/models/group.model.ts b/api/src/engine/models/group.model.ts
index d4b45f7..c2087ba 100644
--- a/api/src/engine/models/group.model.ts
+++ b/api/src/engine/models/group.model.ts
@@ -1,14 +1,9 @@
 import { Field, ObjectType } from '@nestjs/graphql';
+import { Entity } from './entity.model';
 import { Variable } from './variable.model';
 
 @ObjectType()
-export class Group {
-  @Field()
-  id: string;
-
-  @Field()
-  label: string;
-
+export class Group extends Entity {
   @Field({ nullable: true })
   description?: string;
 
diff --git a/api/src/engine/models/variable.model.ts b/api/src/engine/models/variable.model.ts
index 058feaf..e3c4098 100644
--- a/api/src/engine/models/variable.model.ts
+++ b/api/src/engine/models/variable.model.ts
@@ -1,15 +1,10 @@
 import { Field, ObjectType } from '@nestjs/graphql';
 import { Category } from './category.model';
+import { Entity } from './entity.model';
 import { Group } from './group.model';
 
 @ObjectType()
-export class Variable {
-  @Field()
-  id: string;
-
-  @Field({ nullable: true })
-  label?: string;
-
+export class Variable extends Entity {
   @Field()
   type: string;
 
-- 
GitLab