Use the Repository AttributedTo to get owner IRI

This commit is contained in:
Anthony Wang 2022-08-22 12:09:26 -05:00
parent f1e61af242
commit ee85f7d957
No known key found for this signature in database
GPG Key ID: BC96B00AEC5F2D76
2 changed files with 1 additions and 18 deletions

View File

@ -77,17 +77,3 @@ func repositoryIRIToRepository(ctx context.Context, repoIRI ap.IRI) (*repo_model
// TODO: create remote repo if not exists
return repo_model.GetRepositoryByOwnerAndName(username, reponame)
}
// Returns the IRI of the owner of a Repository actor IRI
func repositoryIRIToOwnerIRI(repoIRI ap.IRI) (ap.IRI, error) {
r := repoIRI.String()
rSplit := strings.Split(r, "/")
if len(rSplit) < 5 {
return "", errors.New("not a Repository actor IRI")
}
username := rSplit[len(rSplit)-2]
reponame := rSplit[len(rSplit)-1]
ownerIRI := ap.IRI(strings.TrimSuffix(r, "repo/"+username+"/"+reponame) + "user/" + username)
return ownerIRI, nil
}

View File

@ -14,10 +14,7 @@ import (
// Create a new federated repo from a Repository object
func FederatedRepoNew(ctx context.Context, repository *forgefed.Repository) error {
ownerIRI, err := repositoryIRIToOwnerIRI(repository.GetLink())
if err != nil {
return err
}
ownerIRI := repository.AttributedTo.GetLink()
user, err := personIRIToUser(ctx, ownerIRI)
if err != nil {
return err