import { MigrationInterface, QueryRunner } from "typeorm"

export class Notification1755774773833 implements MigrationInterface {
  name = "Notification1755774773833"

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `CREATE TABLE "notifications" ("id" SERIAL NOT NULL, "user_id" integer NOT NULL, "title" character varying(255) NOT NULL, "message" text NOT NULL, "data" json, "created_at" TIMESTAMP DEFAULT NOW(), CONSTRAINT "PK_6a72c3c0f683f6462415e653c3a" PRIMARY KEY ("id"))`,
    )
    await queryRunner.query(
      `ALTER TABLE "user_access_tokens" ADD "fcm_token" character varying`,
    )
    await queryRunner.query(
      `ALTER TABLE "notifications" ADD CONSTRAINT "FK_9a8a82462cab47c73d25f49261f" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "notifications" DROP CONSTRAINT "FK_9a8a82462cab47c73d25f49261f"`,
    )
    await queryRunner.query(
      `ALTER TABLE "user_access_tokens" DROP COLUMN "fcm_token"`,
    )
    await queryRunner.query(`DROP TABLE "notifications"`)
  }
}
