feat: statements for tags added
This commit is contained in:
parent
3cca6ee168
commit
e6dc27fd55
2 changed files with 82 additions and 0 deletions
|
|
@ -59,6 +59,34 @@ func (q *Queries) GetStudioByID(ctx context.Context, studioID int32) (Studio, er
|
|||
return i, err
|
||||
}
|
||||
|
||||
const getTitleTags = `-- name: GetTitleTags :many
|
||||
SELECT
|
||||
tag_names
|
||||
FROM tags as g
|
||||
JOIN title_tags as t ON(t.tag_id = g.id)
|
||||
WHERE t.title_id = $1::bigint
|
||||
`
|
||||
|
||||
func (q *Queries) GetTitleTags(ctx context.Context, titleID int64) ([][]byte, error) {
|
||||
rows, err := q.db.Query(ctx, getTitleTags, titleID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items [][]byte
|
||||
for rows.Next() {
|
||||
var tag_names []byte
|
||||
if err := rows.Scan(&tag_names); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, tag_names)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const getUserByID = `-- name: GetUserByID :one
|
||||
SELECT id, avatar_id, mail, nickname, disp_name, user_desc, creation_date
|
||||
FROM users
|
||||
|
|
@ -117,6 +145,40 @@ func (q *Queries) InsertStudio(ctx context.Context, arg InsertStudioParams) (Stu
|
|||
return i, err
|
||||
}
|
||||
|
||||
const insertTag = `-- name: InsertTag :one
|
||||
INSERT INTO tags (tag_names)
|
||||
VALUES (
|
||||
$1::jsonb)
|
||||
RETURNING id, tag_names
|
||||
`
|
||||
|
||||
func (q *Queries) InsertTag(ctx context.Context, tagNames []byte) (Tag, error) {
|
||||
row := q.db.QueryRow(ctx, insertTag, tagNames)
|
||||
var i Tag
|
||||
err := row.Scan(&i.ID, &i.TagNames)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const insertTitleTags = `-- name: InsertTitleTags :one
|
||||
INSERT INTO title_tags (title_id, tag_id)
|
||||
VALUES (
|
||||
$1::bigint,
|
||||
$2::bigint)
|
||||
RETURNING title_id, tag_id
|
||||
`
|
||||
|
||||
type InsertTitleTagsParams struct {
|
||||
TitleID int64 `json:"title_id"`
|
||||
TagID int64 `json:"tag_id"`
|
||||
}
|
||||
|
||||
func (q *Queries) InsertTitleTags(ctx context.Context, arg InsertTitleTagsParams) (TitleTag, error) {
|
||||
row := q.db.QueryRow(ctx, insertTitleTags, arg.TitleID, arg.TagID)
|
||||
var i TitleTag
|
||||
err := row.Scan(&i.TitleID, &i.TagID)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const searchTitles = `-- name: SearchTitles :many
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue