Commit 05bd7035 authored by shishir suman's avatar shishir suman
Browse files

adding API to get all config

2 merge requests!39Uphrh 7903 mobile otp,!37adding API to get all config
Showing with 48 additions and 32 deletions
+48 -32
......@@ -15,6 +15,8 @@ import org.upsmf.grievance.model.reponse.Response;
import org.upsmf.grievance.service.SchedulerConfigService;
import org.upsmf.grievance.util.ErrorCode;
import java.util.List;
@Slf4j
@Controller
@RequestMapping("/api/config/mail")
......@@ -65,10 +67,10 @@ public class SchedulerConfigController {
}
}
@PostMapping("/activate/{id}")
public ResponseEntity activateMailConfig(@PathVariable("id") long id, @RequestParam Long userId) {
@PostMapping("/status/update")
public ResponseEntity activateMailConfig(@RequestParam Long id, @RequestParam Boolean active, @RequestParam Long userId) {
try {
MailConfigDto mailConfig = schedulerConfigService.activateConfigById(id, userId);
MailConfigDto mailConfig = schedulerConfigService.activateConfigById(id, active, userId);
return new ResponseEntity(new Response(HttpStatus.OK.value(), mailConfig), HttpStatus.OK);
} catch (CustomException e) {
log.error("Error in while creating user - at controller");
......@@ -79,10 +81,10 @@ public class SchedulerConfigController {
}
}
@PostMapping("/deactivate/{id}")
public ResponseEntity deactivateMailConfig(@PathVariable("id") long id, @RequestParam Long userId) {
@GetMapping("/all")
public ResponseEntity getAllMailConfig() {
try {
MailConfigDto mailConfig = schedulerConfigService.deactivateConfigById(id, userId);
List<MailConfigDto> mailConfig = schedulerConfigService.getAll();
return new ResponseEntity(new Response(HttpStatus.OK.value(), mailConfig), HttpStatus.OK);
} catch (CustomException e) {
log.error("Error in while creating user - at controller");
......
package org.upsmf.grievance.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import lombok.*;
import org.apache.commons.lang.ArrayUtils;
import org.upsmf.grievance.model.MailConfig;
......@@ -13,6 +10,7 @@ import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Builder
public class MailConfigDto {
......
......@@ -3,6 +3,7 @@ package org.upsmf.grievance.model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;
......@@ -14,6 +15,7 @@ import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@Table(name = "mail_config")
......
......@@ -4,6 +4,8 @@ import org.upsmf.grievance.dto.MailConfigDto;
import org.upsmf.grievance.dto.SearchMailConfigDto;
import org.upsmf.grievance.dto.SearchMailConfigResponseDto;
import java.util.List;
public interface SchedulerConfigService {
SearchMailConfigResponseDto searchMailConfig(SearchMailConfigDto searchMailConfigDto);
......@@ -12,7 +14,7 @@ public interface SchedulerConfigService {
MailConfigDto update(MailConfigDto mailConfigDto);
MailConfigDto activateConfigById(Long id, Long userId);
MailConfigDto activateConfigById(Long id, Boolean active, Long userId);
MailConfigDto deactivateConfigById(Long id, Long userId);
List<MailConfigDto> getAll();
}
......@@ -14,6 +14,9 @@ import org.upsmf.grievance.service.SchedulerConfigService;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Optional;
@Service
......@@ -44,7 +47,7 @@ public class SchedulerConfigServiceImpl implements SchedulerConfigService {
if(mailConfigDto == null) {
throw new InvalidRequestException("Invalid Request");
}
if(mailConfigDto.getId() != null || mailConfigDto.getId() > 0) {
if(mailConfigDto.getId() != null && mailConfigDto.getId() > 0) {
throw new InvalidRequestException("Invalid Request");
}
if(mailConfigDto.getAuthorityEmails() == null || mailConfigDto.getAuthorityEmails().isEmpty()) {
......@@ -83,20 +86,38 @@ public class SchedulerConfigServiceImpl implements SchedulerConfigService {
}
private void validateUpdatePayload(MailConfigDto mailConfigDto) {
if(mailConfigDto == null) {
throw new InvalidRequestException("Invalid Request");
}
if(mailConfigDto.getId() == null || mailConfigDto.getId() <= 0) {
throw new InvalidRequestException("Invalid Request");
}
if(mailConfigDto.getAuthorityEmails() != null && mailConfigDto.getAuthorityEmails().isEmpty()) {
throw new InvalidRequestException("Missing Authority Emails");
}
if(mailConfigDto.getConfigValue() == null || mailConfigDto.getConfigValue() <= 0) {
throw new InvalidRequestException("Invalid Configuration value");
}
if(mailConfigDto.getUpdatedBy() == null || mailConfigDto.getUpdatedBy() <= 0) {
throw new InvalidRequestException("Missing user details");
}
}
@Override
public MailConfigDto activateConfigById(Long id, Long userId) {
public MailConfigDto activateConfigById(Long id, Boolean active, Long userId) {
if(id == null || id <= 0) {
throw new InvalidRequestException("Invalid request");
}
if(userId == null || userId <= 0) {
throw new InvalidRequestException("Invalid request");
}
if(active == null) {
active = true;
}
Optional<MailConfig> configById = mailConfigRepository.findById(id);
if(configById.isPresent()) {
MailConfig existingConfig = configById.get();
existingConfig.setActive(true);
existingConfig.setActive(active.booleanValue());
existingConfig.setUpdatedBy(userId);
existingConfig.setUpdatedDate(Timestamp.valueOf(LocalDateTime.now()));
existingConfig = mailConfigRepository.save(existingConfig);
......@@ -107,23 +128,14 @@ public class SchedulerConfigServiceImpl implements SchedulerConfigService {
}
@Override
public MailConfigDto deactivateConfigById(Long id, Long userId) {
if(id == null || id <= 0) {
throw new InvalidRequestException("Invalid request");
}
if(userId == null || userId <= 0) {
throw new InvalidRequestException("Invalid request");
}
Optional<MailConfig> configById = mailConfigRepository.findById(id);
if(configById.isPresent()) {
MailConfig existingConfig = configById.get();
existingConfig.setActive(false);
existingConfig.setUpdatedBy(userId);
existingConfig.setUpdatedDate(Timestamp.valueOf(LocalDateTime.now()));
existingConfig = mailConfigRepository.save(existingConfig);
// TODO stop scheduledTaskExecutor
return new MailConfigDto(existingConfig);
public List<MailConfigDto> getAll() {
Iterable<MailConfig> configIterable = mailConfigRepository.findAll();
List<MailConfigDto> configs = new ArrayList<>();
Iterator<MailConfig> iterator = configIterable.iterator();
while (iterator.hasNext()) {
MailConfig mailConfig = iterator.next();
configs.add(new MailConfigDto(mailConfig));
}
throw new SchedulerConfigException("Unable to deactivate configuration");
return configs;
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment