async def method_patch(self, request: Request, body: dict, session: DBSession, msg_id: int, token: dict, *args, **kwargs) -> BaseHTTPResponse: try: db_msg = session.get_msg_by_id(msg_id) except DBMsgNotExistsException: raise SanicMsgNotFoundException if token.get('uid') is not db_msg.sender_id: return await self.make_response_json(status=403) req_model = ReqUpdateMsgDTO(body) try: db_msg = msg_queries.update_msg(session, db_msg.id, req_model) except DBMsgNotExistsException: raise SanicMsgNotFoundException try: session.commit() except (DBIntegrityException, DBDataException): raise SanicDBException res_model = ResGetMsgDTO(db_msg) return await self.make_response_json(body=res_model.dump(), status=200)
def delete_msg(session: DBSession, msg_id: int): db_msg = session.get_msg_by_id(msg_id) if db_msg is None or db_msg.is_delete is True: raise DBMsgNotExistsException db_msg.is_delete = True
def update_msg(session: DBSession, msg_id: int, message: ReqUpdateMsgDTO) -> MessageModel: db_msg = session.get_msg_by_id(msg_id) if db_msg is None or db_msg.is_delete is True: raise DBMsgNotExistsException db_msg.message = message.message return db_msg
def get_msg(session: DBSession, msg_id: int) -> MessageModel: db_msg = session.get_msg_by_id(msg_id) if db_msg is None or db_msg.is_delete is True: raise DBMsgNotExistsException return db_msg