This repository has been archived on 2025-01-27. You can view files and clone it, but cannot push or open issues or pull requests.
puyoskey-rose/packages/backend/migration/1704130867407-SubscriptionPlan.js
2024-08-01 23:39:36 +09:00

30 lines
2.2 KiB
JavaScript

/*
* SPDX-FileCopyrightText: 16439s and syuilo and misskey-project...etc
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class SubscriptionPlan1704130867407 {
name = 'SubscriptionPlan1704130867407'
async up(queryRunner) {
await queryRunner.query(`CREATE TABLE "subscription_plan" ("id" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "stripePriceId" character varying(128) NOT NULL, "roleId" character varying(32) NOT NULL, "isArchived" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_01hk5ppx4h56qe96t9dehjzhye" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_01hk5pxbb3f8fd71v1h3mm84gx" ON "subscription_plan" ("roleId")`);
await queryRunner.query(`CREATE TYPE "public"."user_subscriptionstatus_enum" AS ENUM('incomplete', 'incomplete_expired', 'trialing', 'active', 'past_due', 'paused', 'canceled', 'unpaid', 'none')`);
await queryRunner.query(`ALTER TABLE "user" ADD "subscriptionStatus" "public"."user_subscriptionstatus_enum" NOT NULL DEFAULT 'none'`);
await queryRunner.query(`ALTER TABLE "user" ADD "subscriptionPlanId" character varying(32)`);
await queryRunner.query(`ALTER TABLE "meta" ADD "enableSubscriptions" boolean NOT NULL DEFAULT false`);
await queryRunner.query(`ALTER TABLE "user_profile" ADD "stripeCustomerId" character varying(128)`);
await queryRunner.query(`COMMENT ON COLUMN "user_profile"."stripeCustomerId" IS 'The stripe customer id of the User.'`);
}
async down(queryRunner) {
await queryRunner.query(`COMMENT ON COLUMN "user_profile"."stripeCustomerId" IS 'The stripe customer id of the User.'`);
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "stripeCustomerId"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableSubscriptions"`);
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "subscriptionPlanId"`);
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "subscriptionStatus"`);
await queryRunner.query(`DROP TYPE "public"."user_subscriptionstatus_enum"`);
await queryRunner.query(`DROP INDEX "public"."IDX_01hk5pxbb3f8fd71v1h3mm84gx"`);
await queryRunner.query(`DROP TABLE "subscription_plan"`);
}
}