From 7f5907c552b4b7534e91b1d9b49436ab2c54afe4 Mon Sep 17 00:00:00 2001 From: Maxim Lebedev Date: Wed, 27 Sep 2023 22:45:48 +0600 Subject: [PATCH] :label: Created Visibility domain --- internal/domain/visibility.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 internal/domain/visibility.go diff --git a/internal/domain/visibility.go b/internal/domain/visibility.go new file mode 100644 index 0000000..26a52cc --- /dev/null +++ b/internal/domain/visibility.go @@ -0,0 +1,27 @@ +package domain + +// Visibility describes visibility enum. +// +// See: https://indieweb.org/Micropub-extensions#Visibility +type Visibility struct { + visibility string +} + +var ( + VisibilityUnd = Visibility{} + VisibilityPublic = Visibility{"public"} // "public" + VisibilityUnlisted = Visibility{"unlisted"} // "unlisted" + VisibilityPrivate = Visibility{"private"} // "private" +) + +func (v Visibility) String() string { + if v.visibility == "" { + return "und" + } + + return v.visibility +} + +func (v Visibility) GoString() string { + return "domain.Visibility(" + v.String() + ")" +}