058f8dba7f
Can Sync Versioning * started * client * jobcansync * tests
82 lines
1.9 KiB
Go
82 lines
1.9 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.27.0
|
|
// source: job.sql
|
|
|
|
package repository
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
const addJobCanSync = `-- name: AddJobCanSync :exec
|
|
INSERT INTO jobCanSync (canSync, jobId) VALUES ($1, $2)
|
|
`
|
|
|
|
type AddJobCanSyncParams struct {
|
|
Cansync bool `db:"cansync"`
|
|
Jobid pgtype.UUID `db:"jobid"`
|
|
}
|
|
|
|
// AddJobCanSync
|
|
//
|
|
// INSERT INTO jobCanSync (canSync, jobId) VALUES ($1, $2)
|
|
func (q *Queries) AddJobCanSync(ctx context.Context, arg *AddJobCanSyncParams) error {
|
|
_, err := q.db.Exec(ctx, addJobCanSync, arg.Cansync, arg.Jobid)
|
|
return err
|
|
}
|
|
|
|
const createJob = `-- name: CreateJob :one
|
|
INSERT INTO jobs (clientId) VALUES ($1) RETURNING id
|
|
`
|
|
|
|
// CreateJob
|
|
//
|
|
// INSERT INTO jobs (clientId) VALUES ($1) RETURNING id
|
|
func (q *Queries) CreateJob(ctx context.Context, clientid pgtype.UUID) (pgtype.UUID, error) {
|
|
row := q.db.QueryRow(ctx, createJob, clientid)
|
|
var id pgtype.UUID
|
|
err := row.Scan(&id)
|
|
return id, err
|
|
}
|
|
|
|
const getJob = `-- name: GetJob :one
|
|
SELECT j.id, j.clientId, coalesce(cs.canSync, false) as canSync
|
|
FROM jobs as j
|
|
LEFT JOIN (
|
|
SELECT jobId, canSync
|
|
FROM jobCanSync
|
|
WHERE jobId = $1
|
|
ORDER BY addedAt DESC
|
|
LIMIT 1
|
|
) as cs on cs.jobId = j.id
|
|
WHERE j.id = $1
|
|
`
|
|
|
|
type GetJobRow struct {
|
|
ID pgtype.UUID `db:"id"`
|
|
Clientid pgtype.UUID `db:"clientid"`
|
|
Cansync bool `db:"cansync"`
|
|
}
|
|
|
|
// GetJob
|
|
//
|
|
// SELECT j.id, j.clientId, coalesce(cs.canSync, false) as canSync
|
|
// FROM jobs as j
|
|
// LEFT JOIN (
|
|
// SELECT jobId, canSync
|
|
// FROM jobCanSync
|
|
// WHERE jobId = $1
|
|
// ORDER BY addedAt DESC
|
|
// LIMIT 1
|
|
// ) as cs on cs.jobId = j.id
|
|
// WHERE j.id = $1
|
|
func (q *Queries) GetJob(ctx context.Context, jobid pgtype.UUID) (*GetJobRow, error) {
|
|
row := q.db.QueryRow(ctx, getJob, jobid)
|
|
var i GetJobRow
|
|
err := row.Scan(&i.ID, &i.Clientid, &i.Cansync)
|
|
return &i, err
|
|
}
|