Files
tp/main_dc/yalarba/api_yal/internal/models/account.go
T
valitovgaziz f304f982c0 On branch main
modified:   main_dc/yalarba/api_yal/go.sum
	modified:   main_dc/yalarba/api_yal/internal/domain/account/dto.go
	modified:   main_dc/yalarba/api_yal/internal/models/account.go
	modified:   main_dc/yalarba/api_yal/internal/models/appeal.go
	modified:   main_dc/yalarba/api_yal/internal/models/comment.go
	modified:   main_dc/yalarba/api_yal/internal/models/feedback.go
	modified:   main_dc/yalarba/api_yal/internal/models/password_reset.go
	modified:   main_dc/yalarba/api_yal/internal/models/rating.go
	modified:   "main_dc/yalarba/api_yal/internal/models/\320\276bject.go"
set embedded base model anonimus as realy embedded struct
without set name for field base
2026-03-31 07:55:55 +05:00

33 lines
1.3 KiB
Go

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"`
}