Project

General

Profile

« Previous | Next » 

Revision 62336

parse session cookie for the iscommunitymanager function

View differences:

modules/uoa-claims-api/trunk/src/main/java/eu/dnetlib/openaire/rest/ClaimsService.java
68 68
    @Path("projects/{projectId}/claims")
69 69
    @Produces(MediaType.APPLICATION_JSON)
70 70
    public Response getProjectClaims(@PathParam("projectId") String projectId,
71
                           @DefaultValue("0") @QueryParam("offset") int offset,
72
                           @DefaultValue("20") @QueryParam("limit") int limit,
73
                           @DefaultValue("") @QueryParam("keyword") String keyword,
74
                           @DefaultValue("") @QueryParam("sortby") String orderby,
75
                           @DefaultValue("true") @QueryParam("descending") boolean descending,
76
                           @DefaultValue("") @QueryParam("types") List<String> types,
71
                                     @DefaultValue("0") @QueryParam("offset") int offset,
72
                                     @DefaultValue("20") @QueryParam("limit") int limit,
73
                                     @DefaultValue("") @QueryParam("keyword") String keyword,
74
                                     @DefaultValue("") @QueryParam("sortby") String orderby,
75
                                     @DefaultValue("true") @QueryParam("descending") boolean descending,
76
                                     @DefaultValue("") @QueryParam("types") List<String> types,
77 77
                                     @HeaderParam("X-XSRF-TOKEN") String token,
78 78
                                     @CookieParam("AccessToken") String  cookie,
79
                           @Context HttpServletRequest request) {
79
                                     @Context HttpServletRequest request) {
80 80

  
81 81
        if(token == null || token.isEmpty() || cookie == null || cookie.isEmpty() || !cookie.equals(token)){
82 82
            authorization.logStatus(token,cookie);
......
118 118
    @Path("projects/{projectId}/all_claims")
119 119
    @Produces(MediaType.APPLICATION_JSON)
120 120
    public Response getAllProjectClaims(@PathParam("projectId") String projectId,
121
                                     @DefaultValue("-1") @QueryParam("offset") int offset,
122
                                     @DefaultValue("-1") @QueryParam("limit") int limit,
123
                                     @DefaultValue("") @QueryParam("keyword") String keyword,
124
                                     @DefaultValue("") @QueryParam("sortby") String orderby,
125
                                     @DefaultValue("true") @QueryParam("descending") boolean descending,
126
                                     @DefaultValue("") @QueryParam("types") List<String> types,
127
                                     @HeaderParam("X-XSRF-TOKEN") String token,
128
                                     @CookieParam("AccessToken") String  cookie,
129
                                     @Context HttpServletRequest request) {
121
                                        @DefaultValue("-1") @QueryParam("offset") int offset,
122
                                        @DefaultValue("-1") @QueryParam("limit") int limit,
123
                                        @DefaultValue("") @QueryParam("keyword") String keyword,
124
                                        @DefaultValue("") @QueryParam("sortby") String orderby,
125
                                        @DefaultValue("true") @QueryParam("descending") boolean descending,
126
                                        @DefaultValue("") @QueryParam("types") List<String> types,
127
                                        @HeaderParam("X-XSRF-TOKEN") String token,
128
                                        @CookieParam("AccessToken") String  cookie,
129
                                        @Context HttpServletRequest request) {
130 130

  
131 131
        if(token == null || token.isEmpty() || cookie == null || cookie.isEmpty() || !cookie.equals(token)){
132 132
            authorization.logStatus(token,cookie);
......
257 257
    @Path("/contexts/{contextId}/claims")
258 258
    @Produces(MediaType.APPLICATION_JSON)
259 259
    public Response getContextClaims(@PathParam("contextId") String contextId,
260
                           @DefaultValue("0") @QueryParam("offset") int offset,
261
                           @DefaultValue("20") @QueryParam("limit") int limit,
262
                           @DefaultValue("") @QueryParam("keyword") String keyword,
263
                           @DefaultValue("") @QueryParam("sortby") String orderby,
264
                           @DefaultValue("true") @QueryParam("descending") boolean descending,
265
                           @DefaultValue("") @QueryParam("types") List<String> types,
260
                                     @DefaultValue("0") @QueryParam("offset") int offset,
261
                                     @DefaultValue("20") @QueryParam("limit") int limit,
262
                                     @DefaultValue("") @QueryParam("keyword") String keyword,
263
                                     @DefaultValue("") @QueryParam("sortby") String orderby,
264
                                     @DefaultValue("true") @QueryParam("descending") boolean descending,
265
                                     @DefaultValue("") @QueryParam("types") List<String> types,
266 266
                                     @HeaderParam("X-XSRF-TOKEN") String token,
267 267
                                     @CookieParam("AccessToken") String  cookie,
268
                                     @CookieParam("openAIRESession") String  sessionId,
268 269
                                     @Context HttpServletRequest request) {
269 270
//        @RequestParam(value="includeStates[]", defaultValue="1,2,3") String[] includeStates
270 271

  
......
276 277
        }
277 278
//        logger.debug("Calling API for context with token " + token);
278 279
        UserInfo userInfo = authorization.getUserHandler().getUserInfo(token);
279
        if(authorization.isCommunityCurator(userInfo) || authorization.isClaimCurator(token) || this.emailSender.getManagerUtils().isCommunityManager(contextId, userInfo.email)) {
280
        if(authorization.isCommunityCurator(userInfo) || authorization.isClaimCurator(token) || this.emailSender.getManagerUtils().isCommunityManager(contextId, userInfo.email, sessionId )) {
280 281

  
281 282
            int total = -1;
282 283
            if (contextId == null || contextId.isEmpty()) {
......
471 472
    @Path("/claims")
472 473
    @Produces(MediaType.APPLICATION_JSON)
473 474
    public Response getAllClaims(@DefaultValue("0") @QueryParam("offset") int offset,
474
                                  @DefaultValue("20") @QueryParam("limit") int limit,
475
                                  @DefaultValue("") @QueryParam("keyword") String keyword,
476
                                  @DefaultValue("date") @QueryParam("sortby") String orderby,
477
                                  @DefaultValue("true") @QueryParam("descending") boolean descending,
478
                                  @DefaultValue("") @QueryParam("types") List<String> types,
475
                                 @DefaultValue("20") @QueryParam("limit") int limit,
476
                                 @DefaultValue("") @QueryParam("keyword") String keyword,
477
                                 @DefaultValue("date") @QueryParam("sortby") String orderby,
478
                                 @DefaultValue("true") @QueryParam("descending") boolean descending,
479
                                 @DefaultValue("") @QueryParam("types") List<String> types,
479 480
                                 @HeaderParam("X-XSRF-TOKEN") String token,
480 481
                                 @HeaderParam("Origin") String origin,
481 482
                                 @CookieParam("AccessToken") String  cookie,
482
                                  @Context HttpServletRequest request) {
483
                                 @Context HttpServletRequest request) {
483 484

  
484 485

  
485 486
        logger.debug("Header  \"Origin\" has value  " + origin);
......
513 514
        }
514 515

  
515 516
        return Response.status(Response.Status.FORBIDDEN).entity(compose403Message("Forbidden: You don't have permission to access"))
516
               .type(MediaType.APPLICATION_JSON)
517
               .build();
517
                .type(MediaType.APPLICATION_JSON)
518
                .build();
518 519
    }
519 520

  
520 521
    @DELETE
......
528 529

  
529 530

  
530 531
        if(!authorization.hasBasicAuthorization(token, origin, cookie)){
531
             return Response.status(Response.Status.FORBIDDEN).entity(compose403Message("Forbidden: You don't have permission to access. Maybe you are not registered."))
532
                     .type(MediaType.APPLICATION_JSON)
533
                     .build();
534
         }
532
            return Response.status(Response.Status.FORBIDDEN).entity(compose403Message("Forbidden: You don't have permission to access. Maybe you are not registered."))
533
                    .type(MediaType.APPLICATION_JSON)
534
                    .build();
535
        }
535 536

  
536 537

  
537 538
        ArrayList<String> deletedIds= new ArrayList<String>();
......
689 690
                    code400++;
690 691

  
691 692
                } catch (SQLStoreException|Exception e) {
692
                                    logger.error("Fail to add new claim.", e);
693
                    logger.error("Fail to add new claim.", e);
693 694
                    //                return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(compose500Message("Fail to add new claim.", e))
694 695
                    //                        .type(MediaType.APPLICATION_JSON).build();
695 696
                    jsonObject.addProperty("error", "insertion");
......
740 741
            for (JsonElement je : jsonArray) {
741 742
                JsonObject jsonObject = je.getAsJsonObject();
742 743

  
743
                 String id = jsonObject.get("id").getAsString();
744
                String id = jsonObject.get("id").getAsString();
744 745
                logger.info("id " + id);
745 746

  
746 747
                Boolean approved = jsonObject.get("approved").getAsBoolean();
......
837 838
    @Path("/users/notification")
838 839
    @Produces(MediaType.APPLICATION_JSON)
839 840
    public Response getUserEmailNotificationPreferences(@QueryParam("communityId") String openaireId,
840
                                  @HeaderParam("X-XSRF-TOKEN") String token,
841
                                  @CookieParam("AccessToken") String  cookie,
842
                                  @Context HttpServletRequest request) {
843
        
841
                                                        @HeaderParam("X-XSRF-TOKEN") String token,
842
                                                        @CookieParam("AccessToken") String  cookie,
843
                                                        @CookieParam("openAIRESession") String  sessionId,
844
                                                        @Context HttpServletRequest request) {
845

  
844 846
        if(token == null || token.isEmpty() || cookie == null || cookie.isEmpty() || !cookie.equals(token)){
845 847
            return Response.status(Response.Status.FORBIDDEN).entity(compose403Message("Forbidden: You don't have permission to access. Maybe you are not registered."))
846 848
                    .type(MediaType.APPLICATION_JSON)
......
868 870
            try {
869 871
                if(openaireId != null) {
870 872
//                    CommunityUtils communityInfo = this.emailSender.getCommunityUtils().getCommunityInfo(openaireId);
871
                    if(this.emailSender.getManagerUtils().isCommunityManager(openaireId, userMail) || authorization.isCommunityCurator(userInfo)) {
873
                    if(this.emailSender.getManagerUtils().isCommunityManager(openaireId, userMail, sessionId) || authorization.isCommunityCurator(userInfo)) {
872 874

  
873 875
                        Notification notification = null;
874 876
                        logger.debug("About to fetch notification");
......
932 934
    @Produces(MediaType.APPLICATION_JSON)
933 935
    @Consumes(MediaType.APPLICATION_JSON)
934 936
    public Response saveOrUpdateUserEmailNotificationPreferences(String input, @Context HttpServletRequest request,
935
                                     @HeaderParam("X-XSRF-TOKEN") String token,
936
                                     @HeaderParam("Origin") String origin,
937
                                     @CookieParam("AccessToken") String  cookie) {
937
                                                                 @HeaderParam("X-XSRF-TOKEN") String token,
938
                                                                 @HeaderParam("Origin") String origin,
939
                                                                 @CookieParam("AccessToken") String  cookie,
940
                                                                 @CookieParam("openAIRESession") String  sessionId) {
938 941

  
939 942

  
940 943
        if(!authorization.hasBasicAuthorization(token, origin, cookie)){
......
965 968
            EmailValidator emailValidator = EmailValidator.getInstance();
966 969
            if (!emailValidator.isValid(userMail)) {
967 970
                jsonObject.addProperty("error", "user");
968
                                return Response.status(Response.Status.BAD_REQUEST).entity(compose400Message("User e-mail is invalid."))
969
                                        .type(MediaType.APPLICATION_JSON).build();
971
                return Response.status(Response.Status.BAD_REQUEST).entity(compose400Message("User e-mail is invalid."))
972
                        .type(MediaType.APPLICATION_JSON).build();
970 973
            }
971 974

  
972 975
            try {
......
983 986
                    continueProcedure = true;
984 987
                } else {
985 988
//                    CommunityUtils communityInfo = this.emailSender.getCommunityUtils().getCommunityInfo(openaireId);
986
                    if(this.emailSender.getManagerUtils().isCommunityManager(openaireId, userMail) || authorization.isCommunityCurator(userInfo) ) {
989
                    if(this.emailSender.getManagerUtils().isCommunityManager(openaireId, userMail, sessionId) || authorization.isCommunityCurator(userInfo) ) {
987 990
                        continueProcedure = true;
988 991
                    }
989 992
                }
......
1169 1172
        return "\"total\": \""+total+"\"";
1170 1173
    }
1171 1174

  
1172
     public static void main(String[] args) {
1175
    public static void main(String[] args) {
1173 1176

  
1174 1177
/*
1175 1178
         EmailValidator emailValidator = EmailValidator.getInstance();
modules/uoa-claims-api/trunk/src/main/java/eu/dnetlib/openaire/rest/inputHandler/UserHandler.java
65 65

  
66 66
    private  UserInfo json2UserInfo(String json) {
67 67

  
68
        logger.debug("Try to create userInfo class from json: "+json);
68
//        logger.debug("Try to create userInfo class from json: "+json);
69 69
         if (json == null){
70 70
            return null;
71 71
        }
......
81 81
            return null;
82 82
        }
83 83

  
84
        logger.debug("Original response.........: "+userInfo.toString());
84
//        logger.debug("Original response.........: "+userInfo.toString());
85 85
        try {
86 86
        if(userInfo != null && userInfo.getEdu_person_entitlements() != null ) {
87 87

  
88 88
            for (int i = 0; i < userInfo.getEdu_person_entitlements().size(); i++) {
89 89
                String role = userInfo.getEdu_person_entitlements().get(i);
90
                logger.debug("AAI role: "+role);
90
//                logger.debug("AAI role: "+role);
91 91
                role = role.split(":")[role.split(":").length-1];
92 92
                role = role.split("#")[0];
93 93
                role = role.replace("+"," ");
94
                logger.debug("Adding parsed role : "+role);
94
//                logger.debug("Adding parsed role : "+role);
95 95
                userInfo.getEdu_person_entitlements().set(i,role);
96 96
            }
97 97
        }

Also available in: Unified diff