From bd5ddea6e4a7e7fcbeff05f75924c938e79e8b84 Mon Sep 17 00:00:00 2001 From: Jim Date: Mon, 11 May 2020 10:31:15 -0400 Subject: [PATCH] refactor clonable to not rely on the resource interface (#36) --- internal/db/read_writer.go | 2 +- internal/iam/resource.go | 4 ++-- internal/iam/scope.go | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/db/read_writer.go b/internal/db/read_writer.go index ed6baacc3e..68cd5de5e2 100644 --- a/internal/db/read_writer.go +++ b/internal/db/read_writer.go @@ -105,7 +105,7 @@ type GormReadWriter struct { Tx *gorm.DB } -// ensure that GroupRole implements the interfaces of: Resource, ClonableResource, AssignedRole and db.VetForWriter +// ensure that GormReadWriter implements the interfaces of: Reader and Writer var _ Reader = (*GormReadWriter)(nil) var _ Writer = (*GormReadWriter)(nil) diff --git a/internal/iam/resource.go b/internal/iam/resource.go index 570fd06d1c..f23ed0244f 100644 --- a/internal/iam/resource.go +++ b/internal/iam/resource.go @@ -71,8 +71,8 @@ func (r ResourceType) String() string { }[r] } -type ClonableResource interface { - Clone() Resource +type Clonable interface { + Clone() interface{} } // ResourceWithScope defines an interface for Resources that have a scope diff --git a/internal/iam/scope.go b/internal/iam/scope.go index f071c8f77f..4c7bcc3c39 100644 --- a/internal/iam/scope.go +++ b/internal/iam/scope.go @@ -40,7 +40,7 @@ type Scope struct { // ensure that Scope implements the interfaces of: Resource, ClonableResource, and db.VetForWriter var _ Resource = (*Scope)(nil) var _ db.VetForWriter = (*Scope)(nil) -var _ ClonableResource = (*Scope)(nil) +var _ Clonable = (*Scope)(nil) func NewOrganization(opt ...Option) (*Scope, error) { return newScope(OrganizationScope, opt...) @@ -114,7 +114,7 @@ func allocScope() Scope { } // Clone creates a clone of the Scope -func (s *Scope) Clone() Resource { +func (s *Scope) Clone() interface{} { cp := proto.Clone(s.Scope) return &Scope{ Scope: cp.(*store.Scope),