migration to chi

This commit is contained in:
2025-03-12 16:30:40 +03:00
parent ae81fbcce9
commit 45bb32e7a6
46 changed files with 1352 additions and 1323 deletions
+44
View File
@@ -0,0 +1,44 @@
package database
type Character struct {
ID int32 `json:"id"`
OriginalName string `db:"original_name" json:"original_name"`
LocalizedName string `db:"localized_name" json:"localized_name"`
Description string `json:"description"`
Image string `json:"image"`
Main bool `json:"main"`
}
func FetchCharacters() ([]*Character, error) {
var characters = make([]*Character, 0)
err := Database.Select(&characters, `select * from characters;`)
return characters, err
}
func FetchCharacter(id int) (*Character, error) {
var char = &Character{}
err := Database.Get(char, `select * from characters where id=$1;`, id)
return char, err
}
func UpdateCharacter(character *Character) (*Character, error) {
rows, err := Database.NamedQuery("update characters set original_name=:original_name, localized_name=:localized_name, description=:description, image=:image where id=:id returning *;", character)
if err != nil {
return nil, err
}
char := new(Character)
if rows.Next() {
err = rows.StructScan(char)
}
return char, err
}
func DeleteCharacter(id int) error {
_, err := Database.Exec("delete from characters where id=$1;", id)
return err
}
func FetchCharacterNovels(id int) ([]Novel, error) {
var novels = make([]Novel, 0)
err := Database.Select(&novels, `select id, original_name, localized_name, coalesce(n.image, '') as image from character_novel join novels n on (n.id=character_novel.novel_id) where character_id=$1;`, id)
return novels, err
}