-
Notifications
You must be signed in to change notification settings - Fork 0
/
packages.sql.go
162 lines (145 loc) · 3.6 KB
/
packages.sql.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.15.0
// source: packages.sql
package db
import (
"context"
)
const createPackage = `-- name: CreatePackage :exec
INSERT INTO packages (
pkg_name ,
pkg_type ,
vcs ,
url ,
description
) VALUES ($1, $2, $3, $4, $5)
`
type CreatePackageParams struct {
PkgName string `db:"pkg_name" json:"pkg_name"`
PkgType Pkgtype `db:"pkg_type" json:"pkg_type"`
Vcs Vcstype `db:"vcs" json:"vcs"`
Url string `db:"url" json:"url"`
Description string `db:"description" json:"description"`
}
func (q *Queries) CreatePackage(ctx context.Context, arg CreatePackageParams) error {
_, err := q.db.Exec(ctx, createPackage,
arg.PkgName,
arg.PkgType,
arg.Vcs,
arg.Url,
arg.Description,
)
return err
}
const deletePackage = `-- name: DeletePackage :exec
DELETE FROM packages
WHERE pkg_name = $1
`
func (q *Queries) DeletePackage(ctx context.Context, pkgName string) error {
_, err := q.db.Exec(ctx, deletePackage, pkgName)
return err
}
const getPackageWithID = `-- name: GetPackageWithID :one
SELECT id, pkg_name, pkg_type, vcs, url, description FROM packages
WHERE id = $1 LIMIT 1
`
func (q *Queries) GetPackageWithID(ctx context.Context, id int64) (Package, error) {
row := q.db.QueryRow(ctx, getPackageWithID, id)
var i Package
err := row.Scan(
&i.ID,
&i.PkgName,
&i.PkgType,
&i.Vcs,
&i.Url,
&i.Description,
)
return i, err
}
const getPackageWithName = `-- name: GetPackageWithName :one
SELECT id, pkg_name, pkg_type, vcs, url, description FROM packages
WHERE pkg_name = $1 LIMIT 1
`
func (q *Queries) GetPackageWithName(ctx context.Context, pkgName string) (Package, error) {
row := q.db.QueryRow(ctx, getPackageWithName, pkgName)
var i Package
err := row.Scan(
&i.ID,
&i.PkgName,
&i.PkgType,
&i.Vcs,
&i.Url,
&i.Description,
)
return i, err
}
const getPackages = `-- name: GetPackages :many
SELECT id, pkg_name, pkg_type, vcs, url, description FROM packages ORDER BY id OFFSET $1 limit $2
`
type GetPackagesParams struct {
Offset int32 `db:"offset" json:"offset"`
Limit int32 `db:"limit" json:"limit"`
}
func (q *Queries) GetPackages(ctx context.Context, arg GetPackagesParams) ([]Package, error) {
rows, err := q.db.Query(ctx, getPackages, arg.Offset, arg.Limit)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Package
for rows.Next() {
var i Package
if err := rows.Scan(
&i.ID,
&i.PkgName,
&i.PkgType,
&i.Vcs,
&i.Url,
&i.Description,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const searchPackages = `-- name: SearchPackages :many
SELECT id, pkg_name, pkg_type, vcs, url, description FROM packages
WHERE to_tsvector('english', description) @@ to_tsquery('english', $1)
OR pkg_name = $1 ORDER BY id OFFSET $2 limit $3
`
type SearchPackagesParams struct {
ToTsquery string `db:"to_tsquery" json:"to_tsquery"`
Offset int32 `db:"offset" json:"offset"`
Limit int32 `db:"limit" json:"limit"`
}
func (q *Queries) SearchPackages(ctx context.Context, arg SearchPackagesParams) ([]Package, error) {
rows, err := q.db.Query(ctx, searchPackages, arg.ToTsquery, arg.Offset, arg.Limit)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Package
for rows.Next() {
var i Package
if err := rows.Scan(
&i.ID,
&i.PkgName,
&i.PkgType,
&i.Vcs,
&i.Url,
&i.Description,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}