mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
60423edc17
Summary: - Reading plans from Stripe, and allowing Stripe to define custom plans. - Storing product features (aka limits) in Stripe, that override those in db. - Adding hierarchical data in Stripe. All features are defined at Product level but can be overwritten on Price levels. - New options for Support user to -- Override product for team site (if he is added as a billing manager) -- Override subscription and customer id for a team site -- Attach an "offer", an custom plan configured in stripe that a team site can use -- Enabling wire transfer for subscription by allowing subscription to be created without a payment method (which is customizable) Test Plan: Updated and new. Reviewers: georgegevoian Reviewed By: georgegevoian Differential Revision: https://phab.getgrist.com/D4201
24 lines
791 B
TypeScript
24 lines
791 B
TypeScript
import {nativeValues} from 'app/gen-server/lib/values';
|
|
import {MigrationInterface, QueryRunner, TableColumn} from 'typeorm';
|
|
|
|
export class Billing1711557445716 implements MigrationInterface {
|
|
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
await queryRunner.addColumn('billing_accounts', new TableColumn({
|
|
name: 'features',
|
|
type: nativeValues.jsonType,
|
|
isNullable: true,
|
|
}));
|
|
|
|
await queryRunner.addColumn('billing_accounts', new TableColumn({
|
|
name: 'payment_link',
|
|
type: nativeValues.jsonType,
|
|
isNullable: true,
|
|
}));
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<any> {
|
|
await queryRunner.dropColumn('billing_accounts', 'features');
|
|
await queryRunner.dropColumn('billing_accounts', 'payment_link');
|
|
}
|
|
}
|