gitech

Форк
0
67 строк · 2.2 Кб
1
// Copyright 2019 The Gitea Authors. All rights reserved.
2
// SPDX-License-Identifier: MIT
3

4
package migration
5

6
import "time"
7

8
// Reviewable can be reviewed
9
type Reviewable interface {
10
	GetLocalIndex() int64
11

12
	// GetForeignIndex presents the foreign index, which could be misused:
13
	// For example, if there are 2 Gitea sites: site-A exports a dataset, then site-B imports it:
14
	// * if site-A exports files by using its LocalIndex
15
	// * from site-A's view, LocalIndex is site-A's IssueIndex while ForeignIndex is site-B's IssueIndex
16
	// * but from site-B's view, LocalIndex is site-B's IssueIndex while ForeignIndex is site-A's IssueIndex
17
	//
18
	// So the exporting/importing must be paired, but the meaning of them looks confusing then:
19
	// * either site-A and site-B both use LocalIndex during dumping/restoring
20
	// * or site-A and site-B both use ForeignIndex
21
	GetForeignIndex() int64
22
}
23

24
// enumerate all review states
25
const (
26
	ReviewStatePending          = "PENDING"
27
	ReviewStateApproved         = "APPROVED"
28
	ReviewStateChangesRequested = "CHANGES_REQUESTED"
29
	ReviewStateCommented        = "COMMENTED"
30
	ReviewStateRequestReview    = "REQUEST_REVIEW"
31
)
32

33
// Review is a standard review information
34
type Review struct {
35
	ID           int64
36
	IssueIndex   int64  `yaml:"issue_index"`
37
	ReviewerID   int64  `yaml:"reviewer_id"`
38
	ReviewerName string `yaml:"reviewer_name"`
39
	Official     bool
40
	CommitID     string `yaml:"commit_id"`
41
	Content      string
42
	CreatedAt    time.Time `yaml:"created_at"`
43
	State        string    // PENDING, APPROVED, REQUEST_CHANGES, or COMMENT
44
	Comments     []*ReviewComment
45
}
46

47
// GetExternalName ExternalUserMigrated interface
48
func (r *Review) GetExternalName() string { return r.ReviewerName }
49

50
// GetExternalID ExternalUserMigrated interface
51
func (r *Review) GetExternalID() int64 { return r.ReviewerID }
52

53
// ReviewComment represents a review comment
54
type ReviewComment struct {
55
	ID        int64
56
	InReplyTo int64 `yaml:"in_reply_to"`
57
	Content   string
58
	TreePath  string `yaml:"tree_path"`
59
	DiffHunk  string `yaml:"diff_hunk"`
60
	Position  int
61
	Line      int
62
	CommitID  string `yaml:"commit_id"`
63
	PosterID  int64  `yaml:"poster_id"`
64
	Reactions []*Reaction
65
	CreatedAt time.Time `yaml:"created_at"`
66
	UpdatedAt time.Time `yaml:"updated_at"`
67
}
68

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.