@@ -7,22 +7,19 @@ namespace Bit.Core.Pam.Models.Mail.AccessLeaseRevoked;
77/// The lease holder's notice that someone else revoked their active access before its window ran out.
88/// </summary>
99/// <remarks>
10- /// This is a courtesy, not a control: the lease is already dead and the client has already re-locked by the time
11- /// this is composed. It exists so someone mid-task learns why their item locked itself.
12- ///
13- /// Sent only when an operator revoked the lease. A holder who ends their own access is not mailed about it, so
14- /// there is no field here for who ended it — this view only ever describes the one case.
10+ /// A courtesy, not a control: the lease is already dead and the client has already re-locked by the time this is
11+ /// composed. It is sent only when an operator revoked the lease, so there is no field for who ended it.
1512///
1613/// Bounded by zero knowledge in the same way its siblings are: the collection and cipher are named only by
17- /// ciphertext the server cannot read. The revocation reason is left out for the reason <c>AccessRequest.Reason</c>
18- /// is — free text that would name the very system being accessed, rendered into an HTML mail body .
14+ /// ciphertext the server cannot read, and the revocation reason is withheld for the reason
15+ /// <c>AccessRequest.Reason</c> is, being free text that would name the very system being accessed.
1916/// <see cref="Url" /> carries the holder to it.
2017/// </remarks>
2118public class AccessLeaseRevokedView : BaseMailView
2219{
2320 /// <summary>
24- /// UTC is spelled out in the rendered string. There is no per-recipient timezone on this path, so an
25- /// unqualified instant would be read as local time and would misstate how much of the window was cut short.
21+ /// UTC is spelled out in the rendered string: there is no per-recipient timezone on this path, so an unqualified
22+ /// instant would be read as local time and misstate how much of the window was cut short.
2623 /// </summary>
2724 private const string _windowFormat = "d MMM yyyy 'at' HH:mm 'UTC'" ;
2825
@@ -31,24 +28,22 @@ public class AccessLeaseRevokedView : BaseMailView
3128 /// <summary>The request the ended lease was minted from, which is what <see cref="Url" /> addresses.</summary>
3229 public required Guid AccessRequestId { get ; init ; }
3330
34- /// <summary>Plaintext, unlike the collection and cipher names this mail deliberately omits.</summary>
3531 public required string OrganizationName { get ; init ; }
3632
3733 /// <summary>
3834 /// When the lease would have ended on its own, in UTC. Always in the future at send time:
39- /// <c>RevokeAccessLeaseCommand</c> refuses a lease whose window has already closed, so a revoke is always an
40- /// early end and this is what it cut short.
35+ /// <c>RevokeAccessLeaseCommand</c> refuses a lease whose window has already closed.
4136 /// </summary>
4237 public required DateTime NotAfter { get ; init ; }
4338
4439 public string ScheduledEnd => NotAfter . ToString ( _windowFormat , CultureInfo . InvariantCulture ) ;
4540
4641 /// <summary>
47- /// The holder's own view of the request this lease came from, where the revocation is recorded as a decision
48- /// with whatever reason the operator gave. The user-scoped PAM pages mount at <c>pam</c>
49- /// ( <c>apps/web/src/app/oss-routing.module.ts:687 </c>) and the request page is <c>requests/:id </c> beneath it
50- /// ( <c>access-requests-routing.module.ts:47 </c>). The organization-scoped admin surface under
51- /// <c>/organizations/:organizationId/pam</c> is a different route tree and does not serve this page.
42+ /// The request this lease came from, where the revocation is recorded with whatever reason the operator gave.
43+ /// The user-scoped PAM pages mount at <c>pam</c> (<c>apps/web/src/app/oss-routing.module.ts:687</c>) with the
44+ /// request page at <c>requests/:id </c> beneath it ( <c>access- requests-routing.module.ts:47 </c>). The
45+ /// organization-scoped tree under <c>/organizations/:organizationId/pam </c> is a different route tree and does
46+ /// not serve this page.
5247 /// </summary>
5348 public string Url => $ "{ WebVaultUrl } /pam/requests/{ AccessRequestId } ";
5449}
0 commit comments