Skip to content

Commit 17d065b

Browse files
committed
Adjusted the html completion logic to work with the new access functions for organization and user data
1 parent 27dd595 commit 17d065b

1 file changed

Lines changed: 20 additions & 26 deletions

File tree

src/management-system-v2/lib/engines/server-actions.ts

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ import Ability from '../ability/abilityHelper';
5757
import { getUserById } from '../data/db/iam/users';
5858
import { getNestedOrgParameter, getNestedUserParameter } from '../data/db/machine-config';
5959
import { deleteInstances, getInstanceById } from '../data/instances';
60+
import { getDataObject, isErrorResponse } from '@/app/api/spaces/[spaceId]/data/helper';
6061

6162
export async function getCorrectTargetEngines(
6263
spaceId: string,
@@ -270,37 +271,30 @@ export async function getGlobalVariablesForHTML(
270271
return await getGlobalVariables(html, async (varPath) => {
271272
let segments = varPath.split('.');
272273

273-
if (segments[0] === '@organization') {
274-
const parameter = await getNestedOrgParameter(spaceId, segments.slice(1).join('.'));
275-
return parameter?.value;
276-
} else {
277-
let { userId } = await getCurrentUser();
278-
if (segments[0] === '@process-initiator' || segments[0] === '@worker') {
279-
if (segments[0] === '@process-initiator') userId = initiatorId;
280-
segments = segments.slice(1);
281-
}
282-
if (segments[0] === 'user-info') {
283-
const info = await getUserById(userId);
284-
if (!info || info.isGuest) return;
274+
let userId: string | undefined;
285275

286-
const userInfo = { ...info, name: `${info.firstName} ${info.lastName}` };
276+
if (segments[0] === '@process-initiator') {
277+
userId = initiatorId;
278+
} else if (segments[0] === '@worker' || !segments[0].startsWith('@')) {
279+
({ userId } = await getCurrentUser());
280+
} else if (segments[0] !== '@organization') {
281+
console.error(`Invalid selector for global data access in user task html. (${segments[0]})`);
282+
return;
283+
}
287284

288-
return userInfo[segments[1] as keyof typeof userInfo];
289-
} else {
290-
const parameter = await getNestedUserParameter(userId, spaceId, segments.join('.'));
285+
if (segments[0].startsWith('@')) segments = segments.slice(1);
291286

292-
if (isUserErrorResponse(parameter)) {
293-
console.error(parameter.error.message);
294-
return;
295-
}
296-
if (!parameter) {
297-
console.error('Could not get user data for a user task');
298-
return;
299-
}
287+
const result = await getDataObject(spaceId, segments.join('.'), userId);
300288

301-
return parameter.value;
302-
}
289+
if (isErrorResponse(result)) {
290+
console.error(
291+
'Ecountered error while trying to get global variable for user task rendering:',
292+
await result.data.text(),
293+
);
294+
return;
303295
}
296+
297+
return result.data.value;
304298
});
305299
}
306300

0 commit comments

Comments
 (0)