mirror of
https://github.com/jaypyles/Scraperr.git
synced 2025-12-11 18:26:08 +00:00
feat: add delete and select all button
This commit is contained in:
@@ -12,8 +12,13 @@ from fastapi.staticfiles import StaticFiles
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
|
||||
# LOCAL
|
||||
from api.backend.job import query, insert
|
||||
from api.backend.models import DownloadJob, SubmitScrapeJob, RetrieveScrapeJobs
|
||||
from api.backend.job import query, insert, delete_jobs
|
||||
from api.backend.models import (
|
||||
DownloadJob,
|
||||
SubmitScrapeJob,
|
||||
DeleteScrapeJobs,
|
||||
RetrieveScrapeJobs,
|
||||
)
|
||||
from api.backend.scraping import scrape
|
||||
from api.backend.auth.auth_router import auth_router
|
||||
|
||||
@@ -116,3 +121,13 @@ async def download(download_job: DownloadJob):
|
||||
except Exception as e:
|
||||
LOG.error(f"Exception occurred: {e}")
|
||||
return {"error": str(e)}
|
||||
|
||||
|
||||
@app.post("/api/delete-scrape-jobs")
|
||||
async def delete(delete_scrape_jobs: DeleteScrapeJobs):
|
||||
result = await delete_jobs(delete_scrape_jobs.ids)
|
||||
return (
|
||||
JSONResponse(content={"message": "Jobs successfully deleted."})
|
||||
if result
|
||||
else JSONResponse({"error": "Jobs not deleted."})
|
||||
)
|
||||
|
||||
@@ -24,3 +24,11 @@ async def query(filter: dict[str, Any]) -> list[dict[str, Any]]:
|
||||
results.append(document)
|
||||
|
||||
return results
|
||||
|
||||
|
||||
async def delete_jobs(jobs: list[str]):
|
||||
collection = get_job_collection()
|
||||
result = await collection.delete_many({"id": {"$in": jobs}})
|
||||
LOG.info(f"RESULT: {result.deleted_count} documents deleted")
|
||||
|
||||
return True if result.deleted_count > 0 else False
|
||||
|
||||
@@ -32,3 +32,7 @@ class RetrieveScrapeJobs(pydantic.BaseModel):
|
||||
|
||||
class DownloadJob(pydantic.BaseModel):
|
||||
id: str
|
||||
|
||||
|
||||
class DeleteScrapeJobs(pydantic.BaseModel):
|
||||
ids: list[str]
|
||||
|
||||
Reference in New Issue
Block a user