refactor(dependencies): 移除未使用的域实体引用
- 从文件模块的多部分上传处理器中移除未使用的实体引用 - 从即时通讯模块的群组成员处理器中移除未使用的实体引用 - 从RAG模块的AI模型配置中移除未使用的实体引用 - 从监控模块的告警规则配置中移除未使用的实体引用 - 从平台模块的角色权限处理器中移除未使用的实体引用 - 从脚本模块的执行日志实体引用中进行清理 - 从多个基础设施配置类中移除未使用的依赖项 - 优化测试文件中的导入声明,移除不必要的引用
This commit is contained in:
parent
3b13099378
commit
6c110b579a
@ -1,7 +1,4 @@
|
||||
using System.Net.Http.Headers;
|
||||
using System.Net.Http.Json;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace BuildFlow.Host.Configuration;
|
||||
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
namespace BuildFlow.Host.Configuration;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Domain.Interfaces;
|
||||
using BuildFlow.Infrastructure.Persistence;
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Domain.Interfaces;
|
||||
using BuildFlow.Infrastructure.Persistence;
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
|
||||
namespace File.Application.Common;
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
|
||||
namespace File.Application.Common;
|
||||
|
||||
|
||||
@ -4,11 +4,6 @@ using File.Application.Events;
|
||||
using File.Application.Features.Files.Commands;
|
||||
using File.Application.Features.Files.DTOs;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Domain.Exceptions;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
|
||||
@ -1,10 +1,5 @@
|
||||
using File.Application.Features.Folders.DTOs;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
|
||||
namespace File.Application.Features.Folders.Commands;
|
||||
|
||||
|
||||
@ -2,12 +2,7 @@ using BuildFlow.Shared.Domain.Common;
|
||||
using File.Application.Events;
|
||||
using File.Application.Features.Folders.Commands;
|
||||
using File.Application.Features.Folders.DTOs;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
using MediatR;
|
||||
|
||||
|
||||
@ -3,11 +3,6 @@ using File.Application.Common;
|
||||
using File.Application.Features.Folders.Commands;
|
||||
using File.Application.Features.Folders.DTOs;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Domain.Exceptions;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
|
||||
@ -1,10 +1,5 @@
|
||||
using BuildFlow.Shared.Domain.Common;
|
||||
using File.Application.Features.Multipart.Commands;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Domain.Exceptions;
|
||||
using File.Infrastructure.Persistence;
|
||||
|
||||
@ -3,10 +3,6 @@ using File.Application.Common;
|
||||
using File.Application.Features.Multipart.Commands;
|
||||
using File.Application.Features.Multipart.DTOs;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Domain.Exceptions;
|
||||
using File.Infrastructure.Persistence;
|
||||
|
||||
@ -2,11 +2,7 @@ using BuildFlow.Shared.Domain.Common;
|
||||
using File.Application.Common;
|
||||
using File.Application.Features.Multipart.Commands;
|
||||
using File.Application.Features.Multipart.DTOs;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using BuildFlow.Shared.Domain.Common;
|
||||
using File.Application.Features.Multipart.DTOs;
|
||||
using File.Application.Features.Multipart.Queries;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using BuildFlow.Shared.Domain.Common;
|
||||
using File.Application.Features.Multipart.Commands;
|
||||
using File.Application.Features.Multipart.DTOs;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Domain.Exceptions;
|
||||
using File.Infrastructure.Persistence;
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using File.Application.Features.Settings.Commands;
|
||||
using File.Application.Features.Settings.DTOs;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
using MediatR;
|
||||
|
||||
|
||||
@ -4,12 +4,7 @@ using File.Application.Common;
|
||||
using File.Application.Events;
|
||||
using File.Application.Features.Shares.Commands;
|
||||
using File.Application.Features.Shares.DTOs;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
using MediatR;
|
||||
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@ using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace File.Infrastructure.Persistence;
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
using MediatR;
|
||||
using BuildFlow.Shared.Domain.Exceptions;
|
||||
using IM.Application.Chat.Commands;
|
||||
using IM.Domain.Entities.Conversation;
|
||||
using IM.Domain.Entities.ConversationParticipant;
|
||||
using IM.Domain.Entities.Group;
|
||||
using IM.Domain.Entities.GroupMember;
|
||||
using IM.Domain.Enums;
|
||||
using IM.Infrastructure.Persistence;
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
using IM.Domain.Entities.Conversation;
|
||||
using IM.Domain.Entities.ConversationParticipant;
|
||||
using IM.Domain.Entities.Group;
|
||||
using IM.Domain.Entities.GroupMember;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
|
||||
@ -1,7 +1,4 @@
|
||||
using IM.Domain.Entities.Conversation;
|
||||
using IM.Domain.Entities.ConversationParticipant;
|
||||
using IM.Domain.Entities.Group;
|
||||
using IM.Domain.Entities.GroupMember;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
|
||||
@ -1,7 +1,4 @@
|
||||
using IM.Domain.Entities.Conversation;
|
||||
using IM.Domain.Entities.ConversationParticipant;
|
||||
using IM.Domain.Entities.Group;
|
||||
using IM.Domain.Entities.GroupMember;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
|
||||
@ -1,6 +1,3 @@
|
||||
using IM.Domain.Entities.Conversation;
|
||||
using IM.Domain.Entities.ConversationParticipant;
|
||||
using IM.Domain.Entities.Group;
|
||||
using IM.Domain.Entities.GroupMember;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
@ -1,7 +1,3 @@
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
|
||||
namespace Monitoring.Application.ExternalSystems.DTOs;
|
||||
|
||||
@ -3,10 +3,7 @@ using BuildFlow.Shared.Domain.Errors;
|
||||
using MediatR;
|
||||
using Monitoring.Application.ExternalSystems.Commands;
|
||||
using Monitoring.Application.ExternalSystems.DTOs;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
using Monitoring.Domain.Enums;
|
||||
using Monitoring.Infrastructure.Persistence;
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
using System.Text.Json;
|
||||
using BuildFlow.Shared.Domain.Errors;
|
||||
using BuildFlow.Shared.Domain.Exceptions;
|
||||
using MediatR;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Monitoring.Application.ExternalSystems.DTOs;
|
||||
|
||||
@ -5,10 +5,6 @@ using MediatR;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Monitoring.Application.ExternalSystems.Commands;
|
||||
using Monitoring.Application.ExternalSystems.DTOs;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
using Monitoring.Infrastructure.Persistence;
|
||||
|
||||
|
||||
@ -2,7 +2,6 @@ using System.Text.Json;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text.Json;
|
||||
using Monitoring.Domain.Enums;
|
||||
using Monitoring.Domain.Values;
|
||||
|
||||
namespace Monitoring.Domain.Entities.ExternalSystem;
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
using Monitoring.Domain.Enums;
|
||||
|
||||
namespace Monitoring.Domain.Services;
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
|
||||
namespace Monitoring.Domain.Services;
|
||||
|
||||
|
||||
@ -1,9 +1,5 @@
|
||||
using System.Globalization;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
using Monitoring.Domain.Services;
|
||||
|
||||
namespace Monitoring.Infrastructure.Alerting;
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
using System.Text.Json;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
|
||||
namespace Monitoring.Infrastructure.Connectors;
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
using System.Net.Http.Json;
|
||||
using System.Text.Json;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
using Monitoring.Domain.Enums;
|
||||
using Monitoring.Domain.Services;
|
||||
|
||||
|
||||
@ -1,12 +1,7 @@
|
||||
using System.Net.Http.Json;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
using Monitoring.Domain.Enums;
|
||||
using Monitoring.Domain.Services;
|
||||
|
||||
|
||||
@ -1,11 +1,7 @@
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
|
||||
namespace Monitoring.Infrastructure.Connectors;
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
|
||||
namespace Monitoring.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
|
||||
namespace Monitoring.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
|
||||
namespace Monitoring.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using Monitoring.Domain.Entities.AlertRule;
|
||||
using Monitoring.Domain.Entities.ExternalSystem;
|
||||
using Monitoring.Domain.Entities.SyncJob;
|
||||
using Monitoring.Domain.Entities.SyncedRecord;
|
||||
using Monitoring.Domain.Values;
|
||||
|
||||
namespace Monitoring.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -9,14 +9,8 @@ using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using BuildFlow.Platform.Application.Auth.DTOs;
|
||||
using BuildFlow.Platform.Domain.Common;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
using BuildFlow.Platform.Application.Auth.Commands;
|
||||
|
||||
|
||||
@ -1,12 +1,7 @@
|
||||
using BuildFlow.Shared.Domain.Errors;
|
||||
using BuildFlow.Shared.Domain.Exceptions;
|
||||
using MediatR;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
|
||||
@ -3,13 +3,6 @@ using MediatR;
|
||||
using BuildFlow.Platform.Application.Menus.DTOs;
|
||||
using BuildFlow.Platform.Application.Menus.Helpers;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
using BuildFlow.Platform.Application.Menus.Commands;
|
||||
using BuildFlow.Platform.Domain.Enums;
|
||||
|
||||
@ -1,12 +1,5 @@
|
||||
using MediatR;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
using BuildFlow.Platform.Application.Notifications.Commands;
|
||||
|
||||
|
||||
@ -1,11 +1,4 @@
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
|
||||
namespace BuildFlow.Platform.Application.Notifications;
|
||||
|
||||
|
||||
@ -1,14 +1,7 @@
|
||||
using BuildFlow.Shared.Domain.Exceptions;
|
||||
using MediatR;
|
||||
using BuildFlow.Platform.Application.Permissions.DTOs;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
using BuildFlow.Platform.Application.Permissions.Commands;
|
||||
|
||||
|
||||
@ -3,14 +3,7 @@ using BuildFlow.Shared.Domain.Exceptions;
|
||||
using MediatR;
|
||||
using BuildFlow.Platform.Application.Roles.DTOs;
|
||||
using BuildFlow.Platform.Domain.Common;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
using BuildFlow.Platform.Application.Roles.Commands;
|
||||
|
||||
|
||||
@ -1,14 +1,7 @@
|
||||
using BuildFlow.Shared.Domain.Exceptions;
|
||||
using MediatR;
|
||||
using BuildFlow.Platform.Application.Roles.DTOs;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
using BuildFlow.Platform.Application.Roles.Commands;
|
||||
|
||||
|
||||
@ -3,13 +3,6 @@ using BuildFlow.Shared.Domain.Exceptions;
|
||||
using MediatR;
|
||||
using BuildFlow.Platform.Application.Users.DTOs;
|
||||
using BuildFlow.Platform.Domain.Common;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
using BuildFlow.Platform.Application.Users.Commands;
|
||||
|
||||
@ -1,12 +1,6 @@
|
||||
using BuildFlow.Shared.Domain.Exceptions;
|
||||
using MediatR;
|
||||
using BuildFlow.Platform.Application.Users.DTOs;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
|
||||
@ -1,13 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Domain.Enums;
|
||||
|
||||
namespace BuildFlow.Platform.Infrastructure.Persistence.Configurations;
|
||||
|
||||
@ -1,13 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
|
||||
namespace BuildFlow.Platform.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,13 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
|
||||
namespace BuildFlow.Platform.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,13 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
|
||||
namespace BuildFlow.Platform.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,13 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
|
||||
namespace BuildFlow.Platform.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,13 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
|
||||
namespace BuildFlow.Platform.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,13 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
|
||||
namespace BuildFlow.Platform.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,12 +1,5 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
|
||||
namespace BuildFlow.Platform.Infrastructure.Persistence.Configurations;
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
|
||||
@ -2,12 +2,7 @@ using MediatR;
|
||||
using BuildFlow.Application.Chat.DTOs;
|
||||
using BuildFlow.Shared.Domain.Common;
|
||||
using BuildFlow.Shared.Domain.Exceptions;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Infrastructure.Persistence;
|
||||
using BuildFlow.Application.Chat.Commands;
|
||||
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using MediatR;
|
||||
using BuildFlow.Application.Chat.DTOs;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Shared.Domain.Exceptions;
|
||||
using BuildFlow.Domain.Interfaces;
|
||||
|
||||
@ -3,12 +3,8 @@ using MediatR;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using BuildFlow.Application.Document.DTOs;
|
||||
using BuildFlow.Domain.Interfaces;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Shared.Domain.Exceptions;
|
||||
using BuildFlow.Infrastructure.Persistence;
|
||||
|
||||
@ -1,8 +1,3 @@
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
|
||||
namespace BuildFlow.Domain.Interfaces;
|
||||
|
||||
@ -2,8 +2,6 @@ using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Net.Http.Headers;
|
||||
using Microsoft.Extensions.AI;
|
||||
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Domain.Interfaces;
|
||||
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using System.Data.Common;
|
||||
using System.Text.RegularExpressions;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Domain.Interfaces;
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
|
||||
namespace BuildFlow.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
|
||||
namespace BuildFlow.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
|
||||
namespace BuildFlow.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
|
||||
namespace BuildFlow.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
|
||||
namespace BuildFlow.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,10 +1,5 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
|
||||
namespace BuildFlow.Infrastructure.Persistence.Configurations;
|
||||
|
||||
@ -3,7 +3,6 @@ using MediatR;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Scripting.Application.Commands;
|
||||
using Scripting.Application.DTOs;
|
||||
using Scripting.Domain.Entities.ScriptExecutionLog;
|
||||
using Scripting.Domain.Entities.ScriptFunction;
|
||||
using Scripting.Domain.Enums;
|
||||
using Scripting.Infrastructure.Persistence;
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using Scripting.Domain.Entities.ScriptExecutionLog;
|
||||
using Scripting.Domain.Entities.ScriptFunction;
|
||||
|
||||
namespace Scripting.Infrastructure.Persistence.Configurations;
|
||||
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using Scripting.Domain.Entities.ScriptExecutionLog;
|
||||
using Scripting.Domain.Entities.ScriptFunction;
|
||||
|
||||
namespace Scripting.Infrastructure.Persistence.Configurations;
|
||||
|
||||
@ -3,11 +3,6 @@ using BuildFlow.Shared.Infrastructure;
|
||||
using File.Application.Features.Files.Handlers;
|
||||
using File.Application.Features.Files.Queries;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
using FluentAssertions;
|
||||
|
||||
@ -4,11 +4,6 @@ using File.Application.Common;
|
||||
using File.Application.Features.Files.Commands;
|
||||
using File.Application.Features.Files.Handlers;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
using FluentAssertions;
|
||||
|
||||
@ -14,11 +14,7 @@ using File.Application.Features.Shares.Commands;
|
||||
using File.Application.Features.Shares.Handlers;
|
||||
using File.Application.Features.Shares.Queries;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
using FluentAssertions;
|
||||
|
||||
@ -5,10 +5,7 @@ using File.Application.Features.Multipart.Commands;
|
||||
using File.Application.Features.Multipart.DTOs;
|
||||
using File.Application.Features.Multipart.Handlers;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
|
||||
@ -6,11 +6,7 @@ using File.Application.Features.Multipart.Commands;
|
||||
using File.Application.Features.Multipart.DTOs;
|
||||
using File.Application.Features.Multipart.Handlers;
|
||||
using File.Application.Features.Multipart.Queries;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Domain.Exceptions;
|
||||
using File.Infrastructure.Persistence;
|
||||
|
||||
@ -4,11 +4,7 @@ using BuildFlow.Shared.Infrastructure;
|
||||
using File.Application.Features.Shares.Handlers;
|
||||
using File.Application.Features.Shares.Queries;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Domain.Exceptions;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
|
||||
@ -4,11 +4,6 @@ using File.Application.Common;
|
||||
using File.Application.Features.Files.Commands;
|
||||
using File.Application.Features.Files.Handlers;
|
||||
using File.Domain.Entities.FileMeta;
|
||||
using File.Domain.Entities.FileSetting;
|
||||
using File.Domain.Entities.Folder;
|
||||
using File.Domain.Entities.MultipartUploadSession;
|
||||
using File.Domain.Entities.ShareLink;
|
||||
using File.Domain.Values;
|
||||
using File.Domain.Exceptions;
|
||||
using File.Infrastructure.Persistence;
|
||||
using File.Infrastructure.Storage;
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
using IM.Domain.Entities.Conversation;
|
||||
using IM.Domain.Entities.ConversationParticipant;
|
||||
using IM.Domain.Entities.Group;
|
||||
using IM.Domain.Entities.GroupMember;
|
||||
using IM.Domain.Enums;
|
||||
|
||||
namespace BuildFlow.IM.Tests;
|
||||
|
||||
@ -2,12 +2,7 @@ using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Application.Menus.Commands;
|
||||
using BuildFlow.Platform.Application.Menus.Handlers;
|
||||
using BuildFlow.Platform.Application.Menus.Queries;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Domain.Enums;
|
||||
@ -19,7 +14,6 @@ using Microsoft.Extensions.DependencyInjection;
|
||||
using Xunit;
|
||||
|
||||
namespace BuildFlow.Platform.Tests.Menus;
|
||||
|
||||
/// <summary>
|
||||
/// 菜单管理测试。约束菜单主键使用 int64,并保证拖拽排序按 long Id 落库。
|
||||
/// </summary>
|
||||
@ -31,19 +25,14 @@ public class MenuSortTests
|
||||
typeof(MenuEntity).GetProperty(nameof(MenuEntity.Id))!.PropertyType.Should().Be(typeof(long));
|
||||
typeof(MenuEntity).GetProperty(nameof(MenuEntity.ParentId))!.PropertyType.Should().Be(typeof(long?));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task SortMenusCommand_ShouldUpdateMenusByInt64Ids()
|
||||
{
|
||||
await using var db = BuildInMemoryDb();
|
||||
db.Menus.AddRange(
|
||||
BuildMenu(1, "root", null, 0),
|
||||
BuildMenu(2, "child-a", 1, 0),
|
||||
BuildMenu(3, "child-b", 1, 1));
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
var handler = new SortMenusCommandHandler(db);
|
||||
|
||||
var affected = await handler.Handle(
|
||||
new SortMenusCommand(
|
||||
[
|
||||
@ -51,7 +40,6 @@ public class MenuSortTests
|
||||
new MenuSortItem(3, null, 0),
|
||||
]),
|
||||
CancellationToken.None);
|
||||
|
||||
affected.Should().Be(2);
|
||||
var childA = await db.Menus.SingleAsync(m => m.Id == 2);
|
||||
var childB = await db.Menus.SingleAsync(m => m.Id == 3);
|
||||
@ -59,36 +47,17 @@ public class MenuSortTests
|
||||
childA.Order.Should().Be(1);
|
||||
childB.ParentId.Should().BeNull();
|
||||
childB.Order.Should().Be(0);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task SortMenusCommand_ShouldRejectMovingMenuUnderDescendant()
|
||||
{
|
||||
await using var db = BuildInMemoryDb();
|
||||
db.Menus.AddRange(
|
||||
BuildMenu(1, "root", null, 0),
|
||||
BuildMenu(2, "child", 1, 0),
|
||||
BuildMenu(3, "grand-child", 2, 0));
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
var handler = new SortMenusCommandHandler(db);
|
||||
|
||||
var act = () => handler.Handle(
|
||||
new SortMenusCommand([new MenuSortItem(1, 3, 0)]),
|
||||
CancellationToken.None);
|
||||
|
||||
await act.Should().ThrowAsync<BusinessException>()
|
||||
.WithMessage("不能将菜单移动到自己的子菜单下面");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetAllMenusQuery_ShouldExposeBuildFlowFormRuntimeMetadata()
|
||||
{
|
||||
await using var db = BuildInMemoryDb();
|
||||
var userId = Guid.NewGuid();
|
||||
var roleId = Guid.NewGuid();
|
||||
var formId = Guid.NewGuid();
|
||||
|
||||
db.Users.Add(new UserEntity
|
||||
{
|
||||
Id = userId,
|
||||
@ -100,20 +69,11 @@ public class MenuSortTests
|
||||
OperatorIP = "127.0.0.1",
|
||||
});
|
||||
db.Roles.Add(new RoleEntity
|
||||
{
|
||||
Id = roleId,
|
||||
Name = "Admin",
|
||||
CreatedBy = "test",
|
||||
UpdatedBy = "test",
|
||||
OperatorIP = "127.0.0.1",
|
||||
});
|
||||
db.UserRoles.Add(new UserRoleEntity
|
||||
{
|
||||
UserId = userId,
|
||||
RoleId = roleId,
|
||||
CreatedBy = "test",
|
||||
UpdatedBy = "test",
|
||||
});
|
||||
db.Menus.Add(BuildMenu(
|
||||
100,
|
||||
"expense.request",
|
||||
@ -122,70 +82,24 @@ public class MenuSortTests
|
||||
renderType: MenuRenderTypeEnum.BuildFlowForm,
|
||||
formDefinitionId: formId,
|
||||
runtimeViewMode: MenuRuntimeViewModeEnum.List));
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
var handler = new GetAllMenusQueryHandler(db);
|
||||
|
||||
var routes = await handler.Handle(new GetAllMenusQuery(userId.ToString()), CancellationToken.None);
|
||||
|
||||
var route = routes.Should().ContainSingle().Subject;
|
||||
route.Component.Should().Be("/buildflow/runtime/index");
|
||||
route.Meta.RenderType.Should().Be("BuildFlowForm");
|
||||
route.Meta.FormDefinitionId.Should().Be(formId);
|
||||
route.Meta.RuntimeViewMode.Should().Be("List");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetAllMenusQuery_ShouldHideRestrictedMenuWithoutVisibleForbidden()
|
||||
{
|
||||
await using var db = BuildInMemoryDb();
|
||||
var userId = Guid.NewGuid();
|
||||
var roleId = Guid.NewGuid();
|
||||
|
||||
db.Users.Add(new UserEntity
|
||||
{
|
||||
Id = userId,
|
||||
Username = "viewer",
|
||||
Email = "viewer@buildflow.local",
|
||||
PasswordHash = "hash",
|
||||
CreatedBy = "test",
|
||||
UpdatedBy = "test",
|
||||
OperatorIP = "127.0.0.1",
|
||||
});
|
||||
db.Roles.Add(new RoleEntity
|
||||
{
|
||||
Id = roleId,
|
||||
Name = "Viewer",
|
||||
CreatedBy = "test",
|
||||
UpdatedBy = "test",
|
||||
OperatorIP = "127.0.0.1",
|
||||
});
|
||||
db.UserRoles.Add(new UserRoleEntity
|
||||
{
|
||||
UserId = userId,
|
||||
RoleId = roleId,
|
||||
CreatedBy = "test",
|
||||
UpdatedBy = "test",
|
||||
});
|
||||
db.Menus.Add(BuildMenu(200, "finance.expense", null, 0, authority: "Admin"));
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
var handler = new GetAllMenusQueryHandler(db);
|
||||
|
||||
var routes = await handler.Handle(new GetAllMenusQuery(userId.ToString()), CancellationToken.None);
|
||||
|
||||
routes.Should().BeEmpty();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetAllMenusQuery_ShouldReturnForbiddenVisibleMenuOnlyForUnauthorizedUser()
|
||||
{
|
||||
await using var db = BuildInMemoryDb();
|
||||
var viewerId = Guid.NewGuid();
|
||||
var adminId = Guid.NewGuid();
|
||||
var viewerRoleId = Guid.NewGuid();
|
||||
var adminRoleId = Guid.NewGuid();
|
||||
|
||||
db.Users.AddRange(
|
||||
new UserEntity
|
||||
{
|
||||
@ -197,78 +111,38 @@ public class MenuSortTests
|
||||
UpdatedBy = "test",
|
||||
OperatorIP = "127.0.0.1",
|
||||
},
|
||||
new UserEntity
|
||||
{
|
||||
Id = adminId,
|
||||
Username = "admin",
|
||||
Email = "admin@buildflow.local",
|
||||
PasswordHash = "hash",
|
||||
CreatedBy = "test",
|
||||
UpdatedBy = "test",
|
||||
OperatorIP = "127.0.0.1",
|
||||
});
|
||||
db.Roles.AddRange(
|
||||
new RoleEntity
|
||||
{
|
||||
Id = viewerRoleId,
|
||||
Name = "Viewer",
|
||||
CreatedBy = "test",
|
||||
UpdatedBy = "test",
|
||||
OperatorIP = "127.0.0.1",
|
||||
},
|
||||
new RoleEntity
|
||||
{
|
||||
Id = adminRoleId,
|
||||
Name = "Admin",
|
||||
CreatedBy = "test",
|
||||
UpdatedBy = "test",
|
||||
OperatorIP = "127.0.0.1",
|
||||
});
|
||||
db.UserRoles.AddRange(
|
||||
new UserRoleEntity
|
||||
{
|
||||
UserId = viewerId,
|
||||
RoleId = viewerRoleId,
|
||||
CreatedBy = "test",
|
||||
UpdatedBy = "test",
|
||||
},
|
||||
new UserRoleEntity
|
||||
{
|
||||
UserId = adminId,
|
||||
RoleId = adminRoleId,
|
||||
CreatedBy = "test",
|
||||
UpdatedBy = "test",
|
||||
});
|
||||
db.Menus.Add(BuildMenu(
|
||||
200,
|
||||
"finance.expense",
|
||||
null,
|
||||
0,
|
||||
authority: "Admin",
|
||||
menuVisibleWithForbidden: true));
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
var handler = new GetAllMenusQueryHandler(db);
|
||||
|
||||
var viewerRoutes = await handler.Handle(new GetAllMenusQuery(viewerId.ToString()), CancellationToken.None);
|
||||
var adminRoutes = await handler.Handle(new GetAllMenusQuery(adminId.ToString()), CancellationToken.None);
|
||||
|
||||
var viewerRoute = viewerRoutes.Should().ContainSingle().Subject;
|
||||
viewerRoute.Meta.Authority.Should().Equal("Admin");
|
||||
viewerRoute.Meta.MenuVisibleWithForbidden.Should().BeTrue();
|
||||
|
||||
var adminRoute = adminRoutes.Should().ContainSingle().Subject;
|
||||
adminRoute.Meta.Authority.Should().Equal("Admin");
|
||||
adminRoute.Meta.MenuVisibleWithForbidden.Should().BeNull();
|
||||
}
|
||||
|
||||
private static PlatformDbContext BuildInMemoryDb()
|
||||
{
|
||||
var services = new ServiceCollection();
|
||||
services.AddDbContext<PlatformDbContext>(o => o.UseInMemoryDatabase($"platform-menu-{Guid.NewGuid()}"));
|
||||
return services.BuildServiceProvider().GetRequiredService<PlatformDbContext>();
|
||||
}
|
||||
|
||||
private static MenuEntity BuildMenu(
|
||||
long id,
|
||||
string code,
|
||||
@ -280,7 +154,6 @@ public class MenuSortTests
|
||||
string? authority = null,
|
||||
bool menuVisibleWithForbidden = false)
|
||||
=> new()
|
||||
{
|
||||
Id = id,
|
||||
Code = code,
|
||||
Name = code.Replace(".", "-", StringComparison.Ordinal),
|
||||
@ -293,10 +166,7 @@ public class MenuSortTests
|
||||
RuntimeViewMode = runtimeViewMode,
|
||||
Authority = authority,
|
||||
MenuVisibleWithForbidden = menuVisibleWithForbidden,
|
||||
CreatedBy = "test",
|
||||
CreatedAt = DateTime.UtcNow,
|
||||
UpdatedBy = "test",
|
||||
UpdatedAt = DateTime.UtcNow,
|
||||
OperatorIP = "127.0.0.1",
|
||||
};
|
||||
}
|
||||
|
||||
@ -2,14 +2,6 @@ using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Application.Notifications.Commands;
|
||||
using BuildFlow.Platform.Application.Notifications.Handlers;
|
||||
using BuildFlow.Platform.Application.Notifications.Queries;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
using FluentAssertions;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
@ -18,7 +10,6 @@ using Xunit;
|
||||
using INotificationDispatcher = BuildFlow.Platform.Application.Notifications.INotificationDispatcher;
|
||||
|
||||
namespace BuildFlow.Platform.Tests.Notifications;
|
||||
|
||||
/// <summary>
|
||||
/// [SOP-PLATFORM-02] 通知系统全 Handler 覆盖测试。
|
||||
/// 覆盖:Publish(Fanout) / GetNotifications(分页) / GetUnreadCount / MarkRead / MarkAllRead。
|
||||
@ -28,7 +19,6 @@ public class NotificationHandlerTests
|
||||
{
|
||||
private static PlatformDbContext CreateDb([System.Runtime.CompilerServices.CallerMemberName] string name = "")
|
||||
=> PlatformTestDb.CreateDbContext(name);
|
||||
|
||||
private static NotificationEntity NewNotification(Guid recipient, bool read = false, string type = "system")
|
||||
=> PlatformTestDb.WithAudit(new NotificationEntity
|
||||
{
|
||||
@ -40,7 +30,6 @@ public class NotificationHandlerTests
|
||||
IsRead = read,
|
||||
ReadAt = read ? DateTime.UtcNow : null
|
||||
});
|
||||
|
||||
[Fact]
|
||||
public async Task Publish_WithRecipientUserIds_FanoutAndDispatch()
|
||||
{
|
||||
@ -49,11 +38,9 @@ public class NotificationHandlerTests
|
||||
var u1 = Guid.NewGuid();
|
||||
var u2 = Guid.NewGuid();
|
||||
var handler = new PublishNotificationCommandHandler(db, dispatcher);
|
||||
|
||||
var count = await handler.Handle(new PublishNotificationCommand(
|
||||
"task-arrived", "标题", "内容", "workflow", null, "workflow-instance",
|
||||
new[] { u1, u2 }, null), CancellationToken.None);
|
||||
|
||||
count.Should().Be(2);
|
||||
(await db.Notifications.IgnoreQueryFilters().ToListAsync())
|
||||
.Should().HaveCount(2);
|
||||
@ -61,116 +48,47 @@ public class NotificationHandlerTests
|
||||
Arg.Is<IReadOnlyList<NotificationEntity>>(l => l.Count == 2),
|
||||
Arg.Any<CancellationToken>());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Publish_NoRecipients_ReturnsZeroAndNoDispatch()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var dispatcher = Substitute.For<INotificationDispatcher>();
|
||||
var handler = new PublishNotificationCommandHandler(db, dispatcher);
|
||||
|
||||
var count = await handler.Handle(new PublishNotificationCommand(
|
||||
"system", "t", "c", "system", null, null, null, null), CancellationToken.None);
|
||||
|
||||
count.Should().Be(0);
|
||||
await dispatcher.DidNotReceiveWithAnyArgs().DispatchAsync(default!, default);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetNotifications_Paginated_ReturnsUserOnly()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var me = Guid.NewGuid();
|
||||
var other = Guid.NewGuid();
|
||||
db.Notifications.AddRange(NewNotification(me), NewNotification(me), NewNotification(other));
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new GetNotificationsQueryHandler(db);
|
||||
|
||||
var result = await handler.Handle(
|
||||
new GetNotificationsQuery(me, false, 1, 10), CancellationToken.None);
|
||||
|
||||
result.Items.Should().HaveCount(2);
|
||||
result.Items.Should().OnlyContain(n => n.RecipientUserId == me);
|
||||
result.Total.Should().Be(2);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetNotifications_UnreadOnly_FiltersRead()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var me = Guid.NewGuid();
|
||||
db.Notifications.AddRange(NewNotification(me, read: true), NewNotification(me, read: false));
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new GetNotificationsQueryHandler(db);
|
||||
|
||||
var result = await handler.Handle(
|
||||
new GetNotificationsQuery(me, true, 1, 10), CancellationToken.None);
|
||||
|
||||
result.Items.Should().HaveCount(1);
|
||||
result.Items[0].IsRead.Should().BeFalse();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetUnreadCount_ReturnsOnlyUnread()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var me = Guid.NewGuid();
|
||||
db.Notifications.AddRange(
|
||||
NewNotification(me, read: false),
|
||||
NewNotification(me, read: false),
|
||||
NewNotification(me, read: true));
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new GetUnreadNotificationCountQueryHandler(db);
|
||||
|
||||
var count = await handler.Handle(new GetUnreadNotificationCountQuery(me), CancellationToken.None);
|
||||
|
||||
count.Should().Be(2);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task MarkRead_ExistingUnread_MarksAndReturnsTrue()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var me = Guid.NewGuid();
|
||||
var n = NewNotification(me, read: false);
|
||||
db.Notifications.Add(n);
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new MarkNotificationReadCommandHandler(db);
|
||||
|
||||
var ok = await handler.Handle(new MarkNotificationReadCommand(n.Id, me), CancellationToken.None);
|
||||
|
||||
ok.Should().BeTrue();
|
||||
(await db.Notifications.FindAsync(n.Id))!.IsRead.Should().BeTrue();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task MarkRead_NonExistent_ReturnsFalse()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var handler = new MarkNotificationReadCommandHandler(db);
|
||||
|
||||
var ok = await handler.Handle(
|
||||
new MarkNotificationReadCommand(Guid.NewGuid(), Guid.NewGuid()), CancellationToken.None);
|
||||
|
||||
ok.Should().BeFalse();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task MarkAllRead_MarksAllForUser()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var me = Guid.NewGuid();
|
||||
var other = Guid.NewGuid();
|
||||
db.Notifications.AddRange(
|
||||
NewNotification(me, read: false),
|
||||
NewNotification(me, read: false),
|
||||
NewNotification(other, read: false));
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new MarkAllNotificationsReadCommandHandler(db);
|
||||
|
||||
var affected = await handler.Handle(new MarkAllNotificationsReadCommand(me), CancellationToken.None);
|
||||
|
||||
affected.Should().Be(2);
|
||||
(await db.Notifications.CountAsync(n => n.RecipientUserId == me && !n.IsRead)).Should().Be(0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,14 +2,8 @@ using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Application.Permissions.Commands;
|
||||
using BuildFlow.Platform.Application.Permissions.Handlers;
|
||||
using BuildFlow.Platform.Application.Permissions.Queries;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
using BuildFlow.Shared.Domain.Exceptions;
|
||||
using FluentAssertions;
|
||||
@ -17,7 +11,6 @@ using Microsoft.EntityFrameworkCore;
|
||||
using Xunit;
|
||||
|
||||
namespace BuildFlow.Platform.Tests.Permissions;
|
||||
|
||||
/// <summary>
|
||||
/// [SOP-PLATFORM] 权限管理全 Handler 覆盖测试。
|
||||
/// 覆盖:Create / Update / Delete / GetList / GetById / GetTree。
|
||||
@ -27,7 +20,6 @@ public class PermissionHandlerTests
|
||||
{
|
||||
private static PlatformDbContext CreateDb([System.Runtime.CompilerServices.CallerMemberName] string name = "")
|
||||
=> PlatformTestDb.CreateDbContext(name);
|
||||
|
||||
private static PermissionEntity NewPermission(string code, string? group = "TestGroup")
|
||||
=> PlatformTestDb.WithAudit(new PermissionEntity
|
||||
{
|
||||
@ -36,162 +28,70 @@ public class PermissionHandlerTests
|
||||
Description = "desc",
|
||||
Group = group
|
||||
});
|
||||
|
||||
[Fact]
|
||||
public async Task Create_Valid_ReturnsDto()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var handler = new CreatePermissionCommandHandler(db);
|
||||
|
||||
var result = await handler.Handle(
|
||||
new CreatePermissionCommand("创建用户", "user:create", "描述", "UserManagement"),
|
||||
CancellationToken.None);
|
||||
|
||||
result.Code.Should().Be("user:create");
|
||||
result.Name.Should().Be("创建用户");
|
||||
(await db.Permissions.CountAsync()).Should().Be(1);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Create_DuplicateCode_ThrowsBusiness()
|
||||
{
|
||||
var db = CreateDb();
|
||||
db.Permissions.Add(NewPermission("user:create"));
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new CreatePermissionCommandHandler(db);
|
||||
|
||||
var act = async () => await handler.Handle(
|
||||
new CreatePermissionCommand("重复", "user:create", null, null), CancellationToken.None);
|
||||
|
||||
await act.Should().ThrowAsync<BusinessException>("Code 唯一,重复应拒绝");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Update_Existing_OverwritesNullableFields()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var p = NewPermission("user:read");
|
||||
db.Permissions.Add(p);
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new UpdatePermissionCommandHandler(db);
|
||||
|
||||
var result = await handler.Handle(
|
||||
new UpdatePermissionCommand(p.Id, "新名称", "新描述", "NewGroup"), CancellationToken.None);
|
||||
|
||||
result.Name.Should().Be("新名称");
|
||||
result.Description.Should().Be("新描述");
|
||||
result.Group.Should().Be("NewGroup");
|
||||
result.Code.Should().Be("user:read", "Code 不可改");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Update_NonExistent_ThrowsNotFound()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var handler = new UpdatePermissionCommandHandler(db);
|
||||
|
||||
var act = async () => await handler.Handle(
|
||||
new UpdatePermissionCommand(Guid.NewGuid(), "x", null, null), CancellationToken.None);
|
||||
|
||||
await act.Should().ThrowAsync<NotFoundException>();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Delete_Existing_RemovesAndUnlinksRoles()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var p = NewPermission("user:delete");
|
||||
var role = PlatformTestDb.WithAudit(new RoleEntity { Name = "Admin" });
|
||||
var link = new RolePermissionEntity { RoleEntity = role, PermissionEntity = p };
|
||||
db.Permissions.Add(p);
|
||||
db.Roles.Add(role);
|
||||
db.RolePermissions.Add(link);
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new DeletePermissionCommandHandler(db);
|
||||
|
||||
await handler.Handle(new DeletePermissionCommand(p.Id), CancellationToken.None);
|
||||
|
||||
(await db.Permissions.AnyAsync(x => x.Id == p.Id)).Should().BeFalse("软删后不可见");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Delete_NonExistent_ThrowsNotFound()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var handler = new DeletePermissionCommandHandler(db);
|
||||
|
||||
var act = async () => await handler.Handle(new DeletePermissionCommand(Guid.NewGuid()), CancellationToken.None);
|
||||
|
||||
await act.Should().ThrowAsync<NotFoundException>();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetList_ReturnsAll()
|
||||
{
|
||||
var db = CreateDb();
|
||||
db.Permissions.AddRange(NewPermission("p1"), NewPermission("p2"));
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new GetPermissionListQueryHandler(db);
|
||||
|
||||
var result = await handler.Handle(new GetPermissionListQuery(), CancellationToken.None);
|
||||
|
||||
result.Should().HaveCount(2);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetById_Existing_ReturnsDto()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var p = NewPermission("user:read");
|
||||
db.Permissions.Add(p);
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new GetPermissionByIdQueryHandler(db);
|
||||
|
||||
var result = await handler.Handle(new GetPermissionByIdQuery(p.Id), CancellationToken.None);
|
||||
|
||||
result.Code.Should().Be("user:read");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetById_NonExistent_ThrowsNotFound()
|
||||
{
|
||||
var db = CreateDb();
|
||||
var handler = new GetPermissionByIdQueryHandler(db);
|
||||
|
||||
var act = async () => await handler.Handle(new GetPermissionByIdQuery(Guid.NewGuid()), CancellationToken.None);
|
||||
|
||||
await act.Should().ThrowAsync<NotFoundException>();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetTree_GroupsByGroupField()
|
||||
{
|
||||
var db = CreateDb();
|
||||
db.Permissions.AddRange(
|
||||
NewPermission("a:1", "GroupA"),
|
||||
NewPermission("a:2", "GroupA"),
|
||||
NewPermission("b:1", "GroupB"));
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new GetPermissionTreeQueryHandler(db);
|
||||
|
||||
var tree = await handler.Handle(new GetPermissionTreeQuery(), CancellationToken.None);
|
||||
|
||||
tree.Should().HaveCount(2);
|
||||
tree.First(g => g.Group == "GroupA").Permissions.Should().HaveCount(2);
|
||||
tree.First(g => g.Group == "GroupB").Permissions.Should().HaveCount(1);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetTree_NullGroup_GoesToUngrouped()
|
||||
{
|
||||
var db = CreateDb();
|
||||
db.Permissions.Add(NewPermission("no:group", null));
|
||||
await db.SaveChangesAsync();
|
||||
var handler = new GetPermissionTreeQueryHandler(db);
|
||||
|
||||
var tree = await handler.Handle(new GetPermissionTreeQuery(), CancellationToken.None);
|
||||
|
||||
tree.Should().ContainSingle();
|
||||
tree[0].Group.Should().Be("未分组");
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,18 +3,9 @@ using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
using BuildFlow.Platform.Domain.Entities.Menu;
|
||||
using BuildFlow.Platform.Domain.Entities.Notification;
|
||||
using BuildFlow.Platform.Domain.Entities.Permission;
|
||||
using BuildFlow.Platform.Domain.Entities.RefreshToken;
|
||||
using BuildFlow.Platform.Domain.Entities.Role;
|
||||
using BuildFlow.Platform.Domain.Entities.RolePermission;
|
||||
using BuildFlow.Platform.Domain.Entities.User;
|
||||
using BuildFlow.Platform.Domain.Entities.UserRole;
|
||||
using BuildFlow.Platform.Infrastructure.Persistence;
|
||||
|
||||
namespace BuildFlow.Platform.Tests;
|
||||
|
||||
/// <summary>
|
||||
/// Platform 模块测试基础设施:InMemory PlatformDbContext 工厂 + JWT 配置构造 + 审计字段填充 helper。
|
||||
/// </summary>
|
||||
@ -38,10 +29,8 @@ internal static class PlatformTestDb
|
||||
db.SavingChanges += AutoFillAuditFields;
|
||||
return db;
|
||||
}
|
||||
|
||||
/// <summary>SavingChanges 回调:自动填充审计字段,模拟生产 AuditInterceptor 行为。</summary>
|
||||
private static void AutoFillAuditFields(object? sender, EventArgs _)
|
||||
{
|
||||
if (sender is not Microsoft.EntityFrameworkCore.DbContext ctx) return;
|
||||
foreach (var entry in ctx.ChangeTracker.Entries())
|
||||
{
|
||||
@ -53,36 +42,26 @@ internal static class PlatformTestDb
|
||||
if (a.UpdatedAt == default) a.UpdatedAt = DateTime.UtcNow;
|
||||
}
|
||||
if (entry.Entity is BuildFlow.Shared.Domain.Common.IHasOperatorIP o)
|
||||
{
|
||||
o.OperatorIP ??= "127.0.0.1";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>构造测试用 IConfiguration(提供 JWT 签发所需的 SigningKey/Issuer/Audience)。</summary>
|
||||
/// <remarks>
|
||||
/// 用字典实现而非 NSubstitute mock:因为 <c>GetValue<T></c> 是扩展方法,
|
||||
/// 内部走 ConfigurationBinder 对 this[key] 做类型转换,mock 对未设置的 key 返回空串会导致 Int32 解析失败。
|
||||
/// 字典实现让未设置的 key 返回 null,使扩展方法回退到默认值。
|
||||
/// </remarks>
|
||||
public static IConfiguration CreateConfig() => new DictionaryConfiguration
|
||||
{
|
||||
["Jwt:SigningKey"] = "TestSigningKeyMustBeAtLeast32CharsLong!!",
|
||||
["Jwt:Issuer"] = "test-issuer",
|
||||
["Jwt:Audience"] = "test-audience",
|
||||
["Jwt:AccessTokenMinutes"] = "240",
|
||||
["Jwt:RefreshTokenDays"] = "7",
|
||||
};
|
||||
|
||||
/// <summary>填充 IFullAudit 实体的必填审计字段,避免 EF 保存时非空校验失败。</summary>
|
||||
public static T WithAudit<T>(T entity) where T : class
|
||||
{
|
||||
var createdBy = entity.GetType().GetProperty("CreatedBy");
|
||||
var updatedBy = entity.GetType().GetProperty("UpdatedBy");
|
||||
var operatorIP = entity.GetType().GetProperty("OperatorIP");
|
||||
var createdAt = entity.GetType().GetProperty("CreatedAt");
|
||||
var updatedAt = entity.GetType().GetProperty("UpdatedAt");
|
||||
|
||||
if (createdBy is not null && createdBy.GetValue(entity) is null or "")
|
||||
createdBy.SetValue(entity, "test");
|
||||
if (updatedBy is not null && updatedBy.GetValue(entity) is null or "")
|
||||
@ -93,10 +72,7 @@ internal static class PlatformTestDb
|
||||
createdAt.SetValue(entity, DateTime.UtcNow);
|
||||
if (updatedAt is not null && (DateTime)updatedAt.GetValue(entity)! == default)
|
||||
updatedAt.SetValue(entity, DateTime.UtcNow);
|
||||
|
||||
return entity;
|
||||
}
|
||||
|
||||
/// <summary>构造一个已持久化的测试用户(含 BCrypt 密码哈希)。</summary>
|
||||
public static async Task<UserEntity> SeedUserAsync(
|
||||
PlatformDbContext db,
|
||||
@ -105,9 +81,7 @@ internal static class PlatformTestDb
|
||||
string password = "Admin@123",
|
||||
bool isActive = true,
|
||||
int permissionVersion = 0)
|
||||
{
|
||||
var user = WithAudit(new UserEntity
|
||||
{
|
||||
Id = id,
|
||||
Username = username,
|
||||
Email = $"{username}@test.local",
|
||||
@ -118,68 +92,39 @@ internal static class PlatformTestDb
|
||||
db.Users.Add(user);
|
||||
await db.SaveChangesAsync();
|
||||
return user;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 极简字典实现的 IConfiguration,仅供测试使用。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 完整实现 GetSection/GetChildren,让 GetValue<T> 扩展方法(走 ConfigurationBinder)能正确工作。
|
||||
/// 注意:ConfigurationBinder.GetValue 内部调用 GetSection(key).Value,故必须返回有效 section。
|
||||
/// </remarks>
|
||||
internal sealed class DictionaryConfiguration : IConfiguration
|
||||
{
|
||||
private readonly Dictionary<string, string?> _values = [];
|
||||
|
||||
public string? this[string key]
|
||||
{
|
||||
get => _values.TryGetValue(key, out var v) ? v : null;
|
||||
set => _values[key] = value;
|
||||
}
|
||||
|
||||
// 支持集合初始化器语法:new DictionaryConfiguration { ["k"] = "v" }
|
||||
public void Add(string key, string? value) => _values[key] = value;
|
||||
|
||||
IEnumerable<IConfigurationSection> IConfiguration.GetChildren() =>
|
||||
_values.Select(kv => (IConfigurationSection)new LeafSection(kv.Key, kv.Value)).ToList();
|
||||
|
||||
IChangeToken IConfiguration.GetReloadToken() => EmptyChangeToken.Instance;
|
||||
|
||||
IConfigurationSection IConfiguration.GetSection(string key) =>
|
||||
new LeafSection(key, _values.TryGetValue(key, out var v) ? v : null);
|
||||
|
||||
private sealed class LeafSection(string key, string? value) : IConfigurationSection
|
||||
{
|
||||
public string Key => key;
|
||||
public string Path => key;
|
||||
public string? Value { get; set; } = value;
|
||||
|
||||
string? IConfiguration.this[string childKey]
|
||||
{
|
||||
get => null;
|
||||
set { }
|
||||
}
|
||||
|
||||
IConfigurationSection IConfiguration.GetSection(string childKey) =>
|
||||
new LeafSection($"{key}:{childKey}", null);
|
||||
|
||||
IEnumerable<IConfigurationSection> IConfiguration.GetChildren() => [];
|
||||
IChangeToken IConfiguration.GetReloadToken() => EmptyChangeToken.Instance;
|
||||
}
|
||||
|
||||
/// <summary>永不变更的占位 IChangeToken,避免引入额外包依赖。</summary>
|
||||
private sealed class EmptyChangeToken : IChangeToken
|
||||
{
|
||||
public static readonly EmptyChangeToken Instance = new();
|
||||
public bool ActiveChangeCallbacks => false;
|
||||
public bool HasChanged => false;
|
||||
public IDisposable RegisterChangeCallback(Action<object> callback, object? state) =>
|
||||
new NoopDisposable();
|
||||
private sealed class NoopDisposable : IDisposable
|
||||
{
|
||||
public void Dispose() { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Infrastructure.AI;
|
||||
using BuildFlow.Infrastructure.Persistence;
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
using BuildFlow.Application.Chat.Commands;
|
||||
using BuildFlow.Application.Chat.Handlers;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Infrastructure.Persistence;
|
||||
using BuildFlow.Rag.Tests.Stub;
|
||||
|
||||
@ -5,12 +5,9 @@ using BuildFlow.Application.Embedding.Handlers;
|
||||
using BuildFlow.Application.Chat.Commands;
|
||||
using BuildFlow.Application.Chat.Handlers;
|
||||
using BuildFlow.Application.Chat.Queries;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Domain.Interfaces;
|
||||
using BuildFlow.Infrastructure.Persistence;
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
using BuildFlow.Application.Document.Handlers;
|
||||
using BuildFlow.Application.Document.Queries;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Domain.Interfaces;
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
using BuildFlow.Application.RagQA.Commands;
|
||||
using BuildFlow.Application.RagQA.Handlers;
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Enums;
|
||||
using BuildFlow.Domain.Interfaces;
|
||||
|
||||
@ -1,8 +1,3 @@
|
||||
using BuildFlow.Domain.Entities.AiModel;
|
||||
using BuildFlow.Domain.Entities.ChatMessage;
|
||||
using BuildFlow.Domain.Entities.Conversation;
|
||||
using BuildFlow.Domain.Entities.Document;
|
||||
using BuildFlow.Domain.Entities.DocumentChunk;
|
||||
using BuildFlow.Domain.Entities.KnowledgeBase;
|
||||
using BuildFlow.Domain.Interfaces;
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@ using FluentAssertions;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Scripting.Application.Commands;
|
||||
using Scripting.Application.Handlers;
|
||||
using Scripting.Domain.Entities.ScriptExecutionLog;
|
||||
using Scripting.Domain.Entities.ScriptFunction;
|
||||
using Scripting.Domain.Enums;
|
||||
using Scripting.Infrastructure.Persistence;
|
||||
|
||||
@ -5,7 +5,6 @@ using MediatR;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using NSubstitute;
|
||||
using Scripting.Application.Services;
|
||||
using Scripting.Domain.Entities.ScriptExecutionLog;
|
||||
using Scripting.Domain.Entities.ScriptFunction;
|
||||
using Scripting.Domain.Enums;
|
||||
using Scripting.Infrastructure.Persistence;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user