From debccdbef30ea7dbe3f7ccee62478eb3472c747f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd-Ren=C3=A9=20Predota?= Date: Thu, 12 Nov 2020 19:12:33 +0100 Subject: [PATCH] first commit --- README.md | 0 main.go | 11 +++++++++++ pkg/user/model.go | 16 ++++++++++++++++ pkg/user/repository.go | 20 ++++++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 README.md create mode 100644 main.go create mode 100644 pkg/user/model.go create mode 100644 pkg/user/repository.go diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/main.go b/main.go new file mode 100644 index 0000000..3660e6e --- /dev/null +++ b/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{}) + +} diff --git a/pkg/user/model.go b/pkg/user/model.go new file mode 100644 index 0000000..81d7f0a --- /dev/null +++ b/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"` +} diff --git a/pkg/user/repository.go b/pkg/user/repository.go new file mode 100644 index 0000000..3c900d2 --- /dev/null +++ b/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 +}