mirror of
https://gitlab.com/foxixus/neomovies-api.git
synced 2025-10-28 01:48:51 +05:00
48 lines
1.8 KiB
Go
48 lines
1.8 KiB
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
)
|
|
|
|
type User struct {
|
|
ID primitive.ObjectID `json:"id" bson:"_id,omitempty"`
|
|
Email string `json:"email" bson:"email" validate:"required,email"`
|
|
Password string `json:"-" bson:"password" validate:"required,min=6"`
|
|
Name string `json:"name" bson:"name" validate:"required"`
|
|
Avatar string `json:"avatar" bson:"avatar"`
|
|
Favorites []string `json:"favorites" bson:"favorites"`
|
|
Verified bool `json:"verified" bson:"verified"`
|
|
VerificationCode string `json:"-" bson:"verificationCode,omitempty"`
|
|
VerificationExpires time.Time `json:"-" bson:"verificationExpires,omitempty"`
|
|
IsAdmin bool `json:"isAdmin" bson:"isAdmin"`
|
|
AdminVerified bool `json:"adminVerified" bson:"adminVerified"`
|
|
CreatedAt time.Time `json:"created_at" bson:"createdAt"`
|
|
UpdatedAt time.Time `json:"updated_at" bson:"updatedAt"`
|
|
}
|
|
|
|
type LoginRequest struct {
|
|
Email string `json:"email" validate:"required,email"`
|
|
Password string `json:"password" validate:"required"`
|
|
}
|
|
|
|
type RegisterRequest struct {
|
|
Email string `json:"email" validate:"required,email"`
|
|
Password string `json:"password" validate:"required,min=6"`
|
|
Name string `json:"name" validate:"required"`
|
|
}
|
|
|
|
type AuthResponse struct {
|
|
Token string `json:"token"`
|
|
User User `json:"user"`
|
|
}
|
|
|
|
type VerifyEmailRequest struct {
|
|
Email string `json:"email" validate:"required,email"`
|
|
Code string `json:"code" validate:"required"`
|
|
}
|
|
|
|
type ResendCodeRequest struct {
|
|
Email string `json:"email" validate:"required,email"`
|
|
} |