From 333696b625eaa2759beaee3d80f72be4fab0e91b Mon Sep 17 00:00:00 2001
From: Sercan Yesildal <sercan.yesildal@gmail.com>
Date: Sun, 9 Jul 2023 20:56:44 +0200
Subject: [PATCH] planner models added

---
 docker-compose.yml                |  4 ++++
 go.work                           |  5 ++++-
 service/meal/Dockerfile           |  2 +-
 service/meal/main.go              |  2 +-
 service/planner/go.mod            |  2 ++
 service/planner/go.sum            |  2 ++
 service/planner/main.go           | 19 +++++++++++++++++++
 service/planner/model/group.go    |  5 +++++
 service/planner/model/meal.go     | 18 ++++++++++++++++++
 service/planner/model/shopping.go |  8 ++++++++
 service/planner/model/user.go     |  7 +++++++
 service/user/go.mod               |  3 ---
 12 files changed, 71 insertions(+), 6 deletions(-)
 create mode 100644 service/planner/go.sum
 create mode 100644 service/planner/main.go
 create mode 100644 service/planner/model/group.go
 create mode 100644 service/planner/model/meal.go
 create mode 100644 service/planner/model/shopping.go
 create mode 100644 service/planner/model/user.go
 delete mode 100644 service/user/go.mod

diff --git a/docker-compose.yml b/docker-compose.yml
index c9ea846..9fa2073 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,5 +1,9 @@
 services:
   meal:
     build: ./service/meal
+    ports:
+      - "9111:9111"
+  planner:
+    build: ./service/planner
     ports:
       - "8000:8000"
\ No newline at end of file
diff --git a/go.work b/go.work
index a693d95..ec3c73a 100644
--- a/go.work
+++ b/go.work
@@ -1,3 +1,6 @@
 go 1.20
 
-use ./service/meal
+use (
+	./service/meal
+	./service/planner
+)
diff --git a/service/meal/Dockerfile b/service/meal/Dockerfile
index d6435a9..82b0691 100644
--- a/service/meal/Dockerfile
+++ b/service/meal/Dockerfile
@@ -7,4 +7,4 @@ RUN go mod download
 RUN go install
 
 CMD ["meal"]
-EXPOSE 8000
\ No newline at end of file
+EXPOSE 9111
\ No newline at end of file
diff --git a/service/meal/main.go b/service/meal/main.go
index 04b06cc..b8c4a44 100644
--- a/service/meal/main.go
+++ b/service/meal/main.go
@@ -10,7 +10,7 @@ import (
 )
 
 func main() {
-	port := 8000
+	port := 9111
 	router := mux.NewRouter()
 	router.HandleFunc("/random", handler.GetRandomMeal).Methods(http.MethodGet)
 	router.HandleFunc("/search/{value}", handler.SearchMealByName).Methods(http.MethodGet)
diff --git a/service/planner/go.mod b/service/planner/go.mod
index 740c01c..5f0565d 100644
--- a/service/planner/go.mod
+++ b/service/planner/go.mod
@@ -1,3 +1,5 @@
 module gitlab.reutlingen-university.de/yesildas/mealplanner2go/service/planner
 
 go 1.20
+
+require github.com/gorilla/mux v1.8.0
diff --git a/service/planner/go.sum b/service/planner/go.sum
new file mode 100644
index 0000000..5350288
--- /dev/null
+++ b/service/planner/go.sum
@@ -0,0 +1,2 @@
+github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
+github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
diff --git a/service/planner/main.go b/service/planner/main.go
new file mode 100644
index 0000000..476fe4f
--- /dev/null
+++ b/service/planner/main.go
@@ -0,0 +1,19 @@
+package main
+
+import (
+	"fmt"
+	"log"
+	"net/http"
+
+	"github.com/gorilla/mux"
+)
+
+func main() {
+	port := 8000
+	router := mux.NewRouter()
+
+	fmt.Printf("Server is listening on port :%v\n", port)
+	if err := http.ListenAndServe(fmt.Sprintf(":%v", port), router); err != nil {
+		log.Fatal(err)
+	}
+}
diff --git a/service/planner/model/group.go b/service/planner/model/group.go
new file mode 100644
index 0000000..e0eeb9e
--- /dev/null
+++ b/service/planner/model/group.go
@@ -0,0 +1,5 @@
+package model
+
+type Group struct {
+	Users []*User
+}
diff --git a/service/planner/model/meal.go b/service/planner/model/meal.go
new file mode 100644
index 0000000..0c8166e
--- /dev/null
+++ b/service/planner/model/meal.go
@@ -0,0 +1,18 @@
+package model
+
+import "time"
+
+type Meal struct {
+	MealId int
+	Date   time.Time
+}
+
+type MealUser struct {
+	Meal
+	User User
+}
+
+type MealGroup struct {
+	Meal
+	Group Group
+}
diff --git a/service/planner/model/shopping.go b/service/planner/model/shopping.go
new file mode 100644
index 0000000..3b843c9
--- /dev/null
+++ b/service/planner/model/shopping.go
@@ -0,0 +1,8 @@
+package model
+
+import "time"
+
+type ShoppingDate struct {
+	Date time.Time
+	User User
+}
diff --git a/service/planner/model/user.go b/service/planner/model/user.go
new file mode 100644
index 0000000..77ec23e
--- /dev/null
+++ b/service/planner/model/user.go
@@ -0,0 +1,7 @@
+package model
+
+type User struct {
+	Mail      string
+	FirstName string
+	LastName  string
+}
diff --git a/service/user/go.mod b/service/user/go.mod
deleted file mode 100644
index f19029d..0000000
--- a/service/user/go.mod
+++ /dev/null
@@ -1,3 +0,0 @@
-module gitlab.reutlingen-university.de/yesildas/mealplanner2go/service/user
-
-go 1.20
-- 
GitLab