[permissions] Add conditional permission gate on billing's checkoutSession (#10387)
Following a conversation with @etiennejouan and @martmull, we are adding a permission gate on billing resolver's checkoutSession, which should only be accessible to entitled users or at workspace creation (when there are no roles yet), when the subscription is incomplete
This commit is contained in:
@ -27,13 +27,6 @@ export class OnboardingService {
|
||||
private readonly userVarsService: UserVarsService<OnboardingKeyValueTypeMap>,
|
||||
) {}
|
||||
|
||||
private async isSubscriptionIncompleteOnboardingStatus(workspace: Workspace) {
|
||||
const hasAnySubscription =
|
||||
await this.billingService.hasWorkspaceAnySubscription(workspace.id);
|
||||
|
||||
return !hasAnySubscription;
|
||||
}
|
||||
|
||||
private isWorkspaceActivationPending(workspace: Workspace) {
|
||||
return (
|
||||
workspace.activationStatus === WorkspaceActivationStatus.PENDING_CREATION
|
||||
@ -41,7 +34,11 @@ export class OnboardingService {
|
||||
}
|
||||
|
||||
async getOnboardingStatus(user: User, workspace: Workspace) {
|
||||
if (await this.isSubscriptionIncompleteOnboardingStatus(workspace)) {
|
||||
if (
|
||||
await this.billingService.isSubscriptionIncompleteOnboardingStatus(
|
||||
workspace.id,
|
||||
)
|
||||
) {
|
||||
return OnboardingStatus.PLAN_REQUIRED;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user