Skip to content
Snippets Groups Projects
Commit 05964845 authored by Mirco Nasuti's avatar Mirco Nasuti
Browse files

add UsersApi

parent 05e523ba
No related branches found
No related tags found
No related merge requests found
package org.hbp.mip.controllers;
import io.swagger.annotations.*;
import org.hbp.mip.model.User;
import org.hibernate.Session;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
/**
* Created by mirco on 14.01.16.
*/
@Controller
@RequestMapping(value = "/users", produces = {APPLICATION_JSON_VALUE})
@Api(value = "/users", description = "the users API")
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-07T07:38:20.227Z")
public class UsersApi {
@ApiOperation(value = "Get a user", notes = "", response = User.class)
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Found"),
@ApiResponse(code = 404, message = "Not found")})
@RequestMapping(value = "/{id}", produces = {"application/json"}, method = RequestMethod.GET)
public ResponseEntity<User> getAUser(
@ApiParam(value = "id", required = true) @PathVariable("id") Long id) throws NotFoundException {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
org.hibernate.Query query = session.createQuery("from User where id= :id");
query.setLong("id", id);
User user = (User) query.uniqueResult();
session.getTransaction().commit();
return new ResponseEntity<User>(HttpStatus.OK).ok(user);
}
}
......@@ -4,7 +4,6 @@
package org.hbp.mip.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -19,7 +18,6 @@ import java.util.regex.Pattern;
@Table(name = "`user`")
@ApiModel(description = "")
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-06T09:32:22.266Z")
@JsonIgnoreProperties(value = { "id" })
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
......
<div class="panel" data-widget='{"draggable": "false"}'>
<div class="panel-heading">
<h2>Recent Articles</h2>
<div class="panel-ctrls button-icon-bg"
data-actions-container=""
data-action-collapse='{"target": ".panel-body"}'
data-action-refresh-demo='{"type": "circular"}'>
</div>
</div>
<div class="panel-body scroll-pane" style="height: 320px;">
<div class="custom-scrollbar" scrollbar>
<ul class="mini-timeline">
<li ng-class="{'mini-timeline-owner': isMine(article), 'mini-timeline-default': !isMine(article) }" ng-repeat="article in articles">
<div class="timeline-icon"></div>
<div class="timeline-body">
<div class="timeline-content">
<a href="" ng-click="showModal(article)" class="name">{{article.title}}</a>
<div class="author-box">
<a href="{{'#/users/' + article.createdBy.id }}" class="avatar">
<img ng-src="{{article.createdBy.picture}}" alt="" class="avatar" />
</a>
by <a href="{{'#/users/' + article.createdBy.id }}">{{article.createdBy.fullname}}</a><br />
<span class="time">{{article.createdAt | fromNow}}</span>
</div>
</div>
<div class="timeline-action">
<a href="" ng-click="showModal(article)" class="icon-tl">
<i class="icon-preview"></i>
</a>
<a ng-href="{{getPdfUrl(article.slug)}}" target="_blank" class="icon-tl">
<i class="icon-pdf"></i>
</a>
<a ng-if="isMine(article)" href="#/articles/edit/{{article.slug}}" ng-if="isAuthorized(article)" class="icon-tl">
<i class="icon-html"></i>
</a>
</div>
</div>
</li>
<li ng-if="articles.length > 0" class="mini-timeline-default">
<div class="timeline-body ml-n">
<div class="timeline-content">
<button type="button" data-loading-text="Loading..." class="loading-example-btn btn btn-sm btn-default">See more</button>
</div>
</div>
</li>
<li ng-if="!articles || articles.length == 0" class="mini-timeline-default">
<div class="timeline-body ml-n">
<div class="timeline-content">No article available</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="panel" data-widget='{"draggable": "false"}'>
<div class="panel-heading">
<h2>Recent Articles</h2>
<div class="panel-ctrls button-icon-bg"
data-actions-container=""
data-action-collapse='{"target": ".panel-body"}'
data-action-refresh-demo='{"type": "circular"}'>
</div>
</div>
<div class="panel-body scroll-pane" style="height: 320px;">
<div class="custom-scrollbar" scrollbar>
<ul class="mini-timeline">
<li ng-class="{'mini-timeline-owner': isMine(article), 'mini-timeline-default': !isMine(article) }" ng-repeat="article in articles">
<div class="timeline-icon"></div>
<div class="timeline-body">
<div class="timeline-content">
<a href="" ng-click="showModal(article)" class="name">{{article.title}}</a>
<div class="author-box">
<a href="{{'#/users/' + article.createdBy.id }}" class="avatar">
<img ng-src="{{article.createdBy.picture}}" alt="" class="avatar" />
</a>
by <a href="{{'#/users/' + article.createdBy.id }}">{{article.createdBy.fullname}}</a><br />
<span class="time">{{article.createdAt | fromNow}}</span>
</div>
</div>
<div class="timeline-action">
<a href="" ng-click="showModal(article)" class="icon-tl">
<i class="icon-preview"></i>
</a>
<a ng-href="{{getPdfUrl(article.slug)}}" target="_blank" class="icon-tl">
<i class="icon-pdf"></i>
</a>
<a ng-if="isMine(article)" href="#/articles/edit/{{article.slug}}" ng-if="isAuthorized(article)" class="icon-tl">
<i class="icon-html"></i>
</a>
</div>
</div>
</li>
<li ng-if="articles.length > 0" class="mini-timeline-default">
<div class="timeline-body ml-n">
<div class="timeline-content">
<button type="button" data-loading-text="Loading..." class="loading-example-btn btn btn-sm btn-default">See more</button>
</div>
</div>
</li>
<li ng-if="!articles || articles.length == 0" class="mini-timeline-default">
<div class="timeline-body ml-n">
<div class="timeline-content">No article available</div>
</div>
</li>
</ul>
</div>
</div>
</div>
......@@ -6,22 +6,7 @@
angular.module('chuvApp.users')
.factory('User', ['$rootScope','backendUrl','$http','$cookieStore','base64', function ($rootScope,backendUrl,$http,$cookieStore,base64) {
var datas = [
{ id: 1, login: "admin", password: "kitten", firstname: "Bogdan", lastname: "DRAGANSKI", fullname: "Bogdan DRAGANSKI", team: "Scientist",
picture: "images/users/Bogdan.jpg", web:"http://www.hbpproject.eu", email: "admin@hbpproject.eu", phone:"+33 6 00 00 00 00", birthday: "1982-01-22", gender:"Male",
languages:["French"], city:"Lausanne", country:"Switzerland" },
{ id: 2, login: "l.dib", password: "user", firstname: "Linda", lastname: "DIB", fullname: "Linda DIB", team: "Scientist",
picture: "images/users/Linda.png", web:"http://www.hbpproject.eu",
email: "a.kiliaan@hbpproject.eu", phone:"+33 6 00 00 00 00", birthday: "1983-05-02", gender:"Female",
languages:["French","Netherlands"], city:"Nijmegen", country:"Netherlands" },
{ id: 3, login: "llaursen", password: "poc", firstname: "Lucas", lastname: "LAURSEN", fullname: "Lucas LAURSEN", team: "Press",
picture: "images/users/llaursen.jpg", web:"http://www.hbpproject.eu", email: "llaursen@hbpproject.eu", phone:"06 00 00 00 00", birthday: "1982-05-10", gender:"Male",
languages:["French","Spanish"], city:"Madric", country:"Spain" }
];
var currentUser = datas[0];
var currentUser;
return {
......@@ -50,12 +35,11 @@ angular.module('chuvApp.users')
},
get: function (id) {
for (var idx in datas) {
if (datas.hasOwnProperty(idx) && datas[idx].id == id) {
return datas[idx];
}
}
return null;
$http.get("/users/"+id).success(function(data) {
return data;
}).error(function() {
return null;
});
},
create: function (user) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment