@dereekb/firebase-server 9.1.0 → 9.2.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/CHANGELOG.md +12 -0
- package/package.json +8 -7
- package/src/lib/function/assert.d.ts +8 -0
- package/src/lib/function/assert.js +19 -1
- package/src/lib/function/assert.js.map +1 -1
- package/src/lib/function/error.d.ts +12 -0
- package/src/lib/function/error.js +31 -13
- package/src/lib/function/error.js.map +1 -1
- package/src/lib/nest/model/permission.error.d.ts +2 -1
- package/src/lib/nest/model/permission.error.js +14 -8
- package/src/lib/nest/model/permission.error.js.map +1 -1
- package/src/lib/nest/nest.provider.d.ts +16 -1
- package/src/lib/nest/nest.provider.js +20 -1
- package/src/lib/nest/nest.provider.js.map +1 -1
- package/test/CHANGELOG.md +12 -0
- package/test/package.json +11 -10
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [9.2.0](https://github.com/dereekb/dbx-components/compare/v9.1.2-dev...v9.2.0) (2022-08-18)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.1.2](https://github.com/dereekb/dbx-components/compare/v9.1.1-dev...v9.1.2) (2022-08-16)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## [9.1.1](https://github.com/dereekb/dbx-components/compare/v9.1.0-dev...v9.1.1) (2022-08-16)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
5
17
|
# [9.1.0](https://github.com/dereekb/dbx-components/compare/v9.0.0-dev...v9.1.0) (2022-08-15)
|
|
6
18
|
|
|
7
19
|
|
package/package.json
CHANGED
|
@@ -1,32 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.2.0",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"firebase-functions-test": "2.0.2"
|
|
6
6
|
},
|
|
7
7
|
"peerDependencies": {
|
|
8
8
|
"jsonwebtoken": "^8.0.0",
|
|
9
|
-
"@dereekb/firebase": "9.
|
|
9
|
+
"@dereekb/firebase": "9.2.0",
|
|
10
10
|
"rxjs": "^7.5.0",
|
|
11
11
|
"firebase": "^9.9.2",
|
|
12
|
-
"@dereekb/util": "9.
|
|
12
|
+
"@dereekb/util": "9.2.0",
|
|
13
13
|
"lodash.isequal": "^4.5.0",
|
|
14
14
|
"make-error": "^1.3.0",
|
|
15
15
|
"ts-essentials": "^9.1.2",
|
|
16
16
|
"extra-set": "^2.2.11",
|
|
17
|
-
"@dereekb/rxjs": "9.
|
|
17
|
+
"@dereekb/rxjs": "9.2.0",
|
|
18
18
|
"ms": "^3.0.0-canary.1",
|
|
19
|
-
"@dereekb/model": "9.
|
|
19
|
+
"@dereekb/model": "9.2.0",
|
|
20
20
|
"class-transformer": "^0.5.1",
|
|
21
21
|
"class-validator": "^0.13.2",
|
|
22
|
-
"@dereekb/date": "9.
|
|
22
|
+
"@dereekb/date": "9.2.0",
|
|
23
23
|
"date-fns": "^2.29.0",
|
|
24
24
|
"date-fns-tz": "^1.3.0",
|
|
25
25
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
|
26
|
+
"@vvo/tzdb": "^6.56.0",
|
|
26
27
|
"firebase-functions": "^3.22.0",
|
|
27
28
|
"firebase-admin": "^11.0.0",
|
|
28
29
|
"@nestjs/common": "^9.0.0",
|
|
29
|
-
"@dereekb/nestjs": "9.
|
|
30
|
+
"@dereekb/nestjs": "9.2.0",
|
|
30
31
|
"@nestjs/config": "^2.0.1",
|
|
31
32
|
"@google-cloud/firestore": "^5.0.2",
|
|
32
33
|
"@nestjs/core": "^9.0.0",
|
|
@@ -9,3 +9,11 @@ export declare function assertContextHasAuth(context: functions.https.CallableCo
|
|
|
9
9
|
* @returns
|
|
10
10
|
*/
|
|
11
11
|
export declare function assertSnapshotData<D extends FirestoreDocument<any>>(document: D, message?: string): Promise<FirestoreDocumentData<D>>;
|
|
12
|
+
/**
|
|
13
|
+
* Asserts that the document exists. A modelNotAvailableError is thrown if the document does not exist.
|
|
14
|
+
*
|
|
15
|
+
* @param document
|
|
16
|
+
* @param message
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export declare function assertDocumentExists<D extends FirestoreDocument<any>>(document: D, message?: string): Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.assertSnapshotData = exports.assertContextHasAuth = void 0;
|
|
3
|
+
exports.assertDocumentExists = exports.assertSnapshotData = exports.assertContextHasAuth = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const context_1 = require("./context");
|
|
6
6
|
const error_1 = require("./error");
|
|
@@ -29,4 +29,22 @@ function assertSnapshotData(document, message) {
|
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
exports.assertSnapshotData = assertSnapshotData;
|
|
32
|
+
/**
|
|
33
|
+
* Asserts that the document exists. A modelNotAvailableError is thrown if the document does not exist.
|
|
34
|
+
*
|
|
35
|
+
* @param document
|
|
36
|
+
* @param message
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
function assertDocumentExists(document, message) {
|
|
40
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const exists = yield document.exists();
|
|
42
|
+
if (!exists) {
|
|
43
|
+
throw (0, error_1.modelNotAvailableError)({
|
|
44
|
+
message: message !== null && message !== void 0 ? message : `The ${document.modelType} was unavailable.`
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
exports.assertDocumentExists = assertDocumentExists;
|
|
32
50
|
//# sourceMappingURL=assert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/assert.ts"],"names":[],"mappings":";;;;AAEA,uCAAkD;AAClD,mCAAsF;AAEtF,SAAgB,oBAAoB,CAAC,OAAwC;IAC3E,IAAI,CAAC,IAAA,+BAAqB,EAAC,OAAO,CAAC,EAAE;QACnC,MAAM,IAAA,2CAAmC,GAAE,CAAC;KAC7C;AACH,CAAC;AAJD,oDAIC;AAED;;;;;;GAMG;AACH,SAAsB,kBAAkB,CAAmC,QAAW,EAAE,OAAgB;;QACtG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE3C,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,MAAM,IAAA,8BAAsB,EAAC;gBAC3B,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,QAAQ,CAAC,SAAS,mBAAmB;aACjE,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CAAA;AAVD,gDAUC"}
|
|
1
|
+
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/assert.ts"],"names":[],"mappings":";;;;AAEA,uCAAkD;AAClD,mCAAsF;AAEtF,SAAgB,oBAAoB,CAAC,OAAwC;IAC3E,IAAI,CAAC,IAAA,+BAAqB,EAAC,OAAO,CAAC,EAAE;QACnC,MAAM,IAAA,2CAAmC,GAAE,CAAC;KAC7C;AACH,CAAC;AAJD,oDAIC;AAED;;;;;;GAMG;AACH,SAAsB,kBAAkB,CAAmC,QAAW,EAAE,OAAgB;;QACtG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE3C,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,MAAM,IAAA,8BAAsB,EAAC;gBAC3B,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,QAAQ,CAAC,SAAS,mBAAmB;aACjE,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CAAA;AAVD,gDAUC;AAED;;;;;;GAMG;AACH,SAAsB,oBAAoB,CAAmC,QAAW,EAAE,OAAgB;;QACxG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEvC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAA,8BAAsB,EAAC;gBAC3B,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,QAAQ,CAAC,SAAS,mBAAmB;aACjE,CAAC,CAAC;SACJ;IACH,CAAC;CAAA;AARD,oDAQC"}
|
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
import { ErrorMessageOrPartialServerError } from '@dereekb/util';
|
|
2
2
|
import * as functions from 'firebase-functions';
|
|
3
|
+
export declare const NO_AUTH_ERROR_CODE = "NO_AUTH";
|
|
3
4
|
export declare function unauthenticatedContextHasNoAuthData(): functions.auth.HttpsError;
|
|
5
|
+
export declare const NO_UID_ERROR_CODE = "NO_USER_UID";
|
|
4
6
|
export declare function unauthenticatedContextHasNoUidError(): functions.auth.HttpsError;
|
|
7
|
+
export declare const UNAUTHENTICATED_ERROR_CODE = "UNAUTHENTICATED";
|
|
5
8
|
export declare function unauthenticatedError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
9
|
+
export declare const FORBIDDEN_ERROR_CODE = "FORBIDDEN";
|
|
6
10
|
export declare function forbiddenError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
11
|
+
export declare const PERMISSION_DENIED_ERROR_CODE = "PERMISSION_DENIED";
|
|
7
12
|
export declare function permissionDeniedError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
13
|
+
export declare const NOT_FOUND_ERROR_CODE = "NOT_FOUND";
|
|
8
14
|
export declare function notFoundError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
15
|
+
export declare const MODEL_NOT_AVAILABLE_ERROR_CODE = "MODEL_NOT_AVAILABLE";
|
|
9
16
|
export declare function modelNotAvailableError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
17
|
+
export declare const BAD_REQUEST_ERROR_CODE = "BAD_REQUEST";
|
|
10
18
|
export declare function badRequestError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
19
|
+
export declare const CONFLICT_ERROR_CODE = "CONFLICT";
|
|
11
20
|
export declare function preconditionConflictError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
21
|
+
export declare const ALREADY_EXISTS_ERROR_CODE = "ALREADY_EXISTS";
|
|
12
22
|
export declare function alreadyExistsError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
23
|
+
export declare const UNAVAILABLE_ERROR_CODE = "UNAVAILABLE";
|
|
13
24
|
export declare function unavailableError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
25
|
+
export declare const INTERNAL_SERVER_ERROR_CODE = "INTERNAL_ERROR";
|
|
14
26
|
export declare function internalServerError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
@@ -1,65 +1,83 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.internalServerError = exports.unavailableError = exports.alreadyExistsError = exports.preconditionConflictError = exports.badRequestError = exports.modelNotAvailableError = exports.notFoundError = exports.permissionDeniedError = exports.forbiddenError = exports.unauthenticatedError = exports.unauthenticatedContextHasNoUidError = exports.unauthenticatedContextHasNoAuthData = void 0;
|
|
3
|
+
exports.internalServerError = exports.INTERNAL_SERVER_ERROR_CODE = exports.unavailableError = exports.UNAVAILABLE_ERROR_CODE = exports.alreadyExistsError = exports.ALREADY_EXISTS_ERROR_CODE = exports.preconditionConflictError = exports.CONFLICT_ERROR_CODE = exports.badRequestError = exports.BAD_REQUEST_ERROR_CODE = exports.modelNotAvailableError = exports.MODEL_NOT_AVAILABLE_ERROR_CODE = exports.notFoundError = exports.NOT_FOUND_ERROR_CODE = exports.permissionDeniedError = exports.PERMISSION_DENIED_ERROR_CODE = exports.forbiddenError = exports.FORBIDDEN_ERROR_CODE = exports.unauthenticatedError = exports.UNAUTHENTICATED_ERROR_CODE = exports.unauthenticatedContextHasNoUidError = exports.NO_UID_ERROR_CODE = exports.unauthenticatedContextHasNoAuthData = exports.NO_AUTH_ERROR_CODE = void 0;
|
|
4
4
|
const util_1 = require("@dereekb/util");
|
|
5
5
|
const functions = require("firebase-functions");
|
|
6
|
+
exports.NO_AUTH_ERROR_CODE = 'NO_AUTH';
|
|
6
7
|
function unauthenticatedContextHasNoAuthData() {
|
|
7
|
-
return
|
|
8
|
+
return unauthenticatedError({
|
|
9
|
+
message: 'expected auth',
|
|
10
|
+
code: exports.NO_AUTH_ERROR_CODE
|
|
11
|
+
});
|
|
8
12
|
}
|
|
9
13
|
exports.unauthenticatedContextHasNoAuthData = unauthenticatedContextHasNoAuthData;
|
|
14
|
+
exports.NO_UID_ERROR_CODE = 'NO_USER_UID';
|
|
10
15
|
function unauthenticatedContextHasNoUidError() {
|
|
11
|
-
return
|
|
16
|
+
return unauthenticatedError({
|
|
17
|
+
message: 'no user uid',
|
|
18
|
+
code: exports.NO_UID_ERROR_CODE
|
|
19
|
+
});
|
|
12
20
|
}
|
|
13
21
|
exports.unauthenticatedContextHasNoUidError = unauthenticatedContextHasNoUidError;
|
|
14
22
|
// MARK: General Errors
|
|
23
|
+
exports.UNAUTHENTICATED_ERROR_CODE = 'UNAUTHENTICATED';
|
|
15
24
|
function unauthenticatedError(messageOrError) {
|
|
16
25
|
const serverError = (0, util_1.partialServerError)(messageOrError);
|
|
17
|
-
return new functions.https.HttpsError('unauthenticated', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'unauthenticated', Object.assign(Object.assign({ status: 401 }, serverError), { _error: undefined }));
|
|
26
|
+
return new functions.https.HttpsError('unauthenticated', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'unauthenticated', Object.assign(Object.assign({ status: 401, code: exports.UNAUTHENTICATED_ERROR_CODE }, serverError), { _error: undefined }));
|
|
18
27
|
}
|
|
19
28
|
exports.unauthenticatedError = unauthenticatedError;
|
|
29
|
+
exports.FORBIDDEN_ERROR_CODE = 'FORBIDDEN';
|
|
20
30
|
function forbiddenError(messageOrError) {
|
|
21
31
|
const serverError = (0, util_1.partialServerError)(messageOrError);
|
|
22
|
-
return new functions.https.HttpsError('permission-denied', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'forbidden', Object.assign(Object.assign({ status: 403 }, serverError), { _error: undefined }));
|
|
32
|
+
return new functions.https.HttpsError('permission-denied', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'forbidden', Object.assign(Object.assign({ status: 403, code: exports.FORBIDDEN_ERROR_CODE }, serverError), { _error: undefined }));
|
|
23
33
|
}
|
|
24
34
|
exports.forbiddenError = forbiddenError;
|
|
35
|
+
exports.PERMISSION_DENIED_ERROR_CODE = 'PERMISSION_DENIED';
|
|
25
36
|
function permissionDeniedError(messageOrError) {
|
|
26
37
|
const serverError = (0, util_1.partialServerError)(messageOrError);
|
|
27
|
-
return new functions.https.HttpsError('permission-denied', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'permission denied', Object.assign(Object.assign({ status: 403 }, serverError), { _error: undefined }));
|
|
38
|
+
return new functions.https.HttpsError('permission-denied', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'permission denied', Object.assign(Object.assign({ status: 403, code: exports.PERMISSION_DENIED_ERROR_CODE }, serverError), { _error: undefined }));
|
|
28
39
|
}
|
|
29
40
|
exports.permissionDeniedError = permissionDeniedError;
|
|
41
|
+
exports.NOT_FOUND_ERROR_CODE = 'NOT_FOUND';
|
|
30
42
|
function notFoundError(messageOrError) {
|
|
31
43
|
const serverError = (0, util_1.partialServerError)(messageOrError);
|
|
32
|
-
return new functions.https.HttpsError('not-found', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'not found', Object.assign(Object.assign({ status: 404 }, serverError), { _error: undefined }));
|
|
44
|
+
return new functions.https.HttpsError('not-found', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'not found', Object.assign(Object.assign({ status: 404, error: exports.NOT_FOUND_ERROR_CODE }, serverError), { _error: undefined }));
|
|
33
45
|
}
|
|
34
46
|
exports.notFoundError = notFoundError;
|
|
47
|
+
exports.MODEL_NOT_AVAILABLE_ERROR_CODE = 'MODEL_NOT_AVAILABLE';
|
|
35
48
|
function modelNotAvailableError(messageOrError) {
|
|
36
49
|
const serverError = (0, util_1.partialServerError)(messageOrError);
|
|
37
|
-
return new functions.https.HttpsError('not-found', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'model was not available', Object.assign(Object.assign({ status: 404 }, serverError), { _error: undefined }));
|
|
50
|
+
return new functions.https.HttpsError('not-found', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'model was not available', Object.assign(Object.assign({ status: 404, error: exports.MODEL_NOT_AVAILABLE_ERROR_CODE }, serverError), { _error: undefined }));
|
|
38
51
|
}
|
|
39
52
|
exports.modelNotAvailableError = modelNotAvailableError;
|
|
53
|
+
exports.BAD_REQUEST_ERROR_CODE = 'BAD_REQUEST';
|
|
40
54
|
function badRequestError(messageOrError) {
|
|
41
55
|
const serverError = (0, util_1.partialServerError)(messageOrError);
|
|
42
|
-
return new functions.https.HttpsError('invalid-argument', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'bad request', Object.assign(Object.assign({ status: 400 }, serverError), { _error: undefined }));
|
|
56
|
+
return new functions.https.HttpsError('invalid-argument', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'bad request', Object.assign(Object.assign({ status: 400, code: exports.BAD_REQUEST_ERROR_CODE }, serverError), { _error: undefined }));
|
|
43
57
|
}
|
|
44
58
|
exports.badRequestError = badRequestError;
|
|
59
|
+
exports.CONFLICT_ERROR_CODE = 'CONFLICT';
|
|
45
60
|
function preconditionConflictError(messageOrError) {
|
|
46
61
|
const serverError = (0, util_1.partialServerError)(messageOrError);
|
|
47
|
-
return new functions.https.HttpsError('failed-precondition', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'conflict', Object.assign(Object.assign({ status: 409 }, serverError), { _error: undefined }));
|
|
62
|
+
return new functions.https.HttpsError('failed-precondition', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'conflict', Object.assign(Object.assign({ status: 409, code: exports.CONFLICT_ERROR_CODE }, serverError), { _error: undefined }));
|
|
48
63
|
}
|
|
49
64
|
exports.preconditionConflictError = preconditionConflictError;
|
|
65
|
+
exports.ALREADY_EXISTS_ERROR_CODE = 'ALREADY_EXISTS';
|
|
50
66
|
function alreadyExistsError(messageOrError) {
|
|
51
67
|
const serverError = (0, util_1.partialServerError)(messageOrError);
|
|
52
|
-
return new functions.https.HttpsError('already-exists', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'already exists', Object.assign(Object.assign({ status: 409 }, serverError), { _error: undefined }));
|
|
68
|
+
return new functions.https.HttpsError('already-exists', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'already exists', Object.assign(Object.assign({ status: 409, code: exports.ALREADY_EXISTS_ERROR_CODE }, serverError), { _error: undefined }));
|
|
53
69
|
}
|
|
54
70
|
exports.alreadyExistsError = alreadyExistsError;
|
|
71
|
+
exports.UNAVAILABLE_ERROR_CODE = 'UNAVAILABLE';
|
|
55
72
|
function unavailableError(messageOrError) {
|
|
56
73
|
const serverError = (0, util_1.partialServerError)(messageOrError);
|
|
57
|
-
return new functions.https.HttpsError('unavailable', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'service unavailable', Object.assign(Object.assign({ status: 503 }, serverError), { _error: undefined }));
|
|
74
|
+
return new functions.https.HttpsError('unavailable', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'service unavailable', Object.assign(Object.assign({ status: 503, code: exports.UNAVAILABLE_ERROR_CODE }, serverError), { _error: undefined }));
|
|
58
75
|
}
|
|
59
76
|
exports.unavailableError = unavailableError;
|
|
77
|
+
exports.INTERNAL_SERVER_ERROR_CODE = 'INTERNAL_ERROR';
|
|
60
78
|
function internalServerError(messageOrError) {
|
|
61
79
|
const serverError = (0, util_1.partialServerError)(messageOrError);
|
|
62
|
-
return new functions.https.HttpsError('internal', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'internal error', Object.assign(Object.assign({ status: 500 }, serverError), { _error: undefined }));
|
|
80
|
+
return new functions.https.HttpsError('internal', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'internal error', Object.assign(Object.assign({ status: 500, code: exports.INTERNAL_SERVER_ERROR_CODE }, serverError), { _error: undefined }));
|
|
63
81
|
}
|
|
64
82
|
exports.internalServerError = internalServerError;
|
|
65
83
|
//# sourceMappingURL=error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.ts"],"names":[],"mappings":";;;AAAA,wCAAqF;AACrF,gDAAgD;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { FirebasePermissionErrorContextErrorFunction } from '@dereekb/firebase';
|
|
1
|
+
import { FirebaseDoesNotExistErrorContextErrorFunction, FirebasePermissionErrorContextErrorFunction } from '@dereekb/firebase';
|
|
2
|
+
export declare const nestFirebaseDoesNotExistError: FirebaseDoesNotExistErrorContextErrorFunction;
|
|
2
3
|
export declare const nestFirebaseForbiddenPermissionError: FirebasePermissionErrorContextErrorFunction;
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.nestFirebaseForbiddenPermissionError = void 0;
|
|
4
|
-
const util_1 = require("@dereekb/util");
|
|
3
|
+
exports.nestFirebaseForbiddenPermissionError = exports.nestFirebaseDoesNotExistError = void 0;
|
|
5
4
|
const error_1 = require("../../function/error");
|
|
5
|
+
const nestFirebaseDoesNotExistError = (firebaseContextGrantedModelRoles) => {
|
|
6
|
+
var _a, _b;
|
|
7
|
+
return (0, error_1.modelNotAvailableError)({
|
|
8
|
+
data: {
|
|
9
|
+
id: (_a = firebaseContextGrantedModelRoles.data) === null || _a === void 0 ? void 0 : _a.document.key,
|
|
10
|
+
type: (_b = firebaseContextGrantedModelRoles.data) === null || _b === void 0 ? void 0 : _b.document.modelType
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
exports.nestFirebaseDoesNotExistError = nestFirebaseDoesNotExistError;
|
|
6
15
|
const nestFirebaseForbiddenPermissionError = (firebaseContextGrantedModelRoles, roles) => {
|
|
7
16
|
var _a, _b;
|
|
8
|
-
return (0, error_1.forbiddenError)(
|
|
9
|
-
status: 403,
|
|
10
|
-
code: 'PERMISSION_ERROR',
|
|
11
|
-
message: 'You do not have permission to do this.',
|
|
17
|
+
return (0, error_1.forbiddenError)({
|
|
12
18
|
data: {
|
|
13
|
-
id: (_a = firebaseContextGrantedModelRoles.data) === null || _a === void 0 ? void 0 : _a.document.
|
|
19
|
+
id: (_a = firebaseContextGrantedModelRoles.data) === null || _a === void 0 ? void 0 : _a.document.key,
|
|
14
20
|
type: (_b = firebaseContextGrantedModelRoles.data) === null || _b === void 0 ? void 0 : _b.document.modelType,
|
|
15
21
|
roles
|
|
16
22
|
}
|
|
17
|
-
})
|
|
23
|
+
});
|
|
18
24
|
};
|
|
19
25
|
exports.nestFirebaseForbiddenPermissionError = nestFirebaseForbiddenPermissionError;
|
|
20
26
|
//# sourceMappingURL=permission.error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.error.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/permission.error.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"permission.error.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/permission.error.ts"],"names":[],"mappings":";;;AAGA,gDAA8E;AAEvE,MAAM,6BAA6B,GAAkD,CAAC,gCAA2G,EAAE,EAAE;;IAC1M,OAAO,IAAA,8BAAsB,EAAC;QAC5B,IAAI,EAAE;YACJ,EAAE,EAAE,MAAA,gCAAgC,CAAC,IAAI,0CAAE,QAAQ,CAAC,GAAG;YACvD,IAAI,EAAE,MAAA,gCAAgC,CAAC,IAAI,0CAAE,QAAQ,CAAC,SAAS;SAChE;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAPW,QAAA,6BAA6B,iCAOxC;AAEK,MAAM,oCAAoC,GAAgD,CAAC,gCAA2G,EAAE,KAAiC,EAAE,EAAE;;IAClP,OAAO,IAAA,sBAAc,EAAC;QACpB,IAAI,EAAE;YACJ,EAAE,EAAE,MAAA,gCAAgC,CAAC,IAAI,0CAAE,QAAQ,CAAC,GAAG;YACvD,IAAI,EAAE,MAAA,gCAAgC,CAAC,IAAI,0CAAE,QAAQ,CAAC,SAAS;YAC/D,KAAK;SACN;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,oCAAoC,wCAQ/C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FirebaseAppModelContext, FirebaseModelServiceContext, FirebaseModelsService, FirebaseModelsServiceSelectionResultRolesReader, FirebaseModelsServiceTypes, InContextFirebaseModelsService, UseFirebaseModelsServiceSelection, UseFirebaseModelsServiceSelectionUseFunction } from '@dereekb/firebase';
|
|
1
|
+
import { FirebaseAppModelContext, FirebaseModelServiceContext, FirebaseModelsService, FirebaseModelsServiceSelectionResultRolesReader, FirebaseModelsServiceTypes, InContextFirebaseModelsService, UseFirebaseModelsServiceSelection, UseFirebaseModelsServiceSelectionUseFunction, FirebasePermissionErrorContextErrorFunction, FirebaseDoesNotExistErrorContextErrorFunction } from '@dereekb/firebase';
|
|
2
2
|
import { BuildFunction, Getter } from '@dereekb/util';
|
|
3
3
|
import { INestApplicationContext } from '@nestjs/common';
|
|
4
4
|
import { AuthDataRef } from '../auth';
|
|
@@ -27,6 +27,21 @@ export declare abstract class AbstractNestContext {
|
|
|
27
27
|
constructor(nest: INestApplicationContext);
|
|
28
28
|
}
|
|
29
29
|
export declare abstract class AbstractFirebaseNestContext<A, Y extends FirebaseModelsService<any, FirebaseAppModelContext<A>>> extends AbstractNestContext implements FirebaseServerAuthServiceRef, FirebaseServerStorageServiceRef {
|
|
30
|
+
/**
|
|
31
|
+
* FirebasePermissionErrorContextErrorFunction to use with makeModelContext().
|
|
32
|
+
*
|
|
33
|
+
* Defaults to nestFirebaseForbiddenPermissionError().
|
|
34
|
+
*/
|
|
35
|
+
protected makePermissionError: FirebasePermissionErrorContextErrorFunction;
|
|
36
|
+
/**
|
|
37
|
+
* FirebaseDoesNotExistErrorContextErrorFunction to use with makeModelContext().
|
|
38
|
+
*
|
|
39
|
+
* Defaults to nestFirebaseDoesNotExistError().
|
|
40
|
+
*
|
|
41
|
+
* Some configurations may prefer to use nestFirebaseForbiddenPermissionError instead, which returns a forbidden error instead.
|
|
42
|
+
* This prevents the leaking of information about the existence of an object.
|
|
43
|
+
*/
|
|
44
|
+
protected makeDoesNotExistError: FirebaseDoesNotExistErrorContextErrorFunction;
|
|
30
45
|
abstract get actionContext(): FirebaseServerActionsContext;
|
|
31
46
|
abstract get authService(): FirebaseServerAuthService;
|
|
32
47
|
abstract get firebaseModelsService(): Y;
|
|
@@ -16,6 +16,24 @@ class AbstractNestContext {
|
|
|
16
16
|
}
|
|
17
17
|
exports.AbstractNestContext = AbstractNestContext;
|
|
18
18
|
class AbstractFirebaseNestContext extends AbstractNestContext {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
/**
|
|
22
|
+
* FirebasePermissionErrorContextErrorFunction to use with makeModelContext().
|
|
23
|
+
*
|
|
24
|
+
* Defaults to nestFirebaseForbiddenPermissionError().
|
|
25
|
+
*/
|
|
26
|
+
this.makePermissionError = permission_error_1.nestFirebaseForbiddenPermissionError;
|
|
27
|
+
/**
|
|
28
|
+
* FirebaseDoesNotExistErrorContextErrorFunction to use with makeModelContext().
|
|
29
|
+
*
|
|
30
|
+
* Defaults to nestFirebaseDoesNotExistError().
|
|
31
|
+
*
|
|
32
|
+
* Some configurations may prefer to use nestFirebaseForbiddenPermissionError instead, which returns a forbidden error instead.
|
|
33
|
+
* This prevents the leaking of information about the existence of an object.
|
|
34
|
+
*/
|
|
35
|
+
this.makeDoesNotExistError = permission_error_1.nestFirebaseDoesNotExistError;
|
|
36
|
+
}
|
|
19
37
|
get storageService() {
|
|
20
38
|
return this.nest.get(storage_1.FirebaseServerStorageService);
|
|
21
39
|
}
|
|
@@ -30,7 +48,8 @@ class AbstractFirebaseNestContext extends AbstractNestContext {
|
|
|
30
48
|
const base = {
|
|
31
49
|
auth: this.authService.authContextInfo(auth),
|
|
32
50
|
app: this.app,
|
|
33
|
-
makePermissionError:
|
|
51
|
+
makePermissionError: this.makePermissionError,
|
|
52
|
+
makeDoesNotExistError: this.makeDoesNotExistError
|
|
34
53
|
};
|
|
35
54
|
return buildFn
|
|
36
55
|
? (0, util_1.build)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nest.provider.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/nest.provider.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"nest.provider.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/nest.provider.ts"],"names":[],"mappings":";;;;AAAA,gDAA2c;AAC3c,wCAA6D;AAI7D,wCAA2F;AAE3F,+DAA+G;AAmB/G;;GAEG;AACH,MAAsB,mBAAmB;IACvC,YAAqB,IAA6B;QAA7B,SAAI,GAAJ,IAAI,CAAyB;IAAG,CAAC;CACvD;AAFD,kDAEC;AAED,MAAsB,2BAAiG,SAAQ,mBAAmB;IAAlJ;;QACE;;;;WAIG;QACO,wBAAmB,GAAgD,uDAAoC,CAAC;QAElH;;;;;;;WAOG;QACO,0BAAqB,GAAkD,gDAA6B,CAAC;IA4DjH,CAAC;IArDC,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,sCAA4B,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAiB,EAAE,OAAmD;QACrF,MAAM,IAAI,GAA+B;YACvC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC;YAC5C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC;QAEF,OAAO,OAAO;YACZ,CAAC,CAAC,IAAA,YAAK,EAAC;gBACJ,IAAI;gBACJ,KAAK,EAAE,OAAO;aACf,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAoB,EAAE,OAAmD;QAC7E,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,OAAO,IAAA,gDAAqC,EAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAsC,CAAC;IACtI,CAAC;IAIK,QAAQ,CAA6C,IAAO,EAAE,MAA0H;;;YAC5L,MAAM,OAAO,GAA+B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAClG,MAAM,UAAU,GAAG,IAAA,mCAAwB,EAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,EAAE;gBAC5E,OAAO;gBACP,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;aACC,CAAC,CAAC;YAE9C,MAAM,GAAG,GAA0D,MAAC,MAA6D,CAAC,GAAG,mCAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAiB,CAAC,CAAC;YACpK,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;;KACxB;CACF;AA5ED,kEA4EC"}
|
package/test/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [9.2.0](https://github.com/dereekb/dbx-components/compare/v9.1.2-dev...v9.2.0) (2022-08-18)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.1.2](https://github.com/dereekb/dbx-components/compare/v9.1.1-dev...v9.1.2) (2022-08-16)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## [9.1.1](https://github.com/dereekb/dbx-components/compare/v9.1.0-dev...v9.1.1) (2022-08-16)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
5
17
|
# [9.1.0](https://github.com/dereekb/dbx-components/compare/v9.0.0-dev...v9.1.0) (2022-08-15)
|
|
6
18
|
|
|
7
19
|
|
package/test/package.json
CHANGED
|
@@ -1,37 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/test",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.2.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"typings": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@dereekb/firebase": "9.
|
|
9
|
+
"@dereekb/firebase": "9.2.0",
|
|
10
10
|
"rxjs": "^7.5.0",
|
|
11
11
|
"firebase": "^9.9.2",
|
|
12
|
-
"@dereekb/util": "9.
|
|
12
|
+
"@dereekb/util": "9.2.0",
|
|
13
13
|
"lodash.isequal": "^4.5.0",
|
|
14
14
|
"make-error": "^1.3.0",
|
|
15
15
|
"ts-essentials": "^9.1.2",
|
|
16
16
|
"extra-set": "^2.2.11",
|
|
17
|
-
"@dereekb/rxjs": "9.
|
|
17
|
+
"@dereekb/rxjs": "9.2.0",
|
|
18
18
|
"ms": "^3.0.0-canary.1",
|
|
19
|
-
"@dereekb/model": "9.
|
|
19
|
+
"@dereekb/model": "9.2.0",
|
|
20
20
|
"class-transformer": "^0.5.1",
|
|
21
21
|
"class-validator": "^0.13.2",
|
|
22
|
-
"@dereekb/date": "9.
|
|
22
|
+
"@dereekb/date": "9.2.0",
|
|
23
23
|
"date-fns": "^2.29.0",
|
|
24
24
|
"date-fns-tz": "^1.3.0",
|
|
25
25
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
|
26
|
-
"@
|
|
26
|
+
"@vvo/tzdb": "^6.56.0",
|
|
27
|
+
"@dereekb/util/test": "9.2.0",
|
|
27
28
|
"firebase-admin": "^11.0.0",
|
|
28
29
|
"jsonwebtoken": "^8.0.0",
|
|
29
30
|
"firebase-functions": "^3.22.0",
|
|
30
31
|
"@nestjs/common": "^9.0.0",
|
|
31
32
|
"@google-cloud/firestore": "^5.0.2",
|
|
32
|
-
"@dereekb/firebase/test": "9.
|
|
33
|
-
"@dereekb/firebase-server": "9.
|
|
34
|
-
"@dereekb/nestjs": "9.
|
|
33
|
+
"@dereekb/firebase/test": "9.2.0",
|
|
34
|
+
"@dereekb/firebase-server": "9.2.0",
|
|
35
|
+
"@dereekb/nestjs": "9.2.0",
|
|
35
36
|
"@nestjs/config": "^2.0.1",
|
|
36
37
|
"@nestjs/core": "^9.0.0",
|
|
37
38
|
"@nestjs/platform-express": "^9.0.0",
|