Skip to content

Commit f45e45f

Browse files
authored
Migrate endpoint annotation eventTrigger.eventFilters to list of filters (#1052)
Previously, `eventFilter` attribute was an object: ``` eventTrigger: { eventType: "an.event", eventFilter: { resource: "my-storage-bucket", appId: "12345", } } ``` We now prefer eventFilter as a list: ``` eventTrigger: { eventType: "an.event", eventFilter: [ { attribute: "resource", value: "my-storage-bucket", }. { attribute: "appId", value: "12345", }. ] } ``` Most of the change in this PR is in tests. Few other minor changes I've squeezed in here: 1. Added a changelog entry for #1037 2. Deleted obsolete src/common/manifest.ts file 3. Small refactoring of alerts/crashlytics spec to make this migration easier.
1 parent c09761a commit f45e45f

23 files changed

+475
-594
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- Add support for more regions and memory for v2 functions (#1037).

spec/runtime/loader.spec.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,12 @@ describe('extractStack', () => {
122122
platform: 'gcfv1',
123123
eventTrigger: {
124124
eventType: 'google.pubsub.topic.publish',
125-
eventFilters: { resource: 'projects/my-project/topics/my-topic' },
125+
eventFilters: [
126+
{
127+
attribute: 'resource',
128+
value: 'projects/my-project/topics/my-topic',
129+
},
130+
],
126131
retry: false,
127132
},
128133
labels: {},

spec/v1/cloud-functions.spec.ts

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,12 @@ describe('makeCloudFunction', () => {
6262
platform: 'gcfv1',
6363
eventTrigger: {
6464
eventType: 'mock.provider.mock.event',
65-
eventFilters: {
66-
resource: 'resource',
67-
},
65+
eventFilters: [
66+
{
67+
attribute: 'resource',
68+
value: 'resource',
69+
},
70+
],
6871
retry: false,
6972
},
7073
labels: {},
@@ -86,9 +89,12 @@ describe('makeCloudFunction', () => {
8689
platform: 'gcfv1',
8790
eventTrigger: {
8891
eventType: 'providers/provider/eventTypes/event',
89-
eventFilters: {
90-
resource: 'resource',
91-
},
92+
eventFilters: [
93+
{
94+
attribute: 'resource',
95+
value: 'resource',
96+
},
97+
],
9298
retry: false,
9399
},
94100
labels: {},
@@ -119,9 +125,12 @@ describe('makeCloudFunction', () => {
119125
serviceAccountEmail: '[email protected]',
120126
eventTrigger: {
121127
eventType: 'mock.provider.mock.event',
122-
eventFilters: {
123-
resource: 'resource',
124-
},
128+
eventFilters: [
129+
{
130+
attribute: 'resource',
131+
value: 'resource',
132+
},
133+
],
125134
retry: false,
126135
},
127136
secretEnvironmentVariables: [{ secret: 'MY_SECRET', key: 'MY_SECRET' }],
@@ -143,9 +152,12 @@ describe('makeCloudFunction', () => {
143152
platform: 'gcfv1',
144153
eventTrigger: {
145154
eventType: 'mock.provider.mock.event',
146-
eventFilters: {
147-
resource: 'resource',
148-
},
155+
eventFilters: [
156+
{
157+
attribute: 'resource',
158+
value: 'resource',
159+
},
160+
],
149161
retry: true,
150162
},
151163
labels: {},

spec/v1/providers/analytics.spec.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,12 @@ describe('Analytics Functions', () => {
7272
expect(cloudFunction.__endpoint).to.deep.equal({
7373
platform: 'gcfv1',
7474
eventTrigger: {
75-
eventFilters: {
76-
resource: 'projects/project1/events/first_open',
77-
},
75+
eventFilters: [
76+
{
77+
attribute: 'resource',
78+
value: 'projects/project1/events/first_open',
79+
},
80+
],
7881
eventType:
7982
'providers/google.firebase.analytics/eventTypes/event.log',
8083
retry: false,

spec/v1/providers/auth.spec.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,12 @@ describe('Auth Functions', () => {
6464
return {
6565
platform: 'gcfv1',
6666
eventTrigger: {
67-
eventFilters: {
68-
resource: `projects/${project}`,
69-
},
67+
eventFilters: [
68+
{
69+
attribute: 'resource',
70+
value: `projects/${project}`,
71+
},
72+
],
7073
eventType: `providers/firebase.auth/eventTypes/${eventType}`,
7174
retry: false,
7275
},

spec/v1/providers/database.spec.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,12 @@ describe('Database Functions', () => {
4545
return {
4646
platform: 'gcfv1',
4747
eventTrigger: {
48-
eventFilters: {
49-
resource,
50-
},
48+
eventFilters: [
49+
{
50+
attribute: 'resource',
51+
value: resource,
52+
},
53+
],
5154
eventType: `providers/google.firebase.database/eventTypes/${eventType}`,
5255
retry: false,
5356
},

spec/v1/providers/firestore.spec.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,12 @@ describe('Firestore Functions', () => {
107107
return {
108108
platform: 'gcfv1',
109109
eventTrigger: {
110-
eventFilters: {
111-
resource,
112-
},
110+
eventFilters: [
111+
{
112+
attribute: 'resource',
113+
value: resource,
114+
},
115+
],
113116
eventType: `providers/cloud.firestore/eventTypes/${eventType}`,
114117
retry: false,
115118
},

spec/v1/providers/pubsub.spec.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,12 @@ describe('Pubsub Functions', () => {
108108
platform: 'gcfv1',
109109
eventTrigger: {
110110
eventType: 'google.pubsub.topic.publish',
111-
eventFilters: {
112-
resource: 'projects/project1/topics/toppy',
113-
},
111+
eventFilters: [
112+
{
113+
attribute: 'resource',
114+
value: 'projects/project1/topics/toppy',
115+
},
116+
],
114117
retry: false,
115118
},
116119
labels: {},

spec/v1/providers/remoteConfig.spec.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,12 @@ describe('RemoteConfig Functions', () => {
6868
platform: 'gcfv1',
6969
eventTrigger: {
7070
eventType: 'google.firebase.remoteconfig.update',
71-
eventFilters: {
72-
resource: 'projects/project1',
73-
},
71+
eventFilters: [
72+
{
73+
attribute: 'resource',
74+
value: 'projects/project1',
75+
},
76+
],
7477
retry: false,
7578
},
7679
labels: {},

spec/v1/providers/storage.spec.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,12 @@ describe('Storage Functions', () => {
4242
return {
4343
platform: 'gcfv1',
4444
eventTrigger: {
45-
eventFilters: {
46-
resource: `projects/_/buckets/${bucket}`,
47-
},
45+
eventFilters: [
46+
{
47+
attribute: 'resource',
48+
value: `projects/_/buckets/${bucket}`,
49+
},
50+
],
4851
eventType: `google.storage.object.${eventType}`,
4952
retry: false,
5053
},

0 commit comments

Comments
 (0)