dendrite/syncapi/storage/mrd/queries.sql.go
PiotrKozimor 369890c5d1
Multiroom feature (#45)
* Multiroom feature

* Run multiroom visibility expiration conditionally

Remove SQLite and go 1.18 for tests matrixes

* Remove sqlite from unit tests

* Fix linter errors

* Do not build with go1.18

* Do not run upgrade tests

* Fix dendrite workflow

* Add forgotten content and timestamp fields to multiroom in sync response

* Fix syncapi multiroom unit tests

* Review adjustments in queries and naming

* Remove no longer maintained linters from golangci-lint configuration

* Document sqlc code generation
2022-10-31 12:52:27 +01:00

144 lines
3.7 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.15.0
// source: queries.sql
package mrd
import (
"context"
)
const deleteMultiRoomVisibility = `-- name: DeleteMultiRoomVisibility :exec
DELETE FROM syncapi_multiroom_visibility
WHERE user_id = $1
AND type = $2
AND room_id = $3
`
type DeleteMultiRoomVisibilityParams struct {
UserID string `json:"user_id"`
Type string `json:"type"`
RoomID string `json:"room_id"`
}
func (q *Queries) DeleteMultiRoomVisibility(ctx context.Context, arg DeleteMultiRoomVisibilityParams) error {
_, err := q.exec(ctx, q.deleteMultiRoomVisibilityStmt, deleteMultiRoomVisibility, arg.UserID, arg.Type, arg.RoomID)
return err
}
const deleteMultiRoomVisibilityByExpireTS = `-- name: DeleteMultiRoomVisibilityByExpireTS :execrows
DELETE FROM syncapi_multiroom_visibility
WHERE expire_ts <= $1
`
func (q *Queries) DeleteMultiRoomVisibilityByExpireTS(ctx context.Context, expireTs int64) (int64, error) {
result, err := q.exec(ctx, q.deleteMultiRoomVisibilityByExpireTSStmt, deleteMultiRoomVisibilityByExpireTS, expireTs)
if err != nil {
return 0, err
}
return result.RowsAffected()
}
const insertMultiRoomData = `-- name: InsertMultiRoomData :one
INSERT INTO syncapi_multiroom_data (
user_id,
type,
data
) VALUES (
$1,
$2,
$3
) ON CONFLICT (user_id, type) DO UPDATE SET id = nextval('syncapi_multiroom_id'), data = $3, ts = current_timestamp
RETURNING id
`
type InsertMultiRoomDataParams struct {
UserID string `json:"user_id"`
Type string `json:"type"`
Data []byte `json:"data"`
}
func (q *Queries) InsertMultiRoomData(ctx context.Context, arg InsertMultiRoomDataParams) (int64, error) {
row := q.queryRow(ctx, q.insertMultiRoomDataStmt, insertMultiRoomData, arg.UserID, arg.Type, arg.Data)
var id int64
err := row.Scan(&id)
return id, err
}
const insertMultiRoomVisibility = `-- name: InsertMultiRoomVisibility :exec
INSERT INTO syncapi_multiroom_visibility (
user_id,
type,
room_id,
expire_ts
) VALUES (
$1,
$2,
$3,
$4
) ON CONFLICT (user_id, type, room_id) DO UPDATE SET expire_ts = $4
`
type InsertMultiRoomVisibilityParams struct {
UserID string `json:"user_id"`
Type string `json:"type"`
RoomID string `json:"room_id"`
ExpireTs int64 `json:"expire_ts"`
}
func (q *Queries) InsertMultiRoomVisibility(ctx context.Context, arg InsertMultiRoomVisibilityParams) error {
_, err := q.exec(ctx, q.insertMultiRoomVisibilityStmt, insertMultiRoomVisibility,
arg.UserID,
arg.Type,
arg.RoomID,
arg.ExpireTs,
)
return err
}
const selectMaxId = `-- name: SelectMaxId :one
SELECT MAX(id) FROM syncapi_multiroom_data
`
func (q *Queries) SelectMaxId(ctx context.Context) (interface{}, error) {
row := q.queryRow(ctx, q.selectMaxIdStmt, selectMaxId)
var max interface{}
err := row.Scan(&max)
return max, err
}
const selectMultiRoomVisibilityRooms = `-- name: SelectMultiRoomVisibilityRooms :many
SELECT room_id FROM syncapi_multiroom_visibility
WHERE user_id = $1
AND expire_ts > $2
`
type SelectMultiRoomVisibilityRoomsParams struct {
UserID string `json:"user_id"`
ExpireTs int64 `json:"expire_ts"`
}
func (q *Queries) SelectMultiRoomVisibilityRooms(ctx context.Context, arg SelectMultiRoomVisibilityRoomsParams) ([]string, error) {
rows, err := q.query(ctx, q.selectMultiRoomVisibilityRoomsStmt, selectMultiRoomVisibilityRooms, arg.UserID, arg.ExpireTs)
if err != nil {
return nil, err
}
defer rows.Close()
var items []string
for rows.Next() {
var room_id string
if err := rows.Scan(&room_id); err != nil {
return nil, err
}
items = append(items, room_id)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}