1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | Object.defineProperty(exports, "__esModule", { value: true });
|
24 | exports.getOpts = exports.beforeOperation = exports.beforeSmsSent = exports.beforeEmailSent = exports.beforeUserSignedIn = exports.beforeUserCreated = exports.HttpsError = void 0;
|
25 | const identity_1 = require("../../common/providers/identity");
|
26 | Object.defineProperty(exports, "HttpsError", { enumerable: true, get: function () { return identity_1.HttpsError; } });
|
27 | const trace_1 = require("../trace");
|
28 | const manifest_1 = require("../../runtime/manifest");
|
29 | const options = require("../options");
|
30 | const onInit_1 = require("../../common/onInit");
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 | function beforeUserCreated(optsOrHandler, handler) {
|
37 | return beforeOperation("beforeCreate", optsOrHandler, handler);
|
38 | }
|
39 | exports.beforeUserCreated = beforeUserCreated;
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 | function beforeUserSignedIn(optsOrHandler, handler) {
|
46 | return beforeOperation("beforeSignIn", optsOrHandler, handler);
|
47 | }
|
48 | exports.beforeUserSignedIn = beforeUserSignedIn;
|
49 |
|
50 |
|
51 |
|
52 |
|
53 |
|
54 | function beforeEmailSent(optsOrHandler, handler) {
|
55 | return beforeOperation("beforeSendEmail", optsOrHandler, handler);
|
56 | }
|
57 | exports.beforeEmailSent = beforeEmailSent;
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 | function beforeSmsSent(optsOrHandler, handler) {
|
64 | return beforeOperation("beforeSendSms", optsOrHandler, handler);
|
65 | }
|
66 | exports.beforeSmsSent = beforeSmsSent;
|
67 |
|
68 | function beforeOperation(eventType, optsOrHandler, handler) {
|
69 | if (!handler || typeof optsOrHandler === "function") {
|
70 | handler = optsOrHandler;
|
71 | optsOrHandler = {};
|
72 | }
|
73 | const { opts, ...blockingOptions } = getOpts(optsOrHandler);
|
74 |
|
75 |
|
76 | const annotatedHandler = Object.assign(handler, { platform: "gcfv2" });
|
77 | const func = (0, trace_1.wrapTraceContext)((0, onInit_1.withInit)((0, identity_1.wrapHandler)(eventType, annotatedHandler)));
|
78 | const legacyEventType = `providers/cloud.auth/eventTypes/user.${eventType}`;
|
79 |
|
80 | const baseOptsEndpoint = options.optionsToEndpoint(options.getGlobalOptions());
|
81 | const specificOptsEndpoint = options.optionsToEndpoint(opts);
|
82 | func.__endpoint = {
|
83 | ...(0, manifest_1.initV2Endpoint)(options.getGlobalOptions(), opts),
|
84 | platform: "gcfv2",
|
85 | ...baseOptsEndpoint,
|
86 | ...specificOptsEndpoint,
|
87 | labels: {
|
88 | ...baseOptsEndpoint === null || baseOptsEndpoint === void 0 ? void 0 : baseOptsEndpoint.labels,
|
89 | ...specificOptsEndpoint === null || specificOptsEndpoint === void 0 ? void 0 : specificOptsEndpoint.labels,
|
90 | },
|
91 | blockingTrigger: {
|
92 | eventType: legacyEventType,
|
93 | options: {
|
94 | ...((eventType === "beforeCreate" || eventType === "beforeSignIn") && blockingOptions),
|
95 | },
|
96 | },
|
97 | };
|
98 | func.__requiredAPIs = [
|
99 | {
|
100 | api: "identitytoolkit.googleapis.com",
|
101 | reason: "Needed for auth blocking functions",
|
102 | },
|
103 | ];
|
104 | func.run = handler;
|
105 | return func;
|
106 | }
|
107 | exports.beforeOperation = beforeOperation;
|
108 |
|
109 | function getOpts(blockingOptions) {
|
110 | const accessToken = blockingOptions.accessToken || false;
|
111 | const idToken = blockingOptions.idToken || false;
|
112 | const refreshToken = blockingOptions.refreshToken || false;
|
113 | const opts = { ...blockingOptions };
|
114 | delete opts.accessToken;
|
115 | delete opts.idToken;
|
116 | delete opts.refreshToken;
|
117 | return {
|
118 | opts,
|
119 | accessToken,
|
120 | idToken,
|
121 | refreshToken,
|
122 | };
|
123 | }
|
124 | exports.getOpts = getOpts;
|