feat: migrate state and complete live systems
- replace the Haskell bridge with transactional SQLite state and validation - centralize versions and harden resource, capture, and release tooling - complete active gacha schedules, point exchange, and mail grants - add equipment refinement, presets, and ordinary formation workflows - improve client plugins, request timing, and normalized persistence
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"bd2server/internal/accountstate"
|
||||
)
|
||||
|
||||
func stateProblemsError(prefix string, problems []accountstate.Problem) error {
|
||||
parts := make([]string, 0, len(problems))
|
||||
for _, problem := range problems {
|
||||
parts = append(parts, problem.Code+": "+problem.Message)
|
||||
}
|
||||
return fmt.Errorf("%s: %s", prefix, strings.Join(parts, "; "))
|
||||
}
|
||||
Reference in New Issue
Block a user