Added the logic for bulk notifications into a seperate notifier BulkNotifier. Renamed triggerSingleNotification to trigger
Moved all entity logic into Entity folder and left interfaces into Model folder. Same with EntityManagers and ModelManagers. Removed verb and createdAt from NotificationEvent since the verb is already inside the notification key. Removed defaultMethod from userPreferences entity
Renamed notificationKey field in NotificationKey entity to key field
Added unique constraint to ORM mapping of NotificationKey for key field. Adapted changes in validation file
Removed unecessary function findByNotificationKey in NotificationEventManager
Renamed MethodNotificationKey to MethodMetadata
Cleaned forms
Improved queries inside FilterManager to change the relationship between user and userPreferences from a OneToOne Bidirectional to a OneToOneUnidirectional
Cleaned managers
Can now send emails
Fixed bug where an error was thrown when the subject of the notification was not loaded. To fix this, I added a isOngoing() function in Notification entity that checks whether the subject on the associated event entity is available or not. If it is not, we don't render the notification, and we don't sent it
updated doc.
Certain words are reserved in MySql and I mistakenly used the field key inside the notificationKey entity. I am not using notificationKey field
Using only one identifier field for the subject. Changed getIdentifiers to getIdentifier in NotificationEvent entity. Started to implement a deleter to delete notifications
Can now find all notification that contain a particular subject
Possibility to have own deleter using config file. The notification deleter provided by the bundle is assigned by default
Can now delete notifications when a subject is being deleted. Can also override NotificationEventListener from config file if necessary, for example if user wants to add events, like preSoftDelete or postSoftDelete, etc..
Cleaned validator an EventListener
Fixed bug where the connection to the database timed out. Decided to close the connection before sending email, and reopen it after sending email to update the SentAt field of the notification that has been sent.
Made some changes in EventListener to delete notifications on PreDelete because otherwise we cannot extract info from the Notifiable because it is deleted...