from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
from warpapi.models import Information

# Beispieldaten aus Konfigurationstabelle 
# INSERT INTO "warpapi_information" VALUES(1,'api','','0.13');
# INSERT INTO "warpapi_information" VALUES(2,'space','','warpzone');
# INSERT INTO "warpapi_information" VALUES(3,'logo','','https://www.warpzone.ms/api/warpzone_logo.png');
# INSERT INTO "warpapi_information" VALUES(4,'url','','https://www.warpzone.ms');
# INSERT INTO "warpapi_information" VALUES(5,'address','location','warpzone e.V., Am Hawerkamp 31, 48155 Muenster, Germany');
# INSERT INTO "warpapi_information" VALUES(6,'lon','location','7.638216');
# INSERT INTO "warpapi_information" VALUES(7,'lat','location','51.943376');
# INSERT INTO "warpapi_information" VALUES(8,'phone','contact','+49 251 39500271');
# INSERT INTO "warpapi_information" VALUES(9,'twitter','contact','@warpzone_ms');
# INSERT INTO "warpapi_information" VALUES(10,'email','contact','office@warpzone.ms');
# INSERT INTO "warpapi_information" VALUES(11,'irc','contact','irc://irc.freenode.net/#warpzone');
# INSERT INTO "warpapi_information" VALUES(12,'ml','contact','warpzone@warpzone.ms');
# INSERT INTO "warpapi_information" VALUES(13,'issue_mail','contact','c3BhY2VhcGlAd2FycHpvbmUubXM=');
# INSERT INTO "warpapi_information" VALUES(14,'open','icon','https://www.warpzone.ms/api/warpzone_open.png');
# INSERT INTO "warpapi_information" VALUES(15,'closed','icon','https://www.warpzone.ms/api/warpzone_closed.png');
# INSERT INTO "warpapi_information" VALUES(16,'issue_mail','issue_report_channels','');

@api_view(['GET'])
def main(request):
    ret= {}
    information = Information.objects.all()
    for info in information:
        if info.category:
            if info.category not in ret:
                ret[info.category]={}
            if info.value:
                try:
                    ret[info.category][info.key] = float(info.value)
                except:
                    ret[info.category][info.key] = info.value
            else:
                ret[info.category] = {info.key}
        else:
            ret[info.key] = info.value
    
    ret["open"] = False
    
    ret["state"] = {"open": False, "icon": { "open": str(ret["icon"]["open"]), "closed": str(ret["icon"]["closed"])}}
   
    return Response(ret)