make -B fmt lint

This commit is contained in:
Sas Swart
2025-01-24 08:07:24 +00:00
parent bf9e0a4749
commit 8d2a8f1527
4 changed files with 39 additions and 36 deletions

View File

@ -61,6 +61,7 @@ func (api *API) templateVersionPresetParameters(rw http.ResponseWriter, r *http.
Message: "Internal error fetching template version presets.", Message: "Internal error fetching template version presets.",
Detail: err.Error(), Detail: err.Error(),
}) })
return
} }
var res []codersdk.PresetParameter var res []codersdk.PresetParameter

View File

@ -376,6 +376,7 @@ func (b *Builder) buildTx(authFunc func(action policy.Action, object rbac.Object
Reason: b.reason, Reason: b.reason,
Deadline: time.Time{}, // set by provisioner upon completion Deadline: time.Time{}, // set by provisioner upon completion
MaxDeadline: time.Time{}, // set by provisioner upon completion MaxDeadline: time.Time{}, // set by provisioner upon completion
TemplateVersionPresetID: uuid.NullUUID{}, // TODO (sasswart): add this in from the caller
}) })
if err != nil { if err != nil {
code := http.StatusInternalServerError code := http.StatusInternalServerError

View File

@ -64,8 +64,8 @@ const CreateWorkspacePage: FC = () => {
: { enabled: false }, : { enabled: false },
); );
const templateVersionPresetParametersQuery = useQuery( const templateVersionPresetParametersQuery = useQuery(
templateVersionPresetsQuery.data templateQuery.data
? templateVersionPresetParameters(templateVersionPresetsQuery.data) ? templateVersionPresetParameters(templateQuery.data.active_version_id)
: { enabled: false }, : { enabled: false },
); );
const permissionsQuery = useQuery( const permissionsQuery = useQuery(

View File

@ -6,6 +6,7 @@ import { Alert } from "components/Alert/Alert";
import { ErrorAlert } from "components/Alert/ErrorAlert"; import { ErrorAlert } from "components/Alert/ErrorAlert";
import { Avatar } from "components/Avatar/Avatar"; import { Avatar } from "components/Avatar/Avatar";
import { Button } from "components/Button/Button"; import { Button } from "components/Button/Button";
import { SelectFilter } from "components/Filter/SelectFilter";
import { import {
FormFields, FormFields,
FormFooter, FormFooter,
@ -43,7 +44,6 @@ import type {
} from "./CreateWorkspacePage"; } from "./CreateWorkspacePage";
import { ExternalAuthButton } from "./ExternalAuthButton"; import { ExternalAuthButton } from "./ExternalAuthButton";
import type { CreateWSPermissions } from "./permissions"; import type { CreateWSPermissions } from "./permissions";
import { SelectFilter } from "components/Filter/SelectFilter";
export const Language = { export const Language = {
duplicationWarning: duplicationWarning:
@ -150,28 +150,19 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
[autofillParameters], [autofillParameters],
); );
const presetOptions = [ const presetOptions = useMemo(() => {
return [
{ label: "None", value: "" }, { label: "None", value: "" },
...presets.map((preset) => ({ ...presets.map((preset) => ({
label: preset.Name, label: preset.Name,
value: preset.ID, value: preset.ID,
})), })),
]; ];
}, [presets]);
const [selectedPresetIndex, setSelectedPresetIndex] = useState(0); const [selectedPresetIndex, setSelectedPresetIndex] = useState(0);
useEffect(() => { useEffect(() => {
if (!presetParameters) {
return;
}
const selectedPreset = presetOptions[selectedPresetIndex];
console.log("selectedPreset", selectedPreset);
const selectedPresetParameters = presetParameters.filter(
(param) => param.PresetID === selectedPreset.value,
);
console.log("selectedPresetParameters", selectedPresetParameters);
// TODO (sasswart): test case: what if immutable parameters are used in the preset? // TODO (sasswart): test case: what if immutable parameters are used in the preset?
// TODO (sasswart): test case: what if presets are defined for a template version with no params? // TODO (sasswart): test case: what if presets are defined for a template version with no params?
// TODO (sasswart): test case: what if a non active version is selected? // TODO (sasswart): test case: what if a non active version is selected?
@ -180,16 +171,26 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
// TODO (sasswart): test case: if we move from preset to no preset, do we reset the params? // TODO (sasswart): test case: if we move from preset to no preset, do we reset the params?
// If so, how should it behave? Reset to initial value? reset to last set value? // If so, how should it behave? Reset to initial value? reset to last set value?
if (!presetParameters) {
return;
}
const selectedPreset = presetOptions[selectedPresetIndex];
const selectedPresetParameters = presetParameters.filter(
(param) => param.PresetID === selectedPreset.value,
);
for (const param of selectedPresetParameters) { for (const param of selectedPresetParameters) {
const paramIndex = parameters.findIndex((p) => p.name === param.Name); const paramIndex = parameters.findIndex((p) => p.name === param.Name);
if (paramIndex !== -1) { if (paramIndex !== -1) {
form.setFieldValue(`rich_parameter_values.${paramIndex}`, { form.setFieldValue(`rich_parameter_values.${paramIndex}`, {
name: param.Name, name: param.Name,
value: param.Value value: param.Value,
}); });
} }
} }
}, [selectedPresetIndex, presetParameters]); }, [selectedPresetIndex, presetParameters, presetOptions, parameters, form]);
return ( return (
<Margins size="medium"> <Margins size="medium">