Skip to content

Commit

Permalink
Merge pull request #4 from PJECZ:guivaloz/errors-list
Browse files Browse the repository at this point in the history
Cambia errors a list de str
  • Loading branch information
guivaloz authored Jan 23, 2024
2 parents 3688010 + b405fbc commit 6f83d86
Show file tree
Hide file tree
Showing 15 changed files with 41 additions and 69 deletions.
14 changes: 7 additions & 7 deletions .vscode/fastapi-paths.code-snippets
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"\ttry:",
"\t\tresultados = get_${2:plural}(database)",
"\texcept MyAnyError as error:",
"\t\treturn CustomPage(success=False, errors=str(error))",
"\t\treturn CustomPage(success=False, errors=[str(error)])",
"\treturn paginate(resultados)",
"",
"",
Expand All @@ -50,7 +50,7 @@
"\ttry:",
"\t\t${3:singular} = get_${3:singular}_with_clave(database, ${8:singular_clave})",
"\texcept MyAnyError as error:",
"\t\treturn One${4:EsquemaOut}(success=False, errors=str(error))",
"\t\treturn One${4:EsquemaOut}(success=False, errors=[str(error)])",
"\treturn One${4:EsquemaOut}.model_validate(${3:singular})",
""
],
Expand Down Expand Up @@ -91,7 +91,7 @@
"\ttry:",
"\t\tresultados = get_${2:plural}(database)",
"\texcept MyAnyError as error:",
"\t\treturn CustomPage(success=False, errors=str(error))",
"\t\treturn CustomPage(success=False, errors=[str(error)])",
"\treturn paginate(resultados)",
"",
"",
Expand All @@ -107,7 +107,7 @@
"\ttry:",
"\t\t${3:singular} = get_${3:singular}(database, ${3:singular}_id)",
"\texcept MyAnyError as error:",
"\t\treturn One${4:EsquemaOut}(success=False, errors=str(error))",
"\t\treturn One${4:EsquemaOut}(success=False, errors=[str(error)])",
"\treturn One${4:EsquemaOut}.model_validate(${3:singular})",
""
],
Expand All @@ -129,7 +129,7 @@
"\ttry:",
"\t\t${3:singular} = create_${3:singular}(database, ${7:Modelo}(**${3:singular}_in.dict()))",
"\texcept MyAnyError as error:",
"\t\treturn ${2:OneEsquemaOut}(success=False, errors=str(error))",
"\t\treturn ${2:OneEsquemaOut}(success=False, errors=[str(error)])",
"\trespuesta = ${2:OneEsquemaOut}.model_validate(${3:singular})",
"\trespuesta.message = \"${8:descripcion} creada correctamente\"",
"\treturn respuesta"
Expand All @@ -153,7 +153,7 @@
"\ttry:",
"\t\t${4:singular} = update_${4:singular}(database, ${2:singular}_id, ${9:Modelo}(**${5:singular}_in.dict()))",
"\texcept MyAnyError as error:",
"\t\treturn ${3:OneEsquemaOut}(success=False, errors=str(error))",
"\t\treturn ${3:OneEsquemaOut}(success=False, errors=[str(error)])",
"\trespuesta = ${3:OneEsquemaOut}.model_validate(${4:singular})",
"\trespuesta.message = \"${10:descripcion} modificada correctamente\"",
"\treturn respuesta"
Expand All @@ -176,7 +176,7 @@
"\ttry:",
"\t\t${4:singular} = delete_${4:singular}(database, ${2:singular}_id)",
"\texcept MyAnyError as error:",
"\t\treturn ${3:OneEsquemaOut}(success=False, errors=str(error))",
"\t\treturn ${3:OneEsquemaOut}(success=False, errors=[str(error)])",
"\trespuesta = ${3:OneEsquemaOut}.model_validate(${4:singular})",
"\trespuesta.message = \"${7:descripcion} borrada correctamente\"",
"\treturn respuesta"
Expand Down
10 changes: 4 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,14 @@ La respuesta que entrega un _paginado_ de items tiene el total, el limit y el of
{
"success": true,
"message": "Success",
"errors": "Success",
"total": 2812,
"errors": [],
"data": [
{
"id": 123,
...
},
...
],
"limit": 100,
"offset": 0
}
```

Expand All @@ -36,7 +33,7 @@ En cambio, la respuesta que entrega un registro es:
{
"success": true,
"message": "Success",
"errors": "Success",
"errors": [],
"id": 123,
...
}
Expand All @@ -49,7 +46,8 @@ Cuando NO se encuentra un registro el **status code** es **200** pero el **succe
```json
{
"success": false,
"message": "No existe el registro"
"message": "",
"errors": ["No existe el registro"]
}
```

Expand Down
4 changes: 2 additions & 2 deletions carina/v4/autoridades/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ async def paginado_autoridades(
es_extinto=es_extinto,
)
except MyAnyError as error:
return CustomList(success=False, errors=str(error))
return CustomList(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -53,5 +53,5 @@ async def detalle_autoridad(
try:
autoridad = get_autoridad_with_clave(database, autoridad_clave)
except MyAnyError as error:
return OneAutoridadOut(success=False, errors=str(error))
return OneAutoridadOut(success=False, errors=[str(error)])
return OneAutoridadOut.model_validate(autoridad)
4 changes: 2 additions & 2 deletions carina/v4/bitacoras/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ async def paginado_bitacoras(
usuario_email=usuario_email,
)
except MyAnyError as error:
return CustomPage(success=False, errors=str(error))
return CustomPage(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -55,5 +55,5 @@ async def detalle_bitacora(
try:
bitacora = get_bitacora(database, bitacora_id)
except MyAnyError as error:
return OneBitacoraOut(success=False, errors=str(error))
return OneBitacoraOut(success=False, errors=[str(error)])
return OneBitacoraOut.model_validate(bitacora)
4 changes: 2 additions & 2 deletions carina/v4/distritos/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ async def paginado_distritos(
es_jurisdiccional=es_jurisdiccional,
)
except MyAnyError as error:
return CustomList(success=False, errors=str(error))
return CustomList(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -51,5 +51,5 @@ async def detalle_distrito(
try:
distrito = get_distrito_with_clave(database, distrito_clave)
except MyAnyError as error:
return OneDistritoOut(success=False, errors=str(error))
return OneDistritoOut(success=False, errors=[str(error)])
return OneDistritoOut.model_validate(distrito)
4 changes: 2 additions & 2 deletions carina/v4/entradas_salidas/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ async def paginado_entradas_salidas(
usuario_email=usuario_email,
)
except MyAnyError as error:
return CustomPage(success=False, errors=str(error))
return CustomPage(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -51,5 +51,5 @@ async def detalle_entrada_salida(
try:
entrada_salida = get_entrada_salida(database, entrada_salida_id)
except MyAnyError as error:
return OneEntradaSalidaOut(success=False, errors=str(error))
return OneEntradaSalidaOut(success=False, errors=[str(error)])
return OneEntradaSalidaOut.model_validate(entrada_salida)
4 changes: 2 additions & 2 deletions carina/v4/materias/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ async def paginado_materias(
try:
resultados = get_materias(database)
except MyAnyError as error:
return CustomList(success=False, errors=str(error))
return CustomList(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -45,5 +45,5 @@ async def detalle_materia(
try:
materia = get_materia_with_clave(database, materia_clave)
except MyAnyError as error:
return OneMateriaOut(success=False, errors=str(error))
return OneMateriaOut(success=False, errors=[str(error)])
return OneMateriaOut.model_validate(materia)
4 changes: 2 additions & 2 deletions carina/v4/modulos/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ async def paginado_modulos(
try:
resultados = get_modulos(database)
except MyAnyError as error:
return CustomPage(success=False, errors=str(error))
return CustomPage(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -45,5 +45,5 @@ async def detalle_modulo(
try:
modulo = get_modulo(database, modulo_id)
except MyAnyError as error:
return OneModuloOut(success=False, errors=str(error))
return OneModuloOut(success=False, errors=[str(error)])
return OneModuloOut.model_validate(modulo)
4 changes: 2 additions & 2 deletions carina/v4/permisos/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ async def paginado_permisos(
rol_nombre=rol_nombre,
)
except MyAnyError as error:
return CustomPage(success=False, errors=str(error))
return CustomPage(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -55,5 +55,5 @@ async def detalle_permiso(
try:
permiso = get_permiso(database, permiso_id)
except MyAnyError as error:
return OnePermisoOut(success=False, errors=str(error))
return OnePermisoOut(success=False, errors=[str(error)])
return OnePermisoOut.model_validate(permiso)
4 changes: 2 additions & 2 deletions carina/v4/roles/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ async def paginado_roles(
try:
resultados = get_roles(database)
except MyAnyError as error:
return CustomPage(success=False, errors=str(error))
return CustomPage(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -45,5 +45,5 @@ async def detalle_rol(
try:
rol = get_rol(database, rol_id)
except MyAnyError as error:
return OneRolOut(success=False, errors=str(error))
return OneRolOut(success=False, errors=[str(error)])
return OneRolOut.model_validate(rol)
4 changes: 2 additions & 2 deletions carina/v4/tareas/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ async def paginado_tareas(
usuario_email=usuario_email,
)
except MyAnyError as error:
return CustomPage(success=False, errors=str(error))
return CustomPage(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -51,5 +51,5 @@ async def detalle_tarea(
try:
tarea = get_tarea(database, tarea_id)
except MyAnyError as error:
return OneTareaOut(success=False, errors=str(error))
return OneTareaOut(success=False, errors=[str(error)])
return OneTareaOut.model_validate(tarea)
4 changes: 2 additions & 2 deletions carina/v4/usuarios/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ async def paginado_usuarios(
nombres=nombres,
)
except MyAnyError as error:
return CustomPage(success=False, errors=str(error))
return CustomPage(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -59,5 +59,5 @@ async def detalle_usuario(
try:
usuario = get_usuario_with_email(database, usuario_email)
except MyAnyError as error:
return OneUsuarioOut(success=False, errors=str(error))
return OneUsuarioOut(success=False, errors=[str(error)])
return OneUsuarioOut.model_validate(usuario)
4 changes: 2 additions & 2 deletions carina/v4/usuarios_roles/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ async def paginado_usuarios_roles(
usuario_email=usuario_email,
)
except MyAnyError as error:
return CustomPage(success=False, errors=str(error))
return CustomPage(success=False, errors=[str(error)])
return paginate(resultados)


Expand All @@ -55,5 +55,5 @@ async def detalle_usuario_rol(
try:
usuario_rol = get_usuario_rol(database, usuario_rol_id)
except MyAnyError as error:
return OneUsuarioRolOut(success=False, errors=str(error))
return OneUsuarioRolOut(success=False, errors=[str(error)])
return OneUsuarioRolOut.model_validate(usuario_rol)
34 changes: 4 additions & 30 deletions lib/fastapi_pagination_custom_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,10 @@
{
"success": true,
"message": "Success",
"errors": "",
"total": 116135,
"errors": [],
"data": [
{ ... },
],
"page": 1,
"size": 20,
"pages": 18
}
Usage:
Expand All @@ -41,11 +37,10 @@ async def list_examples(
try:
query = get_examples(database=database)
except MyAnyError as error:
return CustomList(success=False, errors=str(error))
return CustomList(success=False, errors=[str(error)])
return paginate(query)
"""
from math import ceil
from typing import Any, Generic, Optional, Sequence, TypeVar

from fastapi import Query
Expand Down Expand Up @@ -75,14 +70,9 @@ class CustomList(AbstractPage[T], Generic[T]):

success: bool
message: str
errors: str
errors: list[str] = []
data: Sequence[T] = []

# total: Optional[GreaterEqualZero] = None
# page: Optional[GreaterEqualOne] = None
# size: Optional[GreaterEqualOne] = None
# pages: Optional[GreaterEqualZero] = None

__params_type__ = CustomListParams

@classmethod
Expand All @@ -105,26 +95,10 @@ def create(
message="No se encontraron registros",
)

# size = params.size if params.size is not None else total
# page = params.page if params.page is not None else 1
# pages = ceil(total / size) if total is not None else None

return cls(
success=True,
message="Success",
errors="",
errors=[],
data=items,
**kwargs,
)

# return cls(
# success=True,
# message="Success",
# errors="",
# data=items,
# total=total,
# page=page,
# size=size,
# pages=pages,
# **kwargs,
# )
8 changes: 4 additions & 4 deletions lib/fastapi_pagination_custom_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
{
"success": true,
"message": "Success",
"errors": "",
"errors": [],
"total": 116135,
"data": [
{ ... },
Expand Down Expand Up @@ -40,7 +40,7 @@ async def list_examples(
try:
query = get_examples(database=database)
except MyAnyError as error:
return CustomList(success=False, errors=str(error))
return CustomList(success=False, errors=[str(error)])
return paginate(query)
"""
Expand Down Expand Up @@ -73,7 +73,7 @@ class CustomPage(AbstractPage[T], Generic[T], ABC):

success: bool
message: str
errors: str
errors: list[str] = []
data: Sequence[T] = []

total: Optional[GreaterEqualZero] = None
Expand Down Expand Up @@ -104,7 +104,7 @@ def create(
return cls(
success=True,
message="Success",
errors="",
errors=[],
data=items,
total=total,
limit=raw_params.limit,
Expand Down

0 comments on commit 6f83d86

Please sign in to comment.