From 50c237f6fa59efe7098307d77695fdfcdf7494e7 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Mon, 1 Jul 2024 19:03:25 +0100 Subject: [PATCH] Add database entity --- .../1719856023429-CreateMoon/Up/01-Moon.sql | 9 +++++++ src/database/entities/Moon.ts | 27 +++++++++++++++++++ .../3.3/1719856023429-CreateMoon.ts | 15 +++++++++++ 3 files changed, 51 insertions(+) create mode 100644 database/3.3.0/1719856023429-CreateMoon/Up/01-Moon.sql create mode 100644 src/database/entities/Moon.ts create mode 100644 src/database/migrations/3.3/1719856023429-CreateMoon.ts diff --git a/database/3.3.0/1719856023429-CreateMoon/Up/01-Moon.sql b/database/3.3.0/1719856023429-CreateMoon/Up/01-Moon.sql new file mode 100644 index 0000000..38ef6b2 --- /dev/null +++ b/database/3.3.0/1719856023429-CreateMoon/Up/01-Moon.sql @@ -0,0 +1,9 @@ +CREATE TABLE `moon` ( + `Id` varchar(255) NOT NULL, + `WhenCreated` datetime NOT NULL, + `WhenUpdated` datetime NOT NULL, + `ServerId` varchar(255) NOT NULL, + `UserId` varchar(255) NOT NULL, + `Description` varchar(255) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + diff --git a/src/database/entities/Moon.ts b/src/database/entities/Moon.ts new file mode 100644 index 0000000..cedf96f --- /dev/null +++ b/src/database/entities/Moon.ts @@ -0,0 +1,27 @@ +import { Column, Entity } from "typeorm"; +import BaseEntity from "../../contracts/BaseEntity"; +import AppDataSource from "../dataSources/appDataSource"; + +@Entity() +export default class Moon extends BaseEntity { + constructor(description: string, userId: string) { + super(); + + this.Description = description; + this.UserId = userId; + } + + @Column() + Description: string; + + @Column() + UserId: string; + + public static async FetchMoonsByUserId(userId: string): Promise { + const repository = AppDataSource.getRepository(Moon); + + const all = await repository.find({ where: { UserId: userId } }); + + return all; + } +} diff --git a/src/database/migrations/3.3/1719856023429-CreateMoon.ts b/src/database/migrations/3.3/1719856023429-CreateMoon.ts new file mode 100644 index 0000000..0ccc820 --- /dev/null +++ b/src/database/migrations/3.3/1719856023429-CreateMoon.ts @@ -0,0 +1,15 @@ +import { MigrationInterface, QueryRunner } from "typeorm" +import MigrationHelper from "../../../helpers/MigrationHelper" + +export class CreateMoon1719856023429 implements MigrationInterface { + + public async up(queryRunner: QueryRunner): Promise { + MigrationHelper.Up('1719856023429-CreateMoon', '3.3.0', [ + "01-Moon", + ], queryRunner); + } + + public async down(queryRunner: QueryRunner): Promise { + } + +}