package dto

// UserDTO represents the data structure for transferring user data.
type UserDTO struct {
	ID        string  `json:"id"`
	Name      string  `json:"name"`
	Email     string  `json:"email"`
	Password  *string `json:"password,omitempty"` // Optional for cases where password shouldn't be exposed
	CreatedAt string  `json:"createdAt"`          // Use ISO8601 format
	UpdatedAt string  `json:"updatedAt"`          // Use ISO8601 format
}

// UserCreateDTO is used for creating a new user.
type UserCreateDTO struct {
	Name     string `json:"name"`
	Email    string `json:"email"`
	Password string `json:"password"`
}

// UserUpdateDTO is used for updating an existing user.
type UserUpdateDTO struct {
	Name     *string `json:"name"`
	Email    *string `json:"email"`
	Password *string `json:"password"`
}
