From e17b8e420dc6b63ac5213b9eb65ab2929c82bfe1 Mon Sep 17 00:00:00 2001
From: Sercan Yesildal <sercan.yesildal@gmail.com>
Date: Sun, 9 Jul 2023 23:17:29 +0200
Subject: [PATCH] remove gorm

---
 service/planner/db/client.go      |  1 +
 service/planner/db/db.go          | 27 ---------------------------
 service/planner/go.mod            | 12 +-----------
 service/planner/go.sum            | 11 -----------
 service/planner/main.go           |  6 ------
 service/planner/model/group.go    |  7 ++-----
 service/planner/model/meal.go     |  4 ++--
 service/planner/model/shopping.go |  2 +-
 service/planner/model/user.go     | 15 ++++++---------
 9 files changed, 13 insertions(+), 72 deletions(-)
 create mode 100644 service/planner/db/client.go
 delete mode 100644 service/planner/db/db.go

diff --git a/service/planner/db/client.go b/service/planner/db/client.go
new file mode 100644
index 0000000..3a49c63
--- /dev/null
+++ b/service/planner/db/client.go
@@ -0,0 +1 @@
+package db
diff --git a/service/planner/db/db.go b/service/planner/db/db.go
deleted file mode 100644
index 46a20fd..0000000
--- a/service/planner/db/db.go
+++ /dev/null
@@ -1,27 +0,0 @@
-package db
-
-import (
-	"fmt"
-	"os"
-
-	"gitlab.reutlingen-university.de/yesildas/mealplanner2go/service/planner/model"
-	"gorm.io/driver/mysql"
-	"gorm.io/gorm"
-)
-
-var DB *gorm.DB
-
-func Init() {
-	dsn := fmt.Sprintf("root:root@tcp(%s)/planner?charset=utf8&parseTime=True&loc=Local", os.Getenv("DB_CONNECT"))
-	var err error
-	DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
-	if err != nil {
-		panic("failed to connect to database")
-	}
-	if err := DB.Debug().AutoMigrate(&model.Group{}); err != nil {
-		panic(err)
-	}
-	if err := DB.Debug().AutoMigrate(&model.User{}); err != nil {
-		panic(err)
-	}
-}
diff --git a/service/planner/go.mod b/service/planner/go.mod
index b654ef7..5f0565d 100644
--- a/service/planner/go.mod
+++ b/service/planner/go.mod
@@ -2,14 +2,4 @@ module gitlab.reutlingen-university.de/yesildas/mealplanner2go/service/planner
 
 go 1.20
 
-require (
-	github.com/gorilla/mux v1.8.0
-	gorm.io/driver/mysql v1.5.1
-	gorm.io/gorm v1.25.2
-)
-
-require (
-	github.com/go-sql-driver/mysql v1.7.0 // indirect
-	github.com/jinzhu/inflection v1.0.0 // indirect
-	github.com/jinzhu/now v1.1.5 // indirect
-)
+require github.com/gorilla/mux v1.8.0
diff --git a/service/planner/go.sum b/service/planner/go.sum
index c0a2264..5350288 100644
--- a/service/planner/go.sum
+++ b/service/planner/go.sum
@@ -1,13 +1,2 @@
-github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
-github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
 github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
 github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
-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=
-gorm.io/driver/mysql v1.5.1 h1:WUEH5VF9obL/lTtzjmML/5e6VfFR/788coz2uaVCAZw=
-gorm.io/driver/mysql v1.5.1/go.mod h1:Jo3Xu7mMhCyj8dlrb3WoCaRd1FhsVh+yMXb1jUInf5o=
-gorm.io/gorm v1.25.1/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k=
-gorm.io/gorm v1.25.2 h1:gs1o6Vsa+oVKG/a9ElL3XgyGfghFfkKA2SInQaCyMho=
-gorm.io/gorm v1.25.2/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k=
diff --git a/service/planner/main.go b/service/planner/main.go
index adac101..476fe4f 100644
--- a/service/planner/main.go
+++ b/service/planner/main.go
@@ -6,14 +6,8 @@ import (
 	"net/http"
 
 	"github.com/gorilla/mux"
-	"gitlab.reutlingen-university.de/yesildas/mealplanner2go/service/planner/db"
 )
 
-func init() {
-	// init database
-	defer db.Init()
-}
-
 func main() {
 	port := 8000
 	router := mux.NewRouter()
diff --git a/service/planner/model/group.go b/service/planner/model/group.go
index f27562d..593f78a 100644
--- a/service/planner/model/group.go
+++ b/service/planner/model/group.go
@@ -1,10 +1,7 @@
 package model
 
-import "gorm.io/gorm"
-
 type Group struct {
-	gorm.Model
-	ID      uint        `json:"id" gorm:"primaryKey"`
+	ID      uint        `json:"id"`
 	UserIDs []uint      `json:"userIds"`
-	Meals   []MealGroup `json:"meals" gorm:"foreignKey: GroupID; constraint:OnUpdate:CASCADE, OnDelete:CASCADE"`
+	Meals   []MealGroup `json:"meals"`
 }
diff --git a/service/planner/model/meal.go b/service/planner/model/meal.go
index 2dc3214..003f500 100644
--- a/service/planner/model/meal.go
+++ b/service/planner/model/meal.go
@@ -1,8 +1,8 @@
 package model
 
 type Meal struct {
-	MealID int    `json:"mealId" gorm:"notNull"`
-	Date   string `json:"date" gorm:"notNull"`
+	MealID int    `json:"mealId"`
+	Date   string `json:"date"`
 }
 
 type MealUser struct {
diff --git a/service/planner/model/shopping.go b/service/planner/model/shopping.go
index 9477fd8..a87ec83 100644
--- a/service/planner/model/shopping.go
+++ b/service/planner/model/shopping.go
@@ -2,5 +2,5 @@ package model
 
 type ShoppingDate struct {
 	UserID uint   `json:"userId"`
-	Date   string `json:"date" gorm:"notNull"`
+	Date   string `json:"date"`
 }
diff --git a/service/planner/model/user.go b/service/planner/model/user.go
index 5648f4e..8b2fc83 100644
--- a/service/planner/model/user.go
+++ b/service/planner/model/user.go
@@ -1,13 +1,10 @@
 package model
 
-import "gorm.io/gorm"
-
 type User struct {
-	gorm.Model
-	ID            uint           `json:"id" gorm:"primaryKey"`
-	Mail          string         `json:"mail" gorm:"notNull"`
-	FirstName     string         `json:"firstName" gorm:"notNull"`
-	LastName      string         `json:"lastName" gorm:"notNull"`
-	Meals         []MealUser     `json:"meals" gorm:"foreignKey: UserID; constraint:OnUpdate:CASCADE, OnDelete:CASCADE"`
-	ShoppingDates []ShoppingDate `json:"shoppingDates" gorm:"foreignKey: UserID; constraint:OnUpdate:CASCADE, OnDelete:CASCADE"`
+	ID            uint           `json:"id"`
+	Mail          string         `json:"mail"`
+	FirstName     string         `json:"firstName"`
+	LastName      string         `json:"lastName"`
+	Meals         []MealUser     `json:"meals"`
+	ShoppingDates []ShoppingDate `json:"shoppingDates"`
 }
-- 
GitLab