| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- package router
- import (
- "github.com/go-chi/chi"
- "github.com/porter-dev/porter/api/server/handlers/user"
- "github.com/porter-dev/porter/api/server/shared"
- "github.com/porter-dev/porter/api/types"
- )
- func NewBaseRegisterer(children ...*Registerer) *Registerer {
- return &Registerer{
- GetRoutes: GetBaseRoutes,
- Children: children,
- }
- }
- func GetBaseRoutes(
- r chi.Router,
- config *shared.Config,
- basePath *types.Path,
- factory shared.APIEndpointFactory,
- children ...*Registerer,
- ) []*Route {
- routes := make([]*Route, 0)
- // POST /api/users -> user.NewUserCreateHandler
- createUserEndpoint := factory.NewAPIEndpoint(
- &types.APIRequestMetadata{
- Verb: types.APIVerbCreate,
- Method: types.HTTPVerbPost,
- Path: &types.Path{
- Parent: basePath,
- RelativePath: "/users",
- },
- },
- )
- createUserHandler := user.NewUserCreateHandler(
- config,
- factory.GetDecoderValidator(),
- factory.GetResultWriter(),
- )
- routes = append(routes, &Route{
- Endpoint: createUserEndpoint,
- Handler: createUserHandler,
- Router: r,
- })
- // POST /api/login -> user.NewUserLoginHandler
- loginUserEndpoint := factory.NewAPIEndpoint(
- &types.APIRequestMetadata{
- Verb: types.APIVerbUpdate,
- Method: types.HTTPVerbPost,
- Path: &types.Path{
- Parent: basePath,
- RelativePath: "/login",
- },
- },
- )
- loginUserHandler := user.NewUserLoginHandler(
- config,
- factory.GetDecoderValidator(),
- factory.GetResultWriter(),
- )
- routes = append(routes, &Route{
- Endpoint: loginUserEndpoint,
- Handler: loginUserHandler,
- Router: r,
- })
- // POST /api/cli/login/exchange -> user.NewCLILoginExchangeHandler
- cliLoginExchangeEndpoint := factory.NewAPIEndpoint(
- &types.APIRequestMetadata{
- Verb: types.APIVerbCreate,
- Method: types.HTTPVerbPost,
- Path: &types.Path{
- Parent: basePath,
- RelativePath: "/cli/login/exchange",
- },
- },
- )
- cliLoginExchangeHandler := user.NewCLILoginExchangeHandler(
- config,
- factory.GetDecoderValidator(),
- factory.GetResultWriter(),
- )
- routes = append(routes, &Route{
- Endpoint: cliLoginExchangeEndpoint,
- Handler: cliLoginExchangeHandler,
- Router: r,
- })
- // POST /api/password/reset/initiate -> user.NewUserPasswordInitiateResetHandler
- passwordInitiateResetEndpoint := factory.NewAPIEndpoint(
- &types.APIRequestMetadata{
- Verb: types.APIVerbCreate,
- Method: types.HTTPVerbPost,
- Path: &types.Path{
- Parent: basePath,
- RelativePath: "/password/reset/initiate",
- },
- },
- )
- passwordInitiateResetHandler := user.NewUserPasswordInitiateResetHandler(
- config,
- factory.GetDecoderValidator(),
- factory.GetResultWriter(),
- )
- routes = append(routes, &Route{
- Endpoint: passwordInitiateResetEndpoint,
- Handler: passwordInitiateResetHandler,
- Router: r,
- })
- // POST /api/password/reset/verify -> user.NewUserPasswordVerifyResetHandler
- passwordVerifyResetEndpoint := factory.NewAPIEndpoint(
- &types.APIRequestMetadata{
- Verb: types.APIVerbCreate,
- Method: types.HTTPVerbPost,
- Path: &types.Path{
- Parent: basePath,
- RelativePath: "/password/reset/verify",
- },
- },
- )
- passwordVerifyResetHandler := user.NewUserPasswordVerifyResetHandler(
- config,
- factory.GetDecoderValidator(),
- factory.GetResultWriter(),
- )
- routes = append(routes, &Route{
- Endpoint: passwordVerifyResetEndpoint,
- Handler: passwordVerifyResetHandler,
- Router: r,
- })
- // POST /api/password/reset/finalize -> user.NewUserPasswordFinalizeResetHandler
- passwordFinalizeResetEndpoint := factory.NewAPIEndpoint(
- &types.APIRequestMetadata{
- Verb: types.APIVerbCreate,
- Method: types.HTTPVerbPost,
- Path: &types.Path{
- Parent: basePath,
- RelativePath: "/password/reset/finalize",
- },
- },
- )
- passwordFinalizeResetHandler := user.NewUserPasswordFinalizeResetHandler(
- config,
- factory.GetDecoderValidator(),
- factory.GetResultWriter(),
- )
- routes = append(routes, &Route{
- Endpoint: passwordFinalizeResetEndpoint,
- Handler: passwordFinalizeResetHandler,
- Router: r,
- })
- return routes
- }
|