use of org.marvec.pusher.data.Event in project engine by Lumeer.
the class PusherFacade method removeResourceVariableNotification.
public void removeResourceVariableNotification(@Observes final RemoveResourceVariable removeResourceVariable) {
if (isEnabled()) {
try {
ResourceVariable resourceVariable = resourceVariableAdapter.mapVariable(removeResourceVariable.getVariable());
Organization organization = organizationDao.getOrganizationById(resourceVariable.getOrganizationId());
ResourceId resourceId;
Set<String> users;
if (resourceVariable.getResourceType() == ResourceType.ORGANIZATION) {
resourceId = new ResourceId(getAppId(), resourceVariable.getId(), organization.getId());
users = permissionAdapter.getOrganizationUsersByRole(organization, RoleType.TechConfig);
} else {
Project project = projectDao.getProjectById(resourceVariable.getProjectId());
resourceId = new ResourceId(getAppId(), resourceVariable.getId(), organization.getId(), project.getId());
users = permissionAdapter.getProjectUsersByRole(organization, project, RoleType.TechConfig);
}
List<Event> events = users.stream().map(userId -> createEventForRemove(resourceVariable.getClass().getSimpleName(), resourceId, userId)).collect(Collectors.toList());
sendNotificationsBatch(events);
} catch (Exception e) {
log.log(Level.WARNING, "Unable to send push notification: ", e);
}
}
}
use of org.marvec.pusher.data.Event in project engine by Lumeer.
the class PusherAdapterIT method viewCollectionsLostOrGainedTest.
@Test
public void viewCollectionsLostOrGainedTest() {
String aCollection = createCollection("A", EMPTY_ROLES, EMPTY_ROLES).getId();
String bCollection = createCollection("B", EMPTY_ROLES, EMPTY_ROLES).getId();
String cCollection = createCollection("C", EMPTY_ROLES, EMPTY_ROLES).getId();
View view = createView("V1", new Query(Arrays.asList(new QueryStem(aCollection), new QueryStem(bCollection), new QueryStem(cCollection))), EMPTY_ROLES, EMPTY_ROLES);
View viewWithUser = updateViewRoles(view.getId(), READ_ROLES, EMPTY_ROLES);
View viewWithGroup = updateViewRoles(view.getId(), EMPTY_ROLES, READ_ROLES);
// check gained by user roles
List<Event> events = pusherAdapter.checkViewPermissionsChange(organization, project, otherUser, view, viewWithUser);
assertThat(events).hasSize(3);
assertThat(events).extracting("name").containsOnly("Collection:update");
assertThat(events).extracting("data").extracting("object").extracting("id").containsOnly(aCollection, bCollection, cCollection);
// check gained by group roles
events = pusherAdapter.checkViewPermissionsChange(organization, project, otherUser, view, viewWithGroup);
assertThat(events).hasSize(3);
assertThat(events).extracting("name").containsOnly("Collection:update");
assertThat(events).extracting("data").extracting("object").extracting("id").containsOnly(aCollection, bCollection, cCollection);
// check lost by user roles
events = pusherAdapter.checkViewPermissionsChange(organization, project, otherUser, viewWithUser, view);
assertThat(events).hasSize(4);
assertThat(events).extracting("name").containsOnly("View:remove", "Collection:remove");
assertThat(events).extracting("data").extracting("id").containsOnly(view.getId(), aCollection, bCollection, cCollection);
// check lost by group roles
events = pusherAdapter.checkViewPermissionsChange(organization, project, otherUser, viewWithGroup, view);
assertThat(events).hasSize(4);
assertThat(events).extracting("name").containsOnly("View:remove", "Collection:remove");
assertThat(events).extracting("data").extracting("id").containsOnly(view.getId(), aCollection, bCollection, cCollection);
}
Aggregations