Skip to content
Snippets Groups Projects
apps.py 1.48 KiB
Newer Older
Mart van Santen's avatar
Mart van Santen committed
from flask import jsonify
Luka's avatar
Luka committed
from flask_jwt_extended import jwt_required
from flask_cors import cross_origin

from sqlalchemy import func
from config import *
from .apps_service import AppsService
from database import db

from areas import api_v1
Luka's avatar
Luka committed

CONFIG_DATA = [
    {
        "id": "values.yml",
        "description": "Some user friendly description",
        "raw": "cronjob:\n  # Set curl to accept insecure connections when acme staging is used\n  curlInsecure: false",
        "fields": [
            {"name": "cronjob", "type": "string", "value": ""},
            {"name": "curlInsecure", "type": "boolean", "value": "false"}
        ]
    }
]

@api_v1.route('/apps', methods=['GET'])
@jwt_required()
@cross_origin()
def get_apps():
    apps = AppsService.get_all_apps()
    return jsonify(apps)
Luka's avatar
Luka committed


@api_v1.route('/apps/<string:slug>', methods=['GET'])
@jwt_required()
Luka's avatar
Luka committed
def get_app(slug):
    app = AppsService.get_app(slug)
    return jsonify(app)
Luka's avatar
Luka committed


@api_v1.route('/apps', methods=['POST'])
@jwt_required()
@cross_origin()
def post_app():
    return jsonify(APPS_DATA), 201


@api_v1.route('/apps/<string:slug>', methods=['PUT'])
@jwt_required()
@cross_origin()
def put_app(slug):
    return jsonify(APPS_DATA)


@api_v1.route('/apps/<string:slug>/config', methods=['GET'])
@jwt_required()
@cross_origin()
def get_config(slug):
    return jsonify(CONFIG_DATA)


@api_v1.route('/apps/<string:slug>/config', methods=['DELETE'])
@jwt_required()
@cross_origin()
def delete_config(slug):
    return jsonify(CONFIG_DATA)