コード例 #1
0
def delete():
    """执行系统通知的删除操作"""
    u = current_user()
    info_id = int(request.form.get('info_id', -1))
    i: Info = Info.one(id=info_id)
    if i is not None:
        # 权限验证
        if i.receiver_id == u.id:
            Info.delete(i)
            key = 'user_id_{}.received_info'.format(u.id)
            data_cache.delete(key)
            return redirect(url_for('.info'))

    return abort(404)
コード例 #2
0
def sweep():
    """清理所有已读信息"""
    u = current_user()
    owner_id = int(request.form.get('owner_id', -1))
    owner = cached_user_id2user(owner_id)
    if owner is not None:
        if owner_id == u.id:
            read_infos = Info.all(receiver_id=owner_id, been_read=True)
            with data_cache.pipeline(transaction=False) as pipe:
                for i in read_infos:
                    Info.delete(i)
                    key = 'user_id_{}.received_info'.format(u.id)
                    pipe.delete(key)
                pipe.execute()

    return redirect(url_for('.info'))