package domain import ( "time" "git.loyso.art/frx/kurious/internal/common/nullable" ) // Course is a main entity of this project. type Course struct { // ID is our unique identifier ID string // ExternalID if exists ExternalID nullable.Value[string] SourceType SourceType SourceName nullable.Value[string] // OrganizationID that provides course. OrganizationID string // Link to the course OriginLink string ImageLink string Name string // Description of the course. Might be html encoded value. // Maybe it's worth to add flag about it. Description string // FullPrice is a course full price without discount. FullPrice float64 // Discount for the course. Discount float64 Thematic string ThematicID string LearningType string LearningTypeID string // Duration for the course. It will be splitted in values like: // full month / full day / full hour. Duration time.Duration // StartsAt points to time when the course will start. StartsAt time.Time CreatedAt time.Time UpdatedAt time.Time DeletedAt nullable.Value[time.Time] }