diff --git a/service/planner/db/client.go b/service/planner/db/client.go index a58ffc6f748578f190904a3bc75e214b595b6329..bbc22753e5dd00d88e99f3f9395e51fb4acd250a 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 3facd584242064fbbced9426f974821353e73bd5..30f01994e56ba0bdc125647830015f6c4afeadfd 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 d96c7cc338401af9201733383a42f78de36d7e01..22402e63e326213a1d20fd21c7b8b04d2db23a7c 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 4f615657a5c46f2e6f11e05939652bc95f10f748..a280c0809aa8f01e0564c9d20a1b205efd81c069 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 23b3aad963d9ea8262744f35530204fa85853d54..892a0702f4a62eb5bdaf713c90e787c99a42316b 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 4acc2cb2df9acbc38416a87dda1b7b8d6217e953..86dd23f30353f5b260dbbf2c3560b2d4346165eb 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 {