1
0
mirror of https://github.com/muety/wakapi.git synced 2023-08-10 21:12:56 +03:00

refactor: refactor migrations and add fixtures

feat: introduce key-value store
feat: imprint page (resolve #23)
chore: remove default user
chore: remove packr
This commit is contained in:
Ferdinand Mütsch
2020-05-30 20:41:27 +02:00
parent 25b32e2fec
commit 3c2dc78c93
19 changed files with 279 additions and 173 deletions

View File

@ -46,7 +46,7 @@ func (srv *AliasService) GetAliasOrDefault(userId string, summaryType uint8, val
return "", errors.New("user aliases not initialized")
}
func (src *AliasService) IsInitialized(userId string) bool {
func (srv *AliasService) IsInitialized(userId string) bool {
if _, ok := userAliases.Load(userId); ok {
return true
}

62
services/key_value.go Normal file
View File

@ -0,0 +1,62 @@
package services
import (
"errors"
"github.com/jinzhu/gorm"
"github.com/muety/wakapi/models"
)
type KeyValueService struct {
Config *models.Config
Db *gorm.DB
}
func NewKeyValueService(db *gorm.DB) *KeyValueService {
return &KeyValueService{
Config: models.GetConfig(),
Db: db,
}
}
func (srv *KeyValueService) GetString(key string) (*models.KeyStringValue, error) {
kv := &models.KeyStringValue{}
if err := srv.Db.
Where(&models.KeyStringValue{Key: key}).
First(&kv).Error; err != nil {
return nil, err
}
return kv, nil
}
func (srv *KeyValueService) PutString(kv *models.KeyStringValue) error {
result := srv.Db.
Where(&models.KeyStringValue{Key: kv.Key}).
Assign(kv).
FirstOrCreate(kv)
if err := result.Error; err != nil {
return err
}
if result.RowsAffected != 1 {
return errors.New("nothing updated")
}
return nil
}
func (srv *KeyValueService) DeleteString(key string) error {
result := srv.Db.
Delete(&models.KeyStringValue{}, &models.KeyStringValue{Key: key})
if err := result.Error; err != nil {
return err
}
if result.RowsAffected != 1 {
return errors.New("nothing deleted")
}
return nil
}