All checks were successful
Build and Release / release (push) Successful in 1m15s
207 lines
4.6 KiB
Go
207 lines
4.6 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.30.0
|
|
// source: commit.sql
|
|
|
|
package sqlc
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
const createCommit = `-- name: CreateCommit :one
|
|
INSERT INTO commits (
|
|
project_id, snapshot_json, snapshot_hash, user_id, edit_summary
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5
|
|
)
|
|
RETURNING id, project_id, snapshot_json, snapshot_hash, user_id, edit_summary, is_deleted, created_at
|
|
`
|
|
|
|
type CreateCommitParams struct {
|
|
ProjectID pgtype.UUID `json:"project_id"`
|
|
SnapshotJson json.RawMessage `json:"snapshot_json"`
|
|
SnapshotHash pgtype.Text `json:"snapshot_hash"`
|
|
UserID pgtype.UUID `json:"user_id"`
|
|
EditSummary pgtype.Text `json:"edit_summary"`
|
|
}
|
|
|
|
func (q *Queries) CreateCommit(ctx context.Context, arg CreateCommitParams) (Commit, error) {
|
|
row := q.db.QueryRow(ctx, createCommit,
|
|
arg.ProjectID,
|
|
arg.SnapshotJson,
|
|
arg.SnapshotHash,
|
|
arg.UserID,
|
|
arg.EditSummary,
|
|
)
|
|
var i Commit
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.ProjectID,
|
|
&i.SnapshotJson,
|
|
&i.SnapshotHash,
|
|
&i.UserID,
|
|
&i.EditSummary,
|
|
&i.IsDeleted,
|
|
&i.CreatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const deleteCommit = `-- name: DeleteCommit :exec
|
|
UPDATE commits
|
|
SET is_deleted = true
|
|
WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) DeleteCommit(ctx context.Context, id pgtype.UUID) error {
|
|
_, err := q.db.Exec(ctx, deleteCommit, id)
|
|
return err
|
|
}
|
|
|
|
const getCommitById = `-- name: GetCommitById :one
|
|
SELECT id, project_id, snapshot_json, snapshot_hash, user_id, edit_summary, is_deleted, created_at
|
|
FROM commits
|
|
WHERE id = $1 AND is_deleted = false
|
|
`
|
|
|
|
func (q *Queries) GetCommitById(ctx context.Context, id pgtype.UUID) (Commit, error) {
|
|
row := q.db.QueryRow(ctx, getCommitById, id)
|
|
var i Commit
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.ProjectID,
|
|
&i.SnapshotJson,
|
|
&i.SnapshotHash,
|
|
&i.UserID,
|
|
&i.EditSummary,
|
|
&i.IsDeleted,
|
|
&i.CreatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getCommitsByIDs = `-- name: GetCommitsByIDs :many
|
|
SELECT id, project_id, snapshot_json, snapshot_hash, user_id, edit_summary, is_deleted, created_at FROM commits WHERE id = ANY($1::uuid[]) AND is_deleted = false
|
|
`
|
|
|
|
func (q *Queries) GetCommitsByIDs(ctx context.Context, dollar_1 []pgtype.UUID) ([]Commit, error) {
|
|
rows, err := q.db.Query(ctx, getCommitsByIDs, dollar_1)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []Commit{}
|
|
for rows.Next() {
|
|
var i Commit
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.ProjectID,
|
|
&i.SnapshotJson,
|
|
&i.SnapshotHash,
|
|
&i.UserID,
|
|
&i.EditSummary,
|
|
&i.IsDeleted,
|
|
&i.CreatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const getCommitsByProjectID = `-- name: GetCommitsByProjectID :many
|
|
SELECT id, project_id, snapshot_json, snapshot_hash, user_id, edit_summary, is_deleted, created_at
|
|
FROM commits
|
|
WHERE project_id = $1 AND is_deleted = false
|
|
ORDER BY created_at DESC
|
|
`
|
|
|
|
func (q *Queries) GetCommitsByProjectID(ctx context.Context, projectID pgtype.UUID) ([]Commit, error) {
|
|
rows, err := q.db.Query(ctx, getCommitsByProjectID, projectID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []Commit{}
|
|
for rows.Next() {
|
|
var i Commit
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.ProjectID,
|
|
&i.SnapshotJson,
|
|
&i.SnapshotHash,
|
|
&i.UserID,
|
|
&i.EditSummary,
|
|
&i.IsDeleted,
|
|
&i.CreatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const searchCommits = `-- name: SearchCommits :many
|
|
SELECT id, project_id, snapshot_json, snapshot_hash, user_id, edit_summary, is_deleted, created_at
|
|
FROM commits
|
|
WHERE is_deleted = false
|
|
AND ($1::uuid IS NULL OR project_id = $1)
|
|
AND ($2::uuid IS NULL OR user_id = $2)
|
|
AND ($3::uuid IS NULL OR id < $3::uuid)
|
|
ORDER BY created_at DESC
|
|
LIMIT $4
|
|
`
|
|
|
|
type SearchCommitsParams struct {
|
|
ProjectID pgtype.UUID `json:"project_id"`
|
|
UserID pgtype.UUID `json:"user_id"`
|
|
CursorID pgtype.UUID `json:"cursor_id"`
|
|
Limit int32 `json:"limit"`
|
|
}
|
|
|
|
func (q *Queries) SearchCommits(ctx context.Context, arg SearchCommitsParams) ([]Commit, error) {
|
|
rows, err := q.db.Query(ctx, searchCommits,
|
|
arg.ProjectID,
|
|
arg.UserID,
|
|
arg.CursorID,
|
|
arg.Limit,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []Commit{}
|
|
for rows.Next() {
|
|
var i Commit
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.ProjectID,
|
|
&i.SnapshotJson,
|
|
&i.SnapshotHash,
|
|
&i.UserID,
|
|
&i.EditSummary,
|
|
&i.IsDeleted,
|
|
&i.CreatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|