From 0372c49f2f33ea750e7ef026f7fe1706d42a8762 Mon Sep 17 00:00:00 2001 From: Mirco Nasuti <mirco.nasuti@chuv.ch> Date: Fri, 20 May 2016 15:59:42 +0200 Subject: [PATCH] add apps --- .../java/org/hbp/mip/controllers/AppsApi.java | 37 ++++++ src/main/java/org/hbp/mip/model/App.java | 113 ++++++++++++++++++ src/main/java/org/hbp/mip/model/Config.java | 2 +- src/main/java/org/hbp/mip/model/Filter.java | 2 +- src/main/java/org/hbp/mip/model/Query.java | 2 +- src/main/resources/hibernate.cfg.xml | 1 + src/test/db | 2 +- 7 files changed, 155 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/hbp/mip/controllers/AppsApi.java create mode 100644 src/main/java/org/hbp/mip/model/App.java diff --git a/src/main/java/org/hbp/mip/controllers/AppsApi.java b/src/main/java/org/hbp/mip/controllers/AppsApi.java new file mode 100644 index 000000000..3e634bed5 --- /dev/null +++ b/src/main/java/org/hbp/mip/controllers/AppsApi.java @@ -0,0 +1,37 @@ +/** + * Created by mirco on 20.05.16. + */ + +package org.hbp.mip.controllers; + +import io.swagger.annotations.*; +import org.hbp.mip.model.App; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.LinkedList; +import java.util.List; + +import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; + +@RestController +@RequestMapping(value = "/apps", produces = {APPLICATION_JSON_VALUE}) +@Api(value = "/apps", description = "the apps API") +public class AppsApi { + + @ApiOperation(value = "Get apps", response = App.class, responseContainer = "List") + @ApiResponses(value = { @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(method = RequestMethod.GET) + public ResponseEntity<List> getApps( + @ApiParam(value = "Only ask own articles") @RequestParam(value = "own", required = false) Boolean own, + @ApiParam(value = "Only ask results matching status", allowableValues = "{values=[draft, published, closed]}") @RequestParam(value = "status", required = false) String status, + @ApiParam(value = "Only ask articles from own team") @RequestParam(value = "team", required = false) Boolean team + ) { + List<App> apps = new LinkedList<>(); + + return ResponseEntity.ok(apps); + } +} diff --git a/src/main/java/org/hbp/mip/model/App.java b/src/main/java/org/hbp/mip/model/App.java new file mode 100644 index 000000000..b51cd69da --- /dev/null +++ b/src/main/java/org/hbp/mip/model/App.java @@ -0,0 +1,113 @@ +/** + * Created by mirco on 20.05.16. + */ + +package org.hbp.mip.model; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; + +import javax.persistence.*; + +@Entity +@Table(name = "`app`") +@ApiModel +@JsonInclude(JsonInclude.Include.NON_NULL) +public class App { + + @Id + @GeneratedValue + private Integer id; + private String name; + private String description; + private String author; + private String email; + private String category; + private String link; + private String image; + private Integer ratings; + private Integer ratings_count; + + public App() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getLink() { + return link; + } + + public void setLink(String link) { + this.link = link; + } + + public String getImage() { + return image; + } + + public void setImage(String image) { + this.image = image; + } + + public Integer getRatings() { + return ratings; + } + + public void setRatings(Integer ratings) { + this.ratings = ratings; + } + + public Integer getRatings_count() { + return ratings_count; + } + + public void setRatings_count(Integer ratings_count) { + this.ratings_count = ratings_count; + } +} diff --git a/src/main/java/org/hbp/mip/model/Config.java b/src/main/java/org/hbp/mip/model/Config.java index e9572c666..8dd7d80c2 100644 --- a/src/main/java/org/hbp/mip/model/Config.java +++ b/src/main/java/org/hbp/mip/model/Config.java @@ -20,7 +20,7 @@ import java.util.Map; public class Config { @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) + @GeneratedValue private Long id = null; private String type = null; diff --git a/src/main/java/org/hbp/mip/model/Filter.java b/src/main/java/org/hbp/mip/model/Filter.java index bf0c29b1e..4dc26eeb6 100644 --- a/src/main/java/org/hbp/mip/model/Filter.java +++ b/src/main/java/org/hbp/mip/model/Filter.java @@ -20,7 +20,7 @@ import java.util.List; public class Filter { @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) + @GeneratedValue private Long id = null; @ManyToOne diff --git a/src/main/java/org/hbp/mip/model/Query.java b/src/main/java/org/hbp/mip/model/Query.java index 1f57e3616..c92885964 100644 --- a/src/main/java/org/hbp/mip/model/Query.java +++ b/src/main/java/org/hbp/mip/model/Query.java @@ -21,7 +21,7 @@ import java.util.List; public class Query { @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) + @GeneratedValue private Long id = null; private String request = null; diff --git a/src/main/resources/hibernate.cfg.xml b/src/main/resources/hibernate.cfg.xml index b37c0788b..f6bf967ac 100644 --- a/src/main/resources/hibernate.cfg.xml +++ b/src/main/resources/hibernate.cfg.xml @@ -29,6 +29,7 @@ <mapping class="org.hbp.mip.model.Filter"/> <mapping class="org.hbp.mip.model.Group"/> <mapping class="org.hbp.mip.model.Config"/> + <mapping class="org.hbp.mip.model.App"/> </session-factory> </hibernate-configuration> diff --git a/src/test/db b/src/test/db index c356487b9..924d54ccf 160000 --- a/src/test/db +++ b/src/test/db @@ -1 +1 @@ -Subproject commit c356487b96c0e7ab555130688c84b647e294c63a +Subproject commit 924d54ccf64c0282aea7ab13ea8c774b020092e3 -- GitLab