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) }