package domain

import (
	"time"
)

type GoogleUser struct {
	ID            string
	Email         string
	VerifiedEmail bool
	GivenName     string
	FamilyName    string
	Picture       string
}

type LoginSuccess struct {
	UserId  int64
	Role    Role
	RfToken string
}

type LoginRequest struct {
	Email       string `json:"email"`
	PhoneNumber string `json:"phone_number"`
	Password    string `json:"password"`
	OTPCode     string `json:"otp_code"`
}

type RefreshToken struct {
	ID        int64
	UserID    int64
	Token     string
	ExpiresAt time.Time
	CreatedAt time.Time
	Revoked   bool
}

// I used this because i was getting an error with the ValidInt64
// when it was being unmarshaled by the jwt
type NullJwtInt64 struct {
	Value int64
	Valid bool
}
