diff --git a/.azure/main.parameters.json b/.azure/main.parameters.json
index 9f187f433..d810916f1 100644
--- a/.azure/main.parameters.json
+++ b/.azure/main.parameters.json
@@ -16,4 +16,4 @@
"value": "norwayeast"
}
}
-}
\ No newline at end of file
+}
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 000000000..dd450888a
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,64 @@
+# EditorConfig is awesome: https://EditorConfig.org
+
+# See also Directory.Build.Props for additional analyzer settings
+
+root = true
+
+[*]
+# Enforce line endings to be LF
+end_of_line = lf
+# Enforce indentation to be 4 spaces
+indent_style = spaces
+indent_size = 4
+# Insert a final new line at the end of the file
+insert_final_newline = true
+
+[*.cs]
+
+# CA1848: Use the LoggerMessage delegates
+# TODO: Possible performance improvement
+dotnet_diagnostic.CA1848.severity = none
+
+# Identifiers should not match keywords
+dotnet_diagnostic.CA1716.severity = none
+
+# Style faults should be warnings
+dotnet_analyzer_diagnostic.category-Style.severity = warning
+
+#
+dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
+
+# Enforce file scoped namespaces
+csharp_style_namespace_declarations = file_scoped:suggestion
+# Place 'using' directives outside of namespaces
+csharp_using_directive_placement = outside_namespace:true
+
+# Disabling this because of https://github.com/dotnet/roslyn/issues/41640
+dotnet_diagnostic.IDE0005.severity = none
+#
+# # Disabling this because of https://github.com/dotnet/roslyn/issues/70826
+# dotnet_diagnostic.IDE0028.severity = none
+#
+# # Primary constructors
+# dotnet_diagnostic.IDE0290.severity = none
+
+# Order 'using' directives with System.* appearing first
+dotnet_sort_system_directives_first = true
+# Suggest the use of var when the type is apparent
+csharp_style_var_for_built_in_types = true:suggestion
+csharp_style_var_when_type_is_apparent = true:suggestion
+csharp_style_var_elsewhere = true:suggestion
+# Suggest using expression bodies
+csharp_style_expression_bodied_methods = when_on_single_line
+dotnet_diagnostic.IDE0022.severity = suggestion
+# Don't mix non-braces and braces for ifs
+csharp_prefer_braces = when_multiline
+
+# "Expression body is never used"
+dotnet_diagnostic.IDE0058.severity = none
+# "'if' statement can be simplified"
+dotnet_diagnostic.IDE0046.severity = suggestion
+# "Do not declare static members on generic types"
+dotnet_diagnostic.CA1000.severity = none
+# "Instantiate argument exceptions correctly"
+dotnet_diagnostic.CA2208.severity = suggestion
diff --git a/.gitattributes b/.gitattributes
index d974b9866..b72c2c601 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,9 +1,7 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
-* text=auto
-*.sh text eol=lf
-**/all-tests.js eol=lf
+* text eol=lf
###############################################################################
# Set default behavior for command prompt diff.
diff --git a/.github/workflows/main_latidafunction.yml b/.github/workflows/main_latidafunction.yml
index fca3eb099..b25b25d59 100644
--- a/.github/workflows/main_latidafunction.yml
+++ b/.github/workflows/main_latidafunction.yml
@@ -1,42 +1,42 @@
-# Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action
-# More GitHub Actions for Azure: https://github.com/Azure/actions
-
-name: Build and deploy dotnet core app to Azure Function App - LatidaFunction
-
-on:
- push:
- branches:
- - main
- workflow_dispatch:
-
-env:
- AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
- DOTNET_VERSION: '7.0.x' # set this to the dotnet version to use
-
-jobs:
- build-and-deploy:
- runs-on: windows-latest
- steps:
- - name: 'Checkout GitHub Action'
- uses: actions/checkout@v4
-
- - name: Setup DotNet ${{ env.DOTNET_VERSION }} Environment
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: ${{ env.DOTNET_VERSION }}
-
- - name: 'Resolve Project Dependencies Using Dotnet'
- shell: pwsh
- run: |
- pushd './${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}'
- dotnet build --configuration Release --output ./output
- popd
-
- - name: 'Run Azure Functions Action'
- uses: Azure/functions-action@v1
- id: fa
- with:
- app-name: 'LatidaFunction'
- slot-name: 'Production'
- package: '${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}/output'
- publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_5B804973F87844089C37A81BF22B1261 }}
+# Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action
+# More GitHub Actions for Azure: https://github.com/Azure/actions
+
+name: Build and deploy dotnet core app to Azure Function App - LatidaFunction
+
+on:
+ push:
+ branches:
+ - main
+ workflow_dispatch:
+
+env:
+ AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
+ DOTNET_VERSION: '7.0.x' # set this to the dotnet version to use
+
+jobs:
+ build-and-deploy:
+ runs-on: windows-latest
+ steps:
+ - name: 'Checkout GitHub Action'
+ uses: actions/checkout@v4
+
+ - name: Setup DotNet ${{ env.DOTNET_VERSION }} Environment
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: ${{ env.DOTNET_VERSION }}
+
+ - name: 'Resolve Project Dependencies Using Dotnet'
+ shell: pwsh
+ run: |
+ pushd './${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}'
+ dotnet build --configuration Release --output ./output
+ popd
+
+ - name: 'Run Azure Functions Action'
+ uses: Azure/functions-action@v1
+ id: fa
+ with:
+ app-name: 'LatidaFunction'
+ slot-name: 'Production'
+ package: '${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}/output'
+ publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_5B804973F87844089C37A81BF22B1261 }}
diff --git a/Digdir.Domain.Dialogporten.sln b/Digdir.Domain.Dialogporten.sln
index eacd30978..63c6e28d1 100644
--- a/Digdir.Domain.Dialogporten.sln
+++ b/Digdir.Domain.Dialogporten.sln
@@ -27,6 +27,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Digdir.Domain.Dialogporten.
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{33E486B1-3279-4645-B536-AB640D560C45}"
ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
+ Directory.Build.props = Directory.Build.props
docker-compose.yml = docker-compose.yml
README.md = README.md
EndProjectSection
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 000000000..67b1f1d3c
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,14 @@
+
+
+
+ true
+
+
+
+ true
+ Recommended
+ true
+ latest
+
+
+
diff --git a/src/Digdir.Domain.Dialogporten.Application/ApplicationExtensions.cs b/src/Digdir.Domain.Dialogporten.Application/ApplicationExtensions.cs
index 0bc7bda36..d0f668929 100644
--- a/src/Digdir.Domain.Dialogporten.Application/ApplicationExtensions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/ApplicationExtensions.cs
@@ -42,14 +42,13 @@ public static IServiceCollection AddApplication(this IServiceCollection services
.AddTransient(typeof(IPipelineBehavior<,>), typeof(ValidationBehaviour<,>))
.AddTransient(typeof(IPipelineBehavior<,>), typeof(DomainContextBehaviour<,>));
- if (environment.IsDevelopment())
- {
- var localDeveloperSettings = configuration.GetLocalDevelopmentSettings();
- services.Decorate(
- predicate:
- localDeveloperSettings.UseLocalDevelopmentUser ||
- localDeveloperSettings.UseLocalDevelopmentResourceRegister);
- }
+ if (!environment.IsDevelopment()) return services;
+
+ var localDeveloperSettings = configuration.GetLocalDevelopmentSettings();
+ services.Decorate(
+ predicate:
+ localDeveloperSettings.UseLocalDevelopmentUser ||
+ localDeveloperSettings.UseLocalDevelopmentResourceRegister);
return services;
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/ApplicationSettings.cs b/src/Digdir.Domain.Dialogporten.Application/ApplicationSettings.cs
index a919531c6..938707dd9 100644
--- a/src/Digdir.Domain.Dialogporten.Application/ApplicationSettings.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/ApplicationSettings.cs
@@ -6,7 +6,7 @@ namespace Digdir.Domain.Dialogporten.Application;
public sealed class ApplicationSettings
{
public const string ConfigurationSectionName = "Application";
-
+
public required DialogportenSettings Dialogporten { get; init; }
}
@@ -31,4 +31,4 @@ public DialogportenSettingsValidator()
{
RuleFor(x => x.BaseUri).NotEmpty().IsValidUri();
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Behaviours/DomainContextBehaviour.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Behaviours/DomainContextBehaviour.cs
index e00135eda..6abb9527f 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Behaviours/DomainContextBehaviour.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Behaviours/DomainContextBehaviour.cs
@@ -26,7 +26,7 @@ internal sealed class DomainContextBehaviour : IPipelineBeh
public DomainContextBehaviour(IDomainContext domainContext)
{
-
+
_domainContext = domainContext ?? throw new ArgumentNullException(nameof(domainContext));
}
@@ -38,7 +38,7 @@ public async Task Handle(TRequest request, RequestHandlerDelegate Handle(TRequest request, RequestHandlerDelegate Handle(TRequest request, RequestHandlerDelegate x is not null)
.ToList();
- if (!failures.Any())
+ if (failures.Count == 0)
{
return await next();
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Expressions.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Expressions.cs
index 6cfe6d800..0c15b2a35 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Expressions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Expressions.cs
@@ -8,8 +8,8 @@ internal static class Expressions
{
internal static Expression> LocalizedSearchExpression(string? search, string? cultureCode)
{
- return localization =>
- (cultureCode == null || localization.CultureCode == cultureCode) &&
+ return localization =>
+ (cultureCode == null || localization.CultureCode == cultureCode) &&
EF.Functions.ILike(localization.Value, $"%{search}%");
- }
-}
\ No newline at end of file
+ }
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/AutoMapperExtensions.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/AutoMapperExtensions.cs
index 3f50731c4..d591de2de 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/AutoMapperExtensions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/AutoMapperExtensions.cs
@@ -29,10 +29,7 @@ public static IMappingExpression IgnoreComplexDestinationPropert
private static bool IsSimple(this Type type)
{
- if (type is null)
- {
- throw new ArgumentNullException(nameof(type));
- }
+ ArgumentNullException.ThrowIfNull(type);
if (type.IsGenericType && type.GetGenericTypeDefinition() == GenericNullableType)
{
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/ClaimsPrincipalExtensions.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/ClaimsPrincipalExtensions.cs
index 22d8b23fb..3909a446c 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/ClaimsPrincipalExtensions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/ClaimsPrincipalExtensions.cs
@@ -33,7 +33,7 @@ public static bool TryGetOrgNumber(this ClaimsPrincipal claimsPrincipal, [NotNul
}
if (!consumerClaimJson.TryGetValue(AuthorityClaim, out var authority) ||
- !string.Equals(authority, AuthorityValue, StringComparison.InvariantCultureIgnoreCase))
+ !string.Equals(authority, AuthorityValue, StringComparison.OrdinalIgnoreCase))
{
return false;
}
@@ -54,4 +54,4 @@ public static bool TryGetOrgNumber(this ClaimsPrincipal claimsPrincipal, [NotNul
internal static bool TryGetOrgNumber(this IUser user, [NotNullWhen(true)] out string? orgNumber) =>
user.GetPrincipal().TryGetOrgNumber(out orgNumber);
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/Enumerable/MergeExtensions.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/Enumerable/MergeExtensions.cs
index de959572a..f3518b704 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/Enumerable/MergeExtensions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/Enumerable/MergeExtensions.cs
@@ -12,8 +12,12 @@ namespace Digdir.Domain.Dialogporten.Application.Common.Extensions.Enumerable;
internal static class DeleteDelegate
{
+#pragma warning disable IDE0060
+ // ReSharper disable once MethodOverloadWithOptionalParameter
public static Task NoOp(IEnumerable deletables, CancellationToken cancellationToken = default) => Task.CompletedTask;
public static void NoOp(IEnumerable deletables) { /* No operation by design */ }
+#pragma warning restore IDE0060
+
}
internal static class MergeExtensions
@@ -130,17 +134,17 @@ private static async Task DeleteAsync(
return;
}
- var deleates = destinations
+ var delegates = destinations
.Except(updateSets.Select(x => x.Destination))
.ToList();
- if (deleates.Count == 0)
+ if (delegates.Count == 0)
{
return;
}
- await delete(deleates, cancellationToken);
- foreach (var item in deleates)
+ await delete(delegates, cancellationToken);
+ foreach (var item in delegates)
{
destinations.Remove(item);
}
@@ -190,17 +194,17 @@ private static void Delete(
return;
}
- var deleates = destinations
+ var delegates = destinations
.Except(updateSets.Select(x => x.Destination))
.ToList();
- if (deleates.Count == 0)
+ if (delegates.Count == 0)
{
return;
}
- delete(deleates);
- foreach (var item in deleates)
+ delete(delegates);
+ foreach (var item in delegates)
{
destinations.Remove(item);
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/Enumerable/UpdateSet.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/Enumerable/UpdateSet.cs
index e1ea9e727..2c9d02324 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/Enumerable/UpdateSet.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/Enumerable/UpdateSet.cs
@@ -1,6 +1,6 @@
namespace Digdir.Domain.Dialogporten.Application.Common.Extensions.Enumerable;
-internal readonly struct UpdateSet
+internal readonly struct UpdateSet
{
public TDestination Destination { get; init; }
public TSource Source { get; init; }
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_Enumerable_Extensions.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_Enumerable_Extensions.cs
index 40c9ad176..f459459f8 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_Enumerable_Extensions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_Enumerable_Extensions.cs
@@ -23,7 +23,7 @@ public static IRuleBuilderOptions> UniqueBy x.Key)
.ToArray();
ctx.MessageFormatter.AppendArgument("DuplicateKeys", string.Join(",", duplicateKeys));
- return !duplicateKeys.Any();
+ return duplicateKeys.Length == 0;
}).WithMessage("Can not contain duplicate items: [{DuplicateKeys}].");
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_LocalizationDto_Extensions.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_LocalizationDto_Extensions.cs
index ff27a4d99..66cb67188 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_LocalizationDto_Extensions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_LocalizationDto_Extensions.cs
@@ -4,12 +4,12 @@
namespace Digdir.Domain.Dialogporten.Application.Common.Extensions.FluentValidation;
-internal static class FluentValidation_LocalizationDto_Extensions
+internal static class FluentValidationLocalizationDtoExtensions
{
- private static readonly string[] AllowedTags = new[] { "p", "a", "br", "em", "strong", "ul", "ol", "li" };
- private static readonly string ContainsValidHttpError =
+ private static readonly string[] AllowedTags = { "p", "a", "br", "em", "strong", "ul", "ol", "li" };
+ private static readonly string ContainsValidHttpError =
$"{{PropertyName}} contains unsupported html. The following tags are supported: " +
- $"[{string.Join(",", AllowedTags.Select(x => '<' + x + '>'))}]. Tag atributes " +
+ $"[{string.Join(",", AllowedTags.Select(x => '<' + x + '>'))}]. Tag attributes " +
$"are not supported except for on '' which must contain a 'href' starting " +
$"with 'https://'.";
@@ -55,16 +55,16 @@ private static bool HtmlAgilityPackCheck(this string html)
private static bool IsAnchorTag(this HtmlNode node)
{
- const string AnchorTag = "a";
- return node.Name == AnchorTag;
+ const string anchorTag = "a";
+ return node.Name == anchorTag;
}
private static bool IsValidAnchorTag(this HtmlNode node)
{
- const string Https = "https://";
- const string Href = "href";
+ const string https = "https://";
+ const string href = "href";
return node.Attributes.Count == 1 &&
- node.Attributes[Href] is not null &&
- node.Attributes[Href].Value.StartsWith(Https);
+ node.Attributes[href] is not null &&
+ node.Attributes[href].Value.StartsWith(https, StringComparison.InvariantCultureIgnoreCase);
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_Uri_Extensions.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_Uri_Extensions.cs
index c945d306e..ce2a6a729 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_Uri_Extensions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/FluentValidation/FluentValidation_Uri_Extensions.cs
@@ -2,14 +2,14 @@
namespace Digdir.Domain.Dialogporten.Application.Common.Extensions.FluentValidation;
-public static class FluentValidation_Uri_Extensions
+public static class FluentValidationUriExtensions
{
public static IRuleBuilderOptions IsValidUri(this IRuleBuilder ruleBuilder)
where TUri : Uri?
{
return ruleBuilder
.Must(uri => uri is null || uri.IsWellFormedOriginalString())
- .WithMessage("'{PropertyName}' is not a well formated URI.");
+ .WithMessage("'{PropertyName}' is not a well formatted URI.");
}
public static IRuleBuilderOptions MaximumLength(this IRuleBuilder ruleBuilder, int maximumLength)
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/ServiceCollectionExtensions.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/ServiceCollectionExtensions.cs
index 460ab9a81..c67cb1cc7 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/ServiceCollectionExtensions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Extensions/ServiceCollectionExtensions.cs
@@ -1,7 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
-using FluentValidation;
using Microsoft.Extensions.Hosting;
-using System.Diagnostics.CodeAnalysis;
namespace Digdir.Domain.Dialogporten.Application.Common.Extensions;
@@ -57,9 +55,9 @@ private static IServiceCollection Replace(
}
public static IServiceCollection Decorate(this IServiceCollection services, bool predicate)
- where TDecorator : TService =>
- predicate
- ? services.Decorate()
+ where TDecorator : TService =>
+ predicate
+ ? services.Decorate()
: services;
public static IServiceCollection AddHostedService(this IServiceCollection services, bool predicate)
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/IDomainContext.cs b/src/Digdir.Domain.Dialogporten.Application/Common/IDomainContext.cs
index 3d9eeaada..ad761ffa8 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/IDomainContext.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/IDomainContext.cs
@@ -20,7 +20,7 @@ internal class DomainContext : IDomainContext
public IReadOnlyCollection Errors => _errors.ToList();
- public bool IsValid => !_errors.Any();
+ public bool IsValid => _errors.Count == 0;
public void AddError(string propertyName, string error)
=> AddError(new DomainFailure(propertyName, error));
@@ -51,4 +51,4 @@ public void EnsureValidState()
throw new DomainException(Pop());
}
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/IUserService.cs b/src/Digdir.Domain.Dialogporten.Application/Common/IUserService.cs
index 5ac855f9d..e75bbebae 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/IUserService.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/IUserService.cs
@@ -30,15 +30,10 @@ public async Task CurrentUserIsOwner(string serviceResource, CancellationT
return resourceIds.Contains(serviceResource);
}
- public Task> GetCurrentUserResourceIds(CancellationToken cancellationToken)
- {
- if (!_user.TryGetOrgNumber(out var orgNumber))
- {
- throw new UnreachableException();
- }
-
- return _resourceRegistry.GetResourceIds(orgNumber, cancellationToken);
- }
+ public Task> GetCurrentUserResourceIds(CancellationToken cancellationToken) =>
+ !_user.TryGetOrgNumber(out var orgNumber)
+ ? throw new UnreachableException()
+ : _resourceRegistry.GetResourceIds(orgNumber, cancellationToken);
}
internal sealed class LocalDevelopmentUserServiceDecorator : IUserService
@@ -50,9 +45,9 @@ public LocalDevelopmentUserServiceDecorator(IUserService userService)
_userService = userService ?? throw new ArgumentNullException(nameof(userService));
}
- public Task CurrentUserIsOwner(string serviceResource, CancellationToken cancellationToken) =>
+ public Task CurrentUserIsOwner(string serviceResource, CancellationToken cancellationToken) =>
Task.FromResult(true);
- public Task> GetCurrentUserResourceIds(CancellationToken cancellationToken) =>
+ public Task> GetCurrentUserResourceIds(CancellationToken cancellationToken) =>
_userService.GetCurrentUserResourceIds(cancellationToken);
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/Mod11.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/Mod11.cs
index 9816e0aec..d3a8f4c78 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/Mod11.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/Mod11.cs
@@ -18,11 +18,11 @@ public static bool TryCalculateControlDigit(ReadOnlySpan number, int[] wei
}
var sum = 0;
- for (int i = 0; i < digits.Length; i++)
+ for (var i = 0; i < digits.Length; i++)
{
sum += digits[i] * weights[i];
}
- controlDigit = Mod11Number - sum % Mod11Number;
+ controlDigit = Mod11Number - (sum % Mod11Number);
return true;
}
@@ -31,11 +31,11 @@ private static int[] ExtractDigits(this ReadOnlySpan number)
var result = new int[number.Length];
var index = 0;
- for (int i = 0; i < number.Length; i++)
+ foreach (var character in number)
{
- if (char.IsDigit(number[i]))
+ if (char.IsDigit(character))
{
- result[index++] = number[i] - '0';
+ result[index++] = character - '0';
}
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/OrganizationNumber.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/OrganizationNumber.cs
index ba8d5bf19..e4ab83e2c 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/OrganizationNumber.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/OrganizationNumber.cs
@@ -1,13 +1,15 @@
-namespace Digdir.Domain.Dialogporten.Application.Common.Numbers;
+using System.Globalization;
+
+namespace Digdir.Domain.Dialogporten.Application.Common.Numbers;
internal static class OrganizationNumber
{
- private static readonly int[] OrgNumberWeights = new[] { 3, 2, 7, 6, 5, 4, 3, 2 };
+ private static readonly int[] OrgNumberWeights = { 3, 2, 7, 6, 5, 4, 3, 2 };
public static bool IsValid(ReadOnlySpan orgNumber)
{
return orgNumber.Length == 9
&& Mod11.TryCalculateControlDigit(orgNumber[..8], OrgNumberWeights, out var control)
- && control == int.Parse(orgNumber[8..9]);
+ && control == int.Parse(orgNumber[8..9], CultureInfo.InvariantCulture);
}
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/SocialSecurityNumber.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/SocialSecurityNumber.cs
index bce2370a1..166d111dd 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/SocialSecurityNumber.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/SocialSecurityNumber.cs
@@ -1,16 +1,18 @@
-namespace Digdir.Domain.Dialogporten.Application.Common.Numbers;
+using System.Globalization;
+
+namespace Digdir.Domain.Dialogporten.Application.Common.Numbers;
internal static class SocialSecurityNumber
{
- private static readonly int[] SocialSecurityNumberWeights1 = new[] { 3, 7, 6, 1, 8, 9, 4, 5, 2, 1 };
- private static readonly int[] SocialSecurityNumberWeights2 = new[] { 5, 4, 3, 2, 7, 6, 5, 4, 3, 2, 1 };
+ private static readonly int[] SocialSecurityNumberWeights1 = { 3, 7, 6, 1, 8, 9, 4, 5, 2, 1 };
+ private static readonly int[] SocialSecurityNumberWeights2 = { 5, 4, 3, 2, 7, 6, 5, 4, 3, 2, 1 };
public static bool IsValid(ReadOnlySpan socialSecurityNumber)
{
return socialSecurityNumber.Length == 11
&& Mod11.TryCalculateControlDigit(socialSecurityNumber[..9], SocialSecurityNumberWeights1, out var control1)
&& Mod11.TryCalculateControlDigit(socialSecurityNumber[..10], SocialSecurityNumberWeights2, out var control2)
- && control1 == int.Parse(socialSecurityNumber[9..10])
- && control2 == int.Parse(socialSecurityNumber[10..11]);
+ && control1 == int.Parse(socialSecurityNumber[9..10], CultureInfo.InvariantCulture)
+ && control2 == int.Parse(socialSecurityNumber[10..11], CultureInfo.InvariantCulture);
}
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/UuidV7.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/UuidV7.cs
index 169c6063c..e8ba73f3b 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/UuidV7.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Numbers/UuidV7.cs
@@ -12,9 +12,9 @@ public static bool IsValid(string uuid)
return IsValid(guid);
}
- public static bool IsValid(Guid guid)
+ public static bool IsValid(Guid value)
{
- var bytes = guid.ToByteArray();
+ var bytes = value.ToByteArray();
// Version is stored in the 7th byte, but the nibbles are reversed so version is actually in the higher 4 bits
var version = bytes[7] >> 4;
if (version != 7) // Ensure version is 7
@@ -29,4 +29,4 @@ public static bool IsValid(Guid guid)
}
return true;
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continue/ContinuationToken.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continuation/ContinuationToken.cs
similarity index 97%
rename from src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continue/ContinuationToken.cs
rename to src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continuation/ContinuationToken.cs
index b646bc96d..346ec7b45 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continue/ContinuationToken.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continuation/ContinuationToken.cs
@@ -1,7 +1,7 @@
using System.Linq.Expressions;
using System.Reflection;
-namespace Digdir.Domain.Dialogporten.Application.Common.Pagination.Continue;
+namespace Digdir.Domain.Dialogporten.Application.Common.Pagination.Continuation;
public class ContinuationToken
{
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continue/ContinuationTokenSet.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continuation/ContinuationTokenSet.cs
similarity index 99%
rename from src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continue/ContinuationTokenSet.cs
rename to src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continuation/ContinuationTokenSet.cs
index f53468ddc..dfd91eac8 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continue/ContinuationTokenSet.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Continuation/ContinuationTokenSet.cs
@@ -2,7 +2,7 @@
using Digdir.Domain.Dialogporten.Application.Common.Pagination.Extensions;
using Digdir.Domain.Dialogporten.Application.Common.Pagination.OrderOption;
-namespace Digdir.Domain.Dialogporten.Application.Common.Pagination.Continue;
+namespace Digdir.Domain.Dialogporten.Application.Common.Pagination.Continuation;
public interface IContinuationTokenSet
{
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Extensions/OrderExtensions.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Extensions/OrderExtensions.cs
index 65c9b9667..795135762 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Extensions/OrderExtensions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Extensions/OrderExtensions.cs
@@ -1,5 +1,5 @@
using Digdir.Domain.Dialogporten.Application.Common.Extensions;
-using Digdir.Domain.Dialogporten.Application.Common.Pagination.Continue;
+using Digdir.Domain.Dialogporten.Application.Common.Pagination.Continuation;
using Digdir.Domain.Dialogporten.Application.Common.Pagination.Order;
using Digdir.Domain.Dialogporten.Application.Common.Pagination.OrderOption;
using System.Linq.Expressions;
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/IPaginationParameter.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/IPaginationParameter.cs
index 922a99cef..686fe6c8a 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/IPaginationParameter.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/IPaginationParameter.cs
@@ -1,11 +1,11 @@
-using Digdir.Domain.Dialogporten.Application.Common.Pagination.Continue;
+using Digdir.Domain.Dialogporten.Application.Common.Pagination.Continuation;
using Digdir.Domain.Dialogporten.Application.Common.Pagination.Order;
using Digdir.Domain.Dialogporten.Application.Common.Pagination.OrderOption;
using FluentValidation;
namespace Digdir.Domain.Dialogporten.Application.Common.Pagination;
-public class PaginationParameter
+public class PaginationParameter
where TOrderDefinition : IOrderDefinition
{
private readonly int _limit = PaginationConstants.DefaultLimit;
@@ -30,7 +30,7 @@ internal sealed class PaginationParameterValidator :
{
public PaginationParameterValidator()
{
- RuleFor(x => x.Limit).InclusiveBetween(PaginationConstants.MinLimit,PaginationConstants.MaxLimit);
+ RuleFor(x => x.Limit).InclusiveBetween(PaginationConstants.MinLimit, PaginationConstants.MaxLimit);
RuleFor(x => x.ContinuationToken)
.Must((paginationParameter, continuationTokenSet, ctx) =>
{
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Order/OrderSet.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Order/OrderSet.cs
index 65046a1c1..ae871dcc6 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Order/OrderSet.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/Order/OrderSet.cs
@@ -54,10 +54,7 @@ public static bool TryParse(string? value, [NotNullWhen(true)] out OrderSet x.Key == PaginationConstants.OrderIdKey)
?? OrderOptions.Value.IdOrder;
- if (orderList.Contains(idOrder))
- {
- orderList.Remove(idOrder);
- }
+ orderList.Remove(idOrder);
orderList.Add(idOrder);
@@ -87,7 +84,7 @@ public static bool TryParse(string? value, [NotNullWhen(true)] out OrderSet s,
DateTimeOffset d => d.UtcDateTime.ToString("o"),
DateTime d => d.ToString("o"),
- object o => o.ToString(),
+ var o => o.ToString(),
};
return $"{x.Key.ToLowerInvariant()}{PaginationConstants.ContinuationTokenDelimiter}{value}";
});
@@ -117,9 +114,6 @@ public bool Equals(Order? x, Order? y)
return x.Key == y.Key;
}
- public int GetHashCode([DisallowNull] Order obj)
- {
- return obj.Key.GetHashCode();
- }
+ public int GetHashCode([DisallowNull] Order obj) => obj.Key.GetHashCode();
}
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/PaginationExtensions.cs b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/PaginationExtensions.cs
index c0b101909..1d0e98e76 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/PaginationExtensions.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Common/Pagination/PaginationExtensions.cs
@@ -1,4 +1,4 @@
-using Digdir.Domain.Dialogporten.Application.Common.Pagination.Continue;
+using Digdir.Domain.Dialogporten.Application.Common.Pagination.Continuation;
using Digdir.Domain.Dialogporten.Application.Common.Pagination.Extensions;
using Digdir.Domain.Dialogporten.Application.Common.Pagination.Order;
using Digdir.Domain.Dialogporten.Application.Common.Pagination.OrderOption;
@@ -39,10 +39,7 @@ private static async Task> CreateAsync(
int limit,
CancellationToken cancellationToken = default)
{
- if (source == null)
- {
- throw new ArgumentNullException(nameof(source));
- }
+ ArgumentNullException.ThrowIfNull(source);
const int OneMore = 1;
diff --git a/src/Digdir.Domain.Dialogporten.Application/Digdir.Domain.Dialogporten.Application.csproj b/src/Digdir.Domain.Dialogporten.Application/Digdir.Domain.Dialogporten.Application.csproj
index 97f292985..5e2ecf0d4 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Digdir.Domain.Dialogporten.Application.csproj
+++ b/src/Digdir.Domain.Dialogporten.Application/Digdir.Domain.Dialogporten.Application.csproj
@@ -1,31 +1,31 @@
-
- net7.0
- enable
- enable
-
+
+ net7.0
+ enable
+ enable
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
diff --git a/src/Digdir.Domain.Dialogporten.Application/Externals/IDialogDbContext.cs b/src/Digdir.Domain.Dialogporten.Application/Externals/IDialogDbContext.cs
index 1cce11fac..6b0888abb 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Externals/IDialogDbContext.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Externals/IDialogDbContext.cs
@@ -40,13 +40,13 @@ public interface IDialogDbContext
/// True if the property is unmodified or the predicate returns true.
///
bool MustWhenModified(
- TEntity entity,
- Expression> propertyExpression,
- Func predicate)
+ TEntity entity,
+ Expression> propertyExpression,
+ Func predicate)
where TEntity : class;
Task> GetExistingIds(
- IEnumerable entities,
- CancellationToken cancellationToken)
+ IEnumerable entities,
+ CancellationToken cancellationToken)
where TEntity : class, IIdentifiableEntity;
bool TrySetOriginalETag(TEntity entity, Guid? etag) where TEntity : class, IVersionableEntity;
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs
index 2795cb02d..adb782103 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs
@@ -13,21 +13,21 @@ internal static class CloudEventTypes
DialogUpdatedDomainEvent => "dialogporten.dialog.updated.v1",
DialogDeletedDomainEvent => "dialogporten.dialog.deleted.v1",
DialogReadDomainEvent => "dialogporten.dialog.read.v1",
-
+
// DialogElement
DialogElementDeletedDomainEvent => "dialogporten.dialog.element.deleted.v1",
DialogElementCreatedDomainEvent => "dialogporten.dialog.element.created.v1",
- DialogElementUpdatedDomainEvent => "dialogporten.dialog.element.updated.v1",
-
+ DialogElementUpdatedDomainEvent => "dialogporten.dialog.element.updated.v1",
+
// Dialog activity
- DialogActivityType.Enum.Submission => "dialogporten.dialog.activity.submission.v1",
- DialogActivityType.Enum.Feedback => "dialogporten.dialog.activity.feedback.v1",
- DialogActivityType.Enum.Information => "dialogporten.dialog.activity.information.v1",
- DialogActivityType.Enum.Error => "dialogporten.dialog.activity.error.v1",
- DialogActivityType.Enum.Closed => "dialogporten.dialog.activity.closed.v1",
- DialogActivityType.Enum.Seen => "dialogporten.dialog.activity.seen.v1",
- DialogActivityType.Enum.Forwarded => "dialogporten.dialog.activity.forwarded.v1",
-
+ DialogActivityType.Values.Submission => "dialogporten.dialog.activity.submission.v1",
+ DialogActivityType.Values.Feedback => "dialogporten.dialog.activity.feedback.v1",
+ DialogActivityType.Values.Information => "dialogporten.dialog.activity.information.v1",
+ DialogActivityType.Values.Error => "dialogporten.dialog.activity.error.v1",
+ DialogActivityType.Values.Closed => "dialogporten.dialog.activity.closed.v1",
+ DialogActivityType.Values.Seen => "dialogporten.dialog.activity.seen.v1",
+ DialogActivityType.Values.Forwarded => "dialogporten.dialog.activity.forwarded.v1",
+
_ => throw new ArgumentOutOfRangeException(nameof(obj), obj, null)
};
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogActivityEventToAltinnForwarder.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogActivityEventToAltinnForwarder.cs
index b6c93c128..e48d98761 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogActivityEventToAltinnForwarder.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogActivityEventToAltinnForwarder.cs
@@ -10,7 +10,7 @@ namespace Digdir.Domain.Dialogporten.Application.Features.V1.Common.Events;
internal sealed class DialogActivityEventToAltinnForwarder : DomainEventToAltinnForwarderBase,
INotificationHandler
{
- public DialogActivityEventToAltinnForwarder(ICloudEventBus cloudEventBus, IDialogDbContext db, IOptions settings)
+ public DialogActivityEventToAltinnForwarder(ICloudEventBus cloudEventBus, IDialogDbContext db, IOptions settings)
: base(cloudEventBus, db, settings) { }
public async Task Handle(DialogActivityCreatedDomainEvent domainEvent, CancellationToken cancellationToken)
@@ -20,12 +20,8 @@ public async Task Handle(DialogActivityCreatedDomainEvent domainEvent, Cancellat
.Include(e => e.DialogElement)
.Include(e => e.RelatedActivity)
.AsNoTracking()
- .FirstOrDefaultAsync(x => x.Id == domainEvent.DialogActivityId, cancellationToken);
-
- if (dialogActivity is null)
- {
- throw new ApplicationException($"DialogActivity with id {domainEvent.DialogActivityId} not found");
- }
+ .FirstOrDefaultAsync(x => x.Id == domainEvent.DialogActivityId, cancellationToken)
+ ?? throw new KeyNotFoundException($"DialogActivity with id {domainEvent.DialogActivityId} not found");
var cloudEvent = new CloudEvent
{
@@ -39,9 +35,9 @@ public async Task Handle(DialogActivityCreatedDomainEvent domainEvent, Cancellat
Data = GetCloudEventData(dialogActivity)
};
- await CloudEventBus.Publish(cloudEvent, cancellationToken);
+ await CloudEventBus.Publish(cloudEvent, cancellationToken);
}
-
+
private static Dictionary GetCloudEventData(DialogActivity dialogActivity)
{
var data = new Dictionary
@@ -74,4 +70,4 @@ private static Dictionary GetCloudEventData(DialogActivity dialo
return data;
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogElementEventToAltinnForwarder.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogElementEventToAltinnForwarder.cs
index 66ac99dc2..91d61a46c 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogElementEventToAltinnForwarder.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogElementEventToAltinnForwarder.cs
@@ -40,17 +40,17 @@ public async Task Handle(DialogElementDeletedDomainEvent domainEvent, Cancellati
{
["dialogElementId"] = domainEvent.DialogElementId.ToString()
};
-
+
if (domainEvent.RelatedDialogElementId is not null)
{
data["relatedDialogElementId"] = domainEvent.RelatedDialogElementId.Value.ToString();
}
-
+
if (domainEvent.Type is not null)
{
data["dialogElementType"] = domainEvent.Type.ToString();
}
-
+
var cloudEvent = new CloudEvent
{
Id = domainEvent.EventId,
@@ -104,13 +104,9 @@ private async Task GetDialogElement(Guid dialogElementId, Cancell
.Include(e => e.Dialog)
.Include(e => e.RelatedDialogElement)
.AsNoTracking()
- .FirstOrDefaultAsync(x => x.Id == dialogElementId, cancellationToken);
-
- if (dialogElement is null)
- {
- throw new ApplicationException($"DialogElement with id {dialogElementId} not found");
- }
+ .FirstOrDefaultAsync(x => x.Id == dialogElementId, cancellationToken)
+ ?? throw new KeyNotFoundException($"DialogElement with id {dialogElementId} not found");
return dialogElement;
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogEventToAltinnForwarder.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogEventToAltinnForwarder.cs
index d38e8da9f..180136642 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogEventToAltinnForwarder.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DialogEventToAltinnForwarder.cs
@@ -53,9 +53,8 @@ public async Task Handle(DialogDeletedDomainEvent domainEvent, CancellationToken
await CloudEventBus.Publish(cloudEvent, cancellationToken);
}
-
- private CloudEvent CreateCloudEvent(IDomainEvent domainEvent, DialogEntity dialog,
- Dictionary? data = null) => new()
+
+ private CloudEvent CreateCloudEvent(IDomainEvent domainEvent, DialogEntity dialog, Dictionary? data = null) => new()
{
Id = domainEvent.EventId,
Type = CloudEventTypes.Get(domainEvent),
@@ -66,4 +65,4 @@ private CloudEvent CreateCloudEvent(IDomainEvent domainEvent, DialogEntity dialo
Source = $"{DialogportenBaseUrl()}/api/v1/enduser/dialogs/{dialog.Id}",
Data = data
};
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DomainEventToAltinnForwarderBase.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DomainEventToAltinnForwarderBase.cs
index cd582553e..29cc0ea40 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DomainEventToAltinnForwarderBase.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/DomainEventToAltinnForwarderBase.cs
@@ -19,19 +19,15 @@ protected DomainEventToAltinnForwarderBase(ICloudEventBus cloudEventBus, IDialog
}
protected string DialogportenBaseUrl() => _dialogportenSettings.BaseUri.ToString();
-
+
protected async Task GetDialog(Guid dialogId, CancellationToken cancellationToken)
{
var dialog = await Db.Dialogs
.IgnoreQueryFilters()
.AsNoTracking()
- .FirstOrDefaultAsync(x => x.Id == dialogId, cancellationToken);
-
- if (dialog is null)
- {
- throw new ApplicationException($"Dialog with id {dialogId} not found");
- }
+ .FirstOrDefaultAsync(x => x.Id == dialogId, cancellationToken)
+ ?? throw new KeyNotFoundException($"Dialog with id {dialogId} not found");
return dialog;
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Localizations/LocalizationDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Localizations/LocalizationDto.cs
index 5197f7514..de594fe7f 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Localizations/LocalizationDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Localizations/LocalizationDto.cs
@@ -4,12 +4,12 @@ namespace Digdir.Domain.Dialogporten.Application.Features.V1.Common.Localization
public sealed class LocalizationDto
{
- private string _cultureCode = null!;
+ private readonly string _cultureCode = null!;
public required string Value { get; init; }
- public required string CultureCode
- {
- get => _cultureCode;
- init => _cultureCode = Localization.NormalizeCultureCode(value)!;
+ public required string CultureCode
+ {
+ get => _cultureCode;
+ init => _cultureCode = Localization.NormalizeCultureCode(value)!;
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/GetDialogActivityDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/GetDialogActivityDto.cs
index 3953ecd93..dd108bc07 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/GetDialogActivityDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/GetDialogActivityDto.cs
@@ -9,7 +9,7 @@ public sealed class GetDialogActivityDto
public DateTimeOffset? CreatedAt { get; set; }
public Uri? ExtendedType { get; set; }
- public DialogActivityType.Enum Type { get; set; }
+ public DialogActivityType.Values Type { get; set; }
public Guid? RelatedActivityId { get; set; }
public Guid? DialogElementId { get; set; }
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/MappingProfile.cs
index 800fb1ec5..0e30f1f35 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/MappingProfile.cs
@@ -3,11 +3,11 @@
namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogActivities.Queries.Get;
-public class MappingProfile : Profile
+public class MappingProfile : Profile
{
public MappingProfile()
{
CreateMap()
.ForMember(dest => dest.Type, opt => opt.MapFrom(src => src.TypeId));
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/List/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Search/MappingProfile.cs
similarity index 77%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/List/MappingProfile.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Search/MappingProfile.cs
index 8243bc8c5..d5346c394 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/List/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Search/MappingProfile.cs
@@ -1,13 +1,13 @@
using AutoMapper;
using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogActivities.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogActivities.Queries.Search;
internal sealed class MappingProfile : Profile
{
public MappingProfile()
{
- CreateMap()
+ CreateMap()
.ForMember(dest => dest.Type,
opt => opt.MapFrom(src => src.TypeId));
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/List/ListDialogActivityDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Search/SearchDialogActivityDto.cs
similarity index 72%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/List/ListDialogActivityDto.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Search/SearchDialogActivityDto.cs
index 00c804c00..adce19ec6 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/List/ListDialogActivityDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Search/SearchDialogActivityDto.cs
@@ -1,15 +1,15 @@
using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogActivities.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogActivities.Queries.Search;
-public sealed class ListDialogActivityDto
+public sealed class SearchDialogActivityDto
{
public Guid Id { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public Uri? ExtendedType { get; set; }
- public DialogActivityType.Enum Type { get; set; }
+ public DialogActivityType.Values Type { get; set; }
public Guid? RelatedActivityId { get; set; }
public Guid? DialogElementId { get; set; }
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/List/ListDialogActivityQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Search/SearchDialogActivityQuery.cs
similarity index 58%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/List/ListDialogActivityQuery.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Search/SearchDialogActivityQuery.cs
index 9c8a89df0..e676edb19 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/List/ListDialogActivityQuery.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Search/SearchDialogActivityQuery.cs
@@ -6,33 +6,33 @@
using Microsoft.EntityFrameworkCore;
using OneOf;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogActivities.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogActivities.Queries.Search;
-public sealed class ListDialogActivityQuery : IRequest
+public sealed class SearchDialogActivityQuery : IRequest
{
public Guid DialogId { get; set; }
}
[GenerateOneOf]
-public partial class ListDialogActivityResult : OneOfBase, EntityNotFound, EntityDeleted> { }
+public partial class SearchDialogActivityResult : OneOfBase, EntityNotFound, EntityDeleted> { }
-internal sealed class ListDialogActivityQueryHandler : IRequestHandler
+internal sealed class SearchDialogActivityQueryHandler : IRequestHandler
{
private readonly IDialogDbContext _db;
private readonly IMapper _mapper;
- public ListDialogActivityQueryHandler(IDialogDbContext db, IMapper mapper)
+ public SearchDialogActivityQueryHandler(IDialogDbContext db, IMapper mapper)
{
_db = db ?? throw new ArgumentNullException(nameof(db));
_mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
}
- public async Task Handle(ListDialogActivityQuery request, CancellationToken cancellationToken)
+ public async Task Handle(SearchDialogActivityQuery request, CancellationToken cancellationToken)
{
var dialog = await _db.Dialogs
.Include(x => x.Activities)
.IgnoreQueryFilters()
- .FirstOrDefaultAsync(x => x.Id == request.DialogId,
+ .FirstOrDefaultAsync(x => x.Id == request.DialogId,
cancellationToken: cancellationToken);
if (dialog is null)
@@ -44,7 +44,7 @@ public async Task Handle(ListDialogActivityQuery reque
{
return new EntityDeleted(request.DialogId);
}
-
- return _mapper.Map>(dialog.Activities);
+
+ return _mapper.Map>(dialog.Activities);
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/GetDialogElementDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/GetDialogElementDto.cs
index 15c593437..f17b11f66 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/GetDialogElementDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/GetDialogElementDto.cs
@@ -21,5 +21,5 @@ public sealed class GetDialogElementUrlDto
public Uri Url { get; set; } = null!;
public string? MimeType { get; set; }
- public DialogElementUrlConsumerType.Enum ConsumerType { get; set; }
+ public DialogElementUrlConsumerType.Values ConsumerType { get; set; }
}
\ No newline at end of file
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/GetDialogElementQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/GetDialogElementQuery.cs
index 89df972e2..8792017e9 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/GetDialogElementQuery.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/GetDialogElementQuery.cs
@@ -17,9 +17,7 @@ public sealed class GetDialogElementQuery : IRequest
}
[GenerateOneOf]
-public partial class GetDialogElementResult : OneOfBase
-{
-}
+public partial class GetDialogElementResult : OneOfBase { }
internal sealed class GetDialogElementQueryHandler : IRequestHandler
{
@@ -37,16 +35,16 @@ public async Task Handle(GetDialogElementQuery request,
{
Expression>> elementFilter = dialog =>
dialog.Elements.Where(x => x.Id == request.ElementId);
-
+
var dialog = await _dbContext.Dialogs
.Include(elementFilter)
.ThenInclude(x => x.DisplayName!.Localizations)
.Include(elementFilter)
.ThenInclude(x => x.Urls)
.IgnoreQueryFilters()
- .FirstOrDefaultAsync(x => x.Id == request.DialogId,
+ .FirstOrDefaultAsync(x => x.Id == request.DialogId,
cancellationToken: cancellationToken);
-
+
if (dialog is null)
{
return new EntityNotFound(request.DialogId);
@@ -56,15 +54,15 @@ public async Task Handle(GetDialogElementQuery request,
{
return new EntityDeleted(request.DialogId);
}
-
+
var element = dialog.Elements.FirstOrDefault();
if (element is null)
{
return new EntityNotFound(request.ElementId);
}
-
+
var dto = _mapper.Map(element);
return dto;
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/MappingProfile.cs
index 57176fa68..fd343f029 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Get/MappingProfile.cs
@@ -8,9 +8,9 @@ public class MappingProfile : Profile
public MappingProfile()
{
CreateMap();
-
+
CreateMap()
.ForMember(dest => dest.ConsumerType, opt => opt
.MapFrom(src => src.ConsumerTypeId));
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/List/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Search/MappingProfile.cs
similarity index 71%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/List/MappingProfile.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Search/MappingProfile.cs
index b112e6372..16119d379 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/List/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Search/MappingProfile.cs
@@ -1,12 +1,12 @@
using AutoMapper;
using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogElements;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogElements.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogElements.Queries.Search;
public class MappingProfile : Profile
{
public MappingProfile()
{
- CreateMap();
+ CreateMap();
}
}
\ No newline at end of file
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/List/ListDialogElementDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Search/SearchDialogElementDto.cs
similarity index 88%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/List/ListDialogElementDto.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Search/SearchDialogElementDto.cs
index b90b04937..d813dfb14 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/List/ListDialogElementDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Search/SearchDialogElementDto.cs
@@ -1,13 +1,13 @@
using Digdir.Domain.Dialogporten.Application.Features.V1.Common.Localizations;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogElements.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogElements.Queries.Search;
-public class ListDialogElementDto
+public class SearchDialogElementDto
{
public Guid Id { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public DateTimeOffset UpdatedAt { get; set; }
-
+
public string? AuthorizationAttribute { get; set; }
public Uri? Type { get; set; }
@@ -17,4 +17,4 @@ public class ListDialogElementDto
public List DisplayName { get; set; } = new();
public Guid? RelatedDialogElementId { get; set; }
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/List/ListDialogElementQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Search/SearchDialogElementQuery.cs
similarity index 60%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/List/ListDialogElementQuery.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Search/SearchDialogElementQuery.cs
index 4cd47e5a6..58e338f5c 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/List/ListDialogElementQuery.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogElements/Queries/Search/SearchDialogElementQuery.cs
@@ -6,34 +6,34 @@
using Microsoft.EntityFrameworkCore;
using OneOf;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogElements.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogElements.Queries.Search;
-public sealed class ListDialogElementQuery : IRequest
+public sealed class SearchDialogElementQuery : IRequest
{
public Guid DialogId { get; set; }
}
[GenerateOneOf]
-public partial class ListDialogElementResult : OneOfBase, EntityNotFound, EntityDeleted> { }
+public partial class SearchDialogElementResult : OneOfBase, EntityNotFound, EntityDeleted> { }
-internal sealed class ListDialogElementQueryHandler : IRequestHandler
+internal sealed class SearchDialogElementQueryHandler : IRequestHandler
{
private readonly IDialogDbContext _db;
private readonly IMapper _mapper;
- public ListDialogElementQueryHandler(IDialogDbContext db, IMapper mapper)
+ public SearchDialogElementQueryHandler(IDialogDbContext db, IMapper mapper)
{
_db = db ?? throw new ArgumentNullException(nameof(db));
_mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
}
- public async Task Handle(ListDialogElementQuery request, CancellationToken cancellationToken)
+ public async Task Handle(SearchDialogElementQuery request, CancellationToken cancellationToken)
{
var dialog = await _db.Dialogs
.Include(x => x.Elements)
.ThenInclude(x => x.DisplayName!.Localizations)
.IgnoreQueryFilters()
- .FirstOrDefaultAsync(x => x.Id == request.DialogId,
+ .FirstOrDefaultAsync(x => x.Id == request.DialogId,
cancellationToken: cancellationToken);
if (dialog is null)
@@ -45,7 +45,7 @@ public async Task Handle(ListDialogElementQuery request
{
return new EntityDeleted(request.DialogId);
}
-
- return _mapper.Map>(dialog.Elements);
+
+ return _mapper.Map>(dialog.Elements);
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogDto.cs
index 96523df98..274b293a1 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogDto.cs
@@ -21,7 +21,7 @@ public sealed class GetDialogDto
public DateTimeOffset UpdatedAt { get; set; }
public DateTimeOffset? ReadAt { get; set; }
- public DialogStatus.Enum Status { get; set; }
+ public DialogStatus.Values Status { get; set; }
public List? Body { get; set; }
public List Title { get; set; } = new();
@@ -39,7 +39,7 @@ public sealed class GetDialogDialogActivityDto
public DateTimeOffset? CreatedAt { get; set; }
public Uri? ExtendedType { get; set; }
- public DialogActivityType.Enum Type { get; set; }
+ public DialogActivityType.Values Type { get; set; }
public Guid? RelatedActivityId { get; set; }
public Guid? DialogElementId { get; set; }
@@ -64,7 +64,7 @@ public sealed class GetDialogDialogApiActionEndpointDto
public Guid Id { get; set; }
public string? Version { get; set; }
public Uri Url { get; set; } = null!;
- public HttpVerb.Enum HttpMethod { get; set; }
+ public HttpVerb.Values HttpMethod { get; set; }
public Uri? DocumentationUrl { get; set; }
public Uri? RequestSchema { get; set; }
public Uri? ResponseSchema { get; set; }
@@ -81,7 +81,7 @@ public sealed class GetDialogDialogGuiActionDto
public bool IsBackChannel { get; set; }
public bool IsDeleteAction { get; set; }
- public DialogGuiActionPriority.Enum Priority { get; set; }
+ public DialogGuiActionPriority.Values Priority { get; set; }
public List Title { get; set; } = new();
}
@@ -104,5 +104,5 @@ public sealed class GetDialogDialogElementUrlDto
public Uri Url { get; set; } = null!;
public string? MimeType { get; set; }
- public DialogElementUrlConsumerType.Enum ConsumerType { get; set; }
+ public DialogElementUrlConsumerType.Values ConsumerType { get; set; }
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogQuery.cs
index 778d5ba6b..7676171b1 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogQuery.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogQuery.cs
@@ -73,17 +73,17 @@ public async Task Handle(GetDialogQuery request, CancellationTo
}
dialog.UpdateReadAt(_transactionTime.Value);
-
+
var saveResult = await _unitOfWork
.WithoutAuditableSideEffects()
.SaveChangesAsync(cancellationToken);
-
+
saveResult.Switch(
success => { },
domainError => throw new UnreachableException("Should not get domain error when updating ReadAt."),
concurrencyError => throw new UnreachableException("Should not get concurrencyError when updating ReadAt."));
-
+
var dto = _mapper.Map(dialog);
return dto;
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/MappingProfile.cs
index ec81f8bea..454d3eefd 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/MappingProfile.cs
@@ -12,20 +12,20 @@ public MappingProfile()
{
CreateMap()
.ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.StatusId));
-
+
CreateMap()
.ForMember(dest => dest.Type, opt => opt.MapFrom(src => src.TypeId));
-
+
CreateMap();
-
+
CreateMap()
.ForMember(dest => dest.HttpMethod, opt => opt.MapFrom(src => src.HttpMethodId));
-
+
CreateMap()
.ForMember(dest => dest.Priority, opt => opt.MapFrom(src => src.PriorityId));
-
+
CreateMap();
-
+
CreateMap()
.ForMember(dest => dest.ConsumerType, opt => opt.MapFrom(src => src.ConsumerTypeId));
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/MappingProfile.cs
similarity index 58%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/MappingProfile.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/MappingProfile.cs
index 8f8be85b2..140998412 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/MappingProfile.cs
@@ -1,13 +1,13 @@
using AutoMapper;
using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.Dialogs.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.Dialogs.Queries.Search;
internal sealed class MappingProfile : Profile
{
public MappingProfile()
{
- CreateMap()
- .ForMember(dest => dest.Status,opt => opt.MapFrom(src => src.StatusId));
+ CreateMap()
+ .ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.StatusId));
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/ListDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogDto.cs
similarity index 78%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/ListDialogDto.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogDto.cs
index 9defccfbd..97f70d089 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/ListDialogDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogDto.cs
@@ -1,9 +1,9 @@
using Digdir.Domain.Dialogporten.Application.Features.V1.Common.Localizations;
using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.Dialogs.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.Dialogs.Queries.Search;
-public sealed class ListDialogDto
+public sealed class SearchDialogDto
{
public Guid Id { get; set; }
public string Org { get; set; } = null!;
@@ -14,8 +14,8 @@ public sealed class ListDialogDto
public DateTimeOffset UpdatedAt { get; set; }
public DateTimeOffset? DueAt { get; set; }
- public DialogStatus.Enum Status { get; set; }
+ public DialogStatus.Values Status { get; set; }
public List Title { get; set; } = new();
- public List? SenderName { get; set; }
-}
\ No newline at end of file
+ public List? SenderName { get; set; }
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/ListDialogQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogQuery.cs
similarity index 72%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/ListDialogQuery.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogQuery.cs
index 43940bf89..d394102d9 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/ListDialogQuery.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogQuery.cs
@@ -1,4 +1,5 @@
-using AutoMapper;
+using System.Globalization;
+using AutoMapper;
using AutoMapper.QueryableExtensions;
using Digdir.Domain.Dialogporten.Application.Common;
using Digdir.Domain.Dialogporten.Application.Common.Extensions;
@@ -11,19 +12,18 @@
using Digdir.Domain.Dialogporten.Domain.Localizations;
using MediatR;
using OneOf;
-using static Digdir.Domain.Dialogporten.Application.Common.Expressions;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.Dialogs.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.Dialogs.Queries.Search;
-public sealed class ListDialogQuery : SortablePaginationParameter, IRequest
+public sealed class SearchDialogQuery : SortablePaginationParameter, IRequest
{
- private string? _searchCultureCode;
+ private readonly string? _searchCultureCode;
public List? Org { get; init; }
public List? ServiceResource { get; init; }
public List? Party { get; init; }
public List? ExtendedStatus { get; init; }
- public List? Status { get; init; }
+ public List? Status { get; init; }
public DateTimeOffset? CreatedAfter { get; init; }
public DateTimeOffset? CreatedBefore { get; init; }
@@ -35,16 +35,16 @@ public sealed class ListDialogQuery : SortablePaginationParameter _searchCultureCode;
- init => _searchCultureCode = Localization.NormalizeCultureCode(value);
+ public string? SearchCultureCode
+ {
+ get => _searchCultureCode;
+ init => _searchCultureCode = Localization.NormalizeCultureCode(value);
}
}
-public sealed class ListDialogQueryOrderDefinition : IOrderDefinition
+public sealed class SearchDialogQueryOrderDefinition : IOrderDefinition
{
- public static IOrderOptions Configure(IOrderOptionsBuilder options) =>
+ public static IOrderOptions Configure(IOrderOptionsBuilder options) =>
options.AddId(x => x.Id)
.AddDefault("createdAt", x => x.CreatedAt)
.AddOption("updatedAt", x => x.UpdatedAt)
@@ -53,24 +53,24 @@ public static IOrderOptions Configure(IOrderOptionsBuilder, ValidationError> { }
+public partial class SearchDialogResult : OneOfBase, ValidationError> { }
-internal sealed class ListDialogQueryHandler : IRequestHandler
+internal sealed class SearchDialogQueryHandler : IRequestHandler
{
private readonly IDialogDbContext _db;
private readonly IMapper _mapper;
private readonly IClock _clock;
- public ListDialogQueryHandler(IDialogDbContext db, IMapper mapper, IClock clock)
+ public SearchDialogQueryHandler(IDialogDbContext db, IMapper mapper, IClock clock)
{
_db = db ?? throw new ArgumentNullException(nameof(db));
_mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
_clock = clock ?? throw new ArgumentNullException(nameof(clock));
}
- public async Task Handle(ListDialogQuery request, CancellationToken cancellationToken)
+ public async Task Handle(SearchDialogQuery request, CancellationToken cancellationToken)
{
- var searchExpression = LocalizedSearchExpression(request.Search, request.SearchCultureCode);
+ var searchExpression = Expressions.LocalizedSearchExpression(request.Search, request.SearchCultureCode);
return await _db.Dialogs
.WhereIf(!request.Org.IsNullOrEmpty(), x => request.Org!.Contains(x.Org))
@@ -86,12 +86,12 @@ public async Task Handle(ListDialogQuery request, Cancellation
.WhereIf(request.DueBefore.HasValue, x => x.DueAt <= request.DueBefore)
.WhereIf(request.Search is not null, x =>
x.Title!.Localizations.AsQueryable().Any(searchExpression) ||
- x.SearchTags.Any(x => x.Value == request.Search!.ToLower()) ||
+ x.SearchTags.Any(x => x.Value.Equals(request.Search, StringComparison.OrdinalIgnoreCase)) ||
x.SenderName!.Localizations.AsQueryable().Any(searchExpression)
)
.Where(x => !x.VisibleFrom.HasValue || _clock.UtcNowOffset > x.VisibleFrom)
.Where(x => !x.ExpiresAt.HasValue || x.ExpiresAt > _clock.UtcNowOffset)
- .ProjectTo(_mapper.ConfigurationProvider)
+ .ProjectTo(_mapper.ConfigurationProvider)
.ToPaginatedListAsync(request, cancellationToken: cancellationToken);
}
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/ListDialogQueryValidator.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogQueryValidator.cs
similarity index 76%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/ListDialogQueryValidator.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogQueryValidator.cs
index 84c1fb11d..5abc51762 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/List/ListDialogQueryValidator.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogQueryValidator.cs
@@ -3,13 +3,13 @@
using Digdir.Domain.Dialogporten.Domain.Localizations;
using FluentValidation;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.Dialogs.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.Dialogs.Queries.Search;
-internal sealed class ListDialogQueryValidator : AbstractValidator
+internal sealed class SearchDialogQueryValidator : AbstractValidator
{
- public ListDialogQueryValidator()
+ public SearchDialogQueryValidator()
{
- Include(new PaginationParameterValidator());
+ Include(new PaginationParameterValidator());
RuleFor(x => x.Search)
.MinimumLength(3)
.When(x => x.Search is not null);
@@ -20,7 +20,7 @@ public ListDialogQueryValidator()
RuleFor(x => x)
.Must(x => !x.ServiceResource.IsNullOrEmpty() || !x.Party.IsNullOrEmpty())
- .WithMessage($"Either {nameof(ListDialogQuery.ServiceResource)} or {nameof(ListDialogQuery.Party)} must be specified.");
+ .WithMessage($"Either {nameof(SearchDialogQuery.ServiceResource)} or {nameof(SearchDialogQuery.Party)} must be specified.");
RuleFor(x => x.Org!.Count)
.LessThanOrEqualTo(20)
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Outboxes/Commands/Delete/DeleteOutboxMessagesCommand.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Outboxes/Commands/Delete/DeleteOutboxMessagesCommand.cs
index 2ea28dc57..3c9141e84 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Outboxes/Commands/Delete/DeleteOutboxMessagesCommand.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Outboxes/Commands/Delete/DeleteOutboxMessagesCommand.cs
@@ -29,7 +29,7 @@ public DeleteOutboxMessagesCommandHandler(IUnitOfWork unitOfWork, IDialogDbConte
public async Task Handle(DeleteOutboxMessagesCommand request, CancellationToken cancellationToken)
{
- var outboxMessage = await _db.OutboxMessages.FindAsync(request.EventId, cancellationToken);
+ var outboxMessage = await _db.OutboxMessages.FindAsync(new object?[] { request.EventId }, cancellationToken: cancellationToken);
if (outboxMessage is null)
{
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/GetDialogActivityDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/GetDialogActivityDto.cs
index 9f7be863d..e30790a57 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/GetDialogActivityDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/GetDialogActivityDto.cs
@@ -8,14 +8,14 @@ public sealed class GetDialogActivityDto
public Guid Id { get; set; }
public DateTimeOffset? CreatedAt { get; set; }
public Uri? ExtendedType { get; set; }
-
- public DialogActivityType.Enum Type { get; set; }
-
+
+ public DialogActivityType.Values Type { get; set; }
+
public DateTimeOffset? DeletedAt { get; set; }
-
+
public Guid? RelatedActivityId { get; set; }
public Guid? DialogElementId { get; set; }
public List? PerformedBy { get; set; } = new();
public List Description { get; set; } = new();
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/MappingProfile.cs
index b7e685387..affc6eac0 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/MappingProfile.cs
@@ -3,7 +3,7 @@
namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogActivities.Queries.Get;
-public class MappingProfile : Profile
+public class MappingProfile : Profile
{
public MappingProfile()
{
@@ -11,4 +11,4 @@ public MappingProfile()
.ForMember(dest => dest.Type, opt => opt.MapFrom(src => src.TypeId))
.ForMember(dest => dest.DeletedAt, opt => opt.MapFrom(src => src.Dialog.DeletedAt));
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/List/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Search/MappingProfile.cs
similarity index 79%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/List/MappingProfile.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Search/MappingProfile.cs
index 7941102b7..969b4856c 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/List/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Search/MappingProfile.cs
@@ -1,13 +1,13 @@
using AutoMapper;
using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogActivities.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogActivities.Queries.Search;
public class MappingProfile : Profile
{
public MappingProfile()
{
- CreateMap()
+ CreateMap()
.ForMember(dest => dest.Type, opt => opt.MapFrom(src => src.TypeId))
.ForMember(dest => dest.DeletedAt, opt => opt.MapFrom(src => src.Dialog.DeletedAt));
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/List/ListDialogActivityDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Search/SearchDialogActivityDto.cs
similarity index 74%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/List/ListDialogActivityDto.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Search/SearchDialogActivityDto.cs
index 5fb634f19..1c0d75ff3 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/List/ListDialogActivityDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Search/SearchDialogActivityDto.cs
@@ -1,17 +1,17 @@
using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogActivities.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogActivities.Queries.Search;
-public sealed class ListDialogActivityDto
+public sealed class SearchDialogActivityDto
{
public Guid Id { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public Uri? ExtendedType { get; set; }
- public DialogActivityType.Enum Type { get; set; }
+ public DialogActivityType.Values Type { get; set; }
public DateTimeOffset? DeletedAt { get; set; }
public Guid? RelatedActivityId { get; set; }
public Guid? DialogElementId { get; set; }
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/List/ListDialogActivityQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Search/SearchDialogActivityQuery.cs
similarity index 56%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/List/ListDialogActivityQuery.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Search/SearchDialogActivityQuery.cs
index 61e065891..855cb6110 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/List/ListDialogActivityQuery.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Search/SearchDialogActivityQuery.cs
@@ -6,33 +6,33 @@
using Microsoft.EntityFrameworkCore;
using OneOf;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogActivities.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogActivities.Queries.Search;
-public sealed class ListDialogActivityQuery : IRequest
+public sealed class SearchDialogActivityQuery : IRequest
{
public Guid DialogId { get; set; }
}
[GenerateOneOf]
-public partial class ListDialogActivityResult : OneOfBase, EntityNotFound> { }
+public partial class SearchDialogActivityResult : OneOfBase, EntityNotFound> { }
-internal sealed class ListDialogActivityQueryHandler : IRequestHandler
+internal sealed class SearchDialogActivityQueryHandler : IRequestHandler
{
private readonly IDialogDbContext _db;
private readonly IMapper _mapper;
- public ListDialogActivityQueryHandler(IDialogDbContext db, IMapper mapper)
+ public SearchDialogActivityQueryHandler(IDialogDbContext db, IMapper mapper)
{
_db = db ?? throw new ArgumentNullException(nameof(db));
_mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
}
- public async Task Handle(ListDialogActivityQuery request, CancellationToken cancellationToken)
+ public async Task Handle(SearchDialogActivityQuery request, CancellationToken cancellationToken)
{
var dialog = await _db.Dialogs
.Include(x => x.Activities)
.IgnoreQueryFilters()
- .FirstOrDefaultAsync(x => x.Id == request.DialogId,
+ .FirstOrDefaultAsync(x => x.Id == request.DialogId,
cancellationToken: cancellationToken);
if (dialog is null)
@@ -40,6 +40,6 @@ public async Task Handle(ListDialogActivityQuery reque
return new EntityNotFound(request.DialogId);
}
- return _mapper.Map>(dialog.Activities);
+ return _mapper.Map>(dialog.Activities);
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Get/GetDialogElementDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Get/GetDialogElementDto.cs
index 0b05777b1..f03338136 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Get/GetDialogElementDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Get/GetDialogElementDto.cs
@@ -12,7 +12,7 @@ public sealed class GetDialogElementDto
public Guid? RelatedDialogElementId { get; set; }
public DateTimeOffset? DeletedAt { get; set; }
-
+
public List DisplayName { get; set; } = new();
public List Urls { get; set; } = new();
}
@@ -23,5 +23,5 @@ public sealed class GetDialogElementUrlDto
public Uri Url { get; set; } = null!;
public string? MimeType { get; set; }
- public DialogElementUrlConsumerType.Enum ConsumerType { get; set; }
-}
\ No newline at end of file
+ public DialogElementUrlConsumerType.Values ConsumerType { get; set; }
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Get/GetDialogElementQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Get/GetDialogElementQuery.cs
index 115c90c0f..403ae5870 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Get/GetDialogElementQuery.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Get/GetDialogElementQuery.cs
@@ -17,9 +17,7 @@ public sealed class GetDialogElementQuery : IRequest
}
[GenerateOneOf]
-public partial class GetDialogElementResult : OneOfBase
-{
-}
+public partial class GetDialogElementResult : OneOfBase { }
internal sealed class GetDialogElementQueryHandler : IRequestHandler
{
@@ -37,16 +35,16 @@ public async Task Handle(GetDialogElementQuery request,
{
Expression>> elementFilter = dialog =>
dialog.Elements.Where(x => x.Id == request.ElementId);
-
+
var dialog = await _dbContext.Dialogs
.Include(elementFilter)
.ThenInclude(x => x.DisplayName!.Localizations)
.Include(elementFilter)
.ThenInclude(x => x.Urls)
.IgnoreQueryFilters()
- .FirstOrDefaultAsync(x => x.Id == request.DialogId,
+ .FirstOrDefaultAsync(x => x.Id == request.DialogId,
cancellationToken: cancellationToken);
-
+
if (dialog is null)
{
return new EntityNotFound(request.DialogId);
@@ -58,7 +56,7 @@ public async Task Handle(GetDialogElementQuery request,
{
return new EntityNotFound(request.ElementId);
}
-
+
return _mapper.Map(element);
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/List/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Search/MappingProfile.cs
similarity index 77%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/List/MappingProfile.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Search/MappingProfile.cs
index ab1cec908..b02f454cc 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/List/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Search/MappingProfile.cs
@@ -1,13 +1,13 @@
using AutoMapper;
using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogElements;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogElements.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogElements.Queries.Search;
public class MappingProfile : Profile
{
public MappingProfile()
{
- CreateMap()
+ CreateMap()
.ForMember(dest => dest.DeletedAt, opt => opt.MapFrom(src => src.Dialog.DeletedAt));
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/List/ListDialogElementDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Search/SearchDialogElementDto.cs
similarity index 88%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/List/ListDialogElementDto.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Search/SearchDialogElementDto.cs
index 363dd1b2d..0ac2e70c4 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/List/ListDialogElementDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Search/SearchDialogElementDto.cs
@@ -1,13 +1,13 @@
using Digdir.Domain.Dialogporten.Application.Features.V1.Common.Localizations;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogElements.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogElements.Queries.Search;
-public class ListDialogElementDto
+public class SearchDialogElementDto
{
public Guid Id { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public DateTimeOffset UpdatedAt { get; set; }
-
+
public string? AuthorizationAttribute { get; set; }
public Uri? Type { get; set; }
@@ -18,4 +18,4 @@ public class ListDialogElementDto
public List DisplayName { get; set; } = new();
public Guid? RelatedDialogElementId { get; set; }
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/List/ListDialogElementQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Search/SearchDialogElementQuery.cs
similarity index 58%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/List/ListDialogElementQuery.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Search/SearchDialogElementQuery.cs
index 5feb103df..10ff05462 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/List/ListDialogElementQuery.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogElements/Queries/Search/SearchDialogElementQuery.cs
@@ -6,34 +6,34 @@
using Microsoft.EntityFrameworkCore;
using OneOf;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogElements.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogElements.Queries.Search;
-public sealed class ListDialogElementQuery : IRequest
+public sealed class SearchDialogElementQuery : IRequest
{
public Guid DialogId { get; set; }
}
[GenerateOneOf]
-public partial class ListDialogElementResult : OneOfBase, EntityNotFound> { }
+public partial class SearchDialogElementResult : OneOfBase, EntityNotFound> { }
-internal sealed class ListDialogElementQueryHandler : IRequestHandler
+internal sealed class SearchDialogElementQueryHandler : IRequestHandler
{
private readonly IDialogDbContext _db;
private readonly IMapper _mapper;
- public ListDialogElementQueryHandler(IDialogDbContext db, IMapper mapper)
+ public SearchDialogElementQueryHandler(IDialogDbContext db, IMapper mapper)
{
_db = db ?? throw new ArgumentNullException(nameof(db));
_mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
}
- public async Task Handle(ListDialogElementQuery request, CancellationToken cancellationToken)
+ public async Task Handle(SearchDialogElementQuery request, CancellationToken cancellationToken)
{
var dialog = await _db.Dialogs
.Include(x => x.Elements)
.ThenInclude(x => x.DisplayName!.Localizations)
.IgnoreQueryFilters()
- .FirstOrDefaultAsync(x => x.Id == request.DialogId,
+ .FirstOrDefaultAsync(x => x.Id == request.DialogId,
cancellationToken: cancellationToken);
if (dialog is null)
@@ -41,6 +41,6 @@ public async Task Handle(ListDialogElementQuery request
return new EntityNotFound(request.DialogId);
}
- return _mapper.Map>(dialog.Elements);
+ return _mapper.Map>(dialog.Elements);
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommand.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommand.cs
index f39116042..605063e8a 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommand.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommand.cs
@@ -50,19 +50,19 @@ public async Task Handle(CreateDialogCommand request, Cancel
var dialog = _mapper.Map(request);
var existingDialogIds = await _db.GetExistingIds(new[] { dialog }, cancellationToken);
- if (existingDialogIds.Any())
+ if (existingDialogIds.Count != 0)
{
_domainContext.AddError(DomainFailure.EntityExists(existingDialogIds));
}
var existingActivityIds = await _db.GetExistingIds(dialog.Activities, cancellationToken);
- if (existingActivityIds.Any())
+ if (existingActivityIds.Count != 0)
{
_domainContext.AddError(DomainFailure.EntityExists(existingActivityIds));
}
var existingElementIds = await _db.GetExistingIds(dialog.Elements, cancellationToken);
- if (existingElementIds.Any())
+ if (existingElementIds.Count != 0)
{
_domainContext.AddError(DomainFailure.EntityExists(existingElementIds));
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs
index add3eecf2..f604e22cc 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs
@@ -24,7 +24,7 @@ public CreateDialogCommandValidator(
.NotNull()
.IsValidUri()
.MaximumLength(Constants.DefaultMaxUriLength)
- .Must(x => x?.StartsWith(Constants.ServiceResourcePrefix) ?? false)
+ .Must(x => x?.StartsWith(Constants.ServiceResourcePrefix, StringComparison.InvariantCulture) ?? false)
.WithMessage($"'{{PropertyName}}' must start with '{Constants.ServiceResourcePrefix}'.");
RuleFor(x => x.Party)
@@ -35,7 +35,7 @@ public CreateDialogCommandValidator(
_ => false
}).WithMessage(
"'{PropertyName}' must be on format '/org/[orgNumber]' or " +
- "'/person/[socialSecurityNumber]' with valid numbers respectivly.")
+ "'/person/[socialSecurityNumber]' with valid numbers respectively.")
.NotEmpty()
.MaximumLength(Constants.DefaultMaxStringLength);
@@ -77,13 +77,13 @@ public CreateDialogCommandValidator(
RuleFor(x => x.GuiActions)
.Must(x => x
- .Where(x => x.Priority == DialogGuiActionPriority.Enum.Primary)
+ .Where(x => x.Priority == DialogGuiActionPriority.Values.Primary)
.Count() <= 1).WithMessage("Only one primary GUI action is allowed.")
.Must(x => x
- .Where(x => x.Priority == DialogGuiActionPriority.Enum.Secondary)
+ .Where(x => x.Priority == DialogGuiActionPriority.Values.Secondary)
.Count() <= 1).WithMessage("Only one secondary GUI action is allowed.")
.Must(x => x
- .Where(x => x.Priority == DialogGuiActionPriority.Enum.Tertiary)
+ .Where(x => x.Priority == DialogGuiActionPriority.Values.Tertiary)
.Count() <= 5).WithMessage("Only five tertiary GUI actions are allowed.")
.ForEach(x => x.SetValidator(guiActionValidator));
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogDto.cs
index ac2cf46d5..9755ba1f7 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogDto.cs
@@ -17,7 +17,7 @@ public class CreateDialogDto
public DateTimeOffset? DueAt { get; set; }
public DateTimeOffset? ExpiresAt { get; set; }
- public DialogStatus.Enum Status { get; set; }
+ public DialogStatus.Values Status { get; set; }
public List Body { get; set; } = new();
public List Title { get; set; } = new();
@@ -41,7 +41,7 @@ public sealed class CreateDialogDialogActivityDto
public DateTimeOffset? CreatedAt { get; set; }
public Uri? ExtendedType { get; set; }
- public DialogActivityType.Enum Type { get; set; }
+ public DialogActivityType.Values Type { get; set; }
public Guid? RelatedActivityId { get; set; }
public Guid? DialogElementId { get; set; }
@@ -64,7 +64,7 @@ public sealed class CreateDialogDialogApiActionEndpointDto
{
public string? Version { get; set; }
public Uri Url { get; set; } = null!;
- public HttpVerb.Enum HttpMethod { get; set; }
+ public HttpVerb.Values HttpMethod { get; set; }
public Uri? DocumentationUrl { get; set; }
public Uri? RequestSchema { get; set; }
public Uri? ResponseSchema { get; set; }
@@ -80,7 +80,7 @@ public sealed class CreateDialogDialogGuiActionDto
public bool IsBackChannel { get; set; }
public bool IsDeleteAction { get; set; }
- public DialogGuiActionPriority.Enum Priority { get; set; }
+ public DialogGuiActionPriority.Values Priority { get; set; }
public List Title { get; set; } = new();
}
@@ -102,5 +102,5 @@ public sealed class CreateDialogDialogElementUrlDto
public Uri Url { get; set; } = null!;
public string? MimeType { get; set; }
- public DialogElementUrlConsumerType.Enum ConsumerType { get; set; }
+ public DialogElementUrlConsumerType.Values ConsumerType { get; set; }
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/MappingProfile.cs
index 91d7aecaf..91f5ec29a 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/MappingProfile.cs
@@ -13,27 +13,27 @@ public MappingProfile()
CreateMap()
.ForMember(dest => dest.Status, opt => opt.Ignore())
.ForMember(dest => dest.StatusId, opt => opt.MapFrom(src => src.Status));
-
+
CreateMap();
-
+
CreateMap();
-
+
CreateMap()
.ForMember(dest => dest.ConsumerType, opt => opt.Ignore())
.ForMember(dest => dest.ConsumerTypeId, opt => opt.MapFrom(src => src.ConsumerType));
-
+
CreateMap()
.ForMember(dest => dest.Priority, opt => opt.Ignore())
.ForMember(dest => dest.PriorityId, opt => opt.MapFrom(src => src.Priority));
-
+
CreateMap();
-
+
CreateMap()
.ForMember(dest => dest.HttpMethod, opt => opt.Ignore())
.ForMember(dest => dest.HttpMethodId, opt => opt.MapFrom(src => src.HttpMethod));
-
+
CreateMap()
.ForMember(dest => dest.Type, opt => opt.Ignore())
.ForMember(dest => dest.TypeId, opt => opt.MapFrom(src => src.Type));
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommand.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommand.cs
index 36336dba5..f12a7f85d 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommand.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommand.cs
@@ -53,7 +53,7 @@ public UpdateDialogCommandHandler(
public async Task Handle(UpdateDialogCommand request, CancellationToken cancellationToken)
{
var resourceIds = await _userService.GetCurrentUserResourceIds(cancellationToken);
-
+
var dialog = await _db.Dialogs
.Include(x => x.Body!.Localizations)
.Include(x => x.Title!.Localizations)
@@ -85,7 +85,7 @@ public async Task Handle(UpdateDialogCommand request, Cancel
dialog.Body = _localizationService.Merge(dialog.Body, request.Dto.Body);
dialog.Title = _localizationService.Merge(dialog.Title, request.Dto.Title);
dialog.SenderName = _localizationService.Merge(dialog.SenderName, request.Dto.SenderName);
-
+
dialog.SearchTags
.Merge(request.Dto.SearchTags,
destinationKeySelector: x => x.Value,
@@ -93,7 +93,7 @@ public async Task Handle(UpdateDialogCommand request, Cancel
create: _mapper.Map>,
delete: DeleteDelegate.NoOp,
comparer: StringComparer.InvariantCultureIgnoreCase);
-
+
await dialog.Elements
.MergeAsync(request.Dto.Elements,
destinationKeySelector: x => x.Id,
@@ -158,10 +158,10 @@ private async Task AppendActivity(DialogEntity dialog, UpdateDialogDto dto, Canc
var newDialogActivities = _mapper.Map>(dto.Activities);
var existingIds = await _db.GetExistingIds(newDialogActivities, cancellationToken);
- if (existingIds.Any())
+ if (existingIds.Count != 0)
{
_domainContext.AddError(
- nameof(UpdateDialogDto.Activities),
+ nameof(UpdateDialogDto.Activities),
$"Entity '{nameof(DialogActivity)}' with the following key(s) already exists: ({string.Join(", ", existingIds)}).");
}
@@ -228,7 +228,7 @@ private async Task> CreateElements(IEnumerable x.GuiActions)
.Must(x => x
- .Where(x => x.Priority == DialogGuiActionPriority.Enum.Primary)
+ .Where(x => x.Priority == DialogGuiActionPriority.Values.Primary)
.Count() <= 1).WithMessage("Only one primary GUI action is allowed.")
.Must(x => x
- .Where(x => x.Priority == DialogGuiActionPriority.Enum.Secondary)
+ .Where(x => x.Priority == DialogGuiActionPriority.Values.Secondary)
.Count() <= 1).WithMessage("Only one secondary GUI action is allowed.")
.Must(x => x
- .Where(x => x.Priority == DialogGuiActionPriority.Enum.Tertiary)
+ .Where(x => x.Priority == DialogGuiActionPriority.Values.Tertiary)
.Count() <= 5).WithMessage("Only five tertiary GUI actions are allowed.")
.UniqueBy(x => x.Id)
.ForEach(x => x.SetValidator(guiActionValidator));
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogDto.cs
index e6a28205e..3d3b1500d 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogDto.cs
@@ -14,7 +14,7 @@ public sealed class UpdateDialogDto
public DateTimeOffset? DueAt { get; set; }
public DateTimeOffset? ExpiresAt { get; set; }
- public DialogStatus.Enum Status { get; set; }
+ public DialogStatus.Values Status { get; set; }
public List Body { get; set; } = new();
public List Title { get; set; } = new();
@@ -38,7 +38,7 @@ public class UpdateDialogDialogActivityDto
public DateTimeOffset? CreatedAt { get; set; }
public Uri? ExtendedType { get; set; }
- public DialogActivityType.Enum Type { get; set; }
+ public DialogActivityType.Values Type { get; set; }
public Guid? RelatedActivityId { get; set; }
public Guid? DialogElementId { get; set; }
@@ -63,7 +63,7 @@ public sealed class UpdateDialogDialogApiActionEndpointDto
public Guid? Id { get; set; }
public string? Version { get; set; }
public Uri Url { get; set; } = null!;
- public HttpVerb.Enum HttpMethod { get; set; }
+ public HttpVerb.Values HttpMethod { get; set; }
public Uri? DocumentationUrl { get; set; }
public Uri? RequestSchema { get; set; }
public Uri? ResponseSchema { get; set; }
@@ -80,7 +80,7 @@ public sealed class UpdateDialogDialogGuiActionDto
public bool IsBackChannel { get; set; }
public bool IsDeleteAction { get; set; }
- public DialogGuiActionPriority.Enum Priority { get; set; }
+ public DialogGuiActionPriority.Values Priority { get; set; }
public List Title { get; set; } = new();
}
@@ -103,5 +103,5 @@ public sealed class UpdateDialogDialogElementUrlDto
public Uri Url { get; set; } = null!;
public string? MimeType { get; set; }
- public DialogElementUrlConsumerType.Enum ConsumerType { get; set; }
+ public DialogElementUrlConsumerType.Values ConsumerType { get; set; }
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogDto.cs
index ff8f5eebc..a8edd5de3 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogDto.cs
@@ -23,11 +23,11 @@ public sealed class GetDialogDto
public DateTimeOffset UpdatedAt { get; set; }
public DateTimeOffset? ReadAt { get; set; }
- public DialogStatus.Enum Status { get; set; }
+ public DialogStatus.Values Status { get; set; }
- public List? Body { get; set; }
+ public List? Body { get; set; }
public List Title { get; set; } = new();
- public List? SenderName { get; set; }
+ public List? SenderName { get; set; }
public List? SearchTags { get; set; }
public List Elements { get; set; } = new();
@@ -47,7 +47,7 @@ public sealed class GetDialogDialogActivityDto
public DateTimeOffset? CreatedAt { get; set; }
public Uri? ExtendedType { get; set; }
- public DialogActivityType.Enum Type { get; set; }
+ public DialogActivityType.Values Type { get; set; }
public Guid? RelatedActivityId { get; set; }
public Guid? DialogElementId { get; set; }
@@ -72,7 +72,7 @@ public sealed class GetDialogDialogApiActionEndpointDto
public Guid Id { get; set; }
public string? Version { get; set; }
public Uri Url { get; set; } = null!;
- public HttpVerb.Enum HttpMethod { get; set; }
+ public HttpVerb.Values HttpMethod { get; set; }
public Uri? DocumentationUrl { get; set; }
public Uri? RequestSchema { get; set; }
public Uri? ResponseSchema { get; set; }
@@ -89,7 +89,7 @@ public sealed class GetDialogDialogGuiActionDto
public bool IsBackChannel { get; set; }
public bool IsDeleteAction { get; set; }
- public DialogGuiActionPriority.Enum Priority { get; set; }
+ public DialogGuiActionPriority.Values Priority { get; set; }
public List Title { get; set; } = new();
}
@@ -112,5 +112,5 @@ public sealed class GetDialogDialogElementUrlDto
public Uri Url { get; set; } = null!;
public string? MimeType { get; set; }
- public DialogElementUrlConsumerType.Enum ConsumerType { get; set; }
+ public DialogElementUrlConsumerType.Values ConsumerType { get; set; }
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/List/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/MappingProfile.cs
similarity index 68%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/List/MappingProfile.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/MappingProfile.cs
index 0f8b82786..cf19d53ff 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/List/MappingProfile.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/MappingProfile.cs
@@ -1,15 +1,15 @@
using AutoMapper;
using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.Dialogs.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.Dialogs.Queries.Search;
internal sealed class MappingProfile : Profile
{
public MappingProfile()
{
- CreateMap()
+ CreateMap()
.ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.StatusId));
- CreateMap();
+ CreateMap();
}
-}
\ No newline at end of file
+}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/List/ListDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogDto.cs
similarity index 76%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/List/ListDialogDto.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogDto.cs
index c3f27f0b4..8a7ef16b4 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/List/ListDialogDto.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogDto.cs
@@ -1,9 +1,9 @@
using Digdir.Domain.Dialogporten.Application.Features.V1.Common.Localizations;
using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.Dialogs.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.Dialogs.Queries.Search;
-public sealed class ListDialogDto
+public sealed class SearchDialogDto
{
public Guid Id { get; set; }
public string Org { get; set; } = null!;
@@ -15,14 +15,14 @@ public sealed class ListDialogDto
public DateTimeOffset? DueAt { get; set; }
public DateTimeOffset? VisibleFrom { get; set; }
- public DialogStatus.Enum Status { get; set; }
-
+ public DialogStatus.Values Status { get; set; }
+
public List Title { get; set; } = new();
public List? SenderName { get; set; }
- public List SearchTags { get; set; } = new();
+ public List SearchTags { get; set; } = new();
}
-public sealed class ListDialogSearchTagDto
+public sealed class SearchDialogSearchTagDto
{
public string Value { get; set; } = null!;
}
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/List/ListDialogQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogQuery.cs
similarity index 76%
rename from src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/List/ListDialogQuery.cs
rename to src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogQuery.cs
index d67b65df0..7041c7213 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/List/ListDialogQuery.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogQuery.cs
@@ -1,5 +1,7 @@
-using AutoMapper;
+using System.Globalization;
+using AutoMapper;
using AutoMapper.QueryableExtensions;
+using Digdir.Domain.Dialogporten.Application.Common;
using Digdir.Domain.Dialogporten.Application.Common.Extensions;
using Digdir.Domain.Dialogporten.Application.Common.Extensions.Enumerable;
using Digdir.Domain.Dialogporten.Application.Common.Pagination;
@@ -10,19 +12,17 @@
using Digdir.Domain.Dialogporten.Domain.Localizations;
using MediatR;
using OneOf;
-using static Digdir.Domain.Dialogporten.Application.Common.Expressions;
-using Digdir.Domain.Dialogporten.Application.Common;
-namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.Dialogs.Queries.List;
+namespace Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.Dialogs.Queries.Search;
-public sealed class ListDialogQuery : SortablePaginationParameter, IRequest