mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
chore: remove coder/preview dependency from codersdk (#17939)
This commit is contained in:
@ -226,7 +226,7 @@ func (pr *ParameterResolver) resolveWithInput(resolved []codersdk.WorkspaceBuild
|
|||||||
if p != nil {
|
if p != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// Parameter has not been resolved yet, so CLI needs to determine if user should input it.
|
// PreviewParameter has not been resolved yet, so CLI needs to determine if user should input it.
|
||||||
|
|
||||||
firstTimeUse := pr.isFirstTimeUse(tvp.Name)
|
firstTimeUse := pr.isFirstTimeUse(tvp.Name)
|
||||||
promptParameterOption := pr.isLastBuildParameterInvalidOption(tvp)
|
promptParameterOption := pr.isLastBuildParameterInvalidOption(tvp)
|
||||||
|
@ -12,6 +12,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
|
"github.com/hashicorp/hcl/v2"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
"tailscale.com/tailcfg"
|
"tailscale.com/tailcfg"
|
||||||
|
|
||||||
@ -24,6 +25,7 @@ import (
|
|||||||
"github.com/coder/coder/v2/codersdk"
|
"github.com/coder/coder/v2/codersdk"
|
||||||
"github.com/coder/coder/v2/provisionersdk/proto"
|
"github.com/coder/coder/v2/provisionersdk/proto"
|
||||||
"github.com/coder/coder/v2/tailnet"
|
"github.com/coder/coder/v2/tailnet"
|
||||||
|
previewtypes "github.com/coder/preview/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
// List is a helper function to reduce boilerplate when converting slices of
|
// List is a helper function to reduce boilerplate when converting slices of
|
||||||
@ -764,3 +766,83 @@ func Chat(chat database.Chat) codersdk.Chat {
|
|||||||
func Chats(chats []database.Chat) []codersdk.Chat {
|
func Chats(chats []database.Chat) []codersdk.Chat {
|
||||||
return List(chats, Chat)
|
return List(chats, Chat)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func PreviewParameter(param previewtypes.Parameter) codersdk.PreviewParameter {
|
||||||
|
return codersdk.PreviewParameter{
|
||||||
|
PreviewParameterData: codersdk.PreviewParameterData{
|
||||||
|
Name: param.Name,
|
||||||
|
DisplayName: param.DisplayName,
|
||||||
|
Description: param.Description,
|
||||||
|
Type: codersdk.OptionType(param.Type),
|
||||||
|
FormType: codersdk.ParameterFormType(param.FormType),
|
||||||
|
Styling: codersdk.PreviewParameterStyling{
|
||||||
|
Placeholder: param.Styling.Placeholder,
|
||||||
|
Disabled: param.Styling.Disabled,
|
||||||
|
Label: param.Styling.Label,
|
||||||
|
},
|
||||||
|
Mutable: param.Mutable,
|
||||||
|
DefaultValue: PreviewHCLString(param.DefaultValue),
|
||||||
|
Icon: param.Icon,
|
||||||
|
Options: List(param.Options, PreviewParameterOption),
|
||||||
|
Validations: List(param.Validations, PreviewParameterValidation),
|
||||||
|
Required: param.Required,
|
||||||
|
Order: param.Order,
|
||||||
|
Ephemeral: param.Ephemeral,
|
||||||
|
},
|
||||||
|
Value: PreviewHCLString(param.Value),
|
||||||
|
Diagnostics: PreviewDiagnostics(param.Diagnostics),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func HCLDiagnostics(d hcl.Diagnostics) []codersdk.FriendlyDiagnostic {
|
||||||
|
return PreviewDiagnostics(previewtypes.Diagnostics(d))
|
||||||
|
}
|
||||||
|
|
||||||
|
func PreviewDiagnostics(d previewtypes.Diagnostics) []codersdk.FriendlyDiagnostic {
|
||||||
|
f := d.FriendlyDiagnostics()
|
||||||
|
return List(f, func(f previewtypes.FriendlyDiagnostic) codersdk.FriendlyDiagnostic {
|
||||||
|
return codersdk.FriendlyDiagnostic{
|
||||||
|
Severity: codersdk.DiagnosticSeverityString(f.Severity),
|
||||||
|
Summary: f.Summary,
|
||||||
|
Detail: f.Detail,
|
||||||
|
Extra: codersdk.DiagnosticExtra{
|
||||||
|
Code: f.Extra.Code,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func PreviewHCLString(h previewtypes.HCLString) codersdk.NullHCLString {
|
||||||
|
n := h.NullHCLString()
|
||||||
|
return codersdk.NullHCLString{
|
||||||
|
Value: n.Value,
|
||||||
|
Valid: n.Valid,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func PreviewParameterOption(o *previewtypes.ParameterOption) codersdk.PreviewParameterOption {
|
||||||
|
if o == nil {
|
||||||
|
// This should never be sent
|
||||||
|
return codersdk.PreviewParameterOption{}
|
||||||
|
}
|
||||||
|
return codersdk.PreviewParameterOption{
|
||||||
|
Name: o.Name,
|
||||||
|
Description: o.Description,
|
||||||
|
Value: PreviewHCLString(o.Value),
|
||||||
|
Icon: o.Icon,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func PreviewParameterValidation(v *previewtypes.ParameterValidation) codersdk.PreviewParameterValidation {
|
||||||
|
if v == nil {
|
||||||
|
// This should never be sent
|
||||||
|
return codersdk.PreviewParameterValidation{}
|
||||||
|
}
|
||||||
|
return codersdk.PreviewParameterValidation{
|
||||||
|
Error: v.Error,
|
||||||
|
Regex: v.Regex,
|
||||||
|
Min: v.Min,
|
||||||
|
Max: v.Max,
|
||||||
|
Monotonic: v.Monotonic,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -13,6 +13,7 @@ import (
|
|||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
|
|
||||||
"github.com/coder/coder/v2/coderd/database"
|
"github.com/coder/coder/v2/coderd/database"
|
||||||
|
"github.com/coder/coder/v2/coderd/database/db2sdk"
|
||||||
"github.com/coder/coder/v2/coderd/database/dbauthz"
|
"github.com/coder/coder/v2/coderd/database/dbauthz"
|
||||||
"github.com/coder/coder/v2/coderd/files"
|
"github.com/coder/coder/v2/coderd/files"
|
||||||
"github.com/coder/coder/v2/coderd/httpapi"
|
"github.com/coder/coder/v2/coderd/httpapi"
|
||||||
@ -286,10 +287,10 @@ func (api *API) handleParameterWebsocket(rw http.ResponseWriter, r *http.Request
|
|||||||
result, diagnostics := render(ctx, map[string]string{})
|
result, diagnostics := render(ctx, map[string]string{})
|
||||||
response := codersdk.DynamicParametersResponse{
|
response := codersdk.DynamicParametersResponse{
|
||||||
ID: -1, // Always start with -1.
|
ID: -1, // Always start with -1.
|
||||||
Diagnostics: previewtypes.Diagnostics(diagnostics),
|
Diagnostics: db2sdk.HCLDiagnostics(diagnostics),
|
||||||
}
|
}
|
||||||
if result != nil {
|
if result != nil {
|
||||||
response.Parameters = result.Parameters
|
response.Parameters = db2sdk.List(result.Parameters, db2sdk.PreviewParameter)
|
||||||
}
|
}
|
||||||
err = stream.Send(response)
|
err = stream.Send(response)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -314,10 +315,10 @@ func (api *API) handleParameterWebsocket(rw http.ResponseWriter, r *http.Request
|
|||||||
result, diagnostics := render(ctx, update.Inputs)
|
result, diagnostics := render(ctx, update.Inputs)
|
||||||
response := codersdk.DynamicParametersResponse{
|
response := codersdk.DynamicParametersResponse{
|
||||||
ID: update.ID,
|
ID: update.ID,
|
||||||
Diagnostics: previewtypes.Diagnostics(diagnostics),
|
Diagnostics: db2sdk.HCLDiagnostics(diagnostics),
|
||||||
}
|
}
|
||||||
if result != nil {
|
if result != nil {
|
||||||
response.Parameters = result.Parameters
|
response.Parameters = db2sdk.List(result.Parameters, db2sdk.PreviewParameter)
|
||||||
}
|
}
|
||||||
err = stream.Send(response)
|
err = stream.Send(response)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -68,8 +68,8 @@ func TestDynamicParametersOwnerSSHPublicKey(t *testing.T) {
|
|||||||
require.Equal(t, -1, preview.ID)
|
require.Equal(t, -1, preview.ID)
|
||||||
require.Empty(t, preview.Diagnostics)
|
require.Empty(t, preview.Diagnostics)
|
||||||
require.Equal(t, "public_key", preview.Parameters[0].Name)
|
require.Equal(t, "public_key", preview.Parameters[0].Name)
|
||||||
require.True(t, preview.Parameters[0].Value.Valid())
|
require.True(t, preview.Parameters[0].Value.Valid)
|
||||||
require.Equal(t, sshKey.PublicKey, preview.Parameters[0].Value.Value.AsString())
|
require.Equal(t, sshKey.PublicKey, preview.Parameters[0].Value.Value)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDynamicParametersWithTerraformValues(t *testing.T) {
|
func TestDynamicParametersWithTerraformValues(t *testing.T) {
|
||||||
@ -103,8 +103,8 @@ func TestDynamicParametersWithTerraformValues(t *testing.T) {
|
|||||||
|
|
||||||
require.Len(t, preview.Parameters, 1)
|
require.Len(t, preview.Parameters, 1)
|
||||||
require.Equal(t, "jetbrains_ide", preview.Parameters[0].Name)
|
require.Equal(t, "jetbrains_ide", preview.Parameters[0].Name)
|
||||||
require.True(t, preview.Parameters[0].Value.Valid())
|
require.True(t, preview.Parameters[0].Value.Valid)
|
||||||
require.Equal(t, "CL", preview.Parameters[0].Value.AsString())
|
require.Equal(t, "CL", preview.Parameters[0].Value.Value)
|
||||||
})
|
})
|
||||||
|
|
||||||
// OldProvisioners use the static parameters in the dynamic param flow
|
// OldProvisioners use the static parameters in the dynamic param flow
|
||||||
@ -154,8 +154,8 @@ func TestDynamicParametersWithTerraformValues(t *testing.T) {
|
|||||||
require.Contains(t, preview.Diagnostics[0].Summary, "required metadata to support dynamic parameters")
|
require.Contains(t, preview.Diagnostics[0].Summary, "required metadata to support dynamic parameters")
|
||||||
require.Len(t, preview.Parameters, 1)
|
require.Len(t, preview.Parameters, 1)
|
||||||
require.Equal(t, "jetbrains_ide", preview.Parameters[0].Name)
|
require.Equal(t, "jetbrains_ide", preview.Parameters[0].Name)
|
||||||
require.True(t, preview.Parameters[0].Value.Valid())
|
require.True(t, preview.Parameters[0].Value.Valid)
|
||||||
require.Equal(t, defaultValue, preview.Parameters[0].Value.AsString())
|
require.Equal(t, defaultValue, preview.Parameters[0].Value.Value)
|
||||||
|
|
||||||
// Test some inputs
|
// Test some inputs
|
||||||
for _, exp := range []string{defaultValue, "GO", "Invalid", defaultValue} {
|
for _, exp := range []string{defaultValue, "GO", "Invalid", defaultValue} {
|
||||||
@ -182,8 +182,8 @@ func TestDynamicParametersWithTerraformValues(t *testing.T) {
|
|||||||
require.Len(t, preview.Parameters[0].Diagnostics, 0)
|
require.Len(t, preview.Parameters[0].Diagnostics, 0)
|
||||||
}
|
}
|
||||||
require.Equal(t, "jetbrains_ide", preview.Parameters[0].Name)
|
require.Equal(t, "jetbrains_ide", preview.Parameters[0].Name)
|
||||||
require.True(t, preview.Parameters[0].Value.Valid())
|
require.True(t, preview.Parameters[0].Value.Valid)
|
||||||
require.Equal(t, exp, preview.Parameters[0].Value.AsString())
|
require.Equal(t, exp, preview.Parameters[0].Value.Value)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -7,17 +7,121 @@ import (
|
|||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
|
|
||||||
"github.com/coder/coder/v2/codersdk/wsjson"
|
"github.com/coder/coder/v2/codersdk/wsjson"
|
||||||
previewtypes "github.com/coder/preview/types"
|
|
||||||
"github.com/coder/websocket"
|
"github.com/coder/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
// FriendlyDiagnostic is included to guarantee it is generated in the output
|
type ParameterFormType string
|
||||||
// types. This is used as the type override for `previewtypes.Diagnostic`.
|
|
||||||
type FriendlyDiagnostic = previewtypes.FriendlyDiagnostic
|
|
||||||
|
|
||||||
// NullHCLString is included to guarantee it is generated in the output
|
const (
|
||||||
// types. This is used as the type override for `previewtypes.HCLString`.
|
ParameterFormTypeDefault ParameterFormType = ""
|
||||||
type NullHCLString = previewtypes.NullHCLString
|
ParameterFormTypeRadio ParameterFormType = "radio"
|
||||||
|
ParameterFormTypeSlider ParameterFormType = "slider"
|
||||||
|
ParameterFormTypeInput ParameterFormType = "input"
|
||||||
|
ParameterFormTypeDropdown ParameterFormType = "dropdown"
|
||||||
|
ParameterFormTypeCheckbox ParameterFormType = "checkbox"
|
||||||
|
ParameterFormTypeSwitch ParameterFormType = "switch"
|
||||||
|
ParameterFormTypeMultiSelect ParameterFormType = "multi-select"
|
||||||
|
ParameterFormTypeTagSelect ParameterFormType = "tag-select"
|
||||||
|
ParameterFormTypeTextArea ParameterFormType = "textarea"
|
||||||
|
ParameterFormTypeError ParameterFormType = "error"
|
||||||
|
)
|
||||||
|
|
||||||
|
type OptionType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
OptionTypeString OptionType = "string"
|
||||||
|
OptionTypeNumber OptionType = "number"
|
||||||
|
OptionTypeBoolean OptionType = "bool"
|
||||||
|
OptionTypeListString OptionType = "list(string)"
|
||||||
|
)
|
||||||
|
|
||||||
|
type DiagnosticSeverityString string
|
||||||
|
|
||||||
|
const (
|
||||||
|
DiagnosticSeverityError DiagnosticSeverityString = "error"
|
||||||
|
DiagnosticSeverityWarning DiagnosticSeverityString = "warning"
|
||||||
|
)
|
||||||
|
|
||||||
|
// FriendlyDiagnostic == previewtypes.FriendlyDiagnostic
|
||||||
|
// Copied to avoid import deps
|
||||||
|
type FriendlyDiagnostic struct {
|
||||||
|
Severity DiagnosticSeverityString `json:"severity"`
|
||||||
|
Summary string `json:"summary"`
|
||||||
|
Detail string `json:"detail"`
|
||||||
|
|
||||||
|
Extra DiagnosticExtra `json:"extra"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type DiagnosticExtra struct {
|
||||||
|
Code string `json:"code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NullHCLString == `previewtypes.NullHCLString`.
|
||||||
|
type NullHCLString struct {
|
||||||
|
Value string `json:"value"`
|
||||||
|
Valid bool `json:"valid"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PreviewParameter struct {
|
||||||
|
PreviewParameterData
|
||||||
|
Value NullHCLString `json:"value"`
|
||||||
|
Diagnostics []FriendlyDiagnostic `json:"diagnostics"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PreviewParameterData struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
DisplayName string `json:"display_name"`
|
||||||
|
Description string `json:"description"`
|
||||||
|
Type OptionType `json:"type"`
|
||||||
|
FormType ParameterFormType `json:"form_type"`
|
||||||
|
Styling PreviewParameterStyling `json:"styling"`
|
||||||
|
Mutable bool `json:"mutable"`
|
||||||
|
DefaultValue NullHCLString `json:"default_value"`
|
||||||
|
Icon string `json:"icon"`
|
||||||
|
Options []PreviewParameterOption `json:"options"`
|
||||||
|
Validations []PreviewParameterValidation `json:"validations"`
|
||||||
|
Required bool `json:"required"`
|
||||||
|
// legacy_variable_name was removed (= 14)
|
||||||
|
Order int64 `json:"order"`
|
||||||
|
Ephemeral bool `json:"ephemeral"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PreviewParameterStyling struct {
|
||||||
|
Placeholder *string `json:"placeholder,omitempty"`
|
||||||
|
Disabled *bool `json:"disabled,omitempty"`
|
||||||
|
Label *string `json:"label,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PreviewParameterOption struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Description string `json:"description"`
|
||||||
|
Value NullHCLString `json:"value"`
|
||||||
|
Icon string `json:"icon"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PreviewParameterValidation struct {
|
||||||
|
Error string `json:"validation_error"`
|
||||||
|
|
||||||
|
// All validation attributes are optional.
|
||||||
|
Regex *string `json:"validation_regex"`
|
||||||
|
Min *int64 `json:"validation_min"`
|
||||||
|
Max *int64 `json:"validation_max"`
|
||||||
|
Monotonic *string `json:"validation_monotonic"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type DynamicParametersRequest struct {
|
||||||
|
// ID identifies the request. The response contains the same
|
||||||
|
// ID so that the client can match it to the request.
|
||||||
|
ID int `json:"id"`
|
||||||
|
Inputs map[string]string `json:"inputs"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type DynamicParametersResponse struct {
|
||||||
|
ID int `json:"id"`
|
||||||
|
Diagnostics []FriendlyDiagnostic `json:"diagnostics"`
|
||||||
|
Parameters []PreviewParameter `json:"parameters"`
|
||||||
|
// TODO: Workspace tags
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Client) TemplateVersionDynamicParameters(ctx context.Context, userID, version uuid.UUID) (*wsjson.Stream[DynamicParametersResponse, DynamicParametersRequest], error) {
|
func (c *Client) TemplateVersionDynamicParameters(ctx context.Context, userID, version uuid.UUID) (*wsjson.Stream[DynamicParametersResponse, DynamicParametersRequest], error) {
|
||||||
conn, err := c.Dial(ctx, fmt.Sprintf("/api/v2/users/%s/templateversions/%s/parameters", userID, version), nil)
|
conn, err := c.Dial(ctx, fmt.Sprintf("/api/v2/users/%s/templateversions/%s/parameters", userID, version), nil)
|
||||||
|
@ -9,8 +9,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
|
|
||||||
previewtypes "github.com/coder/preview/types"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type TemplateVersionWarning string
|
type TemplateVersionWarning string
|
||||||
@ -125,20 +123,6 @@ func (c *Client) CancelTemplateVersion(ctx context.Context, version uuid.UUID) e
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type DynamicParametersRequest struct {
|
|
||||||
// ID identifies the request. The response contains the same
|
|
||||||
// ID so that the client can match it to the request.
|
|
||||||
ID int `json:"id"`
|
|
||||||
Inputs map[string]string `json:"inputs"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type DynamicParametersResponse struct {
|
|
||||||
ID int `json:"id"`
|
|
||||||
Diagnostics previewtypes.Diagnostics `json:"diagnostics"`
|
|
||||||
Parameters []previewtypes.Parameter `json:"parameters"`
|
|
||||||
// TODO: Workspace tags
|
|
||||||
}
|
|
||||||
|
|
||||||
// TemplateVersionParameters returns parameters a template version exposes.
|
// TemplateVersionParameters returns parameters a template version exposes.
|
||||||
func (c *Client) TemplateVersionRichParameters(ctx context.Context, version uuid.UUID) ([]TemplateVersionParameter, error) {
|
func (c *Client) TemplateVersionRichParameters(ctx context.Context, version uuid.UUID) ([]TemplateVersionParameter, error) {
|
||||||
res, err := c.Request(ctx, http.MethodGet, fmt.Sprintf("/api/v2/templateversions/%s/rich-parameters", version), nil)
|
res, err := c.Request(ctx, http.MethodGet, fmt.Sprintf("/api/v2/templateversions/%s/rich-parameters", version), nil)
|
||||||
|
@ -70,8 +70,8 @@ func TestDynamicParametersOwnerGroups(t *testing.T) {
|
|||||||
require.Equal(t, -1, preview.ID)
|
require.Equal(t, -1, preview.ID)
|
||||||
require.Empty(t, preview.Diagnostics)
|
require.Empty(t, preview.Diagnostics)
|
||||||
require.Equal(t, "group", preview.Parameters[0].Name)
|
require.Equal(t, "group", preview.Parameters[0].Name)
|
||||||
require.True(t, preview.Parameters[0].Value.Valid())
|
require.True(t, preview.Parameters[0].Value.Valid)
|
||||||
require.Equal(t, database.EveryoneGroup, preview.Parameters[0].Value.Value.AsString())
|
require.Equal(t, database.EveryoneGroup, preview.Parameters[0].Value.Value)
|
||||||
|
|
||||||
// Send a new value, and see it reflected
|
// Send a new value, and see it reflected
|
||||||
err = stream.Send(codersdk.DynamicParametersRequest{
|
err = stream.Send(codersdk.DynamicParametersRequest{
|
||||||
@ -83,8 +83,8 @@ func TestDynamicParametersOwnerGroups(t *testing.T) {
|
|||||||
require.Equal(t, 1, preview.ID)
|
require.Equal(t, 1, preview.ID)
|
||||||
require.Empty(t, preview.Diagnostics)
|
require.Empty(t, preview.Diagnostics)
|
||||||
require.Equal(t, "group", preview.Parameters[0].Name)
|
require.Equal(t, "group", preview.Parameters[0].Name)
|
||||||
require.True(t, preview.Parameters[0].Value.Valid())
|
require.True(t, preview.Parameters[0].Value.Valid)
|
||||||
require.Equal(t, group.Name, preview.Parameters[0].Value.Value.AsString())
|
require.Equal(t, group.Name, preview.Parameters[0].Value.Value)
|
||||||
|
|
||||||
// Back to default
|
// Back to default
|
||||||
err = stream.Send(codersdk.DynamicParametersRequest{
|
err = stream.Send(codersdk.DynamicParametersRequest{
|
||||||
@ -96,6 +96,6 @@ func TestDynamicParametersOwnerGroups(t *testing.T) {
|
|||||||
require.Equal(t, 3, preview.ID)
|
require.Equal(t, 3, preview.ID)
|
||||||
require.Empty(t, preview.Diagnostics)
|
require.Empty(t, preview.Diagnostics)
|
||||||
require.Equal(t, "group", preview.Parameters[0].Name)
|
require.Equal(t, "group", preview.Parameters[0].Name)
|
||||||
require.True(t, preview.Parameters[0].Value.Valid())
|
require.True(t, preview.Parameters[0].Value.Valid)
|
||||||
require.Equal(t, database.EveryoneGroup, preview.Parameters[0].Value.Value.AsString())
|
require.Equal(t, database.EveryoneGroup, preview.Parameters[0].Value.Value)
|
||||||
}
|
}
|
||||||
|
8
go.mod
8
go.mod
@ -96,12 +96,12 @@ require (
|
|||||||
github.com/chromedp/chromedp v0.13.3
|
github.com/chromedp/chromedp v0.13.3
|
||||||
github.com/cli/safeexec v1.0.1
|
github.com/cli/safeexec v1.0.1
|
||||||
github.com/coder/flog v1.1.0
|
github.com/coder/flog v1.1.0
|
||||||
github.com/coder/guts v1.3.1-0.20250428170043-ad369017e95b
|
github.com/coder/guts v1.5.0
|
||||||
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0
|
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0
|
||||||
github.com/coder/quartz v0.1.3
|
github.com/coder/quartz v0.1.3
|
||||||
github.com/coder/retry v1.5.1
|
github.com/coder/retry v1.5.1
|
||||||
github.com/coder/serpent v0.10.0
|
github.com/coder/serpent v0.10.0
|
||||||
github.com/coder/terraform-provider-coder/v2 v2.4.1
|
github.com/coder/terraform-provider-coder/v2 v2.4.2
|
||||||
github.com/coder/websocket v1.8.13
|
github.com/coder/websocket v1.8.13
|
||||||
github.com/coder/wgtunnel v0.1.13-0.20240522110300-ade90dfb2da0
|
github.com/coder/wgtunnel v0.1.13-0.20240522110300-ade90dfb2da0
|
||||||
github.com/coreos/go-oidc/v3 v3.14.1
|
github.com/coreos/go-oidc/v3 v3.14.1
|
||||||
@ -204,7 +204,7 @@ require (
|
|||||||
golang.org/x/sys v0.33.0
|
golang.org/x/sys v0.33.0
|
||||||
golang.org/x/term v0.32.0
|
golang.org/x/term v0.32.0
|
||||||
golang.org/x/text v0.25.0 // indirect
|
golang.org/x/text v0.25.0 // indirect
|
||||||
golang.org/x/tools v0.32.0
|
golang.org/x/tools v0.33.0
|
||||||
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da
|
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da
|
||||||
google.golang.org/api v0.231.0
|
google.golang.org/api v0.231.0
|
||||||
google.golang.org/grpc v1.72.0
|
google.golang.org/grpc v1.72.0
|
||||||
@ -485,7 +485,7 @@ require (
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/anthropics/anthropic-sdk-go v0.2.0-beta.3
|
github.com/anthropics/anthropic-sdk-go v0.2.0-beta.3
|
||||||
github.com/coder/preview v0.0.2-0.20250516233606-a1da43489319
|
github.com/coder/preview v0.0.2-0.20250520134327-ac391431027d
|
||||||
github.com/fsnotify/fsnotify v1.9.0
|
github.com/fsnotify/fsnotify v1.9.0
|
||||||
github.com/kylecarbs/aisdk-go v0.0.8
|
github.com/kylecarbs/aisdk-go v0.0.8
|
||||||
github.com/mark3labs/mcp-go v0.28.0
|
github.com/mark3labs/mcp-go v0.28.0
|
||||||
|
16
go.sum
16
go.sum
@ -905,14 +905,14 @@ github.com/coder/go-httpstat v0.0.0-20230801153223-321c88088322 h1:m0lPZjlQ7vdVp
|
|||||||
github.com/coder/go-httpstat v0.0.0-20230801153223-321c88088322/go.mod h1:rOLFDDVKVFiDqZFXoteXc97YXx7kFi9kYqR+2ETPkLQ=
|
github.com/coder/go-httpstat v0.0.0-20230801153223-321c88088322/go.mod h1:rOLFDDVKVFiDqZFXoteXc97YXx7kFi9kYqR+2ETPkLQ=
|
||||||
github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136 h1:0RgB61LcNs24WOxc3PBvygSNTQurm0PYPujJjLLOzs0=
|
github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136 h1:0RgB61LcNs24WOxc3PBvygSNTQurm0PYPujJjLLOzs0=
|
||||||
github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136/go.mod h1:VkD1P761nykiq75dz+4iFqIQIZka189tx1BQLOp0Skc=
|
github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136/go.mod h1:VkD1P761nykiq75dz+4iFqIQIZka189tx1BQLOp0Skc=
|
||||||
github.com/coder/guts v1.3.1-0.20250428170043-ad369017e95b h1:tfLKcE2s6D7YpFk7MUUCDE0Xbbmac+k2GqO8KMjv/Ug=
|
github.com/coder/guts v1.5.0 h1:a94apf7xMf5jDdg1bIHzncbRiTn3+BvBZgrFSDbUnyI=
|
||||||
github.com/coder/guts v1.3.1-0.20250428170043-ad369017e95b/go.mod h1:31NO4z6MVTOD4WaCLqE/hUAHGgNok9sRbuMc/LZFopI=
|
github.com/coder/guts v1.5.0/go.mod h1:0Sbv5Kp83u1Nl7MIQiV2zmacJ3o02I341bkWkjWXSUQ=
|
||||||
github.com/coder/pq v1.10.5-0.20240813183442-0c420cb5a048 h1:3jzYUlGH7ZELIH4XggXhnTnP05FCYiAFeQpoN+gNR5I=
|
github.com/coder/pq v1.10.5-0.20240813183442-0c420cb5a048 h1:3jzYUlGH7ZELIH4XggXhnTnP05FCYiAFeQpoN+gNR5I=
|
||||||
github.com/coder/pq v1.10.5-0.20240813183442-0c420cb5a048/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
github.com/coder/pq v1.10.5-0.20240813183442-0c420cb5a048/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||||
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0 h1:3A0ES21Ke+FxEM8CXx9n47SZOKOpgSE1bbJzlE4qPVs=
|
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0 h1:3A0ES21Ke+FxEM8CXx9n47SZOKOpgSE1bbJzlE4qPVs=
|
||||||
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0/go.mod h1:5UuS2Ts+nTToAMeOjNlnHFkPahrtDkmpydBen/3wgZc=
|
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0/go.mod h1:5UuS2Ts+nTToAMeOjNlnHFkPahrtDkmpydBen/3wgZc=
|
||||||
github.com/coder/preview v0.0.2-0.20250516233606-a1da43489319 h1:flPwcvOZ9RwENDYcLOnfYEClbKWfFvpQCddODdSS6Co=
|
github.com/coder/preview v0.0.2-0.20250520134327-ac391431027d h1:MxAAuqcno5hMM45Ihl3KAjVOXbyZyt/+tjSiq9XMTC0=
|
||||||
github.com/coder/preview v0.0.2-0.20250516233606-a1da43489319/go.mod h1:GfkwIv5gQLpL01qeGU1/YoxoFtt5trzCqnWZLo77clU=
|
github.com/coder/preview v0.0.2-0.20250520134327-ac391431027d/go.mod h1:9bwyhQSVDjcxAWuFFaG6/qBqhaiW5oqF5PEQMhevKLs=
|
||||||
github.com/coder/quartz v0.1.3 h1:hA2nI8uUA2fNN9uhXv2I4xZD4aHkA7oH3g2t03v4xf8=
|
github.com/coder/quartz v0.1.3 h1:hA2nI8uUA2fNN9uhXv2I4xZD4aHkA7oH3g2t03v4xf8=
|
||||||
github.com/coder/quartz v0.1.3/go.mod h1:vsiCc+AHViMKH2CQpGIpFgdHIEQsxwm8yCscqKmzbRA=
|
github.com/coder/quartz v0.1.3/go.mod h1:vsiCc+AHViMKH2CQpGIpFgdHIEQsxwm8yCscqKmzbRA=
|
||||||
github.com/coder/retry v1.5.1 h1:iWu8YnD8YqHs3XwqrqsjoBTAVqT9ml6z9ViJ2wlMiqc=
|
github.com/coder/retry v1.5.1 h1:iWu8YnD8YqHs3XwqrqsjoBTAVqT9ml6z9ViJ2wlMiqc=
|
||||||
@ -925,8 +925,8 @@ github.com/coder/tailscale v1.1.1-0.20250422090654-5090e715905e h1:nope/SZfoLB9M
|
|||||||
github.com/coder/tailscale v1.1.1-0.20250422090654-5090e715905e/go.mod h1:1ggFFdHTRjPRu9Yc1yA7nVHBYB50w9Ce7VIXNqcW6Ko=
|
github.com/coder/tailscale v1.1.1-0.20250422090654-5090e715905e/go.mod h1:1ggFFdHTRjPRu9Yc1yA7nVHBYB50w9Ce7VIXNqcW6Ko=
|
||||||
github.com/coder/terraform-config-inspect v0.0.0-20250107175719-6d06d90c630e h1:JNLPDi2P73laR1oAclY6jWzAbucf70ASAvf5mh2cME0=
|
github.com/coder/terraform-config-inspect v0.0.0-20250107175719-6d06d90c630e h1:JNLPDi2P73laR1oAclY6jWzAbucf70ASAvf5mh2cME0=
|
||||||
github.com/coder/terraform-config-inspect v0.0.0-20250107175719-6d06d90c630e/go.mod h1:Gz/z9Hbn+4KSp8A2FBtNszfLSdT2Tn/uAKGuVqqWmDI=
|
github.com/coder/terraform-config-inspect v0.0.0-20250107175719-6d06d90c630e/go.mod h1:Gz/z9Hbn+4KSp8A2FBtNszfLSdT2Tn/uAKGuVqqWmDI=
|
||||||
github.com/coder/terraform-provider-coder/v2 v2.4.1 h1:+HxLJVENJ+kvGhibQ0jbr8Evi6M857d9691ytxNbv90=
|
github.com/coder/terraform-provider-coder/v2 v2.4.2 h1:41SJkgwgiA555kwQzGIQcNS3bCm12sVMUmBSa5zGr+A=
|
||||||
github.com/coder/terraform-provider-coder/v2 v2.4.1/go.mod h1:2kaBpn5k9ZWtgKq5k4JbkVZG9DzEqR4mJSmpdshcO+s=
|
github.com/coder/terraform-provider-coder/v2 v2.4.2/go.mod h1:2kaBpn5k9ZWtgKq5k4JbkVZG9DzEqR4mJSmpdshcO+s=
|
||||||
github.com/coder/trivy v0.0.0-20250409153844-e6b004bc465a h1:yryP7e+IQUAArlycH4hQrjXQ64eRNbxsV5/wuVXHgME=
|
github.com/coder/trivy v0.0.0-20250409153844-e6b004bc465a h1:yryP7e+IQUAArlycH4hQrjXQ64eRNbxsV5/wuVXHgME=
|
||||||
github.com/coder/trivy v0.0.0-20250409153844-e6b004bc465a/go.mod h1:dDvq9axp3kZsT63gY2Znd1iwzfqDq3kXbQnccIrjRYY=
|
github.com/coder/trivy v0.0.0-20250409153844-e6b004bc465a/go.mod h1:dDvq9axp3kZsT63gY2Znd1iwzfqDq3kXbQnccIrjRYY=
|
||||||
github.com/coder/websocket v1.8.13 h1:f3QZdXy7uGVz+4uCJy2nTZyM0yTBj8yANEHhqlXZ9FE=
|
github.com/coder/websocket v1.8.13 h1:f3QZdXy7uGVz+4uCJy2nTZyM0yTBj8yANEHhqlXZ9FE=
|
||||||
@ -2412,8 +2412,8 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
|||||||
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
|
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
|
||||||
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
||||||
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
|
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
|
||||||
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
|
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
|
||||||
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
|
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
96
site/src/api/typesGenerated.ts
generated
96
site/src/api/typesGenerated.ts
generated
@ -349,7 +349,7 @@ export interface ConvertLoginRequest {
|
|||||||
// From codersdk/chat.go
|
// From codersdk/chat.go
|
||||||
export interface CreateChatMessageRequest {
|
export interface CreateChatMessageRequest {
|
||||||
readonly model: string;
|
readonly model: string;
|
||||||
// embedded anonymous struct, please fix by naming it
|
// external type "github.com/kylecarbs/aisdk-go.Message", to include this type the package must be explicitly included in the parsing
|
||||||
readonly message: unknown;
|
readonly message: unknown;
|
||||||
readonly thinking: boolean;
|
readonly thinking: boolean;
|
||||||
}
|
}
|
||||||
@ -741,6 +741,19 @@ export interface DeploymentValues {
|
|||||||
readonly address?: string;
|
readonly address?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// From codersdk/parameters.go
|
||||||
|
export interface DiagnosticExtra {
|
||||||
|
readonly code: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
// From codersdk/parameters.go
|
||||||
|
export type DiagnosticSeverityString = "error" | "warning";
|
||||||
|
|
||||||
|
export const DiagnosticSeverityStrings: DiagnosticSeverityString[] = [
|
||||||
|
"error",
|
||||||
|
"warning",
|
||||||
|
];
|
||||||
|
|
||||||
// From codersdk/workspaceagents.go
|
// From codersdk/workspaceagents.go
|
||||||
export type DisplayApp =
|
export type DisplayApp =
|
||||||
| "port_forwarding_helper"
|
| "port_forwarding_helper"
|
||||||
@ -757,16 +770,16 @@ export const DisplayApps: DisplayApp[] = [
|
|||||||
"web_terminal",
|
"web_terminal",
|
||||||
];
|
];
|
||||||
|
|
||||||
// From codersdk/templateversions.go
|
// From codersdk/parameters.go
|
||||||
export interface DynamicParametersRequest {
|
export interface DynamicParametersRequest {
|
||||||
readonly id: number;
|
readonly id: number;
|
||||||
readonly inputs: Record<string, string>;
|
readonly inputs: Record<string, string>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// From codersdk/templateversions.go
|
// From codersdk/parameters.go
|
||||||
export interface DynamicParametersResponse {
|
export interface DynamicParametersResponse {
|
||||||
readonly id: number;
|
readonly id: number;
|
||||||
readonly diagnostics: PreviewDiagnostics;
|
readonly diagnostics: readonly FriendlyDiagnostic[];
|
||||||
readonly parameters: readonly PreviewParameter[];
|
readonly parameters: readonly PreviewParameter[];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -969,10 +982,10 @@ export const FormatZip = "zip";
|
|||||||
|
|
||||||
// From codersdk/parameters.go
|
// From codersdk/parameters.go
|
||||||
export interface FriendlyDiagnostic {
|
export interface FriendlyDiagnostic {
|
||||||
readonly severity: PreviewDiagnosticSeverityString;
|
readonly severity: DiagnosticSeverityString;
|
||||||
readonly summary: string;
|
readonly summary: string;
|
||||||
readonly detail: string;
|
readonly detail: string;
|
||||||
readonly extra: PreviewDiagnosticExtra;
|
readonly extra: DiagnosticExtra;
|
||||||
}
|
}
|
||||||
|
|
||||||
// From codersdk/apikey.go
|
// From codersdk/apikey.go
|
||||||
@ -1596,6 +1609,16 @@ export interface OIDCConfig {
|
|||||||
readonly skip_issuer_checks: boolean;
|
readonly skip_issuer_checks: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// From codersdk/parameters.go
|
||||||
|
export type OptionType = "bool" | "list(string)" | "number" | "string";
|
||||||
|
|
||||||
|
export const OptionTypes: OptionType[] = [
|
||||||
|
"bool",
|
||||||
|
"list(string)",
|
||||||
|
"number",
|
||||||
|
"string",
|
||||||
|
];
|
||||||
|
|
||||||
// From codersdk/organizations.go
|
// From codersdk/organizations.go
|
||||||
export interface Organization extends MinimalOrganization {
|
export interface Organization extends MinimalOrganization {
|
||||||
readonly description: string;
|
readonly description: string;
|
||||||
@ -1663,6 +1686,34 @@ export interface Pagination {
|
|||||||
readonly offset?: number;
|
readonly offset?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// From codersdk/parameters.go
|
||||||
|
export type ParameterFormType =
|
||||||
|
| "checkbox"
|
||||||
|
| ""
|
||||||
|
| "dropdown"
|
||||||
|
| "error"
|
||||||
|
| "input"
|
||||||
|
| "multi-select"
|
||||||
|
| "radio"
|
||||||
|
| "slider"
|
||||||
|
| "switch"
|
||||||
|
| "tag-select"
|
||||||
|
| "textarea";
|
||||||
|
|
||||||
|
export const ParameterFormTypes: ParameterFormType[] = [
|
||||||
|
"checkbox",
|
||||||
|
"",
|
||||||
|
"dropdown",
|
||||||
|
"error",
|
||||||
|
"input",
|
||||||
|
"multi-select",
|
||||||
|
"radio",
|
||||||
|
"slider",
|
||||||
|
"switch",
|
||||||
|
"tag-select",
|
||||||
|
"textarea",
|
||||||
|
];
|
||||||
|
|
||||||
// From codersdk/idpsync.go
|
// From codersdk/idpsync.go
|
||||||
export interface PatchGroupIDPSyncConfigRequest {
|
export interface PatchGroupIDPSyncConfigRequest {
|
||||||
readonly field: string;
|
readonly field: string;
|
||||||
@ -1778,33 +1829,19 @@ export interface PresetParameter {
|
|||||||
readonly Value: string;
|
readonly Value: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
// From types/diagnostics.go
|
// From codersdk/parameters.go
|
||||||
export interface PreviewDiagnosticExtra {
|
|
||||||
readonly code: string;
|
|
||||||
// empty interface{} type, falling back to unknown
|
|
||||||
readonly Wrapped: unknown;
|
|
||||||
}
|
|
||||||
|
|
||||||
// From types/diagnostics.go
|
|
||||||
export type PreviewDiagnosticSeverityString = string;
|
|
||||||
|
|
||||||
// From types/diagnostics.go
|
|
||||||
export type PreviewDiagnostics = readonly FriendlyDiagnostic[];
|
|
||||||
|
|
||||||
// From types/parameter.go
|
|
||||||
export interface PreviewParameter extends PreviewParameterData {
|
export interface PreviewParameter extends PreviewParameterData {
|
||||||
readonly value: NullHCLString;
|
readonly value: NullHCLString;
|
||||||
readonly diagnostics: PreviewDiagnostics;
|
readonly diagnostics: readonly FriendlyDiagnostic[];
|
||||||
}
|
}
|
||||||
|
|
||||||
// From types/parameter.go
|
// From codersdk/parameters.go
|
||||||
export interface PreviewParameterData {
|
export interface PreviewParameterData {
|
||||||
readonly name: string;
|
readonly name: string;
|
||||||
readonly display_name: string;
|
readonly display_name: string;
|
||||||
readonly description: string;
|
readonly description: string;
|
||||||
readonly type: PreviewParameterType;
|
readonly type: OptionType;
|
||||||
// this is likely an enum in an external package "github.com/coder/terraform-provider-coder/v2/provider.ParameterFormType"
|
readonly form_type: ParameterFormType;
|
||||||
readonly form_type: string;
|
|
||||||
readonly styling: PreviewParameterStyling;
|
readonly styling: PreviewParameterStyling;
|
||||||
readonly mutable: boolean;
|
readonly mutable: boolean;
|
||||||
readonly default_value: NullHCLString;
|
readonly default_value: NullHCLString;
|
||||||
@ -1816,7 +1853,7 @@ export interface PreviewParameterData {
|
|||||||
readonly ephemeral: boolean;
|
readonly ephemeral: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
// From types/parameter.go
|
// From codersdk/parameters.go
|
||||||
export interface PreviewParameterOption {
|
export interface PreviewParameterOption {
|
||||||
readonly name: string;
|
readonly name: string;
|
||||||
readonly description: string;
|
readonly description: string;
|
||||||
@ -1824,17 +1861,14 @@ export interface PreviewParameterOption {
|
|||||||
readonly icon: string;
|
readonly icon: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
// From types/parameter.go
|
// From codersdk/parameters.go
|
||||||
export interface PreviewParameterStyling {
|
export interface PreviewParameterStyling {
|
||||||
readonly placeholder?: string;
|
readonly placeholder?: string;
|
||||||
readonly disabled?: boolean;
|
readonly disabled?: boolean;
|
||||||
readonly label?: string;
|
readonly label?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
// From types/enum.go
|
// From codersdk/parameters.go
|
||||||
export type PreviewParameterType = string;
|
|
||||||
|
|
||||||
// From types/parameter.go
|
|
||||||
export interface PreviewParameterValidation {
|
export interface PreviewParameterValidation {
|
||||||
readonly validation_error: string;
|
readonly validation_error: string;
|
||||||
readonly validation_regex: string | null;
|
readonly validation_regex: string | null;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import type * as TypesGen from "api/typesGenerated";
|
import type * as TypesGen from "api/typesGenerated";
|
||||||
import type { PreviewDiagnostics, PreviewParameter } from "api/typesGenerated";
|
import type { FriendlyDiagnostic, PreviewParameter } from "api/typesGenerated";
|
||||||
import { Alert } from "components/Alert/Alert";
|
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";
|
||||||
@ -51,7 +51,7 @@ export interface CreateWorkspacePageViewExperimentalProps {
|
|||||||
creatingWorkspace: boolean;
|
creatingWorkspace: boolean;
|
||||||
defaultName?: string | null;
|
defaultName?: string | null;
|
||||||
defaultOwner: TypesGen.User;
|
defaultOwner: TypesGen.User;
|
||||||
diagnostics: PreviewDiagnostics;
|
diagnostics: readonly FriendlyDiagnostic[];
|
||||||
disabledParams?: string[];
|
disabledParams?: string[];
|
||||||
error: unknown;
|
error: unknown;
|
||||||
externalAuth: TypesGen.TemplateVersionExternalAuth[];
|
externalAuth: TypesGen.TemplateVersionExternalAuth[];
|
||||||
|
Reference in New Issue
Block a user