17 lines
809 B
Python
17 lines
809 B
Python
from typing import List, Optional
|
|
from sqlalchemy.orm import Session
|
|
from app.services.base_service import BaseService
|
|
from app.models.card import Card
|
|
|
|
class CardService(BaseService[Card]):
|
|
def __init__(self):
|
|
super().__init__(Card)
|
|
|
|
def get_by_name(self, db: Session, name: str) -> Optional[Card]:
|
|
return db.query(self.model).filter(self.model.name == name).first()
|
|
|
|
def get_by_rarity(self, db: Session, rarity: str, skip: int = 0, limit: int = 100) -> List[Card]:
|
|
return db.query(self.model).filter(self.model.rarity == rarity).offset(skip).limit(limit).all()
|
|
|
|
def get_by_set(self, db: Session, set_name: str, skip: int = 0, limit: int = 100) -> List[Card]:
|
|
return db.query(self.model).filter(self.model.set_name == set_name).offset(skip).limit(limit).all() |