Browse Source

Fix prepare step. (#1236)

* Fix prepare step.

* UI fixes.
pull/1237/head
Sebastian Stehle 11 months ago
committed by GitHub
parent
commit
3c81d2e95b
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 14
      backend/src/Squidex.Data.EntityFramework/Squidex.Data.EntityFramework.csproj
  2. 12
      backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj
  3. 2
      backend/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj
  4. 6
      backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/JintScriptEngine.cs
  5. 4
      backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj
  6. 8
      backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/StringLogger.cs
  7. 4
      backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs
  8. 2
      backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj
  9. 14
      backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
  10. 4
      backend/src/Squidex/Areas/Api/Controllers/Rules/RulesController.cs
  11. 2
      backend/src/Squidex/Config/Domain/RuleServices.cs
  12. 26
      backend/src/Squidex/Squidex.csproj
  13. 39
      frontend/src/app/features/rules/shared/state-step.component.html
  14. 2
      frontend/src/app/features/settings/pages/clients/client.component.html
  15. 2
      frontend/src/app/shared/services/rules.service.ts

14
backend/src/Squidex.Data.EntityFramework/Squidex.Data.EntityFramework.csproj

@ -40,13 +40,13 @@
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql.Json.Microsoft" Version="8.0.3" /> <PackageReference Include="Pomelo.EntityFrameworkCore.MySql.Json.Microsoft" Version="8.0.3" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql.NetTopologySuite" Version="8.0.3" /> <PackageReference Include="Pomelo.EntityFrameworkCore.MySql.NetTopologySuite" Version="8.0.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" /> <PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.AI.EntityFramework" Version="7.23.0" /> <PackageReference Include="Squidex.AI.EntityFramework" Version="7.25.0" />
<PackageReference Include="Squidex.Assets.EntityFramework" Version="7.23.0" /> <PackageReference Include="Squidex.Assets.EntityFramework" Version="7.25.0" />
<PackageReference Include="Squidex.Assets.TusAdapter" Version="7.23.0" /> <PackageReference Include="Squidex.Assets.TusAdapter" Version="7.25.0" />
<PackageReference Include="Squidex.Events.EntityFramework" Version="7.23.0" /> <PackageReference Include="Squidex.Events.EntityFramework" Version="7.25.0" />
<PackageReference Include="Squidex.Flows.EntityFramework" Version="7.23.0" /> <PackageReference Include="Squidex.Flows.EntityFramework" Version="7.25.0" />
<PackageReference Include="Squidex.Hosting" Version="7.23.0" /> <PackageReference Include="Squidex.Hosting" Version="7.25.0" />
<PackageReference Include="Squidex.Messaging.EntityFramework" Version="7.23.0" /> <PackageReference Include="Squidex.Messaging.EntityFramework" Version="7.25.0" />
<PackageReference Include="Squidex.OpenIdDict.EntityFramework" Version="5.8.4" /> <PackageReference Include="Squidex.OpenIdDict.EntityFramework" Version="5.8.4" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" /> <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" /> <PackageReference Include="System.ValueTuple" Version="4.5.0" />

12
backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj

@ -25,12 +25,12 @@
<PackageReference Include="MongoDB.Driver.GridFS" Version="2.30.0" /> <PackageReference Include="MongoDB.Driver.GridFS" Version="2.30.0" />
<PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0" /> <PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" /> <PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.AI.Mongo" Version="7.23.0" /> <PackageReference Include="Squidex.AI.Mongo" Version="7.25.0" />
<PackageReference Include="Squidex.Assets.Mongo" Version="7.23.0" /> <PackageReference Include="Squidex.Assets.Mongo" Version="7.25.0" />
<PackageReference Include="Squidex.Events.Mongo" Version="7.23.0" /> <PackageReference Include="Squidex.Events.Mongo" Version="7.25.0" />
<PackageReference Include="Squidex.Flows.Mongo" Version="7.23.0" /> <PackageReference Include="Squidex.Flows.Mongo" Version="7.25.0" />
<PackageReference Include="Squidex.Hosting" Version="7.23.0" /> <PackageReference Include="Squidex.Hosting" Version="7.25.0" />
<PackageReference Include="Squidex.Messaging.Mongo" Version="7.23.0" /> <PackageReference Include="Squidex.Messaging.Mongo" Version="7.25.0" />
<PackageReference Include="Squidex.OpenIddict.MongoDb" Version="5.8.4" /> <PackageReference Include="Squidex.OpenIddict.MongoDb" Version="5.8.4" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" /> <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" /> <PackageReference Include="System.ValueTuple" Version="4.5.0" />

2
backend/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj

@ -20,7 +20,7 @@
<PackageReference Include="NetTopologySuite" Version="2.5.0" /> <PackageReference Include="NetTopologySuite" Version="2.5.0" />
<PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0" /> <PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" /> <PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.Flows" Version="7.23.0" /> <PackageReference Include="Squidex.Flows" Version="7.25.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" /> <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Collections.Immutable" Version="8.0.0" /> <PackageReference Include="System.Collections.Immutable" Version="8.0.0" />
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" /> <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />

6
backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/JintScriptEngine.cs

@ -191,9 +191,13 @@ public sealed class JintScriptEngine(IMemoryCache cache, IOptions<JintScriptOpti
{ {
case ArgumentException: case ArgumentException:
return BuildException("common.jsParseError", inner.Message); return BuildException("common.jsParseError", inner.Message);
case ParseErrorException:
return BuildException("common.jsError", inner.Message);
case ScriptPreparationException:
return BuildException("common.jsError", inner.Message);
case JavaScriptException: case JavaScriptException:
return BuildException("common.jsError", inner.Message); return BuildException("common.jsError", inner.Message);
case ParseErrorException: case JintException:
return BuildException("common.jsError", inner.Message); return BuildException("common.jsError", inner.Message);
case DomainException: case DomainException:
return inner; return inner;

4
backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj

@ -29,8 +29,8 @@
<PackageReference Include="NJsonSchema" Version="11.0.2" /> <PackageReference Include="NJsonSchema" Version="11.0.2" />
<PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0" /> <PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" /> <PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.AI" Version="7.23.0" /> <PackageReference Include="Squidex.AI" Version="7.25.0" />
<PackageReference Include="Squidex.Messaging.Subscriptions" Version="7.23.0" /> <PackageReference Include="Squidex.Messaging.Subscriptions" Version="7.25.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" /> <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Collections.Immutable" Version="8.0.0" /> <PackageReference Include="System.Collections.Immutable" Version="8.0.0" />
<PackageReference Include="System.Linq.Async" Version="6.0.1" /> <PackageReference Include="System.Linq.Async" Version="6.0.1" />

8
backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/StringLogger.cs

@ -8,11 +8,12 @@
using System.Globalization; using System.Globalization;
using Squidex.CLI.Commands.Implementation; using Squidex.CLI.Commands.Implementation;
using Squidex.Infrastructure; using Squidex.Infrastructure;
using Squidex.Infrastructure.Json;
using Squidex.Log; using Squidex.Log;
namespace Squidex.Domain.Apps.Entities.Apps.Templates; namespace Squidex.Domain.Apps.Entities.Apps.Templates;
public sealed class StringLogger : ILogger, ILogLine public sealed class StringLogger(IJsonSerializer jsonSerializer) : ILogger, ILogLine
{ {
private const int MaxActionLength = 40; private const int MaxActionLength = 40;
private readonly List<string> lines = []; private readonly List<string> lines = [];
@ -96,6 +97,11 @@ public sealed class StringLogger : ILogger, ILogLine
lines.Add(string.Format(CultureInfo.InvariantCulture, message, args)); lines.Add(string.Format(CultureInfo.InvariantCulture, message, args));
} }
public void WriteJson(object message)
{
lines.Add(jsonSerializer.Serialize(message, true));
}
private void AddToErrors(string reason) private void AddToErrors(string reason)
{ {
errors.Add(reason); errors.Add(reason);

4
backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs

@ -22,6 +22,7 @@ using Squidex.Domain.Apps.Core;
using Squidex.Domain.Apps.Core.Apps; using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Entities.Apps.Commands; using Squidex.Domain.Apps.Entities.Apps.Commands;
using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Commands;
using Squidex.Infrastructure.Json;
using Squidex.Log; using Squidex.Log;
namespace Squidex.Domain.Apps.Entities.Apps.Templates; namespace Squidex.Domain.Apps.Entities.Apps.Templates;
@ -30,6 +31,7 @@ public sealed class TemplateCommandMiddleware(
TemplatesClient templatesClient, TemplatesClient templatesClient,
IOptions<TemplatesOptions> templateOptions, IOptions<TemplatesOptions> templateOptions,
IUrlGenerator urlGenerator, IUrlGenerator urlGenerator,
IJsonSerializer jsonSerializer,
ISemanticLog log) ISemanticLog log)
: ICommandMiddleware : ICommandMiddleware
{ {
@ -63,7 +65,7 @@ public sealed class TemplateCommandMiddleware(
return; return;
} }
using (var cliLog = new StringLogger()) using (var cliLog = new StringLogger(jsonSerializer))
{ {
try try
{ {

2
backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj

@ -40,7 +40,7 @@
<PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0" /> <PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0" />
<PackageReference Include="Notifo.SDK" Version="1.7.5" /> <PackageReference Include="Notifo.SDK" Version="1.7.5" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" /> <PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.CLI.Core" Version="13.8.0" /> <PackageReference Include="Squidex.CLI.Core" Version="13.9.0" />
<PackageReference Include="YDotNet" Version="0.4.3" /> <PackageReference Include="YDotNet" Version="0.4.3" />
<PackageReference Include="YDotNet.Extensions" Version="0.4.3" /> <PackageReference Include="YDotNet.Extensions" Version="0.4.3" />
<PackageReference Include="YDotNet.Server" Version="0.4.3" /> <PackageReference Include="YDotNet.Server" Version="0.4.3" />

14
backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj

@ -24,13 +24,13 @@
<PackageReference Include="NodaTime" Version="3.2.0" /> <PackageReference Include="NodaTime" Version="3.2.0" />
<PackageReference Include="OpenTelemetry.Api" Version="1.9.0" /> <PackageReference Include="OpenTelemetry.Api" Version="1.9.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" /> <PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.Assets" Version="7.23.0" /> <PackageReference Include="Squidex.Assets" Version="7.25.0" />
<PackageReference Include="Squidex.Caching" Version="7.23.0" /> <PackageReference Include="Squidex.Caching" Version="7.25.0" />
<PackageReference Include="Squidex.Events" Version="7.23.0" /> <PackageReference Include="Squidex.Events" Version="7.25.0" />
<PackageReference Include="Squidex.Hosting.Abstractions" Version="7.23.0" /> <PackageReference Include="Squidex.Hosting.Abstractions" Version="7.25.0" />
<PackageReference Include="Squidex.Log" Version="7.23.0" /> <PackageReference Include="Squidex.Log" Version="7.25.0" />
<PackageReference Include="Squidex.Messaging" Version="7.23.0" /> <PackageReference Include="Squidex.Messaging" Version="7.25.0" />
<PackageReference Include="Squidex.Text" Version="7.23.0" /> <PackageReference Include="Squidex.Text" Version="7.25.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" /> <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Collections.Immutable" Version="8.0.0" /> <PackageReference Include="System.Collections.Immutable" Version="8.0.0" />
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" /> <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />

4
backend/src/Squidex/Areas/Api/Controllers/Rules/RulesController.cs

@ -262,7 +262,7 @@ public sealed class RulesController(
/// <response code="400">Rule trigger not valid.</response> /// <response code="400">Rule trigger not valid.</response>
/// <response code="404">Rule or app not found.</response> /// <response code="404">Rule or app not found.</response>
[HttpPost] [HttpPost]
[Route("apps/{app}/rules/validate/trigger/")] [Route("apps/{app}/rules/validate/trigger/", Order = -1)]
[ProducesResponseType(StatusCodes.Status204NoContent)] [ProducesResponseType(StatusCodes.Status204NoContent)]
[ApiPermission] [ApiPermission]
[ApiCosts(0)] [ApiCosts(0)]
@ -286,7 +286,7 @@ public sealed class RulesController(
/// <response code="400">Rule step not valid.</response> /// <response code="400">Rule step not valid.</response>
/// <response code="404">Rule or app not found.</response> /// <response code="404">Rule or app not found.</response>
[HttpPost] [HttpPost]
[Route("apps/{app}/rules/validate/step/")] [Route("apps/{app}/rules/validate/step/", Order = -1)]
[ProducesResponseType(StatusCodes.Status204NoContent)] [ProducesResponseType(StatusCodes.Status204NoContent)]
[ApiPermission] [ApiPermission]
[ApiCosts(0)] [ApiCosts(0)]

2
backend/src/Squidex/Config/Domain/RuleServices.cs

@ -5,6 +5,7 @@
// All rights reserved. Licensed under the MIT license. // All rights reserved. Licensed under the MIT license.
// ========================================================================== // ==========================================================================
using Jint;
using Migrations.OldTriggers; using Migrations.OldTriggers;
using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.HandleRules;
using Squidex.Domain.Apps.Core.HandleRules.Extensions; using Squidex.Domain.Apps.Core.HandleRules.Extensions;
@ -118,6 +119,7 @@ public static class RuleServices
.As<IFlowExecutionCallback<FlowEventContext>>(); .As<IFlowExecutionCallback<FlowEventContext>>();
services.AddFlows<FlowEventContext>(config); services.AddFlows<FlowEventContext>(config);
services.AddCronJobs<CronJobContext>(config, m => services.AddCronJobs<CronJobContext>(config, m =>
{ {
m.UpdateInterval = TimeSpan.FromSeconds(1); m.UpdateInterval = TimeSpan.FromSeconds(1);

26
backend/src/Squidex/Squidex.csproj

@ -59,17 +59,17 @@
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.9.0" /> <PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.9.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" /> <PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="ReportGenerator" Version="5.4.1" PrivateAssets="all" /> <PackageReference Include="ReportGenerator" Version="5.4.1" PrivateAssets="all" />
<PackageReference Include="Squidex.Assets.Azure" Version="7.23.0" /> <PackageReference Include="Squidex.Assets.Azure" Version="7.25.0" />
<PackageReference Include="Squidex.Assets.GoogleCloud" Version="7.23.0" /> <PackageReference Include="Squidex.Assets.GoogleCloud" Version="7.25.0" />
<PackageReference Include="Squidex.Assets.FTP" Version="7.23.0" /> <PackageReference Include="Squidex.Assets.FTP" Version="7.25.0" />
<PackageReference Include="Squidex.Assets.ImageSharp" Version="7.23.0" /> <PackageReference Include="Squidex.Assets.ImageSharp" Version="7.25.0" />
<PackageReference Include="Squidex.Assets.S3" Version="7.23.0" /> <PackageReference Include="Squidex.Assets.S3" Version="7.25.0" />
<PackageReference Include="Squidex.Assets.TusAdapter" Version="7.23.0" /> <PackageReference Include="Squidex.Assets.TusAdapter" Version="7.25.0" />
<PackageReference Include="Squidex.ClientLibrary" Version="21.5.0" /> <PackageReference Include="Squidex.ClientLibrary" Version="21.7.0" />
<PackageReference Include="Squidex.Events.GetEventStore" Version="7.23.0" /> <PackageReference Include="Squidex.Events.GetEventStore" Version="7.25.0" />
<PackageReference Include="Squidex.Hosting" Version="7.23.0" /> <PackageReference Include="Squidex.Hosting" Version="7.25.0" />
<PackageReference Include="Squidex.Messaging.All" Version="7.23.0" /> <PackageReference Include="Squidex.Messaging.All" Version="7.25.0" />
<PackageReference Include="Squidex.Messaging.Subscriptions" Version="7.23.0" /> <PackageReference Include="Squidex.Messaging.Subscriptions" Version="7.25.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" /> <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="YDotNet" Version="0.4.3" /> <PackageReference Include="YDotNet" Version="0.4.3" />
<PackageReference Include="YDotNet.Native" Version="0.4.3" /> <PackageReference Include="YDotNet.Native" Version="0.4.3" />
@ -83,11 +83,11 @@
</ItemGroup> </ItemGroup>
<ItemGroup Condition="'$(IncludeMagick)' == 'true'"> <ItemGroup Condition="'$(IncludeMagick)' == 'true'">
<PackageReference Include="Squidex.Assets.ImageMagick" Version="7.23.0" /> <PackageReference Include="Squidex.Assets.ImageMagick" Version="7.25.0" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition="'$(IncludeKafka)' == 'true'"> <ItemGroup Condition="'$(IncludeKafka)' == 'true'">
<PackageReference Include="Squidex.Messaging.Kafka" Version="7.23.0" /> <PackageReference Include="Squidex.Messaging.Kafka" Version="7.25.0" />
</ItemGroup> </ItemGroup>
<PropertyGroup> <PropertyGroup>

39
frontend/src/app/features/rules/shared/state-step.component.html

@ -18,16 +18,15 @@
</ng-container> </ng-container>
<ng-container details> <ng-container details>
@if (state) { <ul class="nav nav-tabs2 mt-2">
<ul class="nav nav-tabs2 mt-2"> @if (stepInfo.properties.length > 0) {
@if (stepInfo.properties.length > 0) { <li class="nav-item">
<li class="nav-item"> <a class="nav-link" [class.active]="attemptIndex === -1" (click)="selectAttempt(-1)">
<a class="nav-link" [class.active]="attemptIndex === -1" (click)="selectAttempt(-1)"> {{ "common.properties" | sqxTranslate }}
{{ "common.properties" | sqxTranslate }} </a>
</a> </li>
</li> }
} @if (state) {
@for (attempt of state.attempts; let i = $index; track i) { @for (attempt of state.attempts; let i = $index; track i) {
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" [class.active]="attemptIndex === i" (click)="selectAttempt(i)"> <a class="nav-link" [class.active]="attemptIndex === i" (click)="selectAttempt(i)">
@ -38,17 +37,17 @@
</a> </a>
</li> </li>
} }
</ul>
@if (attemptIndex === -1) {
<div class="details">
@for (property of stepInfo.properties; track property.name) {
<sqx-state-step-property [property]="property" [value]="$any(stepDefinition)[property.name]" />
}
</div>
} @else if (state.attempts[attemptIndex]) {
<div class="details"><sqx-state-attempt [attempt]="state.attempts[attemptIndex]" /></div>
} }
</ul>
@if (attemptIndex === -1) {
<div class="details">
@for (property of stepInfo.properties; track property.name) {
<sqx-state-step-property [property]="property" [value]="$any(stepDefinition)[property.name]" />
}
</div>
} @else if (state && state.attempts[attemptIndex]) {
<div class="details"><sqx-state-attempt [attempt]="state.attempts[attemptIndex]" /></div>
} }
</ng-container> </ng-container>
</sqx-history-step> </sqx-history-step>

2
frontend/src/app/features/settings/pages/clients/client.component.html

@ -92,7 +92,7 @@
</div> </div>
</div> </div>
<div class="form-group row gx-2"> <div class="form-group row">
<label class="col-3 col-form-label"> {{ "clients.apiCallsLimit" | sqxTranslate }} </label> <label class="col-3 col-form-label"> {{ "clients.apiCallsLimit" | sqxTranslate }} </label>
<div class="col"> <div class="col">
<div class="row gx-2"> <div class="row gx-2">

2
frontend/src/app/shared/services/rules.service.ts

@ -180,7 +180,7 @@ export class RulesService {
const url = this.apiUrl.buildUrl(link.href); const url = this.apiUrl.buildUrl(link.href);
return this.http.request(link.method, url, { body: {} }).pipe( return this.http.request<any>(link.method, url, { body: {} }).pipe(
pretifyError('i18n:rules.triggerFailed')); pretifyError('i18n:rules.triggerFailed'));
} }

Loading…
Cancel
Save