Example #1
0
def get_all_notifications():
    data = notifications_filter_schema.load(request.args).data
    include_jobs = data.get("include_jobs", False)
    page = data.get("page", 1)
    page_size = data.get("page_size", current_app.config.get("API_PAGE_SIZE"))
    limit_days = data.get("limit_days")

    pagination = notifications_dao.get_notifications_for_service(
        str(authenticated_service.id),
        personalisation=True,
        filter_dict=data,
        page=page,
        page_size=page_size,
        limit_days=limit_days,
        key_type=api_user.key_type,
        include_jobs=include_jobs,
    )
    return (
        jsonify(
            notifications=notification_with_personalisation_schema.dump(
                pagination.items, many=True).data,
            page_size=page_size,
            total=pagination.total,
            links=pagination_links(pagination, ".get_all_notifications",
                                   **request.args.to_dict()),
        ),
        200,
    )
Example #2
0
def get_notification_by_id(notification_id):
    notification = notifications_dao.get_notification_with_personalisation(
        str(authenticated_service.id), notification_id, key_type=None)
    return jsonify(
        data={
            "notification":
            notification_with_personalisation_schema.dump(notification).data
        }), 200