VIP Person Batch query

This commit is contained in:
dderbentsov
2023-08-03 01:21:17 +03:00
parent 5a71287fe4
commit ae18a3841a
3 changed files with 33 additions and 14 deletions

View File

@@ -1,10 +1,10 @@
from typing import Any, List
from typing import Any, List, Dict
from sqlalchemy.orm import Session
from personal_info.db.models import Person, Address, Document, Contact
from personal_info.db.schemas import PersonCreate, PersonBase
from personal_info.db import models
from personal_info.services.base import BaseService
class PersonService(BaseService[Person, PersonCreate, Any]):
@@ -19,8 +19,6 @@ class PersonService(BaseService[Person, PersonCreate, Any]):
return objs
def create(self, obj: PersonCreate) -> Person:
print('= raw' * 3 )
print(obj)
person_obj = PersonBase(**obj.dict())
person = super(PersonService, self).create(person_obj)
@@ -44,3 +42,11 @@ class PersonService(BaseService[Person, PersonCreate, Any]):
return person
def batch_get(self, request: Dict) -> List[models.Person]:
if request["ids"] is None:
HTTPException(status_code=404, detail='ids required')
objs: List[models.Person] = self.db_session.query(models.Person).filter(models.Person.id.in_(request["ids"])).all()
return objs