Fix pre post logic function not executed (#19462)
- removes pre-install function
- execute **asyncrhonously** post-install function at application
installation
- add optional `shouldRunOnVersionUpgrade` boolean value on post-install
function definition default false
- update PostInstallPayload to
```
export type PostInstallPayload = {
previousVersion?: string;
newVersion: string;
};
```
---------
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import { type ApplicationVariables } from './applicationVariablesType';
|
||||
import { type ServerVariables } from './server-variables.type';
|
||||
import { type SyncableEntityOptions } from './syncableEntityOptionsType';
|
||||
import { type PostInstallLogicFunctionApplicationManifest } from '@/application/postInstallLogicFunctionApplicationType';
|
||||
import { type PreInstallLogicFunctionApplicationManifest } from '@/application/preInstallLogicFunctionApplicationType';
|
||||
|
||||
export type ApplicationManifest = SyncableEntityOptions & {
|
||||
defaultRoleUniversalIdentifier: string;
|
||||
@@ -18,8 +20,8 @@ export type ApplicationManifest = SyncableEntityOptions & {
|
||||
termsUrl?: string;
|
||||
emailSupport?: string;
|
||||
issueReportUrl?: string;
|
||||
preInstallLogicFunctionUniversalIdentifier?: string;
|
||||
postInstallLogicFunctionUniversalIdentifier?: string;
|
||||
postInstallLogicFunction?: PostInstallLogicFunctionApplicationManifest;
|
||||
preInstallLogicFunction?: PreInstallLogicFunctionApplicationManifest;
|
||||
settingsCustomTabFrontComponentUniversalIdentifier?: string;
|
||||
packageJsonChecksum: string | null;
|
||||
yarnLockChecksum: string | null;
|
||||
|
||||
@@ -44,6 +44,8 @@ export type {
|
||||
PageLayoutTabManifest,
|
||||
PageLayoutManifest,
|
||||
} from './pageLayoutManifestType';
|
||||
export type { PostInstallLogicFunctionApplicationManifest } from './postInstallLogicFunctionApplicationType';
|
||||
export type { PreInstallLogicFunctionApplicationManifest } from './preInstallLogicFunctionApplicationType';
|
||||
export type {
|
||||
ObjectPermissionManifest,
|
||||
FieldPermissionManifest,
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
import { type PreInstallLogicFunctionApplicationManifest } from './preInstallLogicFunctionApplicationType';
|
||||
|
||||
export type PostInstallLogicFunctionApplicationManifest =
|
||||
PreInstallLogicFunctionApplicationManifest & {
|
||||
shouldRunSynchronously?: boolean;
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
import type { SyncableEntityOptions } from '@/application/syncableEntityOptionsType';
|
||||
|
||||
export type PreInstallLogicFunctionApplicationManifest =
|
||||
SyncableEntityOptions & {
|
||||
universalIdentifier: string;
|
||||
shouldRunOnVersionUpgrade?: boolean;
|
||||
};
|
||||
Reference in New Issue
Block a user