owpengram-server/internal/store/postgres/sqlcgen/media.sql.go

1297 lines
30 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: media.sql
package sqlcgen
import (
"context"
"github.com/jackc/pgx/v5/pgtype"
)
const addProfilePhoto = `-- name: AddProfilePhoto :exec
INSERT INTO profile_photos (owner_peer_type, owner_peer_id, photo_id, date, active, sort_order)
VALUES (
$1::text,
$2::bigint,
$3::bigint,
$4::int,
true,
$5::bigint
)
ON CONFLICT (owner_peer_type, owner_peer_id, photo_id) DO UPDATE SET
date = EXCLUDED.date,
active = true,
sort_order = EXCLUDED.sort_order
`
type AddProfilePhotoParams struct {
OwnerPeerType string
OwnerPeerID int64
PhotoID int64
Date int32
SortOrder int64
}
// profile_photos --------------------------------------------------------------
func (q *Queries) AddProfilePhoto(ctx context.Context, arg AddProfilePhotoParams) error {
_, err := q.db.Exec(ctx, addProfilePhoto,
arg.OwnerPeerType,
arg.OwnerPeerID,
arg.PhotoID,
arg.Date,
arg.SortOrder,
)
return err
}
const countAvailableReactions = `-- name: CountAvailableReactions :one
SELECT count(*)::int AS total FROM available_reactions
`
func (q *Queries) CountAvailableReactions(ctx context.Context) (int32, error) {
row := q.db.QueryRow(ctx, countAvailableReactions)
var total int32
err := row.Scan(&total)
return total, err
}
const countProfilePhotos = `-- name: CountProfilePhotos :one
SELECT count(*)::int AS total
FROM profile_photos
WHERE owner_peer_type = $1::text
AND owner_peer_id = $2::bigint
AND active
`
type CountProfilePhotosParams struct {
OwnerPeerType string
OwnerPeerID int64
}
func (q *Queries) CountProfilePhotos(ctx context.Context, arg CountProfilePhotosParams) (int32, error) {
row := q.db.QueryRow(ctx, countProfilePhotos, arg.OwnerPeerType, arg.OwnerPeerID)
var total int32
err := row.Scan(&total)
return total, err
}
const countStickerSets = `-- name: CountStickerSets :one
SELECT count(*)::int AS total FROM sticker_sets
`
func (q *Queries) CountStickerSets(ctx context.Context) (int32, error) {
row := q.db.QueryRow(ctx, countStickerSets)
var total int32
err := row.Scan(&total)
return total, err
}
const currentProfilePhoto = `-- name: CurrentProfilePhoto :one
SELECT photo_id
FROM profile_photos
WHERE owner_peer_type = $1::text
AND owner_peer_id = $2::bigint
AND active
ORDER BY sort_order DESC
LIMIT 1
`
type CurrentProfilePhotoParams struct {
OwnerPeerType string
OwnerPeerID int64
}
func (q *Queries) CurrentProfilePhoto(ctx context.Context, arg CurrentProfilePhotoParams) (int64, error) {
row := q.db.QueryRow(ctx, currentProfilePhoto, arg.OwnerPeerType, arg.OwnerPeerID)
var photo_id int64
err := row.Scan(&photo_id)
return photo_id, err
}
const currentProfilePhotosForOwners = `-- name: CurrentProfilePhotosForOwners :many
SELECT DISTINCT ON (pp.owner_peer_id)
pp.owner_peer_id,
pp.photo_id,
ph.dc_id,
ph.sizes::text AS sizes_json
FROM profile_photos pp
JOIN photos ph ON ph.id = pp.photo_id
WHERE pp.owner_peer_type = $1::text
AND pp.owner_peer_id = ANY($2::bigint[])
AND pp.active
ORDER BY pp.owner_peer_id, pp.sort_order DESC
`
type CurrentProfilePhotosForOwnersParams struct {
OwnerPeerType string
OwnerIds []int64
}
type CurrentProfilePhotosForOwnersRow struct {
OwnerPeerID int64
PhotoID int64
DcID int32
SizesJson string
}
func (q *Queries) CurrentProfilePhotosForOwners(ctx context.Context, arg CurrentProfilePhotosForOwnersParams) ([]CurrentProfilePhotosForOwnersRow, error) {
rows, err := q.db.Query(ctx, currentProfilePhotosForOwners, arg.OwnerPeerType, arg.OwnerIds)
if err != nil {
return nil, err
}
defer rows.Close()
var items []CurrentProfilePhotosForOwnersRow
for rows.Next() {
var i CurrentProfilePhotosForOwnersRow
if err := rows.Scan(
&i.OwnerPeerID,
&i.PhotoID,
&i.DcID,
&i.SizesJson,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const deactivateProfilePhotos = `-- name: DeactivateProfilePhotos :many
UPDATE profile_photos
SET active = false
WHERE owner_peer_type = $1::text
AND owner_peer_id = $2::bigint
AND photo_id = ANY($3::bigint[])
AND active
RETURNING photo_id
`
type DeactivateProfilePhotosParams struct {
OwnerPeerType string
OwnerPeerID int64
PhotoIds []int64
}
func (q *Queries) DeactivateProfilePhotos(ctx context.Context, arg DeactivateProfilePhotosParams) ([]int64, error) {
rows, err := q.db.Query(ctx, deactivateProfilePhotos, arg.OwnerPeerType, arg.OwnerPeerID, arg.PhotoIds)
if err != nil {
return nil, err
}
defer rows.Close()
var items []int64
for rows.Next() {
var photo_id int64
if err := rows.Scan(&photo_id); err != nil {
return nil, err
}
items = append(items, photo_id)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const deleteExpiredUploadParts = `-- name: DeleteExpiredUploadParts :many
WITH doomed AS (
SELECT owner_user_id, file_id, part
FROM upload_parts
WHERE created_at < $1::timestamptz
ORDER BY created_at ASC
LIMIT $2::int
)
DELETE FROM upload_parts p
USING doomed d
WHERE p.owner_user_id = d.owner_user_id
AND p.file_id = d.file_id
AND p.part = d.part
RETURNING p.object_key
`
type DeleteExpiredUploadPartsParams struct {
Before pgtype.Timestamptz
BatchLimit int32
}
func (q *Queries) DeleteExpiredUploadParts(ctx context.Context, arg DeleteExpiredUploadPartsParams) ([]string, error) {
rows, err := q.db.Query(ctx, deleteExpiredUploadParts, arg.Before, arg.BatchLimit)
if err != nil {
return nil, err
}
defer rows.Close()
var items []string
for rows.Next() {
var object_key string
if err := rows.Scan(&object_key); err != nil {
return nil, err
}
items = append(items, object_key)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const deleteUploadParts = `-- name: DeleteUploadParts :many
DELETE FROM upload_parts
WHERE owner_user_id = $1::bigint
AND file_id = $2::bigint
RETURNING object_key
`
type DeleteUploadPartsParams struct {
OwnerUserID int64
FileID int64
}
func (q *Queries) DeleteUploadParts(ctx context.Context, arg DeleteUploadPartsParams) ([]string, error) {
rows, err := q.db.Query(ctx, deleteUploadParts, arg.OwnerUserID, arg.FileID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []string
for rows.Next() {
var object_key string
if err := rows.Scan(&object_key); err != nil {
return nil, err
}
items = append(items, object_key)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const getDocument = `-- name: GetDocument :one
SELECT id, access_hash, file_reference, date, mime_type, size, dc_id,
attributes::text AS attributes_json,
thumbs::text AS thumbs_json
FROM documents
WHERE id = $1::bigint
`
type GetDocumentRow struct {
ID int64
AccessHash int64
FileReference []byte
Date int32
MimeType string
Size int64
DcID int32
AttributesJson string
ThumbsJson string
}
func (q *Queries) GetDocument(ctx context.Context, id int64) (GetDocumentRow, error) {
row := q.db.QueryRow(ctx, getDocument, id)
var i GetDocumentRow
err := row.Scan(
&i.ID,
&i.AccessHash,
&i.FileReference,
&i.Date,
&i.MimeType,
&i.Size,
&i.DcID,
&i.AttributesJson,
&i.ThumbsJson,
)
return i, err
}
const getDocuments = `-- name: GetDocuments :many
SELECT id, access_hash, file_reference, date, mime_type, size, dc_id,
attributes::text AS attributes_json,
thumbs::text AS thumbs_json
FROM documents
WHERE id = ANY($1::bigint[])
`
type GetDocumentsRow struct {
ID int64
AccessHash int64
FileReference []byte
Date int32
MimeType string
Size int64
DcID int32
AttributesJson string
ThumbsJson string
}
func (q *Queries) GetDocuments(ctx context.Context, ids []int64) ([]GetDocumentsRow, error) {
rows, err := q.db.Query(ctx, getDocuments, ids)
if err != nil {
return nil, err
}
defer rows.Close()
var items []GetDocumentsRow
for rows.Next() {
var i GetDocumentsRow
if err := rows.Scan(
&i.ID,
&i.AccessHash,
&i.FileReference,
&i.Date,
&i.MimeType,
&i.Size,
&i.DcID,
&i.AttributesJson,
&i.ThumbsJson,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const getFileBlob = `-- name: GetFileBlob :one
SELECT location_key, backend, object_key, size, sha256, mime_type
FROM file_blobs
WHERE location_key = $1::text
`
type GetFileBlobRow struct {
LocationKey string
Backend string
ObjectKey string
Size int64
Sha256 []byte
MimeType string
}
func (q *Queries) GetFileBlob(ctx context.Context, locationKey string) (GetFileBlobRow, error) {
row := q.db.QueryRow(ctx, getFileBlob, locationKey)
var i GetFileBlobRow
err := row.Scan(
&i.LocationKey,
&i.Backend,
&i.ObjectKey,
&i.Size,
&i.Sha256,
&i.MimeType,
)
return i, err
}
const getPhoto = `-- name: GetPhoto :one
SELECT id, access_hash, file_reference, date, dc_id, has_stickers,
sizes::text AS sizes_json
FROM photos
WHERE id = $1::bigint
`
type GetPhotoRow struct {
ID int64
AccessHash int64
FileReference []byte
Date int32
DcID int32
HasStickers bool
SizesJson string
}
func (q *Queries) GetPhoto(ctx context.Context, id int64) (GetPhotoRow, error) {
row := q.db.QueryRow(ctx, getPhoto, id)
var i GetPhotoRow
err := row.Scan(
&i.ID,
&i.AccessHash,
&i.FileReference,
&i.Date,
&i.DcID,
&i.HasStickers,
&i.SizesJson,
)
return i, err
}
const getStickerSetByID = `-- name: GetStickerSetByID :one
SELECT
id, access_hash, short_name, title, count, hash, set_kind,
official, animated, videos, emojis, masks, installed, archived, installed_date,
thumb_document_id, thumbs::text AS thumbs_json, thumb_dc_id, thumb_version,
document_ids::text AS document_ids_json, packs::text AS packs_json, sort_order, system_key
FROM sticker_sets
WHERE id = $1::bigint
`
type GetStickerSetByIDRow struct {
ID int64
AccessHash int64
ShortName string
Title string
Count int32
Hash int32
SetKind string
Official bool
Animated bool
Videos bool
Emojis bool
Masks bool
Installed bool
Archived bool
InstalledDate int32
ThumbDocumentID int64
ThumbsJson string
ThumbDcID int32
ThumbVersion int32
DocumentIdsJson string
PacksJson string
SortOrder int32
SystemKey string
}
func (q *Queries) GetStickerSetByID(ctx context.Context, id int64) (GetStickerSetByIDRow, error) {
row := q.db.QueryRow(ctx, getStickerSetByID, id)
var i GetStickerSetByIDRow
err := row.Scan(
&i.ID,
&i.AccessHash,
&i.ShortName,
&i.Title,
&i.Count,
&i.Hash,
&i.SetKind,
&i.Official,
&i.Animated,
&i.Videos,
&i.Emojis,
&i.Masks,
&i.Installed,
&i.Archived,
&i.InstalledDate,
&i.ThumbDocumentID,
&i.ThumbsJson,
&i.ThumbDcID,
&i.ThumbVersion,
&i.DocumentIdsJson,
&i.PacksJson,
&i.SortOrder,
&i.SystemKey,
)
return i, err
}
const getStickerSetByShortName = `-- name: GetStickerSetByShortName :one
SELECT
id, access_hash, short_name, title, count, hash, set_kind,
official, animated, videos, emojis, masks, installed, archived, installed_date,
thumb_document_id, thumbs::text AS thumbs_json, thumb_dc_id, thumb_version,
document_ids::text AS document_ids_json, packs::text AS packs_json, sort_order, system_key
FROM sticker_sets
WHERE short_name = $1::text
`
type GetStickerSetByShortNameRow struct {
ID int64
AccessHash int64
ShortName string
Title string
Count int32
Hash int32
SetKind string
Official bool
Animated bool
Videos bool
Emojis bool
Masks bool
Installed bool
Archived bool
InstalledDate int32
ThumbDocumentID int64
ThumbsJson string
ThumbDcID int32
ThumbVersion int32
DocumentIdsJson string
PacksJson string
SortOrder int32
SystemKey string
}
func (q *Queries) GetStickerSetByShortName(ctx context.Context, shortName string) (GetStickerSetByShortNameRow, error) {
row := q.db.QueryRow(ctx, getStickerSetByShortName, shortName)
var i GetStickerSetByShortNameRow
err := row.Scan(
&i.ID,
&i.AccessHash,
&i.ShortName,
&i.Title,
&i.Count,
&i.Hash,
&i.SetKind,
&i.Official,
&i.Animated,
&i.Videos,
&i.Emojis,
&i.Masks,
&i.Installed,
&i.Archived,
&i.InstalledDate,
&i.ThumbDocumentID,
&i.ThumbsJson,
&i.ThumbDcID,
&i.ThumbVersion,
&i.DocumentIdsJson,
&i.PacksJson,
&i.SortOrder,
&i.SystemKey,
)
return i, err
}
const getStickerSetBySystemKey = `-- name: GetStickerSetBySystemKey :one
SELECT
id, access_hash, short_name, title, count, hash, set_kind,
official, animated, videos, emojis, masks, installed, archived, installed_date,
thumb_document_id, thumbs::text AS thumbs_json, thumb_dc_id, thumb_version,
document_ids::text AS document_ids_json, packs::text AS packs_json, sort_order, system_key
FROM sticker_sets
WHERE system_key = $1::text
`
type GetStickerSetBySystemKeyRow struct {
ID int64
AccessHash int64
ShortName string
Title string
Count int32
Hash int32
SetKind string
Official bool
Animated bool
Videos bool
Emojis bool
Masks bool
Installed bool
Archived bool
InstalledDate int32
ThumbDocumentID int64
ThumbsJson string
ThumbDcID int32
ThumbVersion int32
DocumentIdsJson string
PacksJson string
SortOrder int32
SystemKey string
}
func (q *Queries) GetStickerSetBySystemKey(ctx context.Context, systemKey string) (GetStickerSetBySystemKeyRow, error) {
row := q.db.QueryRow(ctx, getStickerSetBySystemKey, systemKey)
var i GetStickerSetBySystemKeyRow
err := row.Scan(
&i.ID,
&i.AccessHash,
&i.ShortName,
&i.Title,
&i.Count,
&i.Hash,
&i.SetKind,
&i.Official,
&i.Animated,
&i.Videos,
&i.Emojis,
&i.Masks,
&i.Installed,
&i.Archived,
&i.InstalledDate,
&i.ThumbDocumentID,
&i.ThumbsJson,
&i.ThumbDcID,
&i.ThumbVersion,
&i.DocumentIdsJson,
&i.PacksJson,
&i.SortOrder,
&i.SystemKey,
)
return i, err
}
const getUploadPartSlot = `-- name: GetUploadPartSlot :one
SELECT
COALESCE((
SELECT size
FROM upload_parts
WHERE owner_user_id = $1::bigint
AND file_id = $2::bigint
AND part = $3::int
), -1)::bigint AS existing_bytes,
COALESCE((
SELECT object_key
FROM upload_parts
WHERE owner_user_id = $1::bigint
AND file_id = $2::bigint
AND part = $3::int
), '')::text AS object_key,
(
SELECT COUNT(*)::int
FROM upload_parts
WHERE owner_user_id = $1::bigint
AND file_id = $2::bigint
)::int AS file_parts
`
type GetUploadPartSlotParams struct {
OwnerUserID int64
FileID int64
Part int32
}
type GetUploadPartSlotRow struct {
ExistingBytes int64
ObjectKey string
FileParts int32
}
func (q *Queries) GetUploadPartSlot(ctx context.Context, arg GetUploadPartSlotParams) (GetUploadPartSlotRow, error) {
row := q.db.QueryRow(ctx, getUploadPartSlot, arg.OwnerUserID, arg.FileID, arg.Part)
var i GetUploadPartSlotRow
err := row.Scan(&i.ExistingBytes, &i.ObjectKey, &i.FileParts)
return i, err
}
const getUploadPartUsage = `-- name: GetUploadPartUsage :one
SELECT
COALESCE(SUM(size), 0)::bigint AS bytes,
COUNT(*)::int AS parts,
COUNT(DISTINCT file_id)::int AS files
FROM upload_parts
WHERE owner_user_id = $1::bigint
`
type GetUploadPartUsageRow struct {
Bytes int64
Parts int32
Files int32
}
func (q *Queries) GetUploadPartUsage(ctx context.Context, ownerUserID int64) (GetUploadPartUsageRow, error) {
row := q.db.QueryRow(ctx, getUploadPartUsage, ownerUserID)
var i GetUploadPartUsageRow
err := row.Scan(&i.Bytes, &i.Parts, &i.Files)
return i, err
}
const listAvailableReactions = `-- name: ListAvailableReactions :many
SELECT
reaction, title, inactive, premium,
static_icon_id, appear_animation_id, select_animation_id,
activate_animation_id, effect_animation_id, around_animation_id, center_icon_id, sort_order
FROM available_reactions
ORDER BY sort_order ASC, reaction ASC
`
func (q *Queries) ListAvailableReactions(ctx context.Context) ([]AvailableReaction, error) {
rows, err := q.db.Query(ctx, listAvailableReactions)
if err != nil {
return nil, err
}
defer rows.Close()
var items []AvailableReaction
for rows.Next() {
var i AvailableReaction
if err := rows.Scan(
&i.Reaction,
&i.Title,
&i.Inactive,
&i.Premium,
&i.StaticIconID,
&i.AppearAnimationID,
&i.SelectAnimationID,
&i.ActivateAnimationID,
&i.EffectAnimationID,
&i.AroundAnimationID,
&i.CenterIconID,
&i.SortOrder,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listProfilePhotos = `-- name: ListProfilePhotos :many
SELECT photo_id
FROM profile_photos
WHERE owner_peer_type = $1::text
AND owner_peer_id = $2::bigint
AND active
AND ($3::bigint <= 0 OR photo_id < $3::bigint)
ORDER BY sort_order DESC
OFFSET $4::int
LIMIT $5::int
`
type ListProfilePhotosParams struct {
OwnerPeerType string
OwnerPeerID int64
MaxID int64
OffsetCount int32
LimitCount int32
}
func (q *Queries) ListProfilePhotos(ctx context.Context, arg ListProfilePhotosParams) ([]int64, error) {
rows, err := q.db.Query(ctx, listProfilePhotos,
arg.OwnerPeerType,
arg.OwnerPeerID,
arg.MaxID,
arg.OffsetCount,
arg.LimitCount,
)
if err != nil {
return nil, err
}
defer rows.Close()
var items []int64
for rows.Next() {
var photo_id int64
if err := rows.Scan(&photo_id); err != nil {
return nil, err
}
items = append(items, photo_id)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listStickerSetsByKind = `-- name: ListStickerSetsByKind :many
SELECT
id, access_hash, short_name, title, count, hash, set_kind,
official, animated, videos, emojis, masks, installed, archived, installed_date,
thumb_document_id, thumbs::text AS thumbs_json, thumb_dc_id, thumb_version,
document_ids::text AS document_ids_json, packs::text AS packs_json, sort_order, system_key
FROM sticker_sets
WHERE set_kind = $1::text
ORDER BY sort_order ASC, id ASC
`
type ListStickerSetsByKindRow struct {
ID int64
AccessHash int64
ShortName string
Title string
Count int32
Hash int32
SetKind string
Official bool
Animated bool
Videos bool
Emojis bool
Masks bool
Installed bool
Archived bool
InstalledDate int32
ThumbDocumentID int64
ThumbsJson string
ThumbDcID int32
ThumbVersion int32
DocumentIdsJson string
PacksJson string
SortOrder int32
SystemKey string
}
func (q *Queries) ListStickerSetsByKind(ctx context.Context, setKind string) ([]ListStickerSetsByKindRow, error) {
rows, err := q.db.Query(ctx, listStickerSetsByKind, setKind)
if err != nil {
return nil, err
}
defer rows.Close()
var items []ListStickerSetsByKindRow
for rows.Next() {
var i ListStickerSetsByKindRow
if err := rows.Scan(
&i.ID,
&i.AccessHash,
&i.ShortName,
&i.Title,
&i.Count,
&i.Hash,
&i.SetKind,
&i.Official,
&i.Animated,
&i.Videos,
&i.Emojis,
&i.Masks,
&i.Installed,
&i.Archived,
&i.InstalledDate,
&i.ThumbDocumentID,
&i.ThumbsJson,
&i.ThumbDcID,
&i.ThumbVersion,
&i.DocumentIdsJson,
&i.PacksJson,
&i.SortOrder,
&i.SystemKey,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listUploadParts = `-- name: ListUploadParts :many
SELECT part, total_parts, is_big, backend, object_key, size, sha256
FROM upload_parts
WHERE owner_user_id = $1::bigint
AND file_id = $2::bigint
ORDER BY part ASC
`
type ListUploadPartsParams struct {
OwnerUserID int64
FileID int64
}
type ListUploadPartsRow struct {
Part int32
TotalParts int32
IsBig bool
Backend string
ObjectKey string
Size int64
Sha256 []byte
}
func (q *Queries) ListUploadParts(ctx context.Context, arg ListUploadPartsParams) ([]ListUploadPartsRow, error) {
rows, err := q.db.Query(ctx, listUploadParts, arg.OwnerUserID, arg.FileID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []ListUploadPartsRow
for rows.Next() {
var i ListUploadPartsRow
if err := rows.Scan(
&i.Part,
&i.TotalParts,
&i.IsBig,
&i.Backend,
&i.ObjectKey,
&i.Size,
&i.Sha256,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const nextProfilePhotoOrder = `-- name: NextProfilePhotoOrder :one
SELECT COALESCE(MAX(sort_order), 0)::bigint AS max_order
FROM profile_photos
WHERE owner_peer_type = $1::text
AND owner_peer_id = $2::bigint
`
type NextProfilePhotoOrderParams struct {
OwnerPeerType string
OwnerPeerID int64
}
func (q *Queries) NextProfilePhotoOrder(ctx context.Context, arg NextProfilePhotoOrderParams) (int64, error) {
row := q.db.QueryRow(ctx, nextProfilePhotoOrder, arg.OwnerPeerType, arg.OwnerPeerID)
var max_order int64
err := row.Scan(&max_order)
return max_order, err
}
const putAvailableReaction = `-- name: PutAvailableReaction :exec
INSERT INTO available_reactions (
reaction, title, inactive, premium,
static_icon_id, appear_animation_id, select_animation_id,
activate_animation_id, effect_animation_id, around_animation_id, center_icon_id, sort_order
) VALUES (
$1::text,
$2::text,
$3::boolean,
$4::boolean,
$5::bigint,
$6::bigint,
$7::bigint,
$8::bigint,
$9::bigint,
$10::bigint,
$11::bigint,
$12::int
)
ON CONFLICT (reaction) DO UPDATE SET
title = EXCLUDED.title,
inactive = EXCLUDED.inactive,
premium = EXCLUDED.premium,
static_icon_id = EXCLUDED.static_icon_id,
appear_animation_id = EXCLUDED.appear_animation_id,
select_animation_id = EXCLUDED.select_animation_id,
activate_animation_id = EXCLUDED.activate_animation_id,
effect_animation_id = EXCLUDED.effect_animation_id,
around_animation_id = EXCLUDED.around_animation_id,
center_icon_id = EXCLUDED.center_icon_id,
sort_order = EXCLUDED.sort_order
`
type PutAvailableReactionParams struct {
Reaction string
Title string
Inactive bool
Premium bool
StaticIconID int64
AppearAnimationID int64
SelectAnimationID int64
ActivateAnimationID int64
EffectAnimationID int64
AroundAnimationID int64
CenterIconID int64
SortOrder int32
}
// available_reactions ---------------------------------------------------------
func (q *Queries) PutAvailableReaction(ctx context.Context, arg PutAvailableReactionParams) error {
_, err := q.db.Exec(ctx, putAvailableReaction,
arg.Reaction,
arg.Title,
arg.Inactive,
arg.Premium,
arg.StaticIconID,
arg.AppearAnimationID,
arg.SelectAnimationID,
arg.ActivateAnimationID,
arg.EffectAnimationID,
arg.AroundAnimationID,
arg.CenterIconID,
arg.SortOrder,
)
return err
}
const putDocument = `-- name: PutDocument :exec
INSERT INTO documents (id, access_hash, file_reference, date, mime_type, size, dc_id, attributes, thumbs)
VALUES (
$1::bigint,
$2::bigint,
$3::bytea,
$4::int,
$5::text,
$6::bigint,
$7::int,
$8::jsonb,
$9::jsonb
)
ON CONFLICT (id) DO UPDATE SET
access_hash = EXCLUDED.access_hash,
file_reference = EXCLUDED.file_reference,
date = EXCLUDED.date,
mime_type = EXCLUDED.mime_type,
size = EXCLUDED.size,
dc_id = EXCLUDED.dc_id,
attributes = EXCLUDED.attributes,
thumbs = EXCLUDED.thumbs
`
type PutDocumentParams struct {
ID int64
AccessHash int64
FileReference []byte
Date int32
MimeType string
Size int64
DcID int32
AttributesJson []byte
ThumbsJson []byte
}
// documents -------------------------------------------------------------------
func (q *Queries) PutDocument(ctx context.Context, arg PutDocumentParams) error {
_, err := q.db.Exec(ctx, putDocument,
arg.ID,
arg.AccessHash,
arg.FileReference,
arg.Date,
arg.MimeType,
arg.Size,
arg.DcID,
arg.AttributesJson,
arg.ThumbsJson,
)
return err
}
const putFileBlob = `-- name: PutFileBlob :exec
INSERT INTO file_blobs (location_key, backend, object_key, size, sha256, mime_type)
VALUES (
$1::text,
$2::text,
$3::text,
$4::bigint,
$5::bytea,
$6::text
)
ON CONFLICT (location_key) DO UPDATE SET
backend = EXCLUDED.backend,
object_key = EXCLUDED.object_key,
size = EXCLUDED.size,
sha256 = EXCLUDED.sha256,
mime_type = EXCLUDED.mime_type
`
type PutFileBlobParams struct {
LocationKey string
Backend string
ObjectKey string
Size int64
Sha256 []byte
MimeType string
}
// file_blobs ------------------------------------------------------------------
func (q *Queries) PutFileBlob(ctx context.Context, arg PutFileBlobParams) error {
_, err := q.db.Exec(ctx, putFileBlob,
arg.LocationKey,
arg.Backend,
arg.ObjectKey,
arg.Size,
arg.Sha256,
arg.MimeType,
)
return err
}
const putPhoto = `-- name: PutPhoto :exec
INSERT INTO photos (id, access_hash, file_reference, date, dc_id, has_stickers, sizes)
VALUES (
$1::bigint,
$2::bigint,
$3::bytea,
$4::int,
$5::int,
$6::boolean,
$7::jsonb
)
ON CONFLICT (id) DO UPDATE SET
access_hash = EXCLUDED.access_hash,
file_reference = EXCLUDED.file_reference,
date = EXCLUDED.date,
dc_id = EXCLUDED.dc_id,
has_stickers = EXCLUDED.has_stickers,
sizes = EXCLUDED.sizes
`
type PutPhotoParams struct {
ID int64
AccessHash int64
FileReference []byte
Date int32
DcID int32
HasStickers bool
SizesJson []byte
}
// photos ----------------------------------------------------------------------
func (q *Queries) PutPhoto(ctx context.Context, arg PutPhotoParams) error {
_, err := q.db.Exec(ctx, putPhoto,
arg.ID,
arg.AccessHash,
arg.FileReference,
arg.Date,
arg.DcID,
arg.HasStickers,
arg.SizesJson,
)
return err
}
const putStickerSet = `-- name: PutStickerSet :exec
INSERT INTO sticker_sets (
id, access_hash, short_name, title, count, hash, set_kind,
official, animated, videos, emojis, masks, installed, archived, installed_date,
thumb_document_id, thumbs, thumb_dc_id, thumb_version, document_ids, packs, sort_order, system_key
) VALUES (
$1::bigint,
$2::bigint,
$3::text,
$4::text,
$5::int,
$6::int,
$7::text,
$8::boolean,
$9::boolean,
$10::boolean,
$11::boolean,
$12::boolean,
$13::boolean,
$14::boolean,
$15::int,
$16::bigint,
$17::jsonb,
$18::int,
$19::int,
$20::jsonb,
$21::jsonb,
$22::int,
$23::text
)
ON CONFLICT (id) DO UPDATE SET
access_hash = EXCLUDED.access_hash,
short_name = EXCLUDED.short_name,
title = EXCLUDED.title,
count = EXCLUDED.count,
hash = EXCLUDED.hash,
set_kind = EXCLUDED.set_kind,
official = EXCLUDED.official,
animated = EXCLUDED.animated,
videos = EXCLUDED.videos,
emojis = EXCLUDED.emojis,
masks = EXCLUDED.masks,
installed = EXCLUDED.installed,
archived = EXCLUDED.archived,
installed_date = EXCLUDED.installed_date,
thumb_document_id = EXCLUDED.thumb_document_id,
thumbs = EXCLUDED.thumbs,
thumb_dc_id = EXCLUDED.thumb_dc_id,
thumb_version = EXCLUDED.thumb_version,
document_ids = EXCLUDED.document_ids,
packs = EXCLUDED.packs,
sort_order = EXCLUDED.sort_order,
system_key = EXCLUDED.system_key
`
type PutStickerSetParams struct {
ID int64
AccessHash int64
ShortName string
Title string
Count int32
Hash int32
SetKind string
Official bool
Animated bool
Videos bool
Emojis bool
Masks bool
Installed bool
Archived bool
InstalledDate int32
ThumbDocumentID int64
ThumbsJson []byte
ThumbDcID int32
ThumbVersion int32
DocumentIdsJson []byte
PacksJson []byte
SortOrder int32
SystemKey string
}
// sticker_sets ----------------------------------------------------------------
func (q *Queries) PutStickerSet(ctx context.Context, arg PutStickerSetParams) error {
_, err := q.db.Exec(ctx, putStickerSet,
arg.ID,
arg.AccessHash,
arg.ShortName,
arg.Title,
arg.Count,
arg.Hash,
arg.SetKind,
arg.Official,
arg.Animated,
arg.Videos,
arg.Emojis,
arg.Masks,
arg.Installed,
arg.Archived,
arg.InstalledDate,
arg.ThumbDocumentID,
arg.ThumbsJson,
arg.ThumbDcID,
arg.ThumbVersion,
arg.DocumentIdsJson,
arg.PacksJson,
arg.SortOrder,
arg.SystemKey,
)
return err
}
const saveUploadPart = `-- name: SaveUploadPart :exec
INSERT INTO upload_parts (owner_user_id, file_id, part, total_parts, is_big, backend, object_key, size, sha256)
VALUES (
$1::bigint,
$2::bigint,
$3::int,
$4::int,
$5::boolean,
$6::text,
$7::text,
$8::bigint,
$9::bytea
)
ON CONFLICT (owner_user_id, file_id, part) DO UPDATE SET
total_parts = EXCLUDED.total_parts,
is_big = EXCLUDED.is_big,
backend = EXCLUDED.backend,
object_key = EXCLUDED.object_key,
size = EXCLUDED.size,
sha256 = EXCLUDED.sha256,
created_at = now()
`
type SaveUploadPartParams struct {
OwnerUserID int64
FileID int64
Part int32
TotalParts int32
IsBig bool
Backend string
ObjectKey string
Size int64
Sha256 []byte
}
// upload_parts ----------------------------------------------------------------
func (q *Queries) SaveUploadPart(ctx context.Context, arg SaveUploadPartParams) error {
_, err := q.db.Exec(ctx, saveUploadPart,
arg.OwnerUserID,
arg.FileID,
arg.Part,
arg.TotalParts,
arg.IsBig,
arg.Backend,
arg.ObjectKey,
arg.Size,
arg.Sha256,
)
return err
}