카테고리 없음

안전하고 기본적인 메시지 구조로 백엔드/프론트 전체 점검 및 정리 완료!

G로건 2025. 4. 23. 01:13
반응형

 

핵심 정리

  • DB에는 sender/receiver 모두 ObjectId만 저장 (name 저장 X)
  • API 응답에서는 sender: {_id, name} 형태로만 내려줌
  • 프론트에서는 sender._id로 데이터 처리, sender.name은 화면 출력만
  • 음성/텍스트 메시지 모두 text/audioUrl 중 하나만 있어도 OK, 둘 다 없으면 생성 불가
  • 불필요한 name/id 혼용, name 저장/전달 모두 제거

주요 변경 내역

  • inbox.ts:
    • sender는 항상 
      { _id, name }
      로 내려주고,
    • text, audioUrl도 안전하게 처리
  • page.tsx:
    • VoiceMessage 타입 통일
    • sender._id는 데이터 처리, sender.name은 화면 출력만
    • 답장/메시지 전송 시 receiver로 ObjectId만 사용

앞으로의 유지보수/확장에도 안전

  • ObjectId만 DB에 저장하므로,
    사용자 정보(닉네임 등) 변경 시에도 메시지 시스템은 안전하게 동작
  • 프론트/백엔드 모두 혼동 없이 구조가 명확

추가로 점검하거나,

이 구조를 기반으로 새로운 기능(예: 메시지 검색, 신고, 차단 등)
추가하고 싶으시면 언제든 말씀해 주세요!

이제 메시지 시스템은 가장 안전하고 표준적인 구조로 동작합니다.

반응형