Skip to content
This repository was archived by the owner on Apr 4, 2023. It is now read-only.

Commit bb76149

Browse files
Adding login
1 parent 21e4005 commit bb76149

File tree

3 files changed

+86
-32
lines changed

3 files changed

+86
-32
lines changed

firebase.android.js

Lines changed: 68 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,32 @@ firebase.init = function (arg) {
9292
instance = new Firebase(arg.url);
9393
resolve();
9494
} catch (ex) {
95-
console.log("Error in firebase.store: " + ex);
95+
console.log("Error in firebase.init: " + ex);
96+
reject(ex);
97+
}
98+
});
99+
};
100+
101+
// TODO
102+
firebase.login = function (arg) {
103+
return new Promise(function (resolve, reject) {
104+
try {
105+
106+
var authorizer = new com.firebase.client.Firebase.AuthResultHandler({
107+
onAuthenticated: function (authData) {
108+
resolve(authData);
109+
},
110+
onAuthenticationError: function (firebaseError) {
111+
reject({
112+
error: firebaseError,
113+
errorMessage: firebaseError.message
114+
});
115+
}
116+
});
117+
118+
instance.authAnonymously(authorizer);
119+
} catch (ex) {
120+
console.log("Error in firebase.login: " + ex);
96121
reject(ex);
97122
}
98123
});
@@ -101,22 +126,22 @@ firebase.init = function (arg) {
101126
firebase.addChildEventListener = function (updateCallback, path) {
102127
return new Promise(function (resolve, reject) {
103128
try {
104-
instance.child(path).addChildEventListener(new com.firebase.client.ChildEventListener({
105-
onChildAdded: function (snapshot, previousChildKey) {
106-
updateCallback(firebase.getCallbackData('ChildAdded', snapshot));
107-
},
108-
onChildRemoved: function (snapshot) {
109-
updateCallback(firebase.getCallbackData('ChildRemoved', snapshot));
110-
},
111-
onChildChanged: function (snapshot, previousChildKey) {
112-
updateCallback(firebase.getCallbackData('ChildChanged', snapshot));
113-
},
114-
onChildMoved: function (snapshot, previousChildKey) {
115-
updateCallback(firebase.getCallbackData('ChildMoved', snapshot));
116-
}
117-
})
118-
);
119-
resolve();
129+
var listener = new com.firebase.client.ChildEventListener({
130+
onChildAdded: function (snapshot, previousChildKey) {
131+
updateCallback(firebase.getCallbackData('ChildAdded', snapshot));
132+
},
133+
onChildRemoved: function (snapshot) {
134+
updateCallback(firebase.getCallbackData('ChildRemoved', snapshot));
135+
},
136+
onChildChanged: function (snapshot, previousChildKey) {
137+
updateCallback(firebase.getCallbackData('ChildChanged', snapshot));
138+
},
139+
onChildMoved: function (snapshot, previousChildKey) {
140+
updateCallback(firebase.getCallbackData('ChildMoved', snapshot));
141+
}
142+
});
143+
instance.child(path).addChildEventListener(listener);
144+
resolve(listener);
120145
} catch (ex) {
121146
console.log("Error in firebase.addChildEventListener: " + ex);
122147
reject(ex);
@@ -127,22 +152,34 @@ firebase.addChildEventListener = function (updateCallback, path) {
127152
firebase.addValueEventListener = function (updateCallback, path) {
128153
return new Promise(function (resolve, reject) {
129154
try {
130-
var ValueEventListener = com.firebase.client.ValueEventListener;
131-
instance.child(path).addValueEventListener(new ValueEventListener({
132-
onDataChange: function (snapshot) {
133-
updateCallback(firebase.getCallbackData('ValueChanged', snapshot));
134-
},
135-
onCancelled: function (firebaseError) {
136-
updateCallback({
137-
error: firebaseError,
138-
errorMessage: firebaseError.message
139-
});
140-
}
141-
})
142-
);
155+
var listener = new com.firebase.client.ValueEventListener({
156+
onDataChange: function (snapshot) {
157+
updateCallback(firebase.getCallbackData('ValueChanged', snapshot));
158+
},
159+
onCancelled: function (firebaseError) {
160+
updateCallback({
161+
error: firebaseError,
162+
errorMessage: firebaseError.message
163+
});
164+
}
165+
});
166+
instance.child(path).addValueEventListener(listener);
167+
resolve(listener);
168+
} catch (ex) {
169+
console.log("Error in firebase.addValueEventListener: " + ex);
170+
reject(ex);
171+
}
172+
});
173+
};
174+
175+
firebase.removeEventListener = function (listener, path) {
176+
return new Promise(function (resolve, reject) {
177+
try {
178+
console.log("Removing at path " + path + ": " + listener);
179+
instance.child(path).removeEventListener(listener);
143180
resolve();
144181
} catch (ex) {
145-
console.log("Error in firebase.store: " + ex);
182+
console.log("Error in firebase.removeEventListener: " + ex);
146183
reject(ex);
147184
}
148185
});

firebase.ios.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,23 @@ firebase.init = function (arg) {
8888
});
8989
};
9090

91+
firebase.login = function (arg) {
92+
return new Promise(function (resolve, reject) {
93+
try {
94+
instance.authAnonymouslyWithCompletionBlock(function(error, result) {
95+
if (error) {
96+
reject(error);
97+
} else {
98+
resolve(result);
99+
}
100+
});
101+
} catch (ex) {
102+
console.log("Error in firebase.login: " + ex);
103+
reject(ex);
104+
}
105+
});
106+
};
107+
91108
firebase.addValueEventListener = function (updateCallback, path) {
92109
return new Promise(function (resolve, reject) {
93110
try {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nativescript-plugin-firebase",
3-
"version": "1.0.0",
3+
"version": "1.1.0-dev",
44
"description" : "Fire. Base. Firebase!",
55
"main" : "firebase.js",
66
"nativescript": {

0 commit comments

Comments
 (0)