MCPcopy Index your code
hub / github.com/coder/coder / isValidTemplateParameterOption

Function isValidTemplateParameterOption

cli/parameterresolver.go:400–430  ·  view source on GitHub ↗
(buildParameter codersdk.WorkspaceBuildParameter, templateVersionParameter codersdk.TemplateVersionParameter)

Source from the content-addressed store, hash-verified

398}
399
400func isValidTemplateParameterOption(buildParameter codersdk.WorkspaceBuildParameter, templateVersionParameter codersdk.TemplateVersionParameter) bool {
401 // Multi-select parameters store values as a JSON array (e.g.
402 // '["vim","emacs"]'), so we need to parse the array and validate
403 // each element individually against the allowed options.
404 if templateVersionParameter.Type == "list(string)" {
405 var values []string
406 if err := json.Unmarshal([]byte(buildParameter.Value), &values); err != nil {
407 return false
408 }
409 for _, v := range values {
410 found := false
411 for _, opt := range templateVersionParameter.Options {
412 if opt.Value == v {
413 found = true
414 break
415 }
416 }
417 if !found {
418 return false
419 }
420 }
421 return true
422 }
423
424 for _, opt := range templateVersionParameter.Options {
425 if opt.Value == buildParameter.Value {
426 return true
427 }
428 }
429 return false
430}
431
432func templateVersionParametersNotFound(unknown string, params []codersdk.TemplateVersionParameter) error {
433 var sb strings.Builder

Calls 1

UnmarshalMethod · 0.45

Tested by 1