Skip to content
Snippets Groups Projects
Select Git revision
  • 3297e7061e5a1ea3ef65bba65bfcb6a13bdb18d6
  • master default protected
  • renovate/all-minor-patch
  • 42-add-missing-application-tutorials-2
  • 83-provide-information-about-migration-changes-to-existing-users
  • 81-update-installation-instructions-for-nmaas-1-6-2
  • 75-add-an-introduction-to-nmaas-guides
  • 70-add-information-about-roedunet-presentation
  • 35-add-a-page-about-bulk-application-deployment
  • 2-document-the-use-of-booked-instances-on-nmaas
10 results

application-versions.md

Blame
  • default.py 1.33 KiB
    """
    Default Endpoints
    =========================
    
    .. contents:: :local:
    
    /version
    ---------------------
    
    .. autofunction:: compendium_v2.routes.default.version
    
    """
    import pkg_resources
    
    from flask import Blueprint, jsonify, render_template
    from compendium_v2.routes import common
    
    routes = Blueprint("compendium-v2-default", __name__)
    API_VERSION = '0.1'
    
    VERSION_SCHEMA = {
        '$schema': 'http://json-schema.org/draft-07/schema#',
    
        'type': 'object',
        'properties': {
            'api': {
                'type': 'string',
                'pattern': r'\d+\.\d+'
            },
            'module': {
                'type': 'string',
                'pattern': r'\d+\.\d+'
            }
        },
        'required': ['api', 'module'],
        'additionalProperties': False
    }
    
    
    @routes.after_request
    def after_request(resp):
        return common.after_request(resp)
    
    
    @routes.route("/", methods=['GET'])
    def index():
        return render_template('index.html')
    
    
    @routes.route("/version", methods=['GET', 'POST'])
    @common.require_accepts_json
    def version():
        """
        handler for /version requests
    
        response will be formatted as:
    
        .. asjson::
            compendium_v2.routes.default.VERSION_SCHEMA
    
        :return:
        """
        version_params = {
            'api': API_VERSION,
            'module':
                pkg_resources.get_distribution('compendium-v2').version
        }
        return jsonify(version_params)