Files
inventory-plus-plus/internal/site/accounts.go
T
2025-12-30 14:42:04 -07:00

27 lines
579 B
Go

package site
import (
"fmt"
"net/http"
"ruben/inventory2/internal/site/response"
)
// POST /accounts
func (s *Server) createAccount(r *http.Request) (response.Response, error) {
ctx := r.Context()
email := r.FormValue("email")
if email == "" {
return nil, response.BadRequest().Msg("no email provided")
}
userID := getAccessTokenClaims(ctx).Subject
acct, err := s.accts.CreateAccount(ctx, userID, email)
if err != nil {
return nil, response.Errorf("failed to create account: %w", err)
}
return response.SeeOther(fmt.Sprintf("/accounts/%d", acct.ID)), nil
}