# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.Classroom.V1.Connection do
  @moduledoc """
  Handle Tesla connections for GoogleApi.Classroom.V1.
  """

  @type t :: Tesla.Env.client()

  use GoogleApi.Gax.Connection,
    scopes: [
      # See and update its own attachments to posts in Google Classroom
      "https://www.googleapis.com/auth/classroom.addons.student",

      # See, create, and update its own attachments to posts in classes you teach in Google Classroom
      "https://www.googleapis.com/auth/classroom.addons.teacher",

      # View and manage announcements in Google Classroom
      "https://www.googleapis.com/auth/classroom.announcements",

      # View announcements in Google Classroom
      "https://www.googleapis.com/auth/classroom.announcements.readonly",

      # See, edit, create, and permanently delete your Google Classroom classes
      "https://www.googleapis.com/auth/classroom.courses",

      # View your Google Classroom classes
      "https://www.googleapis.com/auth/classroom.courses.readonly",

      # See, create and edit coursework items including assignments, questions, and grades
      "https://www.googleapis.com/auth/classroom.coursework.me",

      # View your course work and grades in Google Classroom
      "https://www.googleapis.com/auth/classroom.coursework.me.readonly",

      # Manage course work and grades for students in the Google Classroom classes you teach and view the course work and grades for classes you administer
      "https://www.googleapis.com/auth/classroom.coursework.students",

      # View course work and grades for students in the Google Classroom classes you teach or administer
      "https://www.googleapis.com/auth/classroom.coursework.students.readonly",

      # See, edit, and create classwork materials in Google Classroom
      "https://www.googleapis.com/auth/classroom.courseworkmaterials",

      # See all classwork materials for your Google Classroom classes
      "https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly",

      # View your Google Classroom guardians
      "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly",

      # View and manage guardians for students in your Google Classroom classes
      "https://www.googleapis.com/auth/classroom.guardianlinks.students",

      # View guardians for students in your Google Classroom classes
      "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly",

      # View the email addresses of people in your classes
      "https://www.googleapis.com/auth/classroom.profile.emails",

      # View the profile photos of people in your classes
      "https://www.googleapis.com/auth/classroom.profile.photos",

      # Receive notifications about your Google Classroom data
      "https://www.googleapis.com/auth/classroom.push-notifications",

      # Manage your Google Classroom class rosters
      "https://www.googleapis.com/auth/classroom.rosters",

      # View your Google Classroom class rosters
      "https://www.googleapis.com/auth/classroom.rosters.readonly",

      # View your course work and grades in Google Classroom
      "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly",

      # View course work and grades for students in the Google Classroom classes you teach or administer
      "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly",

      # See, create, and edit topics in Google Classroom
      "https://www.googleapis.com/auth/classroom.topics",

      # View topics in Google Classroom
      "https://www.googleapis.com/auth/classroom.topics.readonly"
    ],
    otp_app: :google_api_classroom,
    base_url: "https://classroom.googleapis.com/"
end
