Test & fix the get defaults for sites

This commit is contained in:
Owen Schwartz 2024-10-26 17:23:48 -04:00
parent 7feb21e727
commit edcae190b2
No known key found for this signature in database
GPG key ID: 8271FDFFD9E0CCBD
3 changed files with 8 additions and 5 deletions

View file

@ -46,11 +46,11 @@ authenticated.put("/org/:orgId/site", verifyOrgAccess, site.createSite);
authenticated.get("/org/:orgId/sites", verifyOrgAccess, site.listSites); authenticated.get("/org/:orgId/sites", verifyOrgAccess, site.listSites);
authenticated.get("/org/:orgId/site/:niceId", verifyOrgAccess, site.getSite); authenticated.get("/org/:orgId/site/:niceId", verifyOrgAccess, site.getSite);
authenticated.get("/org/:orgId/pickSiteDefaults", verifyOrgAccess, site.pickSiteDefaults);
authenticated.get("/site/:siteId", verifySiteAccess, site.getSite); authenticated.get("/site/:siteId", verifySiteAccess, site.getSite);
authenticated.get("/site/:siteId/roles", verifySiteAccess, site.listSiteRoles); authenticated.get("/site/:siteId/roles", verifySiteAccess, site.listSiteRoles);
authenticated.post("/site/:siteId", verifySiteAccess, site.updateSite); authenticated.post("/site/:siteId", verifySiteAccess, site.updateSite);
authenticated.delete("/site/:siteId", verifySiteAccess, site.deleteSite); authenticated.delete("/site/:siteId", verifySiteAccess, site.deleteSite);
authenticated.delete("/site/pickSiteDefaults", site.pickSiteDefaults);
authenticated.put( authenticated.put(
"/org/:orgId/site/:siteId/resource", "/org/:orgId/site/:siteId/resource",

View file

@ -66,8 +66,10 @@ export async function pickSiteDefaults(
.where(eq(sites.exitNodeId, exitNode.exitNodeId)); .where(eq(sites.exitNodeId, exitNode.exitNodeId));
// TODO: we need to lock this subnet for some time so someone else does not take it // TODO: we need to lock this subnet for some time so someone else does not take it
const subnets = sitesQuery.map((site) => site.subnet); let subnets = sitesQuery.map((site) => site.subnet);
const newSubnet = findNextAvailableCidr(subnets, 28, exitNode.address); // exclude the exit node address by replacing after the / with a /28
subnets.push(exitNode.address.replace(/\/\d+$/, "/29"));
const newSubnet = findNextAvailableCidr(subnets, 29, exitNode.address);
if (!newSubnet) { if (!newSubnet) {
return next( return next(
createHttpError( createHttpError(

View file

@ -76,7 +76,7 @@ export function CreateSiteForm() {
setIsLoading(false); setIsLoading(false);
api api
.get(`/site/pickSiteDefaults`) .get(`/org/${orgId}/pickSiteDefaults`)
.catch((e) => { .catch((e) => {
toast({ toast({
title: "Error creating site..." title: "Error creating site..."
@ -93,7 +93,8 @@ export function CreateSiteForm() {
const res = await api const res = await api
.put(`/org/${orgId}/site/`, { .put(`/org/${orgId}/site/`, {
name: data.name, name: data.name,
// subdomain: data.subdomain, subnet: siteDefaults?.subnet,
exitNodeId: siteDefaults?.exitNodeId,
pubKey: keypair?.publicKey, pubKey: keypair?.publicKey,
}) })
.catch((e) => { .catch((e) => {