37 lines
935 B
TypeScript
37 lines
935 B
TypeScript
|
|
import * as plugins from './plugins.js';
|
||
|
|
import { BillingPlanManager } from './classes.billingplanmanager.js';
|
||
|
|
import { User } from './classes.user.js';
|
||
|
|
|
||
|
|
/**
|
||
|
|
* a billing plan belongs to a user which can then attribute the billing plan to a organization
|
||
|
|
*/
|
||
|
|
@plugins.smartdata.Manager()
|
||
|
|
export class BillingPlan extends plugins.smartdata.SmartDataDbDoc<
|
||
|
|
BillingPlan,
|
||
|
|
plugins.lointReception.data.IBillingPlan,
|
||
|
|
BillingPlanManager
|
||
|
|
> {
|
||
|
|
// STATIC
|
||
|
|
public static syncForUser(userArg: User) {
|
||
|
|
// TODO sync this for user
|
||
|
|
}
|
||
|
|
|
||
|
|
@plugins.smartdata.svDb()
|
||
|
|
public id: string;
|
||
|
|
|
||
|
|
@plugins.smartdata.svDb()
|
||
|
|
public data: plugins.lointReception.data.IBillingPlan['data'] = {
|
||
|
|
type: null,
|
||
|
|
organizationId: null,
|
||
|
|
lastProcessed: null,
|
||
|
|
seats: null,
|
||
|
|
status: null,
|
||
|
|
billingEvents: [],
|
||
|
|
communications: [],
|
||
|
|
nextBilling: null,
|
||
|
|
proEnabled: false,
|
||
|
|
alternativePaymentData: null,
|
||
|
|
paddleData: null,
|
||
|
|
};
|
||
|
|
}
|