refact(action): Make ActionSet behave as a set instead of a list

This switches the implementation of an ActionSet from a slice to a map
to ensure the elements in an ActionSet are unique. This allows for other
packages to perform set operations such as a union or difference without
needing to account for duplicates.
This commit is contained in:
Timothy Messier committed 2023-12-04 16:20:29 +00:00
1 parent bee45dc486
commit c52caae345
52 files changed
+1401 -274

No files matched your search

@@ -64,14 +64,15 @@ const (
var (
// IdActions contains the set of actions that can be performed on
// individual resources
// This will be set in init functions in files for each subtype in this package.
IdActions = make(map[globals.Subtype]action.ActionSet)
// CollectionActions contains the set of actions that can be performed on
// this collection
CollectionActions = action.ActionSet{
CollectionActions = action.NewActionSet(
action.Create,
action.List,
}
)
collectionTypeMap = map[resource.Type]action.ActionSet{
resource.Account: accounts.CollectionActions,