Skip to content

Commit d2c5871

Browse files
committed
chore(multi-tenant): creating multi tenant middleware
1 parent 9401604 commit d2c5871

File tree

4 files changed

+18
-8
lines changed

4 files changed

+18
-8
lines changed

cmd/http/handlers/dummy.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func (hs *DummyHandlers) HandleGetDummy(context echo.Context) error {
5757
if errors := context.Bind(data); errors != nil {
5858
return context.JSON(422, errors)
5959
}
60-
tenant := context.Request().Header.Get("Tenant")
60+
tenant := context.Get("tenant").(string)
6161
request := dummyGet.NewRequest(data)
6262
ctx := requestContext.NewPrepareContext(tenant)
6363
ctx.SetContext(request.Domain)
@@ -92,7 +92,7 @@ func (hs *DummyHandlers) HandleCreateDummy(context echo.Context) error {
9292
return context.JSON(http.StatusBadRequest, errors)
9393
}
9494

95-
tenant := context.Request().Header.Get("Tenant")
95+
tenant := context.Get("tenant").(string)
9696
request := dummyCreate.NewRequest(data, hs.validator)
9797
ctx := requestContext.NewPrepareContext(tenant)
9898
ctx.SetContext(request.Domain)
@@ -129,7 +129,7 @@ func (hs *DummyHandlers) HandleEditDummy(context echo.Context) error {
129129
return context.JSON(http.StatusBadRequest, errors)
130130
}
131131

132-
tenant := context.Request().Header.Get("Tenant")
132+
tenant := context.Get("tenant").(string)
133133
request := dummyEdit.NewRequest(id, data, hs.validator)
134134
ctx := requestContext.NewPrepareContext(tenant)
135135
ctx.SetContext(request.Domain)
@@ -178,7 +178,7 @@ func (hs *DummyHandlers) HandleListDummy(context echo.Context) error {
178178

179179
f := filters.NewFilters()
180180

181-
tenant := context.Request().Header.Get("Tenant")
181+
tenant := context.Get("tenant").(string)
182182
request := dummyList.NewRequest(data, f)
183183
ctx := requestContext.NewPrepareContext(tenant)
184184
ctx.SetContext(request.Domain)
@@ -212,8 +212,7 @@ func (hs *DummyHandlers) HandleDeleteDummy(context echo.Context) error {
212212
if errors := context.Bind(data); errors != nil {
213213
return context.JSON(http.StatusBadRequest, errors)
214214
}
215-
216-
tenant := context.Request().Header.Get("Tenant")
215+
tenant := context.Get("tenant").(string)
217216
request := dummyDelete.NewRequest(data)
218217
ctx := requestContext.NewPrepareContext(tenant)
219218
ctx.SetContext(request.Domain)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package middlewares
2+
3+
import "github.com/labstack/echo/v4"
4+
5+
func SetTenant(next echo.HandlerFunc) echo.HandlerFunc {
6+
return func(c echo.Context) error {
7+
c.Set("tenant", c.Request().Header.Get("Tenant"))
8+
// tenant validation Ex: get token and verify data or get tenant from session
9+
return next(c)
10+
}
11+
}

cmd/http/server/server.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package server
33
import (
44
"fmt"
55
echoSwagger "github.com/swaggo/echo-swagger"
6+
"go-skeleton/cmd/http/middlewares"
67
"go-skeleton/cmd/http/routes"
78
"go-skeleton/docs"
89
"go-skeleton/pkg/config"
@@ -42,6 +43,7 @@ func (hs *Server) Start() {
4243
}
4344

4445
server.Use(middleware.Recover())
46+
server.Use(middlewares.SetTenant)
4547

4648
public := server.Group("")
4749
private := server.Group("")

internal/application/providers/pagination/pagination.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package pagination
22

33
import (
4-
"fmt"
54
"go-skeleton/internal/application/services"
65
"go-skeleton/internal/repositories/base_repository"
76
"math"
@@ -36,7 +35,6 @@ func NewPaginationProvider[Row base_repository.Domain](repo IPaginationRepositor
3635
func (pp *Provider[Row]) PaginationHandler(row Row, page int, limit int) (*services.Error, *Pagination[Row]) {
3736
listData := &[]Row{}
3837
offset := (page - 1) * limit
39-
fmt.Println(row)
4038
total, err := pp.repo.Count(row)
4139
if err != nil {
4240
return &services.Error{

0 commit comments

Comments
 (0)