From cdc69543eb3798d08c2935c5f69a76c2ea4ac1ea Mon Sep 17 00:00:00 2001 From: Dragos Daian Date: Tue, 12 Apr 2022 16:13:57 +0200 Subject: [PATCH] initial draft. --- .gitignore | 2 + .../FirebaseWebGL/Plugins/firebaseauth.jslib | 64 ++++++++++++------- .../Scripts/FirebaseBridge/FirebaseAuth.cs | 28 ++++---- .../Firestore/DocumentSnapshot.cs | 35 ++++++++++ .../Firestore/DocumentSnapshot.cs.meta | 11 ++++ .../Firestore/FirebaseCollection.cs | 35 ++++++++++ .../Firestore/FirebaseCollection.cs.meta | 11 ++++ .../Firestore/FirebaseDocument.cs | 30 +++++++++ .../Firestore/FirebaseDocument.cs.meta | 11 ++++ .../Firestore/FirebaseFirestore.cs | 23 +++++++ .../Firestore/FirebaseFirestore.cs.meta | 11 ++++ .../Firestore/FirebaseUpdateObject.cs | 13 ++++ .../Firestore/FirebaseUpdateObject.cs.meta | 11 ++++ .../Firestore/ListenerRegistration.cs | 16 +++++ .../Firestore/ListenerRegistration.cs.meta | 11 ++++ .../Firestore/QuerySnapshot.cs | 14 ++++ .../Firestore/QuerySnapshot.cs.meta | 11 ++++ 17 files changed, 303 insertions(+), 34 deletions(-) create mode 100644 Assets/FirebaseWebGLInterface/Firestore/DocumentSnapshot.cs create mode 100644 Assets/FirebaseWebGLInterface/Firestore/DocumentSnapshot.cs.meta create mode 100644 Assets/FirebaseWebGLInterface/Firestore/FirebaseCollection.cs create mode 100644 Assets/FirebaseWebGLInterface/Firestore/FirebaseCollection.cs.meta create mode 100644 Assets/FirebaseWebGLInterface/Firestore/FirebaseDocument.cs create mode 100644 Assets/FirebaseWebGLInterface/Firestore/FirebaseDocument.cs.meta create mode 100644 Assets/FirebaseWebGLInterface/Firestore/FirebaseFirestore.cs create mode 100644 Assets/FirebaseWebGLInterface/Firestore/FirebaseFirestore.cs.meta create mode 100644 Assets/FirebaseWebGLInterface/Firestore/FirebaseUpdateObject.cs create mode 100644 Assets/FirebaseWebGLInterface/Firestore/FirebaseUpdateObject.cs.meta create mode 100644 Assets/FirebaseWebGLInterface/Firestore/ListenerRegistration.cs create mode 100644 Assets/FirebaseWebGLInterface/Firestore/ListenerRegistration.cs.meta create mode 100644 Assets/FirebaseWebGLInterface/Firestore/QuerySnapshot.cs create mode 100644 Assets/FirebaseWebGLInterface/Firestore/QuerySnapshot.cs.meta diff --git a/.gitignore b/.gitignore index cf1bcb7..2e5c1c3 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,5 @@ sysinfo.txt # Crashlytics generated file crashlytics-build.properties + +**/.DS_Store \ No newline at end of file diff --git a/Assets/FirebaseWebGL/Plugins/firebaseauth.jslib b/Assets/FirebaseWebGL/Plugins/firebaseauth.jslib index c035d33..74e72ef 100644 --- a/Assets/FirebaseWebGL/Plugins/firebaseauth.jslib +++ b/Assets/FirebaseWebGL/Plugins/firebaseauth.jslib @@ -1,23 +1,25 @@ mergeInto(LibraryManager.library, { - SignInAnonymously: function (objectName, callback, fallback) { + SignInAnonymously: function (objectName, id, callback, fallback) { var parsedObjectName = UTF8ToString(objectName); var parsedCallback = UTF8ToString(callback); var parsedFallback = UTF8ToString(fallback); try { firebase.auth().signInAnonymously().then(function (result) { - unityInstance.Module.SendMessage(parsedObjectName, parsedCallback, "Success: signed up for " + result); + unityInstance.Module.SendMessage(parsedObjectName, parsedCallback, JSON.stringify({id: id, result: "Success: signed up for " + result})); }).catch(function (error) { - unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error))); + var errorStringfy = JSON.stringify(error, Object.getOwnPropertyNames(error)) + unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify({ id: id, result: JSON.parse(errorStringfy) })); }); } catch (error) { - unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error))); + var errorStringfy = JSON.stringify(error, Object.getOwnPropertyNames(error)) + unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify({ id: id, result: JSON.parse(errorStringfy) })); } }, - CreateUserWithEmailAndPassword: function (email, password, objectName, callback, fallback) { + CreateUserWithEmailAndPassword: function (email, password, objectName, id, callback, fallback) { var parsedEmail = UTF8ToString(email); var parsedPassword = UTF8ToString(password); var parsedObjectName = UTF8ToString(objectName); @@ -27,17 +29,21 @@ mergeInto(LibraryManager.library, { try { firebase.auth().createUserWithEmailAndPassword(parsedEmail, parsedPassword).then(function (unused) { - unityInstance.Module.SendMessage(parsedObjectName, parsedCallback, "Success: signed up for " + parsedEmail); + + unityInstance.Module.SendMessage(parsedObjectName, parsedCallback, JSON.stringify({id: id, result: "Success: signed up for " + parsedEmail})); }).catch(function (error) { - unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error))); + + var errorStringfy = JSON.stringify(error, Object.getOwnPropertyNames(error)) + unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify({ id: id, result: JSON.parse(errorStringfy) })); }); } catch (error) { - unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error))); + var errorStringfy = JSON.stringify(error, Object.getOwnPropertyNames(error)) + unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify({ id: id, result: JSON.parse(errorStringfy) })); } }, - SignInWithEmailAndPassword: function (email, password, objectName, callback, fallback) { + SignInWithEmailAndPassword: function (email, password, objectName, id, callback, fallback) { var parsedEmail = UTF8ToString(email); var parsedPassword = UTF8ToString(password); var parsedObjectName = UTF8ToString(objectName); @@ -47,17 +53,21 @@ mergeInto(LibraryManager.library, { try { firebase.auth().signInWithEmailAndPassword(parsedEmail, parsedPassword).then(function (unused) { - unityInstance.Module.SendMessage(parsedObjectName, parsedCallback, "Success: signed in for " + parsedEmail); + unityInstance.Module.SendMessage(parsedObjectName, parsedCallback, JSON.stringify({id: id, result: "Success: signed in for " + parsedEmail})); }).catch(function (error) { - unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error))); + + var errorStringfy = JSON.stringify(error, Object.getOwnPropertyNames(error)) + unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify({ id: id, result: JSON.parse(errorStringfy) })); }); } catch (error) { - unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error))); + + var errorStringfy = JSON.stringify(error, Object.getOwnPropertyNames(error)) + unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify({ id: id, result: JSON.parse(errorStringfy) })); } }, - SignInWithGoogle: function (objectName, callback, fallback) { + SignInWithGoogle: function (objectName, id, callback, fallback) { var parsedObjectName = UTF8ToString(objectName); var parsedCallback = UTF8ToString(callback); var parsedFallback = UTF8ToString(fallback); @@ -65,17 +75,21 @@ mergeInto(LibraryManager.library, { try { var provider = new firebase.auth.GoogleAuthProvider(); firebase.auth().signInWithRedirect(provider).then(function (unused) { - unityInstance.Module.SendMessage(parsedObjectName, parsedCallback, "Success: signed in with Google!"); + unityInstance.Module.SendMessage(parsedObjectName, parsedCallback, JSON.stringify({id: id, result: "Success: signed in with Google!"})); }).catch(function (error) { - unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error))); + + var errorStringfy = JSON.stringify(error, Object.getOwnPropertyNames(error)) + unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify({ id: id, result: JSON.parse(errorStringfy) })); }); } catch (error) { - unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error))); + + var errorStringfy = JSON.stringify(error, Object.getOwnPropertyNames(error)) + unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify({ id: id, result: JSON.parse(errorStringfy) })); } }, - SignInWithFacebook: function (objectName, callback, fallback) { + SignInWithFacebook: function (objectName, id, callback, fallback) { var parsedObjectName = UTF8ToString(objectName); var parsedCallback = UTF8ToString(callback); var parsedFallback = UTF8ToString(fallback); @@ -83,26 +97,30 @@ mergeInto(LibraryManager.library, { try { var provider = new firebase.auth.FacebookAuthProvider(); firebase.auth().signInWithRedirect(provider).then(function (unused) { - unityInstance.Module.SendMessage(parsedObjectName, parsedCallback, "Success: signed in with Facebook!"); + unityInstance.Module.SendMessage(parsedObjectName, parsedCallback, JSON.stringify({id: id, result: "Success: signed in with Facebook!"})); }).catch(function (error) { - unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error))); + + var errorStringfy = JSON.stringify(error, Object.getOwnPropertyNames(error)) + unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify({ id: id, result: JSON.parse(errorStringfy) })); }); } catch (error) { - unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error))); + + var errorStringfy = JSON.stringify(error, Object.getOwnPropertyNames(error)) + unityInstance.Module.SendMessage(parsedObjectName, parsedFallback, JSON.stringify({ id: id, result: JSON.parse(errorStringfy) })); } }, - OnAuthStateChanged: function (objectName, onUserSignedIn, onUserSignedOut) { + OnAuthStateChanged: function (objectName, id, onUserSignedIn, onUserSignedOut) { var parsedObjectName = UTF8ToString(objectName); var parsedOnUserSignedIn = UTF8ToString(onUserSignedIn); var parsedOnUserSignedOut = UTF8ToString(onUserSignedOut); firebase.auth().onAuthStateChanged(function(user) { if (user) { - unityInstance.Module.SendMessage(parsedObjectName, parsedOnUserSignedIn, JSON.stringify(user)); + unityInstance.Module.SendMessage(parsedObjectName, parsedOnUserSignedIn, JSON.stringify({id: id, result: user})); } else { - unityInstance.Module.SendMessage(parsedObjectName, parsedOnUserSignedOut, "User signed out"); + unityInstance.Module.SendMessage(parsedObjectName, parsedOnUserSignedOut, JSON.stringify({id: id, result: "User signed out"})); } }); diff --git a/Assets/FirebaseWebGL/Scripts/FirebaseBridge/FirebaseAuth.cs b/Assets/FirebaseWebGL/Scripts/FirebaseBridge/FirebaseAuth.cs index f22a1d3..348a13e 100644 --- a/Assets/FirebaseWebGL/Scripts/FirebaseBridge/FirebaseAuth.cs +++ b/Assets/FirebaseWebGL/Scripts/FirebaseBridge/FirebaseAuth.cs @@ -8,63 +8,69 @@ public static class FirebaseAuth /// Creates and signs in a user anonymous /// /// Name of the gameobject to call the callback/fallback of + /// Id of event /// Name of the method to call when the operation was successful. Method must have signature: void Method(string output) /// Name of the method to call when the operation was unsuccessful. Method must have signature: void Method(string output). Will return a serialized FirebaseError object [DllImport("__Internal")] - public static extern void SignInAnonymously(string objectName, string callback, string fallback); - + public static extern void SignInAnonymously(string objectName, string id, string callback, string fallback); + /// /// Creates a user with email and password /// /// User email /// User password /// Name of the gameobject to call the callback/fallback of + /// Id of event /// Name of the method to call when the operation was successful. Method must have signature: void Method(string output) /// Name of the method to call when the operation was unsuccessful. Method must have signature: void Method(string output). Will return a serialized FirebaseError object [DllImport("__Internal")] - public static extern void CreateUserWithEmailAndPassword(string email, string password, string objectName, string callback, + public static extern void CreateUserWithEmailAndPassword(string email, string password, string objectName, string id, string callback, string fallback); - + /// /// Signs in a user with email and password /// /// User email /// User password /// Name of the gameobject to call the callback/fallback of + /// Id of event /// Name of the method to call when the operation was successful. Method must have signature: void Method(string output) /// Name of the method to call when the operation was unsuccessful. Method must have signature: void Method(string output). Will return a serialized FirebaseError object [DllImport("__Internal")] - public static extern void SignInWithEmailAndPassword(string email, string password, string objectName, string callback, + public static extern void SignInWithEmailAndPassword(string email, string password, string objectName, string id, string callback, string fallback); - + /// /// Signs in a user with Google /// /// Name of the gameobject to call the callback/fallback of + /// Id of event /// Name of the method to call when the operation was successful. Method must have signature: void Method(string output) /// Name of the method to call when the operation was unsuccessful. Method must have signature: void Method(string output). Will return a serialized FirebaseError object [DllImport("__Internal")] - public static extern void SignInWithGoogle(string objectName, string callback, + public static extern void SignInWithGoogle(string objectName, string id, string callback, string fallback); - + /// /// Signs in a user with Facebook /// /// Name of the gameobject to call the callback/fallback of + /// Id of event /// Name of the method to call when the operation was successful. Method must have signature: void Method(string output) /// Name of the method to call when the operation was unsuccessful. Method must have signature: void Method(string output). Will return a serialized FirebaseError object [DllImport("__Internal")] - public static extern void SignInWithFacebook(string objectName, string callback, + public static extern void SignInWithFacebook(string objectName, string id, string callback, string fallback); - + /// /// Listens for changes of the auth state (sign in/sign out) /// /// Name of the gameobject to call the onUserSignedIn/onUserSignedOut of + /// Id of event /// Name of the method to call when the user signs in. Method must have signature: void Method(string output). Will return a serialized FirebaseUser object /// Name of the method to call when the operation was unsuccessful. Method must have signature: void Method(string output) [DllImport("__Internal")] - public static extern void OnAuthStateChanged(string objectName, string onUserSignedIn, + public static extern void OnAuthStateChanged(string objectName, string id, string onUserSignedIn, string onUserSignedOut); } } \ No newline at end of file diff --git a/Assets/FirebaseWebGLInterface/Firestore/DocumentSnapshot.cs b/Assets/FirebaseWebGLInterface/Firestore/DocumentSnapshot.cs new file mode 100644 index 0000000..3d0bf17 --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/DocumentSnapshot.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FirebaseWebglInterface.Firestore +{ + public class DocumentSnapshot + { + public string Id; + public bool Exists { get; } + public Dictionary dict; + public bool TryGetValue(string path, out T value) + { + value = default(T); + return false; + } + public T GetValue(string path) + { + return default(T); + } + + public bool ContainsField(string path) + { + return false; + } + + public Dictionary ToDictionary() + { + return null; + } + + } +} diff --git a/Assets/FirebaseWebGLInterface/Firestore/DocumentSnapshot.cs.meta b/Assets/FirebaseWebGLInterface/Firestore/DocumentSnapshot.cs.meta new file mode 100644 index 0000000..d6778bf --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/DocumentSnapshot.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e4ab598efff04e94d8a3d30d2ae6e6d4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirebaseWebGLInterface/Firestore/FirebaseCollection.cs b/Assets/FirebaseWebGLInterface/Firestore/FirebaseCollection.cs new file mode 100644 index 0000000..85e4a2e --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/FirebaseCollection.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FirebaseWebglInterface.Firestore +{ + public class FirebaseCollection + { + private string path; + public FirebaseCollection(string path) + { + this.path = path; + } + public FirebaseCollection OrderByDescending(string orderBy) + { + return this; + } + + public FirebaseCollection Limit(int limit) + { + return this; + } + public ListenerRegistration Listen(Action action) + { + return new ListenerRegistration(); + } + + public FirebaseDocument Document(string document) + { + return new FirebaseDocument(path + "/" + document); + } + } +} diff --git a/Assets/FirebaseWebGLInterface/Firestore/FirebaseCollection.cs.meta b/Assets/FirebaseWebGLInterface/Firestore/FirebaseCollection.cs.meta new file mode 100644 index 0000000..ad9216f --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/FirebaseCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a3ad295d4480bb949b9bb54a03436962 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirebaseWebGLInterface/Firestore/FirebaseDocument.cs b/Assets/FirebaseWebGLInterface/Firestore/FirebaseDocument.cs new file mode 100644 index 0000000..5df2b08 --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/FirebaseDocument.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FirebaseWebglInterface.Firestore +{ + public class FirebaseDocument + { + private string path; + public FirebaseDocument(string path) + { + this.path = path; + } + public ListenerRegistration Listen(Action action) + { + //new EmptyGameObject..(name - path) + //GetObjectByName().GetComponent() + //firebaseBridge.listen(path, docId, false, "EmptyGameObject") + return new ListenerRegistration(); + } + + public FirebaseCollection Collection(string collection) + { + return new FirebaseCollection(path + "/" + collection); + } + } +} + diff --git a/Assets/FirebaseWebGLInterface/Firestore/FirebaseDocument.cs.meta b/Assets/FirebaseWebGLInterface/Firestore/FirebaseDocument.cs.meta new file mode 100644 index 0000000..e50d456 --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/FirebaseDocument.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 94f560367a7125f40ae22a3a6b60e5dd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirebaseWebGLInterface/Firestore/FirebaseFirestore.cs b/Assets/FirebaseWebGLInterface/Firestore/FirebaseFirestore.cs new file mode 100644 index 0000000..1541da5 --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/FirebaseFirestore.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FirebaseWebglInterface.Firestore +{ + public class FirebaseFirestore + { + public static FirebaseFirestore DefaultInstance = new FirebaseFirestore(); + + public FirebaseDocument Document(string path) + { + return new FirebaseDocument(path); + } + + public FirebaseCollection Collection(string path) + { + return new FirebaseCollection(path); + } + } +} diff --git a/Assets/FirebaseWebGLInterface/Firestore/FirebaseFirestore.cs.meta b/Assets/FirebaseWebGLInterface/Firestore/FirebaseFirestore.cs.meta new file mode 100644 index 0000000..123cf4f --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/FirebaseFirestore.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 18f32c5aae3bb664298ed790abf45db0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirebaseWebGLInterface/Firestore/FirebaseUpdateObject.cs b/Assets/FirebaseWebGLInterface/Firestore/FirebaseUpdateObject.cs new file mode 100644 index 0000000..1cd0ec8 --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/FirebaseUpdateObject.cs @@ -0,0 +1,13 @@ +using System; +using UnityEngine; + +namespace FirebaseWebglInterface.Firestore +{ + public class FirebaseUpdateObject: MonoBehaviour + { + public void OnCallback(string message) + { + + } + } +} diff --git a/Assets/FirebaseWebGLInterface/Firestore/FirebaseUpdateObject.cs.meta b/Assets/FirebaseWebGLInterface/Firestore/FirebaseUpdateObject.cs.meta new file mode 100644 index 0000000..2cb60d6 --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/FirebaseUpdateObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 42203ec55e41d417db1a84ee393a1958 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirebaseWebGLInterface/Firestore/ListenerRegistration.cs b/Assets/FirebaseWebGLInterface/Firestore/ListenerRegistration.cs new file mode 100644 index 0000000..3f0d7c6 --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/ListenerRegistration.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FirebaseWebglInterface.Firestore +{ + public class ListenerRegistration + { + public void Stop() + { + + } + } +} diff --git a/Assets/FirebaseWebGLInterface/Firestore/ListenerRegistration.cs.meta b/Assets/FirebaseWebGLInterface/Firestore/ListenerRegistration.cs.meta new file mode 100644 index 0000000..ecf7246 --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/ListenerRegistration.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 74c1e2157650fe34a86cddf2f7313d9e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FirebaseWebGLInterface/Firestore/QuerySnapshot.cs b/Assets/FirebaseWebGLInterface/Firestore/QuerySnapshot.cs new file mode 100644 index 0000000..afb857b --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/QuerySnapshot.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FirebaseWebglInterface.Firestore +{ + public class QuerySnapshot + { + public int Count { get; } + public DocumentSnapshot[] Documents { get; } + } +} diff --git a/Assets/FirebaseWebGLInterface/Firestore/QuerySnapshot.cs.meta b/Assets/FirebaseWebGLInterface/Firestore/QuerySnapshot.cs.meta new file mode 100644 index 0000000..be51703 --- /dev/null +++ b/Assets/FirebaseWebGLInterface/Firestore/QuerySnapshot.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: de24f1529f17def4598c81a412f0d230 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: