( triggerType, auth, parseObject, originalParseObject, config, context )
| 918 | // trigger will set the object key to the rest format object to save. |
| 919 | // originalParseObject is optional, we only need that for before/afterSave functions |
| 920 | export function maybeRunTrigger( |
| 921 | triggerType, |
| 922 | auth, |
| 923 | parseObject, |
| 924 | originalParseObject, |
| 925 | config, |
| 926 | context |
| 927 | ) { |
| 928 | if (!parseObject) { |
| 929 | return Promise.resolve({}); |
| 930 | } |
| 931 | return new Promise(function (resolve, reject) { |
| 932 | var trigger = getTrigger(parseObject.className, triggerType, config.applicationId); |
| 933 | if (!trigger) { return resolve(); } |
| 934 | var request = getRequestObject( |
| 935 | triggerType, |
| 936 | auth, |
| 937 | parseObject, |
| 938 | originalParseObject, |
| 939 | config, |
| 940 | context |
| 941 | ); |
| 942 | var { success, error } = getResponseObject( |
| 943 | request, |
| 944 | object => { |
| 945 | logTriggerSuccessBeforeHook( |
| 946 | triggerType, |
| 947 | parseObject.className, |
| 948 | parseObject.toJSON(), |
| 949 | object, |
| 950 | auth, |
| 951 | triggerType.startsWith('after') |
| 952 | ? config.logLevels.triggerAfter |
| 953 | : config.logLevels.triggerBeforeSuccess |
| 954 | ); |
| 955 | if ( |
| 956 | triggerType === Types.beforeSave || |
| 957 | triggerType === Types.afterSave || |
| 958 | triggerType === Types.beforeDelete || |
| 959 | triggerType === Types.afterDelete |
| 960 | ) { |
| 961 | Object.assign(context, request.context); |
| 962 | } |
| 963 | resolve(object); |
| 964 | }, |
| 965 | error => { |
| 966 | logTriggerErrorBeforeHook( |
| 967 | triggerType, |
| 968 | parseObject.className, |
| 969 | parseObject.toJSON(), |
| 970 | auth, |
| 971 | error, |
| 972 | config.logLevels.triggerBeforeError |
| 973 | ); |
| 974 | reject(error); |
| 975 | } |
| 976 | ); |
| 977 |
no test coverage detected