magmise/api/models/user.go

35 lines
670 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 DB().First(u, u).Error
}
func (u User) ReadAll(offset, limit int) ([]User, error) {
var Users []User
err := DB().Offset(offset).Limit(limit).Where(&u).Find(&Users).Error
return Users, err
}
func (u *User) Update() error {
return DB().Model(u).Where("username = ?", u.Username).Updates(u).Error
}
func (u *User) Delete() error {
return DB().Where("username = ?", u.Username).Delete(u).Error
}