ampelmaennchen.git

ref: master

db/rooms.go


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package db

import (
	"database/sql"
	"errors"
)

func SaveRoom(kind, id, avatarPath, parent, avatarUri string) error {
	_, err := db.Exec("insert into matrix_rooms values($1, $2, $3, $4, $5) on conflict(kind) do update set room_id = $2, avatar_path = $3, parent_id = $4, avatar_uri = $5", kind, id, avatarPath, parent, avatarUri)
	return err
}

func GetRoom(kind string) (id string, path string, parent string, uri string, err error) {
	row := db.QueryRow("select room_id, avatar_path, parent_id, avatar_uri from matrix_rooms where kind = $1", kind)
	err = row.Scan(&id, &path, &parent, &uri)
	if err != nil {
		if errors.Is(err, sql.ErrNoRows) {
			return "", "", "", "", nil
		}
		return "", "", "", "", err
	}
	return
}