aboutsummaryrefslogtreecommitdiffsponsor
path: root/internal/service/mirror.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/service/mirror.go')
-rw-r--r--internal/service/mirror.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/internal/service/mirror.go b/internal/service/mirror.go
new file mode 100644
index 0000000..12aaa79
--- /dev/null
+++ b/internal/service/mirror.go
@@ -0,0 +1,27 @@
+package service
+
+import (
+ "bytes"
+
+ "git.server.ky/slackcoder/mirror/internal"
+ "github.com/BurntSushi/toml"
+)
+
+type Mirror struct {
+ Method string `toml:"method,omitempty"`
+ From *internal.URL `toml:"from,omitempty"`
+ To *internal.URL `toml:"to,omitempty"`
+ Description string `toml:"description,omitempty"`
+}
+
+func (m *Mirror) Equal(arg *Mirror) bool {
+ return m.Method == arg.Method && m.From.String() == arg.From.String() && m.To.String() == arg.To.String()
+}
+
+func (m *Mirror) String() string {
+ var buf bytes.Buffer
+
+ toml.NewEncoder(&buf).Encode(m)
+
+ return buf.String()
+}