// Copyright (C) 2021 Marius Schellenberger package server import "git.giftfish.de/ston1th/gowiki/pkg/core" type route struct { Path string Handler ctxHandler Methods []string } var routes = []route{ { core.RootURI, jwtHandler( indexHandler), []string{"GET"}, }, { core.SectionsURI, jwtHandler( sectionsHandler), []string{"GET"}, }, { core.SectionURI + "/new", jwtHandler( adminAuthHandler( sectionNewHandler)), []string{"GET", "POST"}, }, { core.SectionURI + "/edit/{section:[a-zA-Z0-9]+$}", jwtHandler( adminAuthHandler( sectionEditHandler)), []string{"GET", "POST"}, }, { core.SectionURI + "/del/{section:[a-zA-Z0-9]+$}", jwtHandler( adminAuthHandler( sectionDelHandler)), []string{"GET", "POST"}, }, { core.SearchURI, jwtHandler( searchHandler), []string{"GET", "POST"}, }, { core.NewURI, jwtHandler( authHandler( pageNewHandler)), []string{"GET", "POST"}, }, { core.LoginURI, jwtHandler( loginHandler), []string{"GET", "POST"}, }, { core.TotpURI, jwtHandler( totpAuthHandler( loginTotpHandler)), []string{"GET", "POST"}, }, { core.BlacklistURI, jwtHandler( authHandler( pageBlacklistHandler)), []string{"GET", "POST"}, }, { core.UsersURI, jwtHandler( adminAuthHandler( usersHandler)), []string{"GET"}, }, { core.UserURI + "/new", jwtHandler( adminAuthHandler( userNewHandler)), []string{"GET", "POST"}, }, { core.UserURI + "/edit/{user:[a-zA-Z0-9]+$}", jwtHandler( userAuthHandler( userEditHandler)), []string{"GET", "POST"}, }, { core.UserURI + "/del/{user:[a-zA-Z0-9]+$}", jwtHandler( userAuthHandler( userDelHandler)), []string{"GET", "POST"}, }, { core.UserURI + "/totp/{user:[a-zA-Z0-9]+$}", jwtHandler( userAuthHandler( userTotpHandler)), []string{"GET", "POST"}, }, { core.UserURI + "/unlock/{user:[a-zA-Z0-9]+$}", jwtHandler( adminAuthHandler( userUnlockHandler)), []string{"POST"}, }, { core.StatsURI, jwtHandler( adminAuthHandler( statsHandler)), []string{"GET"}, }, { core.LogoutURI, jwtHandler( logoutHandler), []string{"GET", "POST"}, }, { core.ViewURI + "/{key}", jwtHandler( pageHandler), []string{"GET"}, }, { core.ViewURI + "/{key}/md", jwtHandler( pageMDHandler( pageHandler)), []string{"GET"}, }, { "/{section:[a-zA-Z0-9]+}", jwtHandler( sectionHandler), []string{"GET"}, }, { "/{section:[a-zA-Z0-9]+}/{title:[a-zA-Z0-9+-]+}", jwtHandler( pageHandler), []string{"GET"}, }, { "/{section:[a-zA-Z0-9]+}/{title:[a-zA-Z0-9+-]+}/md", jwtHandler( pageMDHandler( pageHandler)), []string{"GET"}, }, { "/{section:[a-zA-Z0-9]+}/{title:[a-zA-Z0-9+-]+}/share", jwtHandler( pageShareHandler), []string{"GET", "POST"}, }, { "/{section:[a-zA-Z0-9]+}/{title:[a-zA-Z0-9+-]+}/edit", jwtHandler( authHandler( pageEditHandler)), []string{"GET", "POST"}, }, { "/{section:[a-zA-Z0-9]+}/{title:[a-zA-Z0-9+-]+}/del", jwtHandler( authHandler( pageDelHandler)), []string{"GET", "POST"}, }, }