Skip to content

Commit 4dacb31

Browse files
committed
Add analytics config to API and fix sortBy array handling
- Add ANALYTICS_API_URL and ANALYTICS_DEBUG to /api/config endpoint - Add ADMIN_PATH, SURVEY_URL, SHOW_SURVEY_BANNER to config - Fix boolean parsing for debugMode and KEYCLOAK_ENABLED - Fix sortBy parameter handling to support both single values and arrays
1 parent 5e4424c commit 4dacb31

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

api/controllers/config.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,23 @@ var Actions = require('../helpers/actions');
44
exports.publicGetConfig = async function (args, res) {
55
// Build from ENV Vars
66
let configObj = {
7-
debugMode: process.env.DEBUG_MODE,
7+
debugMode: process.env.DEBUG_MODE === 'true',
88
ENVIRONMENT: process.env.ENVIRONMENT,
99
BANNER_COLOUR: process.env.BANNER_COLOUR,
1010
API_LOCATION: process.env.API_LOCATION,
1111
API_PATH: process.env.API_PATH,
12-
API_PUBLIC_PATH:process.env.API_PUBLIC_PATH,
12+
API_PUBLIC_PATH: process.env.API_PUBLIC_PATH,
13+
ADMIN_PATH: process.env.ADMIN_PATH || '/admin/',
1314
KEYCLOAK_CLIENT_ID: process.env.KEYCLOAK_CLIENT_ID,
1415
KEYCLOAK_URL: process.env.KEYCLOAK_URL,
1516
KEYCLOAK_REALM: process.env.KEYCLOAK_REALM,
16-
KEYCLOAK_ENABLED: process.env.KEYCLOAK_ENABLED
17+
KEYCLOAK_ENABLED: process.env.KEYCLOAK_ENABLED === 'true',
18+
// Analytics configuration
19+
ANALYTICS_API_URL: process.env.ANALYTICS_API_URL || null,
20+
ANALYTICS_DEBUG: process.env.ANALYTICS_DEBUG === 'true' || process.env.ENVIRONMENT !== 'prod',
21+
// Survey configuration
22+
SURVEY_URL: process.env.SURVEY_URL || null,
23+
SHOW_SURVEY_BANNER: process.env.SHOW_SURVEY_BANNER === 'true'
1724
};
1825

1926
defaultLog.info('Current configuration:', configObj);

api/controllers/search.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,9 @@ const executeQuery = async function (args, res) {
134134
const pageNum = args.swagger.params.pageNum.value || 0;
135135
const pageSize = args.swagger.params.pageSize.value || 25;
136136
const projectLegislation = args.swagger.params.projectLegislation.value || '';
137-
const sortBy = args.swagger.params.sortBy.value ? args.swagger.params.sortBy.value : keywords ? ['-score'] : [];
137+
// Normalize sortBy to always be an array; swagger may pass a single string when only one sort field is provided.
138+
const sortByRaw = args.swagger.params.sortBy.value ? args.swagger.params.sortBy.value : keywords ? ['-score'] : [];
139+
const sortBy = Array.isArray(sortByRaw) ? sortByRaw : [sortByRaw];
138140
const caseSensitive = args.swagger.params.caseSensitive ? args.swagger.params.caseSensitive.value : false;
139141
const and = args.swagger.params.and ? args.swagger.params.and.value : '';
140142
const or = args.swagger.params.or ? args.swagger.params.or.value : '';

0 commit comments

Comments
 (0)