30 lines
2.2 KiB
JavaScript
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"`);
|
|
}
|
|
}
|