2019-05-07 09:12:51 +08:00
// Copyright 2019 The Gitea Authors. All rights reserved.
// Copyright 2018 Jonas Franz. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
2021-11-16 23:25:33 +08:00
package migration
2019-05-07 09:12:51 +08:00
import "time"
2021-08-22 00:47:45 +02:00
// IssueContext is used to map between local and foreign issue/PR ids.
type IssueContext interface {
LocalID ( ) int64
ForeignID ( ) int64
}
// BasicIssueContext is a 1:1 mapping between local and foreign ids.
type BasicIssueContext int64
// LocalID gets the local id.
func ( c BasicIssueContext ) LocalID ( ) int64 {
return int64 ( c )
}
// ForeignID gets the foreign id.
func ( c BasicIssueContext ) ForeignID ( ) int64 {
return int64 ( c )
}
2019-05-07 09:12:51 +08:00
// Issue is a standard issue information
type Issue struct {
2022-01-26 09:45:51 +00:00
Number int64 ` json:"number" `
PosterID int64 ` yaml:"poster_id" json:"poster_id" `
PosterName string ` yaml:"poster_name" json:"poster_name" `
PosterEmail string ` yaml:"poster_email" json:"poster_email" `
Title string ` json:"title" `
Content string ` json:"content" `
Ref string ` json:"ref" `
Milestone string ` json:"milestone" `
State string ` json:"state" ` // closed, open
IsLocked bool ` yaml:"is_locked" json:"is_locked" `
Created time . Time ` json:"created" `
Updated time . Time ` json:"updated" `
Closed * time . Time ` json:"closed" `
Labels [ ] * Label ` json:"labels" `
Reactions [ ] * Reaction ` json:"reactions" `
Assignees [ ] string ` json:"assignees" `
2021-08-22 00:47:45 +02:00
Context IssueContext ` yaml:"-" `
2019-05-07 09:12:51 +08:00
}