Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
fbebb6b
feat: adding new graphql query to get file stats
luisaferreirass Nov 28, 2025
25098cc
feat: creating new file data classes
luisaferreirass Nov 28, 2025
b00dfe8
feat: adding new atribute
luisaferreirass Nov 28, 2025
6ccaa8d
feat: creating method to get all files
luisaferreirass Nov 28, 2025
fbb252a
feat: creating new data class
luisaferreirass Nov 28, 2025
2de9cb8
feat: adding new gitlab query executor
luisaferreirass Nov 28, 2025
082ec70
feat: feat: add GitHub changed file data model
luisaferreirass Jun 11, 2026
a4832e5
feat: adding list of FileChanged to GithubCommitInfo
luisaferreirass Jun 11, 2026
e44d91a
feat: implementing getCommitFiles in CommitQueryExecutor
luisaferreirass Jun 11, 2026
8f46258
feat:add GitLab changed file data model
luisaferreirass Jun 11, 2026
f87a46c
feat: add GitLab commit differences data model
luisaferreirass Jun 11, 2026
7a0b91b
feat: implementing getCommitFiles to GitlLabCommitQueryExecutor
luisaferreirass Jun 11, 2026
aa4c7b3
fix: renaming data model to pattern
luisaferreirass Jun 11, 2026
1a69e26
feat: adding documentation comments
luisaferreirass Jun 22, 2026
f305b35
feat: adjusting classes names to pattern and adding documentation com…
luisaferreirass Jun 22, 2026
bf4370a
feat: adjusting github executors to updated class names and adding do…
luisaferreirass Jun 22, 2026
a81df10
feat: adjusting github test to updated class names
luisaferreirass Jun 22, 2026
27bf540
feat: adjusting gitlab class names to pattern and adding documentatio…
luisaferreirass Jun 22, 2026
c2c3b92
feat: adjusting gitlab executors to updated class names and adding do…
luisaferreirass Jun 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,7 @@ public class GitHubCommitInfo {
public Author author;
public Committer committer;
public List<Parent> parents;
public List<GitHubFileChanged> files;

public GitHubCommitInfo() {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package br.com.jadson.snooper.github.data.commit;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
* Information about a file changed in a GitHub commit.
*
* Luisa Ferreira - luisaferreirass08@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class GitHubFileChanged {
public String filename;
public int additions;
public int deletions;
public int changes;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package br.com.jadson.snooper.github.data.repo;

import java.util.List;

/**
* Information about the file tree of a GitHub repository.
*
* Luisa Ferreira - luisaferreirass08@gmail.com
*/
public class GitHubTreeInfo {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

comentar que tipo de informação essa classe retorna

public String sha;
public List<GitHubTreeItem> tree;

/**
* Information about an item in the GitHub repository tree.
* It can represent either a file or a directory.
*
* Luisa Ferreira - luisaferreirass08@gmail.com
*/
public static class GitHubTreeItem {
public String path;
public String type; // "blob" = arquivo, "tree" = diretório
public long size;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,13 @@

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
* Statistics of changes made in a GitHub commit.
*
* Luisa Ferreira - luisaferreirass08@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class CommitStats {
public class GitHubCommitStats {
public int additions;
public int deletions;
public int total;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

import java.util.Date;

/**
* Detailed information and statistics of a commit in GitHub API.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
public class GitHubCommitStatsInfo {
public String sha;
public String nodeId;
Expand All @@ -16,6 +21,6 @@ public class GitHubCommitStatsInfo {
public String committerLogin;
public Date committerDate;
public String message;
public CommitStats commitStats;
public GitHubCommitStats gitHubCommitStats;
public int changedFiles;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package br.com.jadson.snooper.github.data.stats;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
* Churn (number of commits) information of a file in a GitHub repository.
*
* Luisa Ferreira - luisaferreirass08@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class GitHubFileStats {
public String path;
public int churn;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
* Comments information of a GitHub commit returned by the GraphQL API.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class Comments {
public int totalCount;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
* Information about a commit node returned by the GitHub GraphQL API.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class CommitStatsNode {
public String oid;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;


/**
* Data object returned by the GitHub GraphQL API response.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class Data {
public Repository repository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
* Default branch reference returned by the GitHub GraphQL API response.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class DefaultBranchRef {
public Target target;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.util.Date;

/**
* Information about the author or committer of a GitHub commit.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class GitActor {
public User user;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
* Root response returned by the GitHub GraphQL API.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class GraphQLCommitResponse {
public Data data;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,15 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.util.List;


/**
* Commit history returned by the GitHub GraphQL API.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class History {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Comentar que tipo de informação essa classe retorna

public PageInfo pageInfo;
public List<CommitStatsNode> nodes;
public int totalCount;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
* Repository information returned by the GitHub GraphQL API.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class Repository {
public DefaultBranchRef defaultBranchRef;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
* Target object returned by the GitHub GraphQL API.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class Target {
public History history;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
* GitHub user information returned by the GitHub GraphQL API.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class User {
public String url;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,27 +1,33 @@
package br.com.jadson.snooper.github.data.stats.mapper;

import br.com.jadson.snooper.github.data.stats.CommitStats;
import br.com.jadson.snooper.github.data.stats.GitHubCommitStats;
import br.com.jadson.snooper.github.data.stats.GitHubCommitStatsInfo;
import br.com.jadson.snooper.github.data.stats.graphql.CommitStatsNode;

/**
* Mapper responsible for converting GitHub GraphQL commit statistics
* into internal commit statistics information.
*
* Yuri Filgueira - yurimedeiros141@gmail.com
*/
public class GitHubCommitStatsMapper {

public static GitHubCommitStatsInfo mapToCommitStatsInfo(CommitStatsNode node) {

GitHubCommitStatsInfo commitStatsInfo = new GitHubCommitStatsInfo();
CommitStats commitStats = new CommitStats();
GitHubCommitStats gitHubCommitStats = new GitHubCommitStats();

commitStatsInfo.sha = node.oid;
commitStatsInfo.nodeId = node.id;
commitStatsInfo.url = node.url;
commitStatsInfo.commentCount = node.comments.totalCount;
commitStatsInfo.message = node.message;

commitStats.additions = node.additions;
commitStats.deletions = node.deletions;
commitStats.total = (node.additions + node.deletions);
gitHubCommitStats.additions = node.additions;
gitHubCommitStats.deletions = node.deletions;
gitHubCommitStats.total = (node.additions + node.deletions);

commitStatsInfo.commitStats = commitStats;
commitStatsInfo.gitHubCommitStats = gitHubCommitStats;
commitStatsInfo.changedFiles = node.changedFiles;

if (node.author != null) {
Expand Down
Loading
Loading