@whippsp/auth0-helper 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/Auth0Helper.js +30 -20
  2. package/package.json +1 -1
package/Auth0Helper.js CHANGED
@@ -1,24 +1,34 @@
1
1
  // Auth0Helper.js
2
- module.exports = function (logic) {
3
- // This is the actual function Auth0 will execute
4
- return async (event, api) => {
5
-
6
- // 1. Automatic Skip Logic:
7
- // If a previous action set the flag, we stop here and don't even run the user's logic.
8
- if (event.transaction?.metadata?.skipremainingactions === 'true') {
9
- console.log("Auth0Helper: Skipping this action (flag detected).");
10
- return;
11
- }
2
+ module.exports = function(userModule) {
3
+ let originalHandler = null;
12
4
 
13
- // 2. Method Injection:
14
- // We attach the helper directly to the api object instance for this execution.
15
- api.skipRemaining = function() {
16
- api.transaction.setMetadata('skipremainingactions', 'true');
17
- console.log("Auth0Helper: skipRemaining flag set.");
18
- };
5
+ // We define a getter/setter on the EXISTING exports object
6
+ Object.defineProperty(userModule.exports, 'onExecutePostLogin', {
7
+ get: () => {
8
+ // If the user hasn't defined the function yet, return undefined
9
+ if (typeof originalHandler !== 'function') return originalHandler;
19
10
 
20
- // 3. Execute User Logic:
21
- // We pass the event and the enhanced api back to your function.
22
- return await logic(event, api);
23
- };
11
+ // Return our intercepted version
12
+ return async (event, api) => {
13
+ // 1. Automatic skip check
14
+ if (event.transaction?.metadata?.skipremainingactions === 'true') {
15
+ console.log("Auth0Helper: Skipping Action");
16
+ return;
17
+ }
18
+
19
+ // 2. Inject the method
20
+ api.skipRemaining = () => {
21
+ api.transaction.setMetadata('skipremainingactions', 'true');
22
+ };
23
+
24
+ // 3. Call the actual code
25
+ return await originalHandler(event, api);
26
+ };
27
+ },
28
+ set: (value) => {
29
+ originalHandler = value; // Capture the user's function when they assign it
30
+ },
31
+ configurable: true,
32
+ enumerable: true
33
+ });
24
34
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whippsp/auth0-helper",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "A helper to override Auth0 Actions handlers with skip logic.",
5
5
  "main": "Auth0Helper.js",
6
6
  "publishConfig": {