Fix greptile reviews

This commit is contained in:
x032205
2025-07-09 22:27:42 -04:00
parent f58de53995
commit 79d80fad08
10 changed files with 48 additions and 36 deletions
@@ -4,8 +4,8 @@ import { SingleValue } from "react-select";
import { SecretSyncConnectionField } from "@app/components/secret-syncs/forms/SecretSyncConnectionField";
import { FilterableSelect, FormControl } from "@app/components/v2";
import {
TCloudflareWorkersProject,
useCloudflareConnectionListWorkersProjects
TCloudflareWorkersScript,
useCloudflareConnectionListWorkersScripts
} from "@app/hooks/api/appConnections/cloudflare";
import { SecretSync } from "@app/hooks/api/secretSyncs";
@@ -18,8 +18,8 @@ export const CloudflareWorkersSyncFields = () => {
const connectionId = useWatch({ name: "connection.id", control });
const { data: projects = [], isPending: isProjectsPending } =
useCloudflareConnectionListWorkersProjects(connectionId, {
const { data: scripts = [], isPending: isScriptsPending } =
useCloudflareConnectionListWorkersScripts(connectionId, {
enabled: Boolean(connectionId)
});
@@ -40,13 +40,13 @@ export const CloudflareWorkersSyncFields = () => {
label="Worker Script"
>
<FilterableSelect
isLoading={isProjectsPending && Boolean(connectionId)}
isLoading={isScriptsPending && Boolean(connectionId)}
isDisabled={!connectionId}
value={projects ? (projects.find((project) => project.id === value) ?? []) : []}
value={scripts?.find((script) => script.id === value) || []}
onChange={(option) => {
onChange((option as SingleValue<TCloudflareWorkersProject>)?.id ?? null);
onChange((option as SingleValue<TCloudflareWorkersScript>)?.id ?? null);
}}
options={projects}
options={scripts}
placeholder="Select a worker script..."
getOptionLabel={(option) => option.id}
getOptionValue={(option) => option.id}
@@ -7,7 +7,12 @@ export const CloudflareWorkersSyncDestinationSchema = BaseSecretSyncSchema().mer
z.object({
destination: z.literal(SecretSync.CloudflareWorkers),
destinationConfig: z.object({
scriptId: z.string().trim().min(1, "Script ID is required")
scriptId: z
.string()
.trim()
.min(1, "Script ID is required")
.max(64)
.regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/, "Invalid script ID format")
})
})
);
@@ -3,14 +3,14 @@ import { useQuery, UseQueryOptions } from "@tanstack/react-query";
import { apiRequest } from "@app/config/request";
import { appConnectionKeys } from "../queries";
import { TCloudflarePagesProject, TCloudflareWorkersProject } from "./types";
import { TCloudflarePagesProject, TCloudflareWorkersScript } from "./types";
const cloudflareConnectionKeys = {
all: [...appConnectionKeys.all, "cloudflare"] as const,
listPagesProjects: (connectionId: string) =>
[...cloudflareConnectionKeys.all, "pages-projects", connectionId] as const,
listWorkersProjects: (connectionId: string) =>
[...cloudflareConnectionKeys.all, "workers-projects", connectionId] as const
listWorkersScripts: (connectionId: string) =>
[...cloudflareConnectionKeys.all, "workers-scripts", connectionId] as const
};
export const useCloudflareConnectionListPagesProjects = (
@@ -38,23 +38,23 @@ export const useCloudflareConnectionListPagesProjects = (
});
};
export const useCloudflareConnectionListWorkersProjects = (
export const useCloudflareConnectionListWorkersScripts = (
connectionId: string,
options?: Omit<
UseQueryOptions<
TCloudflareWorkersProject[],
TCloudflareWorkersScript[],
unknown,
TCloudflareWorkersProject[],
ReturnType<typeof cloudflareConnectionKeys.listWorkersProjects>
TCloudflareWorkersScript[],
ReturnType<typeof cloudflareConnectionKeys.listWorkersScripts>
>,
"queryKey" | "queryFn"
>
) => {
return useQuery({
queryKey: cloudflareConnectionKeys.listWorkersProjects(connectionId),
queryKey: cloudflareConnectionKeys.listWorkersScripts(connectionId),
queryFn: async () => {
const { data } = await apiRequest.get<TCloudflareWorkersProject[]>(
`/api/v1/app-connections/cloudflare/${connectionId}/cloudflare-workers-projects`
const { data } = await apiRequest.get<TCloudflareWorkersScript[]>(
`/api/v1/app-connections/cloudflare/${connectionId}/cloudflare-workers-scripts`
);
return data;
@@ -3,6 +3,6 @@ export type TCloudflarePagesProject = {
name: string;
};
export type TCloudflareWorkersProject = {
export type TCloudflareWorkersScript = {
id: string;
};