- private Function<LaunchJwt, Mono<NamesRoleResponse>> namesRoleService = (launchJwt) -> {
- NamesRoleService namesRoleService = launchJwt.getNamesRoleService();
- if (Objects.nonNull(namesRoleService) && StringUtils.isNotBlank(namesRoleService.getContextMembershipsUrl())) {
- String contextUrl = namesRoleService.getContextMembershipsUrl();
- return configurationClient.getPlatformAccessToken(constructAuthInfo(launchJwt))
- .flatMap(oAuth2AccessToken -> namesAndRolesClient.getNamesAndRolesInfo(contextUrl, oAuth2AccessToken.getValue()));
- }
- return Mono.empty();
- };
- private Function<LaunchJwt, Mono<NamesRoleResponse>> contextClaimService = (launchJwt) -> {
- if (Objects.nonNull(launchJwt.getContext())) {
- NamesRoleResponse namesRoleResponse = new NamesRoleResponse();
- namesRoleResponse.setMembers(new ArrayList<Member>());
- namesRoleResponse.setContext(constructCourseContext(launchJwt));
- return Mono.just(namesRoleResponse);
- }
- return Mono.empty();
- };
- // if teacher
- private List<Function<LaunchJwt, Mono<NamesRoleResponse>>> namesRolesResponseSources = List.of(namesRoleService, contextClaimService);
- // if student
- // private List<Function<LaunchJwt, Mono<NamesRoleResponse>>> namesRolesResponseSources = List.of(contextClaimService, namesRoleService);