25 lines
1011 B
Python
25 lines
1011 B
Python
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})
|