endpoints added

master
nima 2024-06-07 15:08:37 +03:30
parent 6d4861ea00
commit fd9435c50c
1 changed files with 78 additions and 0 deletions

78
router/router.go 100644
View File

@ -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)
}