mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
21999b49f4
* feat(container): add explicit data workflows and snapshot rollback Make container upgrades and recreation data-safe by adding explicit preserve, export, import, restore, and rollback flows across the backend, SDK, and web UI. * fix(container): resolve go lint issues Fix formatting and lint violations introduced by the container data workflow changes so the Go CI lint job passes cleanly.
126 lines
3.3 KiB
Go
126 lines
3.3 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.30.0
|
|
// source: versions.sql
|
|
|
|
package sqlc
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
const getVersionSnapshotRuntimeName = `-- name: GetVersionSnapshotRuntimeName :one
|
|
SELECT s.runtime_snapshot_name
|
|
FROM container_versions cv
|
|
JOIN snapshots s ON s.id = cv.snapshot_id
|
|
WHERE cv.container_id = $1
|
|
AND cv.version = $2
|
|
`
|
|
|
|
type GetVersionSnapshotRuntimeNameParams struct {
|
|
ContainerID string `json:"container_id"`
|
|
Version int32 `json:"version"`
|
|
}
|
|
|
|
func (q *Queries) GetVersionSnapshotRuntimeName(ctx context.Context, arg GetVersionSnapshotRuntimeNameParams) (string, error) {
|
|
row := q.db.QueryRow(ctx, getVersionSnapshotRuntimeName, arg.ContainerID, arg.Version)
|
|
var runtime_snapshot_name string
|
|
err := row.Scan(&runtime_snapshot_name)
|
|
return runtime_snapshot_name, err
|
|
}
|
|
|
|
const insertVersion = `-- name: InsertVersion :one
|
|
INSERT INTO container_versions (container_id, snapshot_id, version)
|
|
VALUES (
|
|
$1,
|
|
$2,
|
|
$3
|
|
)
|
|
RETURNING id, container_id, snapshot_id, version, created_at
|
|
`
|
|
|
|
type InsertVersionParams struct {
|
|
ContainerID string `json:"container_id"`
|
|
SnapshotID pgtype.UUID `json:"snapshot_id"`
|
|
Version int32 `json:"version"`
|
|
}
|
|
|
|
func (q *Queries) InsertVersion(ctx context.Context, arg InsertVersionParams) (ContainerVersion, error) {
|
|
row := q.db.QueryRow(ctx, insertVersion, arg.ContainerID, arg.SnapshotID, arg.Version)
|
|
var i ContainerVersion
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.ContainerID,
|
|
&i.SnapshotID,
|
|
&i.Version,
|
|
&i.CreatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const listVersionsByContainerID = `-- name: ListVersionsByContainerID :many
|
|
SELECT
|
|
cv.id,
|
|
cv.container_id,
|
|
cv.snapshot_id,
|
|
cv.version,
|
|
cv.created_at,
|
|
s.runtime_snapshot_name,
|
|
s.display_name
|
|
FROM container_versions cv
|
|
JOIN snapshots s ON s.id = cv.snapshot_id
|
|
WHERE cv.container_id = $1
|
|
ORDER BY cv.version ASC
|
|
`
|
|
|
|
type ListVersionsByContainerIDRow struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
ContainerID string `json:"container_id"`
|
|
SnapshotID pgtype.UUID `json:"snapshot_id"`
|
|
Version int32 `json:"version"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
RuntimeSnapshotName string `json:"runtime_snapshot_name"`
|
|
DisplayName pgtype.Text `json:"display_name"`
|
|
}
|
|
|
|
func (q *Queries) ListVersionsByContainerID(ctx context.Context, containerID string) ([]ListVersionsByContainerIDRow, error) {
|
|
rows, err := q.db.Query(ctx, listVersionsByContainerID, containerID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []ListVersionsByContainerIDRow
|
|
for rows.Next() {
|
|
var i ListVersionsByContainerIDRow
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.ContainerID,
|
|
&i.SnapshotID,
|
|
&i.Version,
|
|
&i.CreatedAt,
|
|
&i.RuntimeSnapshotName,
|
|
&i.DisplayName,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const nextVersion = `-- name: NextVersion :one
|
|
SELECT COALESCE(MAX(version), 0) + 1 FROM container_versions WHERE container_id = $1
|
|
`
|
|
|
|
func (q *Queries) NextVersion(ctx context.Context, containerID string) (int32, error) {
|
|
row := q.db.QueryRow(ctx, nextVersion, containerID)
|
|
var column_1 int32
|
|
err := row.Scan(&column_1)
|
|
return column_1, err
|
|
}
|