@@ -41,25 +41,31 @@ from __future__ import annotations
4141
4242from typing import TYPE_CHECKING
4343
44- from litestar import Controller, Litestar, get
44+ from litestar import Controller, Litestar, Request, get
45+
4546from litestar_oracledb import AsyncDatabaseConfig, AsyncPoolConfig, OracleDatabasePlugin
4647
4748if TYPE_CHECKING :
4849 from oracledb import AsyncConnection
4950
5051
5152class SampleController (Controller ):
52- @get (path = " /sample " )
53- async def sample_route (self , db_connection : AsyncConnection) -> dict[str , str ]:
53+ @get (path = " /" )
54+ async def sample_route (self , request : Request, db_connection : AsyncConnection) -> dict[str , str ]:
5455 """ Check database available and returns app config info."""
55- cursor = db_connection.cursor()
56- await cursor.execute(" select 1 from dual" )
57- result = await cursor.fetchone()
58- return {" select_1" : str (result)}
56+ with db_connection.cursor() as cursor:
57+ await cursor.execute(" select 'a database value' a_column from dual" )
58+ result = await cursor.fetchone()
59+ request.logger.info(result[0 ])
60+ if result:
61+ return {" a_column" : result[0 ]}
62+ return {" a_column" : " dunno" }
5963
6064
6165oracledb = OracleDatabasePlugin(
62- config = AsyncDatabaseConfig(pool_config = AsyncPoolConfig(user = " app" , password = " super-secret" , dsn = " localhost:1521/freepdb1" ))
66+ config = AsyncDatabaseConfig(
67+ pool_config = AsyncPoolConfig(user = " system" , password = " super-secret" , dsn = " localhost:1513/FREEPDB1" ) # noqa: S106
68+ )
6369)
6470app = Litestar(plugins = [oracledb], route_handlers = [SampleController])
6571
0 commit comments