Dodanie stanu wylogowania i zaloowania do bazy mysql
This commit is contained in:
parent
b782f39ed8
commit
542320f496
@ -70,7 +70,7 @@ func getAllUsers() []User {
|
|||||||
for result.Next() {
|
for result.Next() {
|
||||||
var user User
|
var user User
|
||||||
|
|
||||||
err = result.Scan(&user.UserId, &user.Login, &user.Password, &user.UserDescription, &user.Points)
|
err = result.Scan(&user.UserId, &user.Login, &user.Password, &user.UserDescription, &user.Points, &user.IsLogged)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err.Error())
|
panic(err.Error())
|
||||||
}
|
}
|
||||||
@ -176,3 +176,76 @@ func updateUserPoints(_login string) error {
|
|||||||
|
|
||||||
return nil //jak bez bledow wszystko
|
return nil //jak bez bledow wszystko
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getAllLoggedUsers() ([]string, error) {
|
||||||
|
//pobieranie listy obiektow zalogowanych uzytkownikow
|
||||||
|
db, err := connectMysql()
|
||||||
|
loggedUsers := make([]string, 0)
|
||||||
|
|
||||||
|
result, err := db.Query("SELECT * FROM users WHERE isLogged = true;")
|
||||||
|
if err != nil {
|
||||||
|
panic(err.Error())
|
||||||
|
fmt.Println("[getAllLoggedUsers] [Error] %s", err)
|
||||||
|
|
||||||
|
return nil, err // zwraca nula jak nie uda sie pobrac listy loginow
|
||||||
|
}
|
||||||
|
|
||||||
|
for result.Next() {
|
||||||
|
var user User
|
||||||
|
|
||||||
|
err = result.Scan(&user.UserId, &user.Login, &user.Password, &user.UserDescription, &user.Points, &user.IsLogged)
|
||||||
|
if err != nil {
|
||||||
|
panic(err.Error())
|
||||||
|
return nil, err // zwraca nula jak nie uda sie pobrac listy loginow
|
||||||
|
fmt.Println("[getAllLoggedUsers] [Error] %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println(user)
|
||||||
|
loggedUsers = append(loggedUsers, user.Login)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("Wszyscy zalogowani: ", loggedUsers)
|
||||||
|
return loggedUsers, nil // zwraca nula jak nie uda sie pobrac listy loginow
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func updateLoggedUser(_login string) error {
|
||||||
|
//aktualizuje stan uzytkownika na zalogowanego
|
||||||
|
db, err := connectMysql()
|
||||||
|
if err != nil {
|
||||||
|
panic(err.Error())
|
||||||
|
fmt.Println("[updateLoggedUser] [Error] %s", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
updateLogin := fmt.Sprintf(`UPDATE users SET isLogged=true WHERE login='%s' ;`, _login)
|
||||||
|
_, err = db.Query(updateLogin)
|
||||||
|
if err != nil {
|
||||||
|
panic(err.Error())
|
||||||
|
fmt.Println("[getAllLoggedUsers] [Error] %s", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func updateLogoutUser(_login string) error {
|
||||||
|
//aktualizuje stan na false jak sie uzytkownik wyloguje
|
||||||
|
db, err := connectMysql()
|
||||||
|
if err != nil {
|
||||||
|
panic(err.Error())
|
||||||
|
fmt.Println("[updateLoggedUser] [Error] Nie udało polaczy sie z baza")
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
updateLogout := fmt.Sprintf(`UPDATE users SET isLogged=false WHERE login='%s' ;`, _login)
|
||||||
|
_, err = db.Query(updateLogout)
|
||||||
|
if err != nil {
|
||||||
|
panic(err.Error())
|
||||||
|
fmt.Println("[getAllLoggedUsers] [Error] Nie udalo sie zaktulizowac wylogowanego uzytkownika")
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -58,6 +58,9 @@ func main() {
|
|||||||
api.POST("/loginUserView", loginUserView) //logowanie
|
api.POST("/loginUserView", loginUserView) //logowanie
|
||||||
api.POST("/updateUserPointsView", updateUserPointsView) // inkrementacja punktow
|
api.POST("/updateUserPointsView", updateUserPointsView) // inkrementacja punktow
|
||||||
api.POST("/addNewCardView", addNewCardView) // [couchdb] dodawanie nowej karty
|
api.POST("/addNewCardView", addNewCardView) // [couchdb] dodawanie nowej karty
|
||||||
|
api.POST("/getAllLoggedUsersView", getAllLoggedUsersView) // [mysql] pobieranie listy zalogowanych uzytkownikow
|
||||||
|
api.POST("/updateLoggedUserView", updateLoggedUserView) //aktualizacja ze uzytkownik zalogowany
|
||||||
|
api.POST("/updateLogoutUserView", updateLogoutUserView) //aktualizacja stanu jak uzytkownik sie wyloguje
|
||||||
|
|
||||||
// Start and run the server
|
// Start and run the server
|
||||||
router.Run(":3000")
|
router.Run(":3000")
|
||||||
|
@ -21,6 +21,7 @@ type User struct {
|
|||||||
UserDescription string `json:"userDescription"`
|
UserDescription string `json:"userDescription"`
|
||||||
Points int `json:points`
|
Points int `json:points`
|
||||||
Token string
|
Token string
|
||||||
|
IsLogged bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// Structura karty
|
// Structura karty
|
||||||
|
@ -179,13 +179,6 @@ func addNewCardView(c *gin.Context) {
|
|||||||
//PATRZ: documentation/couchdb/local.ini; documentation/couchdb/corsy_ustawienie.txt
|
//PATRZ: documentation/couchdb/local.ini; documentation/couchdb/corsy_ustawienie.txt
|
||||||
c.Header("Content-Type", "application/json")
|
c.Header("Content-Type", "application/json")
|
||||||
fmt.Println("-------------------- ADD NEW CARD ----------------------------------------------")
|
fmt.Println("-------------------- ADD NEW CARD ----------------------------------------------")
|
||||||
fmt.Println("------------------------------------------------------------------")
|
|
||||||
fmt.Println("------------------------------------------------------------------")
|
|
||||||
fmt.Println("------------------------------------------------------------------")
|
|
||||||
fmt.Println("------------------------------------------------------------------")
|
|
||||||
fmt.Println("------------------------------------------------------------------")
|
|
||||||
fmt.Println("------------------------------------------------------------------")
|
|
||||||
|
|
||||||
var newCard Card
|
var newCard Card
|
||||||
c.Bind(&newCard)
|
c.Bind(&newCard)
|
||||||
_isQuestion := newCard.IsQuestion
|
_isQuestion := newCard.IsQuestion
|
||||||
@ -210,3 +203,52 @@ func addNewCardView(c *gin.Context) {
|
|||||||
c.JSON(http.StatusOK, "[addNewCardView] Dodano nową kartę")
|
c.JSON(http.StatusOK, "[addNewCardView] Dodano nową kartę")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getAllLoggedUsersView(c *gin.Context) {
|
||||||
|
fmt.Println("Zwracanie wszystkich zalogowanych uzytkownikow")
|
||||||
|
|
||||||
|
allLoggedUsers, err := getAllLoggedUsers()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("[getAllLoggedUsersView] [Error] %s", err)
|
||||||
|
c.JSON(http.StatusOK, gin.H{
|
||||||
|
"code": http.StatusOK,
|
||||||
|
"allLoggedUsers": allLoggedUsers, // cast it to string before showing
|
||||||
|
})
|
||||||
|
|
||||||
|
} else {
|
||||||
|
c.JSON(http.StatusOK, gin.H{
|
||||||
|
"code": http.StatusOK,
|
||||||
|
"allLoggedUsers": nil, // cast it to string before showing
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func updateLoggedUserView(c *gin.Context) {
|
||||||
|
var loggedUser User //login zalogowane uzytkownika
|
||||||
|
c.Bind(&loggedUser)
|
||||||
|
_login := loggedUser.Login
|
||||||
|
err := updateLoggedUser(_login)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusOK, "[updateLoggedUserView] Nie udalo sie zaktualizowac zalogowanego uzytkownika")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
c.JSON(http.StatusOK, true) //true jak sie udalo zaktualizowac
|
||||||
|
}
|
||||||
|
|
||||||
|
func updateLogoutUserView(c *gin.Context) {
|
||||||
|
var logoutUser User //login zalogowane uzytkownika
|
||||||
|
c.Bind(&logoutUser)
|
||||||
|
_login := logoutUser.Login
|
||||||
|
err := updateLogoutUser(_login)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusOK, "[updateLoggedUserView] Nie udalo sie zaktualizowac wylogowanego uzytkownika")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
c.JSON(http.StatusOK, true) //true jak sie udalo zaktualizowac
|
||||||
|
}
|
||||||
|
|
||||||
|
func getGentelman(c *gin.Context) {
|
||||||
|
//zwraca login aktualnego gentelamana
|
||||||
|
}
|
||||||
|
14
documentation/stawianie_aplikacji.txt
Normal file
14
documentation/stawianie_aplikacji.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
---------------------MYSQL----------------------
|
||||||
|
Tabela użytkowników, gdzie login jest unikalny
|
||||||
|
CREATEA DATABASE golang_users;
|
||||||
|
USE golang_users;
|
||||||
|
|
||||||
|
CREATE TABLE users(
|
||||||
|
userID int AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
login Varchar(30),
|
||||||
|
password Varchar(250),
|
||||||
|
userDescription Varchar(250),
|
||||||
|
points INT DEFAULT 0,
|
||||||
|
isLogged bool DEFAULT FALSE,
|
||||||
|
UNIQUE (login)
|
||||||
|
)
|
@ -117,6 +117,8 @@ export default {
|
|||||||
if(this.isLogged){
|
if(this.isLogged){
|
||||||
this.snackbarLogout = true
|
this.snackbarLogout = true
|
||||||
this.isLogged = false
|
this.isLogged = false
|
||||||
|
this.$store.dispatch('removeLoggedUser', localStorage.getItem('user'))
|
||||||
|
|
||||||
console.log("wylogowano")
|
console.log("wylogowano")
|
||||||
localStorage.setItem('token',null);
|
localStorage.setItem('token',null);
|
||||||
localStorage.setItem('user', null);
|
localStorage.setItem('user', null);
|
||||||
|
@ -14,5 +14,32 @@ export const store = new Vuex.Store({
|
|||||||
// { icon: 'get_app', text: 'Zaloguj', route: '/login'},
|
// { icon: 'get_app', text: 'Zaloguj', route: '/login'},
|
||||||
// { icon: 'account_circle', text: 'Rejestracja', route: '/register'},
|
// { icon: 'account_circle', text: 'Rejestracja', route: '/register'},
|
||||||
],
|
],
|
||||||
|
allLoggedUsers:[]
|
||||||
|
},
|
||||||
|
getters:{
|
||||||
|
allUsers: state => {
|
||||||
|
return state.allLoggedUsers
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mutations:{
|
||||||
|
//usuwanie po wylogowaniu
|
||||||
|
removeLoggedUser: (state, payloadUser)=> {
|
||||||
|
var elementId = state.allLoggedUsers.indexOf(payloadUser) //znajdowanie id elementu do usuniecia
|
||||||
|
delete state.allLoggedUsers[elementId] //usuwanie kontkretnego loginu
|
||||||
|
|
||||||
|
},
|
||||||
|
//dodawanie nowego zalogowanego uzytkownika
|
||||||
|
addLoggedUser: (state, payloadUser)=> {
|
||||||
|
state.allLoggedUsers.push(payloadUser)
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
actions:{
|
||||||
|
addLoggedUser: (context, payloadUser) =>{
|
||||||
|
context.commit('addLoggedUser', payloadUser)
|
||||||
|
},
|
||||||
|
removeLoggedUser: (context, payloadUser) =>{
|
||||||
|
context.commit('removeLoggedUser', payloadUser)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -101,6 +101,9 @@ export default {
|
|||||||
}
|
}
|
||||||
console.log("LOCAL STOARAGE: ", localStorage.getItem('token'))
|
console.log("LOCAL STOARAGE: ", localStorage.getItem('token'))
|
||||||
console.log("LOCAL STOARAGE User: ", localStorage.getItem('user'))
|
console.log("LOCAL STOARAGE User: ", localStorage.getItem('user'))
|
||||||
|
|
||||||
|
console.log("Wszyscy uzytkownicy: ", this.$store.getters.allUsers)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -79,12 +79,15 @@ export default {
|
|||||||
var local = localStorage.getItem('token');
|
var local = localStorage.getItem('token');
|
||||||
var localU = localStorage.getItem('user');
|
var localU = localStorage.getItem('user');
|
||||||
|
|
||||||
|
//dodanie loginu do listy wszystkich zalogowanych użytkowników
|
||||||
|
this.$store.dispatch('addLoggedUser', localStorage.getItem('user'))
|
||||||
|
|
||||||
|
console.log("Wszyscy uzytkownicy: ", this.$store.getters.allUsers)
|
||||||
|
|
||||||
console.log("LOCAL STOARAGE: ", local)
|
console.log("LOCAL STOARAGE: ", local)
|
||||||
console.log("LOCAL STOARAGE User: ", localU)
|
console.log("LOCAL STOARAGE User: ", localU)
|
||||||
|
|
||||||
this.$router.push('game')
|
this.$router.push('game') //przekierowanie dla one sigle page application window.location.replace("http://localhost:8080/game");
|
||||||
|
|
||||||
// router.push({name: "/game"}) //przekierowanie dla one sigle page application window.location.replace("http://localhost:8080/game");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else{ //coś poszło nie tak
|
else{ //coś poszło nie tak
|
||||||
|
Loading…
Reference in New Issue
Block a user