mirror of
https://github.com/documenso/documenso.git
synced 2026-07-21 07:23:37 +10:00
3887aa67c8
Replace per-event webhook handlers with a single sync function that fetches the current state from Stripe and converges the local subscription, claim, and organisation type. - Create organisations upfront before checkout, restricted as "pending payment" until the first payment syncs - Add rate-limited subscription sync route, triggered on checkout success so the UI doesn't wait on webhooks - Surface pending payment state in banner, billing table, and limits
59 lines
2.5 KiB
TypeScript
59 lines
2.5 KiB
TypeScript
import { router } from '../trpc';
|
|
import { createOrganisationEmailRoute } from './create-organisation-email';
|
|
import { createOrganisationEmailDomainRoute } from './create-organisation-email-domain';
|
|
import { createSubscriptionRoute } from './create-subscription';
|
|
import { declineLinkOrganisationAccountRoute } from './decline-link-organisation-account';
|
|
import { deleteOrganisationEmailRoute } from './delete-organisation-email';
|
|
import { deleteOrganisationEmailDomainRoute } from './delete-organisation-email-domain';
|
|
import { findOrganisationEmailDomainsRoute } from './find-organisation-email-domain';
|
|
import { findOrganisationEmailsRoute } from './find-organisation-emails';
|
|
import { getInvoicesRoute } from './get-invoices';
|
|
import { getOrganisationAuthenticationPortalRoute } from './get-organisation-authentication-portal';
|
|
import { getOrganisationEmailDomainRoute } from './get-organisation-email-domain';
|
|
import { getPlansRoute } from './get-plans';
|
|
import { getSubscriptionRoute } from './get-subscription';
|
|
import { linkOrganisationAccountRoute } from './link-organisation-account';
|
|
import { manageSubscriptionRoute } from './manage-subscription';
|
|
import { syncSubscriptionRoute } from './sync-subscription';
|
|
import { updateOrganisationAuthenticationPortalRoute } from './update-organisation-authentication-portal';
|
|
import { updateOrganisationEmailRoute } from './update-organisation-email';
|
|
import { verifyOrganisationEmailDomainRoute } from './verify-organisation-email-domain';
|
|
|
|
export const enterpriseRouter = router({
|
|
organisation: {
|
|
email: {
|
|
find: findOrganisationEmailsRoute,
|
|
create: createOrganisationEmailRoute,
|
|
update: updateOrganisationEmailRoute,
|
|
delete: deleteOrganisationEmailRoute,
|
|
},
|
|
emailDomain: {
|
|
get: getOrganisationEmailDomainRoute,
|
|
find: findOrganisationEmailDomainsRoute,
|
|
create: createOrganisationEmailDomainRoute,
|
|
delete: deleteOrganisationEmailDomainRoute,
|
|
verify: verifyOrganisationEmailDomainRoute,
|
|
},
|
|
authenticationPortal: {
|
|
get: getOrganisationAuthenticationPortalRoute,
|
|
update: updateOrganisationAuthenticationPortalRoute,
|
|
linkAccount: linkOrganisationAccountRoute,
|
|
declineLinkAccount: declineLinkOrganisationAccountRoute,
|
|
},
|
|
},
|
|
billing: {
|
|
plans: {
|
|
get: getPlansRoute,
|
|
},
|
|
subscription: {
|
|
get: getSubscriptionRoute,
|
|
create: createSubscriptionRoute,
|
|
manage: manageSubscriptionRoute,
|
|
sync: syncSubscriptionRoute,
|
|
},
|
|
invoices: {
|
|
get: getInvoicesRoute,
|
|
},
|
|
},
|
|
});
|