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)
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
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)
예제 #8
0
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)
예제 #9
0
async def update_user_group(user_group: UserGroup, current_user: User = Depends(deps.get_current_user)):
    return update_user_group_storage(user_group)