Skip to content

Model & Resources Description

chanbyeongee edited this page Sep 14, 2022 · 1 revision

Ⅰ. DB 모델 구성

DB는 총 3가지 모델로 구성되어있습니다.

UserModel

  • 사용자 개인정보 모델입니다.

Columns

  • id(PK) : DB 식별 아이디
  • user_name : 이메일 주소
  • user_subname : 닉네임
  • password : 비밀번호
  • provider : OAUTH 제공자
  • pid : OAUTH 식별 아이디
  • value_container : 시나리오 변수 저장
  • res_controller : 시나리오 응답 저장

Method

  • find_by_username : 이메일을 통한 사용자 검색
  • find_by_id : 식별 아이디를 통한 사용자 검색
  • find_oauth_by_id : provider와 pid를 통한 사용자 검색

relationship

  • child
    • ChatModel : 채팅로그
    • StatisticModel : 통계로그

ChatModel

  • 채팅로그 모델입니다.

Columns

  • id(PK) : DB 식별 아이디
  • user_id(FK) : 채팅로그 소유자 식별 아이디
  • date_YMD : YYYYMMDD로 이뤄진 날짜 정보
  • date_YMDHMS : YYYYMMDDHHMMSS로 이뤄진 날짜 정보
  • direction : 송/수신자 식별 (USER / BOT)
  • utterance : 대화 내용

Method

  • find_all_by_dateYMD_with_user_id : 하루 날짜에 대한 모든 채팅로그 찾기
  • find_range_with_user_id : 범위에 대한 모든 채팅로그 찾기
  • find_by_number_with_user_id : 지정 시간으로부터 N개의 채팅로그 찾기

relationship

  • parent
    • UserModel : 채팅로그 소유자

StatisticModel

  • 통계기록 모델입니다.

Columns

  • id(PK) : DB 식별 아이디
  • user_id(FK) : 채팅로그 소유자 식별 아이디
  • date_YMD : YYYYMMDD로 이뤄진 날짜 정보
  • emotions : json으로 기록되는 감정 통계
  • total: 전체 감정 갯수

Method

  • find_by_dateYMD_with_user_id : 하루 날짜에 대한 모든 통계기록 찾기
  • find_range_with_user_id : 범위에 대한 모든 통계기록 찾기
  • find_by_number_with_user_id : 지정 시간으로부터 N개의 통계기록 찾기

relationship

  • parent
    • UserModel : 통계기록 소유자

Ⅱ. Resource 구성

PostMan document