Search in sources :

Example 1 with DashboardCreatedEvent

use of com.epam.ta.reportportal.core.events.activity.DashboardCreatedEvent in project service-api by reportportal.

the class CreateDashboardHandlerImpl method createDashboard.

@Override
public EntryCreatedRS createDashboard(ReportPortalUser.ProjectDetails projectDetails, CreateDashboardRQ rq, ReportPortalUser user) {
    BusinessRule.expect(dashboardRepository.existsByNameAndOwnerAndProjectId(rq.getName(), user.getUsername(), projectDetails.getProjectId()), BooleanUtils::isFalse).verify(ErrorType.RESOURCE_ALREADY_EXISTS, rq.getName());
    Dashboard dashboard = new DashboardBuilder().addDashboardRq(rq).addProject(projectDetails.getProjectId()).addOwner(user.getUsername()).get();
    dashboardRepository.save(dashboard);
    aclHandler.initAcl(dashboard, user.getUsername(), projectDetails.getProjectId(), BooleanUtils.isTrue(rq.getShare()));
    messageBus.publishActivity(new DashboardCreatedEvent(TO_ACTIVITY_RESOURCE.apply(dashboard), user.getUserId(), user.getUsername()));
    return new EntryCreatedRS(dashboard.getId());
}
Also used : DashboardCreatedEvent(com.epam.ta.reportportal.core.events.activity.DashboardCreatedEvent) Dashboard(com.epam.ta.reportportal.entity.dashboard.Dashboard) EntryCreatedRS(com.epam.ta.reportportal.ws.model.EntryCreatedRS) DashboardBuilder(com.epam.ta.reportportal.ws.converter.builders.DashboardBuilder)

Aggregations

DashboardCreatedEvent (com.epam.ta.reportportal.core.events.activity.DashboardCreatedEvent)1 Dashboard (com.epam.ta.reportportal.entity.dashboard.Dashboard)1 DashboardBuilder (com.epam.ta.reportportal.ws.converter.builders.DashboardBuilder)1 EntryCreatedRS (com.epam.ta.reportportal.ws.model.EntryCreatedRS)1