diff --git a/.gitignore b/.gitignore index 5b90e79..c4e83b0 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ go.work.sum # env file .env +main diff --git a/internal/migrator/migrator.go b/internal/migrator/migrator.go index 55d7259..151991f 100644 --- a/internal/migrator/migrator.go +++ b/internal/migrator/migrator.go @@ -10,10 +10,21 @@ import ( "vix.ro/sonix/azure_migrate/internal/forgejo" ) +type AzureClient interface { + GetRepositories() ([]azure.Repository, error) + GetAuthenticatedURL(remoteURL, pat string) string +} + +type ForgejoClient interface { + GetUser(username string) (*forgejo.User, error) + RepositoryExists(owner, name string) (bool, error) + CreateMirror(req forgejo.MigrateRequest) (*forgejo.Repository, error) +} + type Migrator struct { config *config.Config - azureClient *azure.Client - forgejoClient *forgejo.Client + azureClient AzureClient + forgejoClient ForgejoClient errors []error mu sync.Mutex }