124 lines
4.1 KiB
Go
124 lines
4.1 KiB
Go
package router
|
|
|
|
import (
|
|
"app/handlers"
|
|
"app/middlewares"
|
|
|
|
login "app/services"
|
|
|
|
"github.com/labstack/echo/v4"
|
|
)
|
|
|
|
func UserRoutes(e *echo.Echo) {
|
|
users := e.Group("/users")
|
|
users.POST("/", handlers.RegisterUser)
|
|
users.GET("/usernames/:name", handlers.GetSameUserNames)
|
|
users.GET("/:id", handlers.GetUserByID)
|
|
users.PUT("/username/:id", handlers.UpdateUserName)
|
|
users.PUT("/email/:id", handlers.UpdateEmail)
|
|
users.PUT("/password/:id", handlers.UpdatePassword)
|
|
users.PUT("/role/:id", handlers.UpdateRole)
|
|
users.PUT("/nationalcode/:id", handlers.UpdateNationalCode)
|
|
users.PUT("/birthday/:id", handlers.UpdateBirthDay)
|
|
users.PUT("/firstname/:id", handlers.UpdateFirstName)
|
|
users.PUT("/lastname/:id", handlers.UpdateLastName)
|
|
users.PUT("/postcode/:id", handlers.UpdatePostCode)
|
|
users.DELETE("/:id", handlers.DeleteUser)
|
|
}
|
|
|
|
// create new user ===> post : users/
|
|
// get user by id ===> get : users/23
|
|
// get users by name ===> get : users/nima
|
|
// update username ===> put : users/username send json
|
|
// update email ===> put : users/email send json
|
|
// update password ===> put : users/password send json
|
|
// update role ===> put : users/role send json
|
|
// update nationalCode ===> put : users/nationalcode send json
|
|
// update birthday ===> put : users/birthday send json
|
|
// update firstname ===> put : users/firstname send json
|
|
// update lastname ===> put : users/lastname send json
|
|
// update postcode ===> put : users/postcode send json
|
|
// delete user ===> delete : users/23
|
|
|
|
func ProductRoutes(e *echo.Echo) {
|
|
products := e.Group("/products")
|
|
products.POST("/", handlers.CreateProduct)
|
|
products.GET("/:name", handlers.GetProductByName)
|
|
products.GET("/:id", handlers.GetProductByID)
|
|
products.GET("/category/:name", handlers.GetProductByCategory)
|
|
products.PUT("/productname/:id", handlers.UpdateProductName)
|
|
products.PUT("/description/:id", handlers.UpdateDescription)
|
|
products.PUT("/warranty/:id", handlers.UpdateWarranty)
|
|
products.PUT("/quantity/:id", handlers.UpdateQuantity)
|
|
products.PUT("/category/:id", handlers.UpdateCategory)
|
|
products.PUT("/price/:id", handlers.UpdatePrice)
|
|
products.DELETE("/:id", handlers.DeleteProduct)
|
|
}
|
|
|
|
func OrderRoutes(e *echo.Echo) {
|
|
orders := e.Group("/orders")
|
|
//orders.POST("/", handlers.CreateOrder)
|
|
orders.GET("/:id", handlers.GetUserOrders)
|
|
orders.DELETE("/:id", handlers.DeleteOrder)
|
|
}
|
|
|
|
func AddressRoutes(e *echo.Echo) {
|
|
address := e.Group("/address")
|
|
address.POST("/", handlers.CreateAddress)
|
|
address.GET("/:id", handlers.GetUserAddresses)
|
|
address.PUT("/:id", handlers.UpdateAddress)
|
|
address.DELETE("/:id", handlers.DeleteAddress)
|
|
}
|
|
|
|
func CommentRoutes(e *echo.Echo) {
|
|
comments := e.Group("/comments")
|
|
comments.POST("/", handlers.CreateComment)
|
|
comments.GET("/user/:id", handlers.GetUserComments)
|
|
comments.GET("/product/:id", handlers.GetProductComments)
|
|
comments.PUT("/:id", handlers.UpdateComment)
|
|
comments.DELETE("/:id", handlers.DeleteComment)
|
|
}
|
|
|
|
func SpecsRoutes(e *echo.Echo) {
|
|
specs := e.Group("/specs")
|
|
specs.POST("/", handlers.CreateSpecs)
|
|
specs.GET("/:id", handlers.GetSpecs)
|
|
specs.PUT("/type/:id", handlers.UpdateType)
|
|
specs.PUT("/value/:id", handlers.UpdateValue)
|
|
specs.DELETE("/:id", handlers.DeleteSpecs)
|
|
}
|
|
|
|
func PhoneRoutes(e *echo.Echo) {
|
|
phones := e.Group("/phones")
|
|
//phones.POST("/", handlers.CreatePhone)
|
|
phones.GET("/:id", handlers.GetUserPhoneNumbers)
|
|
phones.PUT("/phonenumber/:id", handlers.UpdatePhoneNumber)
|
|
phones.PUT("/cellphonenumber/:id", handlers.UpdateCellPhoneNumber)
|
|
phones.DELETE("/:id", handlers.DeletePhone)
|
|
}
|
|
|
|
func WishlistRoutes(e *echo.Echo) {
|
|
wishlist := e.Group("/wishlist")
|
|
wishlist.POST("/", handlers.CreateWishlist)
|
|
wishlist.GET("/:id", handlers.GetWishlist)
|
|
wishlist.DELETE("/:id", handlers.DeleteWishlist)
|
|
}
|
|
|
|
func CartRoutes(e *echo.Echo) {
|
|
cart := e.Group("/cart")
|
|
cart.POST("/", handlers.Create_cart_item)
|
|
cart.GET("/:id", handlers.GetCartItems)
|
|
cart.PUT("/:id", handlers.UpdateItemStatus)
|
|
cart.DELETE("/:id", handlers.Remove_cart_item)
|
|
|
|
}
|
|
|
|
func LoginLogout(e *echo.Echo) {
|
|
|
|
e.POST("/login", login.LoginByEmail)
|
|
e.GET("/logout", login.Logout)
|
|
e.GET("/test", login.Test)
|
|
admin := e.Group("/admin")
|
|
admin.Use(middlewares.AdminOnly())
|
|
}
|