diff --git a/database/entities/t_assignment_entity.go b/database/entities/t_assignment_entity.go index c2a1822..61a897d 100644 --- a/database/entities/t_assignment_entity.go +++ b/database/entities/t_assignment_entity.go @@ -12,14 +12,10 @@ type TAssignmentEntity struct { DocumentType string `gorm:"type:varchar(100);" json:"document_type"` DocumentID uuid.UUID `gorm:"type:uuid;index;" json:"document_id"` - UserID uuid.UUID `gorm:"type:uuid;index;" json:"user_id"` - RoleID uuid.UUID `gorm:"type:uuid;index;" json:"role_id"` ClientID uuid.UUID `gorm:"type:uuid;index;" json:"client_id"` - // Document TInventoryRequestEntity `gorm:"foreignKey:DocumentID;references:ID"` - User M_User `gorm:"foreignKey:UserID;references:ID"` - Role M_Role `gorm:"foreignKey:RoleID;references:ID"` - Client M_Client `gorm:"foreignKey:ClientID;references:ID"` + AssignmentUsers []TAssignmentUserEntity `gorm:"foreignKey:AssignmentID;references:ID"` + Client M_Client `gorm:"foreignKey:ClientID;references:ID"` FullAuditTrail } diff --git a/database/entities/t_assignment_user_entity.go b/database/entities/t_assignment_user_entity.go new file mode 100644 index 0000000..28de972 --- /dev/null +++ b/database/entities/t_assignment_user_entity.go @@ -0,0 +1,26 @@ +package entities + +import ( + "github.com/google/uuid" +) + +type TAssignmentUserEntity struct { + ID uuid.UUID `gorm:"primaryKey;type:uuid;default:uuid_generate_v4()" json:"id"` + TaskType string `gorm:"type:varchar(100);" json:"task_type"` + + AssignmentID uuid.UUID `gorm:"type:uuid;index;" json:"assignment_id"` + UserID uuid.UUID `gorm:"type:uuid;index;" json:"user_id"` + RoleID uuid.UUID `gorm:"type:uuid;index;" json:"role_id"` + ClientID uuid.UUID `gorm:"type:uuid;index;" json:"client_id"` + + Assignment TAssignmentEntity `gorm:"foreignKey:AssignmentID;references:ID"` + User M_User `gorm:"foreignKey:UserID;references:ID"` + Role M_Role `gorm:"foreignKey:RoleID;references:ID"` + Client M_Client `gorm:"foreignKey:ClientID;references:ID"` + + FullAuditTrail +} + +func (TAssignmentUserEntity) TableName() string { + return "t_assignment_users" +} diff --git a/database/migration.go b/database/migration.go index 44acc47..326ba48 100644 --- a/database/migration.go +++ b/database/migration.go @@ -29,6 +29,7 @@ func Migrate(db *gorm.DB) error { &entities.MZonaEntity{}, &entities.MAisleEntity{}, &entities.TAssignmentEntity{}, + &entities.TAssignmentUserEntity{}, &entities.TInventoryReceiptEntity{}, &entities.TInventoryReceiptLineEntity{}, // &entities.TInventoryRequestEntity{}, @@ -69,14 +70,15 @@ func MigrateFresh(db *gorm.DB) error { // &entities.MZonaEntity{}, // &entities.MAisleEntity{}, &entities.TAssignmentEntity{}, + &entities.TAssignmentUserEntity{}, &entities.TInventoryReceiptEntity{}, &entities.TInventoryReceiptLineEntity{}, - &entities.TInventoryRequestEntity{}, - &entities.TInventoryRequestLineEntity{}, - &entities.TInventoryIssueEntity{}, - &entities.TInventoryIssueLineEntity{}, - &entities.InventoryTransactionEntity{}, - &entities.InventoryStorageEntity{}, + // &entities.TInventoryRequestEntity{}, + // &entities.TInventoryRequestLineEntity{}, + // &entities.TInventoryIssueEntity{}, + // &entities.TInventoryIssueLineEntity{}, + // &entities.InventoryTransactionEntity{}, + // &entities.InventoryStorageEntity{}, ); err != nil { return err }