Skip to content

Commit

Permalink
Merge branch 'main' into story/240703-svg-resizing
Browse files Browse the repository at this point in the history
  • Loading branch information
JohannesETelle authored Mar 4, 2025
2 parents c210073 + c4d7e30 commit b3b2b24
Show file tree
Hide file tree
Showing 66 changed files with 1,145 additions and 799 deletions.
39 changes: 39 additions & 0 deletions .github/depandabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "main"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"

- package-ecosystem: "pip"
directory: "/cli/chex/"
target-branch: "main"
labels:
- "Pip deps"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"

- package-ecosystem: "nuget"
directory: "/client/Boundaries/"
target-branch: "main"
labels:
- "nuget deps"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"

- package-ecosystem: "npm"
directory: "/www/"
target-branch: "main"
labels:
- "npm deps"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"
14 changes: 10 additions & 4 deletions .github/workflows/pull_request_tester.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,18 @@ jobs:
dotnet-tests:
runs-on: ubuntu-latest
name: ".NET Tests & Reports"
timeout-minutes: 5
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Download RDFox license key
run: echo "${{ secrets.RDFOX_LICENSE_CONTENT }}" > ./RDFox.lic

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
run: |
sudo add-apt-repository ppa:dotnet/backports
sudo apt-get update && sudo apt-get install -y dotnet-sdk-9.0
- name: Restore dependencies
run: dotnet restore ./client/Boundaries/Boundaries.sln
Expand All @@ -29,3 +32,6 @@ jobs:
- name: Test
run: |
dotnet test ./client/Boundaries/Boundaries.sln --no-build --verbosity normal
- name: Delete license file
run: rm ./RDFox.lic
2 changes: 1 addition & 1 deletion .github/workflows/rdf_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
defaults:
run:
shell: bash
Expand Down
6 changes: 3 additions & 3 deletions client/Boundaries/Backend/Backend.csproj
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.3.0" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.11" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.2" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="7.2.0" />
</ItemGroup>

<ItemGroup>
Expand Down
73 changes: 27 additions & 46 deletions client/Boundaries/Backend/Endpoints/BoundaryEndpoints.cs
Original file line number Diff line number Diff line change
@@ -1,71 +1,52 @@
using System.Text.Json;
using Backend.Utils;
using Boundaries;
using Microsoft.AspNetCore.Mvc;

namespace Backend.Endpoints;

public static class BoundaryEndpoints
{
public static void MapBoundaryEndpoints(this IEndpointRouteBuilder endpoints, RdfoxApi.ConnectionSettings connectionSettings)
public static void MapBoundaryEndpoints(this IEndpointRouteBuilder endpoints)
{
#region Boundaries
//Update boundary
endpoints.MapPost("/commissioning-package/{packageId}/update-boundary/{nodeId}", async (string packageId, string nodeId) =>
endpoints.MapPost("/commissioning-package/{packageId}/update-boundary/{nodeId}", async (string packageId, string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
if (!await QueryUtils.CommissioningPackageExists(packageId, rdfoxApi))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}

var isSelectedInternal = await QueryUtils.IsSelectedInternalOf(packageId, nodeId, connectionSettings);
var isBoundary = await QueryUtils.IsBoundaryOf(packageId, nodeId, connectionSettings);
var isSelectedInternal = await QueryUtils.IsSelectedInternalOf(packageId, nodeId, rdfoxApi);
var isBoundary = await QueryUtils.IsBoundaryOf(packageId, nodeId, rdfoxApi);

if (isSelectedInternal)
await QueryUtils.DeleteIsSelectedInternalOf(packageId, nodeId, connectionSettings);
await QueryUtils.DeleteIsSelectedInternalOf(packageId, nodeId, rdfoxApi);

if (isBoundary)
{
await QueryUtils.DeleteIsBoundaryOf(packageId, nodeId, connectionSettings);
await QueryUtils.DeleteIsBoundaryOf(packageId, nodeId, rdfoxApi);
}
else
{
await QueryUtils.AddIsBoundaryOf(packageId, nodeId, connectionSettings);
await QueryUtils.AddIsBoundaryOf(packageId, nodeId, rdfoxApi);
}

return Results.Ok();
}).WithTags("Boundary");


// Add node as boundary
endpoints.MapPost("/commissioning-package/{packageId}/boundary/{nodeId}", async (string packageId, string nodeId) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}

var data = $@"
<{nodeId}> {PropertiesProvider.isBoundaryOf} <{packageId}> .";

await RdfoxApi.LoadData(connectionSettings, data);

return Results.Ok($"Triple with subject {packageId} and object {nodeId} inserted successfully.");
}).WithTags("Boundary");


// Remove node as boundary
endpoints.MapDelete("/commissioning-package/{packageId}/boundary/{nodeId}", async (string packageId, string nodeId) =>
endpoints.MapDelete("/commissioning-package/{packageId}/boundary/{nodeId}", async (string packageId, string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
if (!await QueryUtils.CommissioningPackageExists(packageId, rdfoxApi))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}
Expand All @@ -74,50 +55,50 @@ public static void MapBoundaryEndpoints(this IEndpointRouteBuilder endpoints, Rd
<{nodeId}> {PropertiesProvider.isBoundaryOf} <{packageId}> .
";

await RdfoxApi.DeleteData(connectionSettings, data);
await rdfoxApi.DeleteData(data);

return Results.Ok($"Triple for package {packageId} and node {nodeId} deleted successfully.");
}).WithTags("Boundary");
#endregion

#region Internal
//Update selected internal
endpoints.MapPost("/commissioning-package/{packageId}/update-internal/{nodeId}", async (string packageId, string nodeId) =>
endpoints.MapPost("/commissioning-package/{packageId}/update-internal/{nodeId}", async (string packageId, string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
if (!await QueryUtils.CommissioningPackageExists(packageId, rdfoxApi))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}

var isSelectedInternal = await QueryUtils.IsSelectedInternalOf(packageId, nodeId, connectionSettings);
var isBoundary = await QueryUtils.IsBoundaryOf(packageId, nodeId, connectionSettings);
var isSelectedInternal = await QueryUtils.IsSelectedInternalOf(packageId, nodeId, rdfoxApi);
var isBoundary = await QueryUtils.IsBoundaryOf(packageId, nodeId, rdfoxApi);

if (isBoundary)
await QueryUtils.DeleteIsBoundaryOf(packageId, nodeId, connectionSettings);
await QueryUtils.DeleteIsBoundaryOf(packageId, nodeId, rdfoxApi);

if (isSelectedInternal)
{
await QueryUtils.DeleteIsSelectedInternalOf(packageId, nodeId, connectionSettings);
await QueryUtils.DeleteIsSelectedInternalOf(packageId, nodeId, rdfoxApi);
}
else
{
await QueryUtils.AddIsSelectedInternalOf(packageId, nodeId, connectionSettings);
await QueryUtils.AddIsSelectedInternalOf(packageId, nodeId, rdfoxApi);
}

return Results.Ok();
}).WithTags("Internal");


//Add node as internal
endpoints.MapPost("/commissioning-package/{packageId}/internal/{nodeId}", async (string packageId, string nodeId) =>
endpoints.MapPost("/commissioning-package/{packageId}/internal/{nodeId}", async (string packageId, string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
if (!await QueryUtils.CommissioningPackageExists(packageId, rdfoxApi))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}
Expand All @@ -126,19 +107,19 @@ public static void MapBoundaryEndpoints(this IEndpointRouteBuilder endpoints, Rd
<{nodeId}> {PropertiesProvider.isInPackage} <{packageId}> .
";

await RdfoxApi.LoadData(connectionSettings, data);
await rdfoxApi.LoadData(data);

return Results.Ok($"Triple for package {packageId} and node {nodeId} inserted successfully.");
}).WithTags("Internal");


// Remove node as internal
endpoints.MapDelete("/commissioning-package/{packageId}/internal/{nodeId}", async (string packageId, string nodeId) =>
endpoints.MapDelete("/commissioning-package/{packageId}/internal/{nodeId}", async (string packageId, string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
packageId = Uri.UnescapeDataString(packageId);
nodeId = Uri.UnescapeDataString(nodeId);

if (!await QueryUtils.CommissioningPackageExists(packageId, connectionSettings))
if (!await QueryUtils.CommissioningPackageExists(packageId, rdfoxApi))
{
return Results.NotFound($"Commissioning package {packageId} not found.");
}
Expand All @@ -147,21 +128,21 @@ public static void MapBoundaryEndpoints(this IEndpointRouteBuilder endpoints, Rd
<{nodeId}> {PropertiesProvider.isInPackage} <{packageId}> .
";

await RdfoxApi.DeleteData(connectionSettings, data);
await rdfoxApi.DeleteData(data);

return Results.Ok($"Triple for package {packageId} and node {nodeId} deleted successfully.");
}).WithTags("Internal");
#endregion

#region Nodes
//Get adjacent nodes
endpoints.MapGet("/nodes/{nodeId}/adjacent", async (string nodeId) =>
endpoints.MapGet("/nodes/{nodeId}/adjacent", async (string nodeId, [FromServices] IRdfoxApi rdfoxApi) =>
{
nodeId = Uri.UnescapeDataString(nodeId);

var query = $@"SELECT ?neighbour WHERE {{ <{nodeId}> {PropertiesProvider.adjacentTo} ?neighbour }}";

var result = await RdfoxApi.QuerySparql(connectionSettings, query);
var result = await rdfoxApi.QuerySparql(query);

var adjacentNodes = new List<string>();

Expand Down
Loading

0 comments on commit b3b2b24

Please sign in to comment.