Completely rebuild server-project with gradle
This commit is contained in:
118
server/src/main/java/com/vpr/server/DateEvent.java
Normal file
118
server/src/main/java/com/vpr/server/DateEvent.java
Normal file
@@ -0,0 +1,118 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.sql.Time;
|
||||
|
||||
public class DateEvent {
|
||||
private long userId;
|
||||
private String userName;
|
||||
private String userForename;
|
||||
|
||||
private Date date;
|
||||
|
||||
private String name;
|
||||
private Integer priority;
|
||||
private boolean isFullDay;
|
||||
private Time start;
|
||||
private Time end;
|
||||
|
||||
public DateEvent(UserEvent userEvent) {
|
||||
this.userId = userEvent.getUser().getId();
|
||||
this.userName = userEvent.getUser().getName();
|
||||
this.userForename = userEvent.getUser().getForename();
|
||||
this.date = userEvent.getDate();
|
||||
this.name = userEvent.getEvent().getName();
|
||||
this.priority = userEvent.getEvent().getPriority();
|
||||
this.isFullDay = userEvent.getEvent().isFullDay();
|
||||
this.start = userEvent.getEvent().getStart();
|
||||
this.end = userEvent.getEvent().getEnd();
|
||||
}
|
||||
|
||||
public DateEvent(long userId, String userName, String userForename, Date date, String name, Integer priority, boolean isFullDay, Time start, Time end) {
|
||||
this.userId = userId;
|
||||
this.userName = userName;
|
||||
this.userForename = userForename;
|
||||
this.date = date;
|
||||
this.name = name;
|
||||
this.priority = priority;
|
||||
this.isFullDay = isFullDay;
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
}
|
||||
|
||||
/*********************
|
||||
* Getter and Setter *
|
||||
*********************/
|
||||
|
||||
public long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public void setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
public String getUserForename() {
|
||||
return userForename;
|
||||
}
|
||||
|
||||
public void setUserForename(String userForename) {
|
||||
this.userForename = userForename;
|
||||
}
|
||||
|
||||
public Date getDate() {
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(Date date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Integer getPriority() {
|
||||
return priority;
|
||||
}
|
||||
|
||||
public void setPriority(Integer priority) {
|
||||
this.priority = priority;
|
||||
}
|
||||
|
||||
public boolean isFullDay() {
|
||||
return isFullDay;
|
||||
}
|
||||
|
||||
public void setFullDay(boolean fullDay) {
|
||||
isFullDay = fullDay;
|
||||
}
|
||||
|
||||
public Time getStart() {
|
||||
return start;
|
||||
}
|
||||
|
||||
public void setStart(Time start) {
|
||||
this.start = start;
|
||||
}
|
||||
|
||||
public Time getEnd() {
|
||||
return end;
|
||||
}
|
||||
|
||||
public void setEnd(Time end) {
|
||||
this.end = end;
|
||||
}
|
||||
}
|
97
server/src/main/java/com/vpr/server/Event.java
Normal file
97
server/src/main/java/com/vpr/server/Event.java
Normal file
@@ -0,0 +1,97 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.sql.Time;
|
||||
import java.util.List;
|
||||
|
||||
// @Entity creates a table out of this class with Hibernate
|
||||
@Entity(name = "Event")
|
||||
public class Event {
|
||||
// Generate the primary key
|
||||
@Id
|
||||
@GeneratedValue(strategy=GenerationType.IDENTITY)
|
||||
private long id;
|
||||
|
||||
private String name;
|
||||
private Integer priority;
|
||||
private boolean isFullDay;
|
||||
private Time start;
|
||||
private Time end;
|
||||
|
||||
@OneToMany(mappedBy = "event")
|
||||
private List<UserEvent> userEvent;
|
||||
|
||||
/*********************
|
||||
* Getter and Setter *
|
||||
*********************/
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Integer getPriority() {
|
||||
return priority;
|
||||
}
|
||||
|
||||
public void setPriority(Integer priority) {
|
||||
this.priority = priority;
|
||||
}
|
||||
|
||||
public boolean isFullDay() {
|
||||
return isFullDay;
|
||||
}
|
||||
|
||||
public void setFullDay(boolean fullDay) {
|
||||
isFullDay = fullDay;
|
||||
}
|
||||
|
||||
public Time getStart() {
|
||||
return start;
|
||||
}
|
||||
|
||||
public void setStart(Time start) {
|
||||
this.start = start;
|
||||
}
|
||||
|
||||
public Time getEnd() {
|
||||
return end;
|
||||
}
|
||||
|
||||
public void setEnd(Time end) {
|
||||
this.end = end;
|
||||
}
|
||||
|
||||
public List<UserEvent> getUserEvent() {
|
||||
return userEvent;
|
||||
}
|
||||
|
||||
public void setUserEvent(List<UserEvent> userEvent) {
|
||||
this.userEvent = userEvent;
|
||||
}
|
||||
|
||||
// toString
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Event{" +
|
||||
"id=" + id +
|
||||
", name='" + name + '\'' +
|
||||
", priority=" + priority +
|
||||
", isFullDay=" + isFullDay +
|
||||
", start=" + start +
|
||||
", end=" + end +
|
||||
", userEvent=" + userEvent +
|
||||
'}';
|
||||
}
|
||||
}
|
12
server/src/main/java/com/vpr/server/EventRepository.java
Normal file
12
server/src/main/java/com/vpr/server/EventRepository.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
// This will be AUTO IMPLEMENTED by Spring into a Bean called eventRepository
|
||||
// CRUD refers Create, Read, Update, Delete
|
||||
|
||||
public interface EventRepository extends CrudRepository<Event, Integer> {
|
||||
|
||||
}
|
72
server/src/main/java/com/vpr/server/MainController.java
Normal file
72
server/src/main/java/com/vpr/server/MainController.java
Normal file
@@ -0,0 +1,72 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.sql.Date;
|
||||
|
||||
@Controller // This means that this class is a Controller
|
||||
@RequestMapping(path="/vpr") // This means URL's start with /demo (after Application path)
|
||||
public class MainController {
|
||||
|
||||
// This means to get the bean called userRepository
|
||||
// Which is auto-generated by Spring, we will use it to handle the data
|
||||
@Autowired
|
||||
private com.vpr.server.UserRepository userRepository;
|
||||
|
||||
@Autowired
|
||||
private EventRepository eventRepository;
|
||||
|
||||
@Autowired
|
||||
private UserEventRepository userEventRepository;
|
||||
|
||||
// POST-request at /add with request parameter
|
||||
// @ResponseBody means the returned String is the response, not a view name
|
||||
@PostMapping(path="/add-user")
|
||||
public @ResponseBody String addNewUser (
|
||||
@RequestParam String name,
|
||||
@RequestParam String forename,
|
||||
@RequestParam String password,
|
||||
@RequestParam String isAdmin
|
||||
) {
|
||||
|
||||
com.vpr.server.User user = new com.vpr.server.User();
|
||||
|
||||
// TODO set correct token and password
|
||||
user.setName(name);
|
||||
user.setForename(forename);
|
||||
user.setPassword(password);
|
||||
user.setToken("test");
|
||||
user.setAdmin(isAdmin.equals("1"));
|
||||
|
||||
userRepository.save(user);
|
||||
return "Saved";
|
||||
}
|
||||
|
||||
// GET-request at /all-users
|
||||
// returns JSON-data
|
||||
@GetMapping(path="/all-users")
|
||||
public @ResponseBody Iterable<com.vpr.server.User> getAllUsers() {
|
||||
return userRepository.findAll();
|
||||
}
|
||||
|
||||
// POST-request at /users-by-name
|
||||
// returns JSON-data
|
||||
@PostMapping(path="/users-by-name")
|
||||
public @ResponseBody Iterable<com.vpr.server.User> getUsersByName(@RequestParam String name) {
|
||||
return userRepository.findByName(name);
|
||||
}
|
||||
|
||||
// GET-request at /all-events
|
||||
// returns JSON-data
|
||||
@GetMapping(path="/all-events")
|
||||
public @ResponseBody Iterable<com.vpr.server.Event> getAllEvents() {
|
||||
return eventRepository.findAll();
|
||||
}
|
||||
|
||||
@GetMapping(path="/event-by-userid")
|
||||
public @ResponseBody Iterable<java.sql.Date> getEventByUserId() {
|
||||
return userEventRepository.findAllDates();
|
||||
}
|
||||
}
|
13
server/src/main/java/com/vpr/server/ServerApplication.java
Normal file
13
server/src/main/java/com/vpr/server/ServerApplication.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@SpringBootApplication
|
||||
public class ServerApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(ServerApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
82
server/src/main/java/com/vpr/server/User.java
Normal file
82
server/src/main/java/com/vpr/server/User.java
Normal file
@@ -0,0 +1,82 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.List;
|
||||
|
||||
// @Entity creates a table out of this class with Hibernate
|
||||
@Entity
|
||||
public class User {
|
||||
// Generate the primary key
|
||||
@Id
|
||||
@GeneratedValue(strategy=GenerationType.IDENTITY)
|
||||
private long id;
|
||||
|
||||
private String name;
|
||||
private String forename;
|
||||
private String password;
|
||||
private String token;
|
||||
private boolean isAdmin;
|
||||
|
||||
@OneToMany(mappedBy = "user")
|
||||
private List<UserEvent> userEvent;
|
||||
|
||||
/*********************
|
||||
* Getter and Setter *
|
||||
*********************/
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getForename() {
|
||||
return forename;
|
||||
}
|
||||
|
||||
public void setForename(String forename) {
|
||||
this.forename = forename;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getToken() {
|
||||
return token;
|
||||
}
|
||||
|
||||
public void setToken(String token) {
|
||||
this.token = token;
|
||||
}
|
||||
|
||||
public boolean isAdmin() {
|
||||
return isAdmin;
|
||||
}
|
||||
|
||||
public void setAdmin(boolean admin) {
|
||||
isAdmin = admin;
|
||||
}
|
||||
|
||||
public List<UserEvent> getEventList() {
|
||||
return userEvent;
|
||||
}
|
||||
|
||||
public void setEventList(List<UserEvent> userEvent) {
|
||||
this.userEvent = userEvent;
|
||||
}
|
||||
}
|
62
server/src/main/java/com/vpr/server/UserEvent.java
Normal file
62
server/src/main/java/com/vpr/server/UserEvent.java
Normal file
@@ -0,0 +1,62 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.sql.Date;
|
||||
import java.util.List;
|
||||
|
||||
// @Entity creates a table out of this class with Hibernate
|
||||
// @Table defines the table-name
|
||||
@Entity
|
||||
@Table(name="user_event")
|
||||
@IdClass(UserEventId.class)
|
||||
public class UserEvent {
|
||||
@Id
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_id", referencedColumnName = "id")
|
||||
private User user;
|
||||
|
||||
@Id
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "event_id", referencedColumnName = "id")
|
||||
private Event event;
|
||||
|
||||
private Date date;
|
||||
|
||||
/*********************
|
||||
* Getter and Setter *
|
||||
*********************/
|
||||
|
||||
public User getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public Event getEvent() {
|
||||
return event;
|
||||
}
|
||||
|
||||
public void setEvent(Event event) {
|
||||
this.event = event;
|
||||
}
|
||||
|
||||
public Date getDate() {
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(Date date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
// toString
|
||||
@Override
|
||||
public String toString() {
|
||||
return "UserEvent{" +
|
||||
"user=" + user.getId() +
|
||||
", event=" + event.getId() +
|
||||
", date=" + date +
|
||||
'}';
|
||||
}
|
||||
}
|
28
server/src/main/java/com/vpr/server/UserEventId.java
Normal file
28
server/src/main/java/com/vpr/server/UserEventId.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class UserEventId implements Serializable {
|
||||
private long user;
|
||||
private long event;
|
||||
|
||||
/*********************
|
||||
* Getter and Setter *
|
||||
*********************/
|
||||
|
||||
public long getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(long user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public long getEvent() {
|
||||
return event;
|
||||
}
|
||||
|
||||
public void setEvent(long event) {
|
||||
this.event = event;
|
||||
}
|
||||
}
|
27
server/src/main/java/com/vpr/server/UserEventRepository.java
Normal file
27
server/src/main/java/com/vpr/server/UserEventRepository.java
Normal file
@@ -0,0 +1,27 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.List;
|
||||
|
||||
// This will be AUTO IMPLEMENTED by Spring into a Bean called eventListRepository
|
||||
// CRUD refers Create, Read, Update, Delete
|
||||
|
||||
public interface UserEventRepository extends CrudRepository<UserEvent, Integer> {
|
||||
@Query("SELECT " +
|
||||
" ue.date " +
|
||||
"FROM " +
|
||||
" user_event ue")
|
||||
List<java.sql.Date> findAllDates();
|
||||
|
||||
/*
|
||||
@Query("SELECT " +
|
||||
" new com.vpr.server.DateEvent(ue.date) " +
|
||||
"FROM " +
|
||||
" user_event ue")
|
||||
List<DateEvent> findAllAsDateEvent();
|
||||
|
||||
*/
|
||||
}
|
12
server/src/main/java/com/vpr/server/UserRepository.java
Normal file
12
server/src/main/java/com/vpr/server/UserRepository.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
// This will be AUTO IMPLEMENTED by Spring into a Bean called userRepository
|
||||
// CRUD refers Create, Read, Update, Delete
|
||||
|
||||
public interface UserRepository extends CrudRepository<User, Integer> {
|
||||
List<User> findByName(String name);
|
||||
}
|
@@ -0,0 +1,13 @@
|
||||
package com.vpr.server;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class ServerApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user