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:
@@ -17,7 +17,7 @@ internal sealed class HandbookManagementService(DirectContentServiceDependencies
|
||||
{
|
||||
var scope = await RequireDataScopeAsync(actor, cancellationToken);
|
||||
var regionIds = scope.RegionIds.ToArray();
|
||||
var query = dbContext.HandbookSubjects.AsNoTracking()
|
||||
var query = contentAssetPersistence.HandbookSubjects.AsNoTracking()
|
||||
.Where(item => item.TenantId == actor.TenantId)
|
||||
.ApplyDataScope(scope, null, item => item.RegionId.HasValue && regionIds.Contains(item.RegionId.Value));
|
||||
if (filter.RegionId.HasValue) query = query.Where(item => item.RegionId == filter.RegionId.Value);
|
||||
@@ -62,7 +62,7 @@ internal sealed class HandbookManagementService(DirectContentServiceDependencies
|
||||
await AssertReferenceAsync<ContentNode>(actor.TenantId, command.ContentNodeId, "node_not_found",
|
||||
cancellationToken);
|
||||
|
||||
var item = await ResolveByIdOrLegacyAsync(dbContext.HandbookSubjects, actor.TenantId, command.Id,
|
||||
var item = await ResolveByIdOrLegacyAsync(contentAssetPersistence.HandbookSubjects, actor.TenantId, command.Id,
|
||||
command.LegacyId, cancellationToken);
|
||||
var isNew = item is null;
|
||||
EnsureRegionWriteAllowed(scope, actor, item?.RegionId, command.RegionId, isNew, "handbook_subject_not_found");
|
||||
@@ -81,9 +81,9 @@ internal sealed class HandbookManagementService(DirectContentServiceDependencies
|
||||
item.SortOrder = command.Order ?? item.SortOrder;
|
||||
item.IsActive = command.IsActive ?? item.IsActive;
|
||||
item.Metadata = JsonObjectOrDefault(command.Metadata);
|
||||
if (isNew) dbContext.HandbookSubjects.Add(item);
|
||||
if (isNew) contentAssetPersistence.HandbookSubjects.Add(item);
|
||||
|
||||
await dbContext.SaveChangesAsync(cancellationToken);
|
||||
await unitOfWork.SaveChangesAsync(cancellationToken);
|
||||
return new ContentManagementResult<HandbookSubject>(item);
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ internal sealed class HandbookManagementService(DirectContentServiceDependencies
|
||||
AdminLimitFilter filter,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
var query = dbContext.HandbookChapters.AsNoTracking().Where(item => item.TenantId == actor.TenantId);
|
||||
var query = contentAssetPersistence.HandbookChapters.AsNoTracking().Where(item => item.TenantId == actor.TenantId);
|
||||
if (filter.SubjectId.HasValue) query = query.Where(item => item.SubjectId == filter.SubjectId.Value);
|
||||
|
||||
if (filter.EntryId.HasValue) query = query.Where(item => item.EntryId == filter.EntryId.Value);
|
||||
@@ -129,7 +129,7 @@ internal sealed class HandbookManagementService(DirectContentServiceDependencies
|
||||
await AssertReferenceAsync<ContentNode>(actor.TenantId, command.ContentNodeId, "node_not_found",
|
||||
cancellationToken);
|
||||
|
||||
var item = await ResolveByIdOrLegacyAsync(dbContext.HandbookChapters, actor.TenantId, command.Id,
|
||||
var item = await ResolveByIdOrLegacyAsync(contentAssetPersistence.HandbookChapters, actor.TenantId, command.Id,
|
||||
command.LegacyId, cancellationToken);
|
||||
var isNew = item is null;
|
||||
item ??= new HandbookChapter { Id = command.Id ?? Guid.NewGuid(), TenantId = actor.TenantId };
|
||||
@@ -148,9 +148,9 @@ internal sealed class HandbookManagementService(DirectContentServiceDependencies
|
||||
item.SortOrder = command.Order ?? item.SortOrder;
|
||||
item.IsActive = command.IsActive ?? item.IsActive;
|
||||
item.Metadata = JsonObjectOrDefault(command.Metadata);
|
||||
if (isNew) dbContext.HandbookChapters.Add(item);
|
||||
if (isNew) contentAssetPersistence.HandbookChapters.Add(item);
|
||||
|
||||
await dbContext.SaveChangesAsync(cancellationToken);
|
||||
await unitOfWork.SaveChangesAsync(cancellationToken);
|
||||
return new ContentManagementResult<HandbookChapter>(item);
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ internal sealed class HandbookManagementService(DirectContentServiceDependencies
|
||||
AdminLimitFilter filter,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
var query = dbContext.HandbookEntries.AsNoTracking().Where(item => item.TenantId == actor.TenantId);
|
||||
var query = contentAssetPersistence.HandbookEntries.AsNoTracking().Where(item => item.TenantId == actor.TenantId);
|
||||
if (filter.ChapterId.HasValue) query = query.Where(item => item.ChapterId == filter.ChapterId.Value);
|
||||
|
||||
if (filter.EntryId.HasValue) query = query.Where(item => item.EntryId == filter.EntryId.Value);
|
||||
@@ -196,7 +196,7 @@ internal sealed class HandbookManagementService(DirectContentServiceDependencies
|
||||
await AssertReferenceAsync<ContentNode>(actor.TenantId, command.ContentNodeId, "node_not_found",
|
||||
cancellationToken);
|
||||
|
||||
var item = await ResolveByIdOrLegacyAsync(dbContext.HandbookEntries, actor.TenantId, command.Id,
|
||||
var item = await ResolveByIdOrLegacyAsync(contentAssetPersistence.HandbookEntries, actor.TenantId, command.Id,
|
||||
command.LegacyId, cancellationToken);
|
||||
var isNew = item is null;
|
||||
item ??= new HandbookEntry { Id = command.Id ?? Guid.NewGuid(), TenantId = actor.TenantId };
|
||||
@@ -217,9 +217,9 @@ internal sealed class HandbookManagementService(DirectContentServiceDependencies
|
||||
item.SortOrder = command.Order ?? item.SortOrder;
|
||||
item.IsActive = command.IsActive ?? item.IsActive;
|
||||
item.Metadata = JsonObjectOrDefault(command.Metadata);
|
||||
if (isNew) dbContext.HandbookEntries.Add(item);
|
||||
if (isNew) contentAssetPersistence.HandbookEntries.Add(item);
|
||||
|
||||
await dbContext.SaveChangesAsync(cancellationToken);
|
||||
await unitOfWork.SaveChangesAsync(cancellationToken);
|
||||
return new ContentManagementResult<HandbookEntry>(item);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user