Add Customer users

This commit is contained in:
Aditya Siregar
2025-08-03 23:55:51 +07:00
parent 96743cf50b
commit 5741243425
69 changed files with 3005 additions and 158 deletions
@@ -31,7 +31,6 @@ func NewPaymentMethodProcessorImpl(paymentMethodRepo repository.PaymentMethodRep
}
func (p *PaymentMethodProcessorImpl) CreatePaymentMethod(ctx context.Context, req *models.CreatePaymentMethodRequest) (*models.PaymentMethodResponse, error) {
// Check if payment method with same name already exists
exists, err := p.paymentMethodRepo.ExistsByName(ctx, req.OrganizationID, req.Name, nil)
if err != nil {
return nil, fmt.Errorf("failed to check payment method name uniqueness: %w", err)
@@ -40,21 +39,16 @@ func (p *PaymentMethodProcessorImpl) CreatePaymentMethod(ctx context.Context, re
return nil, fmt.Errorf("payment method with name '%s' already exists for this organization", req.Name)
}
// Map request to entity
paymentMethodEntity := mappers.CreatePaymentMethodRequestToEntity(req)
// Create payment method
if err := p.paymentMethodRepo.Create(ctx, paymentMethodEntity); err != nil {
return nil, fmt.Errorf("failed to create payment method: %w", err)
}
// Get created payment method
createdPaymentMethod, err := p.paymentMethodRepo.GetByID(ctx, paymentMethodEntity.ID)
if err != nil {
return nil, fmt.Errorf("failed to retrieve created payment method: %w", err)
}
// Map entity to response
response := mappers.PaymentMethodEntityToResponse(createdPaymentMethod)
return response, nil
}
@@ -70,7 +64,6 @@ func (p *PaymentMethodProcessorImpl) GetPaymentMethodByID(ctx context.Context, i
}
func (p *PaymentMethodProcessorImpl) ListPaymentMethods(ctx context.Context, req *models.ListPaymentMethodsRequest) (*models.ListPaymentMethodsResponse, error) {
// Build filters
filters := make(map[string]interface{})
if req.OrganizationID != nil {
filters["organization_id"] = *req.OrganizationID
@@ -85,10 +78,8 @@ func (p *PaymentMethodProcessorImpl) ListPaymentMethods(ctx context.Context, req
filters["search"] = req.Search
}
// Calculate offset
offset := (req.Page - 1) * req.Limit
// Get payment methods
paymentMethods, total, err := p.paymentMethodRepo.List(ctx, filters, req.Limit, offset)
if err != nil {
return nil, fmt.Errorf("failed to list payment methods: %w", err)