Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/router/torrentReportHandler.go
2017-05-10 08:42:25 +00:00

78 lignes
2,1 Kio
Go

package router
import (
"net/http"
"github.com/ewhal/nyaa/model"
"github.com/ewhal/nyaa/service/moderation"
"github.com/ewhal/nyaa/service/user/permission"
)
/*
func SanitizeTorrentReport(torrentReport *model.TorrentReport) {
// TODO unescape html ?
return
}
func IsValidTorrentReport() bool {
// TODO Validate, see if user_id already reported, see if torrent exists
return true
}
// TODO Only allow moderators for each action in this file
func CreateTorrentReportHandler(w http.ResponseWriter, r *http.Request) {
var torrentReport model.TorrentReport
var err error
modelHelper.BindValueForm(&torrentReport, r)
if IsValidTorrentReport() {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
SanitizeTorrentReport(&torrentReport)
_, err = moderationService.CreateTorrentReport(torrentReport)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
func DeleteTorrentReportHandler(w http.ResponseWriter, r *http.Request) {
// TODO Figure out how to get torrent report id from form
var id int
var err error
_, err = moderationService.DeleteTorrentReport(id)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
*/
func GetTorrentReportHandler(w http.ResponseWriter, r *http.Request) {
currentUser := GetUser(r)
if userPermission.HasAdmin(currentUser) {
torrentReports, err := moderationService.GetTorrentReports()
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
err = torrentReportTemplate.ExecuteTemplate(w, "torrent_report.html", ViewTorrentReportsVariables{model.TorrentReportsToJSON(torrentReports)})
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
} else {
http.Error(w, "admins only", http.StatusForbidden)
}
}
/*
func DeleteTorrentHandler(w http.ResponseWriter, r *http.Request) {
// TODO Figure out how to get torrent report id from form
var err error
var id string
_, err = torrentService.DeleteTorrent(id)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}*/