1// SPDX-FileCopyrightText: 2022 Amolith <amolith@secluded.site>
 2//
 3// SPDX-License-Identifier: BSD-2-Clause
 4
 5package main
 6
 7import (
 8	"log"
 9	"net/http"
10	"strings"
11)
12
13func (m *model) deleteHandler(writer http.ResponseWriter, request *http.Request) {
14	query := request.URL.Query()
15
16	token := request.Header.Get("Authorization")
17	token = strings.TrimPrefix(token, "Bearer ")
18
19	if token != m.AccessToken {
20		http.Error(writer, "401 Unauthorized: You do not have permission to delete shortlinks", 403)
21		return
22	}
23
24	name := query.Get("name")
25	if len(name) == 0 {
26		http.Error(writer, "400 Bad Request: name parameter is required", 400)
27	}
28
29	response := m.delete(name)
30
31	_, err := writer.Write([]byte(response))
32	if err != nil {
33		log.Println(err)
34	}
35}