Skip to content

Commit

Permalink
Add ENV variables for external api links
Browse files Browse the repository at this point in the history
  • Loading branch information
wilwong89 committed Jun 3, 2024
1 parent b86f909 commit d36213e
Show file tree
Hide file tree
Showing 13 changed files with 31 additions and 21 deletions.
2 changes: 2 additions & 0 deletions .github/environments/values.dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ config:
FRONTEND_CHES_BCC: [email protected]
FRONTEND_COMS_APIPATH: https://coms-dev.api.gov.bc.ca/api/v1
FRONTEND_COMS_BUCKETID: 1f9e1451-c130-4804-aeb0-b78b5b109c47
FRONTEND_GEOCODER_APIPATH: https://geocoder.api.gov.bc.ca
FRONTEND_OIDC_AUTHORITY: https://dev.loginproxy.gov.bc.ca/auth/realms/standard
FRONTEND_OIDC_CLIENTID: nr-permit-connect-navigator-service-5188
FRONTEND_ORGBOOK_APIPATH: https://orgbook.gov.bc.ca/api/v4
SERVER_APIPATH: /api/v1
SERVER_BODYLIMIT: 30mb
SERVER_CHEFS_APIPATH: https://submit.digital.gov.bc.ca/app/api/v1
Expand Down
2 changes: 2 additions & 0 deletions .github/environments/values.prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ config:
FRONTEND_CHES_BCC: [email protected]
FRONTEND_COMS_APIPATH: https://coms.api.gov.bc.ca/api/v1
FRONTEND_COMS_BUCKETID: 0089d041-5aab-485e-842d-8875475d0ed6
FRONTEND_GEOCODER_APIPATH: https://geocoder.api.gov.bc.ca
FRONTEND_OIDC_AUTHORITY: https://loginproxy.gov.bc.ca/auth/realms/standard
FRONTEND_OIDC_CLIENTID: nr-permit-connect-navigator-service-5188
FRONTEND_ORGBOOK_APIPATH: https://orgbook.gov.bc.ca/api/v4
SERVER_APIPATH: /api/v1
SERVER_BODYLIMIT: 30mb
SERVER_CHEFS_APIPATH: https://submit.digital.gov.bc.ca/app/api/v1
Expand Down
2 changes: 2 additions & 0 deletions .github/environments/values.test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ config:
FRONTEND_CHES_BCC: [email protected]
FRONTEND_COMS_APIPATH: https://coms-test.api.gov.bc.ca/api/v1
FRONTEND_COMS_BUCKETID: a9eabd1d-5f77-4c60-bf6b-83ffa0e21c59
FRONTEND_GEOCODER_APIPATH: https://geocoder.api.gov.bc.ca
FRONTEND_OIDC_AUTHORITY: https://test.loginproxy.gov.bc.ca/auth/realms/standard
FRONTEND_OIDC_CLIENTID: nr-permit-connect-navigator-service-5188
FRONTEND_ORGBOOK_APIPATH: https://orgbook.gov.bc.ca/api/v4
SERVER_APIPATH: /api/v1
SERVER_BODYLIMIT: 30mb
SERVER_CHEFS_APIPATH: https://submit.digital.gov.bc.ca/app/api/v1
Expand Down
4 changes: 3 additions & 1 deletion app/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,9 @@ app.use(
'default-src': [
"'self'", // eslint-disable-line
new URL(config.get('frontend.oidc.authority')).origin,
new URL(config.get('frontend.coms.apiPath')).origin
new URL(config.get('frontend.coms.apiPath')).origin,
new URL(config.get('frontend.geocoder.apiPath')).origin,
new URL(config.get('frontend.orgbook.apiPath')).origin
]
}
}
Expand Down
8 changes: 5 additions & 3 deletions app/config/custom-environment-variables.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@
"apiPath": "FRONTEND_COMS_APIPATH",
"bucketId": "FRONTEND_COMS_BUCKETID"
},
"externalApi": {
"geocoderApi": "FRONTEND_GEOCODER_APIPATH",
"orgBookApi": "FRONTEND_ORGBOOK_APIPATH"
"geocoder": {
"apiPath": "FRONTEND_GEOCODER_APIPATH"
},
"notificationBanner": "FRONTEND_NOTIFICATION_BANNER",
"oidc": {
"authority": "FRONTEND_OIDC_AUTHORITY",
"clientId": "FRONTEND_OIDC_CLIENTID"
},
"orgbook": {
"apiPath": "FRONTEND_ORGBOOK_APIPATH"
}
},
"server": {
Expand Down
2 changes: 1 addition & 1 deletion charts/pcns/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: nr-permitconnect-navigator-service
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.0.6
version: 0.0.7
kubeVersion: ">= 1.13.0"
description: PermitConnect Navigator Service
# A chart can be either an 'application' or a 'library' chart.
Expand Down
4 changes: 2 additions & 2 deletions charts/pcns/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# nr-permitconnect-navigator-service

![Version: 0.0.6](https://img.shields.io/badge/Version-0.0.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.1.0](https://img.shields.io/badge/AppVersion-0.1.0-informational?style=flat-square)
![Version: 0.0.7](https://img.shields.io/badge/Version-0.0.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.1.0](https://img.shields.io/badge/AppVersion-0.1.0-informational?style=flat-square)

PermitConnect Navigator Service

Expand Down Expand Up @@ -35,7 +35,7 @@ Kubernetes: `>= 1.13.0`
| autoscaling.targetCPUUtilizationPercentage | int | `80` | |
| chesSecretOverride.password | string | `nil` | |
| chesSecretOverride.username | string | `nil` | |
| config.configMap | object | `{"FRONTEND_APIPATH":"api/v1","FRONTEND_CHES_BCC":null,"FRONTEND_COMS_APIPATH":null,"FRONTEND_COMS_BUCKETID":null,"FRONTEND_OIDC_AUTHORITY":null,"FRONTEND_OIDC_CLIENTID":null,"SERVER_APIPATH":"/api/v1","SERVER_BODYLIMIT":"30mb","SERVER_CHEFS_APIPATH":null,"SERVER_CHES_APIPATH":null,"SERVER_CHES_TOKENURL":null,"SERVER_DB_HOST":null,"SERVER_DB_POOL_MAX":"10","SERVER_DB_POOL_MIN":"2","SERVER_DB_PORT":"5432","SERVER_LOGLEVEL":"http","SERVER_OIDC_AUTHORITY":null,"SERVER_OIDC_IDENTITYKEY":null,"SERVER_OIDC_PUBLICKEY":null,"SERVER_PORT":"8080"}` | These values will be wholesale added to the configmap as is; refer to the pcns documentation for what each of these values mean and whether you need them defined. Ensure that all values are represented explicitly as strings, as non-string values will not translate over as expected into container environment variables. For configuration keys named `*_ENABLED`, either leave them commented/undefined, or set them to string value "true". |
| config.configMap | object | `{"FRONTEND_APIPATH":"api/v1","FRONTEND_CHES_BCC":null,"FRONTEND_COMS_APIPATH":null,"FRONTEND_COMS_BUCKETID":null,"FRONTEND_GEOCODER_APIPATH":null,"FRONTEND_OIDC_AUTHORITY":null,"FRONTEND_OIDC_CLIENTID":null,"FRONTEND_ORGBOOK_APIPATH":null,"SERVER_APIPATH":"/api/v1","SERVER_BODYLIMIT":"30mb","SERVER_CHEFS_APIPATH":null,"SERVER_CHES_APIPATH":null,"SERVER_CHES_TOKENURL":null,"SERVER_DB_HOST":null,"SERVER_DB_POOL_MAX":"10","SERVER_DB_POOL_MIN":"2","SERVER_DB_PORT":"5432","SERVER_LOGLEVEL":"http","SERVER_OIDC_AUTHORITY":null,"SERVER_OIDC_IDENTITYKEY":null,"SERVER_OIDC_PUBLICKEY":null,"SERVER_PORT":"8080"}` | These values will be wholesale added to the configmap as is; refer to the pcns documentation for what each of these values mean and whether you need them defined. Ensure that all values are represented explicitly as strings, as non-string values will not translate over as expected into container environment variables. For configuration keys named `*_ENABLED`, either leave them commented/undefined, or set them to string value "true". |
| config.enabled | bool | `false` | Set to true if you want to let Helm manage and overwrite your configmaps. |
| config.releaseScoped | bool | `false` | This should be set to true if and only if you require configmaps and secrets to be release scoped. In the event you want all instances in the same namespace to share a similar configuration, this should be set to false |
| dbSecretOverride.password | string | `nil` | |
Expand Down
2 changes: 2 additions & 0 deletions charts/pcns/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,10 @@ config:
FRONTEND_CHES_BCC: ~
FRONTEND_COMS_APIPATH: ~
FRONTEND_COMS_BUCKETID: ~
FRONTEND_GEOCODER_APIPATH: ~
FRONTEND_OIDC_AUTHORITY: ~
FRONTEND_OIDC_CLIENTID: ~
FRONTEND_ORGBOOK_APIPATH: ~

SERVER_APIPATH: /api/v1
SERVER_BODYLIMIT: 30mb
Expand Down
3 changes: 2 additions & 1 deletion frontend/src/components/form/AutoComplete.vue
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ type Props = {
placeholder?: string;
disabled?: boolean;
suggestions: Array<unknown>;
getOptionLabel: Function;
getOptionLabel?: Function;
bold?: boolean;
forceSelection?: boolean;
loading?: boolean;
Expand All @@ -29,6 +29,7 @@ const props = withDefaults(defineProps<Props>(), {
label: '',
placeholder: '',
disabled: false,
getOptionLabel: (e: string) => e,
bold: true,
forceSelection: false,
loading: false,
Expand Down
14 changes: 6 additions & 8 deletions frontend/src/components/intake/ShasIntakeForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ import {
import { BASIC_RESPONSES, INTAKE_FORM_CATEGORIES, PROJECT_LOCATION } from '@/utils/enums';
import type { IInputEvent } from '@/interfaces';
import type { Ref } from 'vue';
import type { DropdownChangeEvent } from 'primevue/dropdown';
import type { AutoCompleteCompleteEvent } from 'primevue/autocomplete';
import type { DropdownChangeEvent } from 'primevue/dropdown';
import type { Ref } from 'vue';
// Types
type GeocoderEntry = {
Expand Down Expand Up @@ -213,18 +213,18 @@ async function onSubmit(data: any) {
}
}
const onRegisteredNameInput = async (e: AutoCompleteCompleteEvent) => {
async function onRegisteredNameInput(e: AutoCompleteCompleteEvent) {
if (e?.query?.length >= 2) {
const results = (await externalApiService.searchOrgBook(e.query))?.data?.results ?? [];
orgBookOptions.value = results
.filter((x: { [key: string]: string }) => x.type === 'name')
.map((x: { [key: string]: string }) => x?.value);
}
};
}
const getRegisteredNameLabel = (e: any) => {
function getRegisteredNameLabel(e: any) {

Check warning on line 225 in frontend/src/components/intake/ShasIntakeForm.vue

View workflow job for this annotation

GitHub Actions / Unit Tests (Frontend) (16.x)

'getRegisteredNameLabel' is defined but never used

Check warning on line 225 in frontend/src/components/intake/ShasIntakeForm.vue

View workflow job for this annotation

GitHub Actions / Unit Tests (Frontend) (18.x)

'getRegisteredNameLabel' is defined but never used

Check warning on line 225 in frontend/src/components/intake/ShasIntakeForm.vue

View workflow job for this annotation

GitHub Actions / Unit Tests (Frontend) (20.x)

'getRegisteredNameLabel' is defined but never used

Check warning on line 225 in frontend/src/components/intake/ShasIntakeForm.vue

View workflow job for this annotation

GitHub Actions / Unit Tests (Frontend) (16.x)

'getRegisteredNameLabel' is defined but never used

Check warning on line 225 in frontend/src/components/intake/ShasIntakeForm.vue

View workflow job for this annotation

GitHub Actions / Unit Tests (Frontend) (18.x)

'getRegisteredNameLabel' is defined but never used

Check warning on line 225 in frontend/src/components/intake/ShasIntakeForm.vue

View workflow job for this annotation

GitHub Actions / Unit Tests (Frontend) (20.x)

'getRegisteredNameLabel' is defined but never used
return e;
};
}
onBeforeMount(async () => {
let response;
Expand Down Expand Up @@ -254,7 +254,6 @@ onBeforeMount(async () => {
</script>

<template>
<div>{{ formRef?.values }}</div>
<div v-if="!assignedActivityId">
<Form
v-if="initialFormValues"
Expand Down Expand Up @@ -409,7 +408,6 @@ onBeforeMount(async () => {
:disabled="!editable"
:editable="true"
:force-selection="true"
:get-option-label="getRegisteredNameLabel"
:placeholder="'Type to search the B.C registered name'"
:suggestions="orgBookOptions"
@on-complete="onRegisteredNameInput"
Expand Down
3 changes: 1 addition & 2 deletions frontend/src/services/externalApiService.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { ADDRESS_CODER_QUERY_PARAMS, ORG_BOOK_QUERY_PARAMS } from '@/utils/constants';
import { geocoderAxios, orgBookAxios } from './interceptors';

import type { AxiosResponse } from 'axios';

import { ADDRESS_CODER_QUERY_PARAMS, ORG_BOOK_QUERY_PARAMS } from '@/utils/constants';

export default {
/**
* @function searchOrgBook
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/services/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ export { default as ConfigService } from './configService';
export { default as comsService } from './comsService';
export { default as documentService } from './documentService';
export { default as enquiryService } from './enquiryService';
export { default as noteService } from './noteService';
export { default as externalApiService } from './externalApiService';
export { default as noteService } from './noteService';
export { default as permitService } from './permitService';
export { default as roadmapService } from './roadmapService';
export { default as submissionService } from './submissionService';
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/services/interceptors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ export function comsAxios(options: AxiosRequestConfig = {}): AxiosInstance {
*/
export function geocoderAxios(options: AxiosRequestConfig = {}): AxiosInstance {
const instance = axios.create({
baseURL: new ConfigService().getConfig().externalApi.geocoderApi,
baseURL: new ConfigService().getConfig().geocoder.apiPath,
timeout: 10000,
paramsSerializer,
...options
Expand All @@ -105,7 +105,7 @@ export function geocoderAxios(options: AxiosRequestConfig = {}): AxiosInstance {
*/
export function orgBookAxios(options: AxiosRequestConfig = {}): AxiosInstance {
const instance = axios.create({
baseURL: new ConfigService().getConfig().externalApi.orgBookApi,
baseURL: new ConfigService().getConfig().orgbook.apiPath,
timeout: 10000,
paramsSerializer,
...options
Expand Down

0 comments on commit d36213e

Please sign in to comment.