def METHOD_NAME(user):
    """
    Return list of courses accessible by user or None to represent all courses.
    Arguments
        user (User) --  User for which course permissions should be returned
    """
    # ensure we don't request course permissions for users which would return all courses
    if user.is_superuser or user.is_staff:
        return None
    key_courses, key_last_updated = _get_course_permission_cache_keys(user)
    keys = [key_courses, key_last_updated]
    # Check the cache for data
    values = cache.get_many(keys)
    courses = values.get(key_courses, [])
    # If data is not in the cache, refresh the permissions and validate against the new data.
    if not values.get(key_last_updated):
        courses = _refresh_user_course_permissions(user)
    return courses