Skip to content

Commit

Permalink
Merge pull request #22 from The-Standard-Organization/users/cjdutoit/…
Browse files Browse the repository at this point in the history
…coderub-project-rename

CODE RUB: Renamed Interface project to Abstractions
  • Loading branch information
cjdutoit authored Feb 20, 2024
2 parents 00a0d37 + eee7541 commit aae80fc
Show file tree
Hide file tree
Showing 15 changed files with 217 additions and 24 deletions.
101 changes: 101 additions & 0 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,104 @@ jobs:
run: dotnet build --no-restore
- name: Test
run: dotnet test --no-build --verbosity normal
add_tag:
runs-on: ubuntu-latest
needs:
- build
if: >-
needs.build.result == 'success' &&
github.event.pull_request.merged &&
github.event.pull_request.base.ref == 'main' &&
startsWith(github.event.pull_request.title, 'RELEASES:') &&
contains(github.event.pull_request.labels.*.name, 'RELEASES')
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
token: ${{ secrets.PAT_FOR_TAGGING }}
- name: Configure Git
run: >-
git config user.name "GitHub Action"
git config user.email "[email protected]"
- name: Extract Version
id: extract_version
run: >
# Running on Linux/Unix
sudo apt-get install xmlstarlet
version_number=$(xmlstarlet sel -t -v "//Version" -n STX.EFxceptions.Core/STX.EFxceptions.Core.csproj)
echo "$version_number"
echo "version_number<<EOF" >> $GITHUB_OUTPUT
echo "$version_number" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
shell: bash
- name: Display Version
run: 'echo "Version number: ${{ steps.extract_version.outputs.version_number }}"'
- name: Extract Package Release Notes
id: extract_package_release_notes
run: >
# Running on Linux/Unix
sudo apt-get install xmlstarlet
package_release_notes=$(xmlstarlet sel -t -v "//PackageReleaseNotes" -n STX.EFxceptions.Core/STX.EFxceptions.Core.csproj)
echo "$package_release_notes"
echo "package_release_notes<<EOF" >> $GITHUB_OUTPUT
echo "$package_release_notes" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
shell: bash
- name: Display Package Release Notes
run: 'echo "Package Release Notes: ${{ steps.extract_package_release_notes.outputs.package_release_notes }}"'
- name: Create GitHub Tag
run: >-
git tag -a "v${{ steps.extract_version.outputs.version_number }}" -m "Release - v${{ steps.extract_version.outputs.version_number }}"
git push origin --tags
- name: Create GitHub Release
uses: actions/create-release@v1
with:
tag_name: v${{ steps.extract_version.outputs.version_number }}
release_name: Release - v${{ steps.extract_version.outputs.version_number }}
body: >-
## Release - v${{ steps.extract_version.outputs.version_number }}
### Release Notes
${{ steps.extract_package_release_notes.outputs.package_release_notes }}
env:
GITHUB_TOKEN: ${{ secrets.PAT_FOR_TAGGING }}
publish:
runs-on: ubuntu-latest
needs:
- add_tag
if: needs.add_tag.result == 'success'
steps:
- name: Check out
uses: actions/checkout@v3
- name: Setup .Net
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.201
- name: Restore
run: dotnet restore
- name: Build
run: dotnet build --no-restore --configuration Release
- name: Pack NuGet Package
run: dotnet pack --configuration Release --include-symbols
- name: Push NuGet Package
run: dotnet nuget push **/bin/Release/**/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_ACCESS }} --skip-duplicate
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// ----------------------------------------------------------------------------------
// Copyright(c) The Standard Organization: A coalition of the Good-Hearted Engineers
// Copyright (c) The Standard Organization: A coalition of the Good-Hearted Engineers
// ----------------------------------------------------------------------------------

using System;

namespace STX.EFxceptions.Interfaces.Brokers.DbErrorBroker
namespace STX.EFxceptions.Abstractions.Brokers.DbErrorBroker
{
public interface IDbErrorBroker<TException> where TException : Exception
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// ----------------------------------------------------------------------------------
// Copyright (c) The Standard Organization: A coalition of the Good-Hearted Engineers
// ----------------------------------------------------------------------------------

using Microsoft.EntityFrameworkCore;

namespace STX.EFxceptions.Abstractions.Models.Exceptions
{
public class DuplicateKeyException : DbUpdateException
{
public DuplicateKeyException(string message) : base(message) { }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// ----------------------------------------------------------------------------------
// Copyright (c) The Standard Organization: A coalition of the Good-Hearted Engineers
// ----------------------------------------------------------------------------------

using Microsoft.EntityFrameworkCore;

namespace STX.EFxceptions.Abstractions.Models.Exceptions
{
public class DuplicateKeyWithUniqueIndexException : DbUpdateException
{
public string DuplicateKeyValue { get; }

public DuplicateKeyWithUniqueIndexException(string message)
: base(message)
{
string[] subStrings = message.Split('(', ')');

if (subStrings.Length == 3)
{
DuplicateKeyValue = subStrings[1];
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// ----------------------------------------------------------------------------------
// Copyright (c) The Standard Organization: A coalition of the Good-Hearted Engineers
// ----------------------------------------------------------------------------------

using Microsoft.EntityFrameworkCore;

namespace STX.EFxceptions.Abstractions.Models.Exceptions
{
public class ForeignKeyConstraintConflictException : DbUpdateException
{
public ForeignKeyConstraintConflictException(string message) : base(message) { }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// ----------------------------------------------------------------------------------
// Copyright (c) The Standard Organization: A coalition of the Good-Hearted Engineers
// ----------------------------------------------------------------------------------

using Microsoft.EntityFrameworkCore;

namespace STX.EFxceptions.Abstractions.Models.Exceptions
{
public class InvalidColumnNameException : DbUpdateException
{
public InvalidColumnNameException(string message) : base(message) { }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// ----------------------------------------------------------------------------------
// Copyright (c) The Standard Organization: A coalition of the Good-Hearted Engineers
// ----------------------------------------------------------------------------------

using Microsoft.EntityFrameworkCore;

namespace STX.EFxceptions.Abstractions.Models.Exceptions
{
public class InvalidObjectNameException : DbUpdateException
{
public InvalidObjectNameException(string message) : base(message) { }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>disable</Nullable>
<Title>STX.EFxceptions.Interfaces</Title>
<Product>STX.EFxceptions.Interfaces</Product>
<PackageId>STX.EFxceptions.Interfaces</PackageId>
<Title>STX.EFxceptions.Abstractions</Title>
<Product>STX.EFxceptions.Abstractions</Product>
<PackageId>STX.EFxceptions.Abstractions</PackageId>
<Authors>The Standard Community</Authors>
<Company>The Standard Community</Company>
<Description>A Standardized .NET library that provides interfaces for the core components to capture exceptions thrown by EntityFramework and converts them into meaningful exceptions...</Description>
<Description>A Standardized .NET library that provides abstractions for the core components to capture exceptions thrown by EntityFramework and converts them into meaningful exceptions...</Description>
<Copyright>The Standard Community 2024 (c)</Copyright>
<PackageIcon>EFxceptions.png</PackageIcon>
<PackageProjectUrl>https://github.com/The-Standard-Organization/STX.EFxceptions</PackageProjectUrl>
<RepositoryUrl>https://github.com/The-Standard-Organization/STX.EFxceptions</RepositoryUrl>
<PackageProjectUrl>https://github.com/The-Standard-Organization/STX.EFxceptions.Core</PackageProjectUrl>
<RepositoryUrl>https://github.com/The-Standard-Organization/STX.EFxceptions.Core</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>.NET; EF; Entity Framework; Exceptions; The Standard</PackageTags>
<PackageReleaseNotes>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// ----------------------------------------------------------------------------------
// Copyright(c) The Standard Organization: A coalition of the Good-Hearted Engineers
// Copyright (c) The Standard Organization: A coalition of the Good-Hearted Engineers
// ----------------------------------------------------------------------------------

using Microsoft.EntityFrameworkCore;

namespace STX.EFxceptions.Interfaces.Services.EFxceptions
namespace STX.EFxceptions.Abstractions.Services.EFxceptions
{
public interface IEFxceptionService
{
Expand Down
2 changes: 1 addition & 1 deletion STX.EFxceptions.Core.sln
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "STX.EFxceptions.Identity.Co
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "STX.EFxceptions.Infrastructure.Build", "STX.EFxceptions.Infrastructure.Build\STX.EFxceptions.Infrastructure.Build.csproj", "{C35BF826-899D-406B-96BC-499297A11A34}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "STX.EFxceptions.Interfaces", "STX.EFxceptions.Interfaces\STX.EFxceptions.Interfaces.csproj", "{9AB17DCF-0E92-42B1-9B76-12C07DF23F10}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "STX.EFxceptions.Abstractions", "STX.EFxceptions.Abstractions\STX.EFxceptions.Abstractions.csproj", "{9AB17DCF-0E92-42B1-9B76-12C07DF23F10}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
6 changes: 3 additions & 3 deletions STX.EFxceptions.Core/DbContextBase.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// ----------------------------------------------------------------------------------
// Copyright(c) The Standard Organization: A coalition of the Good-Hearted Engineers
// Copyright (c) The Standard Organization: A coalition of the Good-Hearted Engineers
// ----------------------------------------------------------------------------------

using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using STX.EFxceptions.Interfaces.Brokers.DbErrorBroker;
using STX.EFxceptions.Interfaces.Services.EFxceptions;
using STX.EFxceptions.Abstractions.Brokers.DbErrorBroker;
using STX.EFxceptions.Abstractions.Services.EFxceptions;

namespace STX.EFxceptions.Core
{
Expand Down
6 changes: 3 additions & 3 deletions STX.EFxceptions.Core/STX.EFxceptions.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<Description>A Standardized .NET library that provides an abstract DBContext to capture exceptions thrown by EntityFramework and converts them into meaningful exceptions...</Description>
<Copyright>The Standard Community 2024 (c)</Copyright>
<PackageIcon>EFxceptions.png</PackageIcon>
<PackageProjectUrl>https://github.com/The-Standard-Organization/STX.EFxceptions</PackageProjectUrl>
<RepositoryUrl>https://github.com/The-Standard-Organization/STX.EFxceptions</RepositoryUrl>
<PackageProjectUrl>https://github.com/The-Standard-Organization/STX.EFxceptions.Core</PackageProjectUrl>
<RepositoryUrl>https://github.com/The-Standard-Organization/STX.EFxceptions.Core</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>.NET; EF; Entity Framework; Exceptions; The Standard</PackageTags>
<PackageReleaseNotes>
Expand Down Expand Up @@ -50,7 +50,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\STX.EFxceptions.Interfaces\STX.EFxceptions.Interfaces.csproj" />
<ProjectReference Include="..\STX.EFxceptions.Abstractions\STX.EFxceptions.Abstractions.csproj" />
</ItemGroup>

</Project>
8 changes: 4 additions & 4 deletions STX.EFxceptions.Identity.Core/IndentityDbContextBase.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// ----------------------------------------------------------------------------------
// Copyright(c) The Standard Organization: A coalition of the Good-Hearted Engineers
// Copyright (c) The Standard Organization: A coalition of the Good-Hearted Engineers
// ----------------------------------------------------------------------------------

using System;
Expand All @@ -8,12 +8,12 @@
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using STX.EFxceptions.Interfaces.Brokers.DbErrorBroker;
using STX.EFxceptions.Interfaces.Services.EFxceptions;
using STX.EFxceptions.Abstractions.Brokers.DbErrorBroker;
using STX.EFxceptions.Abstractions.Services.EFxceptions;

namespace STX.EFxceptions.Identity.Core
{
public class IdentityDbContextBase<TUser> : IdentityDbContext<TUser, IdentityRole, string>
public abstract class IdentityDbContextBase<TUser> : IdentityDbContext<TUser, IdentityRole, string>
where TUser : IdentityUser
{
protected IdentityDbContextBase() : base()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<Description>A Standardized .NET library that provides an abstract DBContext that implements AspNetCore.Identity to capture exceptions thrown by EntityFramework and converts them into meaningful exceptions...</Description>
<Copyright>The Standard Community 2024 (c)</Copyright>
<PackageIcon>EFxceptions.png</PackageIcon>
<PackageProjectUrl>https://github.com/The-Standard-Organization/STX.EFxceptions</PackageProjectUrl>
<RepositoryUrl>https://github.com/The-Standard-Organization/STX.EFxceptions</RepositoryUrl>
<PackageProjectUrl>https://github.com/The-Standard-Organization/STX.EFxceptions.Core</PackageProjectUrl>
<RepositoryUrl>https://github.com/The-Standard-Organization/STX.EFxceptions.Core</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>.NET; EF; Entity Framework; Exceptions; The Standard</PackageTags>
<PackageReleaseNotes>
Expand Down Expand Up @@ -49,7 +49,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\STX.EFxceptions.Interfaces\STX.EFxceptions.Interfaces.csproj" />
<ProjectReference Include="..\STX.EFxceptions.Abstractions\STX.EFxceptions.Abstractions.csproj" />
</ItemGroup>

</Project>
16 changes: 16 additions & 0 deletions STX.EFxceptions.Infrastructure.Build/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,22 @@ static void Main(string[] args)
}
}
}
},
{
"add_tag",
new TagJob(
runsOn: BuildMachines.UbuntuLatest,
dependsOn: "build",
projectRelativePath: "STX.EFxceptions.Core/STX.EFxceptions.Core.csproj",
githubToken: "${{ secrets.PAT_FOR_TAGGING }}",
branchName: branchName)
},
{
"publish",
new PublishJob(
runsOn: BuildMachines.UbuntuLatest,
dependsOn: "add_tag",
nugetApiKey: "${{ secrets.NUGET_ACCESS }}")
}
}
};
Expand Down

0 comments on commit aae80fc

Please sign in to comment.