Skip to content

Commit

Permalink
v1: include compose_id in clone response
Browse files Browse the repository at this point in the history
Clones should include their parent ID, to easily match them.
It follows the rest guidelines to be traversable.
  • Loading branch information
ezr-ondrej committed Dec 6, 2023
1 parent 762df0f commit 94d1de7
Show file tree
Hide file tree
Showing 6 changed files with 309 additions and 129 deletions.
11 changes: 7 additions & 4 deletions internal/db/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ type ComposeEntry struct {

type CloneEntry struct {
Id uuid.UUID
ComposeId uuid.UUID
Request json.RawMessage
CreatedAt time.Time
}
Expand Down Expand Up @@ -106,7 +107,7 @@ const (
VALUES($1, $2, $3, CURRENT_TIMESTAMP)`

sqlGetClonesForCompose = `
SELECT clones.id, clones.request, clones.created_at
SELECT clones.id, clones.compose_id, clones.request, clones.created_at
FROM clones
WHERE clones.compose_id=$1 AND $1 in (
SELECT composes.job_id
Expand All @@ -124,7 +125,7 @@ const (
WHERE composes.org_id=$2)`

sqlGetClone = `
SELECT clones.id, clones.request, clones.created_at
SELECT clones.id, clones.compose_id, clones.request, clones.created_at
FROM clones
WHERE clones.id=$1 AND clones.compose_id in (
SELECT composes.job_id
Expand Down Expand Up @@ -313,14 +314,16 @@ func (db *dB) GetClonesForCompose(composeId uuid.UUID, orgId string, limit, offs
var clones []CloneEntry
for rows.Next() {
var id uuid.UUID
var composeID uuid.UUID
var request json.RawMessage
var createdAt time.Time
err = rows.Scan(&id, &request, &createdAt)
err = rows.Scan(&id, &composeID, &request, &createdAt)
if err != nil {
return nil, 0, err
}
clones = append(clones, CloneEntry{
id,
composeID,
request,
createdAt,
})
Expand Down Expand Up @@ -348,7 +351,7 @@ func (db *dB) GetClone(id uuid.UUID, orgId string) (*CloneEntry, error) {
defer conn.Release()

var clone CloneEntry
err = conn.QueryRow(ctx, sqlGetClone, id, orgId).Scan(&clone.Id, &clone.Request, &clone.CreatedAt)
err = conn.QueryRow(ctx, sqlGetClone, id, orgId).Scan(&clone.Id, &clone.ComposeId, &clone.Request, &clone.CreatedAt)
if err != nil {
if errors.Is(err, pgx.ErrNoRows) {
return nil, CloneNotFoundError
Expand Down
Loading

0 comments on commit 94d1de7

Please sign in to comment.