Add Filter Partner
This commit is contained in:
parent
f3fbe9ba10
commit
79047df4b6
@ -150,7 +150,7 @@ func (h *Handler) GetAll(c *gin.Context) {
|
||||
}
|
||||
|
||||
ctx := request.GetMyContext(c)
|
||||
Sites, total, err := h.service.GetAll(c.Request.Context(), req.ToEntity(ctx))
|
||||
Sites, total, err := h.service.GetAll(c.Request.Context(), req.ToEntity(ctx, req.PartnerID))
|
||||
if err != nil {
|
||||
response.ErrorWrapper(c, err)
|
||||
return
|
||||
@ -252,7 +252,7 @@ func (h *Handler) Count(c *gin.Context) {
|
||||
}
|
||||
|
||||
ctx := request.GetMyContext(c)
|
||||
res, err := h.service.Count(ctx, req.ToEntity(ctx))
|
||||
res, err := h.service.Count(ctx, req.ToEntity(ctx, ctx.GetPartnerID()))
|
||||
|
||||
if err != nil {
|
||||
response.ErrorWrapper(c, err)
|
||||
@ -290,13 +290,13 @@ func (h *Handler) toSiteResponse(resp *entity.Site) response.Site {
|
||||
}
|
||||
|
||||
func (h *Handler) toSiteResponseList(resp []*entity.Site, total int64, req request.SiteParam) response.SiteList {
|
||||
var Sites []response.Site
|
||||
sites := []response.Site{}
|
||||
for _, b := range resp {
|
||||
Sites = append(Sites, h.toSiteResponse(b))
|
||||
sites = append(sites, h.toSiteResponse(b))
|
||||
}
|
||||
|
||||
return response.SiteList{
|
||||
Sites: Sites,
|
||||
Sites: sites,
|
||||
Total: total,
|
||||
Limit: req.Limit,
|
||||
Offset: req.Offset,
|
||||
|
||||
@ -61,14 +61,15 @@ func (r *Site) ToEntity(createdBy int64) *entity.Site {
|
||||
|
||||
type SiteParam struct {
|
||||
Search string `form:"search"`
|
||||
PartnerID *int64 `form:"partner_id"`
|
||||
Name string `form:"name"`
|
||||
Limit int `form:"limit,default=10"`
|
||||
Offset int `form:"offset,default=0"`
|
||||
}
|
||||
|
||||
func (r *SiteParam) ToEntity(ctx mycontext.Context) entity.SiteSearch {
|
||||
func (r *SiteParam) ToEntity(ctx mycontext.Context, partnerID *int64) entity.SiteSearch {
|
||||
return entity.SiteSearch{
|
||||
PartnerID: ctx.GetPartnerID(),
|
||||
PartnerID: partnerID,
|
||||
IsAdmin: ctx.IsAdmin(),
|
||||
Search: r.Search,
|
||||
Name: r.Name,
|
||||
|
||||
@ -12,6 +12,7 @@ import (
|
||||
func Cors() gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
c.Header("Access-Control-Allow-Origin", "*")
|
||||
c.Header("Access-Control-Allow-Origin", "http://localhost:3000")
|
||||
c.Header("Access-Control-Allow-Credentials", "true")
|
||||
c.Header("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, Accept, origin, Referer, Cache-Control, X-Requested-With")
|
||||
c.Header("Access-Control-Allow-Methods", "POST,HEAD,PATCH, OPTIONS, GET, PUT, DELETE")
|
||||
|
||||
@ -101,6 +101,10 @@ func (r *SiteRepository) GetAll(ctx context.Context, req entity.SiteSearch) (ent
|
||||
query = query.Where("name ILIKE ?", "%"+req.Name+"%")
|
||||
}
|
||||
|
||||
if req.PartnerID != nil {
|
||||
query = query.Where("partner_id = ?", req.PartnerID)
|
||||
}
|
||||
|
||||
if req.Limit > 0 {
|
||||
query = query.Limit(req.Limit)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user