fina autoamtiona adn billing and credits
This commit is contained in:
@@ -40,6 +40,7 @@ class AutoClusterFunction(BaseAIFunction):
|
||||
def validate(self, payload: dict, account=None) -> Dict:
|
||||
"""Custom validation for clustering"""
|
||||
from igny8_core.ai.validators import validate_ids, validate_keywords_exist
|
||||
from igny8_core.ai.validators.cluster_validators import validate_minimum_keywords
|
||||
|
||||
# Base validation (no max_items limit)
|
||||
result = validate_ids(payload, max_items=None)
|
||||
@@ -52,6 +53,21 @@ class AutoClusterFunction(BaseAIFunction):
|
||||
if not keywords_result['valid']:
|
||||
return keywords_result
|
||||
|
||||
# NEW: Validate minimum keywords (5 required for meaningful clustering)
|
||||
min_validation = validate_minimum_keywords(
|
||||
keyword_ids=ids,
|
||||
account=account,
|
||||
min_required=5
|
||||
)
|
||||
|
||||
if not min_validation['valid']:
|
||||
logger.warning(f"[AutoCluster] Validation failed: {min_validation['error']}")
|
||||
return min_validation
|
||||
|
||||
logger.info(
|
||||
f"[AutoCluster] Validation passed: {min_validation['count']} keywords available (min: {min_validation['required']})"
|
||||
)
|
||||
|
||||
# Removed plan limits check
|
||||
|
||||
return {'valid': True}
|
||||
|
||||
Reference in New Issue
Block a user