pkg/handler/handler.go   A
last analyzed

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Test Coverage

Coverage 91.67%

Importance

Changes 0
Metric Value
cc 3
eloc 24
dl 0
loc 35
ccs 11
cts 12
cp 0.9167
crap 3.0052
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A handler.sendError 0 4 1
A handler.NewHandler 0 2 1
A handler.*Handler.InitRoutes 0 12 1
1
package handler
2
3
import (
4
	"github.com/architectv/estate-task/pkg/service"
5
	"github.com/gofiber/fiber/v2"
6
	"github.com/sirupsen/logrus"
7
)
8
9
type Handler struct {
10
	services *service.Service
11
}
12
13
func NewHandler(services *service.Service) *Handler {
14
	return &Handler{services: services}
15
}
16
17
func (h *Handler) InitRoutes(router fiber.Router) {
18 1
	rooms := router.Group("/rooms")
19
	{
20 1
		rooms.Post("/", h.createRoom)
21 1
		rooms.Delete("/:id", h.deleteRoom)
22 1
		rooms.Get("/", h.getAllRooms)
23
	}
24 1
	bookings := router.Group("/bookings")
25
	{
26 1
		bookings.Post("/", h.createBooking)
27 1
		bookings.Delete("/:id", h.deleteBooking)
28 1
		bookings.Get("/", h.getBookingsByRoomId)
29
	}
30
}
31
32
func sendError(ctx *fiber.Ctx, status int, err error) error {
33 1
	logrus.Error(err.Error())
34 1
	ctx.Status(status)
35 1
	return ctx.JSON(fiber.Map{"error": err.Error()})
36
}
37