package benefactoraddresshandler

import (
	"git.gocasts.ir/ebhomengo/niki/delivery/http_server/middleware"
	"git.gocasts.ir/ebhomengo/niki/entity"
	"github.com/labstack/echo/v4"
)

func (h Handler) SetRoutes(e *echo.Echo) {
	r := e.Group("/benefactors/addresses")

	r.GET("/provinces", h.GetAllProvinces)
	r.GET("/cities", h.GetAllCities)
	r.POST("", h.AddAddress, middleware.Auth(h.authSvc),
		middleware.BenefactorAuthorization(entity.UserBenefactorRole))
	r.GET("/:id", h.GetAddress, middleware.Auth(h.authSvc),
		middleware.BenefactorAuthorization(entity.UserBenefactorRole))
	r.GET("", h.GetAddresses, middleware.Auth(h.authSvc),
		middleware.BenefactorAuthorization(entity.UserBenefactorRole))
	r.DELETE("/:id", h.DeleteAddress, middleware.Auth(h.authSvc),
		middleware.BenefactorAuthorization(entity.UserBenefactorRole))
	r.PUT("/:id", h.UpdateAddress, middleware.Auth(h.authSvc),
		middleware.BenefactorAuthorization(entity.UserBenefactorRole))
}