@entropic-bond/firebase 1.7.9 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/auth/firebase-auth.js +22 -33
- package/lib/auth/firebase-auth.js.map +1 -1
- package/lib/cloud-functions/firebase-cloud-functions.js +3 -14
- package/lib/cloud-functions/firebase-cloud-functions.js.map +1 -1
- package/lib/cloud-functions/firebase-cloud-functions.spec.js +6 -15
- package/lib/cloud-functions/firebase-cloud-functions.spec.js.map +1 -1
- package/lib/cloud-storage/firebase-cloud-storage.spec.js +29 -38
- package/lib/cloud-storage/firebase-cloud-storage.spec.js.map +1 -1
- package/lib/firebase-helper.d.ts +1 -1
- package/lib/firebase-helper.js +9 -6
- package/lib/firebase-helper.js.map +1 -1
- package/lib/store/firebase-datasource.d.ts +2 -0
- package/lib/store/firebase-datasource.js +27 -27
- package/lib/store/firebase-datasource.js.map +1 -1
- package/lib/store/firebase-datasource.spec.js +154 -162
- package/lib/store/firebase-datasource.spec.js.map +1 -1
- package/package.json +10 -10
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.FirebaseAuth = void 0;
|
|
13
4
|
const entropic_bond_1 = require("entropic-bond");
|
|
@@ -34,21 +25,21 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
|
|
|
34
25
|
signUp(signData) {
|
|
35
26
|
const { authProvider, verificationLink } = signData;
|
|
36
27
|
if (authProvider.slice(0, 5) === 'email') {
|
|
37
|
-
return new Promise((resolve, reject) =>
|
|
28
|
+
return new Promise(async (resolve, reject) => {
|
|
38
29
|
try {
|
|
39
30
|
const credentialFactory = this.credentialProviders['email-sign-up'];
|
|
40
|
-
const userCredentials =
|
|
31
|
+
const userCredentials = await credentialFactory(signData);
|
|
41
32
|
if (signData.name) {
|
|
42
|
-
|
|
33
|
+
await (0, auth_1.updateProfile)(userCredentials.user, {
|
|
43
34
|
displayName: signData.name
|
|
44
35
|
});
|
|
45
36
|
}
|
|
46
37
|
if (verificationLink) {
|
|
47
|
-
|
|
38
|
+
await (0, auth_1.sendEmailVerification)(userCredentials.user, {
|
|
48
39
|
url: verificationLink
|
|
49
40
|
});
|
|
50
41
|
}
|
|
51
|
-
resolve(
|
|
42
|
+
resolve(await this.toUserCredentials(userCredentials.user));
|
|
52
43
|
}
|
|
53
44
|
catch (error) {
|
|
54
45
|
reject({
|
|
@@ -56,18 +47,18 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
|
|
|
56
47
|
message: error.message
|
|
57
48
|
});
|
|
58
49
|
}
|
|
59
|
-
})
|
|
50
|
+
});
|
|
60
51
|
}
|
|
61
52
|
else
|
|
62
53
|
return this.login(signData);
|
|
63
54
|
}
|
|
64
55
|
login(signData) {
|
|
65
56
|
const { authProvider } = signData;
|
|
66
|
-
return new Promise((resolve, reject) =>
|
|
57
|
+
return new Promise(async (resolve, reject) => {
|
|
67
58
|
try {
|
|
68
59
|
const credentialFactory = this.credentialProviders[authProvider];
|
|
69
|
-
const userCredentials =
|
|
70
|
-
resolve(
|
|
60
|
+
const userCredentials = await credentialFactory(signData);
|
|
61
|
+
resolve(await this.toUserCredentials(userCredentials.user));
|
|
71
62
|
}
|
|
72
63
|
catch (error) {
|
|
73
64
|
reject({
|
|
@@ -75,15 +66,15 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
|
|
|
75
66
|
message: error.message
|
|
76
67
|
});
|
|
77
68
|
}
|
|
78
|
-
})
|
|
69
|
+
});
|
|
79
70
|
}
|
|
80
71
|
logout() {
|
|
81
72
|
return firebase_helper_1.FirebaseHelper.instance.auth().signOut();
|
|
82
73
|
}
|
|
83
74
|
resetEmailPassword(email) {
|
|
84
|
-
return new Promise((resolve, reject) =>
|
|
75
|
+
return new Promise(async (resolve, reject) => {
|
|
85
76
|
try {
|
|
86
|
-
|
|
77
|
+
await (0, auth_1.sendPasswordResetEmail)(firebase_helper_1.FirebaseHelper.instance.auth(), email);
|
|
87
78
|
resolve();
|
|
88
79
|
}
|
|
89
80
|
catch (error) {
|
|
@@ -92,12 +83,12 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
|
|
|
92
83
|
message: error.message
|
|
93
84
|
});
|
|
94
85
|
}
|
|
95
|
-
})
|
|
86
|
+
});
|
|
96
87
|
}
|
|
97
88
|
onAuthStateChange(onChange) {
|
|
98
|
-
firebase_helper_1.FirebaseHelper.instance.auth().onAuthStateChanged((credentials) =>
|
|
99
|
-
onChange(
|
|
100
|
-
})
|
|
89
|
+
firebase_helper_1.FirebaseHelper.instance.auth().onAuthStateChanged(async (credentials) => {
|
|
90
|
+
onChange(await this.toUserCredentials(credentials));
|
|
91
|
+
});
|
|
101
92
|
}
|
|
102
93
|
linkAdditionalProvider(provider) {
|
|
103
94
|
const providerInstance = providerFactory[provider]();
|
|
@@ -109,13 +100,11 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
|
|
|
109
100
|
currentUser.providerData;
|
|
110
101
|
return (0, auth_1.unlink)(currentUser, providerFactory[provider]().providerId);
|
|
111
102
|
}
|
|
112
|
-
toUserCredentials(nativeUserCredential) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return FirebaseAuth.convertCredentials(nativeUserCredential, claims);
|
|
118
|
-
});
|
|
103
|
+
async toUserCredentials(nativeUserCredential) {
|
|
104
|
+
if (!nativeUserCredential)
|
|
105
|
+
return null;
|
|
106
|
+
const claims = (await nativeUserCredential.getIdTokenResult()).claims;
|
|
107
|
+
return FirebaseAuth.convertCredentials(nativeUserCredential, claims);
|
|
119
108
|
}
|
|
120
109
|
static convertCredentials(nativeUserCredential, claims) {
|
|
121
110
|
return ({
|
|
@@ -125,7 +114,7 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
|
|
|
125
114
|
pictureUrl: nativeUserCredential.photoURL,
|
|
126
115
|
phoneNumber: nativeUserCredential.phoneNumber,
|
|
127
116
|
emailVerified: nativeUserCredential.emailVerified,
|
|
128
|
-
customData:
|
|
117
|
+
customData: { ...claims },
|
|
129
118
|
lastLogin: Date.now(),
|
|
130
119
|
creationDate: new Date(nativeUserCredential.metadata.creationTime).getTime()
|
|
131
120
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-auth.js","sourceRoot":"","sources":["../../src/auth/firebase-auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"firebase-auth.js","sourceRoot":"","sources":["../../src/auth/firebase-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.FirebaseCloudFunctions = void 0;
|
|
13
4
|
const functions_1 = require("firebase/functions");
|
|
@@ -27,11 +18,9 @@ class FirebaseCloudFunctions {
|
|
|
27
18
|
retrieveFunction(cloudFunction) {
|
|
28
19
|
return (0, functions_1.httpsCallable)(firebase_helper_1.FirebaseHelper.instance.functions(), cloudFunction);
|
|
29
20
|
}
|
|
30
|
-
callFunction(func, params) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return res.data;
|
|
34
|
-
});
|
|
21
|
+
async callFunction(func, params) {
|
|
22
|
+
const res = await func(params);
|
|
23
|
+
return res.data;
|
|
35
24
|
}
|
|
36
25
|
}
|
|
37
26
|
exports.FirebaseCloudFunctions = FirebaseCloudFunctions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-cloud-functions.js","sourceRoot":"","sources":["../../src/cloud-functions/firebase-cloud-functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"firebase-cloud-functions.js","sourceRoot":"","sources":["../../src/cloud-functions/firebase-cloud-functions.ts"],"names":[],"mappings":";;;AACA,kDAA4E;AAC5E,wDAAmE;AAEnE,MAAa,sBAAsB;IAClC,YAAa,MAAe,EAAE,QAAyB;;QACtD,IAAK,MAAM;YAAG,gCAAc,CAAC,SAAS,CAAE,MAAM,CAAE,CAAA;QAChD,IAAK,QAAQ;YAAG,gCAAc,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAA;QAEtD,IAAK,MAAA,gCAAc,CAAC,QAAQ,0CAAE,OAAO,EAAG;YACvC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,gCAAc,CAAC,QAAQ,CAAA;YACvD,IAAA,oCAAwB,EAAE,gCAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAE,CAAA;SACpF;IAEF,CAAC;IAED,gBAAgB,CAAQ,aAAqB;QAC5C,OAAO,IAAA,yBAAa,EAAO,gCAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,aAAa,CAAoC,CAAA;IAClH,CAAC;IAED,KAAK,CAAC,YAAY,CAAQ,IAAyB,EAAE,MAAS;QAC7D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAE,MAAM,CAAS,CAAA;QACvC,OAAO,GAAG,CAAC,IAAI,CAAA;IAChB,CAAC;CACD;AApBD,wDAoBC"}
|
|
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
9
|
exports.ParamWrapper = void 0;
|
|
19
10
|
const entropic_bond_1 = require("entropic-bond");
|
|
@@ -45,18 +36,18 @@ describe('Cloud functions', () => {
|
|
|
45
36
|
firebase_helper_1.FirebaseHelper.useEmulator();
|
|
46
37
|
entropic_bond_1.CloudFunctions.useCloudFunctionsService(new firebase_cloud_functions_1.FirebaseCloudFunctions('europe-west1', { emulate: true }));
|
|
47
38
|
});
|
|
48
|
-
it('should call cloud functions with plain types', () =>
|
|
39
|
+
it('should call cloud functions with plain types', async () => {
|
|
49
40
|
const testCallablePlain = entropic_bond_1.CloudFunctions.instance.getFunction('testCallablePlain');
|
|
50
|
-
const result =
|
|
41
|
+
const result = await testCallablePlain('Hello');
|
|
51
42
|
expect(result).toBe(5);
|
|
52
|
-
})
|
|
53
|
-
it('should call cloud function for Persistent', () =>
|
|
43
|
+
});
|
|
44
|
+
it('should call cloud function for Persistent', async () => {
|
|
54
45
|
const testCallablePersistent = entropic_bond_1.CloudFunctions.instance.getFunction('testCallablePersistent');
|
|
55
46
|
const paramWrapper = new ParamWrapper('test', 30);
|
|
56
47
|
const a = paramWrapper.toObject();
|
|
57
|
-
const result =
|
|
48
|
+
const result = await testCallablePersistent(paramWrapper);
|
|
58
49
|
expect(result._a).toEqual('test');
|
|
59
50
|
expect(result._b).toEqual(30);
|
|
60
|
-
})
|
|
51
|
+
});
|
|
61
52
|
});
|
|
62
53
|
//# sourceMappingURL=firebase-cloud-functions.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-cloud-functions.spec.js","sourceRoot":"","sources":["../../src/cloud-functions/firebase-cloud-functions.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"firebase-cloud-functions.spec.js","sourceRoot":"","sources":["../../src/cloud-functions/firebase-cloud-functions.spec.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAA+F;AAC/F,wDAAmD;AACnD,yEAAmE;AAG5D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,0BAAU;IAC3C,YAAa,CAAU,EAAE,CAAU;QAClC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IACZ,CAAC;CAGD,CAAA;AAFY;IAAX,0BAAU;wCAAW;AACV;IAAX,0BAAU;wCAAW;AAPV,YAAY;IADxB,IAAA,uCAAuB,EAAE,cAAc,CAAE;GAC7B,YAAY,CAQxB;AARY,oCAAY;AAUzB,QAAQ,CAAE,iBAAiB,EAAE,GAAE,EAAE;IAEhC,UAAU,CAAC,GAAE,EAAE;QACd,gCAAc,CAAC,iBAAiB,CAAC;YAChC,SAAS,EAAE,WAAW;YACtB,aAAa,EAAE,gBAAgB;SAC/B,CAAC,CAAA;QAEF,gCAAc,CAAC,WAAW,EAAE,CAAA;QAC5B,8BAAc,CAAC,wBAAwB,CACtC,IAAI,iDAAsB,CAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAC9D,CAAA;IACF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAE,8CAA8C,EAAE,KAAK,IAAG,EAAE;QAC7D,MAAM,iBAAiB,GAAG,8BAAc,CAAC,QAAQ,CAAC,WAAW,CAAkB,mBAAmB,CAAE,CAAA;QACpG,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAE,OAAO,CAAE,CAAA;QAEjD,MAAM,CAAE,MAAM,CAAE,CAAC,IAAI,CAAE,CAAC,CAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAE,2CAA2C,EAAE,KAAK,IAAG,EAAE;QAC1D,MAAM,sBAAsB,GAAG,8BAAc,CAAC,QAAQ,CAAC,WAAW,CAA8B,wBAAwB,CAAE,CAAA;QAC1H,MAAM,YAAY,GAAG,IAAI,YAAY,CAAE,MAAM,EAAE,EAAE,CAAE,CAAA;QAEnD,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAA;QAEjC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAE,YAAY,CAAE,CAAA;QAC3D,MAAM,CAAE,MAAM,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,MAAM,CAAE,CAAA;QACrC,MAAM,CAAE,MAAM,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,EAAE,CAAE,CAAA;IAClC,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
10
|
};
|
|
@@ -61,30 +52,30 @@ describe('Firebase Cloud Storage', () => {
|
|
|
61
52
|
entropic_bond_1.CloudStorage.useCloudStorage(new firebase_cloud_storage_1.FirebaseCloudStorage());
|
|
62
53
|
file = new entropic_bond_1.StoredFile();
|
|
63
54
|
});
|
|
64
|
-
it('should save and get a url', () =>
|
|
65
|
-
|
|
55
|
+
it('should save and get a url', async () => {
|
|
56
|
+
await file.save({ data: blobData1 });
|
|
66
57
|
expect(file.url).toContain(file.id);
|
|
67
|
-
})
|
|
68
|
-
it('should report metadata', () =>
|
|
69
|
-
|
|
58
|
+
});
|
|
59
|
+
it('should report metadata', async () => {
|
|
60
|
+
await file.save({ data: blobData1, fileName: 'test.dat' });
|
|
70
61
|
expect(file.originalFileName).toEqual('test.dat');
|
|
71
62
|
expect(file.provider.className).toEqual('FirebaseCloudStorage');
|
|
72
|
-
})
|
|
73
|
-
it('should delete file', () =>
|
|
74
|
-
|
|
75
|
-
|
|
63
|
+
});
|
|
64
|
+
it('should delete file', async () => {
|
|
65
|
+
await file.save({ data: blobData1 });
|
|
66
|
+
await file.delete();
|
|
76
67
|
expect(file.url).not.toBeDefined();
|
|
77
|
-
})
|
|
78
|
-
it('should overwrite file on subsequent writes', () =>
|
|
79
|
-
|
|
68
|
+
});
|
|
69
|
+
it('should overwrite file on subsequent writes', async () => {
|
|
70
|
+
await file.save({ data: blobData1 });
|
|
80
71
|
const firstUrl = file.url;
|
|
81
|
-
let resp =
|
|
82
|
-
expect(
|
|
83
|
-
|
|
84
|
-
resp =
|
|
72
|
+
let resp = await (0, node_fetch_1.default)(file.url);
|
|
73
|
+
expect(await resp.text()).toEqual('Hello, world!');
|
|
74
|
+
await file.save({ data: blobData2 });
|
|
75
|
+
resp = await (0, node_fetch_1.default)(file.url);
|
|
85
76
|
expect(file.url.slice(0, file.url.indexOf('token'))).toEqual(firstUrl.slice(0, firstUrl.indexOf('token')));
|
|
86
|
-
expect(
|
|
87
|
-
})
|
|
77
|
+
expect(await resp.text()).toEqual('llo,He world!');
|
|
78
|
+
});
|
|
88
79
|
it('should trigger events', done => {
|
|
89
80
|
const cb = jest.fn();
|
|
90
81
|
file.save({ data: blobData1 }).then(() => {
|
|
@@ -100,25 +91,25 @@ describe('Firebase Cloud Storage', () => {
|
|
|
100
91
|
testObj = new Test();
|
|
101
92
|
model = entropic_bond_1.Store.getModel(testObj);
|
|
102
93
|
});
|
|
103
|
-
it('should load object with StoredFile', () =>
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
const newTestObj =
|
|
94
|
+
it('should load object with StoredFile', async () => {
|
|
95
|
+
await testObj.file.save({ data: blobData1, fileName: 'test.dat' });
|
|
96
|
+
await model.save(testObj);
|
|
97
|
+
const newTestObj = await model.findById(testObj.id);
|
|
107
98
|
expect(newTestObj.file).toBeInstanceOf(entropic_bond_1.StoredFile);
|
|
108
99
|
expect(newTestObj.file.url).toContain(testObj.file.id);
|
|
109
|
-
})
|
|
110
|
-
it('should replace file on save after load', () =>
|
|
100
|
+
});
|
|
101
|
+
it('should replace file on save after load', async () => {
|
|
111
102
|
const deleteSpy = jest.spyOn(testObj.file, 'delete');
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const newTestObj =
|
|
103
|
+
await testObj.file.save({ data: blobData1, fileName: 'test.dat' });
|
|
104
|
+
await model.save(testObj);
|
|
105
|
+
const newTestObj = await model.findById(testObj.id);
|
|
115
106
|
expect(newTestObj.file).toBeInstanceOf(entropic_bond_1.StoredFile);
|
|
116
107
|
expect(newTestObj.file.url).toContain(testObj.file.id);
|
|
117
108
|
expect(deleteSpy).not.toHaveBeenCalled();
|
|
118
109
|
testObj.file.setDataToStore(blobData2);
|
|
119
|
-
|
|
110
|
+
await testObj.file.save();
|
|
120
111
|
expect(deleteSpy).toHaveBeenCalled();
|
|
121
|
-
})
|
|
112
|
+
});
|
|
122
113
|
});
|
|
123
114
|
});
|
|
124
115
|
//# sourceMappingURL=firebase-cloud-storage.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-cloud-storage.spec.js","sourceRoot":"","sources":["../../src/cloud-storage/firebase-cloud-storage.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"firebase-cloud-storage.spec.js","sourceRoot":"","sources":["../../src/cloud-storage/firebase-cloud-storage.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/firebase-helper.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CollectionReference, DocumentData, Query } from 'firebase/firestore';
|
|
2
|
-
export
|
|
2
|
+
export type FirebaseQuery = CollectionReference<DocumentData> | Query<DocumentData>;
|
|
3
3
|
export interface FirebaseConfig {
|
|
4
4
|
apiKey?: string;
|
|
5
5
|
authDomain?: string;
|
package/lib/firebase-helper.js
CHANGED
|
@@ -7,11 +7,6 @@ const auth_1 = require("firebase/auth");
|
|
|
7
7
|
const storage_1 = require("firebase/storage");
|
|
8
8
|
const functions_1 = require("firebase/functions");
|
|
9
9
|
class FirebaseHelper {
|
|
10
|
-
constructor() {
|
|
11
|
-
if (!FirebaseHelper._firebaseConfig)
|
|
12
|
-
throw new Error('You should set a firebase config object before using Firebase');
|
|
13
|
-
this._firebaseApp = (0, app_1.initializeApp)(FirebaseHelper._firebaseConfig);
|
|
14
|
-
}
|
|
15
10
|
static setFirebaseConfig(config) {
|
|
16
11
|
FirebaseHelper._firebaseConfig = config;
|
|
17
12
|
}
|
|
@@ -24,11 +19,19 @@ class FirebaseHelper {
|
|
|
24
19
|
functionsPort: 5001,
|
|
25
20
|
emulate: true
|
|
26
21
|
};
|
|
27
|
-
this._emulatorConfig =
|
|
22
|
+
this._emulatorConfig = {
|
|
23
|
+
...defaultConfig,
|
|
24
|
+
...emulatorConfig
|
|
25
|
+
};
|
|
28
26
|
}
|
|
29
27
|
static get emulator() {
|
|
30
28
|
return this._emulatorConfig;
|
|
31
29
|
}
|
|
30
|
+
constructor() {
|
|
31
|
+
if (!FirebaseHelper._firebaseConfig)
|
|
32
|
+
throw new Error('You should set a firebase config object before using Firebase');
|
|
33
|
+
this._firebaseApp = (0, app_1.initializeApp)(FirebaseHelper._firebaseConfig);
|
|
34
|
+
}
|
|
32
35
|
static get instance() {
|
|
33
36
|
return this._instance || (this._instance = new FirebaseHelper());
|
|
34
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-helper.js","sourceRoot":"","sources":["../src/firebase-helper.ts"],"names":[],"mappings":";;;AAAA,sCAAyD;AACzD,kDAA2F;AAC3F,wCAAuC;AACvC,8CAA6C;AAC7C,kDAAiD;AAyBjD,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"firebase-helper.js","sourceRoot":"","sources":["../src/firebase-helper.ts"],"names":[],"mappings":";;;AAAA,sCAAyD;AACzD,kDAA2F;AAC3F,wCAAuC;AACvC,8CAA6C;AAC7C,kDAAiD;AAyBjD,MAAa,cAAc;IAE1B,MAAM,CAAC,iBAAiB,CAAE,MAAsB;QAC/C,cAAc,CAAC,eAAe,GAAG,MAAM,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,WAAW,CAAE,cAA+B;QAClD,MAAM,aAAa,GAAG;YACrB,IAAI,EAAE,WAAW;YACjB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;SACb,CAAA;QAED,IAAI,CAAC,eAAe,GAAG;YACtB,GAAG,aAAa;YAChB,GAAG,cAAc;SACjB,CAAA;IACF,CAAC;IAED,MAAM,KAAK,QAAQ;QAClB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC5B,CAAC;IAED;QACC,IAAK,CAAC,cAAc,CAAC,eAAe;YAAG,MAAM,IAAI,KAAK,CAAE,+DAA+D,CAAE,CAAA;QACzH,IAAI,CAAC,YAAY,GAAG,IAAA,mBAAa,EAAE,cAAc,CAAC,eAAe,CAAE,CAAA;IACpE,CAAC;IAED,MAAM,KAAK,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,IAAI,CAAE,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,EAAE,CAAE,CAAA;IACnE,CAAC;IAED,SAAS;QACR,OAAO,IAAA,wBAAY,EAAE,IAAI,CAAC,YAAY,CAAE,CAAA;IACzC,CAAC;IAED,OAAO;QACN,OAAO,IAAA,oBAAU,EAAE,IAAI,CAAC,YAAY,CAAE,CAAA;IACvC,CAAC;IAED,IAAI;QACH,OAAO,IAAA,cAAO,EAAE,IAAI,CAAC,YAAY,CAAE,CAAA;IACpC,CAAC;IAED,SAAS;QACR,OAAO,IAAA,wBAAY,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,OAAO,CAAE,CAAA;IACjE,CAAC;IAED,MAAM,CAAC,SAAS,CAAE,MAAc;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACtB,CAAC;CAOD;AA5DD,wCA4DC"}
|
|
@@ -5,8 +5,10 @@ export declare class FirebaseDatasource extends DataSource {
|
|
|
5
5
|
findById(id: string, collectionName: string): Promise<DocumentObject>;
|
|
6
6
|
save(collections: Collections): Promise<void>;
|
|
7
7
|
find(queryObject: QueryObject<DocumentObject>, collectionName: string): Promise<DocumentObject[]>;
|
|
8
|
+
count(queryObject: QueryObject<DocumentObject>, collectionName: string): Promise<number>;
|
|
8
9
|
delete(id: string, collectionName: string): Promise<void>;
|
|
9
10
|
next(maxDocs?: number): Promise<DocumentObject[]>;
|
|
11
|
+
private queryObjectToQueryConstraints;
|
|
10
12
|
private getFromQuery;
|
|
11
13
|
private _lastDocRetrieved;
|
|
12
14
|
private _lastConstraints;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.FirebaseDatasource = void 0;
|
|
13
4
|
const firestore_1 = require("firebase/firestore");
|
|
@@ -26,16 +17,16 @@ class FirebaseDatasource extends entropic_bond_1.DataSource {
|
|
|
26
17
|
}
|
|
27
18
|
findById(id, collectionName) {
|
|
28
19
|
const db = firebase_helper_1.FirebaseHelper.instance.firestore();
|
|
29
|
-
return new Promise((resolve) =>
|
|
20
|
+
return new Promise(async (resolve) => {
|
|
30
21
|
try {
|
|
31
|
-
const docSnap =
|
|
22
|
+
const docSnap = await (0, firestore_1.getDoc)((0, firestore_1.doc)(db, collectionName, id));
|
|
32
23
|
resolve(docSnap.data());
|
|
33
24
|
}
|
|
34
25
|
catch (error) {
|
|
35
26
|
console.log(error);
|
|
36
27
|
return null;
|
|
37
28
|
}
|
|
38
|
-
})
|
|
29
|
+
});
|
|
39
30
|
}
|
|
40
31
|
save(collections) {
|
|
41
32
|
const db = firebase_helper_1.FirebaseHelper.instance.firestore();
|
|
@@ -49,18 +40,13 @@ class FirebaseDatasource extends entropic_bond_1.DataSource {
|
|
|
49
40
|
return batch.commit();
|
|
50
41
|
}
|
|
51
42
|
find(queryObject, collectionName) {
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if (queryObject.limit) {
|
|
60
|
-
this._lastLimit = queryObject.limit;
|
|
61
|
-
constraints.push((0, firestore_1.limit)(queryObject.limit));
|
|
62
|
-
}
|
|
63
|
-
return this.getFromQuery((0, firestore_1.query)((0, firestore_1.collection)(db, collectionName), ...constraints));
|
|
43
|
+
const query = this.queryObjectToQueryConstraints(queryObject, collectionName);
|
|
44
|
+
return this.getFromQuery(query);
|
|
45
|
+
}
|
|
46
|
+
async count(queryObject, collectionName) {
|
|
47
|
+
const query = this.queryObjectToQueryConstraints(queryObject, collectionName);
|
|
48
|
+
const snapShot = await (0, firestore_1.getCountFromServer)(query);
|
|
49
|
+
return snapShot.data().count;
|
|
64
50
|
}
|
|
65
51
|
delete(id, collectionName) {
|
|
66
52
|
const db = firebase_helper_1.FirebaseHelper.instance.firestore();
|
|
@@ -77,12 +63,26 @@ class FirebaseDatasource extends entropic_bond_1.DataSource {
|
|
|
77
63
|
// prev should be used with next in reverse order
|
|
78
64
|
// prev( limit?: number ): Promise< DocumentObject[] > {
|
|
79
65
|
// }
|
|
66
|
+
queryObjectToQueryConstraints(queryObject, collectionName) {
|
|
67
|
+
const db = firebase_helper_1.FirebaseHelper.instance.firestore();
|
|
68
|
+
const constraints = entropic_bond_1.DataSource.toPropertyPathOperations(queryObject.operations).map(operation => (0, firestore_1.where)(operation.property, operation.operator, operation.value));
|
|
69
|
+
if (queryObject.sort) {
|
|
70
|
+
constraints.push((0, firestore_1.orderBy)(queryObject.sort.propertyName, queryObject.sort.order));
|
|
71
|
+
}
|
|
72
|
+
this._lastConstraints = constraints;
|
|
73
|
+
this._lastCollectionName = collectionName;
|
|
74
|
+
if (queryObject.limit) {
|
|
75
|
+
this._lastLimit = queryObject.limit;
|
|
76
|
+
constraints.push((0, firestore_1.limit)(queryObject.limit));
|
|
77
|
+
}
|
|
78
|
+
return (0, firestore_1.query)((0, firestore_1.collection)(db, collectionName), ...constraints);
|
|
79
|
+
}
|
|
80
80
|
getFromQuery(query) {
|
|
81
|
-
return new Promise((resolve) =>
|
|
82
|
-
const doc =
|
|
81
|
+
return new Promise(async (resolve) => {
|
|
82
|
+
const doc = await (0, firestore_1.getDocs)(query);
|
|
83
83
|
this._lastDocRetrieved = doc.docs[doc.docs.length - 1];
|
|
84
84
|
resolve(doc.docs.map(doc => doc.data()));
|
|
85
|
-
})
|
|
85
|
+
});
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
exports.FirebaseDatasource = FirebaseDatasource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-datasource.js","sourceRoot":"","sources":["../../src/store/firebase-datasource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"firebase-datasource.js","sourceRoot":"","sources":["../../src/store/firebase-datasource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -19,16 +10,14 @@ const firebase_helper_1 = require("../firebase-helper");
|
|
|
19
10
|
const test_user_1 = require("../mocks/test-user");
|
|
20
11
|
const mock_data_json_1 = __importDefault(require("../mocks/mock-data.json"));
|
|
21
12
|
const firestore_1 = require("firebase/firestore");
|
|
22
|
-
function loadTestData(model) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
yield Promise.all(promises);
|
|
31
|
-
});
|
|
13
|
+
async function loadTestData(model) {
|
|
14
|
+
const users = mock_data_json_1.default.TestUser;
|
|
15
|
+
const promises = [];
|
|
16
|
+
for (const key in users) {
|
|
17
|
+
const user = entropic_bond_1.Persistent.createInstance(users[key]);
|
|
18
|
+
promises.push(model.save(user));
|
|
19
|
+
}
|
|
20
|
+
await Promise.all(promises);
|
|
32
21
|
}
|
|
33
22
|
describe('Firestore Model', () => {
|
|
34
23
|
let model;
|
|
@@ -37,7 +26,7 @@ describe('Firestore Model', () => {
|
|
|
37
26
|
projectId: "demo-test",
|
|
38
27
|
});
|
|
39
28
|
firebase_helper_1.FirebaseHelper.useEmulator({ firestorePort: 9080 });
|
|
40
|
-
beforeEach(() =>
|
|
29
|
+
beforeEach(async () => {
|
|
41
30
|
entropic_bond_1.Store.useDataSource(new firebase_datasource_1.FirebaseDatasource());
|
|
42
31
|
testUser = new test_user_1.TestUser();
|
|
43
32
|
testUser.name = {
|
|
@@ -47,37 +36,37 @@ describe('Firestore Model', () => {
|
|
|
47
36
|
testUser.age = 35;
|
|
48
37
|
testUser.skills = ['lazy', 'dirty'];
|
|
49
38
|
model = entropic_bond_1.Store.getModel('TestUser');
|
|
50
|
-
|
|
51
|
-
})
|
|
52
|
-
afterEach(() =>
|
|
53
|
-
|
|
54
|
-
|
|
39
|
+
await loadTestData(model);
|
|
40
|
+
});
|
|
41
|
+
afterEach(async () => {
|
|
42
|
+
await (0, firestore_1.terminate)(firebase_helper_1.FirebaseHelper.instance.firestore());
|
|
43
|
+
await (0, node_fetch_1.default)('http://localhost:9080/emulator/v1/projects/demo-test/databases/(default)/documents', {
|
|
55
44
|
method: 'DELETE'
|
|
56
45
|
});
|
|
57
|
-
})
|
|
58
|
-
it('should find document by id', () =>
|
|
59
|
-
|
|
60
|
-
const user =
|
|
46
|
+
});
|
|
47
|
+
it('should find document by id', async () => {
|
|
48
|
+
await model.save(testUser);
|
|
49
|
+
const user = await model.findById(testUser.id);
|
|
61
50
|
expect(user).toBeInstanceOf(test_user_1.TestUser);
|
|
62
51
|
expect(user.id).toEqual(testUser.id);
|
|
63
52
|
expect(user.name.firstName).toEqual('testUserFirstName');
|
|
64
|
-
})
|
|
65
|
-
it('should write a document', () =>
|
|
66
|
-
|
|
67
|
-
const newUser =
|
|
53
|
+
});
|
|
54
|
+
it('should write a document', async () => {
|
|
55
|
+
await model.save(testUser);
|
|
56
|
+
const newUser = await model.findById(testUser.id);
|
|
68
57
|
expect(newUser.name).toEqual({
|
|
69
58
|
firstName: 'testUserFirstName',
|
|
70
59
|
lastName: 'testUserLastName'
|
|
71
60
|
});
|
|
72
|
-
})
|
|
73
|
-
it('should delete a document by id', () =>
|
|
74
|
-
|
|
75
|
-
const newUser =
|
|
61
|
+
});
|
|
62
|
+
it('should delete a document by id', async () => {
|
|
63
|
+
await model.save(testUser);
|
|
64
|
+
const newUser = await model.findById(testUser.id);
|
|
76
65
|
expect(newUser.age).toBe(35);
|
|
77
|
-
|
|
78
|
-
const deletedUser =
|
|
66
|
+
await model.delete(testUser.id);
|
|
67
|
+
const deletedUser = await model.findById(testUser.id);
|
|
79
68
|
expect(deletedUser).toBeUndefined();
|
|
80
|
-
})
|
|
69
|
+
});
|
|
81
70
|
it('should not throw if a document id doesn\'t exists', (done) => {
|
|
82
71
|
expect(() => {
|
|
83
72
|
model.findById('nonExistingId')
|
|
@@ -85,28 +74,28 @@ describe('Firestore Model', () => {
|
|
|
85
74
|
.catch(done);
|
|
86
75
|
}).not.toThrow();
|
|
87
76
|
});
|
|
88
|
-
it('should return undefined if a document id doesn\'t exists', () =>
|
|
89
|
-
expect(
|
|
90
|
-
})
|
|
91
|
-
it('should retrieve array fields', () =>
|
|
92
|
-
|
|
93
|
-
const newUser =
|
|
77
|
+
it('should return undefined if a document id doesn\'t exists', async () => {
|
|
78
|
+
expect(await model.findById('nonExistingId')).toBeUndefined();
|
|
79
|
+
});
|
|
80
|
+
it('should retrieve array fields', async () => {
|
|
81
|
+
await model.save(testUser);
|
|
82
|
+
const newUser = await model.findById(testUser.id);
|
|
94
83
|
expect(Array.isArray(newUser.skills)).toBeTruthy();
|
|
95
84
|
expect(newUser.skills).toEqual(expect.arrayContaining(['lazy', 'dirty']));
|
|
96
|
-
})
|
|
97
|
-
it('should retrieve object fields', () =>
|
|
98
|
-
|
|
99
|
-
const newUser =
|
|
85
|
+
});
|
|
86
|
+
it('should retrieve object fields', async () => {
|
|
87
|
+
await model.save(testUser);
|
|
88
|
+
const newUser = await model.findById(testUser.id);
|
|
100
89
|
expect(newUser.name).toEqual({
|
|
101
90
|
firstName: 'testUserFirstName',
|
|
102
91
|
lastName: 'testUserLastName'
|
|
103
92
|
});
|
|
104
|
-
})
|
|
93
|
+
});
|
|
105
94
|
describe('Generic find', () => {
|
|
106
|
-
it('should query all admins with query object', () =>
|
|
95
|
+
it('should query all admins with query object', async () => {
|
|
107
96
|
testUser.admin = true;
|
|
108
|
-
|
|
109
|
-
const admins =
|
|
97
|
+
await model.save(testUser);
|
|
98
|
+
const admins = await model.query({
|
|
110
99
|
operations: [{
|
|
111
100
|
property: 'admin',
|
|
112
101
|
operator: '==',
|
|
@@ -115,22 +104,22 @@ describe('Firestore Model', () => {
|
|
|
115
104
|
});
|
|
116
105
|
expect(admins.length).toBeGreaterThanOrEqual(1);
|
|
117
106
|
expect(admins[0]).toBeInstanceOf(test_user_1.TestUser);
|
|
118
|
-
})
|
|
119
|
-
it('should find all admins with where methods', () =>
|
|
120
|
-
const admins =
|
|
107
|
+
});
|
|
108
|
+
it('should find all admins with where methods', async () => {
|
|
109
|
+
const admins = await model.find().where('admin', '==', true).get();
|
|
121
110
|
expect(admins.length).toBeGreaterThanOrEqual(1);
|
|
122
111
|
expect(admins[0]).toBeInstanceOf(test_user_1.TestUser);
|
|
123
|
-
})
|
|
124
|
-
it('should find admins with age less than 56', () =>
|
|
125
|
-
const admins =
|
|
112
|
+
});
|
|
113
|
+
it('should find admins with age less than 56', async () => {
|
|
114
|
+
const admins = await model.find()
|
|
126
115
|
.where('admin', '==', true)
|
|
127
116
|
.where('age', '<', 50)
|
|
128
117
|
.get();
|
|
129
118
|
expect(admins.length).toBeGreaterThanOrEqual(1);
|
|
130
119
|
expect(admins[0].age).toBeLessThan(50);
|
|
131
|
-
})
|
|
132
|
-
it('should query by subproperties', () =>
|
|
133
|
-
const users =
|
|
120
|
+
});
|
|
121
|
+
it('should query by subproperties', async () => {
|
|
122
|
+
const users = await model.query({
|
|
134
123
|
operations: [
|
|
135
124
|
{
|
|
136
125
|
property: 'name',
|
|
@@ -141,47 +130,47 @@ describe('Firestore Model', () => {
|
|
|
141
130
|
]
|
|
142
131
|
});
|
|
143
132
|
expect(users[0].id).toBe('user3');
|
|
144
|
-
})
|
|
145
|
-
it('should find by subproperties', () =>
|
|
146
|
-
const users =
|
|
133
|
+
});
|
|
134
|
+
it('should find by subproperties', async () => {
|
|
135
|
+
const users = await model.find()
|
|
147
136
|
.where('name', '==', { firstName: 'userFirstName3' })
|
|
148
137
|
.get();
|
|
149
138
|
expect(users[0].id).toBe('user3');
|
|
150
|
-
})
|
|
151
|
-
it('should find by property path', () =>
|
|
152
|
-
const users =
|
|
139
|
+
});
|
|
140
|
+
it('should find by property path', async () => {
|
|
141
|
+
const users = await model.find()
|
|
153
142
|
.whereDeepProp('name.firstName', '==', 'userFirstName3')
|
|
154
143
|
.get();
|
|
155
144
|
expect(users[0].id).toBe('user3');
|
|
156
|
-
})
|
|
157
|
-
it('should find by superdeep property path', () =>
|
|
158
|
-
const users =
|
|
145
|
+
});
|
|
146
|
+
it('should find by superdeep property path', async () => {
|
|
147
|
+
const users = await model.find()
|
|
159
148
|
.whereDeepProp('name.ancestorName.father', '==', 'user3Father')
|
|
160
149
|
.get();
|
|
161
150
|
expect(users[0].id).toEqual('user3');
|
|
162
|
-
})
|
|
163
|
-
it('should find by swallow property path', () =>
|
|
164
|
-
const users =
|
|
151
|
+
});
|
|
152
|
+
it('should find by swallow property path', async () => {
|
|
153
|
+
const users = await model.find()
|
|
165
154
|
.whereDeepProp('age', '==', 21)
|
|
166
155
|
.get();
|
|
167
156
|
expect(users[0].id).toEqual('user2');
|
|
168
|
-
})
|
|
157
|
+
});
|
|
169
158
|
});
|
|
170
159
|
describe('Derived classes should fit on parent collection', () => {
|
|
171
|
-
it('should save derived object in parent collection', () =>
|
|
160
|
+
it('should save derived object in parent collection', async () => {
|
|
172
161
|
const derived = new test_user_1.DerivedUser();
|
|
173
162
|
derived.name = { firstName: 'Fulanito', lastName: 'Derived' };
|
|
174
163
|
derived.salary = 3900;
|
|
175
|
-
|
|
176
|
-
const newUser =
|
|
164
|
+
await model.save(derived);
|
|
165
|
+
const newUser = await model.findById(derived.id);
|
|
177
166
|
expect(newUser).toBeInstanceOf(test_user_1.DerivedUser);
|
|
178
167
|
expect(newUser.salary).toBe(3900);
|
|
179
168
|
expect(newUser.className).toEqual('DerivedUser');
|
|
180
|
-
})
|
|
169
|
+
});
|
|
181
170
|
});
|
|
182
171
|
describe('References to documents', () => {
|
|
183
172
|
let ref1, ref2;
|
|
184
|
-
beforeEach(() =>
|
|
173
|
+
beforeEach(async () => {
|
|
185
174
|
testUser.documentRef = new test_user_1.SubClass();
|
|
186
175
|
testUser.documentRef.year = 2045;
|
|
187
176
|
ref1 = new test_user_1.SubClass();
|
|
@@ -195,35 +184,35 @@ describe('Firestore Model', () => {
|
|
|
195
184
|
testUser.manyDerived = [new test_user_1.DerivedUser(), new test_user_1.DerivedUser()];
|
|
196
185
|
testUser.manyDerived[0].salary = 990;
|
|
197
186
|
testUser.manyDerived[1].salary = 1990;
|
|
198
|
-
|
|
199
|
-
})
|
|
200
|
-
it('should save a document as a reference', () =>
|
|
187
|
+
await model.save(testUser);
|
|
188
|
+
});
|
|
189
|
+
it('should save a document as a reference', async () => {
|
|
201
190
|
const subClassModel = entropic_bond_1.Store.getModel('SubClass');
|
|
202
191
|
expect(subClassModel).toBeDefined();
|
|
203
|
-
const newDocument =
|
|
192
|
+
const newDocument = await subClassModel.findById(testUser.documentRef.id);
|
|
204
193
|
expect(newDocument).toBeInstanceOf(test_user_1.SubClass);
|
|
205
194
|
expect(newDocument.year).toBe(2045);
|
|
206
|
-
})
|
|
207
|
-
it('should read a swallow document reference', () =>
|
|
208
|
-
const loadedUser =
|
|
195
|
+
});
|
|
196
|
+
it('should read a swallow document reference', async () => {
|
|
197
|
+
const loadedUser = await model.findById(testUser.id);
|
|
209
198
|
expect(loadedUser.documentRef).toBeInstanceOf(test_user_1.SubClass);
|
|
210
199
|
expect(loadedUser.documentRef.id).toBeDefined();
|
|
211
200
|
expect(loadedUser.documentRef.year).toBeUndefined();
|
|
212
|
-
})
|
|
213
|
-
it('should fill data of swallow document reference', () =>
|
|
214
|
-
const loadedUser =
|
|
215
|
-
|
|
201
|
+
});
|
|
202
|
+
it('should fill data of swallow document reference', async () => {
|
|
203
|
+
const loadedUser = await model.findById(testUser.id);
|
|
204
|
+
await entropic_bond_1.Store.populate(loadedUser.documentRef);
|
|
216
205
|
expect(loadedUser.documentRef.id).toBeDefined();
|
|
217
206
|
expect(loadedUser.documentRef.year).toBe(2045);
|
|
218
|
-
})
|
|
219
|
-
it('should save and array of references', () =>
|
|
207
|
+
});
|
|
208
|
+
it('should save and array of references', async () => {
|
|
220
209
|
const subClassModel = entropic_bond_1.Store.getModel('SubClass');
|
|
221
|
-
const newDocument =
|
|
210
|
+
const newDocument = await subClassModel.findById(testUser.documentRef.id);
|
|
222
211
|
expect(newDocument).toBeInstanceOf(test_user_1.SubClass);
|
|
223
212
|
expect(newDocument.year).toBe(2045);
|
|
224
|
-
})
|
|
225
|
-
it('should read an array of references', () =>
|
|
226
|
-
const loadedUser =
|
|
213
|
+
});
|
|
214
|
+
it('should read an array of references', async () => {
|
|
215
|
+
const loadedUser = await model.findById(testUser.id);
|
|
227
216
|
expect(loadedUser.manyRefs).toHaveLength(2);
|
|
228
217
|
expect(loadedUser.manyRefs[0]).toBeInstanceOf(test_user_1.SubClass);
|
|
229
218
|
expect(loadedUser.manyRefs[0].id).toEqual(testUser.manyRefs[0].id);
|
|
@@ -231,105 +220,108 @@ describe('Firestore Model', () => {
|
|
|
231
220
|
expect(loadedUser.manyRefs[1]).toBeInstanceOf(test_user_1.SubClass);
|
|
232
221
|
expect(loadedUser.manyRefs[1].id).toEqual(testUser.manyRefs[1].id);
|
|
233
222
|
expect(loadedUser.manyRefs[1].year).toBeUndefined();
|
|
234
|
-
})
|
|
235
|
-
it('should fill array of refs', () =>
|
|
236
|
-
const loadedUser =
|
|
237
|
-
|
|
223
|
+
});
|
|
224
|
+
it('should fill array of refs', async () => {
|
|
225
|
+
const loadedUser = await model.findById(testUser.id);
|
|
226
|
+
await entropic_bond_1.Store.populate(loadedUser.manyRefs);
|
|
238
227
|
expect(loadedUser.manyRefs[0].year).toBe(2081);
|
|
239
228
|
expect(loadedUser.manyRefs[1].year).toBe(2082);
|
|
240
|
-
})
|
|
241
|
-
it('should save a reference when declared @persistentAt', () =>
|
|
242
|
-
const loadedUser =
|
|
229
|
+
});
|
|
230
|
+
it('should save a reference when declared @persistentAt', async () => {
|
|
231
|
+
const loadedUser = await model.findById(testUser.id);
|
|
243
232
|
expect(loadedUser.derived.id).toEqual(testUser.derived.id);
|
|
244
233
|
expect(loadedUser.derived.salary).toBeUndefined();
|
|
245
|
-
|
|
234
|
+
await entropic_bond_1.Store.populate(loadedUser.derived);
|
|
246
235
|
expect(loadedUser.derived.salary).toBe(1350);
|
|
247
236
|
expect(loadedUser.derived.id).toBe(testUser.derived.id);
|
|
248
|
-
})
|
|
249
|
-
it('should populate from special collection when declared with @persistentRefAt', () =>
|
|
250
|
-
const loadedUser =
|
|
251
|
-
|
|
237
|
+
});
|
|
238
|
+
it('should populate from special collection when declared with @persistentRefAt', async () => {
|
|
239
|
+
const loadedUser = await model.findById('user6');
|
|
240
|
+
await entropic_bond_1.Store.populate(loadedUser.derived);
|
|
252
241
|
expect(loadedUser.derived.salary).toBe(2800);
|
|
253
242
|
expect(loadedUser.derived.id).toBe('user4');
|
|
254
|
-
})
|
|
255
|
-
it('should save a reference when declared @persistentAt as array', () =>
|
|
256
|
-
const loadedUser =
|
|
243
|
+
});
|
|
244
|
+
it('should save a reference when declared @persistentAt as array', async () => {
|
|
245
|
+
const loadedUser = await model.findById(testUser.id);
|
|
257
246
|
expect(loadedUser.manyDerived[0].id).toEqual(testUser.manyDerived[0].id);
|
|
258
247
|
expect(loadedUser.manyDerived[0].salary).toBeUndefined();
|
|
259
248
|
expect(loadedUser.manyDerived[1].salary).toBeUndefined();
|
|
260
|
-
|
|
249
|
+
await entropic_bond_1.Store.populate(loadedUser.manyDerived);
|
|
261
250
|
expect(loadedUser.manyDerived[0].salary).toBe(990);
|
|
262
251
|
expect(loadedUser.manyDerived[0].id).toBe(testUser.manyDerived[0].id);
|
|
263
252
|
expect(loadedUser.manyDerived[1].salary).toBe(1990);
|
|
264
253
|
expect(loadedUser.manyDerived[1].id).toBe(testUser.manyDerived[1].id);
|
|
265
|
-
})
|
|
266
|
-
it('should not overwrite not filled ref in collection', () =>
|
|
267
|
-
const loadedUser =
|
|
268
|
-
|
|
269
|
-
const refInCollection =
|
|
254
|
+
});
|
|
255
|
+
it('should not overwrite not filled ref in collection', async () => {
|
|
256
|
+
const loadedUser = await model.findById('user6');
|
|
257
|
+
await model.save(loadedUser);
|
|
258
|
+
const refInCollection = await model.findById('user4');
|
|
270
259
|
expect(refInCollection.salary).toBe(2800);
|
|
271
|
-
})
|
|
272
|
-
it('should save loaded ref with assigned new instance', () =>
|
|
273
|
-
const loadedUser =
|
|
260
|
+
});
|
|
261
|
+
it('should save loaded ref with assigned new instance', async () => {
|
|
262
|
+
const loadedUser = await model.findById('user6');
|
|
274
263
|
loadedUser.derived = new test_user_1.DerivedUser();
|
|
275
264
|
loadedUser.derived.salary = 345;
|
|
276
|
-
|
|
277
|
-
const refInCollection =
|
|
265
|
+
await model.save(loadedUser);
|
|
266
|
+
const refInCollection = await model.findById(loadedUser.derived.id);
|
|
278
267
|
expect(refInCollection.salary).toBe(345);
|
|
279
|
-
})
|
|
280
|
-
it('should save loaded ref with modified ref data', () =>
|
|
281
|
-
const loadedUser =
|
|
282
|
-
|
|
268
|
+
});
|
|
269
|
+
it('should save loaded ref with modified ref data', async () => {
|
|
270
|
+
const loadedUser = await model.findById('user6');
|
|
271
|
+
await entropic_bond_1.Store.populate(loadedUser.derived);
|
|
283
272
|
loadedUser.derived.salary = 1623;
|
|
284
|
-
|
|
285
|
-
const refInCollection =
|
|
273
|
+
await model.save(loadedUser);
|
|
274
|
+
const refInCollection = await model.findById('user4');
|
|
286
275
|
expect(refInCollection.salary).toBe(1623);
|
|
287
|
-
})
|
|
276
|
+
});
|
|
288
277
|
});
|
|
289
278
|
describe('Operations on queries', () => {
|
|
290
|
-
it('should limit the result set', () =>
|
|
291
|
-
const unlimited =
|
|
292
|
-
const limited =
|
|
279
|
+
it('should limit the result set', async () => {
|
|
280
|
+
const unlimited = await model.find().get();
|
|
281
|
+
const limited = await model.find().limit(2).get();
|
|
293
282
|
expect(unlimited.length).not.toBe(limited.length);
|
|
294
283
|
expect(limited).toHaveLength(2);
|
|
295
|
-
})
|
|
296
|
-
it('should sort ascending the result set', () =>
|
|
297
|
-
const docs =
|
|
284
|
+
});
|
|
285
|
+
it('should sort ascending the result set', async () => {
|
|
286
|
+
const docs = await model.find().orderBy('age').get();
|
|
298
287
|
expect(docs[0].id).toEqual('user2');
|
|
299
288
|
expect(docs[1].id).toEqual('user1');
|
|
300
|
-
})
|
|
301
|
-
it('should sort descending the result set', () =>
|
|
302
|
-
const docs =
|
|
289
|
+
});
|
|
290
|
+
it('should sort descending the result set', async () => {
|
|
291
|
+
const docs = await model.find().orderBy('age', 'desc').get();
|
|
303
292
|
expect(docs[0].id).toEqual('user3');
|
|
304
293
|
expect(docs[1].id).toEqual('user5');
|
|
305
|
-
})
|
|
306
|
-
it('should sort by deep property path', () =>
|
|
307
|
-
const docs =
|
|
294
|
+
});
|
|
295
|
+
it('should sort by deep property path', async () => {
|
|
296
|
+
const docs = await model.find().orderByDeepProp('name.firstName', 'desc').get();
|
|
308
297
|
expect(docs[0].id).toEqual('user6');
|
|
309
298
|
expect(docs[1].id).toEqual('user5');
|
|
310
|
-
})
|
|
311
|
-
it('should sort by swallow property path', () =>
|
|
312
|
-
const docs =
|
|
299
|
+
});
|
|
300
|
+
it('should sort by swallow property path', async () => {
|
|
301
|
+
const docs = await model.find().orderByDeepProp('age').get();
|
|
313
302
|
expect(docs[0].id).toEqual('user2');
|
|
314
303
|
expect(docs[1].id).toEqual('user1');
|
|
315
|
-
})
|
|
304
|
+
});
|
|
305
|
+
it('should count documents in collection', async () => {
|
|
306
|
+
expect(await model.find().count()).toBe(6);
|
|
307
|
+
});
|
|
316
308
|
describe('Data Cursors', () => {
|
|
317
|
-
beforeEach(() =>
|
|
318
|
-
|
|
319
|
-
})
|
|
320
|
-
it('should get next result set', () =>
|
|
321
|
-
const docs =
|
|
309
|
+
beforeEach(async () => {
|
|
310
|
+
await model.find().get(2);
|
|
311
|
+
});
|
|
312
|
+
it('should get next result set', async () => {
|
|
313
|
+
const docs = await model.next();
|
|
322
314
|
const mockDataArr = Object.values(mock_data_json_1.default.TestUser);
|
|
323
315
|
expect(docs).toHaveLength(2);
|
|
324
316
|
expect(docs[0].id).toEqual(mockDataArr[2].id);
|
|
325
317
|
expect(docs[0].id).toEqual('user3');
|
|
326
|
-
})
|
|
327
|
-
it('should not go beyond the end of result set', () =>
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
const docs =
|
|
318
|
+
});
|
|
319
|
+
it('should not go beyond the end of result set', async () => {
|
|
320
|
+
await model.next();
|
|
321
|
+
await model.next();
|
|
322
|
+
const docs = await model.next();
|
|
331
323
|
expect(docs).toHaveLength(0);
|
|
332
|
-
})
|
|
324
|
+
});
|
|
333
325
|
});
|
|
334
326
|
});
|
|
335
327
|
describe('SubCollections', () => {
|
|
@@ -337,13 +329,13 @@ describe('Firestore Model', () => {
|
|
|
337
329
|
beforeEach(() => {
|
|
338
330
|
model = entropic_bond_1.Store.getModelForSubCollection(testUser, 'SubClass');
|
|
339
331
|
});
|
|
340
|
-
it('should retrieve from subcollection', () =>
|
|
332
|
+
it('should retrieve from subcollection', async () => {
|
|
341
333
|
const subClass = new test_user_1.SubClass();
|
|
342
334
|
subClass.year = 3452;
|
|
343
|
-
|
|
344
|
-
const loaded =
|
|
335
|
+
await model.save(subClass);
|
|
336
|
+
const loaded = await model.findById(subClass.id);
|
|
345
337
|
expect(loaded.year).toBe(3452);
|
|
346
|
-
})
|
|
338
|
+
});
|
|
347
339
|
});
|
|
348
340
|
});
|
|
349
341
|
//# sourceMappingURL=firebase-datasource.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-datasource.spec.js","sourceRoot":"","sources":["../../src/store/firebase-datasource.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firebase-datasource.spec.js","sourceRoot":"","sources":["../../src/store/firebase-datasource.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entropic-bond/firebase",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"branches": [
|
|
@@ -46,22 +46,22 @@
|
|
|
46
46
|
},
|
|
47
47
|
"homepage": "https://github.com/entropic-bond/entropic-bond-firebase#readme",
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@semantic-release/changelog": "^6.0.
|
|
49
|
+
"@semantic-release/changelog": "^6.0.2",
|
|
50
50
|
"@semantic-release/git": "^10.0.1",
|
|
51
|
-
"@types/jest": "^29.2.
|
|
52
|
-
"@types/node-fetch": "
|
|
51
|
+
"@types/jest": "^29.2.5",
|
|
52
|
+
"@types/node-fetch": "2.6.2",
|
|
53
53
|
"git-branch-is": "^4.0.0",
|
|
54
|
-
"husky": "^8.0.
|
|
54
|
+
"husky": "^8.0.3",
|
|
55
55
|
"jest": "^29.3.1",
|
|
56
|
-
"node-fetch": "
|
|
56
|
+
"node-fetch": "2.6.8",
|
|
57
57
|
"semantic-release": "^19.0.5",
|
|
58
|
-
"ts-jest": "^29.0.
|
|
59
|
-
"typescript": "^4.
|
|
58
|
+
"ts-jest": "^29.0.5",
|
|
59
|
+
"typescript": "^4.9.4",
|
|
60
60
|
"xhr2": "^0.2.1"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"entropic-bond": "^1.
|
|
64
|
-
"firebase": "^9.
|
|
63
|
+
"entropic-bond": "^1.36.1",
|
|
64
|
+
"firebase": "^9.15.0"
|
|
65
65
|
},
|
|
66
66
|
"husky": {
|
|
67
67
|
"hooks": {
|