package models

import ()

type Account struct {
	/*ID, CreatedAt, UpdatedAt, DeletedAt (Update's history)*/
	Base `gorm:"embedded"`

	// Основная информация
	Email        string `gorm:"uniqueIndex;not null" json:"email"`
	PasswordHash string `gorm:"not null" json:"-"`
	FullName     string `gorm:"not null;default:'Unknown'" json:"full_name"`
	FirstName    string `gorm:"not null;default:'FirstName'" json:"first_name"`
	LastName     string `gorm:"not null;default:'LastName'" json:"last_name"`
	Phone        string `json:"phone"`
	City         string `json:"city"`

	// Бизнес информация (для владельцев объектов)
	OrganizationForm  string `json:"organization_form"` // ИП, ООО и т.д.
	OrganizationName  string `json:"organization_name"`
	OrganizationShort string `json:"organization_short"`
	INN               string `json:"inn"`          // ИНН организации
	PersonalINN       string `json:"personal_inn"` // Личный ИНН

	// Статус
	IsActive   bool   `gorm:"default:true" json:"is_active"`
	IsVerified bool   `gorm:"default:false" json:"is_verified"`
	Role       string `gorm:"default:user" json:"role"` // user, admin, moderator

	// Связь: один Account имеет много Objects
	Objects []Object `gorm:"foreignKey:OwnerID" json:"objects"`
}
