2019-01-30 19:33:00 +03: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 13:21:34 +03:00
package structs
2019-01-30 19:33:00 +03:00
2019-12-24 05:33:52 +03:00
import (
"time"
)
2019-03-22 18:38:49 +03: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 19:33:00 +03:00
// CommitMeta contains meta information of a commit in terms of API.
type CommitMeta struct {
URL string ` json:"url" `
SHA string ` json:"sha" `
}
// CommitUser contains information of a user in the context of a commit.
type CommitUser struct {
2019-03-22 18:38:49 +03:00
Identity
Date string ` json:"date" `
2019-01-30 19:33:00 +03: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
HTMLURL string ` json:"html_url" `
RepoCommit * RepoCommit ` json:"commit" `
Author * User ` json:"author" `
Committer * User ` json:"committer" `
Parents [ ] * CommitMeta ` json:"parents" `
}
2019-12-24 05:33:52 +03: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" `
}