# 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, response, request from config import directory import json import templates.plain.main as template_public import modules.public.home as public_home 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/', methods=['OPTIONS', 'GET', 'POST', 'PUT', 'DELETE']) def list(crud): #Menentukan tipe konten untuk response response.content_type = 'application/json' #Mengambil data dari request body params = request.json #Keluaran bawaan keluaran = { "status": "berhasil", "message": "Anda Tidak dapat mengakses endpoint ini.", "endpoint": f"/api/{crud}", } if crud == "create": keluaran["status"] = "berhasil" keluaran["message"] = "Dummy: selamat data anda telah berhasil disimpan." keluaran["data"] = { "food":params["food"] } elif crud == "read": keluaran["status"] = "berhasil" keluaran["message"] = "Dummy: data berhasil diambil." keluaran["data"] = [ "banana", "apple", "marshmallow" ] elif crud == "update": keluaran["status"] = "berhasil" keluaran["message"] = "Dummy: belum disediakan, silakan hubungi developer untuk menambahkan fitur ini." elif crud == "delete": keluaran["status"] = "berhasil" keluaran["message"] = "Dummy: belum disediakan, silakan hubungi developer untuk menambahkan fitur ini." else: pass return json.dumps(keluaran, indent=2).encode()