feat: initial commit - Phase 1 & 2 core features

This commit is contained in:
hiderfong
2026-04-22 17:07:33 +08:00
commit 1773bda06b
25005 changed files with 6252106 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
from app.tasks.worker import celery_app
@celery_app.task(bind=True)
def auto_classify_task(self, project_id: int, source_ids: list = None):
"""
Async task to run automatic classification on metadata.
Phase 1 placeholder.
"""
from app.core.database import SessionLocal
from app.models.project import ClassificationProject, ClassificationResult, ResultStatus
from app.models.classification import RecognitionRule
from app.models.metadata import DataColumn
db = SessionLocal()
try:
project = db.query(ClassificationProject).filter(ClassificationProject.id == project_id).first()
if not project:
return {"status": "failed", "reason": "project not found"}
# Update project status
project.status = "scanning"
db.commit()
rules = db.query(RecognitionRule).filter(RecognitionRule.is_active == True).all()
# TODO: implement rule matching logic in Phase 2
project.status = "assigning"
db.commit()
return {"status": "completed", "project_id": project_id, "matched": 0}
finally:
db.close()