Consolidate Reasoner implementations (#4469)

Remove other implementation of Reasoner in the
selector package since it's a duplicate of the
one that's in the identity package

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [x] 💚 E2E
This commit is contained in:
ashmrtn 2023-10-11 15:04:16 -07:00 committed by GitHub
parent 84b9de96ef
commit c07b14c859
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8,45 +8,11 @@ import (
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/corso/src/pkg/path"
) )
// --------------------------------------------------------------------------- func key(br identity.Reasoner) string {
// reasoner interface compliance return br.Category().String() +
// --------------------------------------------------------------------------- br.ProtectedResource() +
br.Service().String() +
var _ identity.Reasoner = &backupReason{} br.Tenant()
type backupReason struct {
category path.CategoryType
resource string
service path.ServiceType
tenant string
}
func (br backupReason) Tenant() string {
return br.tenant
}
func (br backupReason) ProtectedResource() string {
return br.resource
}
func (br backupReason) Service() path.ServiceType {
return br.service
}
func (br backupReason) Category() path.CategoryType {
return br.category
}
func (br backupReason) SubtreePath() (path.Path, error) {
return path.BuildPrefix(
br.tenant,
br.resource,
br.service,
br.category)
}
func (br backupReason) key() string {
return br.category.String() + br.resource + br.service.String() + br.tenant
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -76,14 +42,8 @@ func reasonsFor(
for _, sl := range [][]path.CategoryType{pc.Includes, pc.Filters} { for _, sl := range [][]path.CategoryType{pc.Includes, pc.Filters} {
for _, cat := range sl { for _, cat := range sl {
br := backupReason{ br := identity.NewReason(tenantID, resource, service, cat)
category: cat, reasons[key(br)] = br
resource: resource,
service: service,
tenant: tenantID,
}
reasons[br.key()] = br
} }
} }