✨ Stickers and sticker packs
This commit is contained in:
50
pkg/internal/services/sticker_packs.go
Normal file
50
pkg/internal/services/sticker_packs.go
Normal file
@ -0,0 +1,50 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"git.solsynth.dev/hydrogen/paperclip/pkg/internal/database"
|
||||
"git.solsynth.dev/hydrogen/paperclip/pkg/internal/models"
|
||||
)
|
||||
|
||||
func GetStickerPackWithUser(id, userId uint) (models.StickerPack, error) {
|
||||
var pack models.StickerPack
|
||||
if err := database.C.Where("id = ? AND account_id = ?", id, userId).First(&pack).Error; err != nil {
|
||||
return pack, err
|
||||
}
|
||||
return pack, nil
|
||||
}
|
||||
|
||||
func ListStickerPackWithStickers(take, offset int) ([]models.StickerPack, error) {
|
||||
var packs []models.StickerPack
|
||||
if err := database.C.Limit(take).Offset(offset).Preload("Stickers").Find(&packs).Error; err != nil {
|
||||
return packs, err
|
||||
}
|
||||
return packs, nil
|
||||
}
|
||||
|
||||
func NewStickerPack(user models.Account, prefix, name, desc string) (models.StickerPack, error) {
|
||||
pack := models.StickerPack{
|
||||
Prefix: prefix,
|
||||
Name: name,
|
||||
Description: desc,
|
||||
AccountID: user.ID,
|
||||
}
|
||||
|
||||
if err := database.C.Save(&pack).Error; err != nil {
|
||||
return pack, err
|
||||
}
|
||||
return pack, nil
|
||||
}
|
||||
|
||||
func UpdateStickerPack(pack models.StickerPack) (models.StickerPack, error) {
|
||||
if err := database.C.Save(&pack).Error; err != nil {
|
||||
return pack, err
|
||||
}
|
||||
return pack, nil
|
||||
}
|
||||
|
||||
func DeleteStickerPack(pack models.StickerPack) (models.StickerPack, error) {
|
||||
if err := database.C.Delete(&pack).Error; err != nil {
|
||||
return pack, err
|
||||
}
|
||||
return pack, nil
|
||||
}
|
43
pkg/internal/services/stickers.go
Normal file
43
pkg/internal/services/stickers.go
Normal file
@ -0,0 +1,43 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"git.solsynth.dev/hydrogen/paperclip/pkg/internal/database"
|
||||
"git.solsynth.dev/hydrogen/paperclip/pkg/internal/models"
|
||||
)
|
||||
|
||||
func GetSticker(id uint) (models.Sticker, error) {
|
||||
var sticker models.Sticker
|
||||
if err := database.C.Where("id = ?", id).First(&sticker).Error; err != nil {
|
||||
return sticker, err
|
||||
}
|
||||
return sticker, nil
|
||||
}
|
||||
|
||||
func GetStickerWithUser(id, userId uint) (models.Sticker, error) {
|
||||
var sticker models.Sticker
|
||||
if err := database.C.Where("id = ? AND account_id = ?", id, userId).First(&sticker).Error; err != nil {
|
||||
return sticker, err
|
||||
}
|
||||
return sticker, nil
|
||||
}
|
||||
|
||||
func NewSticker(sticker models.Sticker) (models.Sticker, error) {
|
||||
if err := database.C.Save(&sticker).Error; err != nil {
|
||||
return sticker, err
|
||||
}
|
||||
return sticker, nil
|
||||
}
|
||||
|
||||
func UpdateSticker(sticker models.Sticker) (models.Sticker, error) {
|
||||
if err := database.C.Save(&sticker).Error; err != nil {
|
||||
return sticker, err
|
||||
}
|
||||
return sticker, nil
|
||||
}
|
||||
|
||||
func DeleteSticker(sticker models.Sticker) (models.Sticker, error) {
|
||||
if err := database.C.Delete(&sticker).Error; err != nil {
|
||||
return sticker, err
|
||||
}
|
||||
return sticker, nil
|
||||
}
|
Reference in New Issue
Block a user