통화에 담당 상담원을 기록하고 상담기록을 요청자 기준으로 거른다 — 지금은 로그인만 하면 남의 통화가 보인다

수동 QA Q-14 의 남은 절반이다. 2026-09-23 에 READ_AUTH_REQUIRED=true 로 바깥문은 닫았다 (w6-read-path-auth — 토큰 없는 읽기는 401). 안에서 서로의 통화가 보이는 것은 그대로다.

무엇을

GET /hub/calls(상담원 화면의 「최근 상담기록」)가 요청한 상담원의 통화만 돌려주게 한다.

왜 — 두 겹이라 한쪽만으로는 안 된다

  1. 목록이 요청자를 안 본다. call_list_interactor.py 는 customer_id 로만 거른다. 토큰이 맞는지만 보고 누구인지는 안 본다.
  2. 누구의 통화인지가 기록되지 않는다. call.agent_id 컬럼은 있는데 통화를 만드는 경로가 안 채운다 — call_repository.py 머리말에 “agent_id 는 넣지 않는다 — 이 경로에는 아직 상담원 정보가 없다” 고 적혀 있다. 통화를 여는 것은 콜 미디에이터이고, 미디에이터는 입력 토큰 하나로 붙어서 상담원이 누구인지 모른다.

2026-09-23 운영 화면에서 새로 로그인한 상담원에게 09-22 QA 통화 다섯 건이 그대로 보였다(캡처).

어떻게 (착수할 때 이 순서로)

  1. 상담원 화면이 통화를 열 때 자기 상담원 토큰을 콜 미디에이터에 넘긴다 — 입력 토큰과 별개다(apps/, 조서희)
  2. 미디에이터가 POST /hub/calls 에 그 상담원을 실어 보낸다 — 계약(CallStartCommand)에 한 칸 추가
  3. 서버가 call.agent_id 를 채운다
  4. 목록이 요청자 기준으로 거른다. 관리자·서비스 토큰은 전체를 본다(지금 감사·집계가 그 경로다)

왜 지금 하지 않나 (2026-09-23 판단)

완료 조건

근거: 진행 기록 2026-09-22-18-seongyun Q-14 · 2026-09-23-06-seongyun · _project/decisions/322