From fd77633c8286c9d076dab9fedcaeff8681863dce Mon Sep 17 00:00:00 2001
From: Hanen Alrwasheda <alrwasheda@mi.fu-berlin.de>
Date: Mon, 10 Jan 2022 17:03:28 +0100
Subject: [PATCH] boatType Model

---
 server/src/db/models/BoatType.ts | 45 ++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 server/src/db/models/BoatType.ts

diff --git a/server/src/db/models/BoatType.ts b/server/src/db/models/BoatType.ts
new file mode 100644
index 0000000..3cbc2ed
--- /dev/null
+++ b/server/src/db/models/BoatType.ts
@@ -0,0 +1,45 @@
+import { Sequelize, DataTypes, Model, Optional } from "sequelize";
+
+interface BoatTypeAttributes {
+  id: string;
+  name: string;
+  seats: number;
+}
+export interface BoatTypeInput extends Optional<BoatTypeAttributes, "id"> {}
+
+class BoatType
+  extends Model<BoatTypeAttributes, BoatTypeInput>
+  implements BoatTypeAttributes
+{
+  declare id: string;
+  declare name: string;
+  declare seats: number;
+  declare readonly createdAt: Date;
+  declare readonly updatedAt: Date;
+}
+
+export const initBoatType = async (sequelizeConnection: Sequelize) => {
+  BoatType.init(
+    {
+      id: {
+        type: DataTypes.UUID,
+        defaultValue: DataTypes.UUIDV4,
+        primaryKey: true,
+        allowNull: false,
+      },
+      name: {
+        type: new DataTypes.STRING(),
+        allowNull: false,
+      },
+      seats: {
+        type: new DataTypes.INTEGER(),
+        allowNull: false,
+      },
+    },
+    {
+      tableName: "boatType",
+      sequelize: sequelizeConnection,
+    }
+  );
+};
+export default BoatType;
-- 
GitLab