Skip to content

Commit

Permalink
[backend] create getWidgetsAndUserId and useStandardWidgetApi methods
Browse files Browse the repository at this point in the history
  • Loading branch information
marieflorescontact committed Jan 24, 2024
1 parent 9a4d5d7 commit 7f70e8a
Showing 1 changed file with 18 additions and 19 deletions.
37 changes: 18 additions & 19 deletions opencti-platform/opencti-graphql/src/domain/stixCoreObject.js
Original file line number Diff line number Diff line change
Expand Up @@ -264,19 +264,29 @@ export const stixCoreObjectsMultiTimeSeries = (context, user, args) => {
}));
};

export const publicStixCoreObjectsMultiTimeSeries = async (context, args) => {
const getWidgetsAndUserId = async (context, uriKey,) => {
// Get publicDashboard from cache
const publicDashboards = await getEntitiesListFromCache(context, SYSTEM_USER, ENTITY_TYPE_PUBLIC_DASHBOARD);
const { user_id, private_manifest } = publicDashboards.find((p) => p.uri_key === args.uriKey);
const { user_id, private_manifest } = publicDashboards.find((p) => p.uri_key === uriKey);

// Get widget query configuration
const parsedManifest = JSON.parse(fromBase64(private_manifest) ?? '{}');
const { widgets } = parsedManifest;
return { user_id, widgets };
};

const useStandardWidgetApi = async (context, user_id, standardArgs, standardApi) => {
// Get user from cache
const platformUsersMap = await getEntitiesMapFromCache(context, SYSTEM_USER, ENTITY_TYPE_USER);
const plateformUser = platformUsersMap.get(user_id);
const user = { ...plateformUser, origin: { user_id: plateformUser.id, referer: 'public-dashboard' } }; // check

// Get widget query configuration
const parsedManifest = JSON.parse(fromBase64(private_manifest) ?? '{}');
const { widgets } = parsedManifest;
// Use standard API
return standardApi(context, user, standardArgs);
};

export const publicStixCoreObjectsMultiTimeSeries = async (context, args) => {
const { widgets, user_id } = await getWidgetsAndUserId(context, args.uriKey);
const widgetConfigs = widgets[args.widgetId].dataSelection;
const timeSeriesParameters = [];
widgetConfigs.map((widgetConfig) => timeSeriesParameters.push({
Expand All @@ -292,7 +302,7 @@ export const publicStixCoreObjectsMultiTimeSeries = async (context, args) => {
};

// Use standard API
return stixCoreObjectsMultiTimeSeries(context, user, standardArgs);
return useStandardWidgetApi(context, user_id, standardArgs, stixCoreObjectsMultiTimeSeries);
};

export const stixCoreObjectsNumber = (context, user, args) => {
Expand All @@ -310,18 +320,7 @@ export const stixCoreObjectsNumber = (context, user, args) => {
};

export const publicStixCoreObjectsNumber = async (context, args) => {
// Get publicDashboard from cache
const publicDashboards = await getEntitiesListFromCache(context, SYSTEM_USER, ENTITY_TYPE_PUBLIC_DASHBOARD);
const { user_id, private_manifest } = publicDashboards.find((p) => p.uri_key === args.uriKey);

// Get user from cache
const platformUsersMap = await getEntitiesMapFromCache(context, SYSTEM_USER, ENTITY_TYPE_USER);
const plateformUser = platformUsersMap.get(user_id);
const user = { ...plateformUser, origin: { user_id: plateformUser.id, referer: 'public-dashboard' } };

// Get widget query configuration
const parsedManifest = JSON.parse(fromBase64(private_manifest) ?? '{}');
const { widgets } = parsedManifest;
const { widgets, user_id } = await getWidgetsAndUserId(context, args.uriKey);
const widgetConfig = widgets[args.widgetId].dataSelection[0];
const parameters = {
startDate: args.startDate,
Expand All @@ -335,7 +334,7 @@ export const publicStixCoreObjectsNumber = async (context, args) => {
};

// Use standard API
return stixCoreObjectsNumber(context, user, parameters);
return useStandardWidgetApi(context, user_id, parameters, stixCoreObjectsNumber);
};

export const stixCoreObjectsMultiNumber = (context, user, args) => {
Expand Down

0 comments on commit 7f70e8a

Please sign in to comment.