Home / Function/ AwsMarketplaceCreateNewOrg() — supabase Function Reference

AwsMarketplaceCreateNewOrg() — supabase Function Reference

Architecture documentation for the AwsMarketplaceCreateNewOrg() function in AwsMarketplaceCreateNewOrg.tsx from the supabase codebase.

Entity Profile

Dependency Diagram

graph TD
  5e6b8338_9546_3029_960b_bab7e9eacd14["AwsMarketplaceCreateNewOrg()"]
  e1ed520f_1e4f_09ef_5750_d3c9a554e529["useCloudMarketplaceOnboardingInfoQuery()"]
  5e6b8338_9546_3029_960b_bab7e9eacd14 -->|calls| e1ed520f_1e4f_09ef_5750_d3c9a554e529
  style 5e6b8338_9546_3029_960b_bab7e9eacd14 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/studio/components/interfaces/Organization/CloudMarketplace/AwsMarketplaceCreateNewOrg.tsx lines 22–101

const AwsMarketplaceCreateNewOrg = () => {
  const router = useRouter()
  const {
    query: { buyer_id: buyerId },
  } = router

  const { data: onboardingInfo, isPending: isLoadingOnboardingInfo } =
    useCloudMarketplaceOnboardingInfoQuery({
      buyerId: buyerId as string,
    })

  const { mutate: createOrganization, isPending: isCreatingOrganization } =
    useAwsManagedOrganizationCreateMutation({
      onSuccess: (org) => {
        //TODO(thomas): send tracking event?
        router.push(`/org/${org.slug}`)
      },
      onError: (res) => {
        toast.error(res.message, {
          duration: 7_000,
        })
      },
    })

  const onSubmit: SubmitHandler<NewMarketplaceOrgForm> = async (values) => {
    createOrganization({ ...values, buyerId: buyerId as string })
  }

  return (
    <>
      {onboardingInfo &&
        !onboardingInfo.aws_contract_auto_renewal &&
        !onboardingInfo.aws_contract_is_private_offer && (
          <AwsMarketplaceAutoRenewalWarning
            awsContractEndDate={onboardingInfo.aws_contract_end_date}
            awsContractSettingsUrl={onboardingInfo.aws_contract_settings_url}
          />
        )}
      {isLoadingOnboardingInfo ? (
        <AwsMarketplaceOnboardingPlaceholder />
      ) : (
        <ScaffoldSection>
          <ScaffoldSectionDetail className="text-base">
            <p>
              You’ve subscribed to the Supabase {onboardingInfo?.plan_name_selected_on_marketplace}{' '}
              Plan via the AWS Marketplace. As a final step, you need to create a Supabase
              organization. That organization will be managed and billed through AWS Marketplace.
            </p>
            <p>
              You can read more on billing through AWS in our {''}
              <Link
                href={`${DOCS_URL}/guides/platform/aws-marketplace`}
                target="_blank"
                className="underline"
              >
                Billing Docs.
              </Link>
            </p>
          </ScaffoldSectionDetail>
          <ScaffoldSectionContent className="lg:ml-10">
            <div className="border-l px-10 pt-10">
              <NewAwsMarketplaceOrgForm onSubmit={onSubmit} />

              <div className="flex justify-end mt-10">
                <Button
                  form={CREATE_AWS_MANAGED_ORG_FORM_ID}
                  htmlType="submit"
                  loading={isCreatingOrganization}
                  size="medium"
                >
                  Create organization
                </Button>
              </div>
            </div>
          </ScaffoldSectionContent>
        </ScaffoldSection>
      )}
    </>
  )
}

Subdomains

Frequently Asked Questions

What does AwsMarketplaceCreateNewOrg() do?
AwsMarketplaceCreateNewOrg() is a function in the supabase codebase.
What does AwsMarketplaceCreateNewOrg() call?
AwsMarketplaceCreateNewOrg() calls 1 function(s): useCloudMarketplaceOnboardingInfoQuery.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free