docstore/pkg/server/routes.go
2021-02-18 22:52:36 +01:00

164 lines
2.3 KiB
Go

// Copyright (C) 2021 Marius Schellenberger
package server
import "git.giftfish.de/ston1th/docstore/pkg/core"
type route struct {
Path string
Handler ctxHandler
Methods []string
}
var registerRoutes = []route{
{
core.IndexURI,
jwtRegisterHandler(
registerHandler),
[]string{"GET", "POST"},
},
}
var prefixRoutes = []route{
{
core.RawPrefix,
jwtHandler(
authHandler(
rawHandler)),
[]string{"GET"},
},
{
core.IndexPrefix,
jwtHandler(
authHandler(
indexHandler)),
[]string{"GET", "POST"},
},
{
core.RetagPrefix,
jwtHandler(
authHandler(
indexHandler)),
[]string{"GET"},
},
{
core.UploadPrefix,
jwtHandler(
authHandler(
uploadHandler)),
[]string{"GET", "POST"},
},
{
core.NewPrefix,
jwtHandler(
authHandler(
newDirHandler)),
[]string{"GET", "POST"},
},
{
core.MovePrefix,
jwtHandler(
authHandler(
moveHandler)),
[]string{"GET", "POST"},
},
{
core.DeletePrefix,
jwtHandler(
authHandler(
deleteHandler)),
[]string{"GET", "POST"},
},
{
core.IndexURI,
jwtHandler(
authHandler(
dirHandler)),
[]string{"GET"},
},
}
var routes = []route{
{
core.SearchURI,
jwtHandler(
authHandler(
searchHandler)),
[]string{"GET", "POST"},
},
{
core.LoginURI,
jwtHandler(
loginHandler),
[]string{"GET", "POST"},
},
{
core.TotpURI,
jwtHandler(
totpAuthHandler(
loginTotpHandler)),
[]string{"GET", "POST"},
},
{
"/user/edit",
jwtHandler(
authHandler(
userEditHandler)),
[]string{"GET", "POST"},
},
{
"/user/totp",
jwtHandler(
authHandler(
userTotpHandler)),
[]string{"GET", "POST"},
},
{
core.LogsURI,
jwtHandler(
authHandler(
logsHandler)),
[]string{"GET"},
},
{
core.TagsURI,
jwtHandler(
authHandler(
tagsHandler)),
[]string{"GET"},
},
{
core.StatsURI,
jwtHandler(
authHandler(
statsHandler)),
[]string{"GET"},
},
{
"/tags/new",
jwtHandler(
authHandler(
tagsNewHandler)),
[]string{"GET", "POST"},
},
{
"/tags/edit/{tag:[a-zA-Z0-9]+}",
jwtHandler(
authHandler(
tagsEditHandler)),
[]string{"GET", "POST"},
},
{
"/tags/del/{tag:[a-zA-Z0-9]+}",
jwtHandler(
authHandler(
tagsDelHandler)),
[]string{"GET", "POST"},
},
{
core.LogoutURI,
jwtHandler(
logoutHandler),
[]string{"GET", "POST"},
},
}