import json
from http.server import BaseHTTPRequestHandler, HTTPServer
import urllib.parse

BORDERS_FILE = '/app/web/borders.json'

class RequestHandler(BaseHTTPRequestHandler):
    def do_OPTIONS(self):
        self.send_response(200)
        self.send_header('Access-Control-Allow-Origin', '*')
        self.send_header('Access-Control-Allow-Methods', 'POST, OPTIONS')
        self.send_header('Access-Control-Allow-Headers', 'Content-Type')
        self.end_headers()

    def do_POST(self):
        parsed_path = urllib.parse.urlparse(self.path)
        query = urllib.parse.parse_qs(parsed_path.query)
        
        self.send_response(200)
        self.send_header('Access-Control-Allow-Origin', '*')
        self.send_header('Content-type', 'application/json')
        self.end_headers()
        
        if query.get('pass', [''])[0] != 'szablix123':
            self.wfile.write(b'{"error": "Brak autoryzacji"}')
            return
            
        content_length = int(self.headers['Content-Length'])
        post_data = self.rfile.read(content_length)
        
        try:
            data = json.loads(post_data)
            with open(BORDERS_FILE, 'w', encoding='utf-8') as f:
                json.dump(data, f, ensure_ascii=False, indent=2)
            self.wfile.write(b'{"status": "ok"}')
        except Exception as e:
            self.wfile.write(json.dumps({"error": str(e)}).encode())

if __name__ == '__main__':
    server = HTTPServer(('127.0.0.1', 8081), RequestHandler)
    print("Serwer Borders API wystartował na porcie 8081...")
    server.serve_forever()
