// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 // source: builds.sql package sqlcdb import ( "context" "database/sql" "encoding/json" "time" ) const cancelBuild = `-- name: CancelBuild :execrows UPDATE builds SET status = 'cancelled', progress = 100, completed_at = $1, log = COALESCE(log, '') || $2, updated_at = $1 WHERE id = $3 AND status NOT IN ('success', 'failed', 'cancelled') ` type CancelBuildParams struct { CompletedAt sql.NullTime `json:"completed_at"` Log string `json:"log"` ID string `json:"id"` } func (q *Queries) CancelBuild(ctx context.Context, arg CancelBuildParams) (int64, error) { result, err := q.db.ExecContext(ctx, cancelBuild, arg.CompletedAt, arg.Log, arg.ID) if err != nil { return 0, err } return result.RowsAffected() } const getBuild = `-- name: GetBuild :one SELECT id, project_id, service_id, status, progress, started_at, completed_at, image_name, image_tag, size, error, log, metadata FROM builds WHERE id = $1 ` type GetBuildRow struct { ID string `json:"id"` ProjectID sql.NullString `json:"project_id"` ServiceID sql.NullString `json:"service_id"` Status string `json:"status"` Progress int32 `json:"progress"` StartedAt time.Time `json:"started_at"` CompletedAt sql.NullTime `json:"completed_at"` ImageName string `json:"image_name"` ImageTag string `json:"image_tag"` Size int64 `json:"size"` Error sql.NullString `json:"error"` Log string `json:"log"` Metadata json.RawMessage `json:"metadata"` } func (q *Queries) GetBuild(ctx context.Context, id string) (GetBuildRow, error) { row := q.db.QueryRowContext(ctx, getBuild, id) var i GetBuildRow err := row.Scan( &i.ID, &i.ProjectID, &i.ServiceID, &i.Status, &i.Progress, &i.StartedAt, &i.CompletedAt, &i.ImageName, &i.ImageTag, &i.Size, &i.Error, &i.Log, &i.Metadata, ) return i, err } const upsertBuild = `-- name: UpsertBuild :exec INSERT INTO builds (id, project_id, service_id, status, progress, started_at, completed_at, image_name, image_tag, size, error, log, metadata, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13::jsonb, $14, $14) ON CONFLICT (id) DO UPDATE SET project_id = EXCLUDED.project_id, service_id = EXCLUDED.service_id, status = EXCLUDED.status, progress = EXCLUDED.progress, started_at = EXCLUDED.started_at, completed_at = EXCLUDED.completed_at, image_name = EXCLUDED.image_name, image_tag = EXCLUDED.image_tag, size = EXCLUDED.size, error = EXCLUDED.error, log = EXCLUDED.log, metadata = EXCLUDED.metadata, updated_at = EXCLUDED.updated_at ` type UpsertBuildParams struct { ID string `json:"id"` ProjectID sql.NullString `json:"project_id"` ServiceID sql.NullString `json:"service_id"` Status string `json:"status"` Progress int32 `json:"progress"` StartedAt time.Time `json:"started_at"` CompletedAt sql.NullTime `json:"completed_at"` ImageName string `json:"image_name"` ImageTag string `json:"image_tag"` Size int64 `json:"size"` Error sql.NullString `json:"error"` Log string `json:"log"` Column13 json.RawMessage `json:"column_13"` CreatedAt time.Time `json:"created_at"` } func (q *Queries) UpsertBuild(ctx context.Context, arg UpsertBuildParams) error { _, err := q.db.ExecContext(ctx, upsertBuild, arg.ID, arg.ProjectID, arg.ServiceID, arg.Status, arg.Progress, arg.StartedAt, arg.CompletedAt, arg.ImageName, arg.ImageTag, arg.Size, arg.Error, arg.Log, arg.Column13, arg.CreatedAt, ) return err }