mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-02-13 02:42:45 +00:00
feat(#200): save the commit date of the anonymized commit
This commit is contained in:
@@ -191,9 +191,10 @@ export default class Repository {
|
||||
) {
|
||||
// Only GitHubBase can be update for the moment
|
||||
if (this.source instanceof GitHubBase) {
|
||||
const token = await this.source.getToken();
|
||||
const branches = await this.source.githubRepository.branches({
|
||||
force: true,
|
||||
accessToken: await this.source.getToken(),
|
||||
accessToken: token,
|
||||
});
|
||||
const branch = this.source.branch;
|
||||
const newCommit = branches.filter((f) => f.name == branch.name)[0]
|
||||
@@ -203,6 +204,17 @@ export default class Repository {
|
||||
return;
|
||||
}
|
||||
this._model.source.commit = newCommit;
|
||||
const commitInfo = await this.source.githubRepository.getCommitInfo(
|
||||
newCommit,
|
||||
{
|
||||
accessToken: token,
|
||||
}
|
||||
);
|
||||
if (commitInfo.commit.author?.date) {
|
||||
this._model.source.commitDate = new Date(
|
||||
commitInfo.commit.author?.date
|
||||
);
|
||||
}
|
||||
branch.commit = newCommit;
|
||||
|
||||
if (!newCommit) {
|
||||
|
||||
@@ -25,6 +25,7 @@ const AnonymizedRepositorySchema = new Schema({
|
||||
type: { type: String },
|
||||
branch: String,
|
||||
commit: String,
|
||||
commitDate: Date,
|
||||
repositoryId: String,
|
||||
repositoryName: String,
|
||||
accessToken: String,
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface IAnonymizedRepository {
|
||||
type: "GitHubDownload" | "GitHubStream" | "Zip";
|
||||
branch?: string;
|
||||
commit?: string;
|
||||
commitDate?: Date,
|
||||
repositoryId?: string;
|
||||
repositoryName?: string;
|
||||
accessToken?: string;
|
||||
|
||||
@@ -153,7 +153,9 @@ router.get(
|
||||
res.json({
|
||||
url: redirectURL,
|
||||
download,
|
||||
lastUpdateDate: repo.model.statusDate,
|
||||
lastUpdateDate: repo.model.source.commitDate
|
||||
? repo.model.source.commitDate
|
||||
: repo.model.anonymizeDate,
|
||||
});
|
||||
} catch (error) {
|
||||
handleError(error, res, req);
|
||||
|
||||
@@ -44,6 +44,21 @@ export class GitHubRepository {
|
||||
return this._data.size;
|
||||
}
|
||||
|
||||
async getCommitInfo(
|
||||
sha: string,
|
||||
opt: {
|
||||
accessToken?: string;
|
||||
}
|
||||
) {
|
||||
const octokit = new Octokit({ auth: opt.accessToken });
|
||||
const commit = await octokit.repos.getCommit({
|
||||
owner: this.owner,
|
||||
repo: this.repo,
|
||||
ref: sha,
|
||||
});
|
||||
return commit.data;
|
||||
}
|
||||
|
||||
async branches(opt: {
|
||||
accessToken?: string;
|
||||
force?: boolean;
|
||||
|
||||
Reference in New Issue
Block a user