firebase-functions 6.5.0 → 7.0.0-rc.0
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.
- package/lib/_virtual/rolldown_runtime.js +34 -0
- package/lib/bin/firebase-functions.js +78 -103
- package/lib/common/app.js +35 -55
- package/lib/common/change.js +54 -75
- package/lib/common/config.js +41 -41
- package/lib/common/debug.js +23 -47
- package/lib/common/encoding.js +59 -82
- package/lib/common/onInit.js +26 -28
- package/lib/common/options.js +22 -42
- package/lib/common/params.d.ts +6 -6
- package/lib/common/params.js +0 -23
- package/lib/common/providers/database.js +270 -300
- package/lib/common/providers/firestore.js +66 -92
- package/lib/common/providers/https.d.ts +0 -1
- package/lib/common/providers/https.js +537 -539
- package/lib/common/providers/identity.js +393 -444
- package/lib/common/providers/tasks.js +64 -98
- package/lib/common/timezone.js +544 -542
- package/lib/common/trace.d.ts +0 -1
- package/lib/common/trace.js +63 -55
- package/lib/common/utilities/assertions.d.ts +11 -0
- package/lib/common/utilities/assertions.js +18 -0
- package/lib/common/utilities/encoder.js +20 -37
- package/lib/common/utilities/path-pattern.js +106 -132
- package/lib/common/utilities/path.js +28 -27
- package/lib/common/utilities/utils.js +23 -45
- package/lib/esm/_virtual/rolldown_runtime.mjs +16 -0
- package/lib/esm/bin/firebase-functions.mjs +91 -0
- package/lib/esm/common/app.mjs +39 -0
- package/lib/esm/common/change.mjs +57 -0
- package/lib/esm/common/config.mjs +45 -0
- package/lib/esm/common/debug.mjs +28 -0
- package/lib/esm/common/encoding.mjs +69 -0
- package/lib/esm/common/onInit.mjs +33 -0
- package/lib/esm/common/options.mjs +22 -0
- package/lib/esm/common/params.mjs +1 -0
- package/lib/esm/common/providers/database.mjs +269 -0
- package/lib/esm/common/providers/firestore.mjs +78 -0
- package/lib/esm/common/providers/https.mjs +573 -0
- package/lib/esm/common/providers/identity.mjs +428 -0
- package/lib/esm/common/providers/tasks.mjs +67 -0
- package/lib/esm/common/timezone.mjs +544 -0
- package/lib/esm/common/trace.mjs +73 -0
- package/lib/esm/common/utilities/assertions.mjs +17 -0
- package/lib/esm/common/utilities/encoder.mjs +21 -0
- package/lib/esm/common/utilities/path-pattern.mjs +116 -0
- package/lib/esm/common/utilities/path.mjs +35 -0
- package/lib/esm/common/utilities/utils.mjs +29 -0
- package/lib/esm/function-configuration.mjs +1 -0
- package/lib/esm/logger/common.mjs +23 -0
- package/lib/esm/logger/compat.mjs +25 -0
- package/lib/esm/logger/index.mjs +131 -0
- package/lib/esm/params/index.mjs +160 -0
- package/lib/esm/params/types.mjs +400 -0
- package/lib/esm/runtime/loader.mjs +132 -0
- package/lib/esm/runtime/manifest.mjs +134 -0
- package/lib/esm/types/global.d.mjs +1 -0
- package/lib/esm/v1/cloud-functions.mjs +206 -0
- package/lib/esm/v1/config.mjs +14 -0
- package/lib/esm/v1/function-builder.mjs +252 -0
- package/lib/esm/v1/function-configuration.mjs +72 -0
- package/lib/esm/v1/index.mjs +27 -0
- package/lib/esm/v1/providers/analytics.mjs +212 -0
- package/lib/esm/v1/providers/auth.mjs +156 -0
- package/lib/esm/v1/providers/database.mjs +243 -0
- package/lib/esm/v1/providers/firestore.mjs +131 -0
- package/lib/esm/v1/providers/https.mjs +82 -0
- package/lib/esm/v1/providers/pubsub.mjs +175 -0
- package/lib/esm/v1/providers/remoteConfig.mjs +64 -0
- package/lib/esm/v1/providers/storage.mjs +163 -0
- package/lib/esm/v1/providers/tasks.mjs +63 -0
- package/lib/esm/v1/providers/testLab.mjs +94 -0
- package/lib/esm/v2/core.mjs +4 -0
- package/lib/esm/v2/index.mjs +28 -0
- package/lib/esm/v2/options.mjs +102 -0
- package/lib/esm/v2/providers/alerts/alerts.mjs +85 -0
- package/lib/esm/v2/providers/alerts/appDistribution.mjs +75 -0
- package/lib/esm/v2/providers/alerts/billing.mjs +51 -0
- package/lib/esm/v2/providers/alerts/crashlytics.mjs +122 -0
- package/lib/esm/v2/providers/alerts/index.mjs +22 -0
- package/lib/esm/v2/providers/alerts/performance.mjs +66 -0
- package/lib/esm/v2/providers/database.mjs +197 -0
- package/lib/esm/v2/providers/dataconnect.mjs +130 -0
- package/lib/esm/v2/providers/eventarc.mjs +51 -0
- package/lib/esm/v2/providers/firestore.mjs +294 -0
- package/lib/esm/v2/providers/https.mjs +210 -0
- package/lib/esm/v2/providers/identity.mjs +103 -0
- package/lib/esm/v2/providers/pubsub.mjs +148 -0
- package/lib/esm/v2/providers/remoteConfig.mjs +52 -0
- package/lib/esm/v2/providers/scheduler.mjs +84 -0
- package/lib/esm/v2/providers/storage.mjs +155 -0
- package/lib/esm/v2/providers/tasks.mjs +65 -0
- package/lib/esm/v2/providers/testLab.mjs +53 -0
- package/lib/esm/v2/trace.mjs +20 -0
- package/lib/function-configuration.d.ts +0 -0
- package/lib/function-configuration.js +0 -0
- package/lib/logger/common.js +21 -41
- package/lib/logger/compat.js +18 -33
- package/lib/logger/index.js +119 -130
- package/lib/params/index.d.ts +19 -4
- package/lib/params/index.js +153 -129
- package/lib/params/types.d.ts +17 -0
- package/lib/params/types.js +390 -382
- package/lib/runtime/loader.js +114 -148
- package/lib/runtime/manifest.js +106 -126
- package/lib/types/global.d.js +0 -0
- package/lib/v1/cloud-functions.d.ts +2 -2
- package/lib/v1/cloud-functions.js +193 -241
- package/lib/v1/config.d.ts +4 -7
- package/lib/v1/config.js +13 -75
- package/lib/v1/function-builder.js +239 -368
- package/lib/v1/function-configuration.js +70 -63
- package/lib/v1/index.js +118 -73
- package/lib/v1/providers/analytics.js +189 -210
- package/lib/v1/providers/auth.d.ts +2 -1
- package/lib/v1/providers/auth.js +159 -164
- package/lib/v1/providers/database.js +237 -242
- package/lib/v1/providers/firestore.js +131 -130
- package/lib/v1/providers/https.d.ts +2 -1
- package/lib/v1/providers/https.js +79 -86
- package/lib/v1/providers/pubsub.js +175 -172
- package/lib/v1/providers/remoteConfig.js +64 -68
- package/lib/v1/providers/storage.js +161 -163
- package/lib/v1/providers/tasks.d.ts +1 -1
- package/lib/v1/providers/tasks.js +65 -80
- package/lib/v1/providers/testLab.js +94 -94
- package/lib/v2/core.d.ts +1 -1
- package/lib/v2/core.js +5 -32
- package/lib/v2/index.d.ts +6 -3
- package/lib/v2/index.js +123 -75
- package/lib/v2/options.js +88 -114
- package/lib/v2/providers/alerts/alerts.js +76 -95
- package/lib/v2/providers/alerts/appDistribution.js +73 -78
- package/lib/v2/providers/alerts/billing.js +49 -53
- package/lib/v2/providers/alerts/crashlytics.js +110 -102
- package/lib/v2/providers/alerts/index.js +56 -53
- package/lib/v2/providers/alerts/performance.js +64 -74
- package/lib/v2/providers/database.js +177 -180
- package/lib/v2/providers/dataconnect.d.ts +95 -0
- package/lib/v2/providers/dataconnect.js +137 -0
- package/lib/v2/providers/eventarc.js +55 -77
- package/lib/v2/providers/firestore.js +262 -260
- package/lib/v2/providers/https.d.ts +3 -2
- package/lib/v2/providers/https.js +210 -247
- package/lib/v2/providers/identity.d.ts +2 -1
- package/lib/v2/providers/identity.js +96 -105
- package/lib/v2/providers/pubsub.js +149 -167
- package/lib/v2/providers/remoteConfig.js +54 -63
- package/lib/v2/providers/scheduler.js +84 -96
- package/lib/v2/providers/storage.js +147 -162
- package/lib/v2/providers/tasks.d.ts +1 -1
- package/lib/v2/providers/tasks.js +68 -95
- package/lib/v2/providers/testLab.js +55 -64
- package/lib/v2/trace.js +18 -19
- package/package.json +290 -226
- package/protos/compiledFirestore.mjs +3512 -0
- package/protos/update.sh +28 -7
|
@@ -1,323 +1,325 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.js');
|
|
2
|
+
const require_logger_index = require('../../logger/index.js');
|
|
3
|
+
const require_runtime_manifest = require('../../runtime/manifest.js');
|
|
4
|
+
const require_common_change = require('../../common/change.js');
|
|
5
|
+
const require_common_onInit = require('../../common/onInit.js');
|
|
6
|
+
const require_common_utilities_path = require('../../common/utilities/path.js');
|
|
7
|
+
const require_common_providers_firestore = require('../../common/providers/firestore.js');
|
|
8
|
+
const require_v2_trace = require('../trace.js');
|
|
9
|
+
require('../core.js');
|
|
10
|
+
const require_v2_options = require('../options.js');
|
|
11
|
+
const require_common_utilities_path_pattern = require('../../common/utilities/path-pattern.js');
|
|
12
|
+
|
|
13
|
+
//#region src/v2/providers/firestore.ts
|
|
14
|
+
var firestore_exports = /* @__PURE__ */ require_rolldown_runtime.__export({
|
|
15
|
+
Change: () => require_common_change.Change,
|
|
16
|
+
createBeforeSnapshot: () => createBeforeSnapshot,
|
|
17
|
+
createSnapshot: () => createSnapshot,
|
|
18
|
+
createdEventType: () => createdEventType,
|
|
19
|
+
createdEventWithAuthContextType: () => createdEventWithAuthContextType,
|
|
20
|
+
deletedEventType: () => deletedEventType,
|
|
21
|
+
deletedEventWithAuthContextType: () => deletedEventWithAuthContextType,
|
|
22
|
+
getOpts: () => getOpts,
|
|
23
|
+
makeChangedFirestoreEvent: () => makeChangedFirestoreEvent,
|
|
24
|
+
makeEndpoint: () => makeEndpoint,
|
|
25
|
+
makeFirestoreEvent: () => makeFirestoreEvent,
|
|
26
|
+
makeParams: () => makeParams,
|
|
27
|
+
onChangedOperation: () => onChangedOperation,
|
|
28
|
+
onDocumentCreated: () => onDocumentCreated,
|
|
29
|
+
onDocumentCreatedWithAuthContext: () => onDocumentCreatedWithAuthContext,
|
|
30
|
+
onDocumentDeleted: () => onDocumentDeleted,
|
|
31
|
+
onDocumentDeletedWithAuthContext: () => onDocumentDeletedWithAuthContext,
|
|
32
|
+
onDocumentUpdated: () => onDocumentUpdated,
|
|
33
|
+
onDocumentUpdatedWithAuthContext: () => onDocumentUpdatedWithAuthContext,
|
|
34
|
+
onDocumentWritten: () => onDocumentWritten,
|
|
35
|
+
onDocumentWrittenWithAuthContext: () => onDocumentWrittenWithAuthContext,
|
|
36
|
+
onOperation: () => onOperation,
|
|
37
|
+
updatedEventType: () => updatedEventType,
|
|
38
|
+
updatedEventWithAuthContextType: () => updatedEventWithAuthContextType,
|
|
39
|
+
writtenEventType: () => writtenEventType,
|
|
40
|
+
writtenEventWithAuthContextType: () => writtenEventWithAuthContextType
|
|
41
|
+
});
|
|
35
42
|
/** @internal */
|
|
36
|
-
|
|
43
|
+
const writtenEventType = "google.cloud.firestore.document.v1.written";
|
|
37
44
|
/** @internal */
|
|
38
|
-
|
|
45
|
+
const createdEventType = "google.cloud.firestore.document.v1.created";
|
|
39
46
|
/** @internal */
|
|
40
|
-
|
|
47
|
+
const updatedEventType = "google.cloud.firestore.document.v1.updated";
|
|
41
48
|
/** @internal */
|
|
42
|
-
|
|
49
|
+
const deletedEventType = "google.cloud.firestore.document.v1.deleted";
|
|
43
50
|
/** @internal */
|
|
44
|
-
|
|
51
|
+
const writtenEventWithAuthContextType = "google.cloud.firestore.document.v1.written.withAuthContext";
|
|
45
52
|
/** @internal */
|
|
46
|
-
|
|
53
|
+
const createdEventWithAuthContextType = "google.cloud.firestore.document.v1.created.withAuthContext";
|
|
47
54
|
/** @internal */
|
|
48
|
-
|
|
55
|
+
const updatedEventWithAuthContextType = "google.cloud.firestore.document.v1.updated.withAuthContext";
|
|
49
56
|
/** @internal */
|
|
50
|
-
|
|
57
|
+
const deletedEventWithAuthContextType = "google.cloud.firestore.document.v1.deleted.withAuthContext";
|
|
51
58
|
/**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
59
|
+
* Event handler that triggers when a document is created, updated, or deleted in Firestore.
|
|
60
|
+
*
|
|
61
|
+
* @param documentOrOpts - Options or a string document path.
|
|
62
|
+
* @param handler - Event handler which is run every time a Firestore create, update, or delete occurs.
|
|
63
|
+
*/
|
|
57
64
|
function onDocumentWritten(documentOrOpts, handler) {
|
|
58
|
-
|
|
65
|
+
return onChangedOperation(writtenEventType, documentOrOpts, handler);
|
|
59
66
|
}
|
|
60
|
-
exports.onDocumentWritten = onDocumentWritten;
|
|
61
67
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
* Event handler that triggers when a document is created, updated, or deleted in Firestore.
|
|
69
|
+
* This trigger also provides the authentication context of the principal who triggered the event.
|
|
70
|
+
*
|
|
71
|
+
* @param opts - Options or a string document path.
|
|
72
|
+
* @param handler - Event handler which is run every time a Firestore create, update, or delete occurs.
|
|
73
|
+
*/
|
|
68
74
|
function onDocumentWrittenWithAuthContext(documentOrOpts, handler) {
|
|
69
|
-
|
|
75
|
+
return onChangedOperation(writtenEventWithAuthContextType, documentOrOpts, handler);
|
|
70
76
|
}
|
|
71
|
-
exports.onDocumentWrittenWithAuthContext = onDocumentWrittenWithAuthContext;
|
|
72
77
|
/**
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
+
* Event handler that triggers when a document is created in Firestore.
|
|
79
|
+
*
|
|
80
|
+
* @param documentOrOpts - Options or a string document path.
|
|
81
|
+
* @param handler - Event handler which is run every time a Firestore create occurs.
|
|
82
|
+
*/
|
|
78
83
|
function onDocumentCreated(documentOrOpts, handler) {
|
|
79
|
-
|
|
84
|
+
return onOperation(createdEventType, documentOrOpts, handler);
|
|
80
85
|
}
|
|
81
|
-
exports.onDocumentCreated = onDocumentCreated;
|
|
82
86
|
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
* Event handler that triggers when a document is created in Firestore.
|
|
88
|
+
*
|
|
89
|
+
* @param documentOrOpts - Options or a string document path.
|
|
90
|
+
* @param handler - Event handler which is run every time a Firestore create occurs.
|
|
91
|
+
*/
|
|
88
92
|
function onDocumentCreatedWithAuthContext(documentOrOpts, handler) {
|
|
89
|
-
|
|
93
|
+
return onOperation(createdEventWithAuthContextType, documentOrOpts, handler);
|
|
90
94
|
}
|
|
91
|
-
exports.onDocumentCreatedWithAuthContext = onDocumentCreatedWithAuthContext;
|
|
92
95
|
/**
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
* Event handler that triggers when a document is updated in Firestore.
|
|
97
|
+
*
|
|
98
|
+
* @param documentOrOpts - Options or a string document path.
|
|
99
|
+
* @param handler - Event handler which is run every time a Firestore update occurs.
|
|
100
|
+
*/
|
|
98
101
|
function onDocumentUpdated(documentOrOpts, handler) {
|
|
99
|
-
|
|
102
|
+
return onChangedOperation(updatedEventType, documentOrOpts, handler);
|
|
100
103
|
}
|
|
101
|
-
exports.onDocumentUpdated = onDocumentUpdated;
|
|
102
104
|
/**
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
* Event handler that triggers when a document is updated in Firestore.
|
|
106
|
+
*
|
|
107
|
+
* @param documentOrOpts - Options or a string document path.
|
|
108
|
+
* @param handler - Event handler which is run every time a Firestore update occurs.
|
|
109
|
+
*/
|
|
108
110
|
function onDocumentUpdatedWithAuthContext(documentOrOpts, handler) {
|
|
109
|
-
|
|
111
|
+
return onChangedOperation(updatedEventWithAuthContextType, documentOrOpts, handler);
|
|
110
112
|
}
|
|
111
|
-
exports.onDocumentUpdatedWithAuthContext = onDocumentUpdatedWithAuthContext;
|
|
112
113
|
/**
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
* Event handler that triggers when a document is deleted in Firestore.
|
|
115
|
+
*
|
|
116
|
+
* @param documentOrOpts - Options or a string document path.
|
|
117
|
+
* @param handler - Event handler which is run every time a Firestore delete occurs.
|
|
118
|
+
*/
|
|
118
119
|
function onDocumentDeleted(documentOrOpts, handler) {
|
|
119
|
-
|
|
120
|
+
return onOperation(deletedEventType, documentOrOpts, handler);
|
|
120
121
|
}
|
|
121
|
-
exports.onDocumentDeleted = onDocumentDeleted;
|
|
122
122
|
/**
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
123
|
+
* Event handler that triggers when a document is deleted in Firestore.
|
|
124
|
+
*
|
|
125
|
+
* @param documentOrOpts - Options or a string document path.
|
|
126
|
+
* @param handler - Event handler which is run every time a Firestore delete occurs.
|
|
127
|
+
*/
|
|
128
128
|
function onDocumentDeletedWithAuthContext(documentOrOpts, handler) {
|
|
129
|
-
|
|
129
|
+
return onOperation(deletedEventWithAuthContextType, documentOrOpts, handler);
|
|
130
130
|
}
|
|
131
|
-
exports.onDocumentDeletedWithAuthContext = onDocumentDeletedWithAuthContext;
|
|
132
131
|
/** @internal */
|
|
133
132
|
function getOpts(documentOrOpts) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
database,
|
|
159
|
-
namespace,
|
|
160
|
-
opts,
|
|
161
|
-
};
|
|
133
|
+
let document;
|
|
134
|
+
let database;
|
|
135
|
+
let namespace;
|
|
136
|
+
let opts;
|
|
137
|
+
if (typeof documentOrOpts === "string") {
|
|
138
|
+
document = require_common_utilities_path.normalizePath(documentOrOpts);
|
|
139
|
+
database = "(default)";
|
|
140
|
+
namespace = "(default)";
|
|
141
|
+
opts = {};
|
|
142
|
+
} else {
|
|
143
|
+
document = typeof documentOrOpts.document === "string" ? require_common_utilities_path.normalizePath(documentOrOpts.document) : documentOrOpts.document;
|
|
144
|
+
database = documentOrOpts.database || "(default)";
|
|
145
|
+
namespace = documentOrOpts.namespace || "(default)";
|
|
146
|
+
opts = { ...documentOrOpts };
|
|
147
|
+
delete opts.document;
|
|
148
|
+
delete opts.database;
|
|
149
|
+
delete opts.namespace;
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
document,
|
|
153
|
+
database,
|
|
154
|
+
namespace,
|
|
155
|
+
opts
|
|
156
|
+
};
|
|
162
157
|
}
|
|
163
|
-
exports.getOpts = getOpts;
|
|
164
158
|
/** @hidden */
|
|
165
159
|
function getPath(event) {
|
|
166
|
-
|
|
160
|
+
return `projects/${event.project}/databases/${event.database}/documents/${event.document}`;
|
|
167
161
|
}
|
|
168
162
|
/** @internal */
|
|
169
163
|
function createSnapshot(event) {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
logger.error(`Cannot determine payload type, datacontenttype is ${event.datacontenttype}, failing out.`);
|
|
179
|
-
throw Error("Error: Cannot parse event payload.");
|
|
180
|
-
}
|
|
164
|
+
if (event.datacontenttype?.includes("application/protobuf") || Buffer.isBuffer(event.data)) {
|
|
165
|
+
return require_common_providers_firestore.createSnapshotFromProtobuf(event.data, getPath(event), event.database);
|
|
166
|
+
} else if (event.datacontenttype?.includes("application/json")) {
|
|
167
|
+
return require_common_providers_firestore.createSnapshotFromJson(event.data, event.source, event.data.value?.createTime, event.data.value?.updateTime, event.database);
|
|
168
|
+
} else {
|
|
169
|
+
require_logger_index.error(`Cannot determine payload type, datacontenttype is ${event.datacontenttype}, failing out.`);
|
|
170
|
+
throw Error("Error: Cannot parse event payload.");
|
|
171
|
+
}
|
|
181
172
|
}
|
|
182
|
-
exports.createSnapshot = createSnapshot;
|
|
183
173
|
/** @internal */
|
|
184
174
|
function createBeforeSnapshot(event) {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
logger.error(`Cannot determine payload type, datacontenttype is ${event.datacontenttype}, failing out.`);
|
|
194
|
-
throw Error("Error: Cannot parse event payload.");
|
|
195
|
-
}
|
|
175
|
+
if (event.datacontenttype?.includes("application/protobuf") || Buffer.isBuffer(event.data)) {
|
|
176
|
+
return require_common_providers_firestore.createBeforeSnapshotFromProtobuf(event.data, getPath(event), event.database);
|
|
177
|
+
} else if (event.datacontenttype?.includes("application/json")) {
|
|
178
|
+
return require_common_providers_firestore.createBeforeSnapshotFromJson(event.data, event.source, event.data.oldValue?.createTime, event.data.oldValue?.updateTime, event.database);
|
|
179
|
+
} else {
|
|
180
|
+
require_logger_index.error(`Cannot determine payload type, datacontenttype is ${event.datacontenttype}, failing out.`);
|
|
181
|
+
throw Error("Error: Cannot parse event payload.");
|
|
182
|
+
}
|
|
196
183
|
}
|
|
197
|
-
exports.createBeforeSnapshot = createBeforeSnapshot;
|
|
198
184
|
/** @internal */
|
|
199
185
|
function makeParams(document, documentPattern) {
|
|
200
|
-
|
|
201
|
-
...documentPattern.extractMatches(document),
|
|
202
|
-
};
|
|
186
|
+
return { ...documentPattern.extractMatches(document) };
|
|
203
187
|
}
|
|
204
|
-
exports.makeParams = makeParams;
|
|
205
188
|
/** @internal */
|
|
206
189
|
function makeFirestoreEvent(eventType, event, params) {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
delete eventWithAuth.authid;
|
|
227
|
-
return eventWithAuth;
|
|
228
|
-
}
|
|
229
|
-
return firestoreEvent;
|
|
190
|
+
const data = event.data ? eventType === createdEventType || eventType === createdEventWithAuthContextType ? createSnapshot(event) : createBeforeSnapshot(event) : undefined;
|
|
191
|
+
const firestoreEvent = {
|
|
192
|
+
...event,
|
|
193
|
+
params,
|
|
194
|
+
data
|
|
195
|
+
};
|
|
196
|
+
delete firestoreEvent.datacontenttype;
|
|
197
|
+
delete firestoreEvent.dataschema;
|
|
198
|
+
if ("authtype" in event) {
|
|
199
|
+
const eventWithAuth = {
|
|
200
|
+
...firestoreEvent,
|
|
201
|
+
authType: event.authtype,
|
|
202
|
+
authId: event.authid
|
|
203
|
+
};
|
|
204
|
+
delete eventWithAuth.authtype;
|
|
205
|
+
delete eventWithAuth.authid;
|
|
206
|
+
return eventWithAuth;
|
|
207
|
+
}
|
|
208
|
+
return firestoreEvent;
|
|
230
209
|
}
|
|
231
|
-
exports.makeFirestoreEvent = makeFirestoreEvent;
|
|
232
210
|
/** @internal */
|
|
233
211
|
function makeChangedFirestoreEvent(event, params) {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
}
|
|
254
|
-
return firestoreEvent;
|
|
212
|
+
const data = event.data ? require_common_change.Change.fromObjects(createBeforeSnapshot(event), createSnapshot(event)) : undefined;
|
|
213
|
+
const firestoreEvent = {
|
|
214
|
+
...event,
|
|
215
|
+
params,
|
|
216
|
+
data
|
|
217
|
+
};
|
|
218
|
+
delete firestoreEvent.datacontenttype;
|
|
219
|
+
delete firestoreEvent.dataschema;
|
|
220
|
+
if ("authtype" in event) {
|
|
221
|
+
const eventWithAuth = {
|
|
222
|
+
...firestoreEvent,
|
|
223
|
+
authType: event.authtype,
|
|
224
|
+
authId: event.authid
|
|
225
|
+
};
|
|
226
|
+
delete eventWithAuth.authtype;
|
|
227
|
+
delete eventWithAuth.authid;
|
|
228
|
+
return eventWithAuth;
|
|
229
|
+
}
|
|
230
|
+
return firestoreEvent;
|
|
255
231
|
}
|
|
256
|
-
exports.makeChangedFirestoreEvent = makeChangedFirestoreEvent;
|
|
257
232
|
/** @internal */
|
|
258
233
|
function makeEndpoint(eventType, opts, document, database, namespace) {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
},
|
|
289
|
-
};
|
|
234
|
+
const baseOpts = require_v2_options.optionsToEndpoint(require_v2_options.getGlobalOptions());
|
|
235
|
+
const specificOpts = require_v2_options.optionsToEndpoint(opts);
|
|
236
|
+
const eventFilters = {
|
|
237
|
+
database,
|
|
238
|
+
namespace
|
|
239
|
+
};
|
|
240
|
+
const eventFilterPathPatterns = {};
|
|
241
|
+
const maybePattern = typeof document === "string" ? new require_common_utilities_path_pattern.PathPattern(document).hasWildcards() : true;
|
|
242
|
+
if (maybePattern) {
|
|
243
|
+
eventFilterPathPatterns.document = document;
|
|
244
|
+
} else {
|
|
245
|
+
eventFilters.document = document;
|
|
246
|
+
}
|
|
247
|
+
return {
|
|
248
|
+
...require_runtime_manifest.initV2Endpoint(require_v2_options.getGlobalOptions(), opts),
|
|
249
|
+
platform: "gcfv2",
|
|
250
|
+
...baseOpts,
|
|
251
|
+
...specificOpts,
|
|
252
|
+
labels: {
|
|
253
|
+
...baseOpts?.labels,
|
|
254
|
+
...specificOpts?.labels
|
|
255
|
+
},
|
|
256
|
+
eventTrigger: {
|
|
257
|
+
eventType,
|
|
258
|
+
eventFilters,
|
|
259
|
+
eventFilterPathPatterns,
|
|
260
|
+
retry: opts.retry ?? false
|
|
261
|
+
}
|
|
262
|
+
};
|
|
290
263
|
}
|
|
291
|
-
exports.makeEndpoint = makeEndpoint;
|
|
292
264
|
/** @internal */
|
|
293
265
|
function onOperation(eventType, documentOrOpts, handler) {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
return func;
|
|
266
|
+
const { document, database, namespace, opts } = getOpts(documentOrOpts);
|
|
267
|
+
const func = (raw) => {
|
|
268
|
+
const event = raw;
|
|
269
|
+
const documentPattern = new require_common_utilities_path_pattern.PathPattern(typeof document === "string" ? document : document.value());
|
|
270
|
+
const params = makeParams(event.document, documentPattern);
|
|
271
|
+
const firestoreEvent = makeFirestoreEvent(eventType, event, params);
|
|
272
|
+
return require_v2_trace.wrapTraceContext(require_common_onInit.withInit(handler))(firestoreEvent);
|
|
273
|
+
};
|
|
274
|
+
func.run = handler;
|
|
275
|
+
func.__endpoint = makeEndpoint(eventType, opts, document, database, namespace);
|
|
276
|
+
return func;
|
|
306
277
|
}
|
|
307
|
-
exports.onOperation = onOperation;
|
|
308
278
|
/** @internal */
|
|
309
279
|
function onChangedOperation(eventType, documentOrOpts, handler) {
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
return func;
|
|
280
|
+
const { document, database, namespace, opts } = getOpts(documentOrOpts);
|
|
281
|
+
const func = (raw) => {
|
|
282
|
+
const event = raw;
|
|
283
|
+
const documentPattern = new require_common_utilities_path_pattern.PathPattern(typeof document === "string" ? document : document.value());
|
|
284
|
+
const params = makeParams(event.document, documentPattern);
|
|
285
|
+
const firestoreEvent = makeChangedFirestoreEvent(event, params);
|
|
286
|
+
return require_v2_trace.wrapTraceContext(require_common_onInit.withInit(handler))(firestoreEvent);
|
|
287
|
+
};
|
|
288
|
+
func.run = handler;
|
|
289
|
+
func.__endpoint = makeEndpoint(eventType, opts, document, database, namespace);
|
|
290
|
+
return func;
|
|
322
291
|
}
|
|
292
|
+
|
|
293
|
+
//#endregion
|
|
294
|
+
exports.Change = require_common_change.Change;
|
|
295
|
+
exports.createBeforeSnapshot = createBeforeSnapshot;
|
|
296
|
+
exports.createSnapshot = createSnapshot;
|
|
297
|
+
exports.createdEventType = createdEventType;
|
|
298
|
+
exports.createdEventWithAuthContextType = createdEventWithAuthContextType;
|
|
299
|
+
exports.deletedEventType = deletedEventType;
|
|
300
|
+
exports.deletedEventWithAuthContextType = deletedEventWithAuthContextType;
|
|
301
|
+
Object.defineProperty(exports, 'firestore_exports', {
|
|
302
|
+
enumerable: true,
|
|
303
|
+
get: function () {
|
|
304
|
+
return firestore_exports;
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
exports.getOpts = getOpts;
|
|
308
|
+
exports.makeChangedFirestoreEvent = makeChangedFirestoreEvent;
|
|
309
|
+
exports.makeEndpoint = makeEndpoint;
|
|
310
|
+
exports.makeFirestoreEvent = makeFirestoreEvent;
|
|
311
|
+
exports.makeParams = makeParams;
|
|
323
312
|
exports.onChangedOperation = onChangedOperation;
|
|
313
|
+
exports.onDocumentCreated = onDocumentCreated;
|
|
314
|
+
exports.onDocumentCreatedWithAuthContext = onDocumentCreatedWithAuthContext;
|
|
315
|
+
exports.onDocumentDeleted = onDocumentDeleted;
|
|
316
|
+
exports.onDocumentDeletedWithAuthContext = onDocumentDeletedWithAuthContext;
|
|
317
|
+
exports.onDocumentUpdated = onDocumentUpdated;
|
|
318
|
+
exports.onDocumentUpdatedWithAuthContext = onDocumentUpdatedWithAuthContext;
|
|
319
|
+
exports.onDocumentWritten = onDocumentWritten;
|
|
320
|
+
exports.onDocumentWrittenWithAuthContext = onDocumentWrittenWithAuthContext;
|
|
321
|
+
exports.onOperation = onOperation;
|
|
322
|
+
exports.updatedEventType = updatedEventType;
|
|
323
|
+
exports.updatedEventWithAuthContextType = updatedEventWithAuthContextType;
|
|
324
|
+
exports.writtenEventType = writtenEventType;
|
|
325
|
+
exports.writtenEventWithAuthContextType = writtenEventWithAuthContextType;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as express from "express";
|
|
2
2
|
import { ResetValue } from "../../common/options";
|
|
3
|
-
import { CallableRequest, CallableResponse, FunctionsErrorCode, HttpsError, Request, AuthData } from "../../common/providers/https";
|
|
3
|
+
import { type CallableRequest, type CallableResponse, type FunctionsErrorCode, HttpsError, type Request, type AuthData } from "../../common/providers/https";
|
|
4
4
|
import { ManifestEndpoint } from "../../runtime/manifest";
|
|
5
5
|
import { GlobalOptions, SupportedRegion } from "../options";
|
|
6
6
|
import { Expression } from "../../params";
|
|
7
7
|
import { SecretParam } from "../../params/types";
|
|
8
8
|
import * as options from "../options";
|
|
9
|
-
export { Request, CallableRequest, CallableResponse, FunctionsErrorCode
|
|
9
|
+
export type { Request, CallableRequest, CallableResponse, FunctionsErrorCode };
|
|
10
|
+
export { HttpsError };
|
|
10
11
|
/**
|
|
11
12
|
* Options that can be set on an onRequest HTTPS function.
|
|
12
13
|
*/
|