moved tg settings to db
This commit is contained in:
@@ -181,38 +181,15 @@ func (s *Service) Shutdown() {
|
||||
}
|
||||
|
||||
func (s *Service) startTreasuryModule() {
|
||||
if s == nil || s.repo == nil || s.repo.TreasuryRequests() == nil {
|
||||
if s == nil || s.repo == nil || s.repo.TreasuryRequests() == nil || s.repo.TreasuryTelegramUsers() == nil {
|
||||
return
|
||||
}
|
||||
if s.cfg.DiscoveryRegistry == nil {
|
||||
s.logger.Warn("Treasury module disabled: discovery registry is unavailable")
|
||||
return
|
||||
}
|
||||
configuredUsers := s.cfg.Treasury.Telegram.Users
|
||||
if len(configuredUsers) == 0 {
|
||||
return
|
||||
}
|
||||
users := make([]treasurysvc.UserBinding, 0, len(configuredUsers))
|
||||
configuredUserIDs := make([]string, 0, len(configuredUsers))
|
||||
for _, binding := range configuredUsers {
|
||||
userID := strings.TrimSpace(binding.TelegramUserID)
|
||||
accountID := strings.TrimSpace(binding.LedgerAccount)
|
||||
if userID != "" {
|
||||
configuredUserIDs = append(configuredUserIDs, userID)
|
||||
}
|
||||
if userID == "" || accountID == "" {
|
||||
continue
|
||||
}
|
||||
users = append(users, treasurysvc.UserBinding{
|
||||
TelegramUserID: userID,
|
||||
LedgerAccount: accountID,
|
||||
})
|
||||
}
|
||||
if len(users) == 0 {
|
||||
s.logger.Warn("Treasury module disabled: no valid treasury.telegram.users bindings",
|
||||
zap.Int("configured_bindings", len(configuredUsers)),
|
||||
zap.Strings("configured_user_ids", configuredUserIDs))
|
||||
return
|
||||
if len(s.cfg.Treasury.Telegram.Users) > 0 || len(s.cfg.Treasury.Telegram.AllowedChats) > 0 {
|
||||
s.logger.Warn("Treasury telegram config users/chats are ignored; use treasury_telegram_users collection for runtime authorization")
|
||||
}
|
||||
|
||||
ledgerTimeout := s.cfg.Treasury.Ledger.Timeout
|
||||
@@ -241,10 +218,9 @@ func (s *Service) startTreasuryModule() {
|
||||
module, err := treasurysvc.NewModule(
|
||||
s.logger,
|
||||
s.repo.TreasuryRequests(),
|
||||
s.repo.TreasuryTelegramUsers(),
|
||||
ledgerClient,
|
||||
treasurysvc.Config{
|
||||
AllowedChats: s.cfg.Treasury.Telegram.AllowedChats,
|
||||
Users: users,
|
||||
ExecutionDelay: executionDelay,
|
||||
PollInterval: pollInterval,
|
||||
MaxAmountPerOperation: s.cfg.Treasury.Limits.MaxAmountPerOperation,
|
||||
|
||||
@@ -81,6 +81,7 @@ type fakeRepo struct {
|
||||
tg *fakeTelegramStore
|
||||
pending *fakePendingStore
|
||||
treasury storage.TreasuryRequestsStore
|
||||
users storage.TreasuryTelegramUsersStore
|
||||
}
|
||||
|
||||
func (f *fakeRepo) Payments() storage.PaymentsStore {
|
||||
@@ -99,6 +100,10 @@ func (f *fakeRepo) TreasuryRequests() storage.TreasuryRequestsStore {
|
||||
return f.treasury
|
||||
}
|
||||
|
||||
func (f *fakeRepo) TreasuryTelegramUsers() storage.TreasuryTelegramUsersStore {
|
||||
return f.users
|
||||
}
|
||||
|
||||
type fakePendingStore struct {
|
||||
mu sync.Mutex
|
||||
records map[string]*storagemodel.PendingConfirmation
|
||||
|
||||
Reference in New Issue
Block a user