export const bpmNameFormat = (name: string) => { return name?.split('(')[0]; }; type TypeData = { flagId: number | string; optionId: number | string; }; export const getParams = (data: any, appId?: string | number) => { const { features, flags, policies, roles, cities, roleIdForData, featureCityIds } = data || {}; const featureExpiredMap = {}; const roleExpiredMap = {}; const optionExpiredMap = {}; const policyExpiredMap = {}; const cityExpiredMap = {}; const roleIds = roles?.data.map((item: any) => { roleExpiredMap[item.id] = (item.expiredAt || 0) * 86400; return Number(item.id); }) || []; const featureCity = features?.data.map((item: any) => { featureExpiredMap[item.id] = (item.expiredAt || 0) * 86400; const cityIds = featureCityIds?.find((element: any) => String(element.featureId) === String(item.id)) ?.cityIds || []; return { cityIds: cityIds.map((cityId: any) => Number(cityId)), featureId: Number(item.id), }; }) || []; const policyIds = policies?.data.map((item: any) => { policyExpiredMap[item.id] = (item.expiredAt || 0) * 86400; return Number(item.id); }) || []; const transformedData: TypeData[] = []; const optionIds: number[] = []; for (const key in flags) { if (flags.hasOwnProperty(key)) { const keyMatch = (key as string)?.match(/\d+/)?.[0] || ''; const flag = parseInt(keyMatch, 10); flags[key].data.forEach((item: any) => { transformedData.push({ flagId: flag, optionId: Number(item.id), }); optionExpiredMap[item.id] = (item.expiredAt || 0) * 86400; optionIds.push(Number(item?.id)); }); } } const flagOption = transformedData; const cityIds = cities?.data?.map((item: any) => { cityExpiredMap[item.id] = (item.expiredAt || 0) * 86400; return Number(item.id); }) || []; const expiredMap = { featureExpiredMap, roleExpiredMap, optionExpiredMap, policyExpiredMap, cityExpiredMap, }; const roleData = Array.isArray(optionIds) && optionIds.length > 0 ? roleIdForData : null; return { appId: Number(appId || data?.appId), roleIds, featureCity, policyIds, flagOption, cityIds, roleIdForData: roleData, expiredMap, optionIds, }; }; export const getPreviewParams = (data: any, appId?: string | number) => { const params = getParams(data, appId); return { appId: params.appId, roleIds: params.roleIds, featureCity: params.featureCity, policyIds: params.policyIds, flagOption: params.flagOption, cityIds: params.cityIds, roleIdForData: params.roleIdForData, }; }; export const getSubmitParams = (data: any, appId?: string | number) => { const params = getParams(data, appId); return { appId: params.appId, roleIds: params.roleIds, roleIdForData: params.roleIdForData, featureCityIds: params.featureCity, policyIds: params.policyIds, optionIds: params.optionIds, cityIds: params.cityIds, expiredMap: params.expiredMap, }; };