diff --git a/webui/src/components/apikeys/CreateApiKeyDialog.tsx b/webui/src/components/apikeys/CreateApiKeyDialog.tsx index 5c59ba3..06e2d78 100644 --- a/webui/src/components/apikeys/CreateApiKeyDialog.tsx +++ b/webui/src/components/apikeys/CreateApiKeyDialog.tsx @@ -8,9 +8,9 @@ import { Checkbox } from "@/components/ui/checkbox"; import { Alert, AlertDescription } from "@/components/ui/alert"; import { Loader2 } from "lucide-react"; import { apiKeysApi } from "@/lib/api"; -import { CreateKeyRequest, PermissionMode, InstancePermission } from "@/types/apiKey"; +import { PermissionMode, type CreateKeyRequest } from "@/types/apiKey"; import { useInstances } from "@/contexts/InstancesContext"; -import { format, addDays } from "date-fns"; +import { format } from "date-fns"; interface CreateApiKeyDialogProps { open: boolean; @@ -61,22 +61,19 @@ function CreateApiKeyDialog({ open, onOpenChange, onKeyCreated }: CreateApiKeyDi } // Build request - const permissions: InstancePermission[] = []; + const instanceIds: number[] = []; if (permissionMode === PermissionMode.PerInstance) { - Object.entries(instancePermissions).forEach(([instanceId, canInfer]) => { - if (canInfer) { - permissions.push({ - InstanceID: parseInt(instanceId), - CanInfer: true, - }); + Object.entries(instancePermissions).forEach(([instanceId, hasPermission]) => { + if (hasPermission) { + instanceIds.push(parseInt(instanceId)); } }); } const request: CreateKeyRequest = { - Name: name.trim(), - PermissionMode: permissionMode, - InstancePermissions: permissions, + name: name.trim(), + permission_mode: permissionMode, + instance_ids: instanceIds, }; // Add expiration if provided @@ -87,7 +84,7 @@ function CreateApiKeyDialog({ open, onOpenChange, onKeyCreated }: CreateApiKeyDi setError("Expiration date must be in the future"); return; } - request.ExpiresAt = Math.floor(expirationDate.getTime() / 1000); + request.expires_at = Math.floor(expirationDate.getTime() / 1000); } setLoading(true); @@ -107,10 +104,10 @@ function CreateApiKeyDialog({ open, onOpenChange, onKeyCreated }: CreateApiKeyDi }; const handleInstancePermissionChange = (instanceId: number, checked: boolean) => { - setInstancePermissions({ - ...instancePermissions, + setInstancePermissions(prev => ({ + ...prev, [instanceId]: checked, - }); + })); }; return ( @@ -172,25 +169,30 @@ function CreateApiKeyDialog({ open, onOpenChange, onKeyCreated }: CreateApiKeyDi
No instances available
) : (Loading permissions...
) : permissions[key.id] ? (Instance Permissions:
-| Instance Name | -Can Infer | -
|---|---|
| {perm.instance_name} | -
- |
-
Allowed Instances:
+No permissions data
@@ -262,7 +251,7 @@ function ApiKeysSection() {