102 lines
4.5 KiB
Python
102 lines
4.5 KiB
Python
# CostaPy
|
|
# Copyright (C) 2022 Dita Aji Pratama
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
# You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
|
|
|
|
from bottle import Bottle, route
|
|
from config import directory
|
|
|
|
import templates.plain.main as template_public
|
|
import modules.public.home as public_home
|
|
|
|
import modules.api.gebox.package as api_gebox_package
|
|
import modules.api.gebox.version as api_gebox_version
|
|
import modules.api.gebox.instance as api_gebox_instance
|
|
|
|
import json
|
|
|
|
app = Bottle()
|
|
|
|
@app.route('/')
|
|
def index():
|
|
params = {
|
|
"mako":{
|
|
"website" : template_public.main(directory.page["public"], "home")
|
|
}
|
|
}
|
|
return public_home.main().html(params)
|
|
|
|
@app.route('/api/gebox/package/<alder>', method=['OPTIONS', 'POST'])
|
|
def index(alder):
|
|
try:
|
|
if request.method == 'OPTIONS':
|
|
return None
|
|
else:
|
|
response.content_type = 'application/json'
|
|
params = request.json
|
|
if alder == 'add':
|
|
return json.dumps(api_gebox_package.package().add(params), indent = 2).encode()
|
|
elif alder == 'list':
|
|
return json.dumps(api_gebox_package.package().list(params), indent = 2).encode()
|
|
elif alder == 'detail':
|
|
return json.dumps(api_gebox_package.package().detail(params), indent = 2).encode()
|
|
elif alder == 'edit':
|
|
return json.dumps(api_gebox_package.package().edit(params), indent = 2).encode()
|
|
elif alder == 'remove':
|
|
return json.dumps(api_gebox_package.package().remove(params), indent = 2).encode()
|
|
else:
|
|
return json.dumps({}, indent = 2).encode()
|
|
except Exception as e:
|
|
print(str(e),flush=True)
|
|
return json.dumps({}, indent = 2).encode()
|
|
|
|
@app.route('/api/gebox/package/version/<alder>', method=['OPTIONS', 'POST'])
|
|
def index(alder):
|
|
try:
|
|
if request.method == 'OPTIONS':
|
|
return None
|
|
else:
|
|
response.content_type = 'application/json'
|
|
params = request.json
|
|
if alder == 'add':
|
|
return json.dumps(api_gebox_version.version().add(params), indent = 2).encode()
|
|
elif alder == 'list':
|
|
return json.dumps(api_gebox_version.version().list(params), indent = 2).encode()
|
|
elif alder == 'detail':
|
|
return json.dumps(api_gebox_version.version().detail(params), indent = 2).encode()
|
|
elif alder == 'edit':
|
|
return json.dumps(api_gebox_version.version().edit(params), indent = 2).encode()
|
|
elif alder == 'remove':
|
|
return json.dumps(api_gebox_version.version().remove(params), indent = 2).encode()
|
|
else:
|
|
return json.dumps({}, indent = 2).encode()
|
|
except Exception as e:
|
|
print(str(e),flush=True)
|
|
return json.dumps({}, indent = 2).encode()
|
|
|
|
@app.route('/api/gebox/instance/<alder>', method=['OPTIONS', 'POST'])
|
|
def index(alder):
|
|
try:
|
|
if request.method == 'OPTIONS':
|
|
return None
|
|
else:
|
|
response.content_type = 'application/json'
|
|
params = request.json
|
|
if alder == 'add':
|
|
return json.dumps(api_gebox_instance.instance().add(params), indent = 2).encode()
|
|
elif alder == 'list':
|
|
return json.dumps(api_gebox_instance.instance().list(params), indent = 2).encode()
|
|
elif alder == 'detail':
|
|
return json.dumps(api_gebox_instance.instance().detail(params), indent = 2).encode()
|
|
elif alder == 'edit':
|
|
return json.dumps(api_gebox_instance.instance().edit(params), indent = 2).encode()
|
|
elif alder == 'remove':
|
|
return json.dumps(api_gebox_instance.instance().remove(params), indent = 2).encode()
|
|
else:
|
|
return json.dumps({}, indent = 2).encode()
|
|
except Exception as e:
|
|
print(str(e),flush=True)
|
|
return json.dumps({}, indent = 2).encode()
|