feat: add private and profile

This commit is contained in:
2026-06-17 11:32:51 +03:30
parent 02060a4dc0
commit 0827858752
23 changed files with 972 additions and 25 deletions
+27
View File
@@ -67,6 +67,21 @@ func (s *Service) LoadCatalog(ctx context.Context) error {
}
rows.Close()
rows, err = s.db.QueryContext(ctx,
`SELECT id, title, months, price_toman FROM vip_packages WHERE enabled = 1 ORDER BY sort`)
if err != nil {
return err
}
for rows.Next() {
var p VIPPackage
if err := rows.Scan(&p.ID, &p.Title, &p.Months, &p.PriceToman); err != nil {
rows.Close()
return err
}
c.VIPPackages = append(c.VIPPackages, p)
}
rows.Close()
rows, err = s.db.QueryContext(ctx,
`SELECT id, title, hands, entry, prize, xp, trophy FROM table_tiers WHERE enabled = 1 ORDER BY sort`)
if err != nil {
@@ -143,6 +158,18 @@ func (s *Service) findBooster(id string) *Booster {
return nil
}
func (s *Service) findVIPPackage(id string) *VIPPackage {
s.mu.RLock()
defer s.mu.RUnlock()
for i := range s.cat.VIPPackages {
if s.cat.VIPPackages[i].ID == id {
p := s.cat.VIPPackages[i]
return &p
}
}
return nil
}
// FindTier نوع میز را از کش برمی‌گرداند (برای لایه بازی).
func (s *Service) FindTier(id string) *TableTier {
s.mu.RLock()