2019-01-30 18:33:00 +02:00
// Copyright 2018 The Gogs Authors. All rights reserved.
// Copyright 2019 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
2019-05-11 18:21:34 +08:00
package structs
2019-01-30 18:33:00 +02:00
2019-12-24 03:33:52 +01:00
import (
"time"
)
2019-03-22 09:38:49 -06:00
// Identity for a person's identity like an author or committer
type Identity struct {
Name string ` json:"name" binding:"MaxSize(100)" `
// swagger:strfmt email
Email string ` json:"email" binding:"MaxSize(254)" `
}
2019-01-30 18:33:00 +02:00
// CommitMeta contains meta information of a commit in terms of API.
type CommitMeta struct {
URL string ` json:"url" `
SHA string ` json:"sha" `
2020-10-05 01:07:54 -03:00
// swagger:strfmt date-time
Created time . Time ` json:"created" `
2019-01-30 18:33:00 +02:00
}
// CommitUser contains information of a user in the context of a commit.
type CommitUser struct {
2019-03-22 09:38:49 -06:00
Identity
Date string ` json:"date" `
2019-01-30 18:33:00 +02:00
}
// RepoCommit contains information of a commit in the context of a repository.
type RepoCommit struct {
URL string ` json:"url" `
Author * CommitUser ` json:"author" `
Committer * CommitUser ` json:"committer" `
Message string ` json:"message" `
Tree * CommitMeta ` json:"tree" `
}
// Commit contains information generated from a Git commit.
type Commit struct {
* CommitMeta
2021-02-07 15:43:40 +01:00
HTMLURL string ` json:"html_url" `
RepoCommit * RepoCommit ` json:"commit" `
Author * User ` json:"author" `
Committer * User ` json:"committer" `
Parents [ ] * CommitMeta ` json:"parents" `
Files [ ] * CommitAffectedFiles ` json:"files" `
2019-01-30 18:33:00 +02:00
}
2019-12-24 03:33:52 +01:00
// CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE
type CommitDateOptions struct {
// swagger:strfmt date-time
Author time . Time ` json:"author" `
// swagger:strfmt date-time
Committer time . Time ` json:"committer" `
}
2021-02-07 15:43:40 +01:00
// CommitAffectedFiles store information about files affected by the commit
type CommitAffectedFiles struct {
Filename string ` json:"filename" `
}