From 448728c1f844529087754bc86a7de584dcca7dc3 Mon Sep 17 00:00:00 2001 From: Bryan Frimin Date: Thu, 1 May 2025 07:59:30 -0700 Subject: [PATCH] Refactor ID generarion Signed-off-by: Bryan Frimin --- pkg/probo/connector_service.go | 8 ++--- pkg/probo/evidence_service.go | 13 ++------ pkg/probo/framework_service.go | 23 ++++---------- pkg/probo/mesure_service.go | 20 +++---------- pkg/probo/organization_service.go | 7 ++--- pkg/probo/people_service.go | 7 ++--- pkg/probo/policy_service.go | 30 +++++-------------- pkg/probo/risk_service.go | 7 ++--- pkg/probo/task_service.go | 5 +--- pkg/probo/vendor_compliance_report_service.go | 5 +--- pkg/probo/vendor_service.go | 14 +++------ 11 files changed, 34 insertions(+), 105 deletions(-) diff --git a/pkg/probo/connector_service.go b/pkg/probo/connector_service.go index f1886e5bd..f8d7a8cd7 100644 --- a/pkg/probo/connector_service.go +++ b/pkg/probo/connector_service.go @@ -87,11 +87,7 @@ func (s *ConnectorService) CreateOrUpdate( return nil, fmt.Errorf("connection configuration is required") } - connectorID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.ConnectorEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create connector global id: %w", err) - } - + connectorID := gid.New(s.svc.scope.GetTenantID(), coredata.ConnectorEntityType) now := time.Now() connector := &coredata.Connector{ @@ -104,7 +100,7 @@ func (s *ConnectorService) CreateOrUpdate( UpdatedAt: now, } - err = s.svc.pg.WithConn( + err := s.svc.pg.WithConn( ctx, func(conn pg.Conn) error { if err := connector.Upsert(ctx, conn, s.svc.scope, s.svc.encryptionKey); err != nil { diff --git a/pkg/probo/evidence_service.go b/pkg/probo/evidence_service.go index 753b74c11..5fd7a600a 100644 --- a/pkg/probo/evidence_service.go +++ b/pkg/probo/evidence_service.go @@ -85,11 +85,7 @@ func (s EvidenceService) Request( ctx context.Context, req RequestEvidenceRequest, ) (*coredata.Evidence, error) { - evidenceID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.EvidenceEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create evidence global id: %w", err) - } - + evidenceID := gid.New(s.svc.scope.GetTenantID(), coredata.EvidenceEntityType) now := time.Now() evidence := &coredata.Evidence{ @@ -103,7 +99,7 @@ func (s EvidenceService) Request( UpdatedAt: now, } - err = s.svc.pg.WithConn( + err := s.svc.pg.WithConn( ctx, func(conn pg.Conn) error { return evidence.Insert(ctx, conn, s.svc.scope) @@ -192,10 +188,7 @@ func (s EvidenceService) Create( req CreateEvidenceRequest, ) (*coredata.Evidence, error) { now := time.Now() - evidenceID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.EvidenceEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create evidence global id: %w", err) - } + evidenceID := gid.New(s.svc.scope.GetTenantID(), coredata.EvidenceEntityType) referenceID, err := uuid.NewV4() if err != nil { diff --git a/pkg/probo/framework_service.go b/pkg/probo/framework_service.go index 2ed9aa305..c5cf5ed59 100644 --- a/pkg/probo/framework_service.go +++ b/pkg/probo/framework_service.go @@ -61,10 +61,7 @@ func (s FrameworkService) Create( req CreateFrameworkRequest, ) (*coredata.Framework, error) { now := time.Now() - frameworkID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.FrameworkEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create global id: %w", err) - } + frameworkID := gid.New(s.svc.scope.GetTenantID(), coredata.FrameworkEntityType) framework := &coredata.Framework{ ID: frameworkID, @@ -76,7 +73,7 @@ func (s FrameworkService) Create( UpdatedAt: now, } - err = s.svc.pg.WithConn( + err := s.svc.pg.WithConn( ctx, func(conn pg.Conn) error { return framework.Insert(ctx, conn, s.svc.scope) @@ -187,10 +184,7 @@ func (s FrameworkService) Import( organizationID gid.GID, req ImportFrameworkRequest, ) (*coredata.Framework, error) { - frameworkID, err := gid.NewGID(organizationID.TenantID(), coredata.FrameworkEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create global id: %w", err) - } + frameworkID := gid.New(organizationID.TenantID(), coredata.FrameworkEntityType) now := time.Now() framework := &coredata.Framework{ @@ -204,10 +198,7 @@ func (s FrameworkService) Import( importedControls := coredata.Controls{} for _, control := range req.Framework.Controls { - controlID, err := gid.NewGID(organizationID.TenantID(), coredata.ControlEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create global id: %w", err) - } + controlID := gid.New(organizationID.TenantID(), coredata.ControlEntityType) now := time.Now() control := &coredata.Control{ @@ -224,12 +215,10 @@ func (s FrameworkService) Import( importedControls = append(importedControls, control) } - err = s.svc.pg.WithTx( + err := s.svc.pg.WithTx( ctx, func(tx pg.Conn) error { - - err := framework.Insert(ctx, tx, s.svc.scope) - if err != nil { + if err := framework.Insert(ctx, tx, s.svc.scope); err != nil { return fmt.Errorf("cannot insert framework: %w", err) } diff --git a/pkg/probo/mesure_service.go b/pkg/probo/mesure_service.go index 81959d1c1..b72514b4f 100644 --- a/pkg/probo/mesure_service.go +++ b/pkg/probo/mesure_service.go @@ -144,10 +144,7 @@ func (s MeasureService) Import( for i := range req.Measures { now := time.Now() - measureID, err := gid.NewGID(organizationID.TenantID(), coredata.MeasureEntityType) - if err != nil { - return fmt.Errorf("cannot create global id: %w", err) - } + measureID := gid.New(organizationID.TenantID(), coredata.MeasureEntityType) measure := &coredata.Measure{ ID: measureID, @@ -168,10 +165,7 @@ func (s MeasureService) Import( } for j := range req.Measures[i].Tasks { - taskID, err := gid.NewGID(organizationID.TenantID(), coredata.TaskEntityType) - if err != nil { - return fmt.Errorf("cannot create global id: %w", err) - } + taskID := gid.New(organizationID.TenantID(), coredata.TaskEntityType) task := &coredata.Task{ ID: taskID, @@ -189,10 +183,7 @@ func (s MeasureService) Import( } for k := range req.Measures[i].Tasks[j].RequestedEvidences { - evidenceID, err := gid.NewGID(organizationID.TenantID(), coredata.EvidenceEntityType) - if err != nil { - return fmt.Errorf("cannot create global id: %w", err) - } + evidenceID := gid.New(organizationID.TenantID(), coredata.EvidenceEntityType) evidence := &coredata.Evidence{ State: coredata.EvidenceStateRequested, @@ -332,10 +323,7 @@ func (s MeasureService) Create( req CreateMeasureRequest, ) (*coredata.Measure, error) { now := time.Now() - measureID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.MeasureEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create measure global id: %w", err) - } + measureID := gid.New(s.svc.scope.GetTenantID(), coredata.MeasureEntityType) referenceID, err := uuid.NewV4() if err != nil { diff --git a/pkg/probo/organization_service.go b/pkg/probo/organization_service.go index c95b347c9..6ee00d69d 100644 --- a/pkg/probo/organization_service.go +++ b/pkg/probo/organization_service.go @@ -50,10 +50,7 @@ func (s OrganizationService) Create( req CreateOrganizationRequest, ) (*coredata.Organization, error) { now := time.Now() - organizationID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.OrganizationEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create organization global id: %w", err) - } + organizationID := gid.New(s.svc.scope.GetTenantID(), coredata.OrganizationEntityType) organization := &coredata.Organization{ ID: organizationID, @@ -63,7 +60,7 @@ func (s OrganizationService) Create( UpdatedAt: now, } - err = s.svc.pg.WithConn( + err := s.svc.pg.WithConn( ctx, func(tx pg.Conn) error { if err := organization.Insert(ctx, tx); err != nil { diff --git a/pkg/probo/people_service.go b/pkg/probo/people_service.go index bb7bddff6..3abb06946 100644 --- a/pkg/probo/people_service.go +++ b/pkg/probo/people_service.go @@ -165,10 +165,7 @@ func (s PeopleService) Create( req CreatePeopleRequest, ) (*coredata.People, error) { now := time.Now() - peopleID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.PeopleEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create people global id: %w", err) - } + peopleID := gid.New(s.svc.scope.GetTenantID(), coredata.PeopleEntityType) organization := &coredata.Organization{} people := &coredata.People{ @@ -183,7 +180,7 @@ func (s PeopleService) Create( UpdatedAt: now, } - err = s.svc.pg.WithTx( + err := s.svc.pg.WithTx( ctx, func(conn pg.Conn) error { if err := organization.LoadByID(ctx, conn, s.svc.scope, req.OrganizationID); err != nil { diff --git a/pkg/probo/policy_service.go b/pkg/probo/policy_service.go index 1993440ad..15d257103 100644 --- a/pkg/probo/policy_service.go +++ b/pkg/probo/policy_service.go @@ -124,15 +124,8 @@ func (s *PolicyService) Create( req CreatePolicyRequest, ) (*coredata.Policy, *coredata.PolicyVersion, error) { now := time.Now() - policyID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.PolicyEntityType) - if err != nil { - return nil, nil, fmt.Errorf("cannot create policy global id: %w", err) - } - - policyVersionID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.PolicyVersionEntityType) - if err != nil { - return nil, nil, fmt.Errorf("cannot create policy version global id: %w", err) - } + policyID := gid.New(s.svc.scope.GetTenantID(), coredata.PolicyEntityType) + policyVersionID := gid.New(s.svc.scope.GetTenantID(), coredata.PolicyVersionEntityType) policy := &coredata.Policy{ ID: policyID, @@ -153,7 +146,7 @@ func (s *PolicyService) Create( CreatedAt: now, UpdatedAt: now, } - err = s.svc.pg.WithTx( + err := s.svc.pg.WithTx( ctx, func(conn pg.Conn) error { if err := policy.Insert(ctx, conn, s.svc.scope); err != nil { @@ -235,10 +228,7 @@ func (s *PolicyService) SendSigningNotifications( for _, people := range peoples { now := time.Now() - emailID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.EmailEntityType) - if err != nil { - return fmt.Errorf("cannot create email global id: %w", err) - } + emailID := gid.New(s.svc.scope.GetTenantID(), coredata.EmailEntityType) token, err := statelesstoken.NewToken( s.svc.tokenSecret, @@ -398,10 +388,7 @@ func (s *PolicyService) RequestSignature( ctx context.Context, req RequestSignatureRequest, ) (*coredata.PolicyVersionSignature, error) { - policyVersionSignatureID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.PolicyVersionSignatureEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create policy version signature global id: %w", err) - } + policyVersionSignatureID := gid.New(s.svc.scope.GetTenantID(), coredata.PolicyVersionSignatureEntityType) policyVersion, err := s.GetVersion(ctx, req.PolicyVersionID) if err != nil { @@ -469,16 +456,13 @@ func (s *PolicyService) CreateDraft( policyID gid.GID, createdBy gid.GID, ) (*coredata.PolicyVersion, error) { - draftVersionID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.PolicyVersionEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create policy version global id: %w", err) - } + draftVersionID := gid.New(s.svc.scope.GetTenantID(), coredata.PolicyVersionEntityType) latestVersion := &coredata.PolicyVersion{} draftVersion := &coredata.PolicyVersion{} now := time.Now() - err = s.svc.pg.WithTx( + err := s.svc.pg.WithTx( ctx, func(conn pg.Conn) error { if err := latestVersion.LoadLatestVersion(ctx, conn, s.svc.scope, policyID); err != nil { diff --git a/pkg/probo/risk_service.go b/pkg/probo/risk_service.go index 5a2511f53..f603ada73 100644 --- a/pkg/probo/risk_service.go +++ b/pkg/probo/risk_service.go @@ -165,10 +165,7 @@ func (s RiskService) Create( req CreateRiskRequest, ) (*coredata.Risk, error) { now := time.Now() - riskID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.RiskEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create global id: %w", err) - } + riskID := gid.New(s.svc.scope.GetTenantID(), coredata.RiskEntityType) risk := &coredata.Risk{ ID: riskID, @@ -198,7 +195,7 @@ func (s RiskService) Create( risk.ResidualImpact = *req.ResidualImpact } - err = s.svc.pg.WithConn( + err := s.svc.pg.WithConn( ctx, func(conn pg.Conn) error { return risk.Insert(ctx, conn, s.svc.scope) diff --git a/pkg/probo/task_service.go b/pkg/probo/task_service.go index cb7266764..57693d14f 100644 --- a/pkg/probo/task_service.go +++ b/pkg/probo/task_service.go @@ -53,10 +53,7 @@ func (s TaskService) Create( req CreateTaskRequest, ) (*coredata.Task, error) { now := time.Now() - taskID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.TaskEntityType) - if err != nil { - return nil, fmt.Errorf("cannot generate id: %w", err) - } + taskID := gid.New(s.svc.scope.GetTenantID(), coredata.TaskEntityType) referenceID, err := uuid.NewV4() if err != nil { diff --git a/pkg/probo/vendor_compliance_report_service.go b/pkg/probo/vendor_compliance_report_service.go index 597654521..138fd5677 100644 --- a/pkg/probo/vendor_compliance_report_service.go +++ b/pkg/probo/vendor_compliance_report_service.go @@ -98,10 +98,7 @@ func (s VendorComplianceReportService) Upload( now := time.Now() - vendorComplianceReportID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.VendorComplianceReportEntityType) - if err != nil { - return nil, fmt.Errorf("cannot generate vendor compliance report ID: %w", err) - } + vendorComplianceReportID := gid.New(s.svc.scope.GetTenantID(), coredata.VendorComplianceReportEntityType) vendorComplianceReport := &coredata.VendorComplianceReport{ ID: vendorComplianceReportID, diff --git a/pkg/probo/vendor_service.go b/pkg/probo/vendor_service.go index 6faac6ab3..f7b821079 100644 --- a/pkg/probo/vendor_service.go +++ b/pkg/probo/vendor_service.go @@ -267,10 +267,7 @@ func (s VendorService) Create( req CreateVendorRequest, ) (*coredata.Vendor, error) { now := time.Now() - vendorID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.VendorEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create vendor global id: %w", err) - } + vendorID := gid.New(s.svc.scope.GetTenantID(), coredata.VendorEntityType) organization := &coredata.Organization{} vendor := &coredata.Vendor{ @@ -301,7 +298,7 @@ func (s VendorService) Create( vendor.Category = "Other" } - err = s.svc.pg.WithTx( + err := s.svc.pg.WithTx( ctx, func(conn pg.Conn) error { if err := organization.LoadByID(ctx, conn, s.svc.scope, req.OrganizationID); err != nil { @@ -348,10 +345,7 @@ func (s VendorService) CreateRiskAssessment( ctx context.Context, req CreateVendorRiskAssessmentRequest, ) (*coredata.VendorRiskAssessment, error) { - vendorRiskAssessmentID, err := gid.NewGID(s.svc.scope.GetTenantID(), coredata.VendorRiskAssessmentEntityType) - if err != nil { - return nil, fmt.Errorf("cannot create vendor risk assessment global id: %w", err) - } + vendorRiskAssessmentID := gid.New(s.svc.scope.GetTenantID(), coredata.VendorRiskAssessmentEntityType) now := time.Now() @@ -372,7 +366,7 @@ func (s VendorService) CreateRiskAssessment( return nil, fmt.Errorf("expiresAt %v must be in the future", req.ExpiresAt) } - err = s.svc.pg.WithTx( + err := s.svc.pg.WithTx( ctx, func(tx pg.Conn) error { vendor := coredata.Vendor{ID: req.VendorID}