# 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/<crud>', methods=['OPTIONS', 'GET', 'POST', 'PUT', 'DELETE'])
def list(crud):
    response.content_type = 'application/json'

    params = request.json

    keluaran = {
        "status": "Gagal",
        "message": "Anda tidak dapat  menggunakan akses ini",
        "endpoint": f"/api/{crud}",
    }
    if crud == "create":
        keluaran["status"] = "Berhasil"
        keluaran["message"] = "Dummy: Selamat data anda berhasil ditammbahkan"
        keluaran["data"] = {
            "food":params["food"]
    }
    elif crud == "read":
        keluaran["status"] = "Berhasil"
        keluaran["message"] = "Dummy: Selamat data anda berhasil dibaca"
        keluaran["data"] = [
            "ayam penyet"
            "katsu"
            "sosis"
        ]
    
    elif crud == "update":
        keluaran["status"] = "Berhasil"
        keluaran["message"] = "Dummy: Data anda belum disediakan"
        
    elif crud == "delete":
        keluaran["status"] = "Berhasil"
        keluaran["message"] = "Dummy: Data anda belum disediakan"

    else:
        pass

    return json.dumps(keluaran, indent=2).encode()