feat: update methods & improved demo

This commit is contained in:
Florian Sylvain
2025-05-02 02:23:47 +02:00
parent dde8487382
commit 72eacc461e
8 changed files with 123 additions and 27 deletions
+10
View File
@@ -57,3 +57,13 @@ func ListAddressesByUserID(userID string) ([]*Address, error) {
})
return addresses, err
}
func UpdateAddress(a *Address) error {
data, err := json.Marshal(a)
if err != nil {
return err
}
return GetDB().Update(func(txn *badger.Txn) error {
return txn.Set([]byte(addressPrefix+a.ID), data)
})
}
+3 -4
View File
@@ -8,14 +8,13 @@ import (
)
var (
db *badger.DB
once sync.Once
dbPath = "./data"
db *badger.DB
once sync.Once
)
func InitDB() {
once.Do(func() {
opts := badger.DefaultOptions(dbPath).WithLogger(nil)
opts := badger.DefaultOptions("").WithInMemory(true).WithLogger(nil)
var err error
db, err = badger.Open(opts)
if err != nil {
+10 -1
View File
@@ -25,7 +25,6 @@ var (
)
func CreateUser(name, email, password string) (*User, error) {
// Enforce uniqueness
if _, err := findUserIDByEmail(email); err == nil {
return nil, ErrEmailExists
}
@@ -113,3 +112,13 @@ func ListUsers() ([]*User, error) {
})
return users, err
}
func UpdateUser(u *User) error {
data, err := json.Marshal(u)
if err != nil {
return err
}
return GetDB().Update(func(txn *badger.Txn) error {
return txn.Set([]byte(userPrefix+u.ID), data)
})
}