Skip to content

Commit

Permalink
lint
Browse files Browse the repository at this point in the history
  • Loading branch information
xncbf committed Jan 22, 2024
1 parent a2733b2 commit 70e687b
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 19 deletions.
2 changes: 1 addition & 1 deletion rcs_pydantic/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class HeaderEnum(Enum):

class ActionEnum(Enum):
URL_ACTION: str = "urlAction" # 단말기에 기본 웹 브라우저로 설정된 앱을 통해서, 웹페이지로 이동할 수있습니다
LOCAL_BROWSER_ACTION: str = "localBrowserAction" # 단말기의 메시지 앱 내부 브라우저를 통해 웹페이지로 이동할 수 있습니다
LOCAL_BROWSER_ACTION: str = "localBrowserAction" # 단말기의 메시지 앱 내부 브라우저를 통해 웹페이지로 이동할 수 있습니다 # noqa: E501
MAP_ACTION: str = "mapAction" # 미리 지정된 위치를 보여주거나 사용자의 현재 위치를 서버로 전송 할 수 있습니다.
CALENDAR_ACTION: str = "calendarAction" # 사용자의 캘린더에 특정 일정을 등록 할 수 있습니다.
CLIPBOARD_ACTION: str = "clipboardAction" # 특정 문구를 사용자 단말이 자동으로 복사 할 수 있게 합니다
Expand Down
38 changes: 25 additions & 13 deletions rcs_pydantic/errors.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,10 @@ class ErrorCodeEnum(TupleEnum):
RCS_USER_NOT_FOUND = (41110, "Message Status Webhook ")
PROCESS_REVOCATION_REQUEST_FAILED = (41117, "Message Status Webhook ")
USER_FOR_MESSAGE_RECEIVING_NOT_FOUND = (41200, "")
MESSAGE_NOT_ACCEPTABLE = (41201, "Message Session형성과정 중 단말의 SDP에 message송신에 필요한 feature tag가 없는 경우 발생")
MESSAGE_NOT_ACCEPTABLE = (
41201,
"Message Session형성과정 중 단말의 SDP에 message송신에 필요한 feature tag가 없는 경우 발생",
) # noqa: E501
USER_IS_NOT_CAPABLE_FOR_TEXT = (41210, "Bot이 Text message를 보낼 때 user의 capability에 chat이 없는 경우 발생.")
USER_IS_NOT_CAPABLE_FOR_FT = (41211, "Bot이 File message를 보낼 때 user의 capability에 fthttp가 없는 경우 발생")
USER_IS_NOT_CAPABLE_FOR_RICHCARD = (
Expand All @@ -73,7 +76,7 @@ class ErrorCodeEnum(TupleEnum):
41221,
"clipboardAction, localBrowserAction, messageHeader, messageFooter, openrichcard, geolocationPushMessage,"
"copyAllowed Bot이 v1.1에 해당하는 Extended message를 보낼 때 user의 capability에 bot, chatbot.sa, xbotmessage "
"1.1이 없는 경우 발생. 이 때 xbotmessage는 상위 version이 하위 version을 포함한다. (1.2 version이 있다면 1.1에 해당하는 "
"1.1이 없는 경우 발생. 이 때 xbotmessage는 상위 version이 하위 version을 포함한다. (1.2 version이 있다면 1.1에 해당하는 " # noqa: E501
"capability를 가진 것으로 간주함)",
)
USER_IS_NOT_CAPABLE_FOR_XBOTMESSAGE_1_2 = (
Expand All @@ -83,10 +86,16 @@ class ErrorCodeEnum(TupleEnum):
)
USER_IS_NOT_CAPABLE_FOR_OPENRICHARD_1_0 = (
41230,
"Bot이 v1.0에 해당하는 Openrichcard를 보낼 때 user의 capability에 bot, chatbot.sa, xbotmessage 1.0이 없는 경우 발생",
"Bot이 v1.0에 해당하는 Openrichcard를 보낼 때 user의 capability에 bot, chatbot.sa, xbotmessage 1.0이 없는 경우 발생", # noqa: E501
)
USER_IS_NOT_CAPABLE_FOR_OPENRICHARD_1_1 = (41231, "v1.1에 해당하는 Openrichcard가 현재 정의 및 사용되지 않으므로, 실제 발생하지 않는 code")
USER_IS_NOT_CAPABLE_FOR_OPENRICHARD_1_2 = (41232, "v1.2에 해당하는 Openrichcard가 현재 정의 및 사용되지 않으므로, 실제 발생하지 않는 code")
USER_IS_NOT_CAPABLE_FOR_OPENRICHARD_1_1 = (
41231,
"v1.1에 해당하는 Openrichcard가 현재 정의 및 사용되지 않으므로, 실제 발생하지 않는 code",
) # noqa: E501
USER_IS_NOT_CAPABLE_FOR_OPENRICHARD_1_2 = (
41232,
"v1.2에 해당하는 Openrichcard가 현재 정의 및 사용되지 않으므로, 실제 발생하지 않는 code",
) # noqa: E501
USER_IS_NOT_CAPABLE_FOR_GEOLOCATION_PUSH_REQUEST = (41240, "User is not capable for GEOLOCATION PUSH REQUEST")
FAILED_TO_GET_MESSAGE_CONTENT_TYPE = (41250, "Failed to get message content type")
FILE_DOWNLOAD_FAILED = (41300, "")
Expand Down Expand Up @@ -275,7 +284,7 @@ class MaaPErrorCodeEnum(TupleEnum):
PERSISTENT_MENU_PERMISSION_ERROR = (52009, "Persistent Menu 등록이 허용되지 않습니다.")
INVALID_PERSISTENT_MENU_DATA = (52010, "Persistent menu JSON 데이터 오류")
MESSAGE_TRANSMISSION_TIME_EXCEEDING = (52016, "실시간 메시지 인입 후 10초안에 삼성으로 전달되지 못함")
MESSAGEBASE_ID_STOPPED_TEMPORARILY = (52023, "메시지 베이스의 상태가 'pause'인 메시지 베이스 메시지로 전문 구성하여 전송 시도 시")
MESSAGEBASE_ID_STOPPED_TEMPORARILY = (52023, "메시지 베이스의 상태가 'pause'인 메시지 베이스 메시지로 전문 구성하여 전송 시도 시") # noqa: E501
INVALID_WEBHOOK_REQUEST_PARAMETER = (52101, "잘못된 Webhook 중계사 요청 파라미터 입니다.")
WEBHOOK_HOST_CONNECT_ERROR = (52102, "Webhook 중계 시스템 연결 오류")
WEBHOOK_HOST_SERVER_REQUEST_FAILURE = (52103, "중계사 Webhook 전송 요청을 실패 했습니다.")
Expand All @@ -293,7 +302,7 @@ class MaaPErrorCodeEnum(TupleEnum):
INVAILD_CONTACT_NUMBER_USER = (54001, "자사 고객이 아닙니다.")
NO_RCS_CAPABILITY = (54002, "자사 고객이지만, RCS메시지를 수신할 수 있는 가입자가 아닙니다.")
UNABLE_SENDING_TO_RECIPIENT = (54003, "단말기기로 RCS 메시지를 전송할 수 없습니다.")
MAA_P_INTERNAL_ERROR = (54004, "MaaP 시스템 혹은 RCS 프로토콜 상의 이슈로 발송 실패되었음 (삼성 에러 40001 ~ 41100, 42601)")
MAA_P_INTERNAL_ERROR = (54004, "MaaP 시스템 혹은 RCS 프로토콜 상의 이슈로 발송 실패되었음 (삼성 에러 40001 ~ 41100, 42601)") # noqa: E501
CORP_CONTENT_ERROR = (55001, "기업 정보 내용이 누락된 필수항목이 있습니다.")
INVALID_PROPERTY = (55002, "필수 파라미터 검증 오류")
AGENCY_CONTENT_ERROR = (55101, "대행사 정보 내용이 누락된 필수 항목이 있습니다.")
Expand Down Expand Up @@ -326,7 +335,10 @@ class MaaPErrorCodeEnum(TupleEnum):
INVALID_MESSAGEBASEFORM_ID = (55602, "messagebaseformID가 존재하지 않습니다.")
INVALID_MESSAGE_BASE_PRODUCT_CODE = (55603, "messaegBase의 상품코드 에러")
PROHIBITED_TEXT_CONTENT = (55701, "(광고) 를 사용할 수 없음")
ACTION_BUTTON_PERMISSION_ERROR = (55702, "Action button이 허용되지 않는 messagebaseID에서 Action button을 사용하였음")
ACTION_BUTTON_PERMISSION_ERROR = (
55702,
"Action button이 허용되지 않는 messagebaseID에서 Action button을 사용하였음",
) # noqa: E501
PROHIBITED_HEADER_VALUE = (55703, "허용되지 않은 header 값 사용")
PROHIBITED_FOOTER_FIELD = (55704, "header 값과 일치 하지 않은 footer 사용 (ex. header가 0 인데, footer 가 있음)")
MISSING_FOOTER_CONTENT = (55705, "footer값이 누락되어 있습니다 (ex. header가 1 인데, footer 가 없음)")
Expand Down Expand Up @@ -421,10 +433,10 @@ class MaaPErrorCodeEnum(TupleEnum):
AUTO_REPLY_MESSAGE_SENDING_ERROR = (51933, "자동 응답 메시지 발송 수행 오류가 발생했습니다.")
NON_SERVICE_SUPPORTED_ERROR = (51934, "처리 미 대상 서비스 입니다.")
SAMSUNG_MAA_P_CORE_FILE_SERVER_CONNECTION_ERROR = (51935, "삼성 MaaP Core 파일 서버 연결 오류가 발생했습니다.")
MESSAGE_FILE_MESSAGE_EVENT_FILE_DOWNLOAD_ERROR_1 = (51936, "파일 메시지 이벤트의 파일 메시지 다운로드 수행 오류가 발생했습니다.")
MESSAGE_FILE_MESSAGE_EVENT_FILE_DOWNLOAD_ERROR_2 = (51937, "파일 메시지 이벤트의 파일 메시지 다운로드 수행 오류가 발생했습니다.")
MESSAGE_FILE_MESSAGE_REGISTRATION_TO_DB_ERROR = (51938, "파일 메시지 이벤트의 파일 정보 DB 등록 오류가 발생했습니다.")
MESSAGE_FILE_MESSAGE_REGISTRATION_TO_DB_FAILURE = (51939, "파일 메시지 이벤트의 파일 정보 DB 등록 작업을 실패 했습니다.")
MESSAGE_FILE_MESSAGE_EVENT_FILE_DOWNLOAD_ERROR_1 = (51936, "파일 메시지 이벤트의 파일 메시지 다운로드 수행 오류가 발생했습니다.") # noqa: E501
MESSAGE_FILE_MESSAGE_EVENT_FILE_DOWNLOAD_ERROR_2 = (51937, "파일 메시지 이벤트의 파일 메시지 다운로드 수행 오류가 발생했습니다.") # noqa: E501
MESSAGE_FILE_MESSAGE_REGISTRATION_TO_DB_ERROR = (51938, "파일 메시지 이벤트의 파일 정보 DB 등록 오류가 발생했습니다.") # noqa: E501
MESSAGE_FILE_MESSAGE_REGISTRATION_TO_DB_FAILURE = (51939, "파일 메시지 이벤트의 파일 정보 DB 등록 작업을 실패 했습니다.") # noqa: E501
WEBHOOK_SCHEDULER_ASYNC_EXECUTION_ERROR = (51950, "Webhook 스케줄러 비동기 수행 오류.")
WEBHOOK_SCHEDULER_DB_EXECUTION_ERROR = (51951, "Webhook 스케줄러 DB 수행 오류.")
WEBHOOK_SCHEDULER_DB_EXECUTION_FAILUER = (51952, "Webhook 스케줄러 DB 수행 실패.")
Expand Down Expand Up @@ -567,7 +579,7 @@ class KTErrorCodeEnum(TupleEnum):
NOT_FOUND_RCS_SUBSCRIBER = (76003, "RCS 가입 정보 없음")
XROSHOT_SENDER_INTERNAL_ERROR = (76004, "Xroshot Sender 내부 에러")
XROSHOT_MANAGER_INTERNAL_ERROR = (76005, "Xroshot Manager 내부 에러")
EXPIRED_MESSAGE_RECEIVED_TIME = (77001, "Legacy : 레포트 수신 시간 만료 (메시지 전송 후, 24시간 레포트 못받는 경우) RCS 3일")
EXPIRED_MESSAGE_RECEIVED_TIME = (77001, "Legacy : 레포트 수신 시간 만료 (메시지 전송 후, 24시간 레포트 못받는 경우) RCS 3일") # noqa: E501
INVALIED_MESSAGE_SEQUENCE = (77002, "Message Sequence Number가 틀린 경우")
NON_EXISTING_WEBHOOK_MESSAGE = (77003, "Webhook 발송 메시지가 존재하지 않습니다")
INVALID_WEBHOOK_MESSAGE_1 = (77004, "잘못된 Webhook 발송 메시지입니다.")
Expand Down
2 changes: 1 addition & 1 deletion rcs_pydantic/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,4 @@ def make_rcs_info(self, message_info: scheme.MessageInfo) -> dict:
return rcs_info.model_dump(exclude_unset=True)

def send(self):
self.send_info
return self.send_info
10 changes: 7 additions & 3 deletions rcs_pydantic/scheme.py
Original file line number Diff line number Diff line change
Expand Up @@ -282,14 +282,16 @@ class RcsInfo(BaseModel):
"""
# agencyKey
agencyId (대행사 ID) 와 매핑되는 대행사 Key 값
[보안성 강화] agencyId - agencyKey 가 불일치 하는 경우, 통신사에서 실패 처리. 대행사 고객인 경우 필수값. * agencyKey 는 RBC 에서 발급 및 갱신 가능하며,
[보안성 강화] agencyId - agencyKey 가 불일치 하는 경우,
통신사에서 실패 처리. 대행사 고객인 경우 필수값. * agencyKey 는 RBC 에서 발급 및 갱신 가능하며,
갱신시 기존(old) agencyKey 는 최대 24 시간 유효함
"""
brandKey: str
"""
# brandKey
chatbotId (챗봇 ID) 소유 brandId (브랜드 ID) 와 매핑되는 브랜드 Key 값
[보안성 강화] brandId - brandKey 가 불일치 하는 경우, 통신사에서 실패 처리. 대행사 고객인 경우 필수값. *brandKey 는 기존 RBC 에서 발급, 제공 중인 값
[보안성 강화] brandId - brandKey 가 불일치 하는 경우, 통신사에서 실패 처리.
대행사 고객인 경우 필수값. *brandKey 는 기존 RBC 에서 발급, 제공 중인 값
"""

messagebaseId: Union[enums.MessageEnum, enums.RCSMessageEnum, str]
Expand Down Expand Up @@ -402,7 +404,9 @@ def footer_validator(cls, v, values, **kwargs):
양기업의 양방향 momsg를 수신할 때 포함된 replyID를 그대로 넣어서 전송한다
Maximum : 40Byte
ㅇRCSCHAT인 경우에 반드시 포함되어야 하며, RCSCHAT이 아닌 경우에는 포함되면 발송이 실패된다
*양방향서비스에서 양방향 대화의 세션을 관리하는 기준으로, 고객이 양방향 MO를 수행할 때마다 새롭게 할당되며, 유효시간은 24시간임. 유효시간이 만료된 replyId포함되어 발송되면 실패처리된다
*양방향서비스에서 양방향 대화의 세션을 관리하는 기준으로,
고객이 양방향 MO를 수행할 때마다 새롭게 할당되며, 유효시간은 24시간임.
유효시간이 만료된 replyId포함되어 발송되면 실패처리된다
"""


Expand Down
2 changes: 1 addition & 1 deletion scripts/lint-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ set -x

poetry run black rcs_pydantic --check
poetry run isort --check-only rcs_pydantic
poetry run flake8
poetry run ruff check --exit-zero .

0 comments on commit 70e687b

Please sign in to comment.