Skip to content

Commit

Permalink
UAT Release - IS75 (#3865)
Browse files Browse the repository at this point in the history
* Automation refactoring - Change of models and functions to avois warning messages

* Automation refactoring - Change of models and functions to avois warning messages

* Automation fixes related to new modals

* Disposition Files - Offers and Sale Tab

* Disposition Files - Offers and Sale Tab

* Update Nuget packages

* Changes on automation to adapt changes on PIMS IS74

* Fixed property list sort by lot size (#3825)

Co-authored-by: Alejandro Sanchez <emailforasr@gmail.com>

* CI: Bump version to v5.0.1-74.17

* Fixed lease not showing pids on view (#3824)

* CI: Bump version to v5.0.1-74.18

* Bump dev version - IS75 (#3827)

* CI: Bump version to v5.0.1-75.1

* psp-7880 disposition file number export display. (#3819)

* psp-7880 disposition file number export display.

* test correction.

---------

Co-authored-by: Smith <Devin.Smith@quartech.com>

* CI: Bump version to v5.0.1-75.2

* fix missed mapping of sale completion date on frontend. (#3828)

Co-authored-by: Smith <Devin.Smith@quartech.com>
Co-authored-by: Alejandro Sanchez <emailforasr@gmail.com>

* CI: Bump version to v5.0.1-75.3

* psp-7925 text correction. (#3830)

Co-authored-by: Smith <Devin.Smith@quartech.com>

* CI: Bump version to v5.0.1-75.4

* PSP-7500 - UI/UX cleanup agreements create /edit (#3817)

Co-authored-by: Herrera <eduardo.herrera@quartech.com>
Co-authored-by: Alejandro Sanchez <emailforasr@gmail.com>

* CI: Bump version to v5.0.1-75.5

* IS-75.00 Database Schema Changes (#3818)

* IS-75.00 Database Schema Changes

PSP_PIMS | Development Sprint: S75.00 | Design Sprint: 74 | Date: 2024-Feb-27
- Altered seed scripts:
  - 135_DML_PIMS_PROP_MGMT_ACTIVITY_TYPE.sql
  - 136_DML_PIMS_PROP_MGMT_ACTIVITY_SUBTYPE.sql
- Requires additional metadata to meet standards

* Changed ZONING_POTENTIAL to 100 Bytes

- PIMS_PROPERTY.ZONING_POTENTIAL
- PIMS_PROPERTY_HIST.ZONING_POTENTIAL

---------

Co-authored-by: Manuel Rodriguez <marobej@gmail.com>

* CI: Bump version to v5.0.1-75.6

* Regenerated scaffold (#3832)

* CI: Bump version to v5.0.1-75.7

* PSP-7636 Prometheus/Sysdig alerts (#3831)

* Update sysdig team yaml with rest of devs

* Move sysdig config to monitoring folder

* Add a health check for the PIMS database via the PIMS API and Prometheus.

* Update local prometheus configuration to support alerting when database server goes down

* CI: Bump version to v5.0.1-75.8

* PSP-7849 : Stop user from completing acquisition file if take is in progress takes (#3833)

Co-authored-by: Herrera <eduardo.herrera@quartech.com>
Co-authored-by: Alejandro Sanchez <emailforasr@gmail.com>

* CI: Bump version to v5.0.1-75.9

* correct cancel modal behaviour. (#3838)

* CI: Bump version to v5.0.1-75.10

* psp-7622 Testing (#3821)

* Added tests for subdivision view

* Lint fixes

* CI: Bump version to v5.0.1-75.11

* psp-7854 property consolidation backend service. (#3834)

Co-authored-by: Smith <Devin.Smith@quartech.com>
Co-authored-by: Manuel Rodriguez <marobej@gmail.com>

* CI: Bump version to v5.0.1-75.12

* psp 7616 | Subdivision Consolidation navigation (#3836)

* Added functionality to navigate to subdivision and consolidation

* lint fixes

* more lint fixes

* CI: Bump version to v5.0.1-75.13

* PSP-7681 : FT-REG: Browser alerts should be replaced by established modal dialogs (#3790)

Co-authored-by: Eduardo Herrera <Eduardo.Herrera@quartech.com>

* CI: Bump version to v5.0.1-75.14

* Adding initial elements of Subdivision, changes on Acquisition Agreements

* psp-7975 ensure disposition file filter by D- is consistent

* psp-7975 user api corrections.

* min page range.

* CI: Bump version to v5.0.1-75.15

* psp-7896 add acquisition properties request to generate letter logic. (#3837)

* CI: Bump version to v5.0.1-75.16

* PSP-7869 Indicate "retired" on property information details  (#3840)

* CI: Bump version to v5.0.1-75.17

* PSP-7916 : Disposition file GST collected - correct the calculation (#3847)

Co-authored-by: Herrera <eduardo.herrera@quartech.com>

* CI: Bump version to v5.0.1-75.18

* Psp 7984 node 20 update (#3846)

* node 20 update.

* node 20 dependency updates.

* test corrections.

* package json stylih update.

---------

Co-authored-by: Smith <Devin.Smith@quartech.com>

* CI: Bump version to v5.0.1-75.19

* CI: Bump version to v5.0.1-75.20

* psp 7385 | Consolidation frontend (#3845)

* Added consolidation front end and cleanup

* Updated property layer types

* Fixed tests

* Updated subdivision to match consolidation ui

* Pr fixes

* upated icon size

* CI: Bump version to v5.0.1-75.21

* Adding or improving list views and pagination

* psp-7993 correct recursive model object. (#3843)

* CI: Bump version to v5.0.1-75.22

* CI: Bump version to v5.0.1-75.23

* PSP-7907 Add representation of RETIRED properties on the map view and advance filter (#3853)

* Add retired map pin image

* Update map legend

* Add retired property toggle to advanced map filters

* Update backend filter queries

* Implement separate service call for retiring properties

* Map state-machine updates and frontend updates

* backend logic fix

* Update map clustering logic to not display retired properties

* Test corrections

* Update snapshots

* Properly exclude mockServiceWorker from any linting rules

* CI: Bump version to v5.0.1-75.24

* PSP-7860, psp-7962, psp-7963, psp-7964 | Added consolidation history view and fixed issues (#3848)

* Added consolidation history view and fixed issues

* CI: Bump version to v5.0.1-75.25

* psp-7658 display is retired in property list view. (#3835)

* psp-7658 display is retired in property list view.

* test updates.

* remove disposition completion date from add form.

* CI: Bump version to v5.0.1-75.26

* Psp-7818 display disposition errors with error modal (#3852)

* increase readability of error when pid not found in pims.

* display disposition errors with error modal

* CI: Bump version to v5.0.1-75.27

* psp-7313 change user override styling. (#3851)

* CI: Bump version to v5.0.1-75.28

* PSP-8002 : FT:UI/UX- Agreements: Agreement #(number) is not aligned accurately above the line (#3855)

* CI: Bump version to v5.0.1-75.29

* PSP-6920 replace toast with warning modal (#3861)

* PSP-6920 replace toast message with popup dialog

* Lint fixes

* CI: Bump version to v5.0.1-75.30

* PSP-8047 : FT-REG: Disposition Files - Net proceeds before & After SPP cost tool tips are not displaying the correct text (#3859)

Co-authored-by: Herrera <eduardo.herrera@quartech.com>

* CI: Bump version to v5.0.1-75.31

* correct issue in gen env script. (#3863)

Co-authored-by: Smith <devin.smith@quartech.com>

* CI: Bump version to v5.0.1-75.32

* PSP-8046 : FT-REG: Disposition Files - Net proceeds before & After SP… (#3858)


Co-authored-by: Herrera <eduardo.herrera@quartech.com>

* CI: Bump version to v5.0.1-75.33

* Fix PSP-7927 (#3862)

* Updated timeouts to be 30s instead of 3s when retrieving information for adding properties

* Fixed lint

* Added timeout for subdivision

---------

Co-authored-by: Alejandro Sanchez <emailforasr@gmail.com>

* CI: Bump version to v5.0.1-75.34

* Fix "retired" label on property information header (#3864)

* CI: Bump version to v5.0.1-75.35

---------

Co-authored-by: Sue Tairaku <sue.tairaku@gmail.com>
Co-authored-by: devinleighsmith <41091511+devinleighsmith@users.noreply.github.com>
Co-authored-by: Sue Tairaku <42981334+stairaku@users.noreply.github.com>
Co-authored-by: Manuel Rodriguez <marobej@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Smith <Devin.Smith@quartech.com>
Co-authored-by: Eduardo <eddherrera@users.noreply.github.com>
Co-authored-by: Herrera <eduardo.herrera@quartech.com>
Co-authored-by: Doug Filteau <dfilteau@users.noreply.github.com>
Co-authored-by: devinleighsmith <devinleighsmith@gmail.com>
  • Loading branch information
11 people committed Mar 14, 2024
1 parent df2b2c2 commit 4032f54
Show file tree
Hide file tree
Showing 446 changed files with 82,936 additions and 8,455 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/app-react.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: "16.15.0"
node-version: "20.11.1"
- run: npm ci
working-directory: ${{env.working-directory}}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: "16"
node-version: "20"

- name: Setup git
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: "16"
node-version: "20"

- name: Setup git
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: "16"
node-version: "20"

- name: Setup git
run: |
Expand Down
4 changes: 4 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ services:
- TZ=UTC
volumes:
- ./tools/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- ./tools/prometheus/alert-rules.yml:/etc/prometheus/alert-rules.yml
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--web.enable-lifecycle"

grafana:
image: grafana/grafana-oss
Expand Down
4 changes: 2 additions & 2 deletions openshift/4.0/templates/app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Update the configuration file and set the appropriate parameters.
**Example**

```conf
BUILDIMAGE_NAME=nodejs-16
BUILDIMAGE_TAG=1-1
BUILDIMAGE_NAME=nodejs-20
BUILDIMAGE_TAG=1-34
RUNTIMEIMAGE_NAME=nginx-runtime
RUNTIMEIMAGE_TAG=dev
GIT_URL=https://github.com/bcgov/PSP.git
Expand Down
4 changes: 2 additions & 2 deletions openshift/4.0/templates/app/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ parameters:
- name: BUILDIMAGE_NAME
displayName: "Source Image Name"
description: "The image to use as the Builder Image."
value: "nodejs-16"
value: "nodejs-20"
- name: BUILDIMAGE_TAG
displayName: "Source Image Tag"
description: "The s2i image tag which is used to build the code."
value: "1-5"
value: "1-34"

- name: RUNTIMEIMAGE_NAME
displayName: "Source Image Name"
Expand Down
22 changes: 22 additions & 0 deletions openshift/4.0/templates/base-images/nodejs-20-ubi9.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
kind: ImageStream
apiVersion: image.openshift.io/v1
metadata:
name: nodejs-20
namespace: 3cd915-tools
annotations:
openshift.io/image.dockerRepositoryCheck: '2024-03-06T01:22:09Z'
description: ImageStream definitions for NodeJS 20
spec:
lookupPolicy:
local: false
tags:
- name: 1-34
annotations: null
from:
kind: DockerImage
name: 'registry.access.redhat.com/ubi9/nodejs-20:1-34'
generation: 1
importPolicy:
importMode: Legacy
referencePolicy:
type: Source
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,9 @@ spec:
users:
- name: emailforasr@gmail.com
role: ROLE_TEAM_EDIT
- name: devinleighsmith@gmail.com
role: ROLE_TEAM_EDIT
- name: marobej@gmail.com
role: ROLE_TEAM_EDIT
- name: eddherrera.code@gmail.com
role: ROLE_TEAM_EDIT
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
using System;
using System.Collections.Generic;
using MapsterMapper;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Pims.Api.Helpers.Exceptions;
using Pims.Api.Models.Concepts.AcquisitionFile;
using Pims.Api.Policies;
using Pims.Api.Services;
using Pims.Core.Extensions;
using Pims.Core.Json;
using Pims.Dal.Security;
using Swashbuckle.AspNetCore.Annotations;
Expand All @@ -25,6 +29,8 @@ public class AgreementController : ControllerBase
#region Variables
private readonly IAcquisitionFileService _acquisitionService;
private readonly IMapper _mapper;
private readonly ILogger _logger;

#endregion

#region Constructors
Expand All @@ -34,11 +40,12 @@ public class AgreementController : ControllerBase
/// </summary>
/// <param name="acquisitionService"></param>
/// <param name="mapper"></param>
///
public AgreementController(IAcquisitionFileService acquisitionService, IMapper mapper)
/// <param name="logger"></param>
public AgreementController(IAcquisitionFileService acquisitionService, IMapper mapper, ILogger<AgreementController> logger)
{
_acquisitionService = acquisitionService;
_mapper = mapper;
_logger = logger;
}
#endregion

Expand All @@ -55,25 +62,119 @@ public AgreementController(IAcquisitionFileService acquisitionService, IMapper m
[SwaggerOperation(Tags = new[] { "acquisitionfile" })]
public IActionResult GetAcquisitionFileAgreements([FromRoute] long id)
{
_logger.LogInformation(
"Request received by Controller: {Controller}, Action: {ControllerAction}, User: {User}, DateTime: {DateTime}",
nameof(AgreementController),
nameof(GetAcquisitionFileAgreements),
User.GetUsername(),
DateTime.Now);

var agreements = _acquisitionService.GetAgreements(id);
return new JsonResult(_mapper.Map<IEnumerable<AgreementModel>>(agreements));
}

/// <summary>
/// Update the acquisition file agreements.
/// Create the acquisition file agreement to the acquisition file.
/// </summary>
/// <returns>The updated agreements items.</returns>
/// <returns>The agreements items.</returns>
[HttpPost("{id:long}/agreements")]
[HasPermission(Permissions.AgreementView)]
[Produces("application/json")]
[ProducesResponseType(typeof(AgreementModel), 201)]
[TypeFilter(typeof(NullJsonResultFilter))]
[SwaggerOperation(Tags = new[] { "acquisitionfile" })]
public IActionResult AddAcquisitionFileAgreement([FromRoute] long id, [FromBody] AgreementModel agreement)
{
_logger.LogInformation(
"Request received by Controller: {Controller}, Action: {ControllerAction}, User: {User}, DateTime: {DateTime}",
nameof(AgreementController),
nameof(AddAcquisitionFileAgreement),
User.GetUsername(),
DateTime.Now);

if (id != agreement.AcquisitionFileId)
{
throw new BadRequestException("Invalid AcquisitionFileId.");
}

var newAgreement = _acquisitionService.AddAgreement(id, _mapper.Map<Dal.Entities.PimsAgreement>(agreement));

return new JsonResult(_mapper.Map<AgreementModel>(newAgreement));
}

/// <summary>
/// Get the acquisition file agreement by Id.
/// </summary>
/// <returns>The agreements items.</returns>
[HttpGet("{id:long}/agreements/{agreementId:long}")]
[HasPermission(Permissions.AgreementView)]
[Produces("application/json")]
[ProducesResponseType(typeof(AgreementModel), 200)]
[SwaggerOperation(Tags = new[] { "acquisitionfile" })]
public IActionResult GetAcquisitionFileAgreementById([FromRoute]long id, [FromRoute]long agreementId)
{
_logger.LogInformation(
"Request received by Controller: {Controller}, Action: {ControllerAction}, User: {User}, DateTime: {DateTime}",
nameof(AgreementController),
nameof(GetAcquisitionFileAgreementById),
User.GetUsername(),
DateTime.Now);

var agreement = _acquisitionService.GetAgreementById(id, agreementId);

return new JsonResult(_mapper.Map<AgreementModel>(agreement));
}

/// <summary>
/// Update the acquisition file agreement by Id.
/// </summary>
/// <returns>The agreements item updated.</returns>
[HttpPut("{id:long}/agreements/{agreementId:long}")]
[HasPermission(Permissions.AgreementView)]
[Produces("application/json")]
[ProducesResponseType(typeof(AgreementModel), 200)]
[TypeFilter(typeof(NullJsonResultFilter))]
public IActionResult UpdateAcquisitionFileAgreements([FromRoute] long id, [FromBody] List<AgreementModel> agreements)
[SwaggerOperation(Tags = new[] { "acquisitionfile" })]
public IActionResult UpdateAcquisitionFileAgreement([FromRoute] long id, [FromRoute] long agreementId, [FromBody] AgreementModel agreement)
{
_logger.LogInformation(
"Request received by Controller: {Controller}, Action: {ControllerAction}, User: {User}, DateTime: {DateTime}",
nameof(AgreementController),
nameof(UpdateAcquisitionFileAgreement),
User.GetUsername(),
DateTime.Now);

if (id != agreement.AcquisitionFileId)
{
throw new BadRequestException("Invalid AcquisitionFileId.");
}

var updatedAgreement = _acquisitionService.UpdateAgreement(id, _mapper.Map<Dal.Entities.PimsAgreement>(agreement));

return new JsonResult(_mapper.Map<AgreementModel>(updatedAgreement));
}

/// <summary>
/// Delete the acquisition file agreement by Id.
/// </summary>
/// <returns>The agreements item updated.</returns>
[HttpDelete("{id:long}/agreements/{agreementId:long}")]
[HasPermission(Permissions.AgreementView)]
[Produces("application/json")]
[ProducesResponseType(typeof(bool), 200)]
[SwaggerOperation(Tags = new[] { "acquisitionfile" })]
public IActionResult DeleteAcquisitionFileAgreement([FromRoute] long id, [FromRoute] long agreementId)
{
var agreementEntities = _mapper.Map<List<Dal.Entities.PimsAgreement>>(agreements);
var acquisitionFile = _acquisitionService.UpdateAgreements(id, agreementEntities);
return new JsonResult(_mapper.Map<AcquisitionFileModel>(acquisitionFile));
_logger.LogInformation(
"Request received by Controller: {Controller}, Action: {ControllerAction}, User: {User}, DateTime: {DateTime}",
nameof(AgreementController),
nameof(DeleteAcquisitionFileAgreement),
User.GetUsername(),
DateTime.Now);

var result = _acquisitionService.DeleteAgreement(id, agreementId);

return new JsonResult(result);
}

#endregion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ public IActionResult GetMultipleConceptPropertyWithId([FromQuery] long[] ids)
[TypeFilter(typeof(NullJsonResultFilter))]
public IActionResult UpdateConceptProperty([FromBody] PropertyModel propertyModel)
{
var propertyEntity = _mapper.Map<Pims.Dal.Entities.PimsProperty>(propertyModel);
var propertyEntity = _mapper.Map<Dal.Entities.PimsProperty>(propertyModel);
var updatedProperty = _propertyService.Update(propertyEntity);

return new JsonResult(_mapper.Map<PropertyModel>(updatedProperty));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ public PropertyFilterModel(Dictionary<string, Microsoft.Extensions.Primitives.St
{
tempSort[i] = tempSort[i].Replace("Location", "Address.MunicipalityName");
}
if (tempSort[i].StartsWith("LotSizeInHa"))
{
tempSort[i] = tempSort[i].Replace("LotSizeInHa", "LandArea");
}
if (tempSort[i].StartsWith("Ownership"))
{
// The order will affect the display in the frontend. For now in alphabetical order.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,11 @@ public IActionResult RunPropertyOperations([FromBody] IEnumerable<PropertyOperat
switch (propertyOperationTypes)
{
case PropertyOperationTypes.SUBDIVIDE:
var newProperties = _propertyOperationService.SubdivideProperty(propertyOperations);
return new JsonResult(_mapper.Map<IEnumerable<PimsPropertyOperation>>(newProperties));
var subdividedProperties = _propertyOperationService.SubdivideProperty(propertyOperations);
return new JsonResult(_mapper.Map<IEnumerable<PropertyOperationModel>>(subdividedProperties));
case PropertyOperationTypes.CONSOLIDATE:
var consolidatedProperties = _propertyOperationService.ConsolidateProperty(propertyOperations);
return new JsonResult(_mapper.Map<IEnumerable<PropertyOperationModel>>(consolidatedProperties));
default:
return BadRequest("Unsupported property operation type code.");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ public IActionResult ExportUsers([FromBody] EModel.UserFilter filter, bool all =
}

filter.Quantity = all ? _userRepository.Count() : filter.Quantity;
filter.Page = 1;
var page = _userRepository.GetAllByFilter(filter);
var report = _mapper.Map<PageModel<Models.User.UserModel>>(page);

Expand Down
51 changes: 51 additions & 0 deletions source/backend/api/Helpers/Healthchecks/PimsMetricsHealthCheck.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
using System.Data.Common;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Data.SqlClient;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Prometheus;

namespace Pims.Api.Helpers.HealthChecks
{
public class PimsMetricsHealthCheck : IHealthCheck
{
private static readonly Gauge AppDeploymentInfo = Metrics.CreateGauge("api_deployment_info", "Deployment information of the running PSP application", labelNames: new[] { "app_version", "db_version", "runtime_version" });

public PimsMetricsHealthCheck(string connectionString)
{
ConnectionString = connectionString;
}

public string ConnectionString { get; }

public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = default)
{
using (var connection = new SqlConnection(ConnectionString))
{
try
{
await connection.OpenAsync(cancellationToken);

if (connection.Database != null)
{
// Send various deployment metrics to prometheus as a custom metric: 'app_deployment_info'
var command = connection.CreateCommand();
command.CommandText = $"SELECT [STATIC_VARIABLE_VALUE] FROM [PIMS_STATIC_VARIABLE] WHERE [STATIC_VARIABLE_NAME] = N'DBVERSION';";

var dbVersion = (string)command.ExecuteScalar();
var appVersion = GetType().Assembly.GetName().Version.ToString();
var runtimeVersion = System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription;

AppDeploymentInfo.WithLabels(appVersion, dbVersion, runtimeVersion).Set(1.0);
}
}
catch (DbException ex)
{
return new HealthCheckResult(status: context.Registration.FailureStatus, exception: ex);
}
}

return HealthCheckResult.Healthy();
}
}
}
6 changes: 3 additions & 3 deletions source/backend/api/Pims.Api.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<UserSecretsId>0ef6255f-9ea0-49ec-8c65-c172304b4926</UserSecretsId>
<Version>5.0.1-74.16</Version>
<Version>5.0.1-74.16</Version>
<AssemblyVersion>5.0.1.74</AssemblyVersion>
<Version>5.0.1-75.35</Version>
<Version>5.0.1-75.35</Version>
<AssemblyVersion>5.0.1.75</AssemblyVersion>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<ProjectGuid>16BC0468-78F6-4C91-87DA-7403C919E646</ProjectGuid>
<TargetFramework>net8.0</TargetFramework>
Expand Down
Loading

0 comments on commit 4032f54

Please sign in to comment.