diff --git a/frontend/src/Editor/EditorFunc.jsx b/frontend/src/Editor/EditorFunc.jsx
index 116e288131..3fa48e67ab 100644
--- a/frontend/src/Editor/EditorFunc.jsx
+++ b/frontend/src/Editor/EditorFunc.jsx
@@ -676,11 +676,12 @@ const EditorComponent = (props) => {
const appVersions = await appEnvironmentService.getVersionsByEnvironment(data?.id);
setAppVersions(appVersions.appVersions);
+ const currentOrgId = data?.organization_id || data?.organizationId;
updateState({
slug: data.slug,
isMaintenanceOn: data?.is_maintenance_on,
- organizationId: data?.organization_id,
+ organizationId: currentOrgId,
isPublic: data?.is_public,
appName: data?.name,
userId: data?.user_id,
diff --git a/frontend/src/Editor/Inspector/EventManager.jsx b/frontend/src/Editor/Inspector/EventManager.jsx
index 55559b6898..8a4ba36e59 100644
--- a/frontend/src/Editor/Inspector/EventManager.jsx
+++ b/frontend/src/Editor/Inspector/EventManager.jsx
@@ -909,7 +909,6 @@ export const EventManager = ({
{events.map((event, index) => {
const actionMeta = ActionTypes.find((action) => action.id === event.event.actionId);
-
// const rowClassName = `card-body p-0 ${focusedEventIndex === index ? ' bg-azure-lt' : ''}`;
return (
diff --git a/frontend/src/HomePage/ExportAppModal.jsx b/frontend/src/HomePage/ExportAppModal.jsx
index fa2b74e0fc..a52fdd5eae 100644
--- a/frontend/src/HomePage/ExportAppModal.jsx
+++ b/frontend/src/HomePage/ExportAppModal.jsx
@@ -54,7 +54,7 @@ export default function ExportAppModal({ title, show, closeModal, customClassNam
const requestBody = {
...appOpts,
...(exportTjDb && { tooljet_database: tables }),
- organization_id: app.organization_id,
+ organization_id: app.organization_id ?? app.organizationId,
};
appService
diff --git a/server/src/services/app_import_export.service.ts b/server/src/services/app_import_export.service.ts
index 9a84c2f1e3..db6bb52701 100644
--- a/server/src/services/app_import_export.service.ts
+++ b/server/src/services/app_import_export.service.ts
@@ -464,6 +464,18 @@ export class AppImportExportService {
}
}
+ const appVersionIds = Object.values(appResourceMappings.appVersionMapping);
+
+ for (const appVersionId of appVersionIds) {
+ await this.updateEventActionsForNewVersionWithNewMappingIds(
+ manager,
+ appVersionId,
+ appResourceMappings.dataQueryMapping,
+ appResourceMappings.componentsMapping,
+ appResourceMappings.pagesMapping
+ );
+ }
+
await this.setEditingVersionAsLatestVersion(manager, appResourceMappings.appVersionMapping, importingAppVersions);
return appResourceMappings;
@@ -657,14 +669,14 @@ export class AppImportExportService {
if (componentEvents.length > 0) {
componentEvents.forEach(async (componentEvent) => {
- const newEvent = {
- name: componentEvent.name,
- sourceId: savedComponent.id,
- target: componentEvent.target,
- event: componentEvent.event,
- index: componentEvent.index,
- appVersionId: appResourceMappings.appVersionMapping[importingAppVersion.id],
- };
+ const newEvent = new EventHandler();
+ newEvent.name = componentEvent.name;
+ newEvent.sourceId = savedComponent.id;
+ newEvent.target = componentEvent.target;
+ newEvent.event = componentEvent.event;
+ newEvent.index = componentEvent.index;
+ newEvent.appVersionId = appResourceMappings.appVersionMapping[importingAppVersion.id];
+
await manager.save(EventHandler, newEvent);
});
}
@@ -703,18 +715,11 @@ export class AppImportExportService {
if (importingQueryEvents.length > 0) {
importingQueryEvents.forEach(async (dataQueryEvent) => {
- const updatedEventDefinition = this.updateEventActionsForNewVersionWithNewMappingIds(
- dataQueryEvent,
- appResourceMappings.dataQueryMapping,
- appResourceMappings.componentsMapping,
- appResourceMappings.pagesMapping
- );
-
const newEvent = {
name: dataQueryEvent.name,
sourceId: mappedNewDataQuery.id,
target: dataQueryEvent.target,
- event: updatedEventDefinition,
+ event: dataQueryEvent.event,
index: dataQueryEvent.index,
appVersionId: appResourceMappings.appVersionMapping[importingAppVersion.id],
};
@@ -726,18 +731,11 @@ export class AppImportExportService {
delete mappedNewDataQuery?.options?.events;
queryEvents.forEach(async (event, index) => {
- const updatedEventDefinition = this.updateEventActionsForNewVersionWithNewMappingIds(
- { event: event },
- appResourceMappings.dataQueryMapping,
- appResourceMappings.componentsMapping,
- appResourceMappings.pagesMapping
- );
-
const newEvent = {
name: event.eventId,
sourceId: mappedNewDataQuery.id,
target: Target.dataQuery,
- event: updatedEventDefinition,
+ event: event.event,
index: queryEvents.index || index,
appVersionId: mappedNewDataQuery.appVersionId,
};
@@ -1402,29 +1400,36 @@ export class AppImportExportService {
return { ...queryOptions, table_id: tooljetDatabaseMapping[queryOptions.table_id]?.id };
}
- updateEventActionsForNewVersionWithNewMappingIds(
- queryEvent: EventHandler | { event: any },
+ async updateEventActionsForNewVersionWithNewMappingIds(
+ manager: EntityManager,
+ versionId: string,
oldDataQueryToNewMapping: Record,
oldComponentToNewComponentMapping: Record,
oldPageToNewPageMapping: Record
) {
- const event = JSON.parse(JSON.stringify(queryEvent));
+ const allEvents = await manager.find(EventHandler, {
+ where: { appVersionId: versionId },
+ });
- const eventDefinition = event.event;
+ for (const event of allEvents) {
+ const eventDefinition = event.event;
- if (eventDefinition?.actionId === 'run-query') {
- eventDefinition.queryId = oldDataQueryToNewMapping[eventDefinition.queryId];
+ if (eventDefinition?.actionId === 'run-query') {
+ eventDefinition.queryId = oldDataQueryToNewMapping[eventDefinition.queryId];
+ }
+
+ if (eventDefinition?.actionId === 'control-component') {
+ eventDefinition.componentId = oldComponentToNewComponentMapping[eventDefinition.componentId];
+ }
+
+ if (eventDefinition?.actionId === 'switch-page') {
+ eventDefinition.pageId = oldPageToNewPageMapping[eventDefinition.pageId];
+ }
+
+ event.event = eventDefinition;
+
+ await manager.save(event);
}
-
- if (eventDefinition?.actionId === 'control-component') {
- eventDefinition.componentId = oldComponentToNewComponentMapping[eventDefinition.componentId];
- }
-
- if (eventDefinition?.actionId === 'switch-page') {
- eventDefinition.pageId = oldPageToNewPageMapping[eventDefinition.pageId];
- }
-
- return eventDefinition;
}
}