25 lines
498 B
Go
25 lines
498 B
Go
package auth
|
|
|
|
import (
|
|
"database/sql"
|
|
|
|
"git.lxtend.com/qqbot/constants"
|
|
"git.lxtend.com/qqbot/sqlite3"
|
|
)
|
|
|
|
func getAuth(qqID int64) (auth Auth, err error) {
|
|
tx, err := sqlite3.GetTran()
|
|
if err != nil {
|
|
return Auth{}, err
|
|
}
|
|
defer tx.Rollback()
|
|
err = tx.Get(&auth, "SELECT * FROM auth WHERE qqid = ?", qqID)
|
|
if err == sql.ErrNoRows {
|
|
_, err = tx.Exec("INSERT INTO auth(qqid, role) VALUES(?, ?)", qqID, constants.LEVEL_USER)
|
|
}
|
|
if err != nil {
|
|
return Auth{}, err
|
|
}
|
|
return auth, nil
|
|
}
|