clientId add

This commit is contained in:
Anang Yusman 2026-02-05 20:23:59 +08:00
parent 0f46937b14
commit 2360ed406d
6 changed files with 48 additions and 13 deletions

View File

@ -1,18 +1,21 @@
package controller
import (
"jaecoo-be/app/middleware"
"jaecoo-be/app/module/banners/request"
"jaecoo-be/app/module/banners/service"
"jaecoo-be/utils/paginator"
"strconv"
"github.com/gofiber/fiber/v2"
"github.com/rs/zerolog"
utilRes "jaecoo-be/utils/response"
)
type bannersController struct {
bannersService service.BannersService
Log zerolog.Logger
}
@ -61,7 +64,14 @@ func (_i *bannersController) All(c *fiber.Ctx) error {
req := reqContext.ToParamRequest()
req.Pagination = paginate
bannersData, paging, err := _i.bannersService.GetAll(req)
// ✅ ambil ClientId dari middleware
clientId := middleware.GetClientID(c)
// ✅ ambil Authorization token (kalau dibutuhkan)
_i.Log.Info().Interface("clientId", clientId).Msg("")
bannersData, paging, err := _i.bannersService.GetAll(clientId,req)
if err != nil {
return err
}
@ -74,6 +84,7 @@ func (_i *bannersController) All(c *fiber.Ctx) error {
})
}
// Show Banner
// @Summary Get Banner by ID
// @Description API for getting Banner by ID

View File

@ -7,6 +7,7 @@ import (
"jaecoo-be/utils/paginator"
"strings"
"github.com/google/uuid"
"github.com/rs/zerolog"
)
@ -16,7 +17,7 @@ type bannersRepository struct {
}
type BannersRepository interface {
GetAll(req request.BannersQueryRequest) (banners []*entity.Banners, paging paginator.Pagination, err error)
GetAll(clientId *uuid.UUID, req request.BannersQueryRequest) (banners []*entity.Banners, paging paginator.Pagination, err error)
FindOne(id uint) (banner *entity.Banners, err error)
Create(banner *entity.Banners) (bannerReturn *entity.Banners, err error)
Update(id uint, banner *entity.Banners) (err error)
@ -34,11 +35,15 @@ func NewBannersRepository(db *database.Database, log zerolog.Logger) BannersRepo
}
}
func (_i *bannersRepository) GetAll(req request.BannersQueryRequest) (banners []*entity.Banners, paging paginator.Pagination, err error) {
func (_i *bannersRepository) GetAll(clientId *uuid.UUID, req request.BannersQueryRequest) (banners []*entity.Banners, paging paginator.Pagination, err error) {
var count int64
query := _i.DB.DB.Model(&entity.Banners{})
if clientId != nil {
query = query.Where("banners.client_id = ?", clientId)
}
if req.Title != nil && *req.Title != "" {
title := strings.ToLower(*req.Title)
query = query.Where("LOWER(title) LIKE ?", "%"+title+"%")

View File

@ -23,6 +23,7 @@ import (
"time"
"github.com/gofiber/fiber/v2"
"github.com/google/uuid"
"github.com/minio/minio-go/v7"
"github.com/rs/zerolog"
)
@ -37,7 +38,7 @@ type bannersService struct {
}
type BannersService interface {
GetAll(req request.BannersQueryRequest) (banners []*response.BannersResponse, paging paginator.Pagination, err error)
GetAll(clientId *uuid.UUID,req request.BannersQueryRequest) (banners []*response.BannersResponse, paging paginator.Pagination, err error)
GetOne(id uint) (banner *response.BannersResponse, err error)
Create(c *fiber.Ctx, req request.BannersCreateRequest) (banner *response.BannersResponse, err error)
Update(c *fiber.Ctx, id uint, req request.BannersUpdateRequest) (banner *response.BannersResponse, err error)
@ -60,14 +61,17 @@ func NewBannersService(repo repository.BannersRepository, log zerolog.Logger, cf
}
}
func (_i *bannersService) GetAll(req request.BannersQueryRequest) (banners []*response.BannersResponse, paging paginator.Pagination, err error) {
bannersEntity, paging, err := _i.Repo.GetAll(req)
func (_i *bannersService) GetAll(
clientId *uuid.UUID,
req request.BannersQueryRequest,
) (banners []*response.BannersResponse, paging paginator.Pagination, err error) {
bannersEntity, paging, err := _i.Repo.GetAll(clientId, req)
if err != nil {
return
}
host := _i.Cfg.App.Domain
for _, banner := range bannersEntity {
banners = append(banners, mapper.BannersResponseMapper(banner, host))
}

View File

@ -2,18 +2,21 @@ package controller
import (
"encoding/json"
"jaecoo-be/app/middleware"
"jaecoo-be/app/module/sales_agents/request"
"jaecoo-be/app/module/sales_agents/service"
"jaecoo-be/utils/paginator"
"strconv"
"github.com/gofiber/fiber/v2"
"github.com/rs/zerolog"
utilRes "jaecoo-be/utils/response"
)
type salesAgentsController struct {
salesAgentsService service.SalesAgentsService
Log zerolog.Logger
}
type SalesAgentsController interface {
@ -61,7 +64,13 @@ func (_i *salesAgentsController) All(c *fiber.Ctx) error {
req := reqContext.ToParamRequest()
req.Pagination = paginate
agentsData, paging, err := _i.salesAgentsService.GetAll(req)
clientId := middleware.GetClientID(c)
// ✅ ambil Authorization token (kalau dibutuhkan)
_i.Log.Info().Interface("clientId", clientId).Msg("")
agentsData, paging, err := _i.salesAgentsService.GetAll(clientId,req)
if err != nil {
return err
}

View File

@ -7,6 +7,7 @@ import (
"jaecoo-be/utils/paginator"
"strings"
"github.com/google/uuid"
"github.com/rs/zerolog"
)
@ -16,7 +17,7 @@ type salesAgentsRepository struct {
}
type SalesAgentsRepository interface {
GetAll(req request.SalesAgentsQueryRequest) (agents []*entity.SalesAgents, paging paginator.Pagination, err error)
GetAll(clientId *uuid.UUID, req request.SalesAgentsQueryRequest) (agents []*entity.SalesAgents, paging paginator.Pagination, err error)
FindOne(id uint) (agent *entity.SalesAgents, err error)
Create(agent *entity.SalesAgents) (agentReturn *entity.SalesAgents, err error)
Update(id uint, agent *entity.SalesAgents) (err error)
@ -33,7 +34,7 @@ func NewSalesAgentsRepository(db *database.Database, log zerolog.Logger) SalesAg
}
}
func (_i *salesAgentsRepository) GetAll(req request.SalesAgentsQueryRequest) (agents []*entity.SalesAgents, paging paginator.Pagination, err error) {
func (_i *salesAgentsRepository) GetAll(clientId *uuid.UUID, req request.SalesAgentsQueryRequest) (agents []*entity.SalesAgents, paging paginator.Pagination, err error) {
var count int64
query := _i.DB.DB.Model(&entity.SalesAgents{})
@ -47,6 +48,10 @@ func (_i *salesAgentsRepository) GetAll(req request.SalesAgentsQueryRequest) (ag
query = query.Where("job_title = ?", *req.JobTitle)
}
if clientId != nil {
query = query.Where("client_id = ?", clientId)
}
if req.AgentType != nil && *req.AgentType != "" {
query = query.Where("agent_type LIKE ?", "%"+*req.AgentType+"%")
}

View File

@ -23,6 +23,7 @@ import (
"time"
"github.com/gofiber/fiber/v2"
"github.com/google/uuid"
"github.com/minio/minio-go/v7"
"github.com/rs/zerolog"
)
@ -37,7 +38,7 @@ type salesAgentsService struct {
}
type SalesAgentsService interface {
GetAll(req request.SalesAgentsQueryRequest) (agents []*response.SalesAgentsResponse, paging paginator.Pagination, err error)
GetAll(clientId *uuid.UUID, req request.SalesAgentsQueryRequest) (agents []*response.SalesAgentsResponse, paging paginator.Pagination, err error)
GetOne(id uint) (agent *response.SalesAgentsResponse, err error)
Create(c *fiber.Ctx, req request.SalesAgentsCreateRequest) (agent *response.SalesAgentsResponse, err error)
Update(c *fiber.Ctx, id uint, req request.SalesAgentsUpdateRequest) (agent *response.SalesAgentsResponse, err error)
@ -60,8 +61,8 @@ func NewSalesAgentsService(repo repository.SalesAgentsRepository, log zerolog.Lo
}
}
func (_i *salesAgentsService) GetAll(req request.SalesAgentsQueryRequest) (agents []*response.SalesAgentsResponse, paging paginator.Pagination, err error) {
agentsEntity, paging, err := _i.Repo.GetAll(req)
func (_i *salesAgentsService) GetAll(clientId *uuid.UUID, req request.SalesAgentsQueryRequest) (agents []*response.SalesAgentsResponse, paging paginator.Pagination, err error) {
agentsEntity, paging, err := _i.Repo.GetAll(clientId,req)
if err != nil {
return
}