offline license structure
This commit is contained in:
parent
7c4fe15781
commit
052a74f1d7
|
@ -2,7 +2,7 @@ import {
|
|||
Billing,
|
||||
Customer,
|
||||
Feature,
|
||||
License,
|
||||
License, OfflineLicense,
|
||||
PlanModel,
|
||||
PlanType,
|
||||
PriceDuration,
|
||||
|
@ -11,6 +11,7 @@ import {
|
|||
Quotas,
|
||||
Subscription,
|
||||
} from "@budibase/types"
|
||||
import { generator } from "./generator"
|
||||
|
||||
export function price(): PurchasedPrice {
|
||||
return {
|
||||
|
@ -127,14 +128,16 @@ export function subscription(): Subscription {
|
|||
}
|
||||
}
|
||||
|
||||
interface GenerateLicenseOpts {
|
||||
quotas?: Quotas
|
||||
plan?: PurchasedPlan
|
||||
planType?: PlanType
|
||||
features?: Feature[]
|
||||
billing?: Billing
|
||||
}
|
||||
|
||||
export const license = (
|
||||
opts: {
|
||||
quotas?: Quotas
|
||||
plan?: PurchasedPlan
|
||||
planType?: PlanType
|
||||
features?: Feature[]
|
||||
billing?: Billing
|
||||
} = {}
|
||||
opts: GenerateLicenseOpts = {}
|
||||
): License => {
|
||||
return {
|
||||
features: opts.features || [],
|
||||
|
@ -143,3 +146,17 @@ export const license = (
|
|||
billing: opts.billing || billing(),
|
||||
}
|
||||
}
|
||||
|
||||
export function offlineLicense (
|
||||
opts: GenerateLicenseOpts = {}
|
||||
): OfflineLicense {
|
||||
const base = license(opts)
|
||||
return {
|
||||
...base,
|
||||
expireAt: new Date().toISOString(),
|
||||
identifier: {
|
||||
installId: generator.guid(),
|
||||
tenantId: generator.guid()
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue