From fb33e00f8308c07058d8d7408faf19d5f7ebd4ed Mon Sep 17 00:00:00 2001 From: Oscar Reyes Date: Wed, 3 May 2023 14:33:25 -0600 Subject: [PATCH] feature(backend): Enabling environment upsert endpoint when creating (#2480) feature(backend): enabling environment upsert endpoint when creating --- server/environment/manager.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/server/environment/manager.go b/server/environment/manager.go index 7e74201b10..7d555df7da 100644 --- a/server/environment/manager.go +++ b/server/environment/manager.go @@ -84,9 +84,17 @@ func (r *Repository) SetID(environment Environment, id id.ID) Environment { func (r *Repository) Create(ctx context.Context, environment Environment) (Environment, error) { environment.ID = environment.Slug() - environment.CreatedAt = time.Now().UTC().Format(time.RFC3339Nano) + _, err := r.Get(ctx, environment.ID) + if err != nil { + if err == sql.ErrNoRows { + environment.CreatedAt = time.Now().UTC().Format(time.RFC3339Nano) + return r.insertIntoEnvironments(ctx, environment) + } + + return Environment{}, err + } - return r.insertIntoEnvironments(ctx, environment) + return r.Update(ctx, environment) } func (r *Repository) Update(ctx context.Context, environment Environment) (Environment, error) {