use of org.finos.waltz.service.user.UserRoleService in project waltz by khartec.
the class BulkRoleAssign method main.
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(DIConfiguration.class);
DSLContext dsl = ctx.getBean(DSLContext.class);
UserRoleService userRoleService = ctx.getBean(UserRoleService.class);
Set<String> defaultRoles = SetUtilities.asSet(SystemRole.BOOKMARK_EDITOR.name(), SystemRole.LOGICAL_DATA_FLOW_EDITOR.name(), SystemRole.LINEAGE_EDITOR.name());
Set<String> mustHaveRoles = SetUtilities.asSet(SystemRole.TAXONOMY_EDITOR.name(), SystemRole.CAPABILITY_EDITOR.name(), SystemRole.RATING_EDITOR.name());
InputStream inputStream = BulkRoleAssign.class.getClassLoader().getResourceAsStream("bulk-role-assign-example.txt");
Set<Tuple2<String, Set<String>>> updates = IOUtilities.streamLines(inputStream).map(d -> d.toLowerCase().trim()).map(d -> Tuple.tuple(d, userRoleService.getUserRoles(d))).map(t -> t.map2(existingRoles -> union(existingRoles, defaultRoles, mustHaveRoles))).collect(Collectors.toSet());
System.out.printf("About to update: %d user-role mappings\n", updates.size());
updates.forEach(t -> userRoleService.updateRoles("admin", t.v1, ImmutableUpdateRolesCommand.builder().roles(t.v2).comment("Updated via the Bulk Role Assign tool").build()));
System.out.println("Finished updating mappings");
}
use of org.finos.waltz.service.user.UserRoleService in project waltz by khartec.
the class PhysicalSpecDefinitionEndpoint method register.
@Override
public void register() {
String findForSpecificationPath = WebUtilities.mkPath(BASE_URL, "specification", ":id");
String findBySelectorPath = WebUtilities.mkPath(BASE_URL, "selector");
String createPath = WebUtilities.mkPath(BASE_URL, "specification", ":id");
String updateStatusPath = WebUtilities.mkPath(BASE_URL, "specification", ":id", "status");
String deletePath = WebUtilities.mkPath(BASE_URL, "specification", ":id");
ListRoute<PhysicalSpecDefinition> findForSpecificationRoute = (req, res) -> specDefinitionService.findForSpecification(WebUtilities.getId(req));
ListRoute<PhysicalSpecDefinition> findBySelectorRoute = (req, res) -> specDefinitionService.findBySelector(WebUtilities.readIdSelectionOptionsFromBody(req));
DatumRoute<Long> createRoute = (req, res) -> {
WebUtilities.requireRole(userRoleService, req, SystemRole.LOGICAL_DATA_FLOW_EDITOR);
PhysicalSpecDefinitionChangeCommand physicalSpecDefinitionChangeCommand = WebUtilities.readBody(req, PhysicalSpecDefinitionChangeCommand.class);
long physicalSpecificationId = WebUtilities.getId(req);
Set<String> existingVersions = map(specDefinitionService.findForSpecification(physicalSpecificationId), d -> d.version());
if (existingVersions.contains(physicalSpecDefinitionChangeCommand.version())) {
throw new DuplicateKeyException("Cannot create physical specification definition with version that already exists");
}
return specDefinitionService.create(WebUtilities.getUsername(req), physicalSpecificationId, physicalSpecDefinitionChangeCommand);
};
DatumRoute<Boolean> updateStatusRoute = (req, res) -> {
WebUtilities.requireRole(userRoleService, req, SystemRole.LOGICAL_DATA_FLOW_EDITOR);
return specDefinitionService.updateStatus(WebUtilities.getUsername(req), WebUtilities.getId(req), WebUtilities.readBody(req, ReleaseLifecycleStatusChangeCommand.class));
};
DatumRoute<Integer> deleteRoute = (req, res) -> {
WebUtilities.requireRole(userRoleService, req, SystemRole.LOGICAL_DATA_FLOW_EDITOR);
return specDefinitionService.delete(WebUtilities.getUsername(req), WebUtilities.getId(req));
};
EndpointUtilities.getForList(findForSpecificationPath, findForSpecificationRoute);
EndpointUtilities.postForList(findBySelectorPath, findBySelectorRoute);
EndpointUtilities.postForDatum(createPath, createRoute);
EndpointUtilities.putForDatum(updateStatusPath, updateStatusRoute);
EndpointUtilities.deleteForDatum(deletePath, deleteRoute);
}
use of org.finos.waltz.service.user.UserRoleService in project waltz by khartec.
the class UserHarness method main.
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(DIConfiguration.class);
UserRoleService userRoleService = ctx.getBean(UserRoleService.class);
DSLContext dsl = ctx.getBean(DSLContext.class);
int rc = dsl.insertInto(USER).set(USER.USER_NAME, "kamran").set(USER.PASSWORD, "1234").onDuplicateKeyIgnore().execute();
System.out.println(rc);
//
// ImmutableLoginRequest loginRequest = ImmutableLoginRequest.builder()
// .userName("dwatkins")
// .password("wrong")
// .build();
//
// boolean authenticated = userService.authenticate(loginRequest);
// System.out.println(authenticated);
//
// userRoleService.findAllUsers().forEach(System.out::println);
}
Aggregations