Skip to content
This repository has been archived by the owner on May 19, 2024. It is now read-only.

[WEAV-350] 채팅방 멤버 도메인 설계 #258

Merged
merged 9 commits into from
Apr 27, 2024
Merged

Conversation

waterfogSW
Copy link
Member

@waterfogSW waterfogSW commented Apr 25, 2024

배경

  • 미팅 멤버와 채팅방 멤버 개념 분리 (미팅 멤버 != 채팅 멤버)

구현 내용

  • 채팅방 멤버 추가 메서드
  • 채팅방 멤버 도메인 객체 설계
data class ChatRoom(
    ...
    val members: List<ChatMember> = emptyList(),
) : AggregateRoot {

data class ChatMember(
    override val id: UUID = UuidCreator.create(),
    val userId: UUID,
    val meetingTeamId: UUID,
    val lastReadMessageId: UUID? = null,
    val lastReadAt: LocalDateTime? = null,
) : DomainEntity {
...
  • id: 채팅 멤버의 고유 식별자
  • userId: 사용자의 고유 식별자
  • meetingTeamId: 채팅 멤버가 속한 미팅 팀의 고유 식별자, 채팅방 내에서 팀 구별 용도
  • lastReadMessageId: 사용자가 마지막으로 읽은 메시지의 ID, 안 읽은 메시지 수를 계산용
  • lastReadAt: 사용자가 마지막으로 메시지를 읽은 시각

TODO

  • 채팅방 미팅 정보 제거

@waterfogSW waterfogSW added the feat New feature or request label Apr 25, 2024
@waterfogSW waterfogSW changed the title Feat/weav 350 [WEAV-350] 채팅방 멤버 도메인 객체 설계 Apr 25, 2024
@waterfogSW waterfogSW changed the title [WEAV-350] 채팅방 멤버 도메인 객체 설계 [WEAV-350] 채팅방 멤버 도메인 설계 Apr 25, 2024
Copy link

@waterfogSW waterfogSW merged commit 7792aa3 into main Apr 27, 2024
3 checks passed
@waterfogSW waterfogSW deleted the feat/WEAV-350 branch April 27, 2024 01:40
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feat New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants