go-ssb-room/web/router/complete.go

60 lines
1.9 KiB
Go

// SPDX-FileCopyrightText: 2021 The NGI Pointer Secure-Scuttlebutt Team of 2020/2021
//
// SPDX-License-Identifier: MIT
package router
import (
"github.com/gorilla/mux"
)
// constant names for the named routes
const (
CompleteIndex = "complete:index"
CompleteNoticeShow = "complete:notice:show"
CompleteNoticeList = "complete:notice:list"
CompleteSetLanguage = "complete:set-language"
CompleteAliasResolve = "complete:alias:resolve"
CompleteInviteFacade = "complete:invite:accept"
CompleteInviteFacadeFallback = "complete:invite:accept:fallback"
CompleteInviteInsertID = "complete:invite:insert-id"
CompleteInviteConsume = "complete:invite:consume"
MembersChangePasswordForm = "members:change-password:form"
MembersChangePassword = "members:change-password"
OpenModeCreateInvite = "open:invites:create"
)
// CompleteApp constructs a mux.Router containing the routes for batch Complete html frontend
func CompleteApp() *mux.Router {
m := mux.NewRouter()
Auth(m)
Admin(m.PathPrefix("/admin").Subrouter())
m.Path("/").Methods("GET").Name(CompleteIndex)
m.Path("/alias/{alias}").Methods("GET").Name(CompleteAliasResolve)
m.Path("/members/change-password").Methods("GET").Name(MembersChangePasswordForm)
m.Path("/members/change-password").Methods("POST").Name(MembersChangePassword)
m.Path("/create-invite").Methods("GET", "POST").Name(OpenModeCreateInvite)
m.Path("/join").Methods("GET").Name(CompleteInviteFacade)
m.Path("/join-fallback").Methods("GET").Name(CompleteInviteFacadeFallback)
m.Path("/join-manually").Methods("GET").Name(CompleteInviteInsertID)
m.Path("/invite/consume").Methods("POST").Name(CompleteInviteConsume)
m.Path("/notice/show").Methods("GET").Name(CompleteNoticeShow)
m.Path("/notice/list").Methods("GET").Name(CompleteNoticeList)
m.Path("/set-language").Methods("POST").Name(CompleteSetLanguage)
return m
}