From 8c023675074eae4825fa1d1808c121eab7fda7f8 Mon Sep 17 00:00:00 2001 From: Milo Schwartz Date: Sun, 24 Nov 2024 22:48:17 -0500 Subject: [PATCH] show site type --- server/routers/site/listSites.ts | 32 +++++++++++-------- .../access/roles/components/RolesTable.tsx | 2 +- .../access/users/components/UsersTable.tsx | 14 ++++---- .../resources/components/ResourcesTable.tsx | 2 +- .../settings/sites/components/SitesTable.tsx | 28 ++++++++++++++-- src/app/[orgId]/settings/sites/page.tsx | 1 + 6 files changed, 54 insertions(+), 25 deletions(-) diff --git a/server/routers/site/listSites.ts b/server/routers/site/listSites.ts index 83adefa2..40d84b88 100644 --- a/server/routers/site/listSites.ts +++ b/server/routers/site/listSites.ts @@ -38,14 +38,15 @@ function querySites(orgId: string, accessibleSiteIds: number[]) { megabytesIn: sites.megabytesIn, megabytesOut: sites.megabytesOut, orgName: orgs.name, + type: sites.type, }) .from(sites) .leftJoin(orgs, eq(sites.orgId, orgs.orgId)) .where( and( inArray(sites.siteId, accessibleSiteIds), - eq(sites.orgId, orgId) - ) + eq(sites.orgId, orgId), + ), ); } @@ -57,7 +58,7 @@ export type ListSitesResponse = { export async function listSites( req: Request, res: Response, - next: NextFunction + next: NextFunction, ): Promise { try { const parsedQuery = listSitesSchema.safeParse(req.query); @@ -65,8 +66,8 @@ export async function listSites( return next( createHttpError( HttpCode.BAD_REQUEST, - fromError(parsedQuery.error) - ) + fromError(parsedQuery.error), + ), ); } const { limit, offset } = parsedQuery.data; @@ -76,8 +77,8 @@ export async function listSites( return next( createHttpError( HttpCode.BAD_REQUEST, - fromError(parsedParams.error) - ) + fromError(parsedParams.error), + ), ); } const { orgId } = parsedParams.data; @@ -86,8 +87,8 @@ export async function listSites( return next( createHttpError( HttpCode.FORBIDDEN, - "User does not have access to this organization" - ) + "User does not have access to this organization", + ), ); } @@ -100,8 +101,8 @@ export async function listSites( .where( or( eq(userSites.userId, req.user!.userId), - eq(roleSites.roleId, req.userOrgRoleId!) - ) + eq(roleSites.roleId, req.userOrgRoleId!), + ), ); const accessibleSiteIds = accessibleSites.map((site) => site.siteId); @@ -113,8 +114,8 @@ export async function listSites( .where( and( inArray(sites.siteId, accessibleSiteIds), - eq(sites.orgId, orgId) - ) + eq(sites.orgId, orgId), + ), ); const sitesList = await baseQuery.limit(limit).offset(offset); @@ -137,7 +138,10 @@ export async function listSites( }); } catch (error) { return next( - createHttpError(HttpCode.INTERNAL_SERVER_ERROR, "An error occurred") + createHttpError( + HttpCode.INTERNAL_SERVER_ERROR, + "An error occurred", + ), ); } } diff --git a/src/app/[orgId]/settings/access/roles/components/RolesTable.tsx b/src/app/[orgId]/settings/access/roles/components/RolesTable.tsx index 31dde81f..3b8c9c17 100644 --- a/src/app/[orgId]/settings/access/roles/components/RolesTable.tsx +++ b/src/app/[orgId]/settings/access/roles/components/RolesTable.tsx @@ -81,7 +81,7 @@ export default function UsersTable({ roles: r }: RolesTableProps) { @@ -147,7 +171,7 @@ export default function SitesTable({ sites, orgId }: SitesTableProps) { className="ml-2" onClick={() => router.push( - `/${siteRow.orgId}/settings/sites/${siteRow.nice}` + `/${siteRow.orgId}/settings/sites/${siteRow.nice}`, ) } > diff --git a/src/app/[orgId]/settings/sites/page.tsx b/src/app/[orgId]/settings/sites/page.tsx index 6aface72..6d5455c7 100644 --- a/src/app/[orgId]/settings/sites/page.tsx +++ b/src/app/[orgId]/settings/sites/page.tsx @@ -40,6 +40,7 @@ export default async function SitesPage(props: SitesPageProps) { mbIn: formatSize(site.megabytesIn || 0), mbOut: formatSize(site.megabytesOut || 0), orgId: params.orgId, + type: site.type as any, }; });