From 355691d37cfda21687d7b9b2cf168b46480424bf Mon Sep 17 00:00:00 2001 From: Dita Aji Pratama Date: Tue, 27 May 2025 11:15:23 +0700 Subject: [PATCH] Pertemuan ke-9: Input dan Output Dummy --- handler.py | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/handler.py b/handler.py index 64ae435..7ed417b 100644 --- a/handler.py +++ b/handler.py @@ -5,9 +5,11 @@ # 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 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 @@ -21,3 +23,51 @@ def index(): } } return public_home.main().html(params) + +@app.route('/api/', method=['OPTIONS', 'GET', 'POST', 'PUT', 'DELETE']) +def list(crud): + # Untuk menentukan tipe konten pada respon, yaitu: JSON + response.content_type = 'application/json' + # Mengambil request pada body, yaitu berformat JSON + params = request.json + # Keluaran default + keluaran = { + "status":"Gagal", + "message":"Anda tidak ada otoritas untuk menggunakan endpoint ini", + "endpoint":f"/api/{crud}", + "data":[] + } + + if crud == "create": + keluaran["status"] = "Berhasil" + keluaran["message"] = "Dummy: Selamat data anda telah ditambah" + keluaran["data"] = { + "food":params["food"] + } + + elif crud == "read": + keluaran["status"] = "Berhasil" + keluaran["message"] = "Dummy: Data collected" + keluaran["data"] = [ + "Banana", + "Apple", + "Marshmallow" + ] + + elif crud == "update": + keluaran["status"] = "Berhasil" + keluaran["message"] = "Dummy: Belum dibikin" + keluaran["data"] = { + "old":params["key"], + "new":params["change"] + } + + elif crud == "delete": + keluaran["status"] = "Berhasil" + keluaran["message"] = "Dummy: Belum dibikin" + + else: + pass + + return json.dumps(keluaran, indent = 2).encode() +