Browse Source

first commit

master
Bernd-René Predota 5 years ago
commit
debccdbef3
  1. 0
      README.md
  2. 11
      main.go
  3. 16
      pkg/user/model.go
  4. 20
      pkg/user/repository.go

0
README.md

11
main.go

@ -0,0 +1,11 @@
package main
import (
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
func main() {
db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{})
}

16
pkg/user/model.go

@ -0,0 +1,16 @@
package user
import (
"gorm.io/gorm"
)
// User data model
type User struct {
gorm.Model
Username string `gorm:"unique_index:username" json:"username,omitempty"`
Firstname string `json:"firstname,omitempty"`
Lastname string `json:"lastname,omitempty"`
Email string `json:"email,omitempty"`
PasswordHash string `json:"-"`
Active bool ` json:"active"`
}

20
pkg/user/repository.go

@ -0,0 +1,20 @@
package user
// Reader
type Reader interface {
Read(id uint64) (*User, error)
ReadAll() ([]*User, error)
}
// Writer
type Writer interface {
Update(user *User) error
Create(user *User) (uint64, error)
Delete(user *User) (uint64, error)
}
// Repository repository interface
type Repository interface {
Reader
Writer
}
Loading…
Cancel
Save