registering user works
This commit is contained in:
parent
faf460470e
commit
acdee880e4
4 changed files with 48 additions and 32 deletions
13
Lab01/app/.idea/saveactions_settings.xml
Normal file
13
Lab01/app/.idea/saveactions_settings.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="SaveActionSettings">
|
||||
<option name="actions">
|
||||
<set>
|
||||
<option value="activate" />
|
||||
<option value="activateOnShortcut" />
|
||||
<option value="organizeImports" />
|
||||
<option value="reformat" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
|
@ -1,6 +1,8 @@
|
|||
package database
|
||||
|
||||
import "gorm.io/gorm"
|
||||
import (
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type Database struct {
|
||||
ORM *gorm.DB
|
||||
|
@ -8,7 +10,7 @@ type Database struct {
|
|||
}
|
||||
|
||||
type User struct {
|
||||
ID int
|
||||
Username string
|
||||
Password string
|
||||
Username string `gorm:"primaryKey"`
|
||||
Password string
|
||||
CreatedAt int64 `gorm:"autoCreateTime"`
|
||||
}
|
||||
|
|
|
@ -9,37 +9,37 @@
|
|||
{{template "navbar" .}}
|
||||
|
||||
<div class="position-absolute top-50 start-50 translate-middle">
|
||||
<form action="http://localhost:8080/register" method="POST">
|
||||
<div class="mb-3">
|
||||
<label for="username" class="form-label">Username</label>
|
||||
<input type="text" class="form-control" id="username" aria-describedby="emailHelp">
|
||||
<div id="emailHelp" class="form-text">The username needs to be unique</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="password" class="form-label">Password</label>
|
||||
<input type="password" class="form-control" id="password" aria-describedby="passwordHelp">
|
||||
<div id="passwordHelp" class="form-text">The password needs to be different from the username</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</form>
|
||||
<div class="mb-3">
|
||||
<label for="username" class="form-label">Username</label>
|
||||
<input type="text" class="form-control" id="username" aria-describedby="emailHelp">
|
||||
<div id="emailHelp" class="form-text">The username needs to be unique</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="password" class="form-label">Password</label>
|
||||
<input type="password" class="form-control" id="password" aria-describedby="passwordHelp">
|
||||
<div id="passwordHelp" class="form-text">The password needs to be different from the username</div>
|
||||
</div>
|
||||
<button onclick="registerUser()" class="btn btn-primary">Submit</button>
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
|
||||
crossorigin="anonymous"></script>
|
||||
<script>
|
||||
let formData = new FormData();
|
||||
formData.append("username", "Florian");
|
||||
formData.append("password", "SuperSafe");
|
||||
function registerUser() {
|
||||
const username = document.getElementById("username").value;
|
||||
const password = document.getElementById("password").value;
|
||||
let formData = new FormData();
|
||||
formData.append("username", username);
|
||||
formData.append("password", password);
|
||||
|
||||
let requestOptions = {
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
redirect: 'follow'
|
||||
};
|
||||
|
||||
fetch("http://localhost:8080/register", requestOptions)
|
||||
.then(response => response.text())
|
||||
.then(result => console.log(result))
|
||||
.catch(error => console.log('error', error));
|
||||
fetch("/register", {method: 'POST', body: formData, redirect: 'follow'})
|
||||
.then(response => response.json())
|
||||
.then(() => {
|
||||
window.location.href = "/";
|
||||
}
|
||||
).catch(error => console.log(error));
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -45,7 +45,8 @@ func (wp *Webpage) defineRoutes() {
|
|||
user := database.User{Username: username, Password: password}
|
||||
result := wp.Database.ORM.Create(&user)
|
||||
if result.Error != nil {
|
||||
c.JSON(200, gin.H{"message": "cannot create user"})
|
||||
c.JSON(400, gin.H{"message": result.Error.Error()})
|
||||
return
|
||||
}
|
||||
c.JSON(200, gin.H{"message": "user registered"})
|
||||
})
|
||||
|
|
Reference in a new issue