Skip to content

[WTEL-10223]refactor(call): add method to patch history call atempt data - #492

Merged
suifri merged 1 commit into
mainfrom
refactor/WTEL-10223-rm-unnecessary-filtration-options
Sep 7, 2026
Merged

suifri merged 1 commit into
mainfrom
refactor/WTEL-10223-rm-unnecessary-filtration-options

Conversation

@suifri

@suifri suifri commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@webitel-review

webitel-review Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

🤖 Webitel Code Review

Цей коміт замінює застарілий метод MutateHistoryAttemptResult на новий PatchHistoryCallAttempt у контексті дзвінків та спроб. Проте видалення старого методу ламає сумісність із gRPC API, а також містить помилку звернення до методу отримання сесії, що призведе до помилок компіляції.

📋 Walkthrough (5 файл(и/ів))
Файл Зміни
app/call.go Додано метод PatchHistoryCallAttempt для оновлення спроб історичних дзвінків.
app/cc_member.go Вилучено застарілий метод MutateHistoryAttemptResult.
controller/call.go Додано контролер PatchHistoryCallAttempt із перевіркою прав доступу та валідацією.
controller/member.go Вилучено застарілий метод MutateHistoryAttemptResult з контролера черг.
gen/engine/call.pb.go Оновлено згенерований код protobuf для підтримки нових повідомлень запиту та відповіді PatchHistoryCallAttempt.

Знахідки

  • [blocker] app/cc_member.go:351 — Видалення методу MutateHistoryAttemptResult призведе до помилки компіляції в engine/grpc_api/cc_member.go:1308, оскільки цей файл усе ще викликає api.ctrl.MutateHistoryAttemptResult. Необхідно або зберегти цей метод для зворотної сумісності, або оновити gRPC API відповідно до нових методів.
  • [high] controller/call.go:321 — Використовується виклик c.GetSessionFromCtx(ctx). У сусідніх файлах (наприклад, у видаленому коді controller/member.go) сесія отримувалася через c.app.GetSessionFromCtx(ctx). Оскільки метод GetSessionFromCtx належить структурі App, а не Controller, цей код викличе помилку компіляції.
  • [low] controller/call.go:320 — Відсутня перевірка вхідного параметра patch на nil. Якщо patch буде передано як nil, виклики patch.TryUseDomain(session) та patch.Validate() призведуть до паніки (nil pointer dereference). Рекомендується додати перевірку if patch == nil на початку методу.
🔗 Cross-repo callers змінених символів (4)
  • MutateHistoryAttemptResultengine/app/cc_member.go:352
  • MutateHistoryAttemptResultengine/controller/member.go:142
  • MutateHistoryAttemptResultengine/grpc_api/cc_member.go:1308
  • ProtoMessagewebitel.go/app/custom_extensions.go:192

Index-grounded review across the Webitel codebase. Знахідки можуть бути неточними — перевіряйте перед застосуванням.

@webitel-review webitel-review Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Webitel Code Review — пропозиції змін

Comment thread controller/call.go
}

func (c *Controller) PatchHistoryCallAttempt(ctx context.Context, patch *model.PatchHistoryCallAttempt) (*model.PatchHistoryAttemptResult, model.AppError) {
session, err := c.GetSessionFromCtx(ctx)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Виклик GetSessionFromCtx має здійснюватися через c.app, оскільки цей метод належить структурі App, а не Controller.

Suggested change
session, err := c.GetSessionFromCtx(ctx)
session, err := c.app.GetSessionFromCtx(ctx)

@suifri
suifri merged commit bd9b21e into main Sep 7, 2026
11 of 13 checks passed
@suifri
suifri deleted the refactor/WTEL-10223-rm-unnecessary-filtration-options branch September 7, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant