fix commit

This commit is contained in:
2024-10-31 16:01:16 +01:00
parent f82f771bfa
commit 0f5da4b5d9
16 changed files with 981 additions and 28 deletions

49
models/accounts.go Normal file
View File

@@ -0,0 +1,49 @@
package models
import (
"github.com/golang-jwt/jwt/v4"
"time"
)
type Account struct {
ID string `json:"id"`
Email string `json:"email"`
FirstName string `json:"firstName,omitempty"`
LastName string `json:"lastName,omitempty"`
VerifiedIdentity *bool `json:"verifiedIdentity,omitempty"`
BirthDate string `json:"birthdate,omitempty"`
Type string `json:"type,omitempty"`
LocalCredentials
}
type User struct {
ID string `json:"user_id"`
Status string `json:"status"`
BookingID string `json:"booking_id"`
}
type LocalCredentials struct {
Email string
EmailVerified bool
EmailValidationCode string
PhoneNumber string
PhoneNumberVerified bool
PhoneNumberValidationCode string
}
type UserClaims struct {
jwt.RegisteredClaims
}
func (account Account) CreateToken(ttl time.Duration, key string) (token string, err error) {
expires_at := jwt.NewNumericDate(time.Now().Add(ttl))
claims := UserClaims{
RegisteredClaims: jwt.RegisteredClaims{
Subject: account.ID,
ExpiresAt: expires_at,
},
}
t := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
return t.SignedString([]byte(key))
}