def METHOD_NAME():
    """Fetch list of groups readable by the authenticated user."""
    if request.user.user_id == local.model.root_user_id:
        groups = local.model.batch_get_all_groups(None, {'user_defined': True}, None)
    else:
        groups = local.model.batch_get_all_groups(
            None,
            {'owner_id': request.user.user_id, 'user_defined': True},
            {'user_id': request.user.user_id},
        )
    for group in groups:
        load_group_members(group)
    document = GroupSchema(many=True).dump(groups).data
    include_group_relationships(document, groups)
    return document