diff --git a/apps/trust/src/components/AuditRow.tsx b/apps/trust/src/components/AuditRow.tsx
index 251f8539c..bd7a13a16 100644
--- a/apps/trust/src/components/AuditRow.tsx
+++ b/apps/trust/src/components/AuditRow.tsx
@@ -129,7 +129,27 @@ export function AuditRow(props: { audit: AuditRowFragment$key }) {
{audit.framework.name}
- {!viewer && (
+ {audit.report && audit.report.isUserAuthorized ? (
+
+ ) : viewer ? (
+
+ ) : (
)}
- {viewer &&
- audit.report &&
- (audit.report.isUserAuthorized ? (
-
- ) : (
-
- ))}
);
}
diff --git a/apps/trust/src/components/DocumentRow.tsx b/apps/trust/src/components/DocumentRow.tsx
index bb16e8030..f302c1fb3 100644
--- a/apps/trust/src/components/DocumentRow.tsx
+++ b/apps/trust/src/components/DocumentRow.tsx
@@ -114,7 +114,27 @@ export function DocumentRow(props: { document: DocumentRowFragment$key }) {
{document.title}
- {!viewer && (
+ {document.isUserAuthorized ? (
+
+ ) : viewer ? (
+
+ ) : (
)}
- {viewer &&
- (document.isUserAuthorized ? (
-
- ) : (
-
- ))}
);
}
diff --git a/apps/trust/src/components/TrustCenterFileRow.tsx b/apps/trust/src/components/TrustCenterFileRow.tsx
index 9127be2b9..8fa5e69a8 100644
--- a/apps/trust/src/components/TrustCenterFileRow.tsx
+++ b/apps/trust/src/components/TrustCenterFileRow.tsx
@@ -118,7 +118,27 @@ export function TrustCenterFileRow(props: {
{file.name}
- {!viewer && (
+ {file.isUserAuthorized ? (
+
+ ) : viewer ? (
+
+ ) : (
)}
- {viewer &&
- (file.isUserAuthorized ? (
-
- ) : (
-
- ))}
);
}
diff --git a/pkg/server/api/trust/v1/v1_resolver.go b/pkg/server/api/trust/v1/v1_resolver.go
index e4faadac9..f30349d03 100644
--- a/pkg/server/api/trust/v1/v1_resolver.go
+++ b/pkg/server/api/trust/v1/v1_resolver.go
@@ -796,11 +796,6 @@ func (r *queryResolver) CurrentTrustCenter(ctx context.Context) (*types.TrustCen
// IsUserAuthorized is the resolver for the isUserAuthorized field.
func (r *reportResolver) IsUserAuthorized(ctx context.Context, obj *types.Report) (bool, error) {
- identity := authn.IdentityFromContext(ctx)
- if identity == nil {
- return false, nil
- }
-
trustService := r.TrustService(ctx, obj.ID.TenantID())
trustCenter := compliancepage.CompliancePageFromContext(ctx)
@@ -815,6 +810,11 @@ func (r *reportResolver) IsUserAuthorized(ctx context.Context, obj *types.Report
return true, nil
}
+ identity := authn.IdentityFromContext(ctx)
+ if identity == nil {
+ return false, nil
+ }
+
reportAccess, err := trustService.TrustCenterAccesses.LoadReportAccess(ctx,
trustCenter.ID,
identity.EmailAddress,
@@ -1004,11 +1004,6 @@ func (r *trustCenterResolver) TrustCenterFiles(ctx context.Context, obj *types.T
// IsUserAuthorized is the resolver for the isUserAuthorized field.
func (r *trustCenterFileResolver) IsUserAuthorized(ctx context.Context, obj *types.TrustCenterFile) (bool, error) {
- identity := authn.IdentityFromContext(ctx)
- if identity == nil {
- return false, nil
- }
-
trustService := r.TrustService(ctx, obj.ID.TenantID())
trustCenter := compliancepage.CompliancePageFromContext(ctx)
@@ -1023,6 +1018,11 @@ func (r *trustCenterFileResolver) IsUserAuthorized(ctx context.Context, obj *typ
return true, nil
}
+ identity := authn.IdentityFromContext(ctx)
+ if identity == nil {
+ return false, nil
+ }
+
fileAccess, err := trustService.TrustCenterAccesses.LoadTrustCenterFileAccess(ctx,
trustCenter.ID,
identity.EmailAddress,