|
@@ -288,13 +288,16 @@ class GroupTable:
|
|
if not group:
|
|
if not group:
|
|
return None
|
|
return None
|
|
|
|
|
|
- if not group.user_ids:
|
|
|
|
- group.user_ids = []
|
|
|
|
|
|
+ group_user_ids = group.user_ids
|
|
|
|
+
|
|
|
|
+ if not group_user_ids or not isinstance(group_user_ids, list):
|
|
|
|
+ group_user_ids = []
|
|
|
|
|
|
for user_id in user_ids:
|
|
for user_id in user_ids:
|
|
- if user_id not in group.user_ids:
|
|
|
|
- group.user_ids.append(user_id)
|
|
|
|
|
|
+ if user_id not in group_user_ids:
|
|
|
|
+ group_user_ids.append(user_id)
|
|
|
|
|
|
|
|
+ group.user_ids = group_user_ids
|
|
group.updated_at = int(time.time())
|
|
group.updated_at = int(time.time())
|
|
db.commit()
|
|
db.commit()
|
|
db.refresh(group)
|
|
db.refresh(group)
|
|
@@ -312,14 +315,18 @@ class GroupTable:
|
|
if not group:
|
|
if not group:
|
|
return None
|
|
return None
|
|
|
|
|
|
- if not group.user_ids:
|
|
|
|
|
|
+ group_user_ids = group.user_ids
|
|
|
|
+
|
|
|
|
+ if not group_user_ids or not isinstance(group_user_ids, list):
|
|
return GroupModel.model_validate(group)
|
|
return GroupModel.model_validate(group)
|
|
|
|
|
|
for user_id in user_ids:
|
|
for user_id in user_ids:
|
|
- if user_id in group.user_ids:
|
|
|
|
- group.user_ids.remove(user_id)
|
|
|
|
|
|
+ if user_id in group_user_ids:
|
|
|
|
+ group_user_ids.remove(user_id)
|
|
|
|
|
|
|
|
+ group.user_ids = group_user_ids
|
|
group.updated_at = int(time.time())
|
|
group.updated_at = int(time.time())
|
|
|
|
+
|
|
db.commit()
|
|
db.commit()
|
|
db.refresh(group)
|
|
db.refresh(group)
|
|
return GroupModel.model_validate(group)
|
|
return GroupModel.model_validate(group)
|