package unarchive import ( "net/http" "github.com/cli/cli/v2/api" "github.com/shurcooL/githubv4" ) func unarchiveRepo(client *http.Client, repo *api.Repository) error { var mutation struct { UnarchiveRepository struct { Repository struct { ID string } } `graphql:"unarchiveRepository(input: $input)"` } variables := map[string]interface{}{ "input": githubv4.UnarchiveRepositoryInput{ RepositoryID: repo.ID, }, } gql := api.NewClientFromHTTP(client) err := gql.Mutate(repo.RepoHost(), "UnarchiveRepository", &mutation, variables) return err }