Перейти к основному содержимому

Models reference

Core

МодельНазначение
Core/CustomFieldDefinitionОписание пользовательского поля: где применяется, какой тип, как хранится
Core/CustomFieldTypeСправочник типов пользовательских полей
Core/Integration/Identity/GKUserПользователь из GK для auto-login через gk_uhash
Core/Integration/Identity/MKUserПользователь из MK/integration identity
Core/Integration/MKClassКласс во внешней MK системе
Core/Integration/MKCourseКурс во внешней MK системе
Core/Integration/MKJoinСвязка/join во внешней MK системе
Core/Integration/MKLessonУрок во внешней MK системе

Education/Academy

МодельНазначение
AcademicYearАкадемический год, основа сезонности продуктов
WeekУчебная неделя внутри academic year
GradeКласс/возрастной уровень, используется в difficulty levels и catalog filters
RoomКабинет для расписания
TeacherПреподаватель для расписания и групп

Education/Program

МодельНазначение
SubjectПредмет, имеет slug, position, cipher, roadmap config
SubsubjectПодпредмет внутри subject, используется в каталоге
DifficultyLevelУровень сложности/класс, связан с subject, grades, products, roadmap config
TopicModuleМодуль тем внутри уровня/программы
TopicТема, связана с lessons и mini-group modules

Education/Catalog

МодельНазначение
ProductЦентральная сущность каталога
ProductCardДанные карточки продукта на публичном UI
ProductPageСсылка, рейтинг, комментарии и page metadata продукта
ProductOfferingСезон/предложение продукта, actual flag, даты, тариф, статус
ProductLessonУрок внутри product offering
TariffЦена/тариф, discount/special/free logic
TariffMovementПравило автоматической смены тарифа
TariffMovementConditionУсловие для смены тарифа
ProductOfferingStatusMovementПравило автоматической смены статуса offering
ProductOfferingStatusMovementConditionУсловие для смены статуса offering
ProductOfferingStatusSectionКонтент-секции, завязанные на статус offering
ProductAboutSectionКонтент about-секций продукта
SeriesСерия продуктов
SeriesElementЭлемент серии
OfferingСоставное коммерческое предложение
OfferingElementПолиморфный элемент offering

Education/Dictionary

МодельНазначение
ProductTypeТип продукта, например course/mini-group
ProductSubtypeПодтип продукта внутри ProductType
ProductFormatФормат продукта, например live/recorded
ProductGoalЦель продукта, используется фильтрами каталога
ProductLessonTypeТип урока
ProductOfferingStatusБизнес-статус offering; задаёт product format и page status
ProductPageStatusСтатус публичной страницы/карточки продукта
ProductPriceStatusСправочник price filter: all/paid/free
TariffTypeТип тарифа: free/standard/discount/season discount

Education/Learning

МодельНазначение
GroupУчебная группа
GroupDisciplineДисциплина/поток группы, связан с product offering, teacher, room, schedule
GroupLessonКонкретное занятие группы
ScheduleРасписание group discipline
Schedules/GroupDisciplineManyScheduleВариант group discipline с несколькими расписаниями
Schedules/GroupDisciplineSingleScheduleВариант group discipline с одним расписанием

Landing

МодельНазначение
LandingRedirectRedirect rules из БД
Banners/LandingBannerБаннеры и generated HTML/data banners
Dictionary/LandingBannerTypeТипы баннеров
Catalog/CatalogFilterНастройки фильтров каталога
Catalog/CatalogSeoPhraseSEO-фразы для комбинаций фильтров каталога
Page/LandingLayoutLayout type для proxy pages
Page/LandingProxyPageDynamic route из БД и source URL
Page/LandingNullPrefixPageСтраница без prefix
Page/LandingPageCacheEntryУчет cache proxy/grabbed page
Roadmap/Config/SubjectRoadmapConfigVisibility/default настройки subject в roadmap
Roadmap/Config/DifficultyLevelRoadmapConfigVisibility/default настройки level в roadmap
Roadmap/MiniGroup/MiniGroupProgramПрограмма мини-группы subject + level + track
Roadmap/MiniGroup/MiniGroupModuleМодуль программы мини-группы
Roadmap/MiniGroup/MiniGroupModuleTopicPivot module-topic с position

User/Role

МодельНазначение
UserПользователь, auth, profile, roles/permissions, доступ в Filament
RoleCustom Spatie role model

Model side effects, которые нельзя игнорировать

МодельSide effect
ProductOfferingСинхронизирует status-derived поля, снимает actual с других offering продукта, обновляет lesson durations
TariffПересчитывает price/old_price/tariff_type по discount/free/special logic
SubjectСоздаёт/удаляет roadmap config
DifficultyLevelСоздаёт/удаляет roadmap config, синхронизирует дерево уровней
TopicАвтоматически назначает position внутри module
GroupDisciplineСоздаёт group, обновляет schedules, пересчитывает даты offering
LandingRedirectНормализует URL и сбрасывает redirect cache
LandingBannerГенерирует content из data для некоторых типов