Skip to content
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

request service and endpoints #14

Open
wants to merge 21 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package io.turntabl.employementprofilingsystem.Controllers;

import io.swagger.annotations.ApiOperation;
import io.turntabl.employementprofilingsystem.Models.RequestTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.text.SimpleDateFormat;
import java.util.List;

@RestController
public class RequestController {

@Autowired
JdbcTemplate jdbcTemplate;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are you using a DAO for this? The controller uses the DAO, the DAO uses the JdbcTemplate.

This is fine if you're not using a DAO...

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we're not using DAO


@CrossOrigin
@ApiOperation("Make a request")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a what request? all of these services are requests...

@PostMapping("/api/v1/request")
public void makeARequest(@RequestBody RequestTO request) {
jdbcTemplate.update("insert into requests(requester_id, request_start_date, request_report_date) values(?,?,?)",
request.getRequester_id(), request.getRequest_start_date(), request.getRequest_report_date());
}

@CrossOrigin
@ApiOperation("Get all requests for requester")
@GetMapping("/api/v1/request/requester/{id}")
public List<RequestTO> getRequestByRequesterId(@PathVariable("id") Integer id) {
return this.jdbcTemplate.query(
"select select request_start_date, request_report_date, request_status.req_status from requests inner join request_status on " +
"requests.request_status_id = request_status.request_status_id where requester_id = ?",
new Object[]{id},
new BeanPropertyRowMapper<>(RequestTO.class)
);
}

@CrossOrigin
@ApiOperation("Get all requests")
@GetMapping("/api/v1/requests")
public List<RequestTO> getAllRequests() {
return this.jdbcTemplate.query("select select request_start_date, request_report_date, request_status.req_status from requests inner join request_status on" +
"requests.request_status_id = request_status.request_status_id",
new BeanPropertyRowMapper<RequestTO>(RequestTO.class)
);
}

@CrossOrigin
@ApiOperation("Accept Request")
@PutMapping("/api/v1/requests/approve/{id}")
public void approveRequest(@PathVariable("id") Integer request_id) {
this.jdbcTemplate.update("update requests set request_status_id = 3 where request_status_id = 1 and request_id = ?", request_id);
}

@CrossOrigin
@ApiOperation("Decline Request")
@PutMapping("/api/v1/requests/decline/{id}")
public void declineRequest(@PathVariable("id") Integer request_id) {
this.jdbcTemplate.update("update requests set request_status_id = 2 where request_status_id = 1 and request_id = ?", request_id);
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
package io.turntabl.employementprofilingsystem.Models;

import java.util.Date;

public class RequestTO {
private int request_id;
private int requester_id;
private Date request_start_date;
private Date request_report_date;
private int request_status_id;
private String from;
private String requester_name;

public RequestTO() {
}

public RequestTO(int request_id, int requester_id, Date request_start_date, Date request_report_date, int request_status_id, String from, String requester_name) {
this.request_id = request_id;
this.requester_id = requester_id;
this.request_start_date = request_start_date;
this.request_report_date = request_report_date;
this.request_status_id = request_status_id;
this.from = from;
this.requester_name = requester_name;
}

public int getRequest_id() {
return request_id;
}

public void setRequest_id(int request_id) {
this.request_id = request_id;
}

public int getRequester_id() {
return requester_id;
}

public void setRequester_id(int requester_id) {
this.requester_id = requester_id;
}

public Date getRequest_start_date() {
return request_start_date;
}

public void setRequest_start_date(Date request_start_date) {
this.request_start_date = request_start_date;
}

public Date getRequest_report_date() {
return request_report_date;
}

public void setRequest_report_date(Date request_report_date) {
this.request_report_date = request_report_date;
}

public int getRequest_status_id() {
return request_status_id;
}

public void setRequest_status_id(int request_status_id) {
this.request_status_id = request_status_id;
}

public String getFrom() {
return from;
}

public void setFrom(String from) {
this.from = from;
}

public String getRequester_name() {
return requester_name;
}

public void setRequester_name(String requester_name) {
this.requester_name = requester_name;
}

@Override
public String toString() {
return "RequestTO{" +
"request_id=" + request_id +
", requester_id=" + requester_id +
", request_start_date=" + request_start_date +
", request_report_date=" + request_report_date +
", request_status_id=" + request_status_id +
", from='" + from + '\'' +
", requester_name='" + requester_name + '\'' +
'}';
}
}