From c036418a870c530122fab3fa2bfd6e509741fdd3 Mon Sep 17 00:00:00 2001 From: Andreas Date: Mon, 12 Jun 2023 05:02:26 +0200 Subject: [PATCH] Added Sequelize based models --- src/model/Models.ts | 8 ++++++-- src/model/sequelize/Auth.ts | 38 +++++++++++++++++++++++++++++++++++++ src/model/sequelize/Post.ts | 32 +++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 src/model/sequelize/Auth.ts create mode 100644 src/model/sequelize/Post.ts diff --git a/src/model/Models.ts b/src/model/Models.ts index 65c2df4..5fabcc4 100644 --- a/src/model/Models.ts +++ b/src/model/Models.ts @@ -1,5 +1,5 @@ import Gens from "@/gens"; -import { Sequelize, DataTypes, Association } from 'sequelize'; +import { Sequelize, DataTypes, Association, UUIDV4 } from 'sequelize'; const sequelize = new Sequelize({ dialect: 'sqlite', @@ -19,9 +19,13 @@ export const MAuth = sequelize.define('Auth', { type: DataTypes.INTEGER, primaryKey: true }, - token: DataTypes.STRING, + token: { + type: DataTypes.UUID, + defaultValue: UUIDV4 + }, user_id: { type: DataTypes.INTEGER, + key: "User" } // date: DataTypes.DATE, }); diff --git a/src/model/sequelize/Auth.ts b/src/model/sequelize/Auth.ts new file mode 100644 index 0000000..bf6ea1e --- /dev/null +++ b/src/model/sequelize/Auth.ts @@ -0,0 +1,38 @@ +import { Sequelize, DataTypes, Optional, Model, UUIDV4 } from 'sequelize'; +const sequelize = new Sequelize({ + dialect: 'sqlite', + storage: 'db.sqlite' +}); +interface AuthAttributes{ + id: number; + token: string; + user_id: number; +}; +interface AuthCreationAttributes extends Optional,'token'> {}; +class AuthModel extends Model{ + createdAt?: Date; + updatedAt?: Date; + token: any; + // declare title +} +export const MAuth = sequelize.define( + 'Auth', + { + id: { + allowNull: false, + autoIncrement: true, + type: DataTypes.INTEGER, + primaryKey: true, + unique: true, + }, + token: { + type: DataTypes.UUID, + defaultValue: UUIDV4 + }, + user_id: { + type: DataTypes.INTEGER, + key: "User" + } + // date: DataTypes.DATE, + } +); \ No newline at end of file diff --git a/src/model/sequelize/Post.ts b/src/model/sequelize/Post.ts new file mode 100644 index 0000000..69d6f46 --- /dev/null +++ b/src/model/sequelize/Post.ts @@ -0,0 +1,32 @@ +import { Sequelize, DataTypes, Optional, Model } from 'sequelize'; +const sequelize = new Sequelize({ + dialect: 'sqlite', + storage: 'db.sqlite' +}); +interface PostAttributes{ + id: number; + title: string; + content: string; +}; +interface PostCreationAttributes extends Optional{}; +class PostModel extends Model{ + username:string = ""; + password:string = ""; + createdAt?: Date; + updatedAt?: Date; + // declare title +} +export const MPost = sequelize.define( + 'Post', + { + id: { + allowNull: false, + autoIncrement: true, + type: DataTypes.INTEGER, + primaryKey: true, + unique: true, + }, + title: DataTypes.STRING, + content: DataTypes.STRING, + } +); \ No newline at end of file