rigged shuffle

This commit is contained in:
2025-08-01 10:49:46 -05:00
parent 3ed12cee68
commit 8d4c8f71b0
21 changed files with 578 additions and 146 deletions

View File

@@ -8,28 +8,28 @@ import (
)
type InMemoryDb struct {
Customers map[models.CustomerId]entities.Customer
Customers map[models.CustomerID]entities.Customer
Users map[models.UserId]entities.User
userIdMap map[string]models.UserId
}
func NewInMemoryDb() InMemoryDb {
return InMemoryDb{
Customers: make(map[models.CustomerId]entities.Customer),
Customers: make(map[models.CustomerID]entities.Customer),
Users: make(map[models.UserId]entities.User),
userIdMap: make(map[string]models.UserId),
}
}
func (db *InMemoryDb) GetCustomer(id models.CustomerId) (*entities.Customer, error) {
func (db *InMemoryDb) GetCustomer(id models.CustomerID) (*entities.Customer, error) {
customer, exists := db.Customers[id]
if !exists {
return nil, errors.New(fmt.Sprintf("customer %s dne", customer.Id))
return nil, errors.New(fmt.Sprintf("customer %s dne", customer.ID))
}
return &customer, nil
}
func (db *InMemoryDb) GetUser(username models.UserEmail, customerId models.CustomerId) (*entities.User, error) {
func (db *InMemoryDb) GetUser(username models.UserEmail, customerId models.CustomerID) (*entities.User, error) {
key := userIdKey(customerId, username)
userId, exists := db.userIdMap[key]
if !exists {
@@ -43,12 +43,12 @@ func (db *InMemoryDb) GetUser(username models.UserEmail, customerId models.Custo
}
func (db *InMemoryDb) CreateCustomer(customer entities.Customer) error {
_, exists := db.Customers[customer.Id]
_, exists := db.Customers[customer.ID]
if exists {
return errors.New(fmt.Sprintf("can write customer %s; already exists", customer.Id))
return errors.New(fmt.Sprintf("can write customer %s; already exists", customer.ID))
}
db.Customers[customer.Id] = customer
db.Customers[customer.ID] = customer
return nil
}
@@ -86,7 +86,7 @@ func (db *InMemoryDb) UpdateUserRefreshToken(userId models.UserId, refreshToken
return nil
}
func (db *InMemoryDb) Renew(id models.CustomerId) error {
func (db *InMemoryDb) Renew(id models.CustomerID) error {
customer, exists := db.Customers[id]
if !exists {
return errors.New(fmt.Sprintf("customer %s does not exist", id))
@@ -133,7 +133,7 @@ func (db *InMemoryDb) GetSvgStringInterface(idxs models.SvgIdInterface) ([]strin
return make([]string, len(idxs)), nil
}
func userIdKey(customerId models.CustomerId, username models.UserEmail) string {
func userIdKey(customerId models.CustomerID, username models.UserEmail) string {
key := fmt.Sprintf("%s:%s", customerId, username)
return key
}