Skip to content

Commit 8bfc635

Browse files
authored
Merge pull request #1347 from Blazam-App/v1-Dev
Nightly Update
2 parents 9fdb5c1 + 2de1dca commit 8bfc635

File tree

5 files changed

+70
-67
lines changed

5 files changed

+70
-67
lines changed

BLAZAM/BLAZAM.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<Nullable>enable</Nullable>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<ServerGarbageCollection>false</ServerGarbageCollection>
8-
<AssemblyVersion>1.5.1</AssemblyVersion>
9-
<Version>2026.02.26.0011</Version>
8+
<AssemblyVersion>1.5.2</AssemblyVersion>
9+
<Version>2026.02.26.0141</Version>
1010
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
1111
<RootNamespace>BLAZAM</RootNamespace>
1212
<GenerateDocumentationFile>True</GenerateDocumentationFile>

BLAZAM/Data/EnumSchemaFilter.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
using Microsoft.OpenApi.Any;
2-
using Microsoft.OpenApi.Models;
1+
using Microsoft.OpenApi;
32
using Swashbuckle.AspNetCore.SwaggerGen;
43
using System.Reflection;
4+
using System.Text.Json.Nodes;
55

66
namespace BLAZAM.Data
77
{
@@ -14,25 +14,25 @@ namespace BLAZAM.Data
1414
public class EnumSchemaFilter : ISchemaFilter
1515
{
1616
/// <summary>
17-
/// Modifies the provided <see cref="OpenApiSchema"/> to replace numeric enum values with their string names.
17+
/// Modifies the provided <see cref="IOpenApiSchema"/> to replace numeric enum values with their string names.
1818
/// </summary>
1919
/// <remarks>This method is specifically designed to handle enum types. If the type in the
2020
/// <paramref name="context"/> is an enum, the numeric values in the <paramref name="schema"/> are replaced with
2121
/// the corresponding string names of the enum fields.</remarks>
2222
/// <param name="schema">The OpenAPI schema to be modified.</param>
2323
/// <param name="context">The context containing metadata about the schema, including the type being processed.</param>
24-
public void Apply(OpenApiSchema schema, SchemaFilterContext context)
24+
public void Apply(IOpenApiSchema schema, SchemaFilterContext context) // <-- Note IOpenApiSchema
2525
{
26-
if (context.Type.IsEnum)
26+
// Cast to OpenApiSchema to access mutable properties like .Enum
27+
if (context.Type.IsEnum && schema is OpenApiSchema concreteSchema)
2728
{
2829
// Replace the numeric values in schema.Enum with string names
29-
schema.Enum.Clear();
30+
concreteSchema.Enum.Clear();
3031
foreach (var field in context.Type.GetFields(BindingFlags.Public | BindingFlags.Static))
3132
{
32-
schema.Enum.Add(new OpenApiString(field.Name));
33+
// Use JsonNode instead of the deprecated OpenApiString
34+
concreteSchema.Enum.Add(JsonValue.Create(field.Name));
3335
}
34-
35-
3636
}
3737
}
3838
}

BLAZAM/ProgramHelpers.cs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
using Microsoft.AspNetCore.Authentication.JwtBearer;
2323
using Microsoft.AspNetCore.ResponseCompression;
2424
using Microsoft.IdentityModel.Tokens;
25-
using Microsoft.OpenApi.Models;
25+
using Microsoft.OpenApi;
2626
using MudBlazor;
2727
using MudBlazor.Services;
2828
using Polly;
@@ -372,19 +372,23 @@ public static WebApplicationBuilder InjectServices(this WebApplicationBuilder bu
372372
In = ParameterLocation.Header, // Location of the token
373373
Type = SecuritySchemeType.Http, // Type of scheme
374374
Scheme = JwtBearerDefaults.AuthenticationScheme, // Authentication scheme name ("Bearer")
375-
BearerFormat = "JWT", // Format hint
376-
Reference = new OpenApiReference // Reference for linking security requirements
377-
{
378-
Id = JwtBearerDefaults.AuthenticationScheme,
379-
Type = ReferenceType.SecurityScheme
380-
}
375+
BearerFormat = "JWT"
376+
// REMOVED: The 'Reference' property has been removed in Microsoft.OpenApi v2.x
381377
};
378+
382379
c.SchemaFilter<EnumSchemaFilter>();
380+
381+
// Define the scheme ID we want to use (e.g., "Bearer")
382+
string schemeId = JwtBearerDefaults.AuthenticationScheme;
383+
383384
// Add the security definition to Swagger
384-
c.AddSecurityDefinition(jwtSecurityScheme.Reference.Id, jwtSecurityScheme);
385+
c.AddSecurityDefinition(schemeId, jwtSecurityScheme);
386+
385387
// Add a security requirement globally (forces auth for all endpoints shown in Swagger UI)
386-
c.AddSecurityRequirement(new OpenApiSecurityRequirement() {
387-
{ jwtSecurityScheme, Array.Empty<string>() } // Link the requirement to the definition
388+
// UPDATED: Now requires a delegate and uses OpenApiSecuritySchemeReference
389+
c.AddSecurityRequirement(document => new OpenApiSecurityRequirement
390+
{
391+
[new OpenApiSecuritySchemeReference(schemeId, document)] = Array.Empty<string>().ToList()
388392
});
389393
});
390394

BLAZAMActiveDirectory/Adapters/LdapDirectoryEntry.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -401,13 +401,12 @@ private void GetNamingContext()
401401
// First, find the schema naming context
402402
var rootDseRequest = new SearchRequest("", "(objectClass=*)",SearchScope.Base, "schemaNamingContext");
403403
var rootDseResponse = SendRequestAndGetResponse<SearchResponse>(rootDseRequest);
404-
if (rootDseResponse?.Entries.Count == 0)
404+
if (rootDseResponse==null || rootDseResponse.Entries.Count == 0)
405405
{
406406
throw new AppException("Could not read RootDSE to find schema naming context.");
407407
}
408-
string schemaNamingContext = rootDseResponse.Entries[0].Attributes["schemaNamingContext"][0].ToString();
409408

410-
_namingContextCache = schemaNamingContext;
409+
_namingContextCache = rootDseResponse.Entries[0].Attributes["schemaNamingContext"][0].ToString()??String.Empty;
411410
}
412411
}
413412
}
@@ -742,7 +741,7 @@ public void CommitChanges()
742741
}
743742
else
744743
{
745-
throw new DirectoryException($"Failed to create entry. LDAP Error: {response.ResultCode} - {response.ErrorMessage}");
744+
throw new DirectoryException($"Failed to create entry. LDAP Error: {response?.ResultCode} - {response?.ErrorMessage}");
746745
}
747746
}
748747
}

Directory.Packages.props

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,69 +5,69 @@
55
<ItemGroup>
66
<PackageVersion Include="BlazorTemplater" Version="1.5.1" />
77
<PackageVersion Include="Cassia" Version="2.0.0.60" />
8-
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
9-
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
8+
<PackageVersion Include="coverlet.collector" Version="8.0.0" />
9+
<PackageVersion Include="coverlet.msbuild" Version="8.0.0" />
1010
<PackageVersion Include="DuoUniversal" Version="1.3.1" />
11-
<PackageVersion Include="Google.Apis" Version="1.72.0" />
12-
<PackageVersion Include="Google.Apis.Admin.Directory.directory_v1" Version="1.72.0.3946" />
13-
<PackageVersion Include="Google.Apis.Auth" Version="1.72.0" />
11+
<PackageVersion Include="Google.Apis" Version="1.73.0" />
12+
<PackageVersion Include="Google.Apis.Admin.Directory.directory_v1" Version="1.73.0.4058" />
13+
<PackageVersion Include="Google.Apis.Auth" Version="1.73.0" />
1414
<PackageVersion Include="GoogleAuthenticator" Version="3.2.0" />
15-
<PackageVersion Include="MailKit" Version="4.14.1" />
16-
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.22" />
17-
<PackageVersion Include="Microsoft.AspNetCore.Components" Version="8.0.22" />
18-
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="8.0.22" />
19-
<PackageVersion Include="Microsoft.AspNetCore.ResponseCompression" Version="2.3.0" />
20-
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.9.2" />
15+
<PackageVersion Include="MailKit" Version="4.15.0" />
16+
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.24" />
17+
<PackageVersion Include="Microsoft.AspNetCore.Components" Version="8.0.24" />
18+
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="8.0.24" />
19+
<PackageVersion Include="Microsoft.AspNetCore.ResponseCompression" Version="2.3.9" />
20+
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="5.0.0" />
2121
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.9.2" />
22-
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.22" />
23-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Analyzers" Version="8.0.22" />
24-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.22" />
25-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.22" />
26-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.22" />
27-
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.22" />
28-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.22" />
29-
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.11" />
30-
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.11" />
31-
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.11" />
32-
<PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="9.0.11" />
33-
<PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.11" />
34-
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="9.0.11" />
35-
<PackageVersion Include="Microsoft.Extensions.Localization" Version="9.0.11" />
36-
<PackageVersion Include="Microsoft.Extensions.Localization.Abstractions" Version="9.0.11" />
37-
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.11" />
38-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
39-
<PackageVersion Include="Microsoft.Playwright.NUnit" Version="1.56.0" />
22+
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.24" />
23+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Analyzers" Version="8.0.24" />
24+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.24" />
25+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.24" />
26+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.24" />
27+
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.24" />
28+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.24" />
29+
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.13" />
30+
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.13" />
31+
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.13" />
32+
<PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="9.0.13" />
33+
<PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.13" />
34+
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="9.0.13" />
35+
<PackageVersion Include="Microsoft.Extensions.Localization" Version="9.0.13" />
36+
<PackageVersion Include="Microsoft.Extensions.Localization.Abstractions" Version="9.0.13" />
37+
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.13" />
38+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
39+
<PackageVersion Include="Microsoft.Playwright.NUnit" Version="1.58.0" />
4040
<PackageVersion Include="Microsoft.PowerShell.SDK" Version="7.4.10" />
4141
<PackageVersion Include="Moq" Version="4.20.72" />
4242
<PackageVersion Include="MudBlazor" Version="8.13.0" />
4343
<PackageVersion Include="MudBlazor.Markdown" Version="8.11.0" />
4444
<PackageVersion Include="MudBlazor.ThemeManager" Version="3.0.0" />
4545
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
46-
<PackageVersion Include="NUnit" Version="4.4.0" />
46+
<PackageVersion Include="NUnit" Version="4.5.0" />
4747
<PackageVersion Include="NUnit.Analyzers" Version="4.11.2" />
4848
<PackageVersion Include="NUnit3TestAdapter" Version="5.2.0" />
4949
<PackageVersion Include="Octokit" Version="14.0.0" />
5050
<PackageVersion Include="Polly.Contrib.WaitAndRetry" Version="1.1.1" />
5151
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.3" />
5252
<PackageVersion Include="PreMailer.Net" Version="2.7.2" />
53-
<PackageVersion Include="Serilog" Version="4.3.0" />
53+
<PackageVersion Include="Serilog" Version="4.3.1" />
5454
<PackageVersion Include="Serilog.AspNetCore" Version="9.0.0" />
5555
<PackageVersion Include="Serilog.Enrichers.Environment" Version="3.0.1" />
5656
<PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.2" />
5757
<PackageVersion Include="Serilog.Sinks.Seq" Version="9.0.0" />
5858
<PackageVersion Include="SixLabors.ImageSharp" Version="3.1.12" />
59-
<PackageVersion Include="Swashbuckle.AspNetCore" Version="9.0.6" />
60-
<PackageVersion Include="Swashbuckle.AspNetCore.SwaggerUI" Version="9.0.6" />
59+
<PackageVersion Include="Swashbuckle.AspNetCore" Version="10.1.4" />
60+
<PackageVersion Include="Swashbuckle.AspNetCore.SwaggerUI" Version="10.1.4" />
6161
<PackageVersion Include="System.Data.SQLite" Version="2.0.2" />
62-
<PackageVersion Include="System.Diagnostics.EventLog" Version="9.0.11" />
63-
<PackageVersion Include="System.Diagnostics.PerformanceCounter" Version="9.0.11" />
64-
<PackageVersion Include="System.DirectoryServices" Version="9.0.11" />
65-
<PackageVersion Include="System.DirectoryServices.AccountManagement" Version="9.0.11" />
66-
<PackageVersion Include="System.DirectoryServices.Protocols" Version="9.0.11" />
67-
<PackageVersion Include="System.Drawing.Common" Version="9.0.11" />
68-
<PackageVersion Include="System.Management" Version="9.0.11" />
69-
<PackageVersion Include="System.Security.Permissions" Version="9.0.11" />
62+
<PackageVersion Include="System.Diagnostics.EventLog" Version="10.0.3" />
63+
<PackageVersion Include="System.Diagnostics.PerformanceCounter" Version="10.0.3" />
64+
<PackageVersion Include="System.DirectoryServices" Version="10.0.3" />
65+
<PackageVersion Include="System.DirectoryServices.AccountManagement" Version="10.0.3" />
66+
<PackageVersion Include="System.DirectoryServices.Protocols" Version="10.0.3" />
67+
<PackageVersion Include="System.Drawing.Common" Version="10.0.3" />
68+
<PackageVersion Include="System.Management" Version="10.0.3" />
69+
<PackageVersion Include="System.Security.Permissions" Version="10.0.3" />
7070
<PackageVersion Include="xunit" Version="2.9.3" />
7171
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
7272
</ItemGroup>
73-
</Project>
73+
</Project>

0 commit comments

Comments
 (0)