-
Notifications
You must be signed in to change notification settings - Fork 140
/
replication.go
87 lines (81 loc) · 2.91 KB
/
replication.go
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
84
85
86
87
package utils
type replicationBody struct {
Username string `json:"username"`
Password string `json:"password"`
URL string `json:"url"`
CronExp string `json:"cronExp"`
RepoKey string `json:"repoKey"`
EnableEventReplication bool `json:"enableEventReplication"`
SocketTimeoutMillis int `json:"socketTimeoutMillis"`
Enabled bool `json:"enabled"`
SyncDeletes bool `json:"syncDeletes"`
SyncProperties bool `json:"syncProperties"`
SyncStatistics bool `json:"syncStatistics"`
// Deprecated
PathPrefix string `json:"pathPrefix"`
IncludePathPrefixPattern string `json:"includePathPrefixPattern"`
}
type GetReplicationBody struct {
replicationBody
ProxyRef string `json:"proxyRef"`
}
type UpdateReplicationBody struct {
replicationBody
Proxy string `json:"proxy"`
}
type ReplicationParams struct {
Username string
Password string
Url string
CronExp string
// Source replication repository.
RepoKey string
Proxy string
EnableEventReplication bool
SocketTimeoutMillis int
Enabled bool
SyncDeletes bool
SyncProperties bool
SyncStatistics bool
// Deprecated
PathPrefix string
IncludePathPrefixPattern string
}
func CreateUpdateReplicationBody(params ReplicationParams) *UpdateReplicationBody {
return &UpdateReplicationBody{
replicationBody: replicationBody{
Username: params.Username,
Password: params.Password,
URL: params.Url,
CronExp: params.CronExp,
RepoKey: params.RepoKey,
EnableEventReplication: params.EnableEventReplication,
SocketTimeoutMillis: params.SocketTimeoutMillis,
Enabled: params.Enabled,
SyncDeletes: params.SyncDeletes,
SyncProperties: params.SyncProperties,
SyncStatistics: params.SyncStatistics,
PathPrefix: params.PathPrefix,
IncludePathPrefixPattern: params.IncludePathPrefixPattern,
},
Proxy: params.Proxy,
}
}
func CreateReplicationParams(body GetReplicationBody) *ReplicationParams {
return &ReplicationParams{
Username: body.Username,
Password: body.Password,
Url: body.URL,
CronExp: body.CronExp,
RepoKey: body.RepoKey,
Proxy: body.ProxyRef,
EnableEventReplication: body.EnableEventReplication,
SocketTimeoutMillis: body.SocketTimeoutMillis,
Enabled: body.Enabled,
SyncDeletes: body.SyncDeletes,
SyncProperties: body.SyncProperties,
SyncStatistics: body.SyncStatistics,
PathPrefix: body.PathPrefix,
IncludePathPrefixPattern: body.IncludePathPrefixPattern,
}
}