def _list(): query = (Notification.query( recipient_id=request.user_id).join("event").options( contains_eager("event")).options( subqueryload("event.actor")).outerjoin(Event.flight).options( contains_eager("event.flight")).filter( or_(Event.flight == None, Flight.is_rankable())).order_by(Event.time.desc())) query = _filter_query(query, request.args) page = request.args.get("page", type=int, default=1) per_page = request.args.get("per_page", type=int, default=50) query = query.limit(per_page) query = query.offset((page - 1) * per_page) def get_event(notification): event = notification.event event.unread = notification.time_read is None return event events = list( convert_event(get_event(notification)) for notification in query) return jsonify(events=events)
def list(): query = Notification.query(recipient_id=request.user_id) \ .join('event') \ .options(contains_eager('event')) \ .options(subqueryload('event.actor')) \ .outerjoin(Event.flight) \ .options(contains_eager('event.flight')) \ .filter(or_(Event.flight == None, Flight.is_rankable())) \ .order_by(Event.time.desc()) query = _filter_query(query, request.args) page = request.args.get('page', type=int, default=1) per_page = request.args.get('per_page', type=int, default=50) query = query.limit(per_page) query = query.offset((page - 1) * per_page) def get_event(notification): event = notification.event event.unread = (notification.time_read is None) return event events = map(get_event, query) return jsonify(events=(map(convert_event, events)))
def _list(): query = ( Notification.query(recipient_id=request.user_id) .join("event") .options(contains_eager("event")) .options(subqueryload("event.actor")) .outerjoin(Event.flight) .options(contains_eager("event.flight")) .filter(or_(Event.flight == None, Flight.is_rankable())) .order_by(Event.time.desc()) ) query = _filter_query(query, request.args) page = request.args.get("page", type=int, default=1) per_page = request.args.get("per_page", type=int, default=50) query = query.limit(per_page) query = query.offset((page - 1) * per_page) def get_event(notification): event = notification.event event.unread = notification.time_read is None return event events = list(convert_event(get_event(notification)) for notification in query) return jsonify(events=events)
def _list(): query = Notification.query(recipient_id=request.user_id) \ .join('event') \ .options(contains_eager('event')) \ .options(subqueryload('event.actor')) \ .outerjoin(Event.flight) \ .options(contains_eager('event.flight')) \ .filter(or_(Event.flight == None, Flight.is_rankable())) \ .order_by(Event.time.desc()) query = _filter_query(query, request.args) page = request.args.get('page', type=int, default=1) per_page = request.args.get('per_page', type=int, default=50) query = query.limit(per_page) query = query.offset((page - 1) * per_page) def get_event(notification): event = notification.event event.unread = (notification.time_read is None) return event events = map(get_event, query) return jsonify(events=(map(convert_event, events)))
def run(self): Notification.query().update(dict(time_read=None)) db.session.commit()
def run(self): Notification.query().update(dict(time_read=None)) db.session.commit()
#!/usr/bin/env python # # Mark all notifications as unread # import argparse from config import to_envvar parser = argparse.ArgumentParser(description='Copy flight files by one or more properties.') parser.add_argument('--config', metavar='config.ini', help='path to the configuration INI file') args = parser.parse_args() if not to_envvar(args.config): parser.error('Config file "{}" not found.'.format(args.config)) from skylines import app, db from skylines.model import Notification app.test_request_context().push() Notification.query().update(dict(time_read=None)) db.session.commit()
#!/usr/bin/env python # # Mark all notifications as unread # import argparse from config import to_envvar parser = argparse.ArgumentParser( description='Copy flight files by one or more properties.') parser.add_argument('--config', metavar='config.ini', help='path to the configuration INI file') args = parser.parse_args() if not to_envvar(args.config): parser.error('Config file "{}" not found.'.format(args.config)) from skylines import app, db from skylines.model import Notification app.test_request_context().push() Notification.query().update(dict(time_read=None)) db.session.commit()