Files
speckle-server/packages/server/modules/gatekeeperCore/domain/billing.ts
T
Gergő Jedlicska a3644a50c5 gergo/web 2931 introduce missing workspace plans (#4323)
* fix(gatekeeper): missing priceId-s should stop the server from booting

* feat(shared): add all new workspace plans

* feat(billing): add new world plans

* feat(ci): use stripe sandbox id-s from test env vars

* chore(ci): remove defunct stripe context

* chore(server-env): fix server env example

* feat(gatekeeper): add missing plans to graphql schema

* test(gatekeeper): update plan upgrade tests to match implementation

* fix(ci): update ci .env source

* fix(ci): we do need some secrets from stripe

* fix(ci): run gql schema introspect with the test env

* fix(frontend): format new plan names

* chore(ci): temp disable gql schema checks

* feat(helm): add unlimited seat prices env vars

* feat(helm): add unlimited seat prices to values

* feat(gatekeeper): do not load priceId-s as a side effect, load with module init
2025-04-07 15:24:57 +02:00

20 lines
610 B
TypeScript

import { PaidWorkspacePlans, WorkspacePlanBillingIntervals } from '@speckle/shared'
/**
* This includes the pricing plans (Stripe products) a customer can sub to
*/
export type WorkspacePricingProducts = PaidWorkspacePlans | 'guest'
type WorkspacePlanProductsMetadata<PriceData = string> = Record<
WorkspacePricingProducts,
Record<WorkspacePlanBillingIntervals, PriceData> & {
productId: string
}
>
export type WorkspacePlanProductAndPriceIds = WorkspacePlanProductsMetadata<string>
export type WorkspacePlanProductPrices = WorkspacePlanProductsMetadata<{
amount: number
currency: string
}>