Skip to content

Commit 6411c80

Browse files
authored
Merge pull request #1348 from Blazam-App/v1-Nightly
V1.5.2 update
2 parents d358568 + 8bfc635 commit 6411c80

File tree

124 files changed

+5871
-2479
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+5871
-2479
lines changed
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
name: Build Dev-Beta
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- v1-Dev-Beta
8+
9+
10+
jobs:
11+
test:
12+
runs-on: windows-latest
13+
permissions: write-all
14+
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v2
18+
- name: Setup .NET Core SDK 8
19+
uses: actions/setup-dotnet@v1
20+
with:
21+
dotnet-version: 8.x
22+
- name: Restore dependencies
23+
run: dotnet restore
24+
- name: Build application (Debug)
25+
run: dotnet build -c Debug
26+
- name: Setup Playwright
27+
shell: pwsh
28+
run: |
29+
PlaywrightTests/bin/Debug/net8.0/playwright.ps1 install;
30+
31+
- name: Test application
32+
run: dotnet test -c Release
33+
build:
34+
runs-on: windows-latest
35+
permissions: write-all
36+
37+
steps:
38+
- name: Checkout code
39+
uses: actions/checkout@v2
40+
- name: Setup .NET Core SDK 8
41+
uses: actions/setup-dotnet@v1
42+
with:
43+
dotnet-version: 8.x
44+
- name: Restore dependencies
45+
run: dotnet restore
46+
47+
- name: Build application (Release)
48+
run: dotnet publish -c Release -o bin/publish BLAZAM/BLAZAM.csproj
49+
50+
51+
- name: Set assembly version as environment variable
52+
shell: pwsh
53+
id: get_version
54+
run: |
55+
$file = "bin/publish/BLAZAM.dll";
56+
$versionInfo = (Get-Item $file).VersionInfo
57+
$fileVersion = $versionInfo.FileVersion
58+
$productVersion = $versionInfo.ProductVersion
59+
echo "ASSEMBLY_VERSION=$fileVersion.$productVersion" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
60+
- name: Show Version
61+
run: echo $env.ASSEMBLY_VERSION
62+
63+
64+
- name: Compress files
65+
run: Compress-Archive -Path bin/publish/* -DestinationPath blazam-dev-beta-v${{ env.ASSEMBLY_VERSION }}.zip
66+
67+
68+
# For Linux
69+
#- name: "Compress files"
70+
# uses: montudor/action-zip@v1
71+
# with:
72+
# args: zip -qq -r blazam-dev.zip bin/publish
73+
74+
- name: Update dev release
75+
uses: andelf/nightly-release@main
76+
env:
77+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
78+
with:
79+
tag_name: 'BetaDev1'
80+
name: 'Beta-Dev'
81+
prerelease: true
82+
body: This release is highly unstable. Expect bugs and crashes on this branch. Developers Only!
83+
files: |
84+
./blazam-dev-beta-v${{ env.ASSEMBLY_VERSION }}.zip
85+
deploy:
86+
needs: build
87+
runs-on: [self-hosted, linux]
88+
permissions: write-all
89+
90+
steps:
91+
- name: Clean existing release zips
92+
shell: bash
93+
run: |
94+
find . -maxdepth 1 -type f -name 'blazam-dev-beta-v*.zip' -print -delete || true
95+
96+
- name: Download latest BetaDev1 release artifact
97+
uses: robinraju/release-downloader@v1.8
98+
with:
99+
repository: ${{ github.repository }}
100+
tag: 'BetaDev1'
101+
fileName: 'blazam-dev-beta-v*.zip'
102+
103+
- name: Shutdown Demo Website
104+
shell: bash
105+
run: sudo systemctl stop blazam.service
106+
107+
- name: Extract release zip
108+
run: |
109+
unzip -o "./blazam-dev-beta-v*.zip" -d /opt/blazam
110+
111+
- name: Restart Demo Website
112+
shell: bash
113+
run: sudo systemctl start blazam.service
114+
115+
- name: Delete downloaded zip
116+
shell: bash
117+
run: rm -f ./blazam-dev-beta.zip

BLAZAM.Tests/ActiveDirectory/DataTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ public void LapsCredential_Constructor_ParsesJsonCorrectly()
3131
Assert.Equal(expectedDate, credential.CreationTime);
3232
}
3333
}
34-
}
34+
}

BLAZAM.Tests/BLAZAM.Tests.csproj

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,42 +15,44 @@
1515
</ItemGroup>
1616

1717
<ItemGroup>
18-
<PackageReference Include="coverlet.collector" Version="6.0.4">
18+
<PackageReference Include="coverlet.collector">
1919
<PrivateAssets>all</PrivateAssets>
2020
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2121
</PackageReference>
22-
<PackageReference Include="coverlet.msbuild" Version="6.0.4">
22+
<PackageReference Include="coverlet.msbuild">
2323
<PrivateAssets>all</PrivateAssets>
2424
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2525
</PackageReference>
26-
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.22" />
27-
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.22">
26+
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" />
27+
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools">
2828
<PrivateAssets>all</PrivateAssets>
2929
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3030
</PackageReference>
31-
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.11" />
32-
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.11" />
33-
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="9.0.11" />
34-
<PackageReference Include="Microsoft.Extensions.Http" Version="9.0.11" />
35-
<PackageReference Include="Microsoft.Extensions.Localization" Version="9.0.11" />
36-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.11" />
37-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
38-
<PackageReference Include="Moq" Version="4.20.72" />
39-
<PackageReference Include="MudBlazor" Version="8.13.0" />
40-
<PackageReference Include="Octokit" Version="14.0.0" />
41-
<PackageReference Include="PreMailer.Net" Version="2.7.2" />
42-
<PackageReference Include="Serilog" Version="4.3.0" />
43-
<PackageReference Include="Serilog.Extensions.Logging" Version="9.0.2" />
44-
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" />
45-
<PackageReference Include="Swashbuckle.AspNetCore" Version="9.0.6" />
46-
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="9.0.6" />
47-
<PackageReference Include="System.Diagnostics.PerformanceCounter" Version="9.0.11" />
48-
<PackageReference Include="System.DirectoryServices.Protocols" Version="9.0.11" />
49-
<PackageReference Include="System.Drawing.Common" Version="9.0.11" />
50-
<PackageReference Include="System.Management" Version="9.0.11" />
51-
<PackageReference Include="System.Security.Permissions" Version="9.0.11" />
52-
<PackageReference Include="xunit" Version="2.9.3" />
53-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
31+
<PackageReference Include="Microsoft.CodeAnalysis.Common" />
32+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" />
33+
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
34+
<PackageReference Include="Microsoft.Extensions.Hosting" />
35+
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" />
36+
<PackageReference Include="Microsoft.Extensions.Http" />
37+
<PackageReference Include="Microsoft.Extensions.Localization" />
38+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
39+
<PackageReference Include="Microsoft.NET.Test.Sdk" />
40+
<PackageReference Include="Moq" />
41+
<PackageReference Include="MudBlazor" />
42+
<PackageReference Include="Octokit" />
43+
<PackageReference Include="PreMailer.Net" />
44+
<PackageReference Include="Serilog" />
45+
<PackageReference Include="Serilog.Extensions.Logging" />
46+
<PackageReference Include="SixLabors.ImageSharp" />
47+
<PackageReference Include="Swashbuckle.AspNetCore" />
48+
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" />
49+
<PackageReference Include="System.Diagnostics.PerformanceCounter" />
50+
<PackageReference Include="System.DirectoryServices.Protocols" />
51+
<PackageReference Include="System.Drawing.Common" />
52+
<PackageReference Include="System.Management" />
53+
<PackageReference Include="System.Security.Permissions" />
54+
<PackageReference Include="xunit" />
55+
<PackageReference Include="xunit.runner.visualstudio">
5456
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
5557
<PrivateAssets>all</PrivateAssets>
5658
</PackageReference>

BLAZAM/BLAZAM.csproj

Lines changed: 48 additions & 39 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.0</AssemblyVersion>
9-
<Version>2026.01.03.0043</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>
@@ -39,49 +39,57 @@
3939
<Content Include="nssm.exe">
4040
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
4141
</Content>
42+
<Content Include="static\img\maggie.png">
43+
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
44+
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
45+
</Content>
4246
</ItemGroup>
4347

4448
<ItemGroup>
45-
<PackageReference Include="BlazorTemplater" Version="1.5.1" />
46-
<PackageReference Include="Cassia" Version="2.0.0.60" />
47-
<PackageReference Include="DuoUniversal" Version="1.3.1" />
48-
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.22" />
49-
<PackageReference Include="Microsoft.AspNetCore.Components" Version="8.0.22" />
50-
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.22" />
51-
<PackageReference Include="Microsoft.AspNetCore.ResponseCompression" Version="2.3.0" />
52-
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.22">
49+
<PackageReference Include="BlazorTemplater" />
50+
<PackageReference Include="Cassia" />
51+
<PackageReference Include="DuoUniversal" />
52+
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" />
53+
<PackageReference Include="Microsoft.AspNetCore.Components" />
54+
<PackageReference Include="Microsoft.AspNetCore.Components.Web" />
55+
<PackageReference Include="Microsoft.AspNetCore.ResponseCompression" />
56+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design">
5357
<PrivateAssets>all</PrivateAssets>
5458
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
5559
</PackageReference>
56-
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.11" />
57-
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.11" />
58-
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.11" />
59-
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="9.0.11" />
60-
<PackageReference Include="Microsoft.Extensions.Http" Version="9.0.11" />
61-
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="9.0.11" />
62-
<PackageReference Include="Microsoft.Extensions.Localization" Version="9.0.11" />
63-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.11" />
64-
<PackageReference Include="MudBlazor" Version="8.13.0" />
65-
<PackageReference Include="MudBlazor.ThemeManager" Version="3.0.0" />
66-
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
67-
<PackageReference Include="Octokit" Version="14.0.0" />
68-
<PackageReference Include="Polly.Contrib.WaitAndRetry" Version="1.1.1" />
69-
<PackageReference Include="Serilog" Version="4.3.0" />
70-
<PackageReference Include="Serilog.Extensions.Logging" Version="9.0.2" />
71-
<PackageReference Include="Swashbuckle.AspNetCore" Version="9.0.6" />
72-
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="9.0.6" />
73-
<PackageReference Include="System.Diagnostics.PerformanceCounter" Version="9.0.11" />
74-
<PackageReference Include="System.DirectoryServices" Version="9.0.11" />
75-
76-
<PackageReference Include="System.DirectoryServices.AccountManagement" Version="9.0.11" />
77-
78-
<PackageReference Include="System.DirectoryServices.Protocols" Version="9.0.11" />
79-
80-
<PackageReference Include="System.Drawing.Common" Version="9.0.11" />
81-
82-
<PackageReference Include="System.Management" Version="9.0.11" />
83-
84-
<PackageReference Include="System.Security.Permissions" Version="9.0.11" />
60+
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
61+
<PackageReference Include="Microsoft.Extensions.Hosting" />
62+
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" />
63+
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" />
64+
<PackageReference Include="Microsoft.Extensions.Http" />
65+
<PackageReference Include="Microsoft.Extensions.Http.Polly" />
66+
<PackageReference Include="Microsoft.Extensions.Localization" />
67+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
68+
<PackageReference Include="MudBlazor" />
69+
<PackageReference Include="MudBlazor.ThemeManager" />
70+
<PackageReference Include="Newtonsoft.Json" />
71+
<PackageReference Include="Octokit" />
72+
<PackageReference Include="Polly.Contrib.WaitAndRetry" />
73+
<PackageReference Include="PreMailer.Net" />
74+
<PackageReference Include="Serilog" />
75+
<PackageReference Include="Serilog.Extensions.Logging" />
76+
<PackageReference Include="Swashbuckle.AspNetCore" />
77+
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" />
78+
<PackageReference Include="System.Diagnostics.PerformanceCounter" />
79+
<PackageReference Include="System.DirectoryServices" />
80+
81+
<PackageReference Include="System.DirectoryServices.AccountManagement" />
82+
83+
<PackageReference Include="System.DirectoryServices.Protocols" />
84+
85+
<PackageReference Include="System.Drawing.Common" />
86+
87+
<PackageReference Include="System.Management" />
88+
89+
<PackageReference Include="System.Security.Permissions" />
90+
91+
<PackageReference Include="Microsoft.CodeAnalysis.Common" />
92+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" />
8593
</ItemGroup>
8694

8795
<ItemGroup>
@@ -102,6 +110,7 @@
102110
<ProjectReference Include="..\BLAZAMUpdate\BLAZAMUpdate.csproj" />
103111
</ItemGroup>
104112

113+
105114
<ItemGroup>
106115
<Compile Update="Properties\Resources.Designer.cs">
107116
<DesignTime>True</DesignTime>

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
}

0 commit comments

Comments
 (0)