Path: blob/main/components/dashboard/src/data/organizations/create-org-mutation.ts
2501 views
/**1* Copyright (c) 2023 Gitpod GmbH. All rights reserved.2* Licensed under the GNU Affero General Public License (AGPL).3* See License.AGPL.txt in the project root for license information.4*/56import { useMutation } from "@tanstack/react-query";7import { useOrganizationsInvalidator } from "./orgs-query";8import { organizationClient } from "../../service/public-api";9import { Organization } from "@gitpod/public-api/lib/gitpod/v1/organization_pb";1011type CreateOrgArgs = Pick<Organization, "name">;1213export const useCreateOrgMutation = () => {14const invalidateOrgs = useOrganizationsInvalidator();1516return useMutation<Organization, Error, CreateOrgArgs>({17mutationFn: async ({ name }) => {18const { organization } = await organizationClient.createOrganization({ name });19if (!organization) {20throw new Error("Error creating organization");21}2223return organization;24},25onSuccess(newOrg) {26invalidateOrgs();27},28});29};303132