< Summary - Syki

Information
Class: Syki.Back.Domain.Identity.MagicLink
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Domain/Identity/MagicLink.cs
Tag: 56_26538939494
Line coverage
100%
Covered lines: 17
Uncovered lines: 0
Coverable lines: 17
Total lines: 30
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Id()100%11100%
get_UserId()100%11100%
get_CreatedAt()100%11100%
get_ExpiresAt()100%11100%
get_UsedAt()100%11100%
get_User()100%11100%
.ctor()100%11100%
.ctor(...)100%11100%
IsUsed()100%11100%
IsExpired()100%11100%
Use()100%11100%

File(s)

/home/runner/work/syki/syki/Back/Domain/Identity/MagicLink.cs

#LineLine coverage
 1namespace Syki.Back.Domain.Identity;
 2
 3public class MagicLink
 4{
 5545    public Guid Id { get; set; }
 2346    public int UserId { get; set; }
 2867    public DateTime CreatedAt { get; set; }
 5248    public DateTime ExpiresAt { get; set; }
 4729    public DateTime? UsedAt { get; set; }
 10
 28611    public SykiUser? User { get; set; }
 12
 48013    public MagicLink() {}
 14
 28615    public MagicLink(SykiUser user)
 16    {
 28617        Id = Guid.NewGuid();
 28618        User = user;
 28619        CreatedAt = DateTime.UtcNow;
 28620        ExpiresAt = DateTime.UtcNow.Add(TimeSpan.FromHours(24));
 28621    }
 22
 23823    public bool IsUsed() => UsedAt != null;
 23624    public bool IsExpired() => DateTime.UtcNow > ExpiresAt;
 25
 26    public void Use()
 27    {
 23428        UsedAt = DateTime.UtcNow;
 23429    }
 30}