package models

import "time"

// Company represents an employer organization
type Company struct {
	ID       string  `json:"id" db:"id"`
	Name     string  `json:"name" db:"name"`
	Slug     string  `json:"slug" db:"slug"`
	Type     string  `json:"type" db:"type"`
	Document *string `json:"document,omitempty" db:"document"` // Houjin Bangou

	// Contact
	Address  *string `json:"address,omitempty" db:"address"`
	RegionID *int    `json:"regionId,omitempty" db:"region_id"`
	CityID   *int    `json:"cityId,omitempty" db:"city_id"`
	Phone    *string `json:"phone,omitempty" db:"phone"`
	Email    *string `json:"email,omitempty" db:"email"`
	Website  *string `json:"website,omitempty" db:"website"`

	// Branding
	LogoURL     *string `json:"logoUrl,omitempty" db:"logo_url"`
	Description *string `json:"description,omitempty" db:"description"`

	// Profile
	EmployeeCount *string `json:"employeeCount,omitempty" db:"employee_count"` // 1-10, 11-50, etc.
	FoundedYear   *int    `json:"foundedYear,omitempty" db:"founded_year"`

	// Status
	Active   bool `json:"active" db:"active"`
	Verified bool `json:"verified" db:"verified"`

	// Metadata
	CreatedAt time.Time `json:"createdAt" db:"created_at"`
	UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
}

// CompanyWithLocation includes region and city information
type CompanyWithLocation struct {
	Company
	RegionName *string `json:"regionName,omitempty"`
	CityName   *string `json:"cityName,omitempty"`
}
