Dodawanie do couchdb dziala

This commit is contained in:
pawlaczyk 2019-01-06 16:00:15 +01:00
parent 951d6e65b9
commit 39901856be
5 changed files with 185 additions and 72 deletions

Binary file not shown.

View File

@ -3,6 +3,7 @@ package main
import ( import (
"fmt" "fmt"
"net/url" "net/url"
"reflect"
"github.com/zemirco/couchdb" "github.com/zemirco/couchdb"
) )
@ -10,93 +11,147 @@ import (
// create your own document // create your own document
type cardDocument struct { type cardDocument struct {
couchdb.Document couchdb.Document
ID int `json:"id" binding:"required"` IsQuestion bool `json:"isquestion"`
isQuestion bool `json:"typ"` //True karta pytanie, False karta odpowiedź Blank int `json:"blank"`
Blank int `json:"puste" binding:"required"` //ile kart odpowiedzi na pytanie Text string `json:"text`
Text string `json:"tekst" binding:"required"` // podłoga to luka
} }
func connectCouchdb(url_couchdb string) { type dummyDocument struct {
if url_couchdb == "" { couchdb.Document
url_couchdb = "http://127.0.0.1:5984/" Foo string `json:"foo"`
} Beep string `json:"beep"`
}
func connectCouchdb() couchdb.DatabaseService {
/*
http://127.0.0.1:5984/_utils/#database/golang_cards/_all_docs
*/
// if url_couchdb == "" {
url_couchdb := "http://root:password@127.0.0.1:5984/"
// }
u, err := url.Parse(url_couchdb) u, err := url.Parse(url_couchdb)
if err != nil { if err != nil {
panic(err) panic(err)
} }
return u, err
}
func addNewCard(){
u, err = connectCouchdb("")
client, err := couchdb.NewClient(u) client, err := couchdb.NewClient(u)
db := client.Use("golangCards")
doc := &cardDocument{
Foo: "bar",
Beep: "bopp",
ID int
isQuestion bool //True karta pytanie, False karta odpowiedź
Blank int //ile kart odpowiedzi na pytanie
Text string // podłoga to luka
}
result, err := db.Post(doc)
if err != nil { if err != nil {
panic(err) panic(err)
} }
// return client, err
fmt.Println(reflect.TypeOf(client))
db := client.Use("golang_cards")
// return db
fmt.Println(reflect.TypeOf(db))
return db
} }
// start
func main() {
u, err = connectCouchdb("") func addNewCard(_isQuestion bool, _blank int, _text string) {
// create a new client if !_isQuestion {
client, err := couchdb.NewClient(u) fmt.Printf("NIE")
if err != nil { _blank = 0
panic(err)
} }
// get some information about your CouchDB db := connectCouchdb()
info, err := client.Info()
if err != nil {
panic(err)
}
fmt.Println(info)
// // create a database doc := &cardDocument{ //struktura karty
// if _, err = client.Create("dummy"); err != nil { IsQuestion: _isQuestion,
// panic(err) Blank: _blank,
Text: _text,
}
// doc := &dummyDocument{
// Foo: "bar",
// Beep: "bopp",
// } // }
// use your new "dummy" database and create a document
db := client.Use("dummy")
doc := &cardDocument{
Foo: "bar",
Beep: "bopp",
ID int
isQuestion bool //True karta pytanie, False karta odpowiedź
Blank int //ile kart odpowiedzi na pytanie
Text string // podłoga to luka
}
result, err := db.Post(doc) result, err := db.Post(doc)
if err != nil { if err != nil {
panic(err) panic(err)
} }
// fmt.Printf(result)
// get id and current revision. fmt.Println(reflect.TypeOf(result))
if err := db.Get(doc, result.ID); err != nil {
panic(err)
}
// delete document
if _, err = db.Delete(doc); err != nil {
panic(err)
}
// and finally delete the database
if _, err = client.Delete("dummy"); err != nil {
panic(err)
}
} }
func main() {
// db := connectCouchdb()
addNewCard(true, 1, "_text")
}
// func addNewCard(){
// u, err = connectCouchdb("")
// client, err := couchdb.NewClient(u)
// db := client.Use("golang_cards")
// doc := &cardDocument{
// Foo: "bar",
// Beep: "bopp",
// ID int
// isQuestion bool //True karta pytanie, False karta odpowiedź
// Blank int //ile kart odpowiedzi na pytanie
// Text string // podłoga to luka
// }
// result, err := db.Post(doc)
// if err != nil {
// panic(err)
// }
// }
// // start
// func main() {
// u, err = connectCouchdb("")
// // create a new client
// client, err := couchdb.NewClient(u)
// if err != nil {
// panic(err)
// }
// // get some information about your CouchDB
// info, err := client.Info()
// if err != nil {
// panic(err)
// }
// fmt.Println(info)
// // // create a database
// // if _, err = client.Create("dummy"); err != nil {
// // panic(err)
// // }
// // use your new "dummy" database and create a document
// db := client.Use("dummy")
// doc := &cardDocument{
// Foo: "bar",
// Beep: "bopp",
// ID int
// isQuestion bool //True karta pytanie, False karta odpowiedź
// Blank int //ile kart odpowiedzi na pytanie
// Text string // podłoga to luka
// }
// result, err := db.Post(doc)
// if err != nil {
// panic(err)
// }
// // get id and current revision.
// if err := db.Get(doc, result.ID); err != nil {
// panic(err)
// }
// // delete document
// if _, err = db.Delete(doc); err != nil {
// panic(err)
// }
// // and finally delete the database
// if _, err = client.Delete("dummy"); err != nil {
// panic(err)
// }
// }

Binary file not shown.

View File

@ -79,6 +79,59 @@ func getAllUsers() []User {
} }
func checkLoginExists(_login string) bool {
//sprawdza czy dany login jest juz w bazie, przy rejestracji przydatne
db, err := connectMysql()
querySelect := fmt.Sprintf(`SELECT login FROM users WHERE login='%s' ;`, _login)
result, err := db.Query(querySelect)
if err != nil {
panic(err.Error())
}
for result.Next() {
var userLogin string
err = result.Scan(&userLogin)
if err != nil {
panic(err.Error())
}
if userLogin != "" {
return true
}
}
return false
}
func loginUser(_login string, _password string) bool {
//do logowanie w bazie
db, err := connectMysql()
querySelect := fmt.Sprintf(`SELECT login FROM users WHERE login='%s' AND password='%s' ;`, _login, _password)
result, err := db.Query(querySelect)
if err != nil {
panic(err.Error())
}
for result.Next() {
var userLogin string
err = result.Scan(&userLogin)
if err != nil {
panic(err.Error())
}
if userLogin != "" {
return true
}
}
return false
}
func main() { func main() {
fmt.Println("Go Mysql Tutorial") fmt.Println("Go Mysql Tutorial")
// db, err := connectMysql() // db, err := connectMysql()
@ -87,8 +140,12 @@ func main() {
// fmt.Println(reflect.TypeOf(db)) // fmt.Println(reflect.TypeOf(db))
// fmt.Println(reflect.TypeOf(err)) // fmt.Println(reflect.TypeOf(err))
addUser("login10", "password", "userDescription", 123) // addUser("login10", "password", "userDescription", 123)
allUsers := getAllUsers() // allUsers := getAllUsers()
fmt.Println(allUsers) // fmt.Println(allUsers)
wynik := checkLoginExists("_login")
fmt.Printf("%v", wynik)
wynik = loginUser("_login", "_password3")
fmt.Printf("%v", wynik)
} }

View File

@ -23,9 +23,10 @@ type User struct {
// Structura karty // Structura karty
/* /*
*/ */
type Card struct { // type Card struct {
ID int `json:"id" binding:"required"` // couchdb.Document
isQuestion int `json:"typ"` //0 karta pytanie, 1 karta odpowiedź // id int `json:"id" binding:"required"`
Blank int `json:"puste" binding:"required"` //ile kart odpowiedzi na pytanie // isQuestion bool `json:"typ"` //0 karta pytanie, 1 karta odpowiedź
Text string `json:"tekst" binding:"required"` // podłoga to luka // blank int `json:"puste" binding:"required"` //ile kart odpowiedzi na pytanie
} // text string `json:"tekst" binding:"required"` // podłoga to luka
// }