Browse Source

Namespace fixed.

pull/492/head
Sebastian 7 years ago
parent
commit
86bc9a29ed
  1. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/AppDomainObject.cs
  2. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Guards/GuardApp.cs
  3. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Guards/GuardAppContributors.cs
  4. 1
      backend/src/Squidex.Domain.Apps.Entities/Apps/IAppEntity.cs
  5. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/ConfigAppLimitsPlan.cs
  6. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/ConfigAppPlansProvider.cs
  7. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/IAppLimitsPlan.cs
  8. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/IAppPlanBillingManager.cs
  9. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/IAppPlansProvider.cs
  10. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/IChangePlanResult.cs
  11. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/NoopAppPlanBillingManager.cs
  12. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/PlanChangeAsyncResult.cs
  13. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/PlanChangedResult.cs
  14. 2
      backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/RedirectToCheckoutResult.cs
  15. 17
      backend/src/Squidex.Domain.Apps.Entities/Apps/State/AppState.cs
  16. 27
      backend/src/Squidex.Infrastructure/UsageTracking/BackgroundUsageTracker.cs
  17. 2
      backend/src/Squidex.Web/Pipeline/ApiCostsFilter.cs
  18. 2
      backend/src/Squidex.Web/UsageOptions.cs
  19. 2
      backend/src/Squidex/Areas/Api/Controllers/Apps/AppContributorsController.cs
  20. 2
      backend/src/Squidex/Areas/Api/Controllers/Apps/AppsController.cs
  21. 2
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppDto.cs
  22. 2
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorsDto.cs
  23. 2
      backend/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs
  24. 2
      backend/src/Squidex/Areas/Api/Controllers/Plans/AppPlansController.cs
  25. 2
      backend/src/Squidex/Areas/Api/Controllers/Plans/Models/AppPlansDto.cs
  26. 2
      backend/src/Squidex/Areas/Api/Controllers/Plans/Models/PlanDto.cs
  27. 2
      backend/src/Squidex/Areas/Api/Controllers/Statistics/UsagesController.cs
  28. 2
      backend/src/Squidex/Areas/Portal/Middlewares/PortalRedirectMiddleware.cs
  29. 3
      backend/src/Squidex/Config/Domain/SubscriptionServices.cs
  30. 3
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/AppDomainObjectTests.cs
  31. 2
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Guards/GuardAppContributorsTests.cs
  32. 2
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Guards/GuardAppTests.cs
  33. 3
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Plans/ConfigAppLimitsProviderTests.cs
  34. 3
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Plans/NoopAppPlanBillingManagerTests.cs
  35. 2
      backend/tests/Squidex.Web.Tests/Pipeline/ApiCostsFilterTests.cs

2
backend/src/Squidex.Domain.Apps.Entities/Apps/AppDomainObject.cs

@ -11,7 +11,7 @@ using System.Threading.Tasks;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Entities.Apps.Commands;
using Squidex.Domain.Apps.Entities.Apps.Guards;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Domain.Apps.Entities.Apps.State;
using Squidex.Domain.Apps.Events;
using Squidex.Domain.Apps.Events.Apps;

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Guards/GuardApp.cs

@ -7,7 +7,7 @@
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Entities.Apps.Commands;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Validation;

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Guards/GuardAppContributors.cs

@ -10,7 +10,7 @@ using System.Linq;
using System.Threading.Tasks;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Entities.Apps.Commands;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Validation;
using Squidex.Shared.Users;

1
backend/src/Squidex.Domain.Apps.Entities/Apps/IAppEntity.cs

@ -7,6 +7,7 @@
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Entities.Apps.Plans;
namespace Squidex.Domain.Apps.Entities.Apps
{

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Services/Implementations/ConfigAppLimitsPlan.cs → backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/ConfigAppLimitsPlan.cs

@ -5,7 +5,7 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
namespace Squidex.Domain.Apps.Entities.Apps.Services.Implementations
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public sealed class ConfigAppLimitsPlan : IAppLimitsPlan
{

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Services/Implementations/ConfigAppPlansProvider.cs → backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/ConfigAppPlansProvider.cs

@ -10,7 +10,7 @@ using System.Collections.Generic;
using System.Linq;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.Apps.Services.Implementations
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public sealed class ConfigAppPlansProvider : IAppPlansProvider
{

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Services/IAppLimitsPlan.cs → backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/IAppLimitsPlan.cs

@ -5,7 +5,7 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
namespace Squidex.Domain.Apps.Entities.Apps.Services
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public interface IAppLimitsPlan
{

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Services/IAppPlanBillingManager.cs → backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/IAppPlanBillingManager.cs

@ -9,7 +9,7 @@ using System;
using System.Threading.Tasks;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.Apps.Services
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public interface IAppPlanBillingManager
{

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Services/IAppPlansProvider.cs → backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/IAppPlansProvider.cs

@ -7,7 +7,7 @@
using System.Collections.Generic;
namespace Squidex.Domain.Apps.Entities.Apps.Services
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public interface IAppPlansProvider
{

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Services/IChangePlanResult.cs → backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/IChangePlanResult.cs

@ -5,7 +5,7 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
namespace Squidex.Domain.Apps.Entities.Apps.Services
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public interface IChangePlanResult
{

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Services/Implementations/NoopAppPlanBillingManager.cs → backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/NoopAppPlanBillingManager.cs

@ -9,7 +9,7 @@ using System;
using System.Threading.Tasks;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.Apps.Services.Implementations
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public sealed class NoopAppPlanBillingManager : IAppPlanBillingManager
{

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Services/PlanChangeAsyncResult.cs → backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/PlanChangeAsyncResult.cs

@ -5,7 +5,7 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
namespace Squidex.Domain.Apps.Entities.Apps.Services
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public sealed class PlanChangeAsyncResult : IChangePlanResult
{

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Services/PlanChangedResult.cs → backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/PlanChangedResult.cs

@ -5,7 +5,7 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
namespace Squidex.Domain.Apps.Entities.Apps.Services
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public sealed class PlanChangedResult : IChangePlanResult
{

2
backend/src/Squidex.Domain.Apps.Entities/Apps/Services/RedirectToCheckoutResult.cs → backend/src/Squidex.Domain.Apps.Entities/Apps/Plans/RedirectToCheckoutResult.cs

@ -8,7 +8,7 @@
using System;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.Apps.Services
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public sealed class RedirectToCheckoutResult : IChangePlanResult
{

17
backend/src/Squidex.Domain.Apps.Entities/Apps/State/AppState.cs

@ -6,7 +6,6 @@
// ==========================================================================
using System;
using System.Runtime.Serialization;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Events.Apps;
@ -22,40 +21,28 @@ namespace Squidex.Domain.Apps.Entities.Apps.State
[CollectionName("Apps")]
public class AppState : DomainObjectState<AppState>, IAppEntity
{
[DataMember]
public string Name { get; set; }
[DataMember]
public string Label { get; set; }
[DataMember]
public string Description { get; set; }
[DataMember]
public Roles Roles { get; set; } = Roles.Empty;
[DataMember]
public AppPlan? Plan { get; set; }
[DataMember]
public AppImage? Image { get; set; }
[DataMember]
public AppPlan? Plan { get; set; }
public AppClients Clients { get; set; } = AppClients.Empty;
[DataMember]
public AppPatterns Patterns { get; set; } = AppPatterns.Empty;
[DataMember]
public AppContributors Contributors { get; set; } = AppContributors.Empty;
[DataMember]
public LanguagesConfig LanguagesConfig { get; set; } = LanguagesConfig.English;
[DataMember]
public Workflows Workflows { get; set; } = Workflows.Empty;
[DataMember]
public bool IsArchived { get; set; }
public override bool ApplyEvent(IEvent @event)

27
backend/src/Squidex.Infrastructure/UsageTracking/BackgroundUsageTracker.cs

@ -14,20 +14,39 @@ using System.Threading.Tasks;
using Squidex.Infrastructure.Log;
using Squidex.Infrastructure.Timers;
#pragma warning disable SA1401 // Fields must be private
namespace Squidex.Infrastructure.UsageTracking
{
public sealed class BackgroundUsageTracker : DisposableObjectBase, IUsageTracker
{
public const string CounterTotalCalls = "TotalCalls";
public const string CounterTotalElapsedMs = "TotalElapsedMs";
private const string FallbackCategory = "*";
public const string FallbackCategory = "*";
private const int Intervall = 60 * 1000;
private readonly IUsageRepository usageRepository;
private readonly ISemanticLog log;
private readonly CompletionTimer timer;
private ConcurrentDictionary<(string Key, string Category), Usage> usages = new ConcurrentDictionary<(string Key, string Category), Usage>();
private struct Usage
{
public readonly double Count;
public readonly double ElapsedMs;
public Usage(double elapsed, double count)
{
ElapsedMs = elapsed;
Count = count;
}
public Usage Add(double elapsed, double weight)
{
return new Usage(ElapsedMs + elapsed, Count + weight);
}
}
public BackgroundUsageTracker(IUsageRepository usageRepository, ISemanticLog log)
{
Guard.NotNull(usageRepository);
@ -122,8 +141,6 @@ namespace Squidex.Infrastructure.UsageTracking
var result = new Dictionary<string, IReadOnlyList<DateUsage>>();
IEnumerable<string> categories = usagesByCategory.Keys;
if (usagesByCategory.Count == 0)
{
var enriched = new List<DateUsage>();
@ -137,7 +154,7 @@ namespace Squidex.Infrastructure.UsageTracking
}
else
{
foreach (var category in categories)
foreach (var category in usagesByCategory.Keys)
{
var enriched = new List<DateUsage>();

2
backend/src/Squidex.Web/Pipeline/ApiCostsFilter.cs

@ -11,7 +11,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using NodaTime;
using Squidex.Domain.Apps.Entities.Apps;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Log;
using Squidex.Infrastructure.Security;

2
backend/src/Squidex.Web/UsageOptions.cs

@ -5,7 +5,7 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using Squidex.Domain.Apps.Entities.Apps.Services.Implementations;
using Squidex.Domain.Apps.Entities.Apps.Plans;
namespace Squidex.Web
{

2
backend/src/Squidex/Areas/Api/Controllers/Apps/AppContributorsController.cs

@ -12,7 +12,7 @@ using Squidex.Areas.Api.Controllers.Apps.Models;
using Squidex.Domain.Apps.Entities.Apps;
using Squidex.Domain.Apps.Entities.Apps.Commands;
using Squidex.Domain.Apps.Entities.Apps.Invitation;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Infrastructure.Commands;
using Squidex.Shared;
using Squidex.Shared.Users;

2
backend/src/Squidex/Areas/Api/Controllers/Apps/AppsController.cs

@ -17,7 +17,7 @@ using Squidex.Areas.Api.Controllers.Apps.Models;
using Squidex.Domain.Apps.Entities;
using Squidex.Domain.Apps.Entities.Apps;
using Squidex.Domain.Apps.Entities.Apps.Commands;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Infrastructure.Assets;
using Squidex.Infrastructure.Commands;
using Squidex.Infrastructure.Log;

2
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppDto.cs

@ -16,7 +16,7 @@ using Squidex.Areas.Api.Controllers.Plans;
using Squidex.Areas.Api.Controllers.Rules;
using Squidex.Areas.Api.Controllers.Schemas;
using Squidex.Domain.Apps.Entities.Apps;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Infrastructure.Reflection;
using Squidex.Infrastructure.Security;
using Squidex.Shared;

2
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorsDto.cs

@ -10,7 +10,7 @@ using System.Linq;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Squidex.Domain.Apps.Entities.Apps;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Shared;
using Squidex.Shared.Users;
using Squidex.Web;

2
backend/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs

@ -14,7 +14,7 @@ using Microsoft.Net.Http.Headers;
using Squidex.Areas.Api.Controllers.Assets.Models;
using Squidex.Domain.Apps.Core.Tags;
using Squidex.Domain.Apps.Entities;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Domain.Apps.Entities.Assets;
using Squidex.Domain.Apps.Entities.Assets.Commands;
using Squidex.Infrastructure.Assets;

2
backend/src/Squidex/Areas/Api/Controllers/Plans/AppPlansController.cs

@ -9,7 +9,7 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Net.Http.Headers;
using Squidex.Areas.Api.Controllers.Plans.Models;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Infrastructure.Commands;
using Squidex.Shared;
using Squidex.Web;

2
backend/src/Squidex/Areas/Api/Controllers/Plans/Models/AppPlansDto.cs

@ -8,7 +8,7 @@
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Squidex.Domain.Apps.Entities.Apps;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
namespace Squidex.Areas.Api.Controllers.Plans.Models
{

2
backend/src/Squidex/Areas/Api/Controllers/Plans/Models/PlanDto.cs

@ -6,7 +6,7 @@
// ==========================================================================
using System.ComponentModel.DataAnnotations;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Infrastructure.Reflection;
namespace Squidex.Areas.Api.Controllers.Plans.Models

2
backend/src/Squidex/Areas/Api/Controllers/Statistics/UsagesController.cs

@ -14,7 +14,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Squidex.Areas.Api.Controllers.Statistics.Models;
using Squidex.Domain.Apps.Entities.Apps;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Domain.Apps.Entities.Assets;
using Squidex.Infrastructure.Commands;
using Squidex.Infrastructure.UsageTracking;

2
backend/src/Squidex/Areas/Portal/Middlewares/PortalRedirectMiddleware.cs

@ -8,7 +8,7 @@
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
namespace Squidex.Areas.Portal.Middlewares
{

3
backend/src/Squidex/Config/Domain/SubscriptionServices.cs

@ -8,8 +8,7 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Services.Implementations;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Domain.Users;
using Squidex.Infrastructure;
using Squidex.Web;

3
backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/AppDomainObjectTests.cs

@ -13,8 +13,7 @@ using FakeItEasy;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Entities.Apps.Commands;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Services.Implementations;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Domain.Apps.Entities.Apps.State;
using Squidex.Domain.Apps.Entities.TestHelpers;
using Squidex.Domain.Apps.Events.Apps;

2
backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Guards/GuardAppContributorsTests.cs

@ -9,7 +9,7 @@ using System.Threading.Tasks;
using FakeItEasy;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Entities.Apps.Commands;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Domain.Apps.Entities.TestHelpers;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Validation;

2
backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Guards/GuardAppTests.cs

@ -9,7 +9,7 @@ using System.IO;
using FakeItEasy;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Entities.Apps.Commands;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Domain.Apps.Entities.TestHelpers;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Assets;

3
backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Billing/ConfigAppLimitsProviderTests.cs → backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Plans/ConfigAppLimitsProviderTests.cs

@ -9,11 +9,10 @@ using System.Linq;
using FakeItEasy;
using FluentAssertions;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Entities.Apps.Services.Implementations;
using Squidex.Infrastructure;
using Xunit;
namespace Squidex.Domain.Apps.Entities.Apps.Billing
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public class ConfigAppLimitsProviderTests
{

3
backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Billing/NoopAppPlanBillingManagerTests.cs → backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Plans/NoopAppPlanBillingManagerTests.cs

@ -6,10 +6,9 @@
// ==========================================================================
using System.Threading.Tasks;
using Squidex.Domain.Apps.Entities.Apps.Services.Implementations;
using Xunit;
namespace Squidex.Domain.Apps.Entities.Apps.Billing
namespace Squidex.Domain.Apps.Entities.Apps.Plans
{
public class NoopAppPlanBillingManagerTests
{

2
backend/tests/Squidex.Web.Tests/Pipeline/ApiCostsFilterTests.cs

@ -17,7 +17,7 @@ using Microsoft.AspNetCore.Mvc.Infrastructure;
using Microsoft.AspNetCore.Routing;
using NodaTime;
using Squidex.Domain.Apps.Entities.Apps;
using Squidex.Domain.Apps.Entities.Apps.Services;
using Squidex.Domain.Apps.Entities.Apps.Plans;
using Squidex.Infrastructure.UsageTracking;
using Xunit;

Loading…
Cancel
Save