Пример #1
0
    def delete(self, id):
        user = UserModel.find_by_username(get_jwt_identity())

        try:
            link = CommunityUserLinkModel.find_by_user_and_community(
                user.id, id)
            if not link or not link.is_owner:
                abort(401, message=UNAUTHORIZED)
        except NoData:
            abort(404, message=COMMUNIY_DOESNT_EXIST)

        all_links = CommunityUserLinkModel.find_by_community(id)
        for link in all_links:
            link.delete()

        try:
            CommunityModel.delete_by_id(id)
        except NoData:
            abort(404, message=COMMUNIY_DOESNT_EXIST)

        return SimpleMessage(COMMUNIY_DELETED), 200
Пример #2
0
    def delete(self, community_id):
        user = UserModel.find_by_username(get_jwt_identity())
        invitation = CommunityUserLinkModel.find_by_user_and_community(
            user.id, community_id)

        if not invitation:
            abort(404, message=COMMUNITY_INVITATION_DOESNT_EXIST)

        if invitation.user_id != user.id:
            abort(401, message=NOT_AUTHORIZED_TO_REMOVE_USER_FROM_COMMUNITY)

        if invitation.invitation_accepted and not invitation.is_owner:
            invitation.delete()
            return SimpleMessage(COMMUNIY_LEFT_SUCCESSFULLY), 200

        if invitation.invitation_accepted and invitation.is_owner:
            CommunityModel.delete_by_id(invitation.community.id)
            return SimpleMessage(COMMUNIY_LEFT_AND_DELETED)

        invitation.delete()
        return SimpleMessage(COMMUNITY_INVITATION_DECLINED), 200