mirror of
https://github.com/coder/coder.git
synced 2025-07-03 16:13:58 +00:00
feat: Expose managed variables via API (#6134)
* WIP * hcl * useManagedVariables * fix * Fix * Fix * fix * go:build * Fix * fix: bool flag * Insert template variables * API * fix * Expose via API * More wiring * CLI for testing purposes * WIP * Delete FIXME * planVars * WIP * WIP * UserVariableValues * no dry run * Dry run * Done FIXME * Fix * Fix: CLI * Fix: migration * API tests * Test info * Tests * More tests * fix: lint * Fix: authz * Address PR comments * Fix * fix * fix
This commit is contained in:
@ -4050,6 +4050,103 @@ func (q *sqlQuerier) UpdateTemplateVersionDescriptionByJobID(ctx context.Context
|
||||
return err
|
||||
}
|
||||
|
||||
const getTemplateVersionVariables = `-- name: GetTemplateVersionVariables :many
|
||||
SELECT template_version_id, name, description, type, value, default_value, required, sensitive FROM template_version_variables WHERE template_version_id = $1
|
||||
`
|
||||
|
||||
func (q *sqlQuerier) GetTemplateVersionVariables(ctx context.Context, templateVersionID uuid.UUID) ([]TemplateVersionVariable, error) {
|
||||
rows, err := q.db.QueryContext(ctx, getTemplateVersionVariables, templateVersionID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []TemplateVersionVariable
|
||||
for rows.Next() {
|
||||
var i TemplateVersionVariable
|
||||
if err := rows.Scan(
|
||||
&i.TemplateVersionID,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.Type,
|
||||
&i.Value,
|
||||
&i.DefaultValue,
|
||||
&i.Required,
|
||||
&i.Sensitive,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const insertTemplateVersionVariable = `-- name: InsertTemplateVersionVariable :one
|
||||
INSERT INTO
|
||||
template_version_variables (
|
||||
template_version_id,
|
||||
name,
|
||||
description,
|
||||
type,
|
||||
value,
|
||||
default_value,
|
||||
required,
|
||||
sensitive
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
$1,
|
||||
$2,
|
||||
$3,
|
||||
$4,
|
||||
$5,
|
||||
$6,
|
||||
$7,
|
||||
$8
|
||||
) RETURNING template_version_id, name, description, type, value, default_value, required, sensitive
|
||||
`
|
||||
|
||||
type InsertTemplateVersionVariableParams struct {
|
||||
TemplateVersionID uuid.UUID `db:"template_version_id" json:"template_version_id"`
|
||||
Name string `db:"name" json:"name"`
|
||||
Description string `db:"description" json:"description"`
|
||||
Type string `db:"type" json:"type"`
|
||||
Value string `db:"value" json:"value"`
|
||||
DefaultValue string `db:"default_value" json:"default_value"`
|
||||
Required bool `db:"required" json:"required"`
|
||||
Sensitive bool `db:"sensitive" json:"sensitive"`
|
||||
}
|
||||
|
||||
func (q *sqlQuerier) InsertTemplateVersionVariable(ctx context.Context, arg InsertTemplateVersionVariableParams) (TemplateVersionVariable, error) {
|
||||
row := q.db.QueryRowContext(ctx, insertTemplateVersionVariable,
|
||||
arg.TemplateVersionID,
|
||||
arg.Name,
|
||||
arg.Description,
|
||||
arg.Type,
|
||||
arg.Value,
|
||||
arg.DefaultValue,
|
||||
arg.Required,
|
||||
arg.Sensitive,
|
||||
)
|
||||
var i TemplateVersionVariable
|
||||
err := row.Scan(
|
||||
&i.TemplateVersionID,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.Type,
|
||||
&i.Value,
|
||||
&i.DefaultValue,
|
||||
&i.Required,
|
||||
&i.Sensitive,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getUserLinkByLinkedID = `-- name: GetUserLinkByLinkedID :one
|
||||
SELECT
|
||||
user_id, login_type, linked_id, oauth_access_token, oauth_refresh_token, oauth_expiry
|
||||
|
Reference in New Issue
Block a user