add new resource create wizard

This commit is contained in:
miloschwartz 2025-04-23 20:58:53 -04:00
parent 4dba75f913
commit d6d6a59eee
No known key found for this signature in database
3 changed files with 572 additions and 584 deletions

View file

@ -39,7 +39,6 @@ const createHttpResourceSchema = z
isBaseDomain: z.boolean().optional(), isBaseDomain: z.boolean().optional(),
siteId: z.number(), siteId: z.number(),
http: z.boolean(), http: z.boolean(),
protocol: z.string(),
domainId: z.string() domainId: z.string()
}) })
.strict() .strict()
@ -203,7 +202,7 @@ async function createHttpResource(
); );
} }
const { name, subdomain, isBaseDomain, http, protocol, domainId } = const { name, subdomain, isBaseDomain, http, domainId } =
parsedBody.data; parsedBody.data;
const [orgDomain] = await db const [orgDomain] = await db
@ -262,7 +261,7 @@ async function createHttpResource(
name, name,
subdomain, subdomain,
http, http,
protocol, protocol: "tcp",
ssl: true, ssl: true,
isBaseDomain isBaseDomain
}) })

View file

@ -21,10 +21,8 @@ import {
} from "lucide-react"; } from "lucide-react";
import Link from "next/link"; import Link from "next/link";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import CreateResourceForm from "./CreateResourceForm";
import { useState } from "react"; import { useState } from "react";
import ConfirmDeleteDialog from "@app/components/ConfirmDeleteDialog"; import ConfirmDeleteDialog from "@app/components/ConfirmDeleteDialog";
import { set } from "zod";
import { formatAxiosError } from "@app/lib/api"; import { formatAxiosError } from "@app/lib/api";
import { toast } from "@app/hooks/useToast"; import { toast } from "@app/hooks/useToast";
import { createApiClient } from "@app/lib/api"; import { createApiClient } from "@app/lib/api";
@ -58,10 +56,8 @@ export default function SitesTable({ resources, orgId }: ResourcesTableProps) {
const api = createApiClient(useEnvContext()); const api = createApiClient(useEnvContext());
const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false); const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
const [selectedResource, setSelectedResource] = const [selectedResource, setSelectedResource] = useState<ResourceRow | null>();
useState<ResourceRow | null>();
const deleteResource = (resourceId: number) => { const deleteResource = (resourceId: number) => {
api.delete(`/resource/${resourceId}`) api.delete(`/resource/${resourceId}`)
@ -282,11 +278,6 @@ export default function SitesTable({ resources, orgId }: ResourcesTableProps) {
return ( return (
<> <>
<CreateResourceForm
open={isCreateModalOpen}
setOpen={setIsCreateModalOpen}
/>
{selectedResource && ( {selectedResource && (
<ConfirmDeleteDialog <ConfirmDeleteDialog
open={isDeleteModalOpen} open={isDeleteModalOpen}
@ -328,7 +319,7 @@ export default function SitesTable({ resources, orgId }: ResourcesTableProps) {
columns={columns} columns={columns}
data={resources} data={resources}
createResource={() => { createResource={() => {
setIsCreateModalOpen(true); router.push(`/${orgId}/settings/resources/create`);
}} }}
/> />
</> </>