Javascript/React

[React] Spring Boot with React 채팅 서버 : 2-2. typings

noahkim_ 2022. 3. 10. 02:15

1. db.ts

  • 타입스크립트를 사용하므로 채팅 서비스에서 사용될 타입들을 정의해두는 파일

IChatUser

  • 채팅방에 있는 사용자들의 정보를 받을 타입입니다
    • 채팅방 정보 요청시 채팅방 멤버들의 정보를 리턴받게 되는데, 위의 정보만을 서버에서 내려주므로 이렇게 구성하였습니다.
export interface IChatUser {
    userId: number;
    nickname: string;
    email: string;
    profileImage: string;
}

 

IChatMessage

  • 채팅 메시지 타입
export interface IChatMessage {
    // DM 채팅
    chatMessageId: number;
    authorId: number; // 보낸 사람 아이디
    message: string;
    createdAt: Date;
}

 

IChatRoom

  • 채팅방 정보 타입을 정의한 인터페이스
export interface IChatRoom {
    chatRoomId: string;
    lastChatMesg: IChatMessage
    chatRoomMembers: IChatUser[]
    latestChatMessages?: IChatMessage[]
    createdAt: Date
}