Add user db search
- Search user by email Signed-off-by: Asai Neko <sugar@sne.moe>
This commit is contained in:
39
data/data.go
Normal file
39
data/data.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"nixcn-cms/config"
|
||||
"nixcn-cms/data/drivers"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
var Database *drivers.DBClient
|
||||
|
||||
func Init() {
|
||||
// Init database
|
||||
dbType := config.Get("database.type").(string)
|
||||
exDSN := drivers.ExternalDSN{
|
||||
Host: config.Get("database.host").(string),
|
||||
Name: config.Get("database.name").(string),
|
||||
Username: config.Get("database.username").(string),
|
||||
Password: config.Get("database.password").(string),
|
||||
}
|
||||
|
||||
if dbType != "postgres" {
|
||||
log.Fatal("[Database] Only support postgras db!")
|
||||
}
|
||||
|
||||
// Conect to db
|
||||
db, err := drivers.Postgres(exDSN)
|
||||
if err != nil {
|
||||
log.Fatal("[Database] Error connecting to db!")
|
||||
}
|
||||
|
||||
// Auto migrate
|
||||
err = db.DB.AutoMigrate(&User{})
|
||||
if err != nil {
|
||||
log.Error("[Database] Error migrating database: ", err)
|
||||
}
|
||||
|
||||
Database = db
|
||||
}
|
||||
21
data/user.go
Normal file
21
data/user.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package data
|
||||
|
||||
import "github.com/google/uuid"
|
||||
|
||||
type User struct {
|
||||
Id uint `json:"id" gorm:"primarykey;autoincrement"`
|
||||
UUID uuid.UUID `json:"uuid" gorm:"type:uuid;uniqueindex;not null"`
|
||||
UserId string `json:"user_id" gorm:"size:8;uniqueindex;not null"`
|
||||
Email string `json:"email" gorm:"uniqueindex;not null"`
|
||||
Nickname string `json:"nickname" gorm:"not null"`
|
||||
Type string `json:"type" gorm:"not null"`
|
||||
Subtitle string `json:"subtitle" gorm:"not null"`
|
||||
Avatar string `json:"avatar" gorm:"not null"`
|
||||
}
|
||||
|
||||
func (self *User) GetByEmail(email string) error {
|
||||
if err := Database.Where("email = ?", email).First(&self).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user