refactor(architecture): harden module boundaries
Some checks failed
ci / release-gate (push) Has been cancelled
Some checks failed
ci / release-gate (push) Has been cancelled
This commit is contained in:
@@ -24,7 +24,7 @@ internal sealed class ActivationCodeAdministrationService(CommerceAdministration
|
||||
|
||||
if (command.RegionId.HasValue)
|
||||
{
|
||||
var regionExists = await dbContext.Regions
|
||||
var regionExists = await catalogPersistence.Regions
|
||||
.AnyAsync(item => item.TenantId == actor.TenantId && item.Id == command.RegionId.Value,
|
||||
cancellationToken);
|
||||
if (!regionExists) throw new CommerceException("Region was not found.", "region_not_found");
|
||||
@@ -45,9 +45,9 @@ internal sealed class ActivationCodeAdministrationService(CommerceAdministration
|
||||
IssuedAt = DateTimeOffset.UtcNow,
|
||||
Remark = command.Remark
|
||||
};
|
||||
dbContext.CodeBatches.Add(batch);
|
||||
commercePersistence.CodeBatches.Add(batch);
|
||||
for (var index = 0; index < command.TotalCount; index++)
|
||||
dbContext.ActivationCodes.Add(new ActivationCode
|
||||
commercePersistence.ActivationCodes.Add(new ActivationCode
|
||||
{
|
||||
TenantId = actor.TenantId,
|
||||
BatchId = batch.Id,
|
||||
@@ -58,7 +58,7 @@ internal sealed class ActivationCodeAdministrationService(CommerceAdministration
|
||||
Remark = batch.Remark
|
||||
});
|
||||
|
||||
await dbContext.SaveChangesAsync(cancellationToken);
|
||||
await unitOfWork.SaveChangesAsync(cancellationToken);
|
||||
return ToCodeBatchItem(batch);
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ internal sealed class ActivationCodeAdministrationService(CommerceAdministration
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
await AssertAdminAsync(actor, cancellationToken);
|
||||
var codes = dbContext.ActivationCodes.AsNoTracking()
|
||||
var codes = commercePersistence.ActivationCodes.AsNoTracking()
|
||||
.Where(item => item.TenantId == actor.TenantId);
|
||||
if (!string.IsNullOrWhiteSpace(query.Status))
|
||||
{
|
||||
@@ -89,7 +89,7 @@ internal sealed class ActivationCodeAdministrationService(CommerceAdministration
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
await AssertAdminAsync(actor, cancellationToken);
|
||||
var code = await dbContext.ActivationCodes
|
||||
var code = await commercePersistence.ActivationCodes
|
||||
.SingleOrDefaultAsync(item =>
|
||||
item.TenantId == actor.TenantId &&
|
||||
item.Code == command.Code.Trim(),
|
||||
@@ -97,7 +97,7 @@ internal sealed class ActivationCodeAdministrationService(CommerceAdministration
|
||||
?? throw new CommerceException("Activation code was not found.", "activation_code_not_found");
|
||||
if (code.IsUsed) throw new CommerceException("Activation code has already been used.", "activation_code_used");
|
||||
|
||||
var userIsMember = await dbContext.TenantMemberships.AnyAsync(item =>
|
||||
var userIsMember = await identityPersistence.TenantMemberships.AnyAsync(item =>
|
||||
item.TenantId == actor.TenantId &&
|
||||
item.UserId == command.UserId &&
|
||||
item.Status == MembershipStatus.Active,
|
||||
@@ -109,7 +109,7 @@ internal sealed class ActivationCodeAdministrationService(CommerceAdministration
|
||||
code.UsedBy = command.UserId;
|
||||
code.UsedRegionId = command.RegionId;
|
||||
code.UsedAt = DateTimeOffset.UtcNow;
|
||||
dbContext.Entitlements.Add(new Entitlement
|
||||
commercePersistence.Entitlements.Add(new Entitlement
|
||||
{
|
||||
TenantId = actor.TenantId,
|
||||
UserId = command.UserId,
|
||||
@@ -122,7 +122,7 @@ internal sealed class ActivationCodeAdministrationService(CommerceAdministration
|
||||
Metadata = JsonSerializer.SerializeToElement(new { code.Code, code.BatchId })
|
||||
});
|
||||
|
||||
await dbContext.SaveChangesAsync(cancellationToken);
|
||||
await unitOfWork.SaveChangesAsync(cancellationToken);
|
||||
return ToActivationCodeItem(code);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user