using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Reactive;
namespace Octokit.Reactive
{
///
/// An interface for GitHub's Migrations API client.
///
///
/// See the docs
/// for more information.
///
public interface IObservableMigrationsClient
{
///
/// Starts a new migration specified for the given organization.
///
///
/// https://developer.github.com/v3/migration/migrations/#start-a-migration
///
/// The organization for which to start a migration.
/// Specifies parameters for the migration in a
/// object.
/// The started migration.
IObservable Start(
string org,
StartMigrationRequest migration);
///
/// Gets the list of the most recent migrations of the organization.
///
///
/// https://developer.github.com/v3/migration/migrations/#get-a-list-of-migrations
///
/// The organization of which to list migrations.
/// List of most recent s.
IObservable GetAll(
string org);
///
/// Gets the list of the most recent migrations of the organization.
///
///
/// https://developer.github.com/v3/migration/migrations/#get-a-list-of-migrations
///
/// The organization of which to list migrations.
/// Options for changing the API response
/// List of most recent s.
IObservable GetAll(
string org,
ApiOptions options);
///
/// Get the status of a migration.
///
///
/// https://developer.github.com/v3/migration/migrations/#get-the-status-of-a-migration
///
/// The organization which is migrating.
/// Migration Id of the organization.
/// A object representing the state of migration.
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get")]
IObservable Get(
string org,
long id);
///
/// Get the migration archive.
///
///
/// https://developer.github.com/v3/migration/migrations/#download-a-migration-archive
///
/// The organization of which the migration was.
/// The Id of the migration.
/// The binary contents of the archive as a byte array.
IObservable GetArchive(
string org,
long id);
///
/// Deletes a previous migration archive.
///
///
/// https://developer.github.com/v3/migration/migrations/#delete-a-migration-archive
///
/// The organization of which the migration was.
/// The Id of the migration.
///
IObservable DeleteArchive(
string org,
long id);
///
/// Unlocks a repository that was locked for migration.
///
///
/// https://developer.github.com/v3/migration/migrations/#unlock-a-repository
///
/// The organization of which the migration was.
/// The Id of the migration.
/// The repo to unlock.
///
IObservable UnlockRepository(
string org,
long id,
string repo);
}
}