package logic import ( "context" "spark-server/internal/pkg/errs" ) // BalanceView is the energy query payload. type BalanceView struct { Energy int64 `json:"energy"` } // Balance returns the user's energy wallet (creating an empty one if needed). func (s *Service) Balance(ctx context.Context, userID int64) (*BalanceView, error) { if !s.ready() || userID <= 0 { return nil, errs.ErrUnauthorized } w, err := s.repo.EnsureWallet(ctx, userID) if err != nil { return nil, err } return &BalanceView{Energy: w.Energy}, nil }