From ecf00fef22c587ba61a078ac1fb0c53411b29471 Mon Sep 17 00:00:00 2001 From: nquidox Date: Wed, 24 Sep 2025 20:28:02 +0300 Subject: [PATCH] origins enum --- internal/api/merch/origins.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 internal/api/merch/origins.go diff --git a/internal/api/merch/origins.go b/internal/api/merch/origins.go new file mode 100644 index 0000000..e29f0dc --- /dev/null +++ b/internal/api/merch/origins.go @@ -0,0 +1,27 @@ +package merch + +import "encoding/json" + +type Origin int + +const ( + surugaya = (iota + 1) * 1000 + mandarake +) + +var Origins = [...]string{ + "surugaya", + "mandarake", +} + +func (o Origin) String() string { + index := (int(o) / 1000) - 1 + if index < 0 || index >= len(Origins) { + return "unknown" + } + return Origins[index] +} + +func (o Origin) MarshalJSON() ([]byte, error) { + return json.Marshal(o.String()) +}