package com.zenquery.api;
import com.zenquery.model.DatabaseConnection;
import com.zenquery.model.dao.DatabaseConnectionDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Controller
@RequestMapping("/api/v1/databaseConnections")
public class DatabaseConnectionController {
@Autowired
private DatabaseConnectionDAO databaseConnectionDAO;
@RequestMapping(value = "/findAll", method = RequestMethod.GET, produces = { "application/xml; charset=utf-8", "application/json; charset=utf-8" })
public @ResponseBody
List<DatabaseConnection> findAll() {
return databaseConnectionDAO.findAll();
}
@RequestMapping(value = "/{id}", method = RequestMethod.GET, produces = { "application/xml; charset=utf-8", "application/json; charset=utf-8" })
public @ResponseBody
DatabaseConnection find(@PathVariable Integer id) {
return databaseConnectionDAO.find(id);
}
@RequestMapping(
method = RequestMethod.POST,
consumes = { "application/xml; charset=utf-8", "application/json; charset=utf-8" },
produces = { "application/xml; charset=utf-8", "application/json; charset=utf-8" })
public @ResponseBody
DatabaseConnection create(
@RequestBody DatabaseConnection databaseConnection
) {
Number id = databaseConnectionDAO.insert(databaseConnection);
return databaseConnectionDAO.find(new Long(id.longValue()).intValue());
}
@RequestMapping(
value = "/{id}",
consumes = { "application/xml; charset=utf-8", "application/json; charset=utf-8" },
method = RequestMethod.PUT)
public @ResponseBody String update(
@PathVariable Integer id,
@RequestBody DatabaseConnection databaseConnection
) {
databaseConnectionDAO.update(id, databaseConnection);
return "OK";
}
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
public @ResponseBody String delete(@PathVariable Integer id) {
databaseConnectionDAO.delete(id);
return "OK";
}
}