the middle of the idiots
This commit is contained in:
		
							
								
								
									
										100
									
								
								qwen/python/merchants_of_hope/services/resume_service.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								qwen/python/merchants_of_hope/services/resume_service.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,100 @@
 | 
			
		||||
"""
 | 
			
		||||
Resume management service
 | 
			
		||||
"""
 | 
			
		||||
from typing import List, Optional
 | 
			
		||||
from sqlalchemy.orm import Session
 | 
			
		||||
 | 
			
		||||
from ..models import Resume, User
 | 
			
		||||
from ..config.settings import settings
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def create_resume(db: Session, user_id: int, title: str, content: str, tenant_id: int) -> Resume:
 | 
			
		||||
    """
 | 
			
		||||
    Create a new resume for a user
 | 
			
		||||
    """
 | 
			
		||||
    db_resume = Resume(
 | 
			
		||||
        user_id=user_id,
 | 
			
		||||
        title=title,
 | 
			
		||||
        content=content,
 | 
			
		||||
        tenant_id=tenant_id
 | 
			
		||||
    )
 | 
			
		||||
    db.add(db_resume)
 | 
			
		||||
    db.commit()
 | 
			
		||||
    db.refresh(db_resume)
 | 
			
		||||
    return db_resume
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_user_resumes(db: Session, user_id: int, tenant_id: int = None) -> List[Resume]:
 | 
			
		||||
    """
 | 
			
		||||
    Get all resumes for a specific user
 | 
			
		||||
    """
 | 
			
		||||
    query = db.query(Resume).filter(Resume.user_id == user_id)
 | 
			
		||||
    
 | 
			
		||||
    if settings.MULTI_TENANT_ENABLED and tenant_id:
 | 
			
		||||
        query = query.filter(Resume.tenant_id == tenant_id)
 | 
			
		||||
    
 | 
			
		||||
    return query.all()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_resume_by_id(db: Session, resume_id: int, user_id: int, tenant_id: int = None) -> Optional[Resume]:
 | 
			
		||||
    """
 | 
			
		||||
    Get a specific resume by ID for a user
 | 
			
		||||
    """
 | 
			
		||||
    query = db.query(Resume).filter(
 | 
			
		||||
        Resume.id == resume_id,
 | 
			
		||||
        Resume.user_id == user_id
 | 
			
		||||
    )
 | 
			
		||||
    
 | 
			
		||||
    if settings.MULTI_TENANT_ENABLED and tenant_id:
 | 
			
		||||
        query = query.filter(Resume.tenant_id == tenant_id)
 | 
			
		||||
    
 | 
			
		||||
    return query.first()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def update_resume(db: Session, resume_id: int, user_id: int, tenant_id: int = None, title: str = None, content: str = None) -> Optional[Resume]:
 | 
			
		||||
    """
 | 
			
		||||
    Update a resume
 | 
			
		||||
    """
 | 
			
		||||
    query = db.query(Resume).filter(
 | 
			
		||||
        Resume.id == resume_id,
 | 
			
		||||
        Resume.user_id == user_id
 | 
			
		||||
    )
 | 
			
		||||
    
 | 
			
		||||
    if settings.MULTI_TENANT_ENABLED and tenant_id:
 | 
			
		||||
        query = query.filter(Resume.tenant_id == tenant_id)
 | 
			
		||||
    
 | 
			
		||||
    db_resume = query.first()
 | 
			
		||||
    
 | 
			
		||||
    if not db_resume:
 | 
			
		||||
        return None
 | 
			
		||||
    
 | 
			
		||||
    if title is not None:
 | 
			
		||||
        db_resume.title = title
 | 
			
		||||
    if content is not None:
 | 
			
		||||
        db_resume.content = content
 | 
			
		||||
    
 | 
			
		||||
    db.commit()
 | 
			
		||||
    db.refresh(db_resume)
 | 
			
		||||
    return db_resume
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def delete_resume(db: Session, resume_id: int, user_id: int, tenant_id: int = None) -> bool:
 | 
			
		||||
    """
 | 
			
		||||
    Delete a resume
 | 
			
		||||
    """
 | 
			
		||||
    query = db.query(Resume).filter(
 | 
			
		||||
        Resume.id == resume_id,
 | 
			
		||||
        Resume.user_id == user_id
 | 
			
		||||
    )
 | 
			
		||||
    
 | 
			
		||||
    if settings.MULTI_TENANT_ENABLED and tenant_id:
 | 
			
		||||
        query = query.filter(Resume.tenant_id == tenant_id)
 | 
			
		||||
    
 | 
			
		||||
    db_resume = query.first()
 | 
			
		||||
    
 | 
			
		||||
    if not db_resume:
 | 
			
		||||
        return False
 | 
			
		||||
    
 | 
			
		||||
    db.delete(db_resume)
 | 
			
		||||
    db.commit()
 | 
			
		||||
    return True
 | 
			
		||||
		Reference in New Issue
	
	Block a user