-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
added Request form api #28
Closed
Closed
Changes from 1 commit
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
078efb3
rebased to auth branch
ChiragJS 0ba7fb1
added authorisation
ChiragJS 56acf6b
made required changes upon review
ChiragJS 4afab79
Merge branch 'master' of https://github.com/IEEE-RVCE/GateKeeper
SundarakrishnanN 03020a8
Added option to unsubscribe from emails
SundarakrishnanN 6605ebd
added Request form api
ChiragJS fc9b420
Merge branch 'crudRequestForms' of https://github.com/IEEE-RVCE/GateK…
SundarakrishnanN fc847c1
Modified DB,autogenearting the hierarchy
SundarakrishnanN File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,3 +8,7 @@ services: | |
- 'MYSQL_USER=myuser' | ||
ports: | ||
- '3306' | ||
volumes: | ||
- mysql_data:/var/lib/mysql | ||
volumes: | ||
mysql_data: |
15 changes: 15 additions & 0 deletions
15
src/main/java/org/ieeervce/gatekeeper/PDFNotConversionException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package org.ieeervce.gatekeeper; | ||
|
||
import org.springframework.http.HttpStatus; | ||
import org.springframework.web.bind.annotation.ResponseStatus; | ||
|
||
@ResponseStatus(HttpStatus.BAD_REQUEST) | ||
public class PDFNotConversionException extends Exception{ | ||
public PDFNotConversionException(String message){ | ||
super(message); | ||
} | ||
} | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
79 changes: 79 additions & 0 deletions
79
src/main/java/org/ieeervce/gatekeeper/controller/RequestFormController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
package org.ieeervce.gatekeeper.controller; | ||
|
||
import jakarta.mail.Multipart; | ||
import org.ieeervce.gatekeeper.InvalidDataException; | ||
import org.ieeervce.gatekeeper.ItemNotFoundException; | ||
import org.ieeervce.gatekeeper.PDFNotConversionException; | ||
import org.ieeervce.gatekeeper.dto.RequestDTO; | ||
import org.ieeervce.gatekeeper.entity.RequestForm; | ||
import org.ieeervce.gatekeeper.entity.Role; | ||
import org.ieeervce.gatekeeper.entity.Society; | ||
import org.ieeervce.gatekeeper.entity.User; | ||
import org.ieeervce.gatekeeper.service.RequestFormService; | ||
import org.ieeervce.gatekeeper.service.UserService; | ||
import org.modelmapper.ModelMapper; | ||
import org.springframework.http.MediaType; | ||
import org.springframework.web.bind.annotation.*; | ||
import org.springframework.web.multipart.MultipartFile; | ||
|
||
import java.awt.*; | ||
import java.util.List; | ||
|
||
@RestController | ||
@RequestMapping("/requestForm") | ||
public class RequestFormController { | ||
|
||
private final ModelMapper modelMapper; | ||
private final RequestFormService requestFormService; | ||
|
||
private final UserService userService; | ||
RequestFormController(RequestFormService requestFormService, ModelMapper modelMapper, UserService userService){ | ||
this.requestFormService = requestFormService; | ||
this.modelMapper= modelMapper; | ||
this.userService = userService; | ||
} | ||
|
||
@GetMapping | ||
public List<RequestForm> getAll(){ | ||
return requestFormService.list(); | ||
} | ||
|
||
@GetMapping("/{requestFormId}") | ||
public RequestForm getOne(@PathVariable Long requestFormId) throws ItemNotFoundException { | ||
return requestFormService.findOne(requestFormId); | ||
} | ||
|
||
@DeleteMapping("/{requestFormID}") | ||
public void deleteRequestForm(@PathVariable Long requestFormId) throws ItemNotFoundException{ | ||
requestFormService.delete(requestFormId); | ||
} | ||
|
||
@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE) | ||
public RequestForm postRequestForm(@RequestParam("eventTitle") String eventTitle, @RequestParam("isFinance") boolean isFinance , @RequestParam("requesterUserId") Integer requesterUserId, @RequestParam("formPDF") MultipartFile formPDF ) throws InvalidDataException,PDFNotConversionException{ | ||
RequestForm requestForm = new RequestForm(); | ||
requestForm.setEventTitle(eventTitle); | ||
requestForm.setFinance(isFinance); | ||
|
||
try { | ||
requestForm.setFormPDF(formPDF.getBytes()); | ||
if (requesterUserId != null) { | ||
User user = userService.getUserById(requesterUserId); | ||
requestForm.setRequester(user); | ||
} | ||
} | ||
catch(ItemNotFoundException e ){ | ||
throw new InvalidDataException("Invalid user Id"); | ||
} | ||
catch (java.io.IOException e){ | ||
throw new PDFNotConversionException("Could not store pdf"); | ||
} | ||
|
||
return requestFormService.save(requestForm); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This returns the entire thing as JSON. how is the file returned? |
||
} | ||
|
||
@PutMapping("/{requestFormId}") | ||
public RequestForm editRequestForm(@RequestBody RequestDTO requestDTO,@PathVariable Long requestFormId) throws ItemNotFoundException{ | ||
RequestForm editedRequestForm = modelMapper.map(requestDTO, RequestForm.class); | ||
return requestFormService.edit(requestFormId, editedRequestForm); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package org.ieeervce.gatekeeper.dto; | ||
|
||
import org.ieeervce.gatekeeper.entity.FinalStatus; | ||
import org.springframework.web.multipart.MultipartFile; | ||
|
||
public class RequestDTO { | ||
private String eventTitle; | ||
private Integer requesterUserId; | ||
|
||
private boolean isFinance ; | ||
private MultipartFile formPDF ; | ||
|
||
|
||
public String getEventTitle() { | ||
return eventTitle; | ||
} | ||
|
||
public void setEventTitle(String eventTitle) { | ||
this.eventTitle = eventTitle; | ||
} | ||
|
||
public Integer getRequesterUserId() { | ||
return requesterUserId; | ||
} | ||
|
||
public void setRequesterUserId(Integer requesterUserId) { | ||
this.requesterUserId = requesterUserId; | ||
} | ||
|
||
|
||
public boolean isFinance() { | ||
return isFinance; | ||
} | ||
|
||
public void setFinance(boolean finance) { | ||
isFinance = finance; | ||
} | ||
|
||
public MultipartFile getFormPDF() { | ||
return formPDF; | ||
} | ||
|
||
public void setFormPDF(MultipartFile formPDF) { | ||
this.formPDF = formPDF; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
src/main/java/org/ieeervce/gatekeeper/repository/RequestFormRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package org.ieeervce.gatekeeper.repository; | ||
|
||
import org.ieeervce.gatekeeper.entity.RequestForm; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
|
||
public interface RequestFormRepository extends JpaRepository<RequestForm,Long> { | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
47 changes: 47 additions & 0 deletions
47
src/main/java/org/ieeervce/gatekeeper/service/RequestFormService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
package org.ieeervce.gatekeeper.service; | ||
|
||
import jakarta.transaction.Transactional; | ||
import org.ieeervce.gatekeeper.ItemNotFoundException; | ||
import org.ieeervce.gatekeeper.entity.RequestForm; | ||
import org.ieeervce.gatekeeper.repository.RequestFormRepository; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.stereotype.Service; | ||
|
||
import java.util.List; | ||
import java.util.Optional; | ||
|
||
@Service | ||
public class RequestFormService { | ||
|
||
static final String ITEM_NOT_FOUND="Request Form Not Found"; | ||
private final RequestFormRepository requestFormRepository; | ||
@Autowired | ||
RequestFormService(RequestFormRepository requestFormRepository){ | ||
this.requestFormRepository= requestFormRepository; | ||
} | ||
public RequestForm findOne(Long requestFormId)throws ItemNotFoundException{ | ||
return requestFormRepository.findById(requestFormId).orElseThrow(()-> new ItemNotFoundException(ITEM_NOT_FOUND + requestFormId)); | ||
} | ||
public RequestForm add(RequestForm requestForm){ | ||
return requestFormRepository.save(requestForm); | ||
} | ||
public List<RequestForm> list(){ | ||
return requestFormRepository.findAll(); | ||
} | ||
|
||
public RequestForm save(RequestForm requestForm){ | ||
return requestFormRepository.save(requestForm); | ||
} | ||
public void delete(Long requestFormId){ | ||
requestFormRepository.deleteById(requestFormId); | ||
} | ||
@Transactional | ||
public RequestForm edit(Long requestFormId, RequestForm editedRequestForm) throws ItemNotFoundException{ | ||
Optional<RequestForm> existingRequestForm = requestFormRepository.findById(requestFormId); | ||
return existingRequestForm.map((requestForm)->{ | ||
editedRequestForm.setId(requestFormId); | ||
editedRequestForm.setCreatedAt(requestForm.getCreatedAt()); | ||
return requestFormRepository.save(editedRequestForm); | ||
}).orElseThrow(()-> new ItemNotFoundException(ITEM_NOT_FOUND+requestFormId)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FailedFileConversionException?
If you want to keep the same name, pls add a javadoc mentioning what this exception means