mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
chore: add provisioner key crud apis (#13857)
This commit is contained in:
@@ -5455,6 +5455,147 @@ func (q *sqlQuerier) UpdateProvisionerJobWithCompleteByID(ctx context.Context, a
|
||||
return err
|
||||
}
|
||||
|
||||
const deleteProvisionerKey = `-- name: DeleteProvisionerKey :exec
|
||||
DELETE FROM
|
||||
provisioner_keys
|
||||
WHERE
|
||||
id = $1
|
||||
`
|
||||
|
||||
func (q *sqlQuerier) DeleteProvisionerKey(ctx context.Context, id uuid.UUID) error {
|
||||
_, err := q.db.ExecContext(ctx, deleteProvisionerKey, id)
|
||||
return err
|
||||
}
|
||||
|
||||
const getProvisionerKeyByID = `-- name: GetProvisionerKeyByID :one
|
||||
SELECT
|
||||
id, created_at, organization_id, name, hashed_secret
|
||||
FROM
|
||||
provisioner_keys
|
||||
WHERE
|
||||
id = $1
|
||||
`
|
||||
|
||||
func (q *sqlQuerier) GetProvisionerKeyByID(ctx context.Context, id uuid.UUID) (ProvisionerKey, error) {
|
||||
row := q.db.QueryRowContext(ctx, getProvisionerKeyByID, id)
|
||||
var i ProvisionerKey
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.CreatedAt,
|
||||
&i.OrganizationID,
|
||||
&i.Name,
|
||||
&i.HashedSecret,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getProvisionerKeyByName = `-- name: GetProvisionerKeyByName :one
|
||||
SELECT
|
||||
id, created_at, organization_id, name, hashed_secret
|
||||
FROM
|
||||
provisioner_keys
|
||||
WHERE
|
||||
organization_id = $1
|
||||
AND
|
||||
lower(name) = lower($2)
|
||||
`
|
||||
|
||||
type GetProvisionerKeyByNameParams struct {
|
||||
OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"`
|
||||
Name string `db:"name" json:"name"`
|
||||
}
|
||||
|
||||
func (q *sqlQuerier) GetProvisionerKeyByName(ctx context.Context, arg GetProvisionerKeyByNameParams) (ProvisionerKey, error) {
|
||||
row := q.db.QueryRowContext(ctx, getProvisionerKeyByName, arg.OrganizationID, arg.Name)
|
||||
var i ProvisionerKey
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.CreatedAt,
|
||||
&i.OrganizationID,
|
||||
&i.Name,
|
||||
&i.HashedSecret,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const insertProvisionerKey = `-- name: InsertProvisionerKey :one
|
||||
INSERT INTO
|
||||
provisioner_keys (
|
||||
id,
|
||||
created_at,
|
||||
organization_id,
|
||||
name,
|
||||
hashed_secret
|
||||
)
|
||||
VALUES
|
||||
($1, $2, $3, lower($5), $4) RETURNING id, created_at, organization_id, name, hashed_secret
|
||||
`
|
||||
|
||||
type InsertProvisionerKeyParams struct {
|
||||
ID uuid.UUID `db:"id" json:"id"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"`
|
||||
HashedSecret []byte `db:"hashed_secret" json:"hashed_secret"`
|
||||
Name string `db:"name" json:"name"`
|
||||
}
|
||||
|
||||
func (q *sqlQuerier) InsertProvisionerKey(ctx context.Context, arg InsertProvisionerKeyParams) (ProvisionerKey, error) {
|
||||
row := q.db.QueryRowContext(ctx, insertProvisionerKey,
|
||||
arg.ID,
|
||||
arg.CreatedAt,
|
||||
arg.OrganizationID,
|
||||
arg.HashedSecret,
|
||||
arg.Name,
|
||||
)
|
||||
var i ProvisionerKey
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.CreatedAt,
|
||||
&i.OrganizationID,
|
||||
&i.Name,
|
||||
&i.HashedSecret,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const listProvisionerKeysByOrganization = `-- name: ListProvisionerKeysByOrganization :many
|
||||
SELECT
|
||||
id, created_at, organization_id, name, hashed_secret
|
||||
FROM
|
||||
provisioner_keys
|
||||
WHERE
|
||||
organization_id = $1
|
||||
`
|
||||
|
||||
func (q *sqlQuerier) ListProvisionerKeysByOrganization(ctx context.Context, organizationID uuid.UUID) ([]ProvisionerKey, error) {
|
||||
rows, err := q.db.QueryContext(ctx, listProvisionerKeysByOrganization, organizationID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []ProvisionerKey
|
||||
for rows.Next() {
|
||||
var i ProvisionerKey
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.CreatedAt,
|
||||
&i.OrganizationID,
|
||||
&i.Name,
|
||||
&i.HashedSecret,
|
||||
); 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 getWorkspaceProxies = `-- name: GetWorkspaceProxies :many
|
||||
SELECT
|
||||
id, name, display_name, icon, url, wildcard_hostname, created_at, updated_at, deleted, token_hashed_secret, region_id, derp_enabled, derp_only, version
|
||||
|
||||
Reference in New Issue
Block a user