View Javadoc
1   package com.rest;
2   
3   /*
4    * #%L
5    * Gateway
6    * %%
7    * Copyright (C) 2015 Powered by Sergey
8    * %%
9    * Licensed under the Apache License, Version 2.0 (the "License");
10   * you may not use this file except in compliance with the License.
11   * You may obtain a copy of the License at
12   * 
13   *      http://www.apache.org/licenses/LICENSE-2.0
14   * 
15   * Unless required by applicable law or agreed to in writing, software
16   * distributed under the License is distributed on an "AS IS" BASIS,
17   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   * See the License for the specific language governing permissions and
19   * limitations under the License.
20   * #L%
21   */
22  
23  
24  import com.dto.InvitationResponseDto;
25  import com.entity.InvitationEntity;
26  import com.entity.TranslationEntity;
27  import com.repository.IInvitationRepository;
28  import com.repository.ITranslationRepository;
29  import com.utils.SecurityContextReader;
30  import org.springframework.beans.factory.annotation.Autowired;
31  import org.springframework.context.i18n.LocaleContextHolder;
32  import org.springframework.stereotype.Component;
33  import org.springframework.transaction.annotation.Transactional;
34  import org.springframework.web.bind.annotation.RequestMapping;
35  import org.springframework.web.bind.annotation.RequestMethod;
36  import org.springframework.web.bind.annotation.RestController;
37  
38  import java.util.ArrayList;
39  import java.util.List;
40  
41  /**
42   * Created by aautushk on 9/19/2015.
43   */
44  @Component
45  @RestController
46  @RequestMapping("/gateway")
47  public class InvitationRest {
48      @Autowired
49      public IInvitationRepository invitationRepository;
50  
51      @Autowired
52      public ITranslationRepository translationRepository;
53  
54      public SecurityContextReader securityContextReader = new SecurityContextReader();
55  
56      @RequestMapping(value = "/getReceivedInvitations", method = RequestMethod.GET)
57      @Transactional
58      public List<InvitationResponseDto> getReceivedInvitations() {
59          List<InvitationEntity> invitationEntities = new ArrayList<InvitationEntity>();
60          List<InvitationResponseDto> invitationResponseDtos = new ArrayList<InvitationResponseDto>();
61  
62          invitationEntities = invitationRepository.findByRecipientEmailAndIsInvitationAccepted(securityContextReader.getUsername(), false);
63  
64          if(invitationEntities != null){
65              for(InvitationEntity invitationEntity : invitationEntities){
66                  InvitationResponseDto invitationResponseDto = new InvitationResponseDto();
67                  invitationResponseDto.setInvtitationGuid(invitationEntity.getInvitationGuid());
68  
69                  TranslationEntity translationEntity = translationRepository.findByParentGuidAndFieldAndLanguage(invitationEntity.getProjectGuid(), "description", LocaleContextHolder.getLocale().getDisplayLanguage());
70  
71                  if(translationEntity != null){
72                      invitationResponseDto.setProjectDescription(translationEntity.getContent());
73                      invitationResponseDto.setCreatedBy(invitationEntity.getCreatedByUser());
74                      invitationResponseDto.setCreatedAt(invitationEntity.getCreatedAt());
75                  }
76  
77                  invitationResponseDtos.add(invitationResponseDto);
78              }
79          }
80  
81          return invitationResponseDtos;
82      };
83  }