diff --git a/adlister.sql b/adlister.sql new file mode 100644 index 0000000000..0e0776beec --- /dev/null +++ b/adlister.sql @@ -0,0 +1,24 @@ +USE adlister_db; +DROP TABLE IF EXISTS ads; +DROP TABLE IF EXISTS users; +CREATE TABLE users ( + id INT UNSIGNED NOT NULL AUTO_INCREMENT, + username VARCHAR(240) NOT NULL, + email VARCHAR(240) NOT NULL, + password VARCHAR(255) NOT NULL, + PRIMARY KEY (id) + +); +CREATE TABLE ads ( + id INT UNSIGNED NOT NULL AUTO_INCREMENT, + user_id INT UNSIGNED NOT NULL, + title VARCHAR(240) NOT NULL, + description TEXT NOT NULL, + PRIMARY KEY (id), + FOREIGN KEY (user_id) REFERENCES users(id) + ON DELETE CASCADE +); + +ALTER TABLE users + + ADD UNIQUE (username); \ No newline at end of file diff --git a/pom.xml b/pom.xml index 22a2e9c039..392a549420 100644 --- a/pom.xml +++ b/pom.xml @@ -27,12 +27,12 @@ org.mindrot jbcrypt - 0.3m + 0.4 javax.servlet javax.servlet-api - 3.0.1 + 4.0.1 jstl @@ -42,7 +42,7 @@ mysql mysql-connector-java - 6.0.5 + 8.0.31 diff --git a/src/main/java/com/codeup/adlister/controllers/AdsIndexServlet.java b/src/main/java/com/codeup/adlister/controllers/AdsIndexServlet.java index 1763081228..0460daf546 100644 --- a/src/main/java/com/codeup/adlister/controllers/AdsIndexServlet.java +++ b/src/main/java/com/codeup/adlister/controllers/AdsIndexServlet.java @@ -16,3 +16,4 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) t request.getRequestDispatcher("/WEB-INF/ads/index.jsp").forward(request, response); } } + diff --git a/src/main/java/com/codeup/adlister/controllers/DeleteAdsServlet.java b/src/main/java/com/codeup/adlister/controllers/DeleteAdsServlet.java new file mode 100644 index 0000000000..6c07785587 --- /dev/null +++ b/src/main/java/com/codeup/adlister/controllers/DeleteAdsServlet.java @@ -0,0 +1,29 @@ +package com.codeup.adlister.controllers; + +import com.codeup.adlister.dao.DaoFactory; +import com.codeup.adlister.models.Ad; +import com.codeup.adlister.models.User; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet(name = "controllers.DeleteAdsServlet", urlPatterns = "/deleteAd") +public class DeleteAdsServlet extends HttpServlet { + + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + + long id = Long.parseLong( request.getParameter("id")); + System.out.println(id); + + Ad ad = DaoFactory.getAdsDao().ById(id); //FIND THE AD TO DELETE + DaoFactory.getAdsDao().delete(ad); // DELETE AD + response.sendRedirect("/ads"); + + + } +} diff --git a/src/main/java/com/codeup/adlister/controllers/DeleteUserServlet.java b/src/main/java/com/codeup/adlister/controllers/DeleteUserServlet.java new file mode 100644 index 0000000000..cd09179bf2 --- /dev/null +++ b/src/main/java/com/codeup/adlister/controllers/DeleteUserServlet.java @@ -0,0 +1,28 @@ +package com.codeup.adlister.controllers; + +import com.codeup.adlister.dao.DaoFactory; +import com.codeup.adlister.models.User; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; + +@WebServlet(name = "controllers.DeleteUserServlet", urlPatterns = "/deleteUser") +public class DeleteUserServlet extends HttpServlet { + String userName1; + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.getRequestDispatcher("/WEB-INF/register.jsp").forward(request, response); + HttpSession session = request.getSession(); + userName1 = (String)session.getAttribute("user"); + User user = DaoFactory.getUsersDao().findByUsername(userName1); + DaoFactory.getUsersDao().delete(user); + response.sendRedirect("/ads"); + } + + + } + diff --git a/src/main/java/com/codeup/adlister/controllers/LoginServlet.java b/src/main/java/com/codeup/adlister/controllers/LoginServlet.java index e5c52723a2..def6f25419 100644 --- a/src/main/java/com/codeup/adlister/controllers/LoginServlet.java +++ b/src/main/java/com/codeup/adlister/controllers/LoginServlet.java @@ -3,12 +3,14 @@ import com.codeup.adlister.dao.DaoFactory; import com.codeup.adlister.models.User; import com.codeup.adlister.util.Password; +import com.mysql.cj.xdevapi.Session; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import java.io.IOException; @WebServlet(name = "controllers.LoginServlet", urlPatterns = "/login") @@ -20,12 +22,15 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) t } request.getRequestDispatcher("/WEB-INF/login.jsp").forward(request, response); } +String scopeUserName; + long scopId; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); User user = DaoFactory.getUsersDao().findByUsername(username); + if (user == null) { response.sendRedirect("/login"); return; @@ -34,10 +39,20 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) boolean validAttempt = Password.check(password, user.getPassword()); if (validAttempt) { - request.getSession().setAttribute("user", user); + + request.getSession().setAttribute("user", user); response.sendRedirect("/profile"); + + } else { response.sendRedirect("/login"); } + + scopId = user.getId(); + scopeUserName = user.getUsername(); + + HttpSession session = request.getSession(); + session.setAttribute("userName",scopeUserName); + session.setAttribute("userId",scopId); } } diff --git a/src/main/java/com/codeup/adlister/controllers/RegisterServlet.java b/src/main/java/com/codeup/adlister/controllers/RegisterServlet.java index e1e997c17a..d48da11ee4 100644 --- a/src/main/java/com/codeup/adlister/controllers/RegisterServlet.java +++ b/src/main/java/com/codeup/adlister/controllers/RegisterServlet.java @@ -16,26 +16,56 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) t request.getRequestDispatcher("/WEB-INF/register.jsp").forward(request, response); } - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String username = request.getParameter("username"); String email = request.getParameter("email"); String password = request.getParameter("password"); + System.out.println(password); String passwordConfirmation = request.getParameter("confirm_password"); // validate input - boolean inputHasErrors = username.isEmpty() - || email.isEmpty() - || password.isEmpty() - || (! password.equals(passwordConfirmation)); - - if (inputHasErrors) { - response.sendRedirect("/register"); - return; - } +// boolean inputHasErrors = username.isEmpty() +// || email.isEmpty() +// || password.isEmpty() +// || (!password.equals(passwordConfirmation)); +// +// if (inputHasErrors) { +// response.sendRedirect("/register"); +// return; +// } + + + User userName = DaoFactory.getUsersDao().findByUsername(username); + User emailTest = DaoFactory.getUsersDao().findByEmail(email); + + boolean correctInfo = false; + if (userName != null && username.equals(userName.getUsername())) { + request.setAttribute("usernameExists", "This username is already in use, please try another."); + request.getRequestDispatcher("/WEB-INF/register.jsp").forward(request, response); + } else if (!email.contains("@")) { + request.setAttribute("emailError", "You need to enter a valid email address!"); + request.getRequestDispatcher("/WEB-INF/register.jsp").forward(request, response); + } else if (emailTest != null && email.equals(emailTest.getEmail())) { + request.setAttribute("emailExists", "The email you entered already exists."); + request.getRequestDispatcher("/WEB-INF/register.jsp").forward(request, response); + } else if (!password.equals(passwordConfirmation)) { + request.setAttribute("passwordMismatch", "Please confirm your password you re-entered is correct."); + request.getRequestDispatcher("/WEB-INF/register.jsp").forward(request, response); + - // create and save a new user - User user = new User(username, email, password); - DaoFactory.getUsersDao().insert(user); - response.sendRedirect("/login"); + } else { + correctInfo = true; + } } } + + + + + + + + + + + diff --git a/src/main/java/com/codeup/adlister/controllers/SearchServlet.java b/src/main/java/com/codeup/adlister/controllers/SearchServlet.java new file mode 100644 index 0000000000..198ba25843 --- /dev/null +++ b/src/main/java/com/codeup/adlister/controllers/SearchServlet.java @@ -0,0 +1,23 @@ + + +package com.codeup.adlister.controllers; +import com.codeup.adlister.dao.DaoFactory; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet(name = "SearchServlet", urlPatterns = "/search") +public class SearchServlet extends HttpServlet { + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + String search = request.getParameter("search"); + System.out.println(search); + // String wilSearch = "%"+search+"%"; + request.setAttribute("ads", DaoFactory.getAdsDao().searchAD(search)); + request.getRequestDispatcher("/WEB-INF/ads/searchAds.jsp").forward(request, response); + } +} \ No newline at end of file diff --git a/src/main/java/com/codeup/adlister/controllers/UpdateAdServlet.java b/src/main/java/com/codeup/adlister/controllers/UpdateAdServlet.java new file mode 100644 index 0000000000..464782242d --- /dev/null +++ b/src/main/java/com/codeup/adlister/controllers/UpdateAdServlet.java @@ -0,0 +1,49 @@ +package com.codeup.adlister.controllers; + +import com.codeup.adlister.dao.DaoFactory; +import com.codeup.adlister.models.Ad; +import com.codeup.adlister.models.User; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet(name = "controllers.UpdateAdServlet", urlPatterns = "/updateAd") +public class UpdateAdServlet extends HttpServlet { + String titleOld; + long id; + String oldDescription; + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + titleOld = request.getParameter("title"); + id = Long.parseLong(request.getParameter("id")); + oldDescription = request.getParameter("description"); + + + request.getRequestDispatcher("/WEB-INF/ads/updateAd.jsp") + .forward(request, response); + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + User user = (User) request.getSession().getAttribute("user"); + +String title = request.getParameter("title"); + if( title.isEmpty()){title = titleOld;} + +String description = request.getParameter("description"); + if( description.isEmpty()){ description = oldDescription;} + + + + + System.out.println(id); + System.out.println(oldDescription); + Ad ad = DaoFactory.getAdsDao().ById(id); //FIND THE AD TO UPDATE + DaoFactory.getAdsDao().update(ad,title,description); // UPDATE AD + response.sendRedirect("/ads"); + + } +} diff --git a/src/main/java/com/codeup/adlister/controllers/UpdateUserServlet.java b/src/main/java/com/codeup/adlister/controllers/UpdateUserServlet.java new file mode 100644 index 0000000000..f0e5ac0e26 --- /dev/null +++ b/src/main/java/com/codeup/adlister/controllers/UpdateUserServlet.java @@ -0,0 +1,52 @@ +package com.codeup.adlister.controllers; + +import com.codeup.adlister.dao.DaoFactory; +import com.codeup.adlister.models.User; +import com.mysql.cj.Session; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; + +@WebServlet(name = "controllers.UpdateUserServlet", urlPatterns = "/updateUser") +public class UpdateUserServlet extends HttpServlet { + +String userName1; + + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + HttpSession session = request.getSession(); + userName1 = (String)session.getAttribute("user"); + + request.getRequestDispatcher("/WEB-INF/updateUser.jsp").forward(request, response); + } + + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + String username = request.getParameter("username"); + String email = request.getParameter("email"); + String password = request.getParameter("password"); + String passwordConfirmation = request.getParameter("confirm_password"); + + // validate input + boolean inputHasErrors = username.isEmpty() + || email.isEmpty() + || password.isEmpty() + || (! password.equals(passwordConfirmation)); + + if (inputHasErrors) { + response.sendRedirect("/updateUser.jsp"); + return; + } + + // create and save a new user + User user = new User(username, email, password); + User u = DaoFactory.getUsersDao().findByUsername(userName1); + DaoFactory.getUsersDao().update(u,username,email,password); + response.sendRedirect("/login"); + } +} diff --git a/src/main/java/com/codeup/adlister/controllers/ViewProfileServlet.java b/src/main/java/com/codeup/adlister/controllers/ViewProfileServlet.java index e1b8941067..d356b15456 100644 --- a/src/main/java/com/codeup/adlister/controllers/ViewProfileServlet.java +++ b/src/main/java/com/codeup/adlister/controllers/ViewProfileServlet.java @@ -1,19 +1,31 @@ package com.codeup.adlister.controllers; +import com.codeup.adlister.dao.DaoFactory; +import com.codeup.adlister.models.User; + import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import java.io.IOException; @WebServlet(name = "controllers.ViewProfileServlet", urlPatterns = "/profile") public class ViewProfileServlet extends HttpServlet { + long userId; + String username; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - if (request.getSession().getAttribute("user") == null) { +HttpSession session = request.getSession(); + + if (session.getAttribute("user") == null) { response.sendRedirect("/login"); return; } + + String username = (String) session.getAttribute("username"); + userId = (long) session.getAttribute("userId"); + request.setAttribute("ads", DaoFactory.getAdsDao().findAd(userId)); request.getRequestDispatcher("/WEB-INF/profile.jsp").forward(request, response); } } diff --git a/src/main/java/com/codeup/adlister/dao/Ads.java b/src/main/java/com/codeup/adlister/dao/Ads.java index 79dc59f484..b579b48282 100644 --- a/src/main/java/com/codeup/adlister/dao/Ads.java +++ b/src/main/java/com/codeup/adlister/dao/Ads.java @@ -9,4 +9,22 @@ public interface Ads { List all(); // insert a new ad and return the new ad's id Long insert(Ad ad); + + + void update(Ad ad,String title,String description); + + + + + Ad ById(long id); + + void delete(Ad ad); + + List findAd(long userId); + + List searchAD(String tittle); + } + + + diff --git a/src/main/java/com/codeup/adlister/dao/ListAdsDao.java b/src/main/java/com/codeup/adlister/dao/ListAdsDao.java index 8d3baaa369..0caafd0970 100644 --- a/src/main/java/com/codeup/adlister/dao/ListAdsDao.java +++ b/src/main/java/com/codeup/adlister/dao/ListAdsDao.java @@ -27,6 +27,34 @@ public Long insert(Ad ad) { return ad.getId(); } + @Override + public void update(Ad ad, String title, String description) { + + } + + @Override + public Ad ById(long id) { + return null; + } + + + + + @Override + public void delete(Ad ad) { + + } + + + public List findAd(long userId) { + return null; + } + + @Override + public List searchAD(String tittle) { + return null; + } + private List generateAds() { List ads = new ArrayList<>(); ads.add(new Ad( diff --git a/src/main/java/com/codeup/adlister/dao/MySQLAdsDao.java b/src/main/java/com/codeup/adlister/dao/MySQLAdsDao.java index d58c45f985..9d49b30ecc 100644 --- a/src/main/java/com/codeup/adlister/dao/MySQLAdsDao.java +++ b/src/main/java/com/codeup/adlister/dao/MySQLAdsDao.java @@ -1,11 +1,9 @@ package com.codeup.adlister.dao; import com.codeup.adlister.models.Ad; +import com.codeup.adlister.models.User; import com.mysql.cj.jdbc.Driver; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; import java.sql.*; import java.util.ArrayList; import java.util.List; @@ -32,12 +30,19 @@ public List all() { try { stmt = connection.prepareStatement("SELECT * FROM ads"); ResultSet rs = stmt.executeQuery(); + return createAdsFromResults(rs); } catch (SQLException e) { throw new RuntimeException("Error retrieving all ads.", e); } } + + + + + + //****************************INSERT AD********************************* @Override public Long insert(Ad ad) { try { @@ -55,6 +60,136 @@ public Long insert(Ad ad) { } } + + + //************************UPDATE ADS******************************************** + + @Override + public void update(Ad ad, String title,String description) { + + String query = "UPDATE ads " + + " SET " + + " title = ?, " + + " description = ? " + + + "WHERE title = ?"; + + + try { + PreparedStatement stmt = connection.prepareStatement(query); + stmt.setString(1, title); + stmt.setString(2, description); + stmt.setString(3 , ad.getTitle()); + + stmt.executeUpdate(); + + + + } catch (SQLException e) { + throw new RuntimeException("Error updating Ad", e); + + } + + + + } + + + + //**********************Find ad by id to delete**************************** + + public Ad ById(long id) { + + String sql = "SELECT * FROM ads WHERE id = ?"; + PreparedStatement stmt = null; + try { + stmt = connection.prepareStatement(sql); + stmt.setLong(1,id); + ResultSet rs = stmt.executeQuery(); + List ad = createAdsFromResults(rs); + +return ad.get(0); + + + + } catch (SQLException e) { + throw new RuntimeException("Error retrieving all ads.", e); + } + } + + + + + + //****************************DELETE ADS************************************************ + + @Override + public void delete(Ad ad) { + + String query = "DELETE FROM ads WHERE title = ? "; + + PreparedStatement stmt = null; + try { + stmt = connection.prepareStatement(query); + stmt.setString(1,ad.getTitle()); + + stmt.executeUpdate(); + + } catch (SQLException e) { + throw new RuntimeException("Error deleting ad", e); + + } + + + + } + + + + //******************************** FIND All ADS OWNED BY A User **************************************************** + + + public List findAd(long userId) { +String query = "SELECT * FROM ads WHERE user_id = ?"; + + try { + PreparedStatement stmt = connection.prepareStatement(query); + + stmt.setLong(1, userId); + ResultSet rs = stmt.executeQuery(); + return createAdsFromResults(rs); + + + + } catch (SQLException e) { + throw new RuntimeException("Error retrieving all ads.", e); + } + } + + + + +//****************************SEARCH AD BY TITLE********************************** + @Override + public List searchAD(String tittle) { + +String sql = "SELECT * FROM ads WHERE title LIKE ?"; + PreparedStatement stmt = null; + try { + stmt = connection.prepareStatement(sql); + stmt.setString(1,"%" + tittle + "%"); + ResultSet rs = stmt.executeQuery(); + return createAdsFromResults(rs); + } catch (SQLException e) { + throw new RuntimeException("Error retrieving all ads.", e); + } + + } + + + + + private Ad extractAd(ResultSet rs) throws SQLException { return new Ad( rs.getLong("id"), @@ -71,4 +206,5 @@ private List createAdsFromResults(ResultSet rs) throws SQLException { } return ads; } + } diff --git a/src/main/java/com/codeup/adlister/dao/MySQLUsersDao.java b/src/main/java/com/codeup/adlister/dao/MySQLUsersDao.java index 4e69e57044..72228d5872 100644 --- a/src/main/java/com/codeup/adlister/dao/MySQLUsersDao.java +++ b/src/main/java/com/codeup/adlister/dao/MySQLUsersDao.java @@ -1,5 +1,6 @@ package com.codeup.adlister.dao; +import com.codeup.adlister.Config; import com.codeup.adlister.models.User; import com.mysql.cj.jdbc.Driver; @@ -12,9 +13,11 @@ public MySQLUsersDao(Config config) { try { DriverManager.registerDriver(new Driver()); connection = DriverManager.getConnection( - config.getUrl(), - config.getUser(), - config.getPassword() + + config.getUrl(), + config.getUser(), + config.getPassword() + ); } catch (SQLException e) { throw new RuntimeException("Error connecting to the database!", e); @@ -22,10 +25,14 @@ public MySQLUsersDao(Config config) { } + +//**************************FIND BY USERNAME************************************** @Override public User findByUsername(String username) { String query = "SELECT * FROM users WHERE username = ? LIMIT 1"; try { + System.out.println(username); + System.out.println(query); PreparedStatement stmt = connection.prepareStatement(query); stmt.setString(1, username); return extractUser(stmt.executeQuery()); @@ -34,6 +41,13 @@ public User findByUsername(String username) { } } + + + + + + + @Override public Long insert(User user) { String query = "INSERT INTO users(username, email, password) VALUES (?, ?, ?)"; @@ -51,15 +65,81 @@ public Long insert(User user) { } } + + //**********************UPDATE USER********************************* + @Override + public void update(User user,String name,String email,String password) { + String query = "UPDATE users " + + " SET " + + " username = ?," + + " email = ? " + + " password = ?" + + "WHERE username = " + user.getUsername() + ""; + + try { + PreparedStatement stmt = connection.prepareStatement(query); + stmt.setString(1,name ); + stmt.setString(2,email); + stmt.setString(3, password); + stmt.executeUpdate(); + ResultSet rs = stmt.getGeneratedKeys(); + rs.next(); + + } catch (SQLException e) { + throw new RuntimeException("Error creating new user", e); + + } + } + + + + + + //*******************************DELETE USER********************************* + @Override + public void delete(User user) { + String query = "DELETE users " + + "WHERE username = " + user.getUsername() + ""; + + try { + PreparedStatement stmt = connection.prepareStatement(query); + stmt.executeUpdate(); + + } catch (SQLException e) { + throw new RuntimeException("Error creating new user", e); + + } + + + + + } + + @Override + public User findByEmail(String email) { + String query = "SELECT * FROM users WHERE email = ? LIMIT 1"; + try { + System.out.println(email); + System.out.println(query); + PreparedStatement stmt = connection.prepareStatement(query); + stmt.setString(1, email); + return extractUser(stmt.executeQuery()); + } catch (SQLException e) { + throw new RuntimeException("Error finding a user by username", e); + } + + } + + private User extractUser(ResultSet rs) throws SQLException { - if (! rs.next()) { + if (!rs.next()) { return null; } return new User( - rs.getLong("id"), - rs.getString("username"), - rs.getString("email"), - rs.getString("password") + rs.getLong("id"), + rs.getString("username"), + rs.getString("email"), + rs.getString("password") ); } diff --git a/src/main/java/com/codeup/adlister/dao/Users.java b/src/main/java/com/codeup/adlister/dao/Users.java index 62da74d20b..f893b13679 100644 --- a/src/main/java/com/codeup/adlister/dao/Users.java +++ b/src/main/java/com/codeup/adlister/dao/Users.java @@ -6,5 +6,11 @@ public interface Users { User findByUsername(String username); + + Long insert(User user); + void update(User user,String name,String email,String password); + void delete(User user); + + User findByEmail(String email); } diff --git a/src/main/java/com/codeup/adlister/models/User.java b/src/main/java/com/codeup/adlister/models/User.java index e43bc0dc81..403888924a 100644 --- a/src/main/java/com/codeup/adlister/models/User.java +++ b/src/main/java/com/codeup/adlister/models/User.java @@ -14,6 +14,7 @@ public User(String username, String email, String password) { this.username = username; this.email = email; setPassword(password); +// this.password = password; } public User(long id, String username, String email, String password) { @@ -55,3 +56,8 @@ public void setPassword(String password) { this.password = Password.hash(password); } } + + + + + diff --git a/src/main/webapp/WEB-INF/ads/create.jsp b/src/main/webapp/WEB-INF/ads/create.jsp index f6332692f7..d4413f722a 100644 --- a/src/main/webapp/WEB-INF/ads/create.jsp +++ b/src/main/webapp/WEB-INF/ads/create.jsp @@ -4,6 +4,7 @@ +
diff --git a/src/main/webapp/WEB-INF/ads/index.jsp b/src/main/webapp/WEB-INF/ads/index.jsp index 6f4371f0bb..9af9e178c9 100644 --- a/src/main/webapp/WEB-INF/ads/index.jsp +++ b/src/main/webapp/WEB-INF/ads/index.jsp @@ -3,22 +3,44 @@ - + - +
-

Here Are all the ads!

+

Here Are all the ads!

+<<<<<<< HEAD +
+
+
+ + +
+
+
${ad.title}
+

${ad.description}

+ Card link + Another link +
+======= -
-

${ad.title}

-

${ad.description}

+ +
+
+
${ad.title}
+

${ad.description}

+ + Card link + Another link +>>>>>>> refs/remotes/origin/master +
+ +
- +
- diff --git a/src/main/webapp/WEB-INF/ads/searchAds.jsp b/src/main/webapp/WEB-INF/ads/searchAds.jsp new file mode 100644 index 0000000000..f454c4bed0 --- /dev/null +++ b/src/main/webapp/WEB-INF/ads/searchAds.jsp @@ -0,0 +1,41 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + + + +<%----%> +<%----%> +<%----%> +<%----%> +<%-- --%> +<%----%> + + + +
+

Here Are Your search Result!

+ +
+
+
+ + +
+
+
${ad.title}
+

${ad.description}

+ Card link + Another link +
+
+
+
+
+
+
+ + diff --git a/src/main/webapp/WEB-INF/ads/updateAd.jsp b/src/main/webapp/WEB-INF/ads/updateAd.jsp new file mode 100644 index 0000000000..7cf085daa6 --- /dev/null +++ b/src/main/webapp/WEB-INF/ads/updateAd.jsp @@ -0,0 +1,29 @@ +<% +String title = request.getParameter("title"); +%> + +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + + + + +
+

Update <%=request.getParameter("title")%>

+
+
+ + +
+
+ + +
+ +
+
+ + diff --git a/src/main/webapp/WEB-INF/login.jsp b/src/main/webapp/WEB-INF/login.jsp index 83ce2d0a1f..bc19b2ea71 100644 --- a/src/main/webapp/WEB-INF/login.jsp +++ b/src/main/webapp/WEB-INF/login.jsp @@ -18,7 +18,7 @@
- +
diff --git a/src/main/webapp/WEB-INF/partials/head.jsp b/src/main/webapp/WEB-INF/partials/head.jsp index a33443d65c..f49247e6a0 100644 --- a/src/main/webapp/WEB-INF/partials/head.jsp +++ b/src/main/webapp/WEB-INF/partials/head.jsp @@ -1,2 +1,3 @@ ${param.title} - + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/partials/home.jsp b/src/main/webapp/WEB-INF/partials/home.jsp new file mode 100644 index 0000000000..0fd5d0d5a6 --- /dev/null +++ b/src/main/webapp/WEB-INF/partials/home.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: adriannabarrera + Date: 11/14/22 + Time: 1:24 PM + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + + + + diff --git a/src/main/webapp/WEB-INF/partials/navbar.jsp b/src/main/webapp/WEB-INF/partials/navbar.jsp index 8e1f98f662..f61b9a66fa 100644 --- a/src/main/webapp/WEB-INF/partials/navbar.jsp +++ b/src/main/webapp/WEB-INF/partials/navbar.jsp @@ -1,13 +1,22 @@ -
+ \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/partials/navbarLoggedIn.jsp b/src/main/webapp/WEB-INF/partials/navbarLoggedIn.jsp new file mode 100644 index 0000000000..522596e99c --- /dev/null +++ b/src/main/webapp/WEB-INF/partials/navbarLoggedIn.jsp @@ -0,0 +1,46 @@ +<%--
--%> +<%----%> + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/partials/navbarProf.jsp b/src/main/webapp/WEB-INF/partials/navbarProf.jsp new file mode 100644 index 0000000000..5292182cf2 --- /dev/null +++ b/src/main/webapp/WEB-INF/partials/navbarProf.jsp @@ -0,0 +1,47 @@ +<%----%> + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/profile.jsp b/src/main/webapp/WEB-INF/profile.jsp index 05e3fa7a91..9c2fdf1727 100644 --- a/src/main/webapp/WEB-INF/profile.jsp +++ b/src/main/webapp/WEB-INF/profile.jsp @@ -1,16 +1,66 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> - + - +<<<<<<< HEAD +

Welcome, ${sessionScope.user.username}!

+======= + +
+

Welcome ${sessionScope.user.username}

+ + +

Here Are all the ads!

+ + + +
+
+
${ad.title}
+

${ad.description}

+ +
+
+
+ + + + + + + +
+
+ + +
+
+ + + + + + +
+
+
+ +
+
+ + +
+
+>>>>>>> refs/remotes/origin/master diff --git a/src/main/webapp/WEB-INF/register.jsp b/src/main/webapp/WEB-INF/register.jsp index 4b64e10a43..204822434f 100644 --- a/src/main/webapp/WEB-INF/register.jsp +++ b/src/main/webapp/WEB-INF/register.jsp @@ -1,3 +1,4 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> @@ -14,19 +15,38 @@ +

+ +

+
+ +

+ +

+

+ +

+ +
+ +

+ +

- + diff --git a/src/main/webapp/WEB-INF/updateProfile.jsp b/src/main/webapp/WEB-INF/updateProfile.jsp new file mode 100644 index 0000000000..a5c018b560 --- /dev/null +++ b/src/main/webapp/WEB-INF/updateProfile.jsp @@ -0,0 +1,38 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + + + + + + +
+

Please fill in your information.

+
+
+ + +
+

+ +

+
+ + +
+ +
+ + +
+
+ + +
+ +
+
+ +