You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.3 KiB
47 lines
1.3 KiB
package migrations
|
|
|
|
import "code.gitea.io/sdk/gitea"
|
|
|
|
// MigratoryStage represents the actual step in the process
|
|
type MigratoryStage int
|
|
|
|
const (
|
|
// Importing imports the repo to Gitea
|
|
Importing MigratoryStage = iota
|
|
// Migrating migrates issues, etc to Gitea
|
|
Migrating
|
|
// Finished means that everything is migrated successfully
|
|
Finished
|
|
// Failed is only entered if a fatal error occurs
|
|
Failed
|
|
)
|
|
|
|
// Migratory is the context for migrating things from GitHub to Gitea
|
|
type Migratory struct {
|
|
Options
|
|
Client *gitea.Client
|
|
|
|
Status *MigratoryStatus
|
|
|
|
repository *gitea.Repository
|
|
// key: github milestone id | value: gitea milestone id
|
|
migratedMilestones map[int64]int64
|
|
// key: github label id | value: gitea label id
|
|
migratedLabels map[int64]int64
|
|
}
|
|
|
|
// MigratoryStatus represents the actual state of a migratory
|
|
type MigratoryStatus struct {
|
|
Stage MigratoryStage `json:"stage"`
|
|
|
|
Issues int64 `json:"total_issues"`
|
|
IssuesMigrated int64 `json:"migrated_issues"`
|
|
IssuesError int64 `json:"failed_issues"`
|
|
|
|
Comments int64 `json:"total_comments"`
|
|
CommentsError int64 `json:"failed_comments"`
|
|
CommentsMigrated int64 `json:"migrated_comments"`
|
|
|
|
// FatalError should only be used if stage == failed; indicates which fatal error occurred
|
|
FatalError error
|
|
}
|
|
|