11package handlers
22
33import (
4+ requestContext "go-skeleton/internal/application/context"
45 "go-skeleton/internal/application/domain/{{domain}}"
56 "go-skeleton/internal/application/providers/filters"
67 "go-skeleton/internal/application/providers/pagination"
@@ -43,6 +44,7 @@ func New{{domainPascalCase}}Handlers(reg *registry.Registry) *{{domainPascalCase
4344// @Accept json
4445// @Produce json
4546// @Param {{domainCamelCase}}_id path string true "{{domainPascalCase}} ID"
47+ // @Param Tenant header string false "tenant name"
4648// @Success 200 {object} {{domainCamelCase}}Get.Response
4749// @Failure 400 {object} services.Error
4850// @Failure 404 {object} services.Error
@@ -55,9 +57,12 @@ func (hs *{{domainPascalCase}}Handlers) HandleGet{{domainPascalCase}}(context ec
5557 if errors := context.Bind(data); errors != nil {
5658 return context.JSON(422, errors)
5759 }
58-
60+ tenant := context.Get("tenant").(string)
61+ request := {{domainCamelCase}}Get.NewRequest(data)
62+ ctx := requestContext.NewPrepareContext(tenant)
63+ ctx.SetContext(request.Domain)
5964 s.Execute(
60- {{domainCamelCase}}Get.NewRequest(data) ,
65+ request ,
6166 )
6267
6368 response, err := s.GetResponse()
@@ -73,6 +78,7 @@ func (hs *{{domainPascalCase}}Handlers) HandleGet{{domainPascalCase}}(context ec
7378// @Accept json
7479// @Produce json
7580// @Param request body {{domainCamelCase}}Create.Data true "body model"
81+ // @Param Tenant header string false "tenant name"
7682// @Success 200 {object} {{domainCamelCase}}Create.Response
7783// @Failure 400 {object} services.Error
7884// @Failure 404 {object} services.Error
@@ -85,9 +91,12 @@ func (hs *{{domainPascalCase}}Handlers) HandleCreate{{domainPascalCase}}(context
8591 if errors := context.Bind(data); errors != nil {
8692 return context.JSON(http.StatusBadRequest, errors)
8793 }
88-
94+ tenant := context.Get("tenant").(string)
95+ request := {{domainCamelCase}}Create.NewRequest(data, hs.validator)
96+ ctx := requestContext.NewPrepareContext(tenant)
97+ ctx.SetContext(request.Domain)
8998 s.Execute(
90- {{domainCamelCase}}Create.NewRequest(data, hs.validator) ,
99+ request ,
91100 )
92101
93102 response, err := s.GetResponse()
@@ -104,6 +113,7 @@ func (hs *{{domainPascalCase}}Handlers) HandleCreate{{domainPascalCase}}(context
104113// @Produce json
105114// @Param {{domainCamelCase}}_id path string true "{{domainPascalCase}} ID"
106115// @Param request body {{domainCamelCase}}Edit.Data true "body model"
116+ // @Param Tenant header string false "tenant name"
107117// @Success 200 {object} {{domainCamelCase}}Edit.Response
108118// @Failure 400 {object} services.Error
109119// @Failure 404 {object} services.Error
@@ -118,8 +128,12 @@ func (hs *{{domainPascalCase}}Handlers) HandleEdit{{domainPascalCase}}(context e
118128 return context.JSON(http.StatusBadRequest, errors)
119129 }
120130
131+ tenant := context.Get("tenant").(string)
132+ request := {{domainCamelCase}}Edit.NewRequest(id, data, hs.validator)
133+ ctx := requestContext.NewPrepareContext(tenant)
134+ ctx.SetContext(request.Domain)
121135 s.Execute(
122- {{domainCamelCase}}Edit.NewRequest(id, data, hs.validator) ,
136+ request ,
123137 )
124138
125139 response, err := s.GetResponse()
@@ -135,6 +149,7 @@ func (hs *{{domainPascalCase}}Handlers) HandleEdit{{domainPascalCase}}(context e
135149// @Accept json
136150// @Produce json
137151// @Param page query int true "valid int"
152+ // @Param Tenant header string false "tenant name"
138153// @Success 200 {object} {{domainCamelCase}}List.Response
139154// @Failure 400 {object} services.Error
140155// @Failure 404 {object} services.Error
@@ -159,8 +174,12 @@ func (hs *{{domainPascalCase}}Handlers) HandleList{{domainPascalCase}}(context e
159174
160175 f := filters.NewFilters()
161176
177+ tenant := context.Get("tenant").(string)
178+ request := {{domainCamelCase}}List.NewRequest(data, f)
179+ ctx := requestContext.NewPrepareContext(tenant)
180+ ctx.SetContext(request.Domain)
162181 s.Execute(
163- {{domainCamelCase}}List.NewRequest(data, *f) ,
182+ request ,
164183 )
165184
166185 response, err := s.GetResponse()
@@ -175,6 +194,7 @@ func (hs *{{domainPascalCase}}Handlers) HandleList{{domainPascalCase}}(context e
175194// @Tags {{domainPascalCase}}
176195// @Accept json
177196// @Produce json
197+ // @Param Tenant header string false "tenant name"
178198// @Param {{domainCamelCase}}_id path string true "{{domainPascalCase}} ID"
179199// @Success 200 {object} {{domainCamelCase}}Delete.Response
180200// @Failure 400 {object} services.Error
@@ -189,8 +209,12 @@ func (hs *{{domainPascalCase}}Handlers) HandleDelete{{domainPascalCase}}(context
189209 return context.JSON(http.StatusBadRequest, errors)
190210 }
191211
212+ tenant := context.Get("tenant").(string)
213+ request := {{domainCamelCase}}Delete.NewRequest(data)
214+ ctx := requestContext.NewPrepareContext(tenant)
215+ ctx.SetContext(request.Domain)
192216 s.Execute(
193- {{domainCamelCase}}Delete.NewRequest(data) ,
217+ request ,
194218 )
195219
196220 response, err := s.GetResponse()
0 commit comments