Commit 1d810d38 authored by Sergio Gimenez's avatar Sergio Gimenez
Browse files

Initial Oauth2 work

parent 64d76743
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ services:
    ports:
      - "8090:8080"
    volumes:
      - ./dev/keycloak:/opt/keycloak/data/import
      - ./tests/fixtures/keycloak:/opt/keycloak/data/import
    healthcheck:
      test: ["CMD-SHELL", "exec 3<>/dev/tcp/127.0.0.1/8080"]
      interval: 3s
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ dependencies = [
    "fastapi[standard]>=0.115",
    "nats-py>=2.6",
    "pydantic-settings>=2.4",
    "pyjwt[crypto]>=2.9",
    "sqlalchemy[asyncio]>=2.0",
]

+3 −3
Original line number Diff line number Diff line
@@ -9,14 +9,14 @@ class PostgresPartnerRepo:
    def __init__(self, session: AsyncSession) -> None:
        self._session = session

    async def find_by_cert_thumbprint(self, thumbprint: str) -> PartnerOP | None:
        stmt = select(partner_ops).where(partner_ops.c.cert_thumbprint == thumbprint)
    async def find_by_oauth2_client_id(self, client_id: str) -> PartnerOP | None:
        stmt = select(partner_ops).where(partner_ops.c.oauth2_client_id == client_id)
        row = (await self._session.execute(stmt)).one_or_none()
        if row is None:
            return None
        return PartnerOP(
            id=row.id,
            mcc_mnc=row.mcc_mnc,
            cert_thumbprint=row.cert_thumbprint,
            oauth2_client_id=row.oauth2_client_id,
            status=row.status,
        )
+2 −2
Original line number Diff line number Diff line
@@ -9,10 +9,10 @@ partner_ops = Table(
    metadata,
    Column("id", PGUUID(as_uuid=True), primary_key=True, server_default=func.gen_random_uuid()),
    Column("mcc_mnc", String(10), nullable=False, unique=True),
    Column("cert_thumbprint", String(128), nullable=False),
    Column("oauth2_client_id", String(255), nullable=False, unique=True),
    Column("status", String(20), nullable=False, server_default="pending"),
    Column("created_at", DateTime(timezone=True), nullable=False, server_default=func.now()),
    Column("updated_at", DateTime(timezone=True), nullable=False, server_default=func.now()),
    Index("idx_partner_ops_cert_thumbprint", "cert_thumbprint"),
    Index("idx_partner_ops_oauth2_client_id", "oauth2_client_id"),
    Index("idx_partner_ops_status", "status"),
)
+0 −0

Empty file added.

Loading