from flask import Blueprint, jsonify, request from flask_login import login_required from app.models.invoice import Invoice from app.services.company_service import CompanyService from app.services.health_service import HealthService bp = Blueprint('api', __name__) @bp.route('/health') def health(): return jsonify(HealthService().get_status()) @bp.route('/invoices') @login_required def invoices(): company = CompanyService.get_current_company() page = request.args.get('page', 1, type=int) query = Invoice.query.order_by(Invoice.issue_date.desc()) if company: query = query.filter_by(company_id=company.id) items = query.paginate(page=page, per_page=20, error_out=False) return jsonify({'items': [{'id': i.id, 'invoice_number': i.invoice_number, 'ksef_number': i.ksef_number, 'contractor_name': i.contractor_name, 'gross_amount': float(i.gross_amount), 'status': i.status.value} for i in items.items], 'page': items.page, 'pages': items.pages, 'total': items.total})