(data: unknown, opts?: EventOptions)
| 252 | } |
| 253 | |
| 254 | private triggerEvent(data: unknown, opts?: EventOptions) { |
| 255 | opts = opts || {}; |
| 256 | let operationType; |
| 257 | let dataPayload; |
| 258 | |
| 259 | if (this.trigger.httpsTrigger) { |
| 260 | this.controller.call(this.trigger, data || {}, opts); |
| 261 | } else if (this.trigger.eventTrigger) { |
| 262 | if (this.isDatabaseFn(this.trigger.eventTrigger)) { |
| 263 | operationType = utils.last(this.trigger.eventTrigger.eventType.split(".")); |
| 264 | switch (operationType) { |
| 265 | case "create": |
| 266 | case "created": |
| 267 | dataPayload = { |
| 268 | data: null, |
| 269 | delta: data, |
| 270 | }; |
| 271 | break; |
| 272 | case "delete": |
| 273 | case "deleted": |
| 274 | dataPayload = { |
| 275 | data: data, |
| 276 | delta: null, |
| 277 | }; |
| 278 | break; |
| 279 | default: |
| 280 | // 'update', 'updated', 'write', or 'written' |
| 281 | dataPayload = { |
| 282 | data: (data as any).before, |
| 283 | delta: (data as any).after, |
| 284 | }; |
| 285 | } |
| 286 | const resource = |
| 287 | this.trigger.eventTrigger.resource ?? |
| 288 | this.trigger.eventTrigger.eventFilterPathPatterns?.ref; |
| 289 | opts.resource = this.substituteParams(resource!, opts.params); |
| 290 | opts.auth = this.constructAuth(opts.auth, opts.authType); |
| 291 | this.controller.call(this.trigger, dataPayload, opts); |
| 292 | } else if (this.isFirestoreFunc(this.trigger.eventTrigger)) { |
| 293 | operationType = utils.last(this.trigger.eventTrigger.eventType.split(".")); |
| 294 | switch (operationType) { |
| 295 | case "create": |
| 296 | case "created": |
| 297 | dataPayload = { |
| 298 | value: this.makeFirestoreValue(data), |
| 299 | oldValue: {}, |
| 300 | }; |
| 301 | break; |
| 302 | case "delete": |
| 303 | case "deleted": |
| 304 | dataPayload = { |
| 305 | value: {}, |
| 306 | oldValue: this.makeFirestoreValue(data), |
| 307 | }; |
| 308 | break; |
| 309 | default: |
| 310 | // 'update', 'updated', 'write' or 'written' |
| 311 | dataPayload = { |
no test coverage detected