Skip to content

Commit

Permalink
fix: make plugin generic on config (#3)
Browse files Browse the repository at this point in the history
  • Loading branch information
provinzkraut authored Aug 31, 2024
1 parent 0620dbb commit 72a7710
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/litestar_oracledb/plugin.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from __future__ import annotations

from typing import TYPE_CHECKING, cast
from typing import TYPE_CHECKING, cast, TypeVar, Generic

from litestar.di import Provide
from litestar.plugins import InitPluginProtocol
Expand All @@ -12,16 +12,19 @@
from litestar_oracledb.config import AsyncDatabaseConfig, SyncDatabaseConfig


ConfigT = TypeVar("ConfigT", bound="AsyncDatabaseConfig | SyncDatabaseConfig")


class SlotsBase:
__slots__ = ("_config",)


class OracleDatabasePlugin(InitPluginProtocol, SlotsBase):
class OracleDatabasePlugin(InitPluginProtocol, SlotsBase, Generic[ConfigT]):
"""Oracledb plugin."""

__slots__ = ()

def __init__(self, config: SyncDatabaseConfig | AsyncDatabaseConfig) -> None:
def __init__(self, config: ConfigT) -> None:
"""Initialize ``oracledb``.
Args:
Expand All @@ -30,7 +33,7 @@ def __init__(self, config: SyncDatabaseConfig | AsyncDatabaseConfig) -> None:
self._config = config

@property
def config(self) -> SyncDatabaseConfig | AsyncDatabaseConfig:
def config(self) -> ConfigT:
"""Return the plugin config.
Returns:
Expand Down

0 comments on commit 72a7710

Please sign in to comment.