[B][+] Add email field to user data model
This commit is contained in:
@@ -30,14 +30,17 @@ data class User(
|
|||||||
@NotNull @Column(length = 32)
|
@NotNull @Column(length = 32)
|
||||||
var name: String,
|
var name: String,
|
||||||
|
|
||||||
|
@NotNull @Column(length = 256)
|
||||||
|
var email: String,
|
||||||
|
|
||||||
@NotNull @Column(length = 100)
|
@NotNull @Column(length = 100)
|
||||||
var passHash: String,
|
var passHash: String = "",
|
||||||
|
|
||||||
@NotNull @Column(length = 32)
|
@NotNull @Column(length = 32)
|
||||||
var passSalt: String
|
var passSalt: String = ""
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
constructor(name: String, pass: String) : this(name=name, passHash="", passSalt="")
|
constructor(name: String, email: String, pass: String) : this(name = name, email = email)
|
||||||
{
|
{
|
||||||
val (h, s) = pass.passwordHash()
|
val (h, s) = pass.passwordHash()
|
||||||
passHash = h
|
passHash = h
|
||||||
@@ -54,13 +57,13 @@ class UserApi(val repo: UserRepo)
|
|||||||
val em = ExampleMatcher.matching().withIgnorePaths("id", "passHash", "passSalt").withMatcher("name", ignoreCase())
|
val em = ExampleMatcher.matching().withIgnorePaths("id", "passHash", "passSalt").withMatcher("name", ignoreCase())
|
||||||
|
|
||||||
@GetMapping("/register")
|
@GetMapping("/register")
|
||||||
fun register(@RequestParam name: String, @RequestParam pass: String): Any
|
fun register(@RequestParam name: String, @RequestParam pass: String, @RequestParam @Email email: String): Any
|
||||||
{
|
{
|
||||||
// Check username length
|
// Check username length
|
||||||
if (name.length !in 3..32) return bad("Username length not in range 3 to 32")
|
if (name.length !in 3..32) return bad("Username length not in range 3 to 32")
|
||||||
|
|
||||||
// Check if username exists
|
// Check if username exists
|
||||||
val user = User(name, pass)
|
val user = User(name, email, pass)
|
||||||
if (repo.exists(Example.of(user, em))) return bad("Username has already been used")
|
if (repo.exists(Example.of(user, em))) return bad("Username has already been used")
|
||||||
|
|
||||||
// Check password strength
|
// Check password strength
|
||||||
|
|||||||
Reference in New Issue
Block a user