Skip to content

Commit

Permalink
basic user creation
Browse files Browse the repository at this point in the history
  • Loading branch information
EdwardAndress committed Jul 24, 2021
1 parent 95500d8 commit b539b7f
Show file tree
Hide file tree
Showing 6 changed files with 95 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.view.RedirectView;

@Controller
public class HomeController {

@RequestMapping(value = "/")
public String index() {
return "index";
public RedirectView index() {
return new RedirectView("/posts");
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.makersacademy.acebook.controller;

import com.makersacademy.acebook.model.User;
import com.makersacademy.acebook.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.servlet.view.RedirectView;

@Controller
public class UsersController {

@Autowired
UserRepository userRepository;

@GetMapping("/users/new")
public String signup() {
return "users/new";
}

@PostMapping("/users")
public RedirectView signup(@ModelAttribute User user) {
userRepository.save(user);
return new RedirectView("/posts");
}
}
30 changes: 30 additions & 0 deletions src/main/java/com/makersacademy/acebook/model/User.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.makersacademy.acebook.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.GenerationType;

import lombok.Data;

@Data
@Entity
@Table(name = "USERS")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String email;
private String password;

public User() {}

public User(String username, String email, String password) {
this.username = username;
this.email = email;
this.password = password;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.makersacademy.acebook.repository;

import com.makersacademy.acebook.model.User;
import org.springframework.data.repository.CrudRepository;

public interface UserRepository extends CrudRepository<User, Long> {

}
8 changes: 8 additions & 0 deletions src/main/resources/db/migration/V2__create_users_table.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
DROP TABLE IF EXISTS users;

CREATE TABLE users (
id bigserial PRIMARY KEY,
username varchar(100) NOT NULL,
email varchar(100) NOT NULL,
password varchar(100) NOT NULL
);
18 changes: 18 additions & 0 deletions src/main/resources/templates/users/new.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Signup</title>
</head>
<body>
<form action="/users" method="POST">
<label>Username</label><br>
<input required="true" type="text" name="username"><br>
<label>Email</label><br>
<input required="true" type="text" name="email"><br>
<label>Password</label><br>
<input required="true" type="password" name="password"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>

0 comments on commit b539b7f

Please sign in to comment.