From c893a190127ec305d18a1f97a7729b3099563e15 Mon Sep 17 00:00:00 2001 From: plockwood Date: Tue, 17 Oct 2023 14:41:07 +0100 Subject: [PATCH 1/3] setup and initial contracts --- .../Dfe.Academies.Contracts.sln | 25 +++++++ .../Dfe.Academies.Contracts.csproj | 23 ++++++ .../Establishments/EstablishmentDto.cs | 75 +++++++++++++++++++ .../Dfe.Academies.Contracts/README.md | 1 + .../Trusts/TrustDto.cs | 32 ++++++++ 5 files changed, 156 insertions(+) create mode 100644 academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.sln create mode 100644 academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.csproj create mode 100644 academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Establishments/EstablishmentDto.cs create mode 100644 academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/README.md create mode 100644 academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Trusts/TrustDto.cs diff --git a/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.sln b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.sln new file mode 100644 index 0000000..d343a8e --- /dev/null +++ b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32901.215 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dfe.Academies.Contracts", "Dfe.Academies.Contracts\Dfe.Academies.Contracts.csproj", "{7F11AE18-0C58-49DF-99EB-1A2A0FD1B89D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7F11AE18-0C58-49DF-99EB-1A2A0FD1B89D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7F11AE18-0C58-49DF-99EB-1A2A0FD1B89D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7F11AE18-0C58-49DF-99EB-1A2A0FD1B89D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7F11AE18-0C58-49DF-99EB-1A2A0FD1B89D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {4020CE5F-E39A-411F-8AA5-0698078F0179} + EndGlobalSection +EndGlobal diff --git a/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.csproj b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.csproj new file mode 100644 index 0000000..b99aa07 --- /dev/null +++ b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.csproj @@ -0,0 +1,23 @@ + + + + net6.0 + enable + enable + True + Dfe Academies Contracts + DFE-Digital + https://github.com/DFE-Digital/academisation-nuget-packages/tree/main/academiesContracts + README.md + https://github.com/DFE-Digital/academisation-nuget-packages + git + + + + + True + \ + + + + diff --git a/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Establishments/EstablishmentDto.cs b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Establishments/EstablishmentDto.cs new file mode 100644 index 0000000..c09fc5c --- /dev/null +++ b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Establishments/EstablishmentDto.cs @@ -0,0 +1,75 @@ +namespace Dfe.Academies.Contracts.Establishments; + +[Serializable] +public class EstablishmentDto +{ + + public string Urn { get; set; } + public string Name { get; set; } + public string LocalAuthorityCode { get; set; } + public string LocalAuthorityName { get; set; } + public string OfstedRating { get; set; } + public string OfstedLastInspection { get; set; } + public string StatutoryLowAge { get; set; } + public string StatutoryHighAge { get; set; } + public string SchoolCapacity { get; set; } + public string Pfi { get; set; } + public string EstablishmentNumber { get; set; } + public NameAndCodeDto Diocese { get; set; } + public NameAndCodeDto EstablishmentType { get; set; } + public NameAndCodeDto Gor { get; set; } + public NameAndCodeDto PhaseOfEducation { get; set; } + public NameAndCodeDto ReligiousCharacter { get; set; } + public NameAndCodeDto ParliamentaryConstituency { get; set; } + public CensusDto Census { get; set; } + public MisEstablishmentDto MISEstablishment { get; set; } + public AddressDto Address { get; set; } +} + +[Serializable] +public class NameAndCodeDto +{ + public string Name { get; set; } + public string Code { get; set; } +} + +[Serializable] +public class AddressDto +{ + public string Street { get; set; } + + public string Town { get; set; } + + public string County { get; set; } + + public string Postcode { get; set; } + + public string Locality { get; set; } + + public string Additional { get; set; } + +} + +[Serializable] +public class MisEstablishmentDto +{ + public string DateOfLatestSection8Inspection { get; set; } + public string InspectionEndDate { get; set; } + + public string OverallEffectiveness { get; set; } + public string QualityOfEducation { get; set; } + public string BehaviourAndAttitudes { get; set; } + public string PersonalDevelopment { get; set; } + public string EffectivenessOfLeadershipAndManagement { get; set; } + + public string EarlyYearsProvision { get; set; } + public string SixthFormProvision { get; set; } + public string Weblink { get; set; } +} + +[Serializable] +public class CensusDto +{ + public string NumberOfPupils { get; set; } + public string PercentageFsm { get; set; } +} diff --git a/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/README.md b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/README.md new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/README.md @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Trusts/TrustDto.cs b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Trusts/TrustDto.cs new file mode 100644 index 0000000..44f233c --- /dev/null +++ b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Trusts/TrustDto.cs @@ -0,0 +1,32 @@ +namespace Dfe.Academies.Contracts.Trusts; + +[Serializable] +public class TrustDto +{ + public string Name { get; set; } + + public string Ukprn { get; set; } + + public string CompaniesHouseNumber { get; set; } + + public string ReferenceNumber { get; set; } + + public AddressDto Address { get; set; } + +} + +[Serializable] +public class AddressDto +{ + public string Street { get; set; } + + public string Town { get; set; } + + public string County { get; set; } + + public string Postcode { get; set; } + + public string Locality { get; set; } + + public string Additional { get; set; } +} From 34a9a873debfe22434bde4588f0468e670e73537 Mon Sep 17 00:00:00 2001 From: plockwood Date: Tue, 17 Oct 2023 14:46:59 +0100 Subject: [PATCH 2/3] workflows for the contracts --- .../academiesContracts-CI-workflow.yml | 28 +++++++++ ...demiesContracts-build-and-push-package.yml | 62 +++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 .github/workflows/academiesContracts-CI-workflow.yml create mode 100644 .github/workflows/academiesContracts-build-and-push-package.yml diff --git a/.github/workflows/academiesContracts-CI-workflow.yml b/.github/workflows/academiesContracts-CI-workflow.yml new file mode 100644 index 0000000..cbb7353 --- /dev/null +++ b/.github/workflows/academiesContracts-CI-workflow.yml @@ -0,0 +1,28 @@ +name: Pull request checks + +on: + push: + branches: [ main ] + paths: + - 'academiesContracts/**' + pull_request: + branches: [ main ] + types: [opened, synchronize, reopened] + paths: + - 'academiesContracts/**' + +defaults: + run: + working-directory: academiesContracts +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup .NET SDK + uses: actions/setup-dotnet@v1 + - name: Build + run: dotnet build -c Release + - name: Test + run: dotnet test -c Release --no-build \ No newline at end of file diff --git a/.github/workflows/academiesContracts-build-and-push-package.yml b/.github/workflows/academiesContracts-build-and-push-package.yml new file mode 100644 index 0000000..4d98ac8 --- /dev/null +++ b/.github/workflows/academiesContracts-build-and-push-package.yml @@ -0,0 +1,62 @@ +name: Package academiesContracts + +on: + workflow_dispatch: + push: + branches: + - main + paths: + - 'academiesContracts/**' + # release: + # types: [published] + +defaults: + run: + working-directory: academiesContracts + +env: + DOCKER_IMAGE: amsd-app + NODE_VERSION: 16.x + +jobs: + set-env: + name: Determine environment + runs-on: ubuntu-22.04 + outputs: + environment: ${{ steps.var.outputs.environment }} + branch: ${{ steps.var.outputs.branch }} + release: ${{ steps.var.outputs.release }} + checked-out-sha: ${{ steps.var.outputs.checked-out-sha }} + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.ref }} + + - id: var + run: | + GIT_REF=${{ github.ref }} + GIT_BRANCH=${GIT_REF##*/} + INPUT=${{ github.event.inputs.environment }} + ENVIRONMENT=${INPUT:-"dev"} + RELEASE=${ENVIRONMENT,,}-`date +%Y-%m-%d`.${{ github.run_number }} + CHECKED_OUT_SHA="$(git log -1 '--format=format:%H')" + echo "environment=${ENVIRONMENT,,}" >> $GITHUB_OUTPUT + echo "branch=$GIT_BRANCH" >> $GITHUB_OUTPUT + echo "release=${RELEASE}" >> $GITHUB_OUTPUT + echo "checked-out-sha=${CHECKED_OUT_SHA}" >> $GITHUB_OUTPUT + build: + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup .NET SDK + uses: actions/setup-dotnet@v1 + - name: Build + run: dotnet build -c Release + - name: Test + run: dotnet test -c Release --no-build + - name: Pack nugets + run: dotnet pack -c Release --no-build --output . + - name: Push to NuGet + run: dotnet nuget push "*.nupkg" --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/DFE-Digital/index.json \ No newline at end of file From 8ab76342e3326122d0d1c8fe5b2bb74b7db48113 Mon Sep 17 00:00:00 2001 From: plockwood Date: Tue, 17 Oct 2023 15:15:29 +0100 Subject: [PATCH 3/3] version number added --- .../Dfe.Academies.Contracts/Dfe.Academies.Contracts.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.csproj b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.csproj index b99aa07..a68f5b5 100644 --- a/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.csproj +++ b/academiesContracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts/Dfe.Academies.Contracts.csproj @@ -11,8 +11,9 @@ README.md https://github.com/DFE-Digital/academisation-nuget-packages git + 1.0.0 - + True