Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/URLShortener.Services/Implementations/LinkService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,9 @@ public async Task DeleteAsync(DeleteModel model)
link.IsDeleted = true;
await _context.SaveChangesAsync();
}
public async Task<bool> IsDeletedAsync(IsDeletedModel model)
{
var link= await _context.Links.AsNoTracking().Where(l => l.UserId == model.UserId).SingleAsync(l => l.Id == model.Id);
return link.IsDeleted;
}
}
6 changes: 6 additions & 0 deletions src/URLShortener.Services/Implementations/VisitService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,10 @@ public async Task UpdateGeoDataAsync(UpdateGeoDataModel model)

await _context.SaveChangesAsync();
}

public async Task<bool> IsDeletedAsync(IsDeletedModel model)
{
var visit= await _context.Visits.AsNoTracking().Where(v => v.LinkId == model.LinkId).SingleAsync(v => v.Id == model.Id);
return visit.IsDeleted;
}
}
7 changes: 7 additions & 0 deletions src/URLShortener.Shared/Models/Link/IsDeletedModel.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace URLShortener.Shared.Models.Link;

public class IsDeletedModel
{
public Guid UserId { get; set; }
public long Id { get; set; }
}
7 changes: 7 additions & 0 deletions src/URLShortener.Shared/Models/Visit/IsDeletedModel.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace URLShortener.Shared.Models.Visit;

public class IsDeletedModel
{
public long LinkId { get; set; }
public long Id { get; set; }
}
2 changes: 2 additions & 0 deletions src/URLShortener.Shared/Services/Interfaces/ILinkService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ public interface ILinkService
Task<Link> GetByIdAsync(GetByIdModel model, bool includeVisits = false, bool asNoTracking = false);
Task<Link> GetByShortAddressAsync(GetByShortAddressModel model);
Task DeleteAsync(DeleteModel model);
public Task<bool> IsDeletedAsync(IsDeletedModel model);

}
4 changes: 3 additions & 1 deletion src/URLShortener.Shared/Services/Interfaces/IVisitService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ public interface IVisitService

public Task<Visit> CreateAsync(CreateVisitModel model);
public Task UpdateGeoDataAsync(UpdateGeoDataModel model);


public Task<bool> IsDeletedAsync(IsDeletedModel model);

}