fix saving and project improvments

This commit is contained in:
Aleksandr Trushkin
2024-01-25 16:42:08 +03:00
parent f94d39b124
commit a1e767217b
16 changed files with 680 additions and 438 deletions

View File

@ -10,7 +10,6 @@ import (
"git.loyso.art/frx/eway/internal/entity"
badger "github.com/dgraph-io/badger/v4"
"github.com/rs/zerolog"
)
type categoryClient struct {
@ -105,24 +104,14 @@ func (c categoryClient) Get(ctx context.Context, id int64) (out entity.Category,
// Create new category inside DB. It also applies new id to it.
func (c categoryClient) Create(ctx context.Context, name string) (out entity.Category, err error) {
seqGen, err := c.db.GetSequence(categorySequenceIDKey, 1)
if err != nil {
return out, fmt.Errorf("getting sequence for categories: %w", err)
}
defer func() {
errRelese := seqGen.Release()
if errRelese != nil {
zerolog.Ctx(ctx).Warn().Err(err).Msg("unable to release seq")
}
}()
nextid, err := seqGen.Next()
nextid, err := c.seqGen.Next()
if err != nil {
return out, fmt.Errorf("getting next id: %w", err)
}
out = entity.Category{
ID: int64(nextid),
// Because first value from sequence generator is 0
ID: int64(nextid + 1),
Name: name,
}