All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.imunity.furms.ui.notifications.PolicyDocumentNotificationProducer Maven / Gradle / Ivy

There is a newer version: 4.3.1
Show newest version
/*
 * Copyright (c) 2020 Bixbit s.c. All rights reserved.
 * See LICENSE file for licensing information.
 */

package io.imunity.furms.ui.notifications;

import io.imunity.furms.api.policy_documents.PolicyDocumentService;
import io.imunity.furms.ui.user_context.ViewMode;
import io.imunity.furms.ui.views.user_settings.policy_documents.PolicyDocumentsView;
import org.springframework.stereotype.Component;

import java.util.stream.Stream;

import static io.imunity.furms.ui.utils.VaadinTranslator.getTranslation;

@Component
class PolicyDocumentNotificationProducer implements NotificationProducer {
	private final PolicyDocumentService policyDocumentService;

	PolicyDocumentNotificationProducer(PolicyDocumentService policyDocumentService) {
		this.policyDocumentService = policyDocumentService;
	}

	@Override
	public Stream findAllCurrentUserNotifications() {
		return policyDocumentService.findAllByCurrentUser().stream()
			.filter(policyDocumentExtended -> policyDocumentExtended.utcAcceptedTime.isEmpty())
			.map(policyDocumentExtended ->
				NotificationBarElement.builder()
					.text(getTranslation("notifications.new.policy", policyDocumentExtended.name))
					.viewMode(ViewMode.USER)
					.redirect(PolicyDocumentsView.class)
					.build()
			);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy