diff --git a/cmd/main-migration/migrations/atlas.sum b/cmd/main-migration/migrations/atlas.sum index 8f761dda..5ef938c0 100644 --- a/cmd/main-migration/migrations/atlas.sum +++ b/cmd/main-migration/migrations/atlas.sum @@ -1,4 +1,4 @@ -h1:0qY4nZCVOPv845mNYtp5SB1QLfOqalYeVj9mR2hKkxk= +h1:8cWwLjbT/RIIeLTxM5t9O3pCbmZZFVud4a6PrqIPqT8= 20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k= 20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0= 20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI= @@ -31,4 +31,4 @@ h1:0qY4nZCVOPv845mNYtp5SB1QLfOqalYeVj9mR2hKkxk= 20251008031337.sql h1:l+sxUAGvcTfj3I6kAFHo+T6AYodC9k9GkR+jaKO2xXc= 20251008031554.sql h1:AqrVfIhSzY3PCy8ZlP5W91wn2iznfIuj5qQfubp6/94= 20251008052346.sql h1:nxnXmooIJ6r1mmzwnw+6efxLfc/k9h2aE6RMptPRons= -20251008073620.sql h1:sWMk2hpF2wagSjgYlsiou8XCzVMC2MOtfkfWJU2LcZg= +20251008073620.sql h1:6YsJp1W4SmQJ1lxpqF27BBlDC1zqhw7Yhc7pLzQTY6M= diff --git a/internal/domain/main-entities/room/base/entity.go b/internal/domain/main-entities/room/base/entity.go index dd39d921..e45a441d 100644 --- a/internal/domain/main-entities/room/base/entity.go +++ b/internal/domain/main-entities/room/base/entity.go @@ -2,14 +2,20 @@ package base import ( ecore "simrs-vx/internal/domain/base-entities/core" + es "simrs-vx/internal/domain/main-entities/specialist" + ess "simrs-vx/internal/domain/main-entities/subspecialist" + eu "simrs-vx/internal/domain/main-entities/unit" ) type Basic struct { - ecore.SmallMain // adjust this according to the needs - Infra_Id *uint16 `json:"infra_id"` - Unit_Id *uint16 `json:"unit_id"` - Specialist_Id *uint16 `json:"specialist_id"` - Subspecialist_Id *uint16 `json:"subspecialist_id"` + ecore.SmallMain // adjust this according to the needs + Infra_Id *uint16 `json:"infra_id"` + Unit_Id *uint16 `json:"unit_id"` + Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Id"` + Specialist_Id *uint16 `json:"specialist_id"` + Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Id"` + Subspecialist_Id *uint16 `json:"subspecialist_id"` + Subspecialist *ess.Subspecialist `json:"subspecialist,omitempty" gorm:"foreignKey:Subspecialist_Id"` } func (Basic) TableName() string { diff --git a/internal/domain/main-entities/room/entity.go b/internal/domain/main-entities/room/entity.go index cfa7ec05..346c7741 100644 --- a/internal/domain/main-entities/room/entity.go +++ b/internal/domain/main-entities/room/entity.go @@ -3,15 +3,9 @@ package room import ( ei "simrs-vx/internal/domain/main-entities/infra" ebase "simrs-vx/internal/domain/main-entities/room/base" - es "simrs-vx/internal/domain/main-entities/specialist" - ess "simrs-vx/internal/domain/main-entities/subspecialist" - eu "simrs-vx/internal/domain/main-entities/unit" ) type Room struct { ebase.Basic - Infra *ei.Infra `json:"infra,omitempty" gorm:"foreignKey:Infra_Id"` - Unit *eu.Unit `json:"unit,omitempty" gorm:"foreignKey:Unit_Id"` - Specialist *es.Specialist `json:"specialist,omitempty" gorm:"foreignKey:Specialist_Id"` - Subspecialist *ess.Subspecialist `json:"subspecialist,omitempty" gorm:"foreignKey:Subspecialist_Id"` + Infra *ei.Infra `json:"infra,omitempty" gorm:"foreignKey:Infra_Id"` } diff --git a/internal/use-case/main-use-case/infra/lib.go b/internal/use-case/main-use-case/infra/lib.go index 2189ce89..7757f83f 100644 --- a/internal/use-case/main-use-case/infra/lib.go +++ b/internal/use-case/main-use-case/infra/lib.go @@ -104,6 +104,14 @@ func ReadDetailData(input e.ReadDetailDto, event *pl.Event, dbx ...*gorm.DB) (*e tx = dg.I } + tx = tx.Preload("Parent"). + Preload("Childrens"). + Preload("Item"). + Preload("Rooms"). + Preload("Rooms.Specialist"). + Preload("Rooms.Subspecialist"). + Preload("Rooms.Unit") + if err := tx.First(&data, input.Id).Error; err != nil { if processedErr := pu.HandleReadError(err, event, source, input.Id, data); processedErr != nil { return nil, processedErr