front_ponto_eletronico/routes/service_instance.py
2025-03-31 12:01:39 -03:00

32 lines
1.2 KiB
Python

from flask import Blueprint, request, jsonify
from flask_jwt_extended import jwt_required
from flasgger.utils import swag_from
from models.service_instance import ServiceInstance
from models.service import Service
service_instance_bp = Blueprint('service_instance', __name__, url_prefix='/service_instance')
@service_instance_bp.route('/', methods=['GET'])
@jwt_required()
@swag_from('../docs/service_instance/list.yml')
def list_ambiente():
page = request.args.get('page', 1, type=int)
per_page = request.args.get('per_page', 10, type=int)
pagination = ServiceInstance.query.paginate(page=page, per_page=per_page, error_out=False)
service_instances = pagination.items
return jsonify({
'service_instance': [
{
'id': service_instance.id,
'name': service_instance.name,
'description': service_instance.description,
'service_id': service_instance.service_id
} for service_instance in service_instances
],
'total': pagination.total,
'page': pagination.page,
'per_page': pagination.per_page
}), 200