def sync_space_to_user_group(space: Space): update_many(collection_name=USER_GROUPS, query_dict={"spaceIds": {"$in": [space.spaceId]}}, update_dict={"$pull": {"spaceIds": {"$in": [space.spaceId]}}}) user_group_list = get_user_group_list_by_ids(space.groupIds) for user_group in user_group_list: if space.spaceId not in user_group.spaceIds: user_group.spaceIds.append(space.spaceId) update_user_group_storage(user_group)
def sync_space_to_user_group(space: Space, current_user): storage_template.pull_update({"spaceIds": {"in": [space.spaceId]}}, {"spaceIds": {"in": [space.spaceId]}}, UserGroup, USER_GROUPS) user_group_list = get_user_group_list_by_ids(space.groupIds, current_user) for user_group in user_group_list: if user_group.spaceIds is None: user_group.spaceIds = [] if space.spaceId not in user_group.spaceIds: user_group.spaceIds.append(space.spaceId) update_user_group_storage(user_group)
def sync_user_to_user_groups(user: User): storage_template.pull_update({"userIds": { "in": [user.userId] }}, {"userIds": { "in": [user.userId] }}, UserGroup, USER_GROUPS) user_groups = get_user_group_list_by_ids(user.groupIds, user) for user_group in user_groups: if user_group.userIds is None: user_group.userIds = [] user_group.userIds.append(user.userId) elif user.userId not in user_group.userIds: user_group.userIds.append(user.userId) update_user_group_storage(user_group)
def sync_user_to_user_groups(user: User): update_many(collection_name=USER_GROUPS, query_dict={"userIds": { "$in": [user.userId] }}, update_dict={"$pull": { "userIds": { "$in": [user.userId] } }}) user_groups = get_user_group_list_by_ids(user.groupIds) for user_group in user_groups: if user.userId not in user_group.userIds: user_group.userIds.append(user.userId) update_user_group_storage(user_group)
async def save_user_group(user_group: UserGroup, current_user: User = Depends(deps.get_current_user)): if check_fake_id(user_group.userGroupId): user_group.userGroupId = None if user_group.userGroupId is None or check_fake_id(user_group.userGroupId): return create_user_group_storage(user_group) else: return update_user_group_storage(user_group)
async def save_user_group(user_group: UserGroup, current_user: User = Depends(deps.get_current_user)): if check_fake_id(user_group.userGroupId): user_group.userGroupId = None if user_group.userGroupId is None or check_fake_id(user_group.userGroupId): result = create_user_group_storage(user_group) sync_user_group_to_space(result) return result else: sync_user_group_to_space(user_group) return update_user_group_storage(user_group)
async def update_user_group(user_group: UserGroup, current_user: User = Depends(deps.get_current_user)): sync_user_group_to_space(user_group) sync_user_group_to_user(user_group) return update_user_group_storage(user_group)
async def import_user_group(group: UserGroup): result = get_user_group(group.userGroupId) if result is None: import_user_group_to_db(group) else: update_user_group_storage(group)
async def update_user_group(user_group: UserGroup, current_user: User = Depends(deps.get_current_user)): return update_user_group_storage(user_group)