38 lines
596 B
Go
38 lines
596 B
Go
|
package models
|
||
|
|
||
|
import (
|
||
|
"gorm.io/gorm"
|
||
|
)
|
||
|
|
||
|
type User struct {
|
||
|
gorm.Model
|
||
|
Username string `json:"username" gorm:"uniqueIndex, column: username"`
|
||
|
Password string
|
||
|
}
|
||
|
|
||
|
func (u User) Create() error {
|
||
|
return DB().Create(&u).Error
|
||
|
}
|
||
|
|
||
|
func (u *User) Read() error {
|
||
|
return Read(u)
|
||
|
}
|
||
|
|
||
|
func (u User) ReadAll(offset, limit int) ([]User, error) {
|
||
|
var users []User
|
||
|
err := ReadAll(&users, offset, limit)
|
||
|
return users, err
|
||
|
}
|
||
|
|
||
|
func (u *User) Update() error {
|
||
|
return Update(u, "username", u.Username)
|
||
|
}
|
||
|
|
||
|
func (u User) Delete() error {
|
||
|
err := u.Read()
|
||
|
if err == nil {
|
||
|
err = Delete(&u)
|
||
|
}
|
||
|
return err
|
||
|
}
|