Entities
Table of Contents
Classes
- Asset
- AssetText
- Blacklist
- Front end variant of the blacklist (`cms_system_blacklists`), hydrated from the Api endpoint
`api/system/blacklist` (through ApiBridge). A flat entity: value plus type.
- BlacklistedWord
- BlacklistedWordText
- Country
- Country (`cms_system_countries`) — ISO 3166-1 alpha-2 code, VAT id prefix, EU membership.
- CountryText
- Country translation (`cms_system_country_texts`) — localized country name.
- Currency
- CurrencyText
- Currency translations (cms_system_currency_texts): per-language name, description and
pluralized label after the amount. The `shortcut` is not translated; it is the defined
currency key for payment gateways and stays on {@see Currency}.
- CustomAsset
- Front end variant of custom code, hydrated from `api/system/custom-asset` through ApiBridge. Read by the `frontSystemCustomAssets` component on every page render.
- Email
- EmailQueue
- EmailText
- File
- FileText
- Per-language translation data of a file, composite PK (file_id, language_id).
- Language
- Localization
- LoginProvider
- LoginProviderText
- Menu
- MenuItem
- A menu item is a nested-set tree (lft/rgt/level + parentId); several roots live in one
table, told apart by `menuId`. {@see ScopedTreeNodeInterface} is the gate by which the
generic `save()` ({@see \App\Core\Traits\Api\Models\Managers\SaveTrait}) recognizes that a
newly inserted item needs lft/rgt/level computed (`insertTreeNode`), and it supplies the
scope (`menuId`) via {@see getTreeScope()}, so indexes are computed within one menu only,
without overriding `treeConfigForEntity()` in the manager.
- MenuItemText
- MenuText
- Page
- PageSection
- Page section (`page_sections`): a named HTML block inserted into templates by key
(`homepage-how`, `cta-providers` ...), replacing blocks hard-written in templates. No own
URL, no tree, no order; it is addressed only by the key.
- PageSectionText
- Language variant of a page section: heading and HTML content. `content` is markup from the
rich-text editor ("raw" mode): it goes out unescaped on the front end and the template just
prints it ({@see PageSection}).
- PageText
- Payment
- PaymentCallback
- PaymentEet
- PaymentErrorLog
- PaymentGate
- PaymentGateFee
- Composite PK (`paymentGateId` + `currencyId`), FKs to payment gates and currencies
(`cms_system_payment_gate_fees`). `#[ORM\Id]` is declared here in the base; the UI variants
only extend the entity with `#[ORM\Table]` and must not redeclare the PK, otherwise the
column is mapped twice (Doctrine "Duplicate definition of column").
- PaymentGatePhone
- PaymentGatePhoneRegionRel
- PaymentGateRegionRel
- PaymentGateText
- PaymentItem
- Accounting snapshot of payment items taken at checkout (name, base, VAT rate, product type
as charged); the invoice lines are built from it (`InvoiceGenerator`).
- PaymentRegion
- PaymentRegionText
- PdfTemplate
- PdfTemplateText
- PdfTemplateVariant
- The front end does not map `layoutTexts` (no front end `PdfTemplateVariantLayoutText`); the second argument is the Shared base without a UI variant.
- PdfTemplateVariantText
- PublicProfile
- IMPORTANT: public user profile, a read-only DTO, deliberately not `User`.
- Region
- Region is a nested-set tree (`parent_id` + `lft`/`rgt`/`level`), hence the
{@see TreeNodeInterface} marker: without it the generic insert gate in
{@see \App\Core\Traits\Api\Models\Managers\SaveTrait} did not run and a new region stayed at
`lft=0, rgt=0`. The region manager, service, mapper and repository have the tree traits, so
the gate has something to call.
- RegionText
- Route
- RouteText
- Setting
- SmtpSetting
- SupplyKind
- Supply kind (`cms_system_supply_kinds`) — goods, service, electronic service, …
- SupplyKindText
- Supply kind translation (`cms_system_supply_kind_texts`) — name + admin help text.
- Tariff
- TariffPrice
- TariffText
- Theme
- User
- UserDiscountLevel
- UserPayment
- After a payment is paid, `UserPaymentManager::updateStatusForPayment()` (Api, tariff-aware)
updates the user: `member_until` (a tariff with `duration` > 0, monotonic) and `credits` (a tariff with
`credits` > 0, additive); a package tariff does both. Order: compute validity, activate the items, extend the membership / add credits.
- UserPrivilege
- The leaf does not map `translations` (no `UserPrivilegeText`); the translation collection stays untyped.
- UserRole
- UserType
- UserTypeText
- Vat
- VatRate
- VAT rate (`cms_system_vat_rates`) of a supply kind in a country for a validity period.