Exemple #1
0
    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)
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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