Skip to content

Commit d4f8ff9

Browse files
Merge pull request #534 from bcgov/1.3.4
1.3.4
2 parents 1617189 + 1913230 commit d4f8ff9

File tree

72 files changed

+3828
-362
lines changed

Some content is hidden

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

72 files changed

+3828
-362
lines changed

.pipeline/lib/config.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ const name = 'hmcr'
66

77
const phases = {
88
build: {namespace:'txkggj-tools' , name: `${name}`, phase: 'build' , changeId:changeId, suffix: `-build-${changeId}` , instance: `${name}-build-${changeId}` , version:`${version}-${changeId}` , tag:`build-${version}-${changeId}`, transient: true},
9-
dev: {namespace:'txkggj-dev' , name: `${name}`, phase: 'dev' , changeId:changeId, suffix: `-dev-${changeId}` , instance: `${name}-dev-${changeId}` , version:`${version}-${changeId}` , tag:`dev-${version}-${changeId}` , host: `hmcr-${changeId}-txkggj-dev.pathfinder.gov.bc.ca` , url_prefix: 'dev-', bceid_service: '.test' , oas_server: 'devoas1', dotnet_env: 'Development', transient: true},
10-
test: {namespace:'txkggj-test' , name: `${name}`, phase: 'test' , changeId:changeId, suffix: `-test` , instance: `${name}-test` , version:`${version}` , tag:`test-${version}` , host: `hmcr-txkggj-test.pathfinder.gov.bc.ca` , url_prefix: 'tst-', bceid_service: '.test' , oas_server: 'tstoas2', dotnet_env: 'Staging'},
11-
uat: {namespace:'txkggj-test' , name: `${name}`, phase: 'uat' , changeId:changeId, suffix: `-uat` , instance: `${name}-uat` , version:`${version}` , tag:`uat-${version}` , host: `hmcr-txkggj-uat.pathfinder.gov.bc.ca` , url_prefix: 'uat-', bceid_service: '.test' , oas_server: 'tstoas2', dotnet_env: 'UAT'},
12-
prod: {namespace:'txkggj-prod' , name: `${name}`, phase: 'prod' , changeId:changeId, suffix: `-prod` , instance: `${name}-prod` , version:`${version}` , tag:`prod-${version}` , host: `hmcr-txkggj-prod.pathfinder.gov.bc.ca` , url_prefix: '' , bceid_service: '' , oas_server: 'prdoas2', dotnet_env: 'Production'},
9+
dev: {namespace:'txkggj-dev' , name: `${name}`, phase: 'dev' , changeId:changeId, suffix: `-dev-${changeId}` , instance: `${name}-dev-${changeId}` , version:`${version}-${changeId}` , tag:`dev-${version}-${changeId}` , host: `hmcr-${changeId}-txkggj-dev.pathfinder.gov.bc.ca` , url_prefix: 'dev-', bceid_service: '.test' , oas_server: 'devoas4', export_server: 'devoas4', dotnet_env: 'Development', transient: true},
10+
test: {namespace:'txkggj-test' , name: `${name}`, phase: 'test' , changeId:changeId, suffix: `-test` , instance: `${name}-test` , version:`${version}` , tag:`test-${version}` , host: `hmcr-txkggj-test.pathfinder.gov.bc.ca` , url_prefix: 'tst-', bceid_service: '.test' , oas_server: 'prdoas5', export_server: 'tstoas5', dotnet_env: 'Staging'},
11+
uat: {namespace:'txkggj-test' , name: `${name}`, phase: 'uat' , changeId:changeId, suffix: `-uat` , instance: `${name}-uat` , version:`${version}` , tag:`uat-${version}` , host: `hmcr-txkggj-uat.pathfinder.gov.bc.ca` , url_prefix: 'uat-', bceid_service: '.test' , oas_server: 'prdoas5', export_server: 'tstoas5', dotnet_env: 'UAT'},
12+
prod: {namespace:'txkggj-prod' , name: `${name}`, phase: 'prod' , changeId:changeId, suffix: `-prod` , instance: `${name}-prod` , version:`${version}` , tag:`prod-${version}` , host: `hmcr-txkggj-prod.pathfinder.gov.bc.ca` , url_prefix: '' , bceid_service: '' , oas_server: 'prdoas5', export_server: 'prdoas5', dotnet_env: 'Production'},
1313
};
1414

1515
// This callback forces the node process to exit as failure.

.pipeline/lib/deploy.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ module.exports = settings => {
7676
ENV: phases[phase].phase,
7777
SUBMISSION_URL: `https://${phases[phase].url_prefix}hmcr.th.gov.bc.ca/workreporting?serviceArea={0}&showResult={1}`,
7878
BCEID_SERVICE: `https://gws1${phases[phase].bceid_service}.bceid.ca/webservices/client/v10/bceidservice.asmx`,
79-
EXPORT_URL: `https://${phases[phase].oas_server}.apps.th.gov.bc.ca`,
79+
EXPORT_URL: `https://${phases[phase].export_server}.apps.th.gov.bc.ca`,
8080
OAS_URL: `https://${phases[phase].oas_server}.apps.th.gov.bc.ca`,
8181
GEOSERVER_TIMEOUT: 120
8282
}

api/Hmcr.Api/Controllers/ActivityCodeController.cs

+25-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
using System;
1111
using System.Collections.Generic;
1212
using System.Threading.Tasks;
13+
using System.Text;
14+
using System.Linq;
1315

1416
namespace Hmcr.Api.Controllers
1517
{
@@ -32,7 +34,29 @@ public async Task<ActionResult<PagedDto<ActivityCodeSearchDto>>> GetActivityCode
3234
int pageSize, int pageNumber, string orderBy = "activitynumber", string direction = "desc")
3335
{
3436
return Ok(await _activityCodeSvc.GetActivityCodesAsync(maintenanceTypes.ToStringArray(), locationCodes.ToDecimalArray(), isActive, searchText, pageSize, pageNumber, orderBy, direction));
35-
}
37+
}
38+
39+
[HttpGet("exportactivities", Name = "ExportActivities")]
40+
[RequiresPermission(Permissions.UserWrite)]
41+
public async Task<IActionResult> GetActvitityCodesByFilterAsync(
42+
string? maintenanceTypes, string? locationCodes, bool? isActive, string? searchText, string fileName)
43+
{
44+
fileName = fileName.IsEmpty() ? "export_activities.csv" : fileName;
45+
46+
var exportedActivities = await _activityCodeSvc.GetActivityCodesByFilterAsync(maintenanceTypes.ToStringArray(), locationCodes.ToDecimalArray(), isActive, searchText);
47+
48+
if (exportedActivities == null || exportedActivities.Count() == 0)
49+
{
50+
return NotFound();
51+
}
52+
53+
var csvReport = string.Join(Environment.NewLine, exportedActivities.Select(x => x.ToCsv()));
54+
csvReport = $"{CsvUtils.GetCsvHeader<ActivityCodeSearchExportDto>()}{Environment.NewLine}{csvReport}";
55+
56+
var encoding = new UTF8Encoding();
57+
var bytes = encoding.GetBytes(csvReport);
58+
return File(bytes, "text/csv;charset=UTF-8", fileName);
59+
}
3660

3761
[HttpGet("{id}", Name = "GetActivityCode")]
3862
[RequiresPermission(Permissions.CodeRead)]

api/Hmcr.Api/Controllers/ExportController.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ public async Task<IActionResult> ExportReport(string serviceAreas, string typeNa
8686
var query = BuildQuery(serviceAreaNumbers, fromDate, toDate, outputFormat, dateColName, endpointConfigName, false);
8787

8888
var responseMessage = await _exportApi.ExportReport(query, endpointConfigName);
89-
9089
var bytes = await responseMessage.Content.ReadAsByteArrayAsync();
9190

9291
if (responseMessage.StatusCode == HttpStatusCode.OK)
@@ -280,7 +279,7 @@ private string GetDateColName(string typeName)
280279
case "hmr:hmr_wildlife_report_vw":
281280
return DateColNames.AccidentDate;
282281
case "hmr:hmr_rockfall_report_vw":
283-
return DateColNames.ReportDate;
282+
return DateColNames.RockfallDate;
284283
default:
285284
return null;
286285
}

api/Hmcr.Api/Controllers/UsersController.cs

+23
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
using System;
1212
using System.Collections.Generic;
1313
using System.Threading.Tasks;
14+
using System.Net;
15+
using System.Net.Http;
16+
using System.Linq;
17+
using System.Text;
1418

1519
namespace Hmcr.Api.Controllers
1620
{
@@ -97,6 +101,25 @@ public async Task<ActionResult<PagedDto<UserSearchDto>>> GetUsersAsync(
97101
return Ok(await _userService.GetUsersAsync(serviceAreas.ToDecimalArray(), userTypes.ToStringArray(), searchText, isActive, pageSize, pageNumber, orderBy, direction));
98102
}
99103

104+
[HttpGet("exportuser", Name = "ExportUser")]
105+
[RequiresPermission(Permissions.UserWrite)]
106+
public async Task<IActionResult> GetUsersByFilterAsync(
107+
[FromQuery] string? serviceAreas, [FromQuery] string? userTypes, [FromQuery] string searchText, [FromQuery] bool? isActive, [FromQuery] string fileName)
108+
{
109+
fileName = fileName.IsEmpty()?"export_user.csv": fileName;
110+
var exportedUsers = await _userService.GetUsersByFilterAsync(serviceAreas.ToDecimalArray(), userTypes.ToStringArray(), searchText, isActive);
111+
if (exportedUsers== null || exportedUsers.Count() == 0)
112+
{
113+
return NotFound();
114+
}
115+
var rptCsv = string.Join(Environment.NewLine, exportedUsers.Select(x => x.ToCsv()));
116+
rptCsv = $"{CsvUtils.GetCsvHeader<UserSearchExportDto>()}{Environment.NewLine}{rptCsv}";
117+
118+
var encoding = new UTF8Encoding();
119+
var bytes =encoding.GetBytes(rptCsv);
120+
return File(bytes, "text/csv;charset=UTF-8", fileName);
121+
}
122+
100123
[HttpGet("{id}", Name = "GetUser")]
101124
[RequiresPermission(Permissions.UserRead)]
102125
public async Task<ActionResult<UserDto>> GetUsersAsync(decimal id)

api/Hmcr.Api/appsettings.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"AllowedHosts": "*",
33
"Constants": {
4-
"Version": "1.2.7.0",
4+
"Version": "2.0.1.0",
55
"SwaggerApiUrl": "/swagger/v1/swagger.json"
66
},
77
"Serilog": {
@@ -47,7 +47,7 @@
4747
"InventoryAPI": 120
4848
},
4949
"JWT": {
50-
"Authority": "https://sso-dev.pathfinder.gov.bc.ca/auth/realms/<realmid>",
50+
"Authority": "https://dev.oidc.gov.bc.ca/auth/realms/<realmid>",
5151
"Audience": "<app-id>"
5252
},
5353
"BCeID": {

api/Hmcr.Chris/ExportApi.cs

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.Extensions.Configuration;
2+
using Microsoft.Extensions.Logging;
23
using System.Net.Http;
34
using System.Threading.Tasks;
45

@@ -13,18 +14,24 @@ public class ExportApi : IExportApi
1314
private HttpClient _client;
1415
private IApi _api;
1516
private IConfiguration _config;
17+
private ILogger<IExportApi> _logger;
1618

17-
public ExportApi(HttpClient client, IApi api, IConfiguration config)
19+
public ExportApi(HttpClient client, IApi api, IConfiguration config, ILogger<IExportApi> logger)
1820
{
1921
_client = client;
2022
_api = api;
2123
_config = config;
24+
_logger = logger;
2225
}
2326

2427
public async Task<HttpResponseMessage> ExportReport(string query, string exportEndpointConfig)
2528
{
2629
string path = _config.GetValue<string>($"CHRIS:{exportEndpointConfig}");
30+
31+
//_client.BaseAddress.ToString() + path + "&" + query
32+
_logger.LogInformation($"ExportReport - Calling Export URL { _client.BaseAddress.ToString() + path + "&" + query}");
33+
2734
return await _api.Get(_client, path + "&" + query);
2835
}
2936
}
30-
}
37+
}

0 commit comments

Comments
 (0)