mirror of
https://github.com/bellingcat/auto-archiver-api.git
synced 2026-06-11 13:08:34 +03:00
API updates
This commit is contained in:
@@ -1,20 +1,24 @@
|
||||
from sqlalchemy.orm import Session
|
||||
from loguru import logger
|
||||
from sqlalchemy.orm import Session, load_only
|
||||
|
||||
from . import models, schemas
|
||||
|
||||
|
||||
def get_task(db: Session, task_id: str):
|
||||
return db.query(models.Task).filter(models.Task.id == task_id).first()
|
||||
|
||||
|
||||
# def get_user_by_email(db: Session, email: str):
|
||||
# return db.query(models.User).filter(models.User.email == email).first()
|
||||
return base_query(db).filter(models.Task.id == task_id).first()
|
||||
|
||||
|
||||
def get_tasks(db: Session, skip: int = 0, limit: int = 100):
|
||||
return db.query(models.Task).offset(skip).limit(limit).all()
|
||||
return base_query(db).offset(skip).limit(limit).all()
|
||||
|
||||
def search_tasks_by_url(db: Session, url:str, skip: int = 0, limit: int = 100):
|
||||
return base_query(db).filter(models.Task.url.like(f'%{url}%')).offset(skip).limit(limit).all()
|
||||
|
||||
def search_tasks_by_email(db: Session, email:str, skip: int = 0, limit: int = 100):
|
||||
return base_query(db).filter(models.Task.author==email).offset(skip).limit(limit).all()
|
||||
|
||||
def base_query(db:Session):
|
||||
# allow only some fields to be returned, for example author should remain hidden
|
||||
return db.query(models.Task).options(load_only(models.Task.id, models.Task.created_at, models.Task.url, models.Task.result))
|
||||
|
||||
def create_task(db: Session, task: schemas.TaskCreate):
|
||||
db_task = models.Task(id=task.id, url=task.url, author=task.author, result=task.result)
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
from sqlalchemy import Boolean, Column, ForeignKey, Integer, String, JSON, TIMESTAMP, DateTime
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy import Column, String, JSON, DateTime
|
||||
from sqlalchemy.sql import func
|
||||
from .database import Base
|
||||
|
||||
|
||||
Reference in New Issue
Block a user