2021-10-08 12:39:31 +00:00
|
|
|
// SPDX-FileCopyrightText: 2021 The NGI Pointer Secure-Scuttlebutt Team of 2020/2021
|
|
|
|
//
|
2021-02-09 11:53:33 +00:00
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
2021-02-04 10:36:02 +00:00
|
|
|
package router
|
|
|
|
|
2021-02-08 11:57:14 +00:00
|
|
|
import (
|
|
|
|
"github.com/gorilla/mux"
|
|
|
|
)
|
2021-02-04 10:36:02 +00:00
|
|
|
|
|
|
|
// constant names for the named routes
|
|
|
|
const (
|
2021-02-23 19:23:50 +00:00
|
|
|
CompleteIndex = "complete:index"
|
|
|
|
|
|
|
|
CompleteNoticeShow = "complete:notice:show"
|
|
|
|
CompleteNoticeList = "complete:notice:list"
|
2021-03-04 14:09:14 +00:00
|
|
|
|
2021-04-15 08:23:04 +00:00
|
|
|
CompleteSetLanguage = "complete:set-language"
|
2021-04-14 14:46:43 +00:00
|
|
|
|
2021-03-15 11:25:07 +00:00
|
|
|
CompleteAliasResolve = "complete:alias:resolve"
|
|
|
|
|
2021-03-30 15:04:07 +00:00
|
|
|
CompleteInviteFacade = "complete:invite:accept"
|
|
|
|
CompleteInviteFacadeFallback = "complete:invite:accept:fallback"
|
|
|
|
CompleteInviteInsertID = "complete:invite:insert-id"
|
|
|
|
CompleteInviteConsume = "complete:invite:consume"
|
2021-05-11 08:16:35 +00:00
|
|
|
|
|
|
|
MembersChangePasswordForm = "members:change-password:form"
|
|
|
|
MembersChangePassword = "members:change-password"
|
2021-05-14 13:11:29 +00:00
|
|
|
|
|
|
|
OpenModeCreateInvite = "open:invites:create"
|
2021-02-04 10:36:02 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
// CompleteApp constructs a mux.Router containing the routes for batch Complete html frontend
|
|
|
|
func CompleteApp() *mux.Router {
|
|
|
|
m := mux.NewRouter()
|
|
|
|
|
2021-03-24 17:31:37 +00:00
|
|
|
Auth(m)
|
2021-02-08 11:57:14 +00:00
|
|
|
Admin(m.PathPrefix("/admin").Subrouter())
|
2021-02-04 10:36:02 +00:00
|
|
|
|
|
|
|
m.Path("/").Methods("GET").Name(CompleteIndex)
|
2021-02-25 10:13:48 +00:00
|
|
|
|
2021-03-24 17:31:37 +00:00
|
|
|
m.Path("/alias/{alias}").Methods("GET").Name(CompleteAliasResolve)
|
2021-03-15 11:25:07 +00:00
|
|
|
|
2021-05-11 08:16:35 +00:00
|
|
|
m.Path("/members/change-password").Methods("GET").Name(MembersChangePasswordForm)
|
|
|
|
m.Path("/members/change-password").Methods("POST").Name(MembersChangePassword)
|
|
|
|
|
2022-12-13 18:05:45 +00:00
|
|
|
m.Path("/create-invite").Methods("GET", "POST").Name(OpenModeCreateInvite)
|
2021-03-26 19:08:13 +00:00
|
|
|
m.Path("/join").Methods("GET").Name(CompleteInviteFacade)
|
2021-03-30 15:04:07 +00:00
|
|
|
m.Path("/join-fallback").Methods("GET").Name(CompleteInviteFacadeFallback)
|
|
|
|
m.Path("/join-manually").Methods("GET").Name(CompleteInviteInsertID)
|
2021-03-04 14:09:14 +00:00
|
|
|
m.Path("/invite/consume").Methods("POST").Name(CompleteInviteConsume)
|
|
|
|
|
2021-02-23 19:23:50 +00:00
|
|
|
m.Path("/notice/show").Methods("GET").Name(CompleteNoticeShow)
|
|
|
|
m.Path("/notice/list").Methods("GET").Name(CompleteNoticeList)
|
2021-02-04 10:36:02 +00:00
|
|
|
|
2021-04-14 14:46:43 +00:00
|
|
|
m.Path("/set-language").Methods("POST").Name(CompleteSetLanguage)
|
|
|
|
|
2021-02-04 10:36:02 +00:00
|
|
|
return m
|
|
|
|
}
|