File tree Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -63,6 +63,23 @@ describe('DatabaseBuilder', () => {
6363 } ,
6464 } as any ) ;
6565 } ) ;
66+
67+ it ( 'should interpolate params until the server does it' , ( ) => {
68+ let handler = database . ref ( '/users/{id}' ) . onWrite ( event => {
69+ expect ( event . resource ) . to . equal ( 'projects/_/instances/subdomain/refs/users/aUserId' ) ;
70+ } ) ;
71+
72+ return handler ( {
73+ data : {
74+ data : null ,
75+ delta : 'hello' ,
76+ } ,
77+ resource : 'projects/_/instances/subdomains/refs/users/{id}' ,
78+ params : {
79+ id : 'aUserId' ,
80+ } ,
81+ } ) ;
82+ } ) ;
6683 } ) ;
6784} ) ;
6885
Original file line number Diff line number Diff line change @@ -105,6 +105,9 @@ export class DeltaSnapshot implements firebase.database.DataSnapshot {
105105 constructor ( private app : firebase . app . App , private adminApp : firebase . app . App , event : Event < any > ) {
106106 if ( event ) {
107107 let resourceRegex = `projects/([^/]+)/instances/([^/]+)/refs(/.+)?` ;
108+ _ . forEach ( event . params , ( val , key ) => {
109+ event . resource = _ . replace ( event . resource , `{${ key } }` , val ) ;
110+ } ) ;
108111 let match = event . resource . match ( new RegExp ( resourceRegex ) ) ;
109112 if ( ! match ) {
110113 throw new Error ( `Unexpected resource string for Firebase Realtime Database event: ${ event . resource } . ` +
You can’t perform that action at this time.
0 commit comments