🎨 add google_apikey field

This commit is contained in:
itskovacs 2025-11-01 17:47:24 +01:00
parent c2a8c253e1
commit 7a63523be6
2 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,32 @@
"""User Google API KEY
Revision ID: e75fca7d8759
Revises: 4fadf12fa98c
Create Date: 2025-11-01 16:10:13.277275
"""
from alembic import op
import sqlalchemy as sa
import sqlmodel.sql.sqltypes
# revision identifiers, used by Alembic.
revision = 'e75fca7d8759'
down_revision = '4fadf12fa98c'
branch_labels = None
depends_on = None
def upgrade():
with op.batch_alter_table('user', schema=None) as batch_op:
batch_op.add_column(sa.Column('google_apikey', sqlmodel.sql.sqltypes.AutoString(), nullable=True))
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('user', schema=None) as batch_op:
batch_op.drop_column('google_apikey')
# ### end Alembic commands ###

View File

@ -96,6 +96,16 @@ class PendingTOTP(BaseModel):
username: str username: str
class GooglePlaceResult(BaseModel):
id: str | None = None
name: str | None = None
lat: float | None = None
lng: float | None = None
price: float | None = None
types: list[str] = []
allows_dogs: bool | None = None
class ImageBase(SQLModel): class ImageBase(SQLModel):
filename: str filename: str
@ -180,6 +190,7 @@ class User(UserBase, table=True):
password: str password: str
totp_enabled: bool = False totp_enabled: bool = False
totp_secret: str | None = None totp_secret: str | None = None
google_apikey: str | None = None
class UserUpdate(UserBase): class UserUpdate(UserBase):
@ -193,6 +204,7 @@ class UserRead(UserBase):
username: str username: str
do_not_display: list[str] do_not_display: list[str]
totp_enabled: bool totp_enabled: bool
google_apikey: bool
@classmethod @classmethod
def serialize(cls, obj: User) -> "UserRead": def serialize(cls, obj: User) -> "UserRead":
@ -207,6 +219,7 @@ class UserRead(UserBase):
mode_dark=obj.mode_dark, mode_dark=obj.mode_dark,
mode_gpx_in_place=obj.mode_gpx_in_place, mode_gpx_in_place=obj.mode_gpx_in_place,
totp_enabled=obj.totp_enabled, totp_enabled=obj.totp_enabled,
google_apikey=True if obj.google_apikey else False
) )