๐Ÿ“ฆ situ2001 / gitea-bulk-migration

๐Ÿ“„ enum.go ยท 84 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84package common

import "fmt"

type DuplicationStrategyType string

const (
	DuplicationStrategySkip      DuplicationStrategyType = "skip"
	DuplicationStrategyOverwrite DuplicationStrategyType = "overwrite"
	DuplicationStrategyAbort     DuplicationStrategyType = "abort"
)

func (d *DuplicationStrategyType) String() string {
	return string(*d)
}

func (d *DuplicationStrategyType) Set(value string) error {
	switch value {
	case string(DuplicationStrategySkip), string(DuplicationStrategyOverwrite), string(DuplicationStrategyAbort):
		*d = DuplicationStrategyType(value)
		return nil
	default:
		return fmt.Errorf("invalid value for DuplicationStrategyType: %s", value)
	}
}

func (d *DuplicationStrategyType) Type() string {
	return "DuplicationStrategyType"
}

// DuplicationOnNonMirrorStrategyType defines the strategy for handling non-mirror repo duplication
type DuplicationOnNonMirrorStrategyType string

const (
	DuplicationOnNonMirrorStrategySkip      DuplicationOnNonMirrorStrategyType = "skip"
	DuplicationOnNonMirrorStrategyOverwrite DuplicationOnNonMirrorStrategyType = "overwrite"
	DuplicationOnNonMirrorStrategyAbort     DuplicationOnNonMirrorStrategyType = "abort"
)

func (d *DuplicationOnNonMirrorStrategyType) String() string {
	return string(*d)
}

func (d *DuplicationOnNonMirrorStrategyType) Set(value string) error {
	switch value {
	case string(DuplicationOnNonMirrorStrategySkip), string(DuplicationOnNonMirrorStrategyOverwrite), string(DuplicationOnNonMirrorStrategyAbort):
		*d = DuplicationOnNonMirrorStrategyType(value)
		return nil
	default:
		return fmt.Errorf("invalid value for DuplicationOnNonMirrorStrategyType: %s", value)
	}
}

func (d *DuplicationOnNonMirrorStrategyType) Type() string {
	return "DuplicationOnNonMirrorStrategyType"
}

// DeletedRepoStrategyType defines the strategy for handling deleted repos
type DeletedRepoStrategyType string

const (
	DeletedRepoStrategySkip   DeletedRepoStrategyType = "skip"
	DeletedRepoStrategyDelete DeletedRepoStrategyType = "delete"
	DeletedRepoStrategyAbort  DeletedRepoStrategyType = "abort"
)

func (d *DeletedRepoStrategyType) String() string {
	return string(*d)
}

func (d *DeletedRepoStrategyType) Set(value string) error {
	switch value {
	case string(DeletedRepoStrategySkip), string(DeletedRepoStrategyDelete), string(DeletedRepoStrategyAbort):
		*d = DeletedRepoStrategyType(value)
		return nil
	default:
		return fmt.Errorf("invalid value for DeletedRepoStrategyType: %s", value)
	}
}

func (d *DeletedRepoStrategyType) Type() string {
	return "DeletedRepoStrategyType"
}