♻️ set approval state nullable

This commit is contained in:
Fred KISSIE
2026-01-15 01:03:02 +01:00
parent fc0ec0d754
commit 9040f9b82a
6 changed files with 16 additions and 19 deletions

View File

@@ -693,9 +693,9 @@ export const clients = pgTable("clients", {
maxConnections: integer("maxConnections"),
archived: boolean("archived").notNull().default(false),
blocked: boolean("blocked").notNull().default(false),
approvalState: varchar("approvalState")
.$type<"pending" | "approved" | "denied">()
.default("approved")
approvalState: varchar("approvalState").$type<
"pending" | "approved" | "denied"
>()
});
export const clientSitesAssociationsCache = pgTable(

View File

@@ -388,9 +388,9 @@ export const clients = sqliteTable("clients", {
lastHolePunch: integer("lastHolePunch"),
archived: integer("archived", { mode: "boolean" }).notNull().default(false),
blocked: integer("blocked", { mode: "boolean" }).notNull().default(false),
approvalState: text("approvalState")
.$type<"pending" | "approved" | "denied">()
.default("approved")
approvalState: text("approvalState").$type<
"pending" | "approved" | "denied"
>()
});
export const clientSitesAssociationsCache = sqliteTable(

View File

@@ -204,7 +204,7 @@ export async function calculateUserClientsForOrgs(
olmId: olm.olmId,
type: "olm",
niceId,
approvalState: requireApproval ? "pending" : "approved"
approvalState: requireApproval ? "pending" : null
};
// Create the client

View File

@@ -58,7 +58,7 @@ export default async function ClientsPage(props: ClientsPageProps) {
agent: client.agent,
archived: client.archived || false,
blocked: client.blocked || false,
approvalState: client.approvalState ?? "approved"
approvalState: client.approvalState
};
};

View File

@@ -141,15 +141,6 @@ export const orgNavSections = (env?: Env): SidebarNavSection[] => [
}
]
: []),
...(build !== "oss"
? [
{
title: "sidebarApprovals",
href: "/{orgId}/settings/access/approvals",
icon: <UserCog className="size-4 flex-none" />
}
]
: []),
{
title: "sidebarShareableLinks",
href: "/{orgId}/settings/share-links",

View File

@@ -45,7 +45,7 @@ export type ClientRow = {
userEmail: string | null;
niceId: string;
agent: string | null;
approvalState: "approved" | "pending" | "denied";
approvalState: "approved" | "pending" | "denied" | null;
archived?: boolean;
blocked?: boolean;
};
@@ -430,12 +430,18 @@ export default function UserDevicesTable({ userClients }: ClientTableProps) {
);
case "denied":
return <Badge variant="red">{t("denied")}</Badge>;
default:
case "pending":
return (
<Badge variant="secondary">
{t("pending")}
</Badge>
);
default:
return (
<span className="text-muted-foreground">
N/A
</span>
);
}
}
});