From 014dceca976a391ace1689e5a51751d65d78a197 Mon Sep 17 00:00:00 2001 From: wzh425 Date: Tue, 10 Dec 2024 16:31:20 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20refactor:=20Global=20using=20organi?= =?UTF-8?q?zation=20and=20use=20UtcNow=20(#363)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Support PostgreSQL * ⚡ refactor: Global using organization and use UtcNow --- Directory.Build.props | 2 +- .../Dtos/AlarmRuleSearchTimeTypes.cs | 10 ++++ .../AlarmRules/Dtos/GetAlarmRuleInputDto.cs | 8 +-- .../Commands/CheckAlarmRuleCommandHandler.cs | 6 +- .../SendAlarmNotificationEventHandler.cs | 2 +- .../Masa.Alert.Domain.Shared/_Imports.cs | 3 +- .../Aggregates/AlarmHandleStatusCommit.cs | 2 +- .../AlarmHistories/Aggregates/AlarmHistory.cs | 10 ++-- .../AlarmRules/Aggregates/AlarmRule.cs | 2 +- src/Domain/Masa.Alert.Domain/_Imports.cs | 55 +++++++++---------- .../_Imports.cs | 3 +- .../_Imports.cs | 2 - .../_Imports.cs | 3 - .../Masa.Alert.Web.Admin.Server/_Imports.cs | 46 ++++++++-------- .../Modules/Alarm/AlarmPreviewChart.razor | 4 +- .../Masa.Alert.Web.Admin.csproj | 7 ++- .../Modules/LogAlarmRuleUpsertModal.razor.cs | 2 +- .../MetricAlarmRuleUpsertModal.razor.cs | 2 +- src/Web/Masa.Alert.Web.Admin/_Imports.razor | 1 - 19 files changed, 84 insertions(+), 86 deletions(-) create mode 100644 src/Application/Masa.Alert.Application.Contracts/AlarmRules/Dtos/AlarmRuleSearchTimeTypes.cs diff --git a/Directory.Build.props b/Directory.Build.props index a333c18f..46818a04 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ 1.2.0-preview.5 - 1.2.1-preview.8 + 1.2.1-preview.9 6.0.8 diff --git a/src/Application/Masa.Alert.Application.Contracts/AlarmRules/Dtos/AlarmRuleSearchTimeTypes.cs b/src/Application/Masa.Alert.Application.Contracts/AlarmRules/Dtos/AlarmRuleSearchTimeTypes.cs new file mode 100644 index 00000000..6589b3ae --- /dev/null +++ b/src/Application/Masa.Alert.Application.Contracts/AlarmRules/Dtos/AlarmRuleSearchTimeTypes.cs @@ -0,0 +1,10 @@ +// Copyright (c) MASA Stack All rights reserved. +// Licensed under the Apache License. See LICENSE.txt in the project root for license information. + +namespace Masa.Alert.Application.Contracts.AlarmRules.Dtos; + +public enum AlarmRuleSearchTimeTypes +{ + ModificationTime = 1, + CreationTime, +} diff --git a/src/Application/Masa.Alert.Application.Contracts/AlarmRules/Dtos/GetAlarmRuleInputDto.cs b/src/Application/Masa.Alert.Application.Contracts/AlarmRules/Dtos/GetAlarmRuleInputDto.cs index e58e398e..542dea71 100644 --- a/src/Application/Masa.Alert.Application.Contracts/AlarmRules/Dtos/GetAlarmRuleInputDto.cs +++ b/src/Application/Masa.Alert.Application.Contracts/AlarmRules/Dtos/GetAlarmRuleInputDto.cs @@ -45,10 +45,4 @@ public GetAlarmRuleInputDto(string filter, AlarmRuleTypes type, AlarmRuleSearchT AppIdentity = appIdentity; MetricId = metricId; } -} - -public enum AlarmRuleSearchTimeTypes -{ - ModificationTime = 1, - CreationTime, -} +} \ No newline at end of file diff --git a/src/Application/Masa.Alert.Application/AlarmRules/Commands/CheckAlarmRuleCommandHandler.cs b/src/Application/Masa.Alert.Application/AlarmRules/Commands/CheckAlarmRuleCommandHandler.cs index de553a03..599e4681 100644 --- a/src/Application/Masa.Alert.Application/AlarmRules/Commands/CheckAlarmRuleCommandHandler.cs +++ b/src/Application/Masa.Alert.Application/AlarmRules/Commands/CheckAlarmRuleCommandHandler.cs @@ -45,7 +45,7 @@ public async Task QueryRulesAsync(CheckAlarmRuleCommand command) public async Task QueryAggregationAsync(CheckAlarmRuleCommand command) { var alarmRule = command.AlarmRule; - var checkTime = command.ExcuteTime ?? DateTimeOffset.Now; + var checkTime = command.ExcuteTime ?? DateTimeOffset.UtcNow; var latest = await _domainService.GetLatest(alarmRule.Id); var startTime = alarmRule.GetStartCheckTime(checkTime, latest); @@ -77,11 +77,11 @@ public async Task ExecuteRulesAsync(CheckAlarmRuleCommand command) { if (command.IsStop) { - await _domainService.AddAggregateResult(command.AlarmRule.Id, command.ExcuteTime ?? DateTimeOffset.Now, command.AggregateResult, false, 0, new List()); + await _domainService.AddAggregateResult(command.AlarmRule.Id, command.ExcuteTime ?? DateTimeOffset.UtcNow, command.AggregateResult, false, 0, new List()); return; } - await _domainService.CheckRuleAsync(command.ExcuteTime ?? DateTimeOffset.Now, command.AlarmRule, command.AggregateResult); + await _domainService.CheckRuleAsync(command.ExcuteTime ?? DateTimeOffset.UtcNow, command.AlarmRule, command.AggregateResult); } private async Task> QueryLogAggregationAsync(AlarmRule alarmRule, DateTime startTime, DateTime endTime, CheckAlarmRuleCommand command) diff --git a/src/Application/Masa.Alert.Application/AlarmRules/EventHandler/SendAlarmNotificationEventHandler.cs b/src/Application/Masa.Alert.Application/AlarmRules/EventHandler/SendAlarmNotificationEventHandler.cs index fd33dd16..b6f6ae5a 100644 --- a/src/Application/Masa.Alert.Application/AlarmRules/EventHandler/SendAlarmNotificationEventHandler.cs +++ b/src/Application/Masa.Alert.Application/AlarmRules/EventHandler/SendAlarmNotificationEventHandler.cs @@ -68,7 +68,7 @@ private void AddAggregateVariables(Dictionary variables, Concurr private async Task AddLogVariablesAsync(AlarmRule alarmRule, Dictionary variables) { - var checkTime = DateTimeOffset.Now; + var checkTime = DateTimeOffset.UtcNow; var latest = await _domainService.GetLatest(alarmRule.Id); var startTime = alarmRule.GetStartCheckTime(checkTime, latest); if (startTime == null) diff --git a/src/Domain/Masa.Alert.Domain.Shared/_Imports.cs b/src/Domain/Masa.Alert.Domain.Shared/_Imports.cs index 4925af55..e1567c8f 100644 --- a/src/Domain/Masa.Alert.Domain.Shared/_Imports.cs +++ b/src/Domain/Masa.Alert.Domain.Shared/_Imports.cs @@ -1,5 +1,4 @@ // Copyright (c) MASA Stack All rights reserved. // Licensed under the Apache License. See LICENSE.txt in the project root for license information. -global using System.Runtime.CompilerServices; -global using Masa.BuildingBlocks.Data.Contracts; \ No newline at end of file +global using System.Runtime.CompilerServices; \ No newline at end of file diff --git a/src/Domain/Masa.Alert.Domain/AlarmHistories/Aggregates/AlarmHandleStatusCommit.cs b/src/Domain/Masa.Alert.Domain/AlarmHistories/Aggregates/AlarmHandleStatusCommit.cs index f4f9bbb8..12f653ed 100644 --- a/src/Domain/Masa.Alert.Domain/AlarmHistories/Aggregates/AlarmHandleStatusCommit.cs +++ b/src/Domain/Masa.Alert.Domain/AlarmHistories/Aggregates/AlarmHandleStatusCommit.cs @@ -16,7 +16,7 @@ public class AlarmHandleStatusCommit : ValueObject public AlarmHandleStatusCommit(AlarmHistoryHandleStatuses status, Guid userId, string remarks) { Status = status; - CreationTime = DateTimeOffset.Now; + CreationTime = DateTimeOffset.UtcNow; UserId = userId; Remarks = remarks; } diff --git a/src/Domain/Masa.Alert.Domain/AlarmHistories/Aggregates/AlarmHistory.cs b/src/Domain/Masa.Alert.Domain/AlarmHistories/Aggregates/AlarmHistory.cs index 7cd044e6..1e141dee 100644 --- a/src/Domain/Masa.Alert.Domain/AlarmHistories/Aggregates/AlarmHistory.cs +++ b/src/Domain/Masa.Alert.Domain/AlarmHistories/Aggregates/AlarmHistory.cs @@ -40,8 +40,8 @@ public AlarmHistory(Guid alarmRuleId, AlertSeverity alertSeverity, bool isNotifi IsNotification = isNotification; RuleResultItems = ruleResultItems; AlarmCount = 1; - FirstAlarmTime = DateTimeOffset.Now; - LastAlarmTime = DateTimeOffset.Now; + FirstAlarmTime = DateTimeOffset.UtcNow; + LastAlarmTime = DateTimeOffset.UtcNow; Handle = new(); _handleStatusCommits.Add(new AlarmHandleStatusCommit(AlarmHistoryHandleStatuses.Pending, default, string.Empty)); @@ -49,7 +49,7 @@ public AlarmHistory(Guid alarmRuleId, AlertSeverity alertSeverity, bool isNotifi public void Recovery(bool isAuto) { - RecoveryTime = DateTimeOffset.Now; + RecoveryTime = DateTimeOffset.UtcNow; Duration = (long)(RecoveryTime - FirstAlarmTime).Value.TotalSeconds; if (isAuto) @@ -67,7 +67,7 @@ public void Update(AlertSeverity alertSeverity, bool isNotification, List aggregateResult, bool isTrigger, int consecutiveCount, List ruleResultItems) @@ -82,7 +82,7 @@ public void AddAlarmRuleRecord(DateTimeOffset excuteTime, ConcurrentDictionary aggregateResult) diff --git a/src/Domain/Masa.Alert.Domain/AlarmRules/Aggregates/AlarmRule.cs b/src/Domain/Masa.Alert.Domain/AlarmRules/Aggregates/AlarmRule.cs index bacebe42..ab1b8574 100644 --- a/src/Domain/Masa.Alert.Domain/AlarmRules/Aggregates/AlarmRule.cs +++ b/src/Domain/Masa.Alert.Domain/AlarmRules/Aggregates/AlarmRule.cs @@ -224,7 +224,7 @@ public bool CheckIsSilence(DateTimeOffset? lastNotificationTime) var silenceEndTime = GetSilenceEndTime(lastNotificationTime.Value); - if (!silenceEndTime.HasValue || DateTimeOffset.Now > silenceEndTime) + if (!silenceEndTime.HasValue || DateTimeOffset.UtcNow > silenceEndTime) { return false; } diff --git a/src/Domain/Masa.Alert.Domain/_Imports.cs b/src/Domain/Masa.Alert.Domain/_Imports.cs index b3b985ef..a03240fa 100644 --- a/src/Domain/Masa.Alert.Domain/_Imports.cs +++ b/src/Domain/Masa.Alert.Domain/_Imports.cs @@ -1,40 +1,39 @@ // Copyright (c) MASA Stack All rights reserved. // Licensed under the Apache License. See LICENSE.txt in the project root for license information. -global using Masa.BuildingBlocks.Ddd.Domain.Entities.Full; -global using Masa.BuildingBlocks.Ddd.Domain.Entities; -global using Masa.Alert.Domain.Shared.AlarmRules; +// System Namespaces +global using System.Collections.Concurrent; global using System.Collections.ObjectModel; + +// MASA Building Blocks and Contrib Packages +global using Masa.BuildingBlocks.Caching; +global using Masa.BuildingBlocks.Data; +global using Masa.BuildingBlocks.Data.Contracts; +global using Masa.BuildingBlocks.Ddd.Domain.Entities.Full; +global using Masa.BuildingBlocks.Ddd.Domain.Events; global using Masa.BuildingBlocks.Ddd.Domain.Repositories; -global using Masa.Alert.Domain.Shared.Enums; +global using Masa.BuildingBlocks.Ddd.Domain.Services; global using Masa.BuildingBlocks.Ddd.Domain.Values; -global using Masa.Contrib.Ddd.Domain; -global using Masa.BuildingBlocks.Ddd.Domain.Events; global using Masa.BuildingBlocks.RulesEngine; -global using Masa.Contrib.RulesEngine.MicrosoftRulesEngine; -global using System.Collections.Concurrent; -global using Masa.BuildingBlocks.Dispatcher.Events; -global using Masa.Alert.Domain.AlarmRules.Aggregates; -global using Masa.BuildingBlocks.Data; -global using Masa.Alert.Domain.AlarmRules.Repositories; -global using FluentValidation.Results; global using Masa.Contrib.Dispatcher.Events; -global using Microsoft.Extensions.Logging; + +// MASA Alert Domain Shared +global using Masa.Alert.Domain.Shared.AlarmRules; global using Masa.Alert.Domain.Shared.AlarmHistory; -global using Masa.Alert.Domain.AlarmHistories; -global using Masa.Alert.Domain.AlarmHistories.Events; -global using Masa.Alert.Domain.Shared; +global using Masa.Alert.Domain.Shared.Consts; + +// MASA Alert Domain Aggregates +global using Masa.Alert.Domain.AlarmRules.Aggregates; global using Masa.Alert.Domain.AlarmHistories.Aggregates; -global using Masa.Alert.Domain.AlarmHistories.Repositories; -global using Masa.BuildingBlocks.ReadWriteSplitting.Cqrs.Commands; -global using Masa.Alert.Infrastructure.Common.Utils; -global using System.Threading.Channels; -global using Masa.Alert.Domain.AlarmRules.Events; global using Masa.Alert.Domain.WebHooks.Aggregates; + +// MASA Alert Domain Events +global using Masa.Alert.Domain.AlarmRules.Events; +global using Masa.Alert.Domain.AlarmHistories.Events; global using Masa.Alert.Domain.WebHooks.Events; -global using System.Text.Json.Serialization; -global using Masa.BuildingBlocks.Data.Contracts; -global using Masa.BuildingBlocks.Data.UoW; -global using Masa.BuildingBlocks.Ddd.Domain.Services; -global using Masa.BuildingBlocks.Caching; -global using Masa.Alert.Domain.Shared.Consts; \ No newline at end of file + +// MASA Alert Domain Repositories +global using Masa.Alert.Domain.AlarmRules.Repositories; + +// MASA Alert Infrastructure +global using Masa.Alert.Infrastructure.Common.Utils; \ No newline at end of file diff --git a/src/Infrastructure/Masa.Alert.EntityFrameworkCore.PostgreSql/_Imports.cs b/src/Infrastructure/Masa.Alert.EntityFrameworkCore.PostgreSql/_Imports.cs index 17d1c01f..f31da295 100644 --- a/src/Infrastructure/Masa.Alert.EntityFrameworkCore.PostgreSql/_Imports.cs +++ b/src/Infrastructure/Masa.Alert.EntityFrameworkCore.PostgreSql/_Imports.cs @@ -1,4 +1,3 @@ global using Microsoft.EntityFrameworkCore; global using Microsoft.EntityFrameworkCore.Design; -global using Microsoft.Extensions.Configuration; -global using Masa.Alert.EntityFrameworkCore; \ No newline at end of file +global using Microsoft.Extensions.Configuration; \ No newline at end of file diff --git a/src/Infrastructure/Masa.Alert.EntityFrameworkCore.SqlServer/_Imports.cs b/src/Infrastructure/Masa.Alert.EntityFrameworkCore.SqlServer/_Imports.cs index 73439b1b..f31da295 100644 --- a/src/Infrastructure/Masa.Alert.EntityFrameworkCore.SqlServer/_Imports.cs +++ b/src/Infrastructure/Masa.Alert.EntityFrameworkCore.SqlServer/_Imports.cs @@ -1,5 +1,3 @@ global using Microsoft.EntityFrameworkCore; -global using Microsoft.EntityFrameworkCore.Metadata.Builders; -global using Masa.BuildingBlocks.Data.Contracts; global using Microsoft.EntityFrameworkCore.Design; global using Microsoft.Extensions.Configuration; \ No newline at end of file diff --git a/src/Infrastructure/Masa.Alert.EntityFrameworkCore/_Imports.cs b/src/Infrastructure/Masa.Alert.EntityFrameworkCore/_Imports.cs index 5a13a640..3035a047 100644 --- a/src/Infrastructure/Masa.Alert.EntityFrameworkCore/_Imports.cs +++ b/src/Infrastructure/Masa.Alert.EntityFrameworkCore/_Imports.cs @@ -13,13 +13,10 @@ global using Masa.Alert.Domain.WebHooks.Aggregates; global using Masa.Alert.Domain.WebHooks.Repositories; global using Masa.Alert.Infrastructure.EntityFrameworkCore.EntityFrameworkCore.ValueConverters; -global using Masa.BuildingBlocks.Data; global using Masa.BuildingBlocks.Data.UoW; global using Masa.BuildingBlocks.Data.Contracts; global using Masa.Contrib.Ddd.Domain.Repository.EFCore; global using Microsoft.EntityFrameworkCore; global using Microsoft.EntityFrameworkCore.Metadata.Builders; global using Microsoft.Extensions.Logging; -global using Microsoft.EntityFrameworkCore.Design; -global using Microsoft.Extensions.Configuration; global using System.Reflection; \ No newline at end of file diff --git a/src/Web/Masa.Alert.Web.Admin.Server/_Imports.cs b/src/Web/Masa.Alert.Web.Admin.Server/_Imports.cs index 203218d6..ae6ebc64 100644 --- a/src/Web/Masa.Alert.Web.Admin.Server/_Imports.cs +++ b/src/Web/Masa.Alert.Web.Admin.Server/_Imports.cs @@ -1,31 +1,33 @@ // Copyright (c) MASA Stack All rights reserved. // Licensed under the Apache License. See LICENSE.txt in the project root for license information. -global using Mapster; -global using Microsoft.AspNetCore.ResponseCompression; -global using BlazorDownloadFile; -global using Masa.Stack.Components; +// System Namespaces +global using System.Security.Cryptography.X509Certificates; + +// Microsoft Namespaces global using Microsoft.AspNetCore.Authentication; +global using Microsoft.AspNetCore.Authentication.Cookies; +global using Microsoft.AspNetCore.Authentication.OpenIdConnect; +global using Microsoft.AspNetCore.Hosting.StaticWebAssets; global using Microsoft.AspNetCore.Mvc; global using Microsoft.AspNetCore.Mvc.RazorPages; -global using Microsoft.AspNetCore.Hosting.StaticWebAssets; -global using System.Net.NetworkInformation; -global using Microsoft.AspNetCore.Authentication.Cookies; -global using Masa.BuildingBlocks.Configuration; -global using Masa.Alert.Infrastructure.Common.Extensions; -global using Masa.Stack.Components.Models; -global using System.Security.Cryptography.X509Certificates; -global using Masa.Alert.ApiGateways.Caller.Extensions; -global using Masa.Contrib.Configuration.ConfigurationApi.Dcc; -global using Masa.Stack.Components.Extensions.OpenIdConnect; -global using Masa.Contrib.StackSdks.Tsc; -global using Masa.BuildingBlocks.StackSdks.Config; -global using Masa.Contrib.Configuration.ConfigurationApi.Dcc.Options; -global using Masa.Contrib.StackSdks.Config; +global using Microsoft.AspNetCore.ResponseCompression; global using Microsoft.IdentityModel.Logging; -global using Masa.Contrib.StackSdks.Caller; -global using Microsoft.AspNetCore.Authentication.OpenIdConnect; +global using Microsoft.IdentityModel.Protocols.OpenIdConnect; + +// Third-party Libraries +global using BlazorDownloadFile; global using FluentValidation; global using FluentValidation.Resources; -global using Microsoft.IdentityModel.Protocols.OpenIdConnect; -global using System.Reflection; \ No newline at end of file +global using Mapster; + +// MASA Building Blocks and Contrib Packages +global using Masa.Contrib.StackSdks.Caller; +global using Masa.Contrib.StackSdks.Config; +global using Masa.Contrib.Configuration.ConfigurationApi.Dcc; +global using Masa.Stack.Components; +global using Masa.Stack.Components.Extensions.OpenIdConnect; + +// MASA Alert Infrastructure and Extensions +global using Masa.Alert.Infrastructure.Common.Extensions; +global using Masa.Alert.ApiGateways.Caller.Extensions; \ No newline at end of file diff --git a/src/Web/Masa.Alert.Web.Admin/Components/Modules/Alarm/AlarmPreviewChart.razor b/src/Web/Masa.Alert.Web.Admin/Components/Modules/Alarm/AlarmPreviewChart.razor index 19bdad45..28e81f4a 100644 --- a/src/Web/Masa.Alert.Web.Admin/Components/Modules/Alarm/AlarmPreviewChart.razor +++ b/src/Web/Masa.Alert.Web.Admin/Components/Modules/Alarm/AlarmPreviewChart.razor @@ -161,7 +161,7 @@ private List GetTimeListByFixedInterval(int count = 10) { var timeList = new List(); - var time = _startTime ?? DateTimeOffset.Now; + var time = _startTime ?? DateTimeOffset.UtcNow; var i = 0; while (CheckIsAddTime(time, i)) @@ -195,7 +195,7 @@ if (timezone != null) cronExpression.TimeZone = timezone; - var time = _startTime ?? DateTimeOffset.Now; + var time = _startTime ?? DateTimeOffset.UtcNow; var i = 0; while (CheckIsAddTime(time, i)) { diff --git a/src/Web/Masa.Alert.Web.Admin/Masa.Alert.Web.Admin.csproj b/src/Web/Masa.Alert.Web.Admin/Masa.Alert.Web.Admin.csproj index 0fbe829b..45b71bce 100644 --- a/src/Web/Masa.Alert.Web.Admin/Masa.Alert.Web.Admin.csproj +++ b/src/Web/Masa.Alert.Web.Admin/Masa.Alert.Web.Admin.csproj @@ -17,15 +17,16 @@ - + - - + + + diff --git a/src/Web/Masa.Alert.Web.Admin/Pages/AlarmRules/Modules/LogAlarmRuleUpsertModal.razor.cs b/src/Web/Masa.Alert.Web.Admin/Pages/AlarmRules/Modules/LogAlarmRuleUpsertModal.razor.cs index dd0ec8fb..b97c8597 100644 --- a/src/Web/Masa.Alert.Web.Admin/Pages/AlarmRules/Modules/LogAlarmRuleUpsertModal.razor.cs +++ b/src/Web/Masa.Alert.Web.Admin/Pages/AlarmRules/Modules/LogAlarmRuleUpsertModal.razor.cs @@ -157,7 +157,7 @@ private void GetNextRunTime(int showCount = 5) var sb = new StringBuilder(); - var startTime = DateTimeOffset.Now; + var startTime = DateTimeOffset.UtcNow; var cronExpression = new CronExpression(_model.CheckFrequency.CronExpression); diff --git a/src/Web/Masa.Alert.Web.Admin/Pages/AlarmRules/Modules/MetricAlarmRuleUpsertModal.razor.cs b/src/Web/Masa.Alert.Web.Admin/Pages/AlarmRules/Modules/MetricAlarmRuleUpsertModal.razor.cs index 98a6e8a5..4ecedebe 100644 --- a/src/Web/Masa.Alert.Web.Admin/Pages/AlarmRules/Modules/MetricAlarmRuleUpsertModal.razor.cs +++ b/src/Web/Masa.Alert.Web.Admin/Pages/AlarmRules/Modules/MetricAlarmRuleUpsertModal.razor.cs @@ -136,7 +136,7 @@ private void GetNextRunTime(int showCount = 5) var sb = new StringBuilder(); - var startTime = DateTimeOffset.Now; + var startTime = DateTimeOffset.UtcNow; var cronExpression = new CronExpression(_model.CheckFrequency.CronExpression); diff --git a/src/Web/Masa.Alert.Web.Admin/_Imports.razor b/src/Web/Masa.Alert.Web.Admin/_Imports.razor index 7c155614..cbfee633 100644 --- a/src/Web/Masa.Alert.Web.Admin/_Imports.razor +++ b/src/Web/Masa.Alert.Web.Admin/_Imports.razor @@ -21,7 +21,6 @@ @using Microsoft.JSInterop @using static Masa.Stack.Components.JsInitVariables @using Masa.Alert.Web.Admin.Components.GenericColumnRender -@using Masa.Contrib.StackSdks.Mc.Infrastructure.Extensions @using Masa.Alert.Web.Admin.Pages.AlarmRules.Modules @using Masa.Alert.Domain.Shared.AlarmRules @using Masa.Alert.Web.Admin.Components.Modules.Alarm