def update(id): entity = obj_or_404(Entity.by_id(id)) authz.require(authz.watchlist_write(entity.watchlist_id)) data = EntityForm().deserialize(request_data()) watchlist = data.get("watchlist") authz.require(watchlist) authz.require(authz.watchlist_write(watchlist.id)) entity.update(data) watchlist.touch() db.session.commit() analyze_entity.delay(entity.id) return view(entity.id)
def delete(id): authz.require(authz.watchlist_write(id)) watchlist = obj_or_404(Watchlist.by_id(id)) analyze_terms.delay(watchlist.terms) watchlist.delete() db.session.commit() return jsonify({'status': 'ok'})
def update(id): authz.require(authz.watchlist_write(id)) watchlist = obj_or_404(Watchlist.by_id(id)) watchlist.update(request_data()) db.session.add(watchlist) db.session.commit() return view(id)
def delete(id): entity = obj_or_404(Entity.by_id(id)) authz.require(authz.watchlist_write(entity.watchlist_id)) entity.delete() db.session.commit() analyze_entity.delay(id) return jsonify({"status": "ok"})
def watchlist_permissions_index(watchlist=None): authz.require(authz.watchlist_write(watchlist)) q = db.session.query(Permission) q = q.filter(Permission.resource_type == Permission.COLLECTION) q = q.filter(Permission.resource_id == watchlist) return jsonify({ 'total': q.count(), 'results': q })
def create(): data = EntityForm().deserialize(request_data()) watchlist = data.get("watchlist") authz.require(watchlist) authz.require(authz.watchlist_write(watchlist.id)) entity = Entity.create(data) watchlist.touch() db.session.commit() analyze_entity.delay(entity.id) return view(entity.id)
def permissions_save(watchlist=None, source=None): if watchlist is not None: authz.require(authz.watchlist_write(watchlist)) if source is not None: authz.require(authz.source_write(source)) resource_type = Permission.WATCHLIST if watchlist else Permission.SOURCE resource_id = watchlist or source data = request_data() validate(data, permissions_schema) role = db.session.query(Role).filter(Role.id == data['role']).first() if role is None: raise BadRequest() permission = Permission.grant_resource(resource_type, resource_id, role, data['read'], data['write']) db.session.commit() return jsonify({ 'status': 'ok', 'updated': permission })