Skip to content
Snippets Groups Projects
Commit 1e75ba6b authored by Gabriel Copat's avatar Gabriel Copat
Browse files

Added some comments and removed redundant database columns

parent 739f4c54
1 merge request!37Resolve "As a repeat trail visitor , I want to be able to create an account so I can save and review my progress."
......@@ -17,6 +17,7 @@ import javax.sql.DataSource;
@Configuration
@EnableWebSecurity
public class SecurityConfiguration {
/* Configures the longin features and tracks logged on users on the page */
@Bean
......@@ -36,6 +37,7 @@ public class SecurityConfiguration {
}
@Bean
public PasswordEncoder passwordEncoder(){
/* Nothing here yet, this just saves passwords in plaintext. TODO password encryption */
return NoOpPasswordEncoder.getInstance();
}
......
......@@ -69,7 +69,6 @@ public class UserController {
System.out.println(user.getUsername());
mav.addObject("user", userRepository.findUserByName("Admin"));
mav.addAllObjects(getPackInfo("Admin", 1).getModelMap());
return mav;
}
......@@ -82,7 +81,6 @@ public class UserController {
mav.addObject("user", userRepository.findUserByName("Admin"));
mav.addObject("packs", allPacks);
mav.addAllObjects(getPackInfo(username, 1).getModelMap());
return mav;
}
......
......@@ -40,19 +40,27 @@ public class UserRepositoryJDBC implements UserRepository{
@Override
public List<Long> getUserStickersFromPack(String username, int packID) {
/* Returns a list with the stickerIDs of stickers that the specified user has unlocked from the given pack */
String sql = "SELECT stickerID FROM stickerprogress WHERE (username, packID)= (?,?)";
return jdbc.queryForList(sql, Long.class, username, packID);
}
@Override
public boolean unlockSticker(String username, int packID, int stickerID){
String sql = "INSERT INTO stickerprogress (username, packID, stickerID) VALUES (?,?,?)";
jdbc.update(sql, username, packID, stickerID);
return true;
/* Adds entry in the stickerprogress database, effectively unlocking the sticker for the user
* Returns false if no sticker is unlocked */
String query = "SELECT COUNT(id) FROM stickers WHERE (stickerID, packID) = (stickerID, packID)";
if (jdbc.queryForObject(query, Integer.class) == 1){ //Checks if sticker exists
String sql = "INSERT INTO stickerprogress (username, packID, stickerID) VALUES (?,?,?)";
jdbc.update(sql, username, packID, stickerID);
return true;
}
return false;
}
@Override
public boolean addUser(String username, String email, String password){
/* Adds new user to the database */
String query = "INSERT INTO users (username, email, password) VALUES (?, ?, ?);";
String query2= "INSERT INTO authorities (username, authority) VALUES (?,?);";
jdbc.update(query, username, email, password);
......@@ -61,18 +69,21 @@ public class UserRepositoryJDBC implements UserRepository{
}
@Override
public boolean doesUserExist(String email){
/* Returns true if a user with given email already exists in the database */
String query = "SELECT COUNT(email) FROM users WHERE (email) = (?)";
return !(jdbc.queryForObject(query, Integer.class, email) == 0);
}
@Override
public User findUserByEmail(String email) {
/* Finds user matching given email */
String query = "SELECT * FROM users WHERE (email) = (?)";
List<User> result = jdbc.query(query, userMapper, email);
return result.isEmpty() ? null : result.get(0);
}
@Override
public User findUserByName(String name) {
/* Finds user matching given name */
String query = "SELECT * FROM users WHERE (username) = (?)";
List<User> result = jdbc.query(query, userMapper, name);
return result.isEmpty() ? null : result.get(0);
......
......@@ -37,10 +37,10 @@ create table if not exists locations
CREATE TABLE IF NOT EXISTS users (
username varchar(30) primary key NOT NULL,
id bigint auto_increment unique, /*DEPRECATED COLUMN, LEFT IN WHILE SOME OTHER FUNCTIONS STILL USE IT*/
email varchar(128),
password varchar(30) NOT NULL,
enabled boolean default true,
roles varchar(128)
enabled boolean default true
);
CREATE TABLE IF NOT EXISTS authorities (
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment