Files
History_Api/internal/gen/sqlc/commit.sql.go
AzenKain 6918a100fc
All checks were successful
Build and Release / release (push) Successful in 1m15s
Module project, commit, submission
2026-04-26 16:31:03 +07:00

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
}