From fd9435c50c64f685897214cdacd3179962fd574e Mon Sep 17 00:00:00 2001 From: nima Date: Fri, 7 Jun 2024 15:08:37 +0330 Subject: [PATCH] endpoints added --- router/router.go | 78 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 router/router.go diff --git a/router/router.go b/router/router.go new file mode 100644 index 0000000..e003e31 --- /dev/null +++ b/router/router.go @@ -0,0 +1,78 @@ +package router + +import ( + "netina/database" + license_repository "netina/repositories/license" + owner_repository "netina/repositories/owner" + plan_repository "netina/repositories/plan" + store_repository "netina/repositories/store" + "netina/services" + + "github.com/labstack/echo/v4" +) + +func OwnerRoutes(e *echo.Echo) { + db := database.Db() + owner := e.Group("/owner") + ownerCommandRepo := &owner_repository.OwnerCommandRepository{DB: &db} + ownerQueryRepo := &owner_repository.OwnerQueryRepository{DB: &db} + ownerService := &services.OwnerService{ + CommandRepo: *ownerCommandRepo, + QueryRepo: *ownerQueryRepo, + } + owner.POST("/",ownerService.CreateOwner) + owner.GET("/:id" , ownerService.GetOwner) + owner.PUT("/:id" , ownerService.UpdateOwner) + owner.DELETE("/:id" , ownerService.RemoveOwner) +} + +func LicenseRoutes(e *echo.Echo) { + db := database.Db() + license := e.Group("/license") + licenseCommandRepo := &license_repository.LicenseCommandRepository{DB: &db} + licenseQueryRepo := &license_repository.LicenseQueryRepository{DB: &db} + licenseService := &services.LicenseService{ + CommandRepo: *licenseCommandRepo, + QueryRepo: *licenseQueryRepo, + } + license.POST("/",licenseService.CreateLicense) + license.GET("/:id" , licenseService.GetLicense) + license.PUT("/:id" , licenseService.UpdateLicense) + license.DELETE("/:id" , licenseService.RemoveLicense) +} + + + +func PlanRoutes(e *echo.Echo) { + db := database.Db() + plan := e.Group("/plan") + planCommandRepo := &plan_repository.PlanCommandRepository{DB: &db} + planQueryRepo := &plan_repository.PlanQueryRepository{DB: &db} + planService := &services.PlanService{ + CommandRepo: *planCommandRepo, + QueryRepo: *planQueryRepo, + } + plan.POST("/",planService.CreatePlan) + plan.GET("/:id" , planService.GetPlan) + plan.PUT("/:id" , planService.UpdatePlan) + plan.DELETE("/:id" , planService.RemovePlan) +} + + + +func StoreRoutes(e *echo.Echo) { + db := database.Db() + store := e.Group("/store") + storeCommandRepo := &store_repository.StoreCommandRepository{DB: &db} + storeQueryRepo := &store_repository.StoreQueryRepository{DB: &db} + storeService := &services.StoreService{ + CommandRepo: *storeCommandRepo, + QueryRepo: *storeQueryRepo, + } + store.POST("/",storeService.CreateStore) + store.GET("/:id" , storeService.GetStore) + store.GET("/owner/:id" , storeService.GetStoresList) + store.PUT("/:id" , storeService.UpdateStore) + store.DELETE("/:id" , storeService.RemoveStore) +} +