@startuml ratatouille-notification-controller

class NotificationController {

}

interface NotificationRepository {
	+getAllRead(employee: Employee, location: Location): List<Notification>
	+getAllUnread(employee: Employee, location: Location): List<Notification>
	+send(notification: Notification, location: Location): void
	+markAsRead(notification: Notification, reader: Employee): void
}

class Employee {
	-id: String
	-name: String
	-mail: String
	-role: Role
}

class Notification {
	-id: int
	-message: String
	-timestamp: Instant
}

class Location {
	-id: int
	-name: String
}

NotificationController o-- NotificationRepository
NotificationController ..> Location
NotificationController ..> Employee
NotificationController ..> Notification
NotificationRepository ..> Notification

@enduml