From de4fa76ff141fc9c881dd69cfd0147c723bfa934 Mon Sep 17 00:00:00 2001 From: Sercan Yesildal <sercan.yesildal@gmail.com> Date: Mon, 10 Jul 2023 12:28:01 +0200 Subject: [PATCH] crud operations finished --- service/planner/db/client.go | 20 ++++++++++---------- service/planner/main.go | 1 + service/planner/model/group.go | 8 ++++---- service/planner/model/meal.go | 14 ++++++++++++++ service/planner/model/shopping.go | 6 ++++++ service/planner/model/user.go | 12 ++++++------ 6 files changed, 41 insertions(+), 20 deletions(-) diff --git a/service/planner/db/client.go b/service/planner/db/client.go index a58ffc6..bbc2275 100644 --- a/service/planner/db/client.go +++ b/service/planner/db/client.go @@ -106,28 +106,28 @@ func GetUser(id int) (*model.User, error) { return nil, errors.New("account not found") } - queryMeals, err := udb.Query("SELECT userId, mealId, date FROM userMeal WHERE userId = ?;", id) + queryMeals, err := udb.Query("SELECT * FROM userMeal WHERE userId = ?;", id) if err != nil { return nil, err } defer queryMeals.Close() for queryMeals.Next() { - var meal model.UserMeal - err = queryMeals.Scan(&meal.UserID, &meal.MealID, &meal.Date) + var meal model.UserMealWithId + err = queryMeals.Scan(&meal.ID, &meal.UserID, &meal.MealID, &meal.Date) if err != nil { continue } user.Meals = append(user.Meals, meal) } - queryShoppingDates, err := udb.Query("SELECT userId, date FROM shoppingDate WHERE userId = ?;", id) + queryShoppingDates, err := udb.Query("SELECT * FROM shoppingDate WHERE userId = ?;", id) if err != nil { return nil, err } defer queryShoppingDates.Close() for queryShoppingDates.Next() { - var date model.ShoppingDate - err = queryMeals.Scan(&date.UserID, &date.Date) + var date model.ShoppingDateWithId + err = queryShoppingDates.Scan(&date.ID, &date.UserID, &date.Date) if err != nil { continue } @@ -273,7 +273,7 @@ func GetGroup(id int) (*model.Group, error) { defer query.Close() group := &model.Group{} for query.Next() { - err = query.Scan(&group.ID) + err = query.Scan(&group.ID, &group.Name) if err != nil { return nil, err } @@ -283,14 +283,14 @@ func GetGroup(id int) (*model.Group, error) { return nil, errors.New("group not found") } - queryMeals, err := udb.Query("SELECT groupId, mealId, date FROM groupMeal WHERE groupId = ?;", id) + queryMeals, err := udb.Query("SELECT * FROM groupMeal WHERE groupId = ?;", id) if err != nil { return nil, err } defer queryMeals.Close() for queryMeals.Next() { - var meal model.GroupMeal - err = queryMeals.Scan(&meal.GroupID, &meal.MealID, &meal.Date) + var meal model.GroupMealWithId + err = queryMeals.Scan(&meal.ID, &meal.GroupID, &meal.MealID, &meal.Date) if err != nil { continue } diff --git a/service/planner/main.go b/service/planner/main.go index 3facd58..30f0199 100644 --- a/service/planner/main.go +++ b/service/planner/main.go @@ -48,6 +48,7 @@ func main() { router.HandleFunc("/group/meal", handler.CreateGroupMeal).Methods(http.MethodPost) router.HandleFunc("/group/{id}", handler.GetGroup).Methods(http.MethodGet) router.HandleFunc("/group/{id}", handler.DeleteGroup).Methods(http.MethodDelete) + router.HandleFunc("/group", handler.GetGroups).Methods(http.MethodGet) router.HandleFunc("/group", handler.CreateGroup).Methods(http.MethodPost) fmt.Printf("Server is listening on port :%v\n", port) if err := http.ListenAndServe(fmt.Sprintf(":%v", port), router); err != nil { diff --git a/service/planner/model/group.go b/service/planner/model/group.go index d96c7cc..22402e6 100644 --- a/service/planner/model/group.go +++ b/service/planner/model/group.go @@ -1,10 +1,10 @@ package model type Group struct { - ID int `json:"id"` - Name string `json:"name"` - UserIDs []int `json:"userIds"` - Meals []GroupMeal `json:"meals"` + ID int `json:"id"` + Name string `json:"name"` + UserIDs []int `json:"userIds"` + Meals []GroupMealWithId `json:"meals"` } type GroupItem struct { diff --git a/service/planner/model/meal.go b/service/planner/model/meal.go index 4f61565..a280c08 100644 --- a/service/planner/model/meal.go +++ b/service/planner/model/meal.go @@ -6,8 +6,22 @@ type UserMeal struct { Date string `json:"date"` } +type UserMealWithId struct { + ID int `json:"id"` + UserID int `json:"userId"` + MealID int `json:"mealId"` + Date string `json:"date"` +} + type GroupMeal struct { GroupID int `json:"groupId"` MealID int `json:"mealId"` Date string `json:"date"` } + +type GroupMealWithId struct { + ID int `json:"id"` + GroupID int `json:"groupId"` + MealID int `json:"mealId"` + Date string `json:"date"` +} diff --git a/service/planner/model/shopping.go b/service/planner/model/shopping.go index 23b3aad..892a070 100644 --- a/service/planner/model/shopping.go +++ b/service/planner/model/shopping.go @@ -4,3 +4,9 @@ type ShoppingDate struct { UserID int `json:"userId"` Date string `json:"date"` } + +type ShoppingDateWithId struct { + ID int `json:"id"` + UserID int `json:"userId"` + Date string `json:"date"` +} diff --git a/service/planner/model/user.go b/service/planner/model/user.go index 4acc2cb..86dd23f 100644 --- a/service/planner/model/user.go +++ b/service/planner/model/user.go @@ -1,12 +1,12 @@ package model type User struct { - ID int `json:"id"` - Mail string `json:"mail"` - FirstName string `json:"firstName"` - LastName string `json:"lastName"` - Meals []UserMeal `json:"meals"` - ShoppingDates []ShoppingDate `json:"shoppingDates"` + ID int `json:"id"` + Mail string `json:"mail"` + FirstName string `json:"firstName"` + LastName string `json:"lastName"` + Meals []UserMealWithId `json:"meals"` + ShoppingDates []ShoppingDateWithId `json:"shoppingDates"` } type UserItem struct { -- GitLab