fix: pass cancellationToken to library methods that accept them
All checks were successful
/ build (push) Successful in 4m1s
/ tests (push) Successful in 26s
/ build-docker (push) Successful in 4m15s

This commit is contained in:
cuqmbr 2025-05-26 12:36:48 +03:00
parent afe626bd78
commit 91805bc9ad
Signed by: cuqmbr
GPG Key ID: 0AA446880C766199
8 changed files with 43 additions and 37 deletions

View File

@ -4,10 +4,10 @@ namespace cuqmbr.TravelGuide.Application.Common.Interfaces.Services;
public interface LiqPayPaymentService public interface LiqPayPaymentService
{ {
Task<string> GetPaymentLinkAsync( string GetPaymentLink(
decimal amount, Currency currency, decimal amount, Currency currency,
string orderId, TimeSpan validity, string description, string orderId, TimeSpan validity, string description,
string resultPath, string callbackPath); string resultPath, string callbackPath);
Task<bool> IsValidSignatureAsync(string postData, string postSignature); bool IsValidSignature(string postData, string postSignature);
} }

View File

@ -462,8 +462,8 @@ public class GetPaymentLinkCommandHandler :
var resultPath = request.ResultPath; var resultPath = request.ResultPath;
var callbackPath = "/payments/liqPay/ticket/callback"; var callbackPath = "/payments/liqPay/ticket/callback";
var paymentLink = await _liqPayPaymentService var paymentLink = _liqPayPaymentService
.GetPaymentLinkAsync( .GetPaymentLink(
amount, Currency.UAH, guid.ToString(), validity, amount, Currency.UAH, guid.ToString(), validity,
_localizer["PaymentProcessing.TicketPaymentDescription"], _localizer["PaymentProcessing.TicketPaymentDescription"],
resultPath, callbackPath); resultPath, callbackPath);

View File

@ -27,8 +27,8 @@ public class ProcessCallbackCommandHandler :
ProcessCallbackCommand request, ProcessCallbackCommand request,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
var isSignatureValid = await _liqPayPaymentService var isSignatureValid = _liqPayPaymentService
.IsValidSignatureAsync(request.Data, request.Signature); .IsValidSignature(request.Data, request.Signature);
if (!isSignatureValid) if (!isSignatureValid)
{ {

View File

@ -27,7 +27,7 @@ public sealed class LiqPayPaymentService :
configurationOptions.Value.PaymentProcessing.ResultAddressBase; configurationOptions.Value.PaymentProcessing.ResultAddressBase;
} }
public Task<string> GetPaymentLinkAsync( public string GetPaymentLink(
decimal amount, Currency currency, decimal amount, Currency currency,
string orderId, TimeSpan validity, string description, string orderId, TimeSpan validity, string description,
string resultPath, string callbackPath) string resultPath, string callbackPath)
@ -60,12 +60,12 @@ public sealed class LiqPayPaymentService :
_configuration.PrivateKey))); _configuration.PrivateKey)));
return Task.FromResult( return
"https://www.liqpay.ua/api/3/checkout" + "https://www.liqpay.ua/api/3/checkout" +
$"?data={data}&signature={signature}"); $"?data={data}&signature={signature}";
} }
public Task<bool> IsValidSignatureAsync(string postData, string postSignature) public bool IsValidSignature(string postData, string postSignature)
{ {
var signature = Convert.ToBase64String(SHA1.HashData( var signature = Convert.ToBase64String(SHA1.HashData(
Encoding.UTF8.GetBytes( Encoding.UTF8.GetBytes(
@ -73,6 +73,6 @@ public sealed class LiqPayPaymentService :
postData + postData +
_configuration.PrivateKey))); _configuration.PrivateKey)));
return Task.FromResult(postSignature.Equals(signature)); return postSignature.Equals(signature);
} }
} }

View File

@ -73,7 +73,7 @@ public sealed class InMemoryUnitOfWork : UnitOfWork
public async Task<int> SaveAsync(CancellationToken cancellationToken) public async Task<int> SaveAsync(CancellationToken cancellationToken)
{ {
return await _dbContext.SaveChangesAsync(); return await _dbContext.SaveChangesAsync(cancellationToken);
} }
public void Dispose() public void Dispose()

View File

@ -28,7 +28,7 @@ public abstract class InMemoryBaseRepository<TEntity> : BaseRepository<TEntity>
Expression<Func<TEntity, bool>> predicate, Expression<Func<TEntity, bool>> predicate,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
return await _dbSet.SingleOrDefaultAsync(predicate); return await _dbSet.SingleOrDefaultAsync(predicate, cancellationToken);
} }
public async Task<TEntity?> GetOneAsync( public async Task<TEntity?> GetOneAsync(
@ -39,19 +39,19 @@ public abstract class InMemoryBaseRepository<TEntity> : BaseRepository<TEntity>
return return
await _dbSet await _dbSet
.Include(includeSelector) .Include(includeSelector)
.SingleOrDefaultAsync(predicate); .SingleOrDefaultAsync(predicate, cancellationToken);
} }
public async Task<PaginatedList<TEntity>> GetPageAsync( public async Task<PaginatedList<TEntity>> GetPageAsync(
int pageNumber, int pageSize, int pageNumber, int pageSize,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
var count = await _dbSet.CountAsync(); var count = await _dbSet.CountAsync(cancellationToken);
var entities = var entities =
await _dbSet await _dbSet
.Skip((pageNumber - 1) * pageSize).Take(pageSize) .Skip((pageNumber - 1) * pageSize).Take(pageSize)
.ToListAsync(); .ToListAsync(cancellationToken);
return new PaginatedList<TEntity>( return new PaginatedList<TEntity>(
entities, count, entities, count,
@ -63,13 +63,13 @@ public abstract class InMemoryBaseRepository<TEntity> : BaseRepository<TEntity>
int pageNumber, int pageSize, int pageNumber, int pageSize,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
var count = await _dbSet.CountAsync(); var count = await _dbSet.CountAsync(cancellationToken);
var entities = var entities =
await _dbSet await _dbSet
.Skip((pageNumber - 1) * pageSize).Take(pageSize) .Skip((pageNumber - 1) * pageSize).Take(pageSize)
.Include(includeSelector) .Include(includeSelector)
.ToListAsync(); .ToListAsync(cancellationToken);
return new PaginatedList<TEntity>( return new PaginatedList<TEntity>(
entities, count, entities, count,
@ -81,13 +81,15 @@ public abstract class InMemoryBaseRepository<TEntity> : BaseRepository<TEntity>
int pageNumber, int pageSize, int pageNumber, int pageSize,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
var count = await _dbSet.Where(predicate).CountAsync(); var count = await _dbSet
.Where(predicate)
.CountAsync(cancellationToken);
var entities = var entities =
await _dbSet await _dbSet
.Where(predicate) .Where(predicate)
.Skip((pageNumber - 1) * pageSize).Take(pageSize) .Skip((pageNumber - 1) * pageSize).Take(pageSize)
.ToListAsync(); .ToListAsync(cancellationToken);
return new PaginatedList<TEntity>( return new PaginatedList<TEntity>(
entities, count, entities, count,
@ -100,14 +102,16 @@ public abstract class InMemoryBaseRepository<TEntity> : BaseRepository<TEntity>
int pageNumber, int pageSize, int pageNumber, int pageSize,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
var count = await _dbSet.Where(predicate).CountAsync(); var count = await _dbSet
.Where(predicate)
.CountAsync(cancellationToken);
var entities = var entities =
await _dbSet await _dbSet
.Where(predicate) .Where(predicate)
.Skip((pageNumber - 1) * pageSize).Take(pageSize) .Skip((pageNumber - 1) * pageSize).Take(pageSize)
.Include(includeSelector) .Include(includeSelector)
.ToListAsync(); .ToListAsync(cancellationToken);
return new PaginatedList<TEntity>( return new PaginatedList<TEntity>(
entities, count, entities, count,

View File

@ -73,7 +73,7 @@ public sealed class PostgreSqlUnitOfWork : UnitOfWork
public async Task<int> SaveAsync(CancellationToken cancellationToken) public async Task<int> SaveAsync(CancellationToken cancellationToken)
{ {
return await _dbContext.SaveChangesAsync(); return await _dbContext.SaveChangesAsync(cancellationToken);
} }
public void Dispose() public void Dispose()

View File

@ -28,7 +28,7 @@ public abstract class PostgreSqlBaseRepository<TEntity> : BaseRepository<TEntity
Expression<Func<TEntity, bool>> predicate, Expression<Func<TEntity, bool>> predicate,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
return await _dbSet.SingleOrDefaultAsync(predicate); return await _dbSet.SingleOrDefaultAsync(predicate, cancellationToken);
} }
public async Task<TEntity?> GetOneAsync( public async Task<TEntity?> GetOneAsync(
@ -36,22 +36,21 @@ public abstract class PostgreSqlBaseRepository<TEntity> : BaseRepository<TEntity
Expression<Func<TEntity, object>> includeSelector, Expression<Func<TEntity, object>> includeSelector,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
return return await _dbSet
await _dbSet .Include(includeSelector)
.Include(includeSelector) .SingleOrDefaultAsync(predicate, cancellationToken);
.SingleOrDefaultAsync(predicate);
} }
public async Task<PaginatedList<TEntity>> GetPageAsync( public async Task<PaginatedList<TEntity>> GetPageAsync(
int pageNumber, int pageSize, int pageNumber, int pageSize,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
var count = await _dbSet.CountAsync(); var count = await _dbSet.CountAsync(cancellationToken);
var entities = var entities =
await _dbSet await _dbSet
.Skip((pageNumber - 1) * pageSize).Take(pageSize) .Skip((pageNumber - 1) * pageSize).Take(pageSize)
.ToListAsync(); .ToListAsync(cancellationToken);
return new PaginatedList<TEntity>( return new PaginatedList<TEntity>(
entities, count, entities, count,
@ -63,13 +62,13 @@ public abstract class PostgreSqlBaseRepository<TEntity> : BaseRepository<TEntity
int pageNumber, int pageSize, int pageNumber, int pageSize,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
var count = await _dbSet.CountAsync(); var count = await _dbSet.CountAsync(cancellationToken);
var entities = var entities =
await _dbSet await _dbSet
.Skip((pageNumber - 1) * pageSize).Take(pageSize) .Skip((pageNumber - 1) * pageSize).Take(pageSize)
.Include(includeSelector) .Include(includeSelector)
.ToListAsync(); .ToListAsync(cancellationToken);
return new PaginatedList<TEntity>( return new PaginatedList<TEntity>(
entities, count, entities, count,
@ -81,13 +80,15 @@ public abstract class PostgreSqlBaseRepository<TEntity> : BaseRepository<TEntity
int pageNumber, int pageSize, int pageNumber, int pageSize,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
var count = await _dbSet.Where(predicate).CountAsync(); var count = await _dbSet
.Where(predicate)
.CountAsync(cancellationToken);
var entities = var entities =
await _dbSet await _dbSet
.Where(predicate) .Where(predicate)
.Skip((pageNumber - 1) * pageSize).Take(pageSize) .Skip((pageNumber - 1) * pageSize).Take(pageSize)
.ToListAsync(); .ToListAsync(cancellationToken);
return new PaginatedList<TEntity>( return new PaginatedList<TEntity>(
entities, count, entities, count,
@ -100,14 +101,16 @@ public abstract class PostgreSqlBaseRepository<TEntity> : BaseRepository<TEntity
int pageNumber, int pageSize, int pageNumber, int pageSize,
CancellationToken cancellationToken) CancellationToken cancellationToken)
{ {
var count = await _dbSet.Where(predicate).CountAsync(); var count = await _dbSet
.Where(predicate)
.CountAsync(cancellationToken);
var entities = var entities =
await _dbSet await _dbSet
.Where(predicate) .Where(predicate)
.Skip((pageNumber - 1) * pageSize).Take(pageSize) .Skip((pageNumber - 1) * pageSize).Take(pageSize)
.Include(includeSelector) .Include(includeSelector)
.ToListAsync(); .ToListAsync(cancellationToken);
return new PaginatedList<TEntity>( return new PaginatedList<TEntity>(
entities, count, entities, count,
@ -129,5 +132,4 @@ public abstract class PostgreSqlBaseRepository<TEntity> : BaseRepository<TEntity
_dbSet.Remove(entity); _dbSet.Remove(entity);
return Task.CompletedTask; return Task.CompletedTask;
} }
} }