Application
Table of Contents
Interfaces
- Command
- Describes behavior of a command
- AnnouncementRepositoryInterface
- Describes behavior of the announcement repository
- CountdownRepositoryInterface
- Describes behavior of the countdown repository
- EventPublisher
- Describes behavior of event publisher
- ModuleRepositoryInterface
- Describes behavior of the module repository
- QuoteRepositoryInterface
- Describes behavior of quote repository
- UserRepositoryInterface
- Describes user repository behavior
- WeatherRepositoryInterface
- WordRepositoryInterface
- Describes behavior of the word repository
- FlashMessengerInterface
- Defines FlashMessenger behaviour
- MiddlewareInterface
- Translator
- ViewRendererInterface
Classes
- AddAnnouncementDTO
- Data Transfer Object for adding announcements
- EditAnnouncementDTO
- Data Transfer Object for editing announcements
- ProposeAnnouncementDTO
- Data Transfer Object for proposing announcements
- ApproveRejectAnnouncementUseCase
- Use case for approving announcements
- CreateAnnouncementUseCase
- Use case for creating announcements
- DeleteAnnouncementUseCase
- Use case for deleting announcements
- DeleteRejectedSinceAnnouncementUseCase
- Use case for deleting announcements since the provided date
- EditAnnouncementUseCase
- Use case for editing announcements
- GetAllAnnouncementsUseCase
- Fetches all available announcements
- GetAnnouncementByIdUseCase
- Fetches an announcement by provided id
- GetValidAnnouncementsUseCase
- Fetches all valid announcements
- ProposeAnnouncementUseCase
- Proposes announcement
- AddEditCountdownDTO
- DTO for editing & adding countdown
- CreateCountdownUseCase
- Creates countdown with provided data
- DeleteCountdownUseCase
- Deletes specified countdown
- GetAllCountdownsUseCase
- Fetches all available countdowns
- GetCountdownByIdUseCase
- Fetches countdown by provided id
- GetCurrentCountdownUseCase
- Fetches current countdown
- UpdateCountdownUseCase
- Updates countdown
- GetDeparturesUseCase
- Provides tram data formatted for display page
- GetDisplayAnnouncementsUseCase
- Provides announcements data formatted for display page
- GetDisplayCountdownUseCase
- Provides countdowns data formatted for the display page
- GetDisplayEventsUseCase
- Provides events data formatted for display page
- GetDisplayQuoteUseCase
- Provides quote data formatted for display page
- GetDisplayWeatherUseCase
- Provides weather data formatted for display page
- GetDisplayWordUseCase
- Provides word data formatted for display page
- EditModuleDTO
- Edites module
- GetAllModulesUseCase
- Fetches all modules
- GetModuleByIdUseCase
- Fetches module by id
- IsModuleVisibleUseCase
- Checks if a module is visible
- ToggleModuleUseCase
- Toggles module
- UpdateModuleUseCase
- Updates module
- FetchActiveQuoteUseCase
- Fetches active quote
- FetchQuoteUseCase
- Fetches quote from external API
- ApplicationException
- Basic exception for application exceptions
- AuthenticateUserDTO
- ChangePasswordDTO
- DTO for changing passwords
- CreateUserDTO
- DTO for creating users
- EditUserDTO
- DTO for editing users
- AuthenticateUserUseCase
- Authenticates user
- ChangePasswordUseCase
- Changes password for a user
- CreateUserUseCase
- Creates new user
- DeleteUserUseCase
- Deletes user
- GetAllUsersUseCase
- Gets all users
- GetUserByIdUseCase
- Fetches user by id
- GetUserByUsernameUseCase
- Fetches user by username
- UpdateUserUseCase
- Updates user
- FetchActiveWordUseCase
- Fetches active word
- FetchWordUseCase
- Fetches a word form api
- CommandRegistry
- Contains a registry of available commands
- AddUserCommand
- Adds new user with provided data
- AnnouncementRejectedDeleteCommand
- Deletes rejected announcements since a provided date
- QuoteFetchCommand
- Fetches fresh quote
- WordFetchCommand
- Fetches fresh word
- ConsoleOutput
- Defines console output helper functions
- Kernel
- Class responsible for executing commands
- Announcement
- Announcement Entity Aggregate Root for Announcement domain
- AnnouncementException
- Announcement domain exceptions
- AnnouncementId
- AnnouncementId ValueObject
- AnnouncementApprovedEvent
- Domain event raised when announcement is approved by a moderator Fired by: Announcement::approve()
- AnnouncementCreatedEvent
- Describes a domain event
- AnnouncementDeletedEvent
- Describes a domain event
- AnnouncementProposedEvent
- Describes a domain event
- AnnouncementRejectedEvent
- Describes a domain event
- AnnouncementUpdatedEvent
- Describes a domain event
- Countdown
- Countdown entity
- CountdownException
- Countdown domain exceptions - contains translation KEYS
- CountdownCreatedEvent
- Describes a domain event
- CountdownDeletedEvent
- Describes a domain event
- CountdownUpdatedEvent
- Describes a domain event
- ModuleToggledEvent
- Describes a domain event
- ModuleUpdatedEvent
- Describes a domain event
- Module
- Module entity
- ModuleException
- Module domain exceptions - contains translation KEYS
- Quote
- Quote entity
- QuoteCreatedEvent
- Describes a domain event
- AuthenticationException
- Basic exception for domain errors
- DisplayException
- Display module exceptions - contains translation KEYS
- DomainEvent
- Describes a domain event
- DomainException
- Basic exception for domain errors
- InvalidDateTimeException
- Invalid date/time format
- MissingParameterException
- Required parameter missing
- UseCase
- Describes a use case
- ValidationException
- Basic exception for domain errors
- ViewException
- View/Panel domain exceptions - contains translation KEYS
- User
- User entity
- UserException
- User domain exceptions - contains translation KEYS
- Password
- Password value object
- Username
- Username value object
- WeatherSnapshot
- Word
- Word entity
- Config
- Wrapper class around the .env file
- ConfigException
- Config exceptions
- Container
- DatabaseException
- Collection of various database exceptions
- DatabaseService
- Simplifies interaction with database
- PDOFactory
- Creates PDO instance
- CalendarApiException
- CalendarService
- Used to interact with google calendar interface
- QuoteApiException
- QuoteApiService
- Used to interact with quotes API
- TramApiException
- TramService
- PEKA e-monitor API wrapper
- WeatherApiException
- WeatherService
- Used to interact with IMGW API and airly API
- WordApiException
- WordApiService
- Used to interact with words API
- AnnouncementValidationHelper
- Helper class for validating announcements
- CountdownValidationHelper
- Helper class for validating countdowns
- ModuleValidationHelper
- Helper class for validating modules
- SessionHelper
- Helper for interacting with session
- StaticFileHandlingHelper
- Helper for serving static files
- UserValidationHelper
- Helper class for validating users
- LoggerException
- LoggerFactory
- Logger factory
- PDOAnnouncementRepository
- PDOCountdownRepository
- PDOModuleRepository
- PDOQuoteRepository
- PDOUserRepository
- PDOWeatherRepository
- PDOWordRepository
- AuthenticationService
- AuthenticationService used for user authentication
- CsrfTokenService
- Helps with managing csrf token
- FlashMessengerService
- Helps with managing flash messages
- InfrastructureException
- LanguageTranslator
- TwigException
- TwigFactory
- TwigRenderer
- LocaleContext
- RequestContext
- AnnouncementController
- BaseController
- CountdownController
- DisplayController
- ErrorController
- HomeController
- LoginController
- ModuleController
- PanelController
- Panel controller - handles admin panel views and data aggregation
- UserController
- AnnouncementApiDTO
- DTO for API responses
- AnnouncementViewDTO
- DTO for announcement view
- ModuleViewDTO
- AuthMiddleware
- AuthMiddleware - Ensures only authenticated users can access protected routes.
- CsrfMiddleware
- ExceptionMiddleware
- LocaleMiddleware
- MiddlewarePipeline
- RequestContextMiddleware
- AnnouncementPresenter
Enums
- AnnouncementStatus
- Available announcement statuses
- ModuleName
- Stores available modules and their names
- DomainExceptionCodes
- Collection of domain exception codes
- TemplateNames