From 686f54af64324935517d34ab2294b93e76c4303b Mon Sep 17 00:00:00 2001 From: kelyn Date: Sat, 30 May 2026 14:15:50 -0500 Subject: [PATCH] initial setup --- cmd/server/main.go | 5 +++++ go.mod | 10 ++++++++++ go.sum | 8 ++++++++ pkg/db/base.go | 14 ++++++++++++++ pkg/db/user.go | 27 +++++++++++++++++++++++++++ 5 files changed, 64 insertions(+) create mode 100644 cmd/server/main.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 pkg/db/base.go create mode 100644 pkg/db/user.go diff --git a/cmd/server/main.go b/cmd/server/main.go new file mode 100644 index 0000000..7905807 --- /dev/null +++ b/cmd/server/main.go @@ -0,0 +1,5 @@ +package main + +func main() { + +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..3492785 --- /dev/null +++ b/go.mod @@ -0,0 +1,10 @@ +module github.com/Henelik/cms + +go 1.25.6 + +require ( + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + golang.org/x/text v0.37.0 // indirect + gorm.io/gorm v1.31.1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..5f620af --- /dev/null +++ b/go.sum @@ -0,0 +1,8 @@ +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= +golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= +gorm.io/gorm v1.31.1 h1:7CA8FTFz/gRfgqgpeKIBcervUn3xSyPUmr6B2WXJ7kg= +gorm.io/gorm v1.31.1/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs= diff --git a/pkg/db/base.go b/pkg/db/base.go new file mode 100644 index 0000000..e52188e --- /dev/null +++ b/pkg/db/base.go @@ -0,0 +1,14 @@ +package db + +import ( + "time" + + "gorm.io/gorm" +) + +type Base struct { + ID uint `gorm:"primarykey"` + CreatedAt time.Time + UpdatedAt time.Time + DeletedAt gorm.DeletedAt `gorm:"index"` +} diff --git a/pkg/db/user.go b/pkg/db/user.go new file mode 100644 index 0000000..24a456a --- /dev/null +++ b/pkg/db/user.go @@ -0,0 +1,27 @@ +package db + +type UserStatus uint8 + +const ( + UserStatusPending UserStatus = iota + UserStatusActive + UserStatusSuspended + UserStatusInactive +) + +type User struct { + Base + + Name string + Email string + PasswordHash string + Roles []Role `gorm:"many2many:user_roles"` +} + +type Role struct { + Base + + Name string + Domain string + Description string +}