mirror of
https://github.com/coder/coder.git
synced 2025-07-06 15:41:45 +00:00
add support for coder workspace presets in the provisioners
This commit is contained in:
@ -3113,14 +3113,14 @@ func (q *querier) InsertOrganizationMember(ctx context.Context, arg database.Ins
|
||||
}
|
||||
|
||||
func (q *querier) InsertPreset(ctx context.Context, arg database.InsertPresetParams) (database.TemplateVersionPreset, error) {
|
||||
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceTemplate); err != nil {
|
||||
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil {
|
||||
return database.TemplateVersionPreset{}, err
|
||||
}
|
||||
return q.db.InsertPreset(ctx, arg)
|
||||
}
|
||||
|
||||
func (q *querier) InsertPresetParameters(ctx context.Context, arg database.InsertPresetParametersParams) ([]database.TemplateVersionPresetParameter, error) {
|
||||
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceTemplate); err != nil {
|
||||
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return q.db.InsertPresetParameters(ctx, arg)
|
||||
|
@ -8123,7 +8123,7 @@ func (q *FakeQuerier) InsertPreset(_ context.Context, arg database.InsertPresetP
|
||||
return preset, nil
|
||||
}
|
||||
|
||||
func (q *FakeQuerier) InsertPresetParameters(ctx context.Context, arg database.InsertPresetParametersParams) ([]database.TemplateVersionPresetParameter, error) {
|
||||
func (q *FakeQuerier) InsertPresetParameters(_ context.Context, arg database.InsertPresetParametersParams) ([]database.TemplateVersionPresetParameter, error) {
|
||||
err := validateDatabaseType(arg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -67,7 +67,7 @@ func (api *API) templateVersionPresetParameters(rw http.ResponseWriter, r *http.
|
||||
var res []codersdk.PresetParameter
|
||||
for _, presetParam := range presetParams {
|
||||
res = append(res, codersdk.PresetParameter{
|
||||
PresetID: presetParam.ID,
|
||||
PresetID: presetParam.TemplateVersionPresetID,
|
||||
Name: presetParam.Name,
|
||||
Value: presetParam.Value,
|
||||
})
|
||||
|
@ -1340,6 +1340,37 @@ func (s *server) CompleteJob(ctx context.Context, completed *proto.CompletedJob)
|
||||
}
|
||||
}
|
||||
|
||||
for _, preset := range jobType.TemplateImport.Presets {
|
||||
s.Logger.Info(ctx, "inserting template import job preset",
|
||||
slog.F("job_id", job.ID.String()),
|
||||
slog.F("preset_name", preset.Name),
|
||||
)
|
||||
|
||||
dbPreset, err := s.Database.InsertPreset(ctx, database.InsertPresetParams{
|
||||
TemplateVersionID: input.TemplateVersionID,
|
||||
Name: preset.Name,
|
||||
CreatedAt: s.timeNow(),
|
||||
})
|
||||
if err != nil {
|
||||
return nil, xerrors.Errorf("insert preset: %w", err)
|
||||
}
|
||||
|
||||
var presetParameterNames []string
|
||||
var presetParameterValues []string
|
||||
for _, parameter := range preset.Parameters {
|
||||
presetParameterNames = append(presetParameterNames, parameter.Name)
|
||||
presetParameterValues = append(presetParameterValues, parameter.Value)
|
||||
}
|
||||
_, err = s.Database.InsertPresetParameters(ctx, database.InsertPresetParametersParams{
|
||||
TemplateVersionPresetID: dbPreset.ID,
|
||||
Names: presetParameterNames,
|
||||
Values: presetParameterValues,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, xerrors.Errorf("insert preset parameters: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
var completedError sql.NullString
|
||||
|
||||
for _, externalAuthProvider := range jobType.TemplateImport.ExternalAuthProviders {
|
||||
|
Reference in New Issue
Block a user