🩹 Define explicit user_groups proxy-table

This commit is contained in:
Brian Wiborg 2025-10-11 13:30:46 +02:00
parent d494396728
commit e25c9d1715
No known key found for this signature in database

View file

@ -39,7 +39,7 @@ class User(Model):
is_admin: bool = field.BooleanField(default=False) is_admin: bool = field.BooleanField(default=False)
is_staff: bool = field.BooleanField(default=False) is_staff: bool = field.BooleanField(default=False)
groups: field.ManyToManyRelation[Group] = field.ManyToManyField( groups: field.ManyToManyRelation[Group] = field.ManyToManyField(
"ohmyapi_auth.Group", related_name="users", through="usergroups" "ohmyapi_auth.Group", related_name="users", through="ohmyapi_auth_user_groups"
) )
class Schema: class Schema:
@ -72,3 +72,20 @@ class User(Model):
if user and user.verify_password(password): if user and user.verify_password(password):
return user return user
return None return None
class UserGroups(Model):
user: field.ForeignKeyRelation[User] = field.ForeignKeyField(
"ohmyapi_auth.User",
related_name="user_groups",
index=True,
)
group: field.ForeignKeyRelation[Group] = field.ForeignKeyField(
"ohmyapi_auth.Group",
related_name="group_users",
index=True,
)
class Meta:
table = "ohmyapi_auth_user_groups"
constraints = [("UNIQUE", ("user_id", "group_id"))]