defmodule InternalApi.Projecthub.ResponseMeta.Code do
  @moduledoc false

  use Protobuf, enum: true, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:OK, 0)
  field(:NOT_FOUND, 2)
  field(:FAILED_PRECONDITION, 3)
end

defmodule InternalApi.Projecthub.Project.Spec.Visibility do
  @moduledoc false

  use Protobuf, enum: true, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:PRIVATE, 0)
  field(:PUBLIC, 1)
end

defmodule InternalApi.Projecthub.Project.Spec.PermissionType do
  @moduledoc false

  use Protobuf, enum: true, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:EMPTY, 0)
  field(:DEFAULT_BRANCH, 1)
  field(:NON_DEFAULT_BRANCH, 2)
  field(:PULL_REQUEST, 3)
  field(:FORKED_PULL_REQUEST, 4)
  field(:TAG, 5)
end

defmodule InternalApi.Projecthub.Project.Spec.Repository.RunType do
  @moduledoc false

  use Protobuf, enum: true, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:BRANCHES, 0)
  field(:TAGS, 1)
  field(:PULL_REQUESTS, 2)
  field(:FORKED_PULL_REQUESTS, 3)
  field(:DRAFT_PULL_REQUESTS, 4)
end

defmodule InternalApi.Projecthub.Project.Spec.Repository.Status.PipelineFile.Level do
  @moduledoc false

  use Protobuf, enum: true, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:BLOCK, 0)
  field(:PIPELINE, 1)
end

defmodule InternalApi.Projecthub.Project.Spec.Scheduler.Status do
  @moduledoc false

  use Protobuf, enum: true, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:STATUS_UNSPECIFIED, 0)
  field(:STATUS_INACTIVE, 1)
  field(:STATUS_ACTIVE, 2)
end

defmodule InternalApi.Projecthub.Project.Spec.Task.Status do
  @moduledoc false

  use Protobuf, enum: true, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:STATUS_UNSPECIFIED, 0)
  field(:STATUS_INACTIVE, 1)
  field(:STATUS_ACTIVE, 2)
end

defmodule InternalApi.Projecthub.Project.Status.State do
  @moduledoc false

  use Protobuf, enum: true, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:INITIALIZING, 0)
  field(:READY, 1)
  field(:ERROR, 2)
  field(:ONBOARDING, 3)
end

defmodule InternalApi.Projecthub.ListKeysetRequest.Direction do
  @moduledoc false

  use Protobuf, enum: true, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:NEXT, 0)
  field(:PREVIOUS, 1)
end

defmodule InternalApi.Projecthub.RequestMeta do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:api_version, 1, type: :string, json_name: "apiVersion")
  field(:kind, 2, type: :string)
  field(:req_id, 3, type: :string, json_name: "reqId")
  field(:org_id, 4, type: :string, json_name: "orgId")
  field(:user_id, 5, type: :string, json_name: "userId")
end

defmodule InternalApi.Projecthub.ResponseMeta.Status do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:code, 1, type: InternalApi.Projecthub.ResponseMeta.Code, enum: true)
  field(:message, 2, type: :string)
end

defmodule InternalApi.Projecthub.ResponseMeta do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:api_version, 1, type: :string, json_name: "apiVersion")
  field(:kind, 2, type: :string)
  field(:req_id, 3, type: :string, json_name: "reqId")
  field(:org_id, 4, type: :string, json_name: "orgId")
  field(:user_id, 5, type: :string, json_name: "userId")
  field(:status, 6, type: InternalApi.Projecthub.ResponseMeta.Status)
end

defmodule InternalApi.Projecthub.PaginationRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:page, 1, type: :int32)
  field(:page_size, 2, type: :int32, json_name: "pageSize")
end

defmodule InternalApi.Projecthub.PaginationResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:page_number, 1, type: :int32, json_name: "pageNumber")
  field(:page_size, 2, type: :int32, json_name: "pageSize")
  field(:total_entries, 3, type: :int32, json_name: "totalEntries")
  field(:total_pages, 4, type: :int32, json_name: "totalPages")
end

defmodule InternalApi.Projecthub.Project.Metadata do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:name, 1, type: :string)
  field(:id, 2, type: :string)
  field(:owner_id, 3, type: :string, json_name: "ownerId")
  field(:org_id, 4, type: :string, json_name: "orgId")
  field(:description, 5, type: :string)
  field(:created_at, 6, type: Google.Protobuf.Timestamp, json_name: "createdAt")
end

defmodule InternalApi.Projecthub.Project.Spec.Repository.ForkedPullRequests do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:allowed_secrets, 1, repeated: true, type: :string, json_name: "allowedSecrets")
  field(:allowed_contributors, 2, repeated: true, type: :string, json_name: "allowedContributors")
end

defmodule InternalApi.Projecthub.Project.Spec.Repository.Status.PipelineFile do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:path, 1, type: :string)

  field(:level, 2,
    type: InternalApi.Projecthub.Project.Spec.Repository.Status.PipelineFile.Level,
    enum: true
  )
end

defmodule InternalApi.Projecthub.Project.Spec.Repository.Status do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:pipeline_files, 1,
    repeated: true,
    type: InternalApi.Projecthub.Project.Spec.Repository.Status.PipelineFile,
    json_name: "pipelineFiles"
  )
end

defmodule InternalApi.Projecthub.Project.Spec.Repository.Whitelist do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:branches, 1, repeated: true, type: :string)
  field(:tags, 2, repeated: true, type: :string)
end

defmodule InternalApi.Projecthub.Project.Spec.Repository do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  oneof(:run_present, 0)

  field(:url, 1, type: :string)
  field(:name, 2, type: :string)
  field(:owner, 3, type: :string)

  field(:run_on, 4,
    repeated: true,
    type: InternalApi.Projecthub.Project.Spec.Repository.RunType,
    json_name: "runOn",
    enum: true
  )

  field(:forked_pull_requests, 5,
    type: InternalApi.Projecthub.Project.Spec.Repository.ForkedPullRequests,
    json_name: "forkedPullRequests"
  )

  field(:run, 6, type: :bool, oneof: 0)
  field(:pipeline_file, 7, type: :string, json_name: "pipelineFile")
  field(:status, 8, type: InternalApi.Projecthub.Project.Spec.Repository.Status)
  field(:whitelist, 9, type: InternalApi.Projecthub.Project.Spec.Repository.Whitelist)
  field(:public, 10, type: :bool)

  field(:integration_type, 11,
    type: InternalApi.RepositoryIntegrator.IntegrationType,
    json_name: "integrationType",
    enum: true
  )

  field(:connected, 12, type: :bool)
  field(:id, 13, type: :string)
  field(:default_branch, 14, type: :string, json_name: "defaultBranch")
end

defmodule InternalApi.Projecthub.Project.Spec.Scheduler do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:id, 1, type: :string)
  field(:name, 2, type: :string)
  field(:branch, 3, type: :string)
  field(:at, 4, type: :string)
  field(:pipeline_file, 5, type: :string, json_name: "pipelineFile")
  field(:status, 6, type: InternalApi.Projecthub.Project.Spec.Scheduler.Status, enum: true)
end

defmodule InternalApi.Projecthub.Project.Spec.Task.Parameter do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:name, 1, type: :string)
  field(:required, 2, type: :bool)
  field(:description, 3, type: :string)
  field(:default_value, 4, type: :string, json_name: "defaultValue")
  field(:options, 5, repeated: true, type: :string)
end

defmodule InternalApi.Projecthub.Project.Spec.Task do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:id, 1, type: :string)
  field(:name, 2, type: :string)
  field(:branch, 3, type: :string)
  field(:at, 4, type: :string)
  field(:pipeline_file, 5, type: :string, json_name: "pipelineFile")
  field(:status, 6, type: InternalApi.Projecthub.Project.Spec.Task.Status, enum: true)
  field(:recurring, 7, type: :bool)
  field(:parameters, 8, repeated: true, type: InternalApi.Projecthub.Project.Spec.Task.Parameter)
  field(:description, 9, type: :string)
end

defmodule InternalApi.Projecthub.Project.Spec do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:repository, 1, type: InternalApi.Projecthub.Project.Spec.Repository)
  field(:schedulers, 2, repeated: true, type: InternalApi.Projecthub.Project.Spec.Scheduler)
  field(:private, 3, type: :bool)
  field(:public, 4, type: :bool)
  field(:visibility, 5, type: InternalApi.Projecthub.Project.Spec.Visibility, enum: true)

  field(:debug_permissions, 6,
    repeated: true,
    type: InternalApi.Projecthub.Project.Spec.PermissionType,
    json_name: "debugPermissions",
    enum: true
  )

  field(:attach_permissions, 7,
    repeated: true,
    type: InternalApi.Projecthub.Project.Spec.PermissionType,
    json_name: "attachPermissions",
    enum: true
  )

  field(:custom_permissions, 8, type: :bool, json_name: "customPermissions")
  field(:artifact_store_id, 9, type: :string, json_name: "artifactStoreId")
  field(:cache_id, 10, type: :string, json_name: "cacheId")
  field(:docker_registry_id, 11, type: :string, json_name: "dockerRegistryId")
  field(:tasks, 12, repeated: true, type: InternalApi.Projecthub.Project.Spec.Task)
end

defmodule InternalApi.Projecthub.Project.Status.Cache do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:state, 1, type: InternalApi.Projecthub.Project.Status.State, enum: true)
end

defmodule InternalApi.Projecthub.Project.Status.ArtifactStore do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:state, 1, type: InternalApi.Projecthub.Project.Status.State, enum: true)
end

defmodule InternalApi.Projecthub.Project.Status.Repository do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:state, 1, type: InternalApi.Projecthub.Project.Status.State, enum: true)
end

defmodule InternalApi.Projecthub.Project.Status.Analysis do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:state, 1, type: InternalApi.Projecthub.Project.Status.State, enum: true)
end

defmodule InternalApi.Projecthub.Project.Status.Permissions do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:state, 1, type: InternalApi.Projecthub.Project.Status.State, enum: true)
end

defmodule InternalApi.Projecthub.Project.Status do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:state, 1, type: InternalApi.Projecthub.Project.Status.State, enum: true)
  field(:state_reason, 2, type: :string, json_name: "stateReason")
  field(:cache, 3, type: InternalApi.Projecthub.Project.Status.Cache)

  field(:artifact_store, 4,
    type: InternalApi.Projecthub.Project.Status.ArtifactStore,
    json_name: "artifactStore"
  )

  field(:repository, 5, type: InternalApi.Projecthub.Project.Status.Repository)
  field(:analysis, 6, type: InternalApi.Projecthub.Project.Status.Analysis)
  field(:permissions, 7, type: InternalApi.Projecthub.Project.Status.Permissions)
end

defmodule InternalApi.Projecthub.Project do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.Project.Metadata)
  field(:spec, 2, type: InternalApi.Projecthub.Project.Spec)
  field(:status, 3, type: InternalApi.Projecthub.Project.Status)
end

defmodule InternalApi.Projecthub.ListRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:pagination, 2, type: InternalApi.Projecthub.PaginationRequest)
  field(:owner_id, 3, type: :string, json_name: "ownerId")
  field(:repo_url, 4, type: :string, json_name: "repoUrl")
  field(:soft_deleted, 5, type: :bool, json_name: "softDeleted")
end

defmodule InternalApi.Projecthub.ListResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:pagination, 2, type: InternalApi.Projecthub.PaginationResponse)
  field(:projects, 3, repeated: true, type: InternalApi.Projecthub.Project)
end

defmodule InternalApi.Projecthub.ListKeysetRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:page_size, 2, type: :int32, json_name: "pageSize")
  field(:page_token, 3, type: :string, json_name: "pageToken")
  field(:direction, 4, type: InternalApi.Projecthub.ListKeysetRequest.Direction, enum: true)
  field(:owner_id, 5, type: :string, json_name: "ownerId")
  field(:repo_url, 6, type: :string, json_name: "repoUrl")
  field(:created_after, 7, type: Google.Protobuf.Timestamp, json_name: "createdAfter")
end

defmodule InternalApi.Projecthub.ListKeysetResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:projects, 2, repeated: true, type: InternalApi.Projecthub.Project)
  field(:next_page_token, 3, type: :string, json_name: "nextPageToken")
  field(:previous_page_token, 4, type: :string, json_name: "previousPageToken")
end

defmodule InternalApi.Projecthub.DescribeRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
  field(:name, 3, type: :string)
  field(:detailed, 4, type: :bool)
  field(:soft_deleted, 5, type: :bool, json_name: "softDeleted")
end

defmodule InternalApi.Projecthub.DescribeResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:project, 2, type: InternalApi.Projecthub.Project)
end

defmodule InternalApi.Projecthub.DescribeManyRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:ids, 2, repeated: true, type: :string)
  field(:soft_deleted, 3, type: :bool, json_name: "softDeleted")
end

defmodule InternalApi.Projecthub.DescribeManyResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:projects, 2, repeated: true, type: InternalApi.Projecthub.Project)
end

defmodule InternalApi.Projecthub.CreateRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:project, 2, type: InternalApi.Projecthub.Project)
  field(:skip_onboarding, 3, type: :bool, json_name: "skipOnboarding")
end

defmodule InternalApi.Projecthub.CreateResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:project, 2, type: InternalApi.Projecthub.Project)
end

defmodule InternalApi.Projecthub.UpdateRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:project, 2, type: InternalApi.Projecthub.Project)
  field(:omit_schedulers_and_tasks, 3, type: :bool, json_name: "omitSchedulersAndTasks")
end

defmodule InternalApi.Projecthub.UpdateResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:project, 2, type: InternalApi.Projecthub.Project)
end

defmodule InternalApi.Projecthub.DestroyRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
  field(:name, 3, type: :string)
end

defmodule InternalApi.Projecthub.DestroyResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
end

defmodule InternalApi.Projecthub.RestoreRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
end

defmodule InternalApi.Projecthub.RestoreResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
end

defmodule InternalApi.Projecthub.UsersRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
end

defmodule InternalApi.Projecthub.UsersResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:users, 2, repeated: true, type: InternalApi.User.User)
end

defmodule InternalApi.Projecthub.CheckDeployKeyRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
end

defmodule InternalApi.Projecthub.CheckDeployKeyResponse.DeployKey do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:title, 1, type: :string)
  field(:fingerprint, 2, type: :string)
  field(:created_at, 3, type: Google.Protobuf.Timestamp, json_name: "createdAt")
  field(:public_key, 4, type: :string, json_name: "publicKey")
end

defmodule InternalApi.Projecthub.CheckDeployKeyResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)

  field(:deploy_key, 2,
    type: InternalApi.Projecthub.CheckDeployKeyResponse.DeployKey,
    json_name: "deployKey"
  )
end

defmodule InternalApi.Projecthub.RegenerateDeployKeyRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
end

defmodule InternalApi.Projecthub.RegenerateDeployKeyResponse.DeployKey do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:title, 1, type: :string)
  field(:fingerprint, 2, type: :string)
  field(:created_at, 3, type: Google.Protobuf.Timestamp, json_name: "createdAt")
  field(:public_key, 4, type: :string, json_name: "publicKey")
end

defmodule InternalApi.Projecthub.RegenerateDeployKeyResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)

  field(:deploy_key, 2,
    type: InternalApi.Projecthub.RegenerateDeployKeyResponse.DeployKey,
    json_name: "deployKey"
  )
end

defmodule InternalApi.Projecthub.CheckWebhookRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
end

defmodule InternalApi.Projecthub.CheckWebhookResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:webhook, 2, type: InternalApi.Projecthub.Webhook)
end

defmodule InternalApi.Projecthub.RegenerateWebhookRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
end

defmodule InternalApi.Projecthub.RegenerateWebhookResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:webhook, 2, type: InternalApi.Projecthub.Webhook)
end

defmodule InternalApi.Projecthub.Webhook do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:url, 1, type: :string)
end

defmodule InternalApi.Projecthub.ChangeProjectOwnerRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
  field(:user_id, 3, type: :string, json_name: "userId")
end

defmodule InternalApi.Projecthub.ChangeProjectOwnerResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
end

defmodule InternalApi.Projecthub.ForkAndCreateRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:project, 2, type: InternalApi.Projecthub.Project)
end

defmodule InternalApi.Projecthub.ForkAndCreateResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:project, 2, type: InternalApi.Projecthub.Project)
end

defmodule InternalApi.Projecthub.GithubAppSwitchRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
end

defmodule InternalApi.Projecthub.GithubAppSwitchResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
end

defmodule InternalApi.Projecthub.FinishOnboardingRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
end

defmodule InternalApi.Projecthub.FinishOnboardingResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
end

defmodule InternalApi.Projecthub.RegenerateWebhookSecretRequest do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.RequestMeta)
  field(:id, 2, type: :string)
end

defmodule InternalApi.Projecthub.RegenerateWebhookSecretResponse do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:metadata, 1, type: InternalApi.Projecthub.ResponseMeta)
  field(:secret, 2, type: :string)
end

defmodule InternalApi.Projecthub.ProjectCreated do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:project_id, 1, type: :string, json_name: "projectId")
  field(:timestamp, 2, type: Google.Protobuf.Timestamp)
  field(:org_id, 3, type: :string, json_name: "orgId")
end

defmodule InternalApi.Projecthub.ProjectDeleted do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:project_id, 1, type: :string, json_name: "projectId")
  field(:timestamp, 2, type: Google.Protobuf.Timestamp)
  field(:org_id, 3, type: :string, json_name: "orgId")
end

defmodule InternalApi.Projecthub.ProjectRestored do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:project_id, 1, type: :string, json_name: "projectId")
  field(:timestamp, 2, type: Google.Protobuf.Timestamp)
  field(:org_id, 3, type: :string, json_name: "orgId")
end

defmodule InternalApi.Projecthub.ProjectUpdated do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:project_id, 1, type: :string, json_name: "projectId")
  field(:org_id, 2, type: :string, json_name: "orgId")
  field(:timestamp, 3, type: Google.Protobuf.Timestamp)
end

defmodule InternalApi.Projecthub.CollaboratorsChanged do
  @moduledoc false

  use Protobuf, syntax: :proto3, protoc_gen_elixir_version: "0.12.0"

  field(:project_id, 1, type: :string, json_name: "projectId")
  field(:timestamp, 2, type: Google.Protobuf.Timestamp)
end

defmodule InternalApi.Projecthub.ProjectService.Service do
  @moduledoc false

  use GRPC.Service,
    name: "InternalApi.Projecthub.ProjectService",
    protoc_gen_elixir_version: "0.12.0"

  rpc(:List, InternalApi.Projecthub.ListRequest, InternalApi.Projecthub.ListResponse)

  rpc(
    :ListKeyset,
    InternalApi.Projecthub.ListKeysetRequest,
    InternalApi.Projecthub.ListKeysetResponse
  )

  rpc(:Describe, InternalApi.Projecthub.DescribeRequest, InternalApi.Projecthub.DescribeResponse)

  rpc(
    :DescribeMany,
    InternalApi.Projecthub.DescribeManyRequest,
    InternalApi.Projecthub.DescribeManyResponse
  )

  rpc(:Create, InternalApi.Projecthub.CreateRequest, InternalApi.Projecthub.CreateResponse)

  rpc(:Update, InternalApi.Projecthub.UpdateRequest, InternalApi.Projecthub.UpdateResponse)

  rpc(:Destroy, InternalApi.Projecthub.DestroyRequest, InternalApi.Projecthub.DestroyResponse)

  rpc(:Restore, InternalApi.Projecthub.RestoreRequest, InternalApi.Projecthub.RestoreResponse)

  rpc(:Users, InternalApi.Projecthub.UsersRequest, InternalApi.Projecthub.UsersResponse)

  rpc(
    :CheckDeployKey,
    InternalApi.Projecthub.CheckDeployKeyRequest,
    InternalApi.Projecthub.CheckDeployKeyResponse
  )

  rpc(
    :RegenerateDeployKey,
    InternalApi.Projecthub.RegenerateDeployKeyRequest,
    InternalApi.Projecthub.RegenerateDeployKeyResponse
  )

  rpc(
    :CheckWebhook,
    InternalApi.Projecthub.CheckWebhookRequest,
    InternalApi.Projecthub.CheckWebhookResponse
  )

  rpc(
    :RegenerateWebhook,
    InternalApi.Projecthub.RegenerateWebhookRequest,
    InternalApi.Projecthub.RegenerateWebhookResponse
  )

  rpc(
    :RegenerateWebhookSecret,
    InternalApi.Projecthub.RegenerateWebhookSecretRequest,
    InternalApi.Projecthub.RegenerateWebhookSecretResponse
  )

  rpc(
    :ChangeProjectOwner,
    InternalApi.Projecthub.ChangeProjectOwnerRequest,
    InternalApi.Projecthub.ChangeProjectOwnerResponse
  )

  rpc(
    :ForkAndCreate,
    InternalApi.Projecthub.ForkAndCreateRequest,
    InternalApi.Projecthub.ForkAndCreateResponse
  )

  rpc(
    :GithubAppSwitch,
    InternalApi.Projecthub.GithubAppSwitchRequest,
    InternalApi.Projecthub.GithubAppSwitchResponse
  )

  rpc(
    :FinishOnboarding,
    InternalApi.Projecthub.FinishOnboardingRequest,
    InternalApi.Projecthub.FinishOnboardingResponse
  )
end

defmodule InternalApi.Projecthub.ProjectService.Stub do
  @moduledoc false

  use GRPC.Stub, service: InternalApi.Projecthub.ProjectService.Service
end
