GPQBot

Форк
0
/
repo.py 
33 строки · 1.0 Кб
1
"""Task repo."""
2

3
from typing import List
4
from uuid import UUID
5

6
from app.db.crud import CRUD
7
from app.db.sqlalchemy import AsyncSession
8
from app.db.task.models import Fidback
9
from app.schemas.shemas import Fidback, FidbackCreate
10

11

12
class TaskRepo:
13
    def __init__(self, session: AsyncSession):
14
        self._crud = CRUD(session=session, cls_model=Fidback)
15

16
    async def create_task(self, task_in_creation: FidbackCreate) -> Fidback:
17
        model_data = {
18
            "division": task_in_creation.title,
19
            "subdivision": task_in_creation.title,
20
            "description": task_in_creation.description,
21
        }
22
        row = await self._crud.create(model_data=model_data)
23

24
        task_in_db = await self._crud.get(pkey_val=row.id)
25

26
        return self._to_domain(task_in_db)
27

28
    async def get_task(self, task_id: int) -> Fidback:
29
        task_in_db = await self._crud.get(pkey_val=task_id)
30
        return self._to_domain(task_in_db)
31

32
    async def delete_task(self, task_id: int) -> None:
33
        await self._crud.delete(pkey_val=task_id)
34

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.