Skip to content

Commit 829a23c

Browse files
committed
feat: add TenantMixin to all models
1 parent cdc513e commit 829a23c

20 files changed

Lines changed: 39 additions & 18 deletions

alembic/env.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
UserHasRoleModel, # noqa: F401
3737
)
3838
from src.modules.api_key.infrastructure.models import ApiKeyModel # noqa: F401
39+
from src.modules.tenants.infrastructure.models.tenant_model import TenantModel # noqa: F401
3940
from src.modules.todo.infrastructure.models.todo_model import TodoModel # noqa: F401
4041
from src.modules.user.infrastructure import models as user_models # noqa: F401
4142
from src.shared.database.model import Base

src/core/security/infrastructure/models/audit_log_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
from sqlalchemy import DateTime, JSON, String
44
from sqlalchemy.orm import Mapped, mapped_column
55

6+
from src.shared.database.mixin.tenant import TenantMixin
67
from src.shared.database.model import Base
78

89

9-
class AuditLogModel(Base):
10+
class AuditLogModel(Base, TenantMixin):
1011
__tablename__ = "audit_logs"
1112

1213
action: Mapped[str] = mapped_column(String(120), index=True)

src/core/security/infrastructure/models/error_trace_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
from sqlalchemy import DateTime, JSON, String, Text
44
from sqlalchemy.orm import Mapped, mapped_column
55

6+
from src.shared.database.mixin.tenant import TenantMixin
67
from src.shared.database.model import Base
78

89

9-
class ErrorTraceModel(Base):
10+
class ErrorTraceModel(Base, TenantMixin):
1011
__tablename__ = "error_traces"
1112

1213
error_type: Mapped[str] = mapped_column(String(120), index=True)

src/core/security/infrastructure/models/login_attempt_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
from sqlalchemy import DateTime, String
44
from sqlalchemy.orm import Mapped, mapped_column
55

6+
from src.shared.database.mixin.tenant import TenantMixin
67
from src.shared.database.model import Base
78

89

9-
class LoginAttemptModel(Base):
10+
class LoginAttemptModel(Base, TenantMixin):
1011
__tablename__ = "login_attempts"
1112

1213
email: Mapped[str] = mapped_column(String(255), index=True)

src/modules/api_key/infrastructure/models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
from sqlalchemy import Boolean, DateTime, String, Text, func
44
from sqlalchemy.orm import Mapped, mapped_column
55

6+
from src.shared.database.mixin.tenant import TenantMixin
67
from src.shared.database.model import Base
78

89

9-
class ApiKeyModel(Base):
10+
class ApiKeyModel(Base, TenantMixin):
1011
__tablename__ = "api_keys"
1112

1213
id: Mapped[str] = mapped_column(String(36), primary_key=True)

src/modules/authorization/infrastructure/models/casbin_rule_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
from sqlalchemy import String
22
from sqlalchemy.orm import Mapped, mapped_column
33

4+
from src.shared.database.mixin.tenant import TenantMixin
45
from src.shared.database.model import Base
56

67

7-
class CasbinRuleModel(Base):
8+
class CasbinRuleModel(Base, TenantMixin):
89
__tablename__ = "casbin_rules"
910

1011
ptype: Mapped[str] = mapped_column(String(16), index=True)

src/modules/authorization/infrastructure/models/permission_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33
from sqlalchemy import ForeignKey, Index, String, UniqueConstraint
44
from sqlalchemy.orm import Mapped, mapped_column, relationship
55

6+
from src.shared.database.mixin.tenant import TenantMixin
67
from src.shared.database.mixin.timestamp import SoftDeleteMixin, TimeStampMixin
78
from src.shared.database.model import Base
89

910

10-
class PermissionModel(Base, TimeStampMixin, SoftDeleteMixin):
11+
class PermissionModel(Base, TimeStampMixin, SoftDeleteMixin, TenantMixin):
1112
"""Permission definition for RBAC system.
1213
1314
Permissions represent specific actions on resources.

src/modules/authorization/infrastructure/models/resource_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
from sqlalchemy import Index, String
22
from sqlalchemy.orm import Mapped, mapped_column, relationship
33

4+
from src.shared.database.mixin.tenant import TenantMixin
45
from src.shared.database.mixin.timestamp import SoftDeleteMixin, TimeStampMixin
56
from src.shared.database.model import Base
67

78

8-
class AuthorizationResourceModel(Base, TimeStampMixin, SoftDeleteMixin):
9+
class AuthorizationResourceModel(Base, TimeStampMixin, SoftDeleteMixin, TenantMixin):
910
"""Authorization resource definition for grouping permissions.
1011
1112
Resources represent domain entities that permissions act upon.

src/modules/authorization/infrastructure/models/role_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
from src.modules.authorization.infrastructure.models.user_has_role_model import (
88
UserHasRoleModel,
99
)
10+
from src.shared.database.mixin.tenant import TenantMixin
1011
from src.shared.database.mixin.timestamp import SoftDeleteMixin, TimeStampMixin
1112
from src.shared.database.model import Base
1213

1314

14-
class RoleModel(Base, TimeStampMixin, SoftDeleteMixin):
15+
class RoleModel(Base, TimeStampMixin, SoftDeleteMixin, TenantMixin):
1516
"""Role definition for RBAC system.
1617
1718
Roles group permissions and can be assigned to users.

src/modules/authorization/infrastructure/models/role_permission_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
from sqlalchemy import ForeignKey, Index, UniqueConstraint
44
from sqlalchemy.orm import Mapped, mapped_column, relationship
55

6+
from src.shared.database.mixin.tenant import TenantMixin
67
from src.shared.database.model import Base
78

89

9-
class RolePermissionModel(Base):
10+
class RolePermissionModel(Base, TenantMixin):
1011
"""Junction table for role-to-permission assignments.
1112
1213
Many-to-many relationship between roles and permissions.

0 commit comments

Comments
 (0)