package main

// izinKaldirHandler: eslesmis bir sitenin ilgili yetkisini KAPATIR (POST /izin-kaldir, token gerekli).
// Yalnizca o sitenin yetkisi silinir; ana anahtar etkilenmez. Kapatmak onay istemez.

import (
	"encoding/json"
	"net/http"
)

func izinKaldirHandler(w http.ResponseWriter, r *http.Request) {
	if r.Method != http.MethodPost {
		http.Error(w, "yalnizca POST", http.StatusMethodNotAllowed)
		return
	}
	var istek izinIsteIstegi
	if err := json.NewDecoder(http.MaxBytesReader(w, r.Body, 1024)).Decode(&istek); err != nil {
		http.Error(w, "gecersiz istek", http.StatusBadRequest)
		return
	}
	if _, ok := izinEtiketleri[istek.Anahtar]; !ok {
		http.Error(w, "bilinmeyen izin", http.StatusBadRequest)
		return
	}
	if err := yetkiGeriAl(istek.Anahtar, tokenOzeti(r.Header.Get("X-Bridge-Token"))); err != nil {
		http.Error(w, "kaydedilemedi", http.StatusInternalServerError)
		return
	}
	olayLog("site izni kapatildi: %s", istek.Anahtar)
	yazJSON(w, http.StatusOK, izinOku())
}
