This commit is contained in:
@@ -93,6 +93,33 @@ def delete_one(session: Session, _id: int) -> models.ProductorPublic:
|
||||
session.commit()
|
||||
return result
|
||||
|
||||
|
||||
def get_delete_dependencies(
|
||||
session: Session,
|
||||
_id: int
|
||||
) -> list[models.DeleteDependency]:
|
||||
statement = select(models.Productor).where(models.Productor.id == _id)
|
||||
result = session.exec(statement)
|
||||
productor = result.first()
|
||||
if not productor:
|
||||
raise exceptions.ProductorNotFoundError(
|
||||
messages.Messages.not_found('productor'))
|
||||
products_statement = (
|
||||
select(models.Product)
|
||||
.where(models.Product.productor_id == _id)
|
||||
.distinct()
|
||||
)
|
||||
products = session.exec(products_statement).all()
|
||||
result = [
|
||||
models.DeleteDependency(
|
||||
name=pro.name,
|
||||
id=pro.id,
|
||||
type='product'
|
||||
) for pro in products
|
||||
]
|
||||
return result
|
||||
|
||||
|
||||
def is_allowed(
|
||||
session: Session,
|
||||
user: models.User,
|
||||
|
||||
Reference in New Issue
Block a user