diff options
| author | mo khan <mo@mokhan.ca> | 2025-05-24 00:08:00 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-05-24 00:08:00 -0600 |
| commit | a8e47145f93f07740d751be37d450599b26b2fc8 (patch) | |
| tree | 3d8fdd7f7fcbda853cf1f42b4a5d96df57c3d71d /app/domain | |
| parent | 1ab4de8ec28d4fdd46cd9b3e246eea4a85ca6b6c (diff) | |
feat: create middleware to check if user has permission
Diffstat (limited to 'app/domain')
| -rw-r--r-- | app/domain/entity.go | 3 | ||||
| -rw-r--r-- | app/domain/identifiable.go | 7 | ||||
| -rw-r--r-- | app/domain/sparkle.go | 4 | ||||
| -rw-r--r-- | app/domain/user.go | 4 |
4 files changed, 16 insertions, 2 deletions
diff --git a/app/domain/entity.go b/app/domain/entity.go index fb1cab8..0377c51 100644 --- a/app/domain/entity.go +++ b/app/domain/entity.go @@ -1,7 +1,6 @@ package domain type Entity interface { - GetID() ID - SetID(id ID) error + Identifiable Validate() error } diff --git a/app/domain/identifiable.go b/app/domain/identifiable.go new file mode 100644 index 0000000..8fbc1e4 --- /dev/null +++ b/app/domain/identifiable.go @@ -0,0 +1,7 @@ +package domain + +type Identifiable interface { + GetID() ID + SetID(id ID) error + ToGID() string +} diff --git a/app/domain/sparkle.go b/app/domain/sparkle.go index 68aed67..d4f70b2 100644 --- a/app/domain/sparkle.go +++ b/app/domain/sparkle.go @@ -49,6 +49,10 @@ func (s *Sparkle) SetID(id ID) error { return nil } +func (s *Sparkle) ToGID() string { + return "gid://sparkle/Sparkle/" + s.ID.String() +} + func (s *Sparkle) Validate() error { if s.Sparklee == "" { return SparkleeIsRequired diff --git a/app/domain/user.go b/app/domain/user.go index aae17f6..02ddd26 100644 --- a/app/domain/user.go +++ b/app/domain/user.go @@ -32,3 +32,7 @@ func (self *User) Sparkle(sparklee string, reason string) *Sparkle { Reason: reason, } } + +func (self *User) ToGID() string { + return "gid://sparkle/User/" + self.ID.String() +} |
