You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
orquestrador/app/repositories/tool_repository.py

33 lines
795 B
Python

from sqlalchemy.orm import Session
from app.db.models import Tool
class ToolRepository:
def __init__(self, db: Session):
self.db = db
def get_all(self):
return self.db.query(Tool).all()
def get_by_id(self, tool_id: int):
return self.db.query(Tool).filter(Tool.id == tool_id).first()
def create(self, name: str, description: str, parameters: dict):
tool = Tool(
name=name,
description=description,
parameters=parameters
)
self.db.add(tool)
self.db.commit()
self.db.refresh(tool)
return tool
def delete(self, tool_id: int):
tool = self.get_by_id(tool_id)
if tool:
self.db.delete(tool)
self.db.commit()
return tool