mirror of
https://github.com/documenso/documenso.git
synced 2025-11-15 09:12:02 +10:00
feat: add organisations (#1820)
This commit is contained in:
31
packages/trpc/server/billing/get-plans.ts
Normal file
31
packages/trpc/server/billing/get-plans.ts
Normal file
@ -0,0 +1,31 @@
|
||||
import { getInternalClaimPlans } from '@documenso/ee/server-only/stripe/get-internal-claim-plans';
|
||||
import { IS_BILLING_ENABLED } from '@documenso/lib/constants/app';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
|
||||
import { authenticatedProcedure } from '../trpc';
|
||||
|
||||
export const getPlansRoute = authenticatedProcedure.query(async ({ ctx }) => {
|
||||
const userId = ctx.user.id;
|
||||
|
||||
const plans = await getInternalClaimPlans();
|
||||
|
||||
let canCreateFreeOrganisation = false;
|
||||
|
||||
if (IS_BILLING_ENABLED()) {
|
||||
const numberOfFreeOrganisations = await prisma.organisation.count({
|
||||
where: {
|
||||
ownerUserId: userId,
|
||||
subscription: {
|
||||
is: null,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
canCreateFreeOrganisation = numberOfFreeOrganisations === 0;
|
||||
}
|
||||
|
||||
return {
|
||||
plans,
|
||||
canCreateFreeOrganisation,
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user