basic account creation flow created
This commit is contained in:
@@ -93,10 +93,19 @@ func Routes(
|
||||
etsy: etsy,
|
||||
}
|
||||
|
||||
r.GET("", response.Handler(s.serveTemplate))
|
||||
r.GET("", response.Handler(s.redirectToAccountsIfLoggedInWithAnAccount), response.Handler(s.serveTemplate))
|
||||
r.GET("/*rest", authenticate, response.Handler(s.serveTemplate))
|
||||
}
|
||||
|
||||
func (s *webpageRouter) redirectToAccountsIfLoggedInWithAnAccount(c *gin.Context) (response.Response, error) {
|
||||
id := auth.GetIdentity(c)
|
||||
if id.Account == nil || id.Account.AccountID == 0 {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
return response.TemporaryRedirect(fmt.Sprintf("%s/accounts/%d", s.uiPath, id.Account.AccountID)), nil
|
||||
}
|
||||
|
||||
// GET /
|
||||
// compiles the page template or component template matching the url
|
||||
func (s *webpageRouter) serveTemplate(c *gin.Context) (response.Response, error) {
|
||||
@@ -221,7 +230,33 @@ func authorizeByMatchingAccountID(r *http.Request, acctIDPathPosition int) error
|
||||
id := auth.GetIdentity(r.Context())
|
||||
if id.Account == nil || id.Account.AccountID != acctID {
|
||||
return response.Unauthorized().
|
||||
Msgf("user does not have access to account %d", acctID)
|
||||
HTML([]byte(fmt.Sprintf(`
|
||||
<section class="text-center">
|
||||
<header class="m-[1em]">
|
||||
<h2>
|
||||
Access Not Granted
|
||||
</h2>
|
||||
|
||||
<a href="/ui%s" class="block m-[1em]">
|
||||
<code>
|
||||
/ui%s
|
||||
</code>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<div class="m-[2em]">
|
||||
<p class="italic font-bold">
|
||||
Sorry, you don't have access to the given page.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="text-center">
|
||||
<a href="/">
|
||||
Return to app
|
||||
</a>
|
||||
</section>
|
||||
`, r.URL, r.URL)))
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user