Skip to content

Commit

Permalink
No longer using singleton proxy in datatable_rows
Browse files Browse the repository at this point in the history
  • Loading branch information
charliecon committed Oct 10, 2024
1 parent ebfbd52 commit 2f8b775
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ import (
"github.com/mypurecloud/platform-client-sdk-go/v133/platformclientv2"
)

// internalProxy holds a proxy instance that can be used throughout the package
var internalProxy *architectDatatableRowProxy

// Type definitions for each func on our proxy so we can easily mock them out later
type getArchitectDatatableFunc func(ctx context.Context, p *architectDatatableRowProxy, datatableId string, expanded string) (*Datatable, *platformclientv2.APIResponse, error)
type getAllArchitectDatatableFunc func(ctx context.Context, p *architectDatatableRowProxy) (*[]platformclientv2.Datatable, *platformclientv2.APIResponse, error)
Expand All @@ -38,10 +35,13 @@ type architectDatatableRowProxy struct {
dataTableCache rc.CacheInterface[Datatable]
}

var (
dataTableRowCache = rc.NewResourceCache[map[string]interface{}]()
dataTableCache = rc.NewResourceCache[Datatable]()
)

func newArchitectDatatableRowProxy(clientConfig *platformclientv2.Configuration) *architectDatatableRowProxy {
api := platformclientv2.NewArchitectApiWithConfig(clientConfig)
dataTableRowCache := rc.NewResourceCache[map[string]interface{}]()
dataTableCache := rc.NewResourceCache[Datatable]()
return &architectDatatableRowProxy{
clientConfig: clientConfig,
architectApi: api,
Expand All @@ -58,10 +58,7 @@ func newArchitectDatatableRowProxy(clientConfig *platformclientv2.Configuration)
}

func getArchitectDatatableRowProxy(clientConfig *platformclientv2.Configuration) *architectDatatableRowProxy {
if internalProxy == nil {
internalProxy = newArchitectDatatableRowProxy(clientConfig)
}
return internalProxy
return newArchitectDatatableRowProxy(clientConfig)
}

func (p *architectDatatableRowProxy) getArchitectDatatable(ctx context.Context, id string, expanded string) (*Datatable, *platformclientv2.APIResponse, error) {
Expand Down Expand Up @@ -237,5 +234,10 @@ func updateArchitectDatatableRowFn(_ context.Context, p *architectDatatableRowPr
}

func deleteArchitectDatatableRowFn(_ context.Context, p *architectDatatableRowProxy, tableId string, rowId string) (*platformclientv2.APIResponse, error) {
return p.architectApi.DeleteFlowsDatatableRow(tableId, rowId)
resp, err := p.architectApi.DeleteFlowsDatatableRow(tableId, rowId)
if err != nil {
return resp, err
}
rc.DeleteCacheItem(p.dataTableRowCache, tableId+"_"+rowId)
return nil, nil
}
Original file line number Diff line number Diff line change
Expand Up @@ -138,5 +138,10 @@ func getRoutingSkillIdByNameFn(ctx context.Context, p *routingSkillProxy, name s
}

func deleteRoutingSkillFn(ctx context.Context, p *routingSkillProxy, id string) (*platformclientv2.APIResponse, error) {
return p.routingApi.DeleteRoutingSkill(id)
resp, err := p.routingApi.DeleteRoutingSkill(id)
if err != nil {
return resp, err
}
rc.DeleteCacheItem(p.routingSkillCache, id)
return nil, nil
}

0 comments on commit 2f8b775

Please sign in to comment.