Skip to content

General: Add repository fetching from the Artemis API#8

Merged
az108 merged 19 commits intomainfrom
add-repository-fetching
Nov 18, 2025
Merged

General: Add repository fetching from the Artemis API#8
az108 merged 19 commits intomainfrom
add-repository-fetching

Conversation

@Cathy0123456789
Copy link
Copy Markdown
Collaborator

@Cathy0123456789 Cathy0123456789 commented Nov 16, 2025

Checklist

General

  • I tested all changes and their related features with all corresponding user types.

Server

  • Important: I implemented the changes with a very good performance and prevented too many (unnecessary) and too complex database calls.
  • I strictly followed the principle of data economy for all database calls.
  • I strictly followed the server coding and design guidelines.
  • I documented the Java code using JavaDoc style.

Motivation and Context

Description

  • Fetches team participations of a given Artemis exercise via the Artemis REST API while authenticating via YAML credentials
  • Introduces a Git service (using JGit) to clone or pull student team repositories

Review Progress

Code Review

  • Code Review 1

@Cathy0123456789 Cathy0123456789 changed the title Add repository fetching General: Add repository fetching Nov 17, 2025
@github-actions
Copy link
Copy Markdown
Contributor

🤖 OpenAPI spec and client code auto-updated and committed.

@github-actions
Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

@github-actions
Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

@github-actions
Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

@Cathy0123456789 Cathy0123456789 marked this pull request as ready for review November 18, 2025 15:58
Copy link
Copy Markdown
Collaborator

@az108 az108 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my comments

Comment on lines +26 to +61
public static class Builder {
private ParticipationDTO participation;
private String localPath;
private Integer commitCount;
private Boolean isCloned;
private String error;

public Builder participation(ParticipationDTO participation) {
this.participation = participation;
return this;
}

public Builder localPath(String localPath) {
this.localPath = localPath;
return this;
}

public Builder commitCount(Integer commitCount) {
this.commitCount = commitCount;
return this;
}

public Builder isCloned(Boolean isCloned) {
this.isCloned = isCloned;
return this;
}

return new TeamRepositoryDTO(
teamRepository.getTeamRepositoryId()
);
public Builder error(String error) {
this.error = error;
return this;
}

public TeamRepositoryDTO build() {
return new TeamRepositoryDTO(participation, localPath, commitCount, isCloned, error);
}
}
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

having a static class is not good inside a dto. if we want to keep this then please make an util class instead which uses the TeamRepositoryDTO.

@github-actions
Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

@github-actions
Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

@github-actions
Copy link
Copy Markdown
Contributor

🤖 No OpenAPI or client changes needed.

@az108
Copy link
Copy Markdown
Collaborator

az108 commented Nov 18, 2025

Thanks for implementing the changes, clean code you wrote 💯

@az108 az108 merged commit d91c175 into main Nov 18, 2025
6 checks passed
@Cathy0123456789 Cathy0123456789 deleted the add-repository-fetching branch November 19, 2025 00:08
@az108 az108 changed the title General: Add repository fetching General: Add repository fetching from the Artemis API Nov 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants