diff --git a/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py b/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py index e6dc5072..ea7c7644 100644 --- a/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +++ b/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py @@ -32,7 +32,7 @@ def upgrade() -> None: sa.Column("description", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.PrimaryKeyConstraint("id"), ) - op.create_index(op.f("ix_permission_name"), "permission", ["name"], unique=False) + op.create_index(op.f("ix_permission_name"), "permission", ["name"], unique=True) op.create_index( op.f("ix_permission_created_at"), "permission", ["created_at"], unique=False ) @@ -57,7 +57,7 @@ def upgrade() -> None: sa.Column("description", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.PrimaryKeyConstraint("id"), ) - op.create_index(op.f("ix_role_name"), "role", ["name"], unique=False) + op.create_index(op.f("ix_role_name"), "role", ["name"], unique=True) op.create_index(op.f("ix_role_created_at"), "role", ["created_at"], unique=False) op.create_index(op.f("ix_role_created_by"), "role", ["created_by"], unique=False) op.create_index(op.f("ix_role_updated_at"), "role", ["updated_at"], unique=False) @@ -93,7 +93,7 @@ def upgrade() -> None: sa.Column("updated_by", sqlmodel.sql.sqltypes.AutoString(), nullable=True), sa.PrimaryKeyConstraint("id"), ) - op.create_index(op.f("ix_user_username"), "user", ["username"], unique=False) + op.create_index(op.f("ix_user_username"), "user", ["username"], unique=True) op.create_index(op.f("ix_user_created_at"), "user", ["created_at"], unique=False) op.create_index(op.f("ix_user_created_by"), "user", ["created_by"], unique=False) op.create_index(op.f("ix_user_updated_at"), "user", ["updated_at"], unique=False) @@ -115,17 +115,17 @@ def upgrade() -> None: "session", sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column("user_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False), - sa.Column("device", sqlmodel.sql.sqltypes.AutoString(), nullable=False), - sa.Column("os", sqlmodel.sql.sqltypes.AutoString(), nullable=False), - sa.Column("browser", sqlmodel.sql.sqltypes.AutoString(), nullable=False), + sa.Column("token", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.PrimaryKeyConstraint("id"), ) op.create_index(op.f("ix_session_user_id"), "session", ["user_id"], unique=False) + op.create_index(op.f("ix_session_token"), "session", ["token"], unique=True) # ### end Alembic commands ### def downgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f("ix_session_token"), table_name="session") op.drop_index(op.f("ix_session_user_id"), table_name="session") op.drop_table("session") diff --git a/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py b/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py index d37aa9cb..f4fb986f 100644 --- a/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +++ b/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py @@ -47,5 +47,5 @@ class Permission(SQLModel, table=True): created_by: str | None = Field(index=True) updated_at: datetime.datetime | None = Field(index=True) updated_by: str | None = Field(index=True) - name: str = Field(index=True) + name: str = Field(index=True, unique=True) description: str diff --git a/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py b/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py index 3f0d2024..7dbe2d27 100644 --- a/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +++ b/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py @@ -101,7 +101,7 @@ class Role(SQLModel, table=True): created_by: str | None = Field(index=True) updated_at: datetime.datetime | None = Field(index=True) updated_by: str | None = Field(index=True) - name: str = Field(index=True) + name: str = Field(index=True, unique=True) description: str diff --git a/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/session.py b/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/session.py index 7ce7fa35..6aa6f37b 100644 --- a/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/session.py +++ b/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/session.py @@ -7,9 +7,7 @@ class SessionBase(SQLModel): user_id: str - device: str - os: str - browser: str + token: str expired_at: datetime.datetime | None @@ -47,6 +45,4 @@ class MultipleSessionResponse(BaseModel): class Session(SQLModel, table=True): id: str = Field(default_factory=lambda: ulid.new().str, primary_key=True) user_id: str = Field(index=True) - device: str - os: str - browser: str + token: str = Field(index=True, unique=True) diff --git a/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py b/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py index ed6b02b9..b5482945 100644 --- a/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +++ b/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py @@ -91,7 +91,7 @@ class User(SQLModel, table=True): created_by: str = Field(index=True) updated_at: datetime.datetime | None = Field(index=True) updated_by: str | None = Field(index=True) - username: str = Field(index=True) + username: str = Field(index=True, unique=True) password: str