feat: авто-уведомления о статусах и хендоффах задачи
This commit is contained in:
@@ -154,6 +154,7 @@ func New(configPath, version, updateToken string) (*App, error) {
|
||||
GitBaseURL: cfg.Git.BaseURL,
|
||||
GitToken: cfg.Git.Token,
|
||||
Live: live,
|
||||
Notify: a, // авто-уведомления владельцу задачи через Router
|
||||
}
|
||||
a.Router = router
|
||||
a.Worker = w
|
||||
@@ -326,6 +327,16 @@ func (a *App) send(ctx context.Context, uid chat.UserID, text string) {
|
||||
}
|
||||
}
|
||||
|
||||
// Notify реализует worker.Notifier: авто-уведомление владельцу задачи через
|
||||
// chat.Router.Send (переходы статусов и хендоффы dev↔reviewer со стороны воркера).
|
||||
// Router nil (тесты без Router / ранняя инициализация) — тихо пропускаем.
|
||||
func (a *App) Notify(ctx context.Context, taskID int64, chatID, text string) error {
|
||||
if a.Router == nil {
|
||||
return nil
|
||||
}
|
||||
return a.Router.Send(ctx, chat.UserID(chatID), chat.Message{Text: text})
|
||||
}
|
||||
|
||||
// cmdName извлекает команду (первое слово до пробела, нижний регистр).
|
||||
func cmdName(text string) string {
|
||||
s := strings.TrimSpace(text)
|
||||
|
||||
Reference in New Issue
Block a user