Entities
Table of Contents
Namespaces
- Interfaces
Classes
- AdminMenuItem
- AdminMenuItemText
- AdminPage
- AdminPageMenuItemRel
- AdminPageText
- ApiClient
- Client of the external Api: an application allowed to call the Api with its key (`X-API-Key`).
- ApiClientKey
- Key of an external Api application (`cms_system_api_client_keys`).
- Asset
- AssetText
- AuthLog
- AuthSessionStorage
- One shared login storage instance for all modules (Front and Admin).
- Blacklist
- BlacklistedWord
- BlacklistedWordText
- Component
- ComponentBlock
- ComponentBlockRel
- 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.
- CronJob
- Cron job known to the scheduler (`cms_system_cron_jobs`).
- 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
- Custom code: a library of code snippets inserted into website pages (`cms_system_custom_assets`).
- Email
- EmailQueue
- EmailText
- ExternalConnection
- External connection (third-party integrations: reCAPTCHA, maps, analytics ...).
- File
- FileText
- Per-language translation data of a file, composite PK (file_id, language_id).
- GeocodingCache
- Cache of external geocoding.
- ImageUsage
- Image usage (`cms_system_asset_usages`): module + purpose, e.g. `blog-articles`.
- ImageVariant
- Image variant (`cms_system_asset_variants`): technical data of a downscaled image shared by
all usages (size, mode, watermark).
- InvoicePdfTemplateVariantRel
- 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
- Module
- Notification
- `receiverUserId` is the receiver of the notification (whom it is meant for); `null` = global, seen by all administrators.
- NotificationType
- NotificationTypeText
- Page
- PageRouteRel
- 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
- PaymentGatewayNotification
- One notification a payment gateway sent about a payment, with the outcome of processing it.
- 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
- PaymentStatus
- Code list of payment statuses (`cms_system_payment_statuses`), mirrors the PHP enum
{@see \App\UI\Api\System\Enums\PaymentStatus}, which stays the source of truth for code
(gateway logic keeps reading the magic numbers from it). The table only adds FK integrity for
`payments.status` / `invoiced_status` and an anchor for the Setting form (choosing the
invoice generation rules, {@see \App\Core\Base\Shared\Invoicer\Models\Entities\PaymentStatusRule} in the Invoicer module). The PK has no
`#[ORM\GeneratedValue]`: the values are fixed (equal to the enum) and rows are only seeded by
sql. A new status needs a constant in the enum and a row here.
- PaymentTransaction
- One transaction of a payment at the gateway.
- PdfTemplate
- PdfTemplateLayout
- Code list of PDF invoice layouts (`cms_system_pdf_template_layouts`); separates the look (css)
from the semantics of variants. The look of invoices is chosen by one select in the billing
settings (`invoice.pdf.layoutId`); the per-variant content for a layout lives in
{@see PdfTemplateVariantLayoutText}. Exactly one row may have `isDefault=true` (enforced in
the admin CRUD, not by a db constraint).
- PdfTemplateText
- PdfTemplateVariant
- PdfTemplateVariantLayoutText
- Per-language content (header/html/footer) of one PDF variant for a given layout
(`cms_system_pdf_template_variant_layout_texts`); owned collection `layoutTexts` on
{@see PdfTemplateVariant}. Composite PK: `layoutId` + `languageId` (scalars here, with
`#[ORM\Id]` and `#[Identity]`) and the `variant` association (owning many-to-one, its
`#[ORM\Id]` is declared in the Api child). `variantId` is only a read-only FK mirror
(`insertable`/`updatable` false); the association controls writes.
- PdfTemplateVariantText
- PrivilegeGroup
- Functional group of privileges (`cms_system_privilege_groups`): a purely presentational
grouping across the `:Admin` / `:Front` / `:Api` branches.
- PrivilegeGroupText
- Labels of a privilege group (`cms_system_privilege_group_texts`); derived identity: PK is
`languageId` plus the association to the parent group (declared in the UI leaf).
- 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
- Unit
- Unit of measure (`cms_system_units`): piece, kilogram, meter…
- UnitText
- Translation of a unit of measure (`cms_system_unit_texts`): the full name ("piece",
"kilogram"). The abbreviation is not translated, it lives in {@see Unit::$code}.
- User
- UserDiscountLevel
- UserExternalLogin
- UserGroup
- UserGroupRel
- UserGroupText
- 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.
- UserRefreshToken
- UserRole
- UserRolePrivilege
- UserRolePrivilegeRel
- UserRolePrivilegeText
- Labels of a privilege (`cms_system_user_role_privilege_texts`); derived identity: PK is
`languageId` plus the association to the parent privilege (declared in the UI leaf).
- UserRoleRel
- UserType
- UserTypeText
- Vat
- VatIdCheck
- One VAT id check (`cms_system_vat_id_checks`).
- VatRate
- VAT rate (`cms_system_vat_rates`) of a supply kind in a country for a validity period.