From 6b6f20a032eb31d747366c8bc270ca81731eaf6a Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Fri, 4 Sep 2026 17:09:24 +0200 Subject: Fixed pre-commit issues --- ...202607021740-fc6608d3f9cc_added_oauth_models.py | 160 +++++++++++---------- 1 file changed, 88 insertions(+), 72 deletions(-) (limited to 'db/migrations/versions/202607021740-fc6608d3f9cc_added_oauth_models.py') diff --git a/db/migrations/versions/202607021740-fc6608d3f9cc_added_oauth_models.py b/db/migrations/versions/202607021740-fc6608d3f9cc_added_oauth_models.py index 5498291..b94ffb8 100644 --- a/db/migrations/versions/202607021740-fc6608d3f9cc_added_oauth_models.py +++ b/db/migrations/versions/202607021740-fc6608d3f9cc_added_oauth_models.py @@ -5,100 +5,116 @@ Revises: 115caa5a76d0 Create Date: 2026-07-02 17:40:58.968553 """ + import json import os -from datetime import datetime, UTC +from collections.abc import Sequence +from datetime import UTC, datetime from secrets import token_hex -from random import randbytes -from typing import Sequence, Union from uuid import uuid4, uuid7 -from alembic import op import sqlalchemy as sa import sqlmodel -from authlib.integrations.sqla_oauth2 import OAuth2ClientMixin +from alembic import op # revision identifiers, used by Alembic. -revision: str = 'fc6608d3f9cc' -down_revision: Union[str, Sequence[str], None] = '115caa5a76d0' -branch_labels: Union[str, Sequence[str], None] = None -depends_on: Union[str, Sequence[str], None] = None +revision: str = "fc6608d3f9cc" +down_revision: str | Sequence[str] | None = "115caa5a76d0" +branch_labels: str | Sequence[str] | None = None +depends_on: str | Sequence[str] | None = None def upgrade() -> None: """Upgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### - client_application = op.create_table('clientapplication', - sa.Column('id', sa.Uuid(), nullable=False), - sa.Column('name', sqlmodel.sql.sqltypes.AutoString(), nullable=False), - sa.Column('client_id', sa.String(length=48), nullable=True), - sa.Column('client_secret', sa.String(length=120), nullable=True), - sa.Column('client_id_issued_at', sa.Integer(), nullable=False), - sa.Column('client_secret_expires_at', sa.Integer(), nullable=False), - sa.Column('client_metadata', sa.Text(), nullable=True), - sa.PrimaryKeyConstraint('id') + client_application = op.create_table( + "clientapplication", + sa.Column("id", sa.Uuid(), nullable=False), + sa.Column("name", sqlmodel.sql.sqltypes.AutoString(), nullable=False), + sa.Column("client_id", sa.String(length=48), nullable=True), + sa.Column("client_secret", sa.String(length=120), nullable=True), + sa.Column("client_id_issued_at", sa.Integer(), nullable=False), + sa.Column("client_secret_expires_at", sa.Integer(), nullable=False), + sa.Column("client_metadata", sa.Text(), nullable=True), + sa.PrimaryKeyConstraint("id"), + ) + op.create_index( + op.f("ix_clientapplication_client_id"), + "clientapplication", + ["client_id"], + unique=False, ) - op.create_index(op.f('ix_clientapplication_client_id'), 'clientapplication', ['client_id'], unique=False) - op.create_table('authcode', - sa.Column('id', sa.Uuid(), nullable=False), - sa.Column('user_id', sa.Uuid(), nullable=False), - sa.Column('code', sa.String(length=120), nullable=False), - sa.Column('client_id', sa.String(length=48), nullable=True), - sa.Column('redirect_uri', sa.Text(), nullable=True), - sa.Column('response_type', sa.Text(), nullable=True), - sa.Column('scope', sa.Text(), nullable=True), - sa.Column('nonce', sa.Text(), nullable=True), - sa.Column('auth_time', sa.Integer(), nullable=False), - sa.Column('acr', sa.Text(), nullable=True), - sa.Column('amr', sa.Text(), nullable=True), - sa.Column('code_challenge', sa.Text(), nullable=True), - sa.Column('code_challenge_method', sa.String(length=48), nullable=True), - sa.ForeignKeyConstraint(['user_id'], ['user.id'], ondelete='CASCADE'), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('code') + op.create_table( + "authcode", + sa.Column("id", sa.Uuid(), nullable=False), + sa.Column("user_id", sa.Uuid(), nullable=False), + sa.Column("code", sa.String(length=120), nullable=False), + sa.Column("client_id", sa.String(length=48), nullable=True), + sa.Column("redirect_uri", sa.Text(), nullable=True), + sa.Column("response_type", sa.Text(), nullable=True), + sa.Column("scope", sa.Text(), nullable=True), + sa.Column("nonce", sa.Text(), nullable=True), + sa.Column("auth_time", sa.Integer(), nullable=False), + sa.Column("acr", sa.Text(), nullable=True), + sa.Column("amr", sa.Text(), nullable=True), + sa.Column("code_challenge", sa.Text(), nullable=True), + sa.Column("code_challenge_method", sa.String(length=48), nullable=True), + sa.ForeignKeyConstraint(["user_id"], ["user.id"], ondelete="CASCADE"), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("code"), ) - op.create_table('authtoken', - sa.Column('id', sa.Uuid(), nullable=False), - sa.Column('user_id', sa.Uuid(), nullable=False), - sa.Column('client_id', sa.String(length=48), nullable=True), - sa.Column('token_type', sa.String(length=40), nullable=True), - sa.Column('access_token', sa.String(length=255), nullable=False), - sa.Column('refresh_token', sa.String(length=255), nullable=True), - sa.Column('scope', sa.Text(), nullable=True), - sa.Column('issued_at', sa.Integer(), nullable=False), - sa.Column('access_token_revoked_at', sa.Integer(), nullable=False), - sa.Column('refresh_token_revoked_at', sa.Integer(), nullable=False), - sa.Column('expires_in', sa.Integer(), nullable=False), - sa.ForeignKeyConstraint(['user_id'], ['user.id'], ondelete='CASCADE'), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('access_token') + op.create_table( + "authtoken", + sa.Column("id", sa.Uuid(), nullable=False), + sa.Column("user_id", sa.Uuid(), nullable=False), + sa.Column("client_id", sa.String(length=48), nullable=True), + sa.Column("token_type", sa.String(length=40), nullable=True), + sa.Column("access_token", sa.String(length=255), nullable=False), + sa.Column("refresh_token", sa.String(length=255), nullable=True), + sa.Column("scope", sa.Text(), nullable=True), + sa.Column("issued_at", sa.Integer(), nullable=False), + sa.Column("access_token_revoked_at", sa.Integer(), nullable=False), + sa.Column("refresh_token_revoked_at", sa.Integer(), nullable=False), + sa.Column("expires_in", sa.Integer(), nullable=False), + sa.ForeignKeyConstraint(["user_id"], ["user.id"], ondelete="CASCADE"), + sa.PrimaryKeyConstraint("id"), + sa.UniqueConstraint("access_token"), + ) + op.create_index( + op.f("ix_authtoken_refresh_token"), "authtoken", ["refresh_token"], unique=False ) - op.create_index(op.f('ix_authtoken_refresh_token'), 'authtoken', ['refresh_token'], unique=False) - op.bulk_insert(client_application, [ - { - 'id': uuid7(), - 'name': 'TTUN', - 'client_id': uuid4().hex, - 'client_secret': token_hex(32), - 'client_id_issued_at': datetime.now(tz=UTC).timestamp(), - 'client_secret_expires_at': datetime.now(tz=UTC).timestamp() + 3600, - 'client_metadata': json.dumps({ - 'redirect_uris': [ - f'//{os.environ['TUNNEL_DOMAIN']}/oauth/callback' - ], - }) - } - ]) + op.bulk_insert( + client_application, + [ + { + "id": uuid7(), + "name": "TTUN", + "client_id": uuid4().hex, + "client_secret": token_hex(32), + "client_id_issued_at": datetime.now(tz=UTC).timestamp(), + "client_secret_expires_at": datetime.now(tz=UTC).timestamp() + 3600, + "client_metadata": json.dumps( + { + "redirect_uris": [ + f"//{os.environ['TUNNEL_DOMAIN']}/oauth/callback" + ], + } + ), + } + ], + ) # ### end Alembic commands ### def downgrade() -> None: """Downgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### - op.drop_index(op.f('ix_authtoken_refresh_token'), table_name='authtoken') - op.drop_table('authtoken') - op.drop_table('authcode') - op.drop_index(op.f('ix_clientapplication_client_id'), table_name='clientapplication') - op.drop_table('clientapplication') + op.drop_index(op.f("ix_authtoken_refresh_token"), table_name="authtoken") + op.drop_table("authtoken") + op.drop_table("authcode") + op.drop_index( + op.f("ix_clientapplication_client_id"), table_name="clientapplication" + ) + op.drop_table("clientapplication") # ### end Alembic commands ### -- cgit v1.3