setup session
This commit is contained in:
parent
99a29d8a49
commit
3262d72ec0
55
src/main/java/database/session/Session.java
Normal file
55
src/main/java/database/session/Session.java
Normal file
|
@ -0,0 +1,55 @@
|
|||
package database.session;
|
||||
|
||||
import com.j256.ormlite.field.DatabaseField;
|
||||
|
||||
public class Session {
|
||||
@DatabaseField(generatedId = true)
|
||||
private int session_id;
|
||||
@DatabaseField(canBeNull = false)
|
||||
private int user_id;
|
||||
@DatabaseField(canBeNull = false)
|
||||
private long start_session;
|
||||
@DatabaseField(canBeNull = false)
|
||||
private long end_session;
|
||||
|
||||
public Session(){}
|
||||
|
||||
public Session(int user_id, long start_session) {
|
||||
this.user_id = user_id;
|
||||
this.start_session = start_session;
|
||||
}
|
||||
|
||||
public int getSession_id() {
|
||||
return session_id;
|
||||
}
|
||||
|
||||
public void setSession_id(int session_id) {
|
||||
this.session_id = session_id;
|
||||
}
|
||||
|
||||
public int getUser_id() {
|
||||
return user_id;
|
||||
}
|
||||
|
||||
public void setUser_id(int user_id) {
|
||||
this.user_id = user_id;
|
||||
}
|
||||
|
||||
public long getStart_session() {
|
||||
return start_session;
|
||||
}
|
||||
|
||||
public void setStart_session(long start_session) {
|
||||
this.start_session = start_session;
|
||||
}
|
||||
|
||||
public long getEnd_session() {
|
||||
return end_session;
|
||||
}
|
||||
|
||||
public void setEnd_session(long end_session) {
|
||||
this.end_session = end_session;
|
||||
}
|
||||
|
||||
|
||||
}
|
37
src/main/java/database/session/SessionDao.java
Normal file
37
src/main/java/database/session/SessionDao.java
Normal file
|
@ -0,0 +1,37 @@
|
|||
package database.session;
|
||||
|
||||
import com.j256.ormlite.dao.Dao;
|
||||
import com.j256.ormlite.dao.DaoManager;
|
||||
import com.j256.ormlite.stmt.UpdateBuilder;
|
||||
import database.DatabaseHelper;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
public class SessionDao {
|
||||
private DatabaseHelper dbh = new DatabaseHelper();
|
||||
private Dao<Session, String> sessionDao;
|
||||
|
||||
private Dao createSessionDaoConnection(){
|
||||
try {
|
||||
return DaoManager.createDao(dbh.setupDatabaseConnection(),Session.class);
|
||||
}catch (Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public int setStartSession(int userId) throws Exception {
|
||||
sessionDao = createSessionDaoConnection();
|
||||
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
|
||||
return sessionDao.updateRaw("INSERT INTO T_SESSION (user_id,start_session) VALUES ("+userId+","+timestamp+") RETURNING session_id");
|
||||
}
|
||||
|
||||
public void setEndSession(int session_id) throws Exception {
|
||||
sessionDao = createSessionDaoConnection();
|
||||
UpdateBuilder<Session,String> updateBuilder = sessionDao.updateBuilder();
|
||||
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
|
||||
updateBuilder.updateColumnValue("end_session",timestamp);
|
||||
updateBuilder.where().eq("session_id",session_id);
|
||||
updateBuilder.update();
|
||||
}
|
||||
}
|
|
@ -113,6 +113,15 @@ public class UserDao {
|
|||
return userDao.queryForFirst(preparedQuery);
|
||||
}
|
||||
|
||||
public int getUserIdWithHashAndEmail(String userHash, String userEmail) throws Exception {
|
||||
userDao = createUserDaoConnection();
|
||||
QueryBuilder<User,String> queryBuilder = userDao.queryBuilder();
|
||||
queryBuilder.where().eq("user_hash",userHash).and().eq("email",userEmail);
|
||||
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
|
||||
User userResponse = userDao.queryForFirst(preparedQuery);
|
||||
return userResponse.getUserId();
|
||||
}
|
||||
|
||||
|
||||
public void approveUser (String email) throws Exception {
|
||||
userDao = createUserDaoConnection();
|
||||
|
|
18
src/main/java/restImplementation/SessionImplementation.java
Normal file
18
src/main/java/restImplementation/SessionImplementation.java
Normal file
|
@ -0,0 +1,18 @@
|
|||
package restImplementation;
|
||||
|
||||
import database.session.SessionDao;
|
||||
|
||||
public class SessionImplementation {
|
||||
|
||||
public int startSession(String userHash, String userEmail) throws Exception {
|
||||
SessionDao sessionDao = new SessionDao();
|
||||
UserImplementation userImplementation = new UserImplementation();
|
||||
int userId = userImplementation.getUserId(userHash,userEmail);
|
||||
return sessionDao.setStartSession(userId);
|
||||
}
|
||||
|
||||
public void endSession(int userId) throws Exception {
|
||||
SessionDao sessionDao = new SessionDao();
|
||||
sessionDao.setEndSession(userId);
|
||||
}
|
||||
}
|
|
@ -80,6 +80,11 @@ public class UserImplementation {
|
|||
}
|
||||
}
|
||||
|
||||
public int getUserId(String userHash, String userEmail) throws Exception{
|
||||
UserDao userDao = new UserDao();
|
||||
return userDao.getUserIdWithHashAndEmail(userHash,userEmail);
|
||||
}
|
||||
|
||||
|
||||
public Map<String,String> userLogger(User user) throws Exception {
|
||||
UserDao userDao = new UserDao();
|
||||
|
|
38
src/main/java/restService/SessionResource.java
Normal file
38
src/main/java/restService/SessionResource.java
Normal file
|
@ -0,0 +1,38 @@
|
|||
package restService;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import restImplementation.SessionImplementation;
|
||||
|
||||
@RestController
|
||||
@RequestMapping(value = "/api/rest/session")
|
||||
public class SessionResource {
|
||||
|
||||
@RequestMapping(value = "/start", method = RequestMethod.GET, params = {"userHash","userEmail"}, produces = "application/json")
|
||||
@ResponseStatus(HttpStatus.CREATED)
|
||||
public ResponseEntity startSession(@RequestParam(value = "userHash") String userHash, @RequestParam(value = "userEmail") String userEmail){
|
||||
SessionImplementation sessionImplementation = new SessionImplementation();
|
||||
try {
|
||||
int session_id = sessionImplementation.startSession(userHash,userEmail);
|
||||
return ResponseEntity.status(HttpStatus.OK).body("{\"sessionId\":"+session_id+"}");
|
||||
} catch (Exception e){
|
||||
StringResponse responseS = new StringResponse(e.getMessage());
|
||||
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(responseS);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/end", method = RequestMethod.GET, params = {"userId"}, produces = "application/json")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
public ResponseEntity endSession(@RequestParam(value = "userId") int userId){
|
||||
SessionImplementation sessionImplementation = new SessionImplementation();
|
||||
try {
|
||||
sessionImplementation.endSession(userId);
|
||||
return ResponseEntity.status(HttpStatus.OK).body("");
|
||||
} catch (Exception e){
|
||||
StringResponse responseS = new StringResponse(e.getMessage());
|
||||
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(responseS);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue