mirror of
https://github.com/outbackdingo/databunker.git
synced 2026-01-27 18:18:43 +00:00
code cleanups for init and remove debug
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +1,4 @@
|
||||
databunker
|
||||
databunker.db
|
||||
databunker.yaml
|
||||
bql.db
|
||||
|
||||
@@ -202,41 +202,47 @@ func readEnv(cfg *Config) error {
|
||||
|
||||
func main() {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
fmt.Println("***MAIN***")
|
||||
lockMemory()
|
||||
var cfg Config
|
||||
readFile(&cfg)
|
||||
readEnv(&cfg)
|
||||
fmt.Printf("%+v\n", cfg)
|
||||
//fmt.Printf("%+v\n", cfg)
|
||||
initPtr := flag.Bool("init", false, "a bool")
|
||||
masterKeyPtr := flag.String("masterkey", "", "master key")
|
||||
flag.Parse()
|
||||
var err error
|
||||
var masterKey []byte
|
||||
if *initPtr {
|
||||
fmt.Println("Init")
|
||||
masterKey, err = generateMasterKey()
|
||||
fmt.Printf("Master key: %x\n", masterKey)
|
||||
} else if masterKeyPtr != nil && len(*masterKeyPtr) > 0 {
|
||||
masterKey, err = hex.DecodeString(*masterKeyPtr)
|
||||
} else {
|
||||
fmt.Println("Run ./databunker -init for the firts time.")
|
||||
log.Fatal("Masterkey is missing. Run ./databunker -masterkey key")
|
||||
}
|
||||
if err != nil {
|
||||
//log.Panic("error %s", err.Error())
|
||||
fmt.Printf("error %s", err.Error())
|
||||
}
|
||||
db, _ := newDB(masterKey, nil)
|
||||
if *initPtr {
|
||||
fmt.Println("Init")
|
||||
fmt.Println("\nDatabunker init\n")
|
||||
masterKey, err = generateMasterKey()
|
||||
fmt.Printf("Master key: %x\n\n", masterKey)
|
||||
fmt.Println("Init databunker.db\n")
|
||||
db.initDB()
|
||||
rootToken, err := db.createRootToken()
|
||||
if err != nil {
|
||||
//log.Panic("error %s", err.Error())
|
||||
fmt.Printf("error %s", err.Error())
|
||||
}
|
||||
fmt.Printf("Root token: %s\n", rootToken)
|
||||
fmt.Printf("API Root token: %s\n\n", rootToken)
|
||||
os.Exit(0)
|
||||
}
|
||||
if dbExists() == false {
|
||||
fmt.Println("\ndatabunker.db file is missing.\n")
|
||||
fmt.Println(`Run "./databunker -init" for the first time.`)
|
||||
fmt.Println("")
|
||||
os.Exit(0)
|
||||
}
|
||||
if masterKeyPtr != nil && len(*masterKeyPtr) > 0 {
|
||||
masterKey, err = hex.DecodeString(*masterKeyPtr)
|
||||
} else {
|
||||
fmt.Println(`Masterkey is missing.`)
|
||||
fmt.Printf(`Run "./databunker -masterkey key"`)
|
||||
os.Exit(0)
|
||||
}
|
||||
db.initUserApps()
|
||||
e := mainEnv{db, cfg}
|
||||
|
||||
17
src/qldb.go
17
src/qldb.go
@@ -15,6 +15,7 @@ import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strconv"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
@@ -32,6 +33,13 @@ type dbcon struct {
|
||||
hash []byte
|
||||
}
|
||||
|
||||
func dbExists() bool {
|
||||
if _, err := os.Stat("databunker.db"); os.IsNotExist(err) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func newDB(masterKey []byte, urlurl *string) (dbcon, error) {
|
||||
dbobj := dbcon{nil, nil, nil}
|
||||
|
||||
@@ -50,9 +58,9 @@ func newDB(masterKey []byte, urlurl *string) (dbcon, error) {
|
||||
*/
|
||||
|
||||
ql.RegisterDriver2()
|
||||
db, err := sql.Open("ql2", "./bql.db")
|
||||
db, err := sql.Open("ql2", "./databunker.db")
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to open ql db: %s", err)
|
||||
log.Fatalf("Failed to open databunker.db file: %s", err)
|
||||
}
|
||||
hash := md5.Sum(masterKey)
|
||||
dbobj = dbcon{db, masterKey, hash[:]}
|
||||
@@ -61,7 +69,6 @@ func newDB(masterKey []byte, urlurl *string) (dbcon, error) {
|
||||
|
||||
func (dbobj dbcon) initDB() error {
|
||||
var err error
|
||||
fmt.Println("init db *****")
|
||||
if err = initUsers(dbobj.db); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -573,10 +580,10 @@ func initUsers(db *sql.DB) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Println("going to create indexes")
|
||||
//fmt.Println("going to create indexes")
|
||||
_, err = tx.Exec(`CREATE INDEX users_token ON users (token);`)
|
||||
if err != nil {
|
||||
fmt.Println("error in create index")
|
||||
//fmt.Println("error in create index")
|
||||
return err
|
||||
}
|
||||
_, err = tx.Exec(`CREATE INDEX users_login ON users (loginidx);`)
|
||||
|
||||
Reference in New Issue
Block a user