feat: moved files into a better position for organization closes #8
This commit is contained in:
39
logic/db_types/user.go
Normal file
39
logic/db_types/user.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package dbtypes
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"errors"
|
||||
)
|
||||
|
||||
type User struct {
|
||||
Id string
|
||||
Username string
|
||||
Email string
|
||||
UserType int
|
||||
}
|
||||
|
||||
var ErrUserNotFound = errors.New("User Not found")
|
||||
|
||||
func UserFromToken(db *sql.DB, token string) (*User, error) {
|
||||
row, err := db.Query("select users.id, users.username, users.email, users.user_type from users inner join tokens on tokens.user_id = users.id where tokens.token = $1;", token)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var id string
|
||||
var username string
|
||||
var email string
|
||||
var user_type int
|
||||
|
||||
if !row.Next() {
|
||||
return nil, ErrUserNotFound
|
||||
}
|
||||
|
||||
err = row.Scan(&id, &username, &email, &user_type)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &User{id, username, email, user_type}, nil
|
||||
}
|
||||
Reference in New Issue
Block a user