apskel-pos-backend/internal/processor/vendor_repository.go
2025-09-12 01:12:11 +07:00

22 lines
1011 B
Go

package processor
import (
"apskel-pos-be/internal/entities"
"context"
"github.com/google/uuid"
)
type VendorRepository interface {
Create(ctx context.Context, vendor *entities.Vendor) error
GetByID(ctx context.Context, id uuid.UUID) (*entities.Vendor, error)
GetByIDAndOrganizationID(ctx context.Context, id, organizationID uuid.UUID) (*entities.Vendor, error)
Update(ctx context.Context, vendor *entities.Vendor) error
Delete(ctx context.Context, id uuid.UUID) error
List(ctx context.Context, organizationID uuid.UUID, filters map[string]interface{}, limit, offset int) ([]*entities.Vendor, int64, error)
Count(ctx context.Context, organizationID uuid.UUID, filters map[string]interface{}) (int64, error)
GetByEmail(ctx context.Context, email string, organizationID uuid.UUID) (*entities.Vendor, error)
GetByName(ctx context.Context, name string, organizationID uuid.UUID) (*entities.Vendor, error)
GetActiveVendors(ctx context.Context, organizationID uuid.UUID) ([]*entities.Vendor, error)
}