1 package com.rest;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
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 }