Skip to content

Commit 2a8a704

Browse files
committed
- All issues sorted
- verifying task is valid or not on request - Meeting cant be done on past start date
1 parent 7babaa7 commit 2a8a704

File tree

3 files changed

+35
-55
lines changed

3 files changed

+35
-55
lines changed

src/main/java/com/hrms/backend/services/commentService/CommentServiceImpl.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22

33
import com.hrms.backend.dtos.entityDtos.Comment.CommentRequestDto;
44
import com.hrms.backend.dtos.entityDtos.Comment.CommentResponseDto;
5+
import com.hrms.backend.dtos.entityDtos.Task.TaskResponseDto;
56
import com.hrms.backend.dtos.entityDtos.User.UserInfo;
67
import com.hrms.backend.dtos.entityDtos.User.response.UserResponseDto;
78
import com.hrms.backend.models.Comment;
89
import com.hrms.backend.repositories.CommentRepository;
10+
import com.hrms.backend.repositories.CompanyRepository;
11+
import com.hrms.backend.services.taskService.TaskServiceInterface;
912
import com.hrms.backend.services.userService.UserServiceInterface;
1013
import org.springframework.beans.factory.annotation.Autowired;
1114
import org.springframework.stereotype.Service;
@@ -20,9 +23,14 @@ public class CommentServiceImpl implements CommentService {
2023
private CommentRepository commentRepository;
2124
@Autowired
2225
private UserServiceInterface userServiceInterface;
26+
@Autowired
27+
private TaskServiceInterface taskServiceInterface;
28+
@Autowired
29+
private CompanyRepository companyRepository;
2330

2431
@Override
2532
public CommentResponseDto addComment(String userId, CommentRequestDto dto) {
33+
TaskResponseDto taskResponseDto = taskServiceInterface.getTaskById(dto.getTaskId());
2634
Comment comment = Comment.builder()
2735
.taskId(dto.getTaskId())
2836
.userId(userId)

src/main/java/com/hrms/backend/services/meetingService/MeetingServiceImpl.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,20 @@ public class MeetingServiceImpl implements MeetingServiceInterface {
4242
//HR
4343
public MeetingResponseDto scheduleMeeting(String hrId,MeetingRequestDto dto) {
4444
User user = userRepository.findById(hrId).orElseThrow(() -> new BadApiRequestException("Not authorized to create meetings"));
45+
46+
LocalDateTime startTime = LocalDateTime.parse(dto.getStartTime());
47+
LocalDateTime endTime = LocalDateTime.parse(dto.getEndTime());
48+
49+
// Checking if meeting is in the past
50+
if (startTime.isBefore(LocalDateTime.now())) {
51+
throw new BadApiRequestException("Cannot schedule a meeting in the past");
52+
}
53+
54+
// validating endTime > startTime
55+
if (!endTime.isAfter(startTime)) {
56+
throw new BadApiRequestException("Meeting end time must be after start time");
57+
}
58+
4559
for (String participant : dto.getParticipants()) {
4660
boolean conflict = meetingRepository.existsByCompanyCodeAndParticipantsContainsAndStartTimeLessThanEqualAndEndTimeGreaterThanEqual(
4761
user.getCompanyCode(), participant, LocalDateTime.parse(dto.getEndTime()), LocalDateTime.parse(dto.getStartTime())
@@ -145,7 +159,20 @@ public MeetingResponseDto editMeetingDetails(MeetingRequestDto meetingRequestDto
145159
if (!meeting.getOrganizer().equals(userId)) {
146160
throw new BadApiRequestException("Unauthorized to edit this meeting.");
147161
}
162+
LocalDateTime startTime = LocalDateTime.parse(meetingRequestDto.getStartTime());
163+
LocalDateTime endTime = LocalDateTime.parse(meetingRequestDto.getEndTime());
164+
165+
// Checking if meeting is in the past
166+
if (startTime.isBefore(LocalDateTime.now())) {
167+
throw new BadApiRequestException("Cannot schedule a meeting in the past");
168+
}
169+
170+
// validating endTime > startTime
171+
if (!endTime.isAfter(startTime)) {
172+
throw new BadApiRequestException("Meeting end time must be after start time");
173+
}
148174
mapper.map(meetingRequestDto,meeting);
175+
meetingRepository.save(meeting);
149176
return mapper.map(meeting, MeetingResponseDto.class);
150177
}
151178

src/main/java/com/hrms/backend/services/userService/UserServiceImplementation.java

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -203,59 +203,4 @@ public SuccessApiResponseMessage retrieveFromWaitlistCompany(String userId) {
203203
return new SuccessApiResponseMessage("Successfully retrieved from waiting company");
204204
}
205205

206-
207-
// @Override
208-
// public void deleteUser(String userId) {
209-
// User user = userRepository.findById(userId).orElseThrow(()-> new ResourceNotFoundException("User not found"));
210-
// //deleting user image
211-
// String imageName = user.getImageName();
212-
// String fullImagePath = imagePath+ File.separator+imageName;
213-
// try { // below deleting image of user
214-
// // sometimes it give file cant be access error
215-
// // but when we will upload in server this error will be gone
216-
// Path path = Paths.get(fullImagePath);
217-
// Files.delete(path);
218-
// }
219-
// catch (Exception e){ // if file does not exist
220-
// System.out.println(e.getMessage()+" No Such File exist");
221-
// }
222-
// //deleting user
223-
// userRepository.deleteById(userId);
224-
// }
225-
226-
// @Override
227-
// public PageableResponse<UserDto> getAllUser(int pageNumber, int pageSize, String sortBy, String sortDir) {
228-
//
229-
// //Sorting
230-
// Sort sort = sortDir.equalsIgnoreCase("desc")? Sort.by(sortBy).descending():Sort.by(sortBy).ascending();
231-
// //Pagination
232-
// Pageable pageable = PageRequest.of(pageNumber, pageSize,sort);
233-
// Page<User> page = userRepository.findAll(pageable);
234-
// PageableResponse<UserDto> pagableResponse = Helper.getPagableResponse(page, UserDto.class);
235-
//
236-
// return pagableResponse;
237-
// }
238-
239-
// @Override
240-
// public UserDto getUserById(String userId) {
241-
// User user = userRepository.findById(userId).orElseThrow(()-> new ResourceNotFoundException("User not found"));
242-
// return entityToDto(user);
243-
// }
244-
245-
// @Override
246-
// public UserDto getUserByEmail(String email) {
247-
// User user = userRepository.findByEmail(email).orElseThrow(()-> new ResourceNotFoundException("Email not found"));
248-
// return entityToDto(user);
249-
// }
250-
251-
// @Override
252-
// public List<UserDto> getUserByKeyword(String keyword) {
253-
// List<User> user = userRepository.findByNameContaining(keyword);
254-
// List<UserDto> userDto = new ArrayList<>();
255-
// for(User u : user){
256-
// userDto.add(entityToDto(u));
257-
// }
258-
// return userDto;
259-
// }
260-
261206
}

0 commit comments

Comments
 (0)