| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- # Pydantic imports
- from typing import List
- from fastapi import APIRouter, Depends
- # Sqlalchemy imports
- from sqlalchemy.orm import Session
- from starlette.responses import Response
- from commands.fincas import update_fincas as command_update_fincas
- from cruds.companies import get_companies, get_company_by_id
- # My imports
- from cruds.fincas import get_fincas_filter_company
- from database.sqlalchemy import get_db
- from routes.login import get_current_user
- from schemas.company import Company as CompanySchema
- from schemas.fincas import Finca as FincaSchema
- from schemas.users import User as UserSchema
- router = APIRouter()
- @router.get("/company", response_model=CompanySchema)
- async def get_my_company(
- db: Session = Depends(get_db),
- current_user: UserSchema = Depends(get_current_user),
- ) -> Response:
- company = get_company_by_id(db, current_user.company_id)
- return company
- """
- No corresponde ya que un usuario no puede acceder a fincas
- que no pertenezcan a su organizacion, lo dejo por si mas
- adelate hacemos permisos de superusuario o simil
- @router.get("/companies", response_model=List[CompanySchema])
- async def get_all_companies(
- db: Session = Depends(get_db),
- current_user: UserSchema = Depends(get_current_user),
- ) -> Response:
- companies = get_companies(db)
- return companies
- @router.get("/company/{company_id}", response_model=CompanySchema)
- async def get_company(
- company_id: int,
- db: Session = Depends(get_db),
- current_user: UserSchema = Depends(get_current_user),
- ) -> Response:
- company = get_company_by_id(db, company_id)
- return company
- @router.get("/company/{company_id}/fincas", response_model=List[FincaSchema])
- async def get_company(
- company_id: int,
- db: Session = Depends(get_db),
- current_user: UserSchema = Depends(get_current_user),
- ) -> Response:
- company = get_fincas_filter_company(db, company_id)
- return company
- @router.get(
- "/company/{company_id}/update-fincas",
- )
- def update_fincas(
- company_id: int,
- db: Session = Depends(get_db),
- current_user: UserSchema = Depends(get_current_user),
- ) -> Response:
- return command_update_fincas(company_id)
- """
|