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