package specialistintern

import (
	ecore "simrs-vx/internal/domain/base-entities/core"
	ep "simrs-vx/internal/domain/main-entities/person"
	es "simrs-vx/internal/domain/main-entities/specialist"
	ess "simrs-vx/internal/domain/main-entities/subspecialist"
	eu "simrs-vx/internal/domain/main-entities/user"
)

type SpecialistIntern struct {
	ecore.Main                            // adjust this according to the needs
	Person_Id          *uint              `json:"person_id"`
	Person             *ep.Person         `json:"person,omitempty" gorm:"foreignKey:Person_Id"`
	Specialist_Code    *string            `json:"specialist_code" gorm:"size:10"`
	Specialist         *es.Specialist     `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Code;references:Code"`
	Subspecialist_Code *string            `json:"subspecialist_code" gorm:"size:10"`
	Subspecialist      *ess.Subspecialist `json:"subspecialist,omitempty" gorm:"foreignKey:Subspecialist_Code;references:Code"`
	User_Id            *uint              `json:"user_id"`
	User               *eu.User           `json:"user,omitempty" gorm:"foreignKey:User_Id"`
}
