clientId add
This commit is contained in:
parent
0f46937b14
commit
2360ed406d
|
|
@ -1,18 +1,21 @@
|
||||||
package controller
|
package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"jaecoo-be/app/middleware"
|
||||||
"jaecoo-be/app/module/banners/request"
|
"jaecoo-be/app/module/banners/request"
|
||||||
"jaecoo-be/app/module/banners/service"
|
"jaecoo-be/app/module/banners/service"
|
||||||
"jaecoo-be/utils/paginator"
|
"jaecoo-be/utils/paginator"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
|
"github.com/rs/zerolog"
|
||||||
|
|
||||||
utilRes "jaecoo-be/utils/response"
|
utilRes "jaecoo-be/utils/response"
|
||||||
)
|
)
|
||||||
|
|
||||||
type bannersController struct {
|
type bannersController struct {
|
||||||
bannersService service.BannersService
|
bannersService service.BannersService
|
||||||
|
Log zerolog.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -61,7 +64,14 @@ func (_i *bannersController) All(c *fiber.Ctx) error {
|
||||||
req := reqContext.ToParamRequest()
|
req := reqContext.ToParamRequest()
|
||||||
req.Pagination = paginate
|
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 {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
@ -74,6 +84,7 @@ func (_i *bannersController) All(c *fiber.Ctx) error {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Show Banner
|
// Show Banner
|
||||||
// @Summary Get Banner by ID
|
// @Summary Get Banner by ID
|
||||||
// @Description API for getting Banner by ID
|
// @Description API for getting Banner by ID
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"jaecoo-be/utils/paginator"
|
"jaecoo-be/utils/paginator"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/google/uuid"
|
||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -16,7 +17,7 @@ type bannersRepository struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type BannersRepository interface {
|
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)
|
FindOne(id uint) (banner *entity.Banners, err error)
|
||||||
Create(banner *entity.Banners) (bannerReturn *entity.Banners, err error)
|
Create(banner *entity.Banners) (bannerReturn *entity.Banners, err error)
|
||||||
Update(id uint, banner *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
|
var count int64
|
||||||
|
|
||||||
query := _i.DB.DB.Model(&entity.Banners{})
|
query := _i.DB.DB.Model(&entity.Banners{})
|
||||||
|
|
||||||
|
if clientId != nil {
|
||||||
|
query = query.Where("banners.client_id = ?", clientId)
|
||||||
|
}
|
||||||
|
|
||||||
if req.Title != nil && *req.Title != "" {
|
if req.Title != nil && *req.Title != "" {
|
||||||
title := strings.ToLower(*req.Title)
|
title := strings.ToLower(*req.Title)
|
||||||
query = query.Where("LOWER(title) LIKE ?", "%"+title+"%")
|
query = query.Where("LOWER(title) LIKE ?", "%"+title+"%")
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
|
"github.com/google/uuid"
|
||||||
"github.com/minio/minio-go/v7"
|
"github.com/minio/minio-go/v7"
|
||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
)
|
)
|
||||||
|
|
@ -37,7 +38,7 @@ type bannersService struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type BannersService interface {
|
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)
|
GetOne(id uint) (banner *response.BannersResponse, err error)
|
||||||
Create(c *fiber.Ctx, req request.BannersCreateRequest) (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)
|
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) {
|
func (_i *bannersService) GetAll(
|
||||||
bannersEntity, paging, err := _i.Repo.GetAll(req)
|
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 {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
host := _i.Cfg.App.Domain
|
host := _i.Cfg.App.Domain
|
||||||
|
|
||||||
for _, banner := range bannersEntity {
|
for _, banner := range bannersEntity {
|
||||||
banners = append(banners, mapper.BannersResponseMapper(banner, host))
|
banners = append(banners, mapper.BannersResponseMapper(banner, host))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,18 +2,21 @@ package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"jaecoo-be/app/middleware"
|
||||||
"jaecoo-be/app/module/sales_agents/request"
|
"jaecoo-be/app/module/sales_agents/request"
|
||||||
"jaecoo-be/app/module/sales_agents/service"
|
"jaecoo-be/app/module/sales_agents/service"
|
||||||
"jaecoo-be/utils/paginator"
|
"jaecoo-be/utils/paginator"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
|
"github.com/rs/zerolog"
|
||||||
|
|
||||||
utilRes "jaecoo-be/utils/response"
|
utilRes "jaecoo-be/utils/response"
|
||||||
)
|
)
|
||||||
|
|
||||||
type salesAgentsController struct {
|
type salesAgentsController struct {
|
||||||
salesAgentsService service.SalesAgentsService
|
salesAgentsService service.SalesAgentsService
|
||||||
|
Log zerolog.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
type SalesAgentsController interface {
|
type SalesAgentsController interface {
|
||||||
|
|
@ -61,7 +64,13 @@ func (_i *salesAgentsController) All(c *fiber.Ctx) error {
|
||||||
req := reqContext.ToParamRequest()
|
req := reqContext.ToParamRequest()
|
||||||
req.Pagination = paginate
|
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 {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"jaecoo-be/utils/paginator"
|
"jaecoo-be/utils/paginator"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/google/uuid"
|
||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -16,7 +17,7 @@ type salesAgentsRepository struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SalesAgentsRepository interface {
|
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)
|
FindOne(id uint) (agent *entity.SalesAgents, err error)
|
||||||
Create(agent *entity.SalesAgents) (agentReturn *entity.SalesAgents, err error)
|
Create(agent *entity.SalesAgents) (agentReturn *entity.SalesAgents, err error)
|
||||||
Update(id uint, agent *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
|
var count int64
|
||||||
|
|
||||||
query := _i.DB.DB.Model(&entity.SalesAgents{})
|
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)
|
query = query.Where("job_title = ?", *req.JobTitle)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if clientId != nil {
|
||||||
|
query = query.Where("client_id = ?", clientId)
|
||||||
|
}
|
||||||
|
|
||||||
if req.AgentType != nil && *req.AgentType != "" {
|
if req.AgentType != nil && *req.AgentType != "" {
|
||||||
query = query.Where("agent_type LIKE ?", "%"+*req.AgentType+"%")
|
query = query.Where("agent_type LIKE ?", "%"+*req.AgentType+"%")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
|
"github.com/google/uuid"
|
||||||
"github.com/minio/minio-go/v7"
|
"github.com/minio/minio-go/v7"
|
||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
)
|
)
|
||||||
|
|
@ -37,7 +38,7 @@ type salesAgentsService struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SalesAgentsService interface {
|
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)
|
GetOne(id uint) (agent *response.SalesAgentsResponse, err error)
|
||||||
Create(c *fiber.Ctx, req request.SalesAgentsCreateRequest) (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)
|
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) {
|
func (_i *salesAgentsService) GetAll(clientId *uuid.UUID, req request.SalesAgentsQueryRequest) (agents []*response.SalesAgentsResponse, paging paginator.Pagination, err error) {
|
||||||
agentsEntity, paging, err := _i.Repo.GetAll(req)
|
agentsEntity, paging, err := _i.Repo.GetAll(clientId,req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue