workspaces добавлено

This commit is contained in:
Artem Tsyrulnikov
2026-01-20 13:40:24 +03:00
parent 5d6aa99880
commit 4269b9ae67
15 changed files with 255 additions and 343 deletions

View File

@@ -14,7 +14,6 @@ const addPurchaseCreativesPerPage = 5
const addPurchaseProjectsPerPage = 6
type AddPurchase struct {
WorkspaceID string
ProjectID string
ProjectTitle string
ProjectTelegramID int64
@@ -42,18 +41,10 @@ type creativeInfo struct {
}
func (s *AddPurchase) Enter(b *bot.Bot, mode bot.RenderMode) {
// JWT уже создан в Bot.Update(), просто берем из сессии
jwt := b.Session.JWT
if jwt == "" {
log.Error().Msg("JWT is empty in session")
b.SendNew("❌ Ошибка авторизации. Попробуйте /start", Keyboard())
return
}
s.renderSelection(b, mode, jwt)
s.renderSelection(b, mode)
}
func (s *AddPurchase) renderSelection(b *bot.Bot, mode bot.RenderMode, jwt string) {
func (s *AddPurchase) renderSelection(b *bot.Bot, mode bot.RenderMode) {
text := "<b>Создание закупа</b>\n\n"
text += "Выберите проект и креатив.\n\n"
@@ -79,13 +70,7 @@ func (s *AddPurchase) renderSelection(b *bot.Bot, mode bot.RenderMode, jwt strin
switch s.ActivePicker {
case "project_list":
page, err := b.Backend.GetProjects(
context.Background(),
jwt,
s.WorkspaceID,
s.ProjectPage+1,
addPurchaseProjectsPerPage,
)
page, err := b.Backend.GetProjects(context.Background(), b.Session.JWT, b.Session.WorkspaceID, s.ProjectPage+1, addPurchaseProjectsPerPage)
if err != nil {
log.Error().Err(err).Msg("Failed to get projects")
b.SendNew("❌ Не удалось загрузить проекты", Keyboard())
@@ -151,15 +136,7 @@ func (s *AddPurchase) renderSelection(b *bot.Bot, mode bot.RenderMode, jwt strin
break
}
page, err := b.Backend.GetCreatives(
context.Background(),
jwt,
s.WorkspaceID,
&s.ProjectID,
false,
s.CreativePage+1,
addPurchaseCreativesPerPage,
)
page, err := b.Backend.GetCreatives(context.Background(), b.Session.JWT, b.Session.WorkspaceID, &s.ProjectID, false, s.CreativePage+1, addPurchaseCreativesPerPage)
if err != nil {
log.Error().Err(err).Msg("Failed to get creatives")
b.SendNew("❌ Не удалось загрузить креативы", Keyboard())
@@ -288,7 +265,6 @@ func (s *AddPurchase) HandleCallback(b *bot.Bot, u *echotron.Update) {
}
if s.ProjectID != "" && s.CreativeID != "" {
b.SetState(&SelectChannelsForPurchase{
WorkspaceID: s.WorkspaceID,
ProjectID: s.ProjectID,
ProjectTitle: s.ProjectTitle,
ProjectTelegramID: s.ProjectTelegramID,