@dereekb/firebase-server 8.12.7 → 8.12.10

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 CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [8.12.10](https://github.com/dereekb/dbx-components/compare/v8.12.9-dev...v8.12.10) (2022-07-13)
6
+
7
+
8
+
9
+ ## [8.12.9](https://github.com/dereekb/dbx-components/compare/v8.12.8-dev...v8.12.9) (2022-07-12)
10
+
11
+
12
+
13
+ ## [8.12.8](https://github.com/dereekb/dbx-components/compare/v8.12.7-dev...v8.12.8) (2022-07-12)
14
+
15
+
16
+
5
17
  ## [8.12.7](https://github.com/dereekb/dbx-components/compare/v8.12.6-dev...v8.12.7) (2022-07-11)
6
18
 
7
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server",
3
- "version": "8.12.7",
3
+ "version": "8.12.10",
4
4
  "devDependencies": {
5
5
  "firebase-functions-test": "2.0.2"
6
6
  },
@@ -20,27 +20,27 @@
20
20
  "typings": "./src/index.d.ts",
21
21
  "dependencies": {},
22
22
  "peerDependencies": {
23
- "@dereekb/firebase": "8.12.7",
23
+ "@dereekb/firebase": "8.12.10",
24
24
  "rxfire": "^6.0.3",
25
25
  "rxjs": "^7.0.0",
26
26
  "firebase": "^9.8.0",
27
- "@dereekb/util": "8.12.7",
27
+ "@dereekb/util": "8.12.10",
28
28
  "make-error": "^1.3.0",
29
29
  "ts-essentials": "^9.1.2",
30
30
  "extra-set": "^2.2.11",
31
- "@dereekb/rxjs": "8.12.7",
31
+ "@dereekb/rxjs": "8.12.10",
32
32
  "ms": "^3.0.0-canary.1",
33
- "@dereekb/model": "8.12.7",
33
+ "@dereekb/model": "8.12.10",
34
34
  "class-transformer": "^0.5.1",
35
35
  "class-validator": "^0.13.2",
36
- "@dereekb/date": "8.12.7",
36
+ "@dereekb/date": "8.12.10",
37
37
  "date-fns": "^2.28.0",
38
38
  "date-fns-tz": "^1.3.0",
39
39
  "rrule": "2.7.0",
40
40
  "firebase-functions": "^3.22.0",
41
41
  "firebase-admin": "^11.0.0",
42
42
  "@nestjs/common": "^8.4.0",
43
- "@dereekb/nestjs": "8.12.7",
43
+ "@dereekb/nestjs": "8.12.10",
44
44
  "@nestjs/config": "^2.0.1",
45
45
  "@google-cloud/firestore": "^5.0.2",
46
46
  "@nestjs/core": "^8.4.0",
@@ -1,7 +1,12 @@
1
1
  import { UserRelated } from '@dereekb/firebase';
2
+ import { ArrayOrValue, AuthRole } from '@dereekb/util';
2
3
  import { NestContextCallableRequestWithAuth } from '../nest/function/nest';
3
4
  import { AbstractFirebaseNestContext } from '../nest/nest.provider';
4
5
  export declare function assertIsAdminInRequest<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I = unknown>(request: NestContextCallableRequestWithAuth<N, I>): void;
5
6
  export declare function isAdminInRequest<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I = unknown>(request: NestContextCallableRequestWithAuth<N, I>): boolean;
6
7
  export declare function assertIsAdminOrTargetUserInRequestData<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I extends Partial<UserRelated> = Partial<UserRelated>>(request: NestContextCallableRequestWithAuth<N, I>, requireUid?: boolean): string;
7
8
  export declare function isAdminOrTargetUserInRequestData<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I extends Partial<UserRelated> = Partial<UserRelated>>(request: NestContextCallableRequestWithAuth<N, I>, requireUid?: boolean): boolean;
9
+ export declare function assertHasSignedTosInRequest<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I = unknown>(request: NestContextCallableRequestWithAuth<N, I>): void;
10
+ export declare function hasSignedTosInRequest<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I = unknown>(request: NestContextCallableRequestWithAuth<N, I>): boolean;
11
+ export declare function assertHasRolesInRequest<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I = unknown>(request: NestContextCallableRequestWithAuth<N, I>, authRoles: ArrayOrValue<AuthRole>): void;
12
+ export declare function hasAuthRolesInRequest<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I = unknown>(request: NestContextCallableRequestWithAuth<N, I>, authRoles: ArrayOrValue<AuthRole>): boolean;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAdminOrTargetUserInRequestData = exports.assertIsAdminOrTargetUserInRequestData = exports.isAdminInRequest = exports.assertIsAdminInRequest = void 0;
3
+ exports.hasAuthRolesInRequest = exports.assertHasRolesInRequest = exports.hasSignedTosInRequest = exports.assertHasSignedTosInRequest = exports.isAdminOrTargetUserInRequestData = exports.assertIsAdminOrTargetUserInRequestData = exports.isAdminInRequest = exports.assertIsAdminInRequest = void 0;
4
+ const util_1 = require("@dereekb/util");
4
5
  const function_1 = require("../function");
5
6
  function assertIsAdminInRequest(request) {
6
7
  if (!isAdminInRequest(request)) {
@@ -30,4 +31,31 @@ function isAdminOrTargetUserInRequestData(request, requireUid = false) {
30
31
  return isAdminOrTargetUser;
31
32
  }
32
33
  exports.isAdminOrTargetUserInRequestData = isAdminOrTargetUserInRequestData;
34
+ function assertHasSignedTosInRequest(request) {
35
+ if (!hasSignedTosInRequest(request)) {
36
+ throw (0, function_1.forbiddenError)({
37
+ message: 'ToS has not been signed.'
38
+ });
39
+ }
40
+ }
41
+ exports.assertHasSignedTosInRequest = assertHasSignedTosInRequest;
42
+ function hasSignedTosInRequest(request) {
43
+ return request.nest.authService.context(request).hasSignedTos;
44
+ }
45
+ exports.hasSignedTosInRequest = hasSignedTosInRequest;
46
+ function assertHasRolesInRequest(request, authRoles) {
47
+ if (!hasAuthRolesInRequest(request, authRoles)) {
48
+ throw (0, function_1.forbiddenError)({
49
+ message: 'Missing required auth roles.',
50
+ data: {
51
+ roles: (0, util_1.asArray)(authRoles)
52
+ }
53
+ });
54
+ }
55
+ }
56
+ exports.assertHasRolesInRequest = assertHasRolesInRequest;
57
+ function hasAuthRolesInRequest(request, authRoles) {
58
+ return (0, util_1.containsAllValues)(request.nest.authService.context(request).authRoles, authRoles);
59
+ }
60
+ exports.hasAuthRolesInRequest = hasAuthRolesInRequest;
33
61
  //# sourceMappingURL=auth.nest.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.nest.util.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.nest.util.ts"],"names":[],"mappings":";;;AACA,0CAA6C;AAI7C,SAAgB,sBAAsB,CAAuG,OAAiD;IAC5L,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC9B,MAAM,IAAA,yBAAc,GAAE,CAAC;KACxB;AACH,CAAC;AAJD,wDAIC;AAED,SAAgB,gBAAgB,CAAuG,OAAiD;IACtL,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AAC3D,CAAC;AAFD,4CAEC;AAED,SAAgB,sCAAsC,CAAiJ,OAAiD,EAAE,UAAoB;;IAC5Q,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;QAC1D,MAAM,IAAA,yBAAc,GAAE,CAAC;KACxB;IAED,OAAO,MAAA,OAAO,CAAC,IAAI,CAAC,GAAG,mCAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9C,CAAC;AAND,wFAMC;AAED,SAAgB,gCAAgC,CAAiJ,OAAiD,EAAE,UAAU,GAAG,KAAK;IACpQ,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAEjC,IAAI,mBAAmB,GAAG,IAAI,CAAC;IAE/B,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,OAAO,CAAC,EAAE;QACnE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;KACzE;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAXD,4EAWC"}
1
+ {"version":3,"file":"auth.nest.util.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.nest.util.ts"],"names":[],"mappings":";;;AACA,wCAAmF;AACnF,0CAA6C;AAI7C,SAAgB,sBAAsB,CAAuG,OAAiD;IAC5L,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC9B,MAAM,IAAA,yBAAc,GAAE,CAAC;KACxB;AACH,CAAC;AAJD,wDAIC;AAED,SAAgB,gBAAgB,CAAuG,OAAiD;IACtL,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AAC3D,CAAC;AAFD,4CAEC;AAED,SAAgB,sCAAsC,CAAiJ,OAAiD,EAAE,UAAoB;;IAC5Q,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;QAC1D,MAAM,IAAA,yBAAc,GAAE,CAAC;KACxB;IAED,OAAO,MAAA,OAAO,CAAC,IAAI,CAAC,GAAG,mCAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9C,CAAC;AAND,wFAMC;AAED,SAAgB,gCAAgC,CAAiJ,OAAiD,EAAE,UAAU,GAAG,KAAK;IACpQ,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAEjC,IAAI,mBAAmB,GAAG,IAAI,CAAC;IAE/B,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,OAAO,CAAC,EAAE;QACnE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;KACzE;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAXD,4EAWC;AAED,SAAgB,2BAA2B,CAAuG,OAAiD;IACjM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,IAAA,yBAAc,EAAC;YACnB,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;KACJ;AACH,CAAC;AAND,kEAMC;AAED,SAAgB,qBAAqB,CAAuG,OAAiD;IAC3L,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;AAChE,CAAC;AAFD,sDAEC;AAED,SAAgB,uBAAuB,CAAuG,OAAiD,EAAE,SAAiC;IAChO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;QAC9C,MAAM,IAAA,yBAAc,EAAC;YACnB,OAAO,EAAE,8BAA8B;YACvC,IAAI,EAAE;gBACJ,KAAK,EAAE,IAAA,cAAO,EAAC,SAAS,CAAC;aAC1B;SACF,CAAC,CAAC;KACJ;AACH,CAAC;AATD,0DASC;AAED,SAAgB,qBAAqB,CAAuG,OAAiD,EAAE,SAAiC;IAC9N,OAAO,IAAA,wBAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAC3F,CAAC;AAFD,sDAEC"}
@@ -88,6 +88,10 @@ export interface FirebaseServerAuthContext<U extends FirebaseServerAuthUserConte
88
88
  * Whether or not the context sees the user as an admin of the system.
89
89
  */
90
90
  readonly isAdmin: boolean;
91
+ /**
92
+ * Whether or not the context sees the user as having signed the terms of service.
93
+ */
94
+ readonly hasSignedTos: boolean;
91
95
  /**
92
96
  * The auth roles provided by the token in this context.
93
97
  */
@@ -104,12 +108,14 @@ export interface FirebaseServerAuthContext<U extends FirebaseServerAuthUserConte
104
108
  export declare abstract class AbstractFirebaseServerAuthContext<C extends FirebaseServerAuthContext, U extends FirebaseServerAuthUserContext = FirebaseServerAuthUserContext, S extends FirebaseServerAuthService<U, C> = FirebaseServerAuthService<U, C>> implements FirebaseServerAuthContext {
105
109
  readonly service: S;
106
110
  readonly context: CallableContextWithAuthData;
107
- private readonly _isAdmin;
108
111
  private readonly _authRoles;
112
+ private readonly _isAdmin;
113
+ private readonly _hasSignedTos;
109
114
  private readonly _userContext;
110
115
  constructor(service: S, context: CallableContextWithAuthData);
111
116
  get userContext(): U;
112
117
  get isAdmin(): boolean;
118
+ get hasSignedTos(): boolean;
113
119
  get authRoles(): AuthRoleSet;
114
120
  get token(): admin.auth.DecodedIdToken;
115
121
  get claims(): AuthClaims;
@@ -148,12 +154,24 @@ export declare abstract class FirebaseServerAuthService<U extends FirebaseServer
148
154
  * @param claims
149
155
  */
150
156
  abstract isAdmin(claims: AuthClaims): boolean;
157
+ /**
158
+ * Whether or not the input claims indiciate the user has signed the ToS.
159
+ *
160
+ * @param claims
161
+ */
162
+ abstract hasSignedTos(claims: AuthClaims): boolean;
151
163
  /**
152
164
  * Whether or not the input roles indicate admin priviledges.
153
165
  *
154
166
  * @param roles
155
167
  */
156
168
  abstract isAdminInRoles(roles: AuthRoleSet): boolean;
169
+ /**
170
+ * Whether or not the input roles indiciate the user has signed the ToS.
171
+ *
172
+ * @param claims
173
+ */
174
+ abstract hasSignedTosInRoles(roles: AuthRoleSet): boolean;
157
175
  /**
158
176
  * Reads the AuthRoleSet from the input claims.
159
177
  *
@@ -186,6 +204,8 @@ export declare abstract class AbstractFirebaseServerAuthService<U extends Fireba
186
204
  abstract userContext(uid: FirebaseAuthUserId): U;
187
205
  isAdmin(claims: AuthClaims): boolean;
188
206
  isAdminInRoles(roles: AuthRoleSet): boolean;
207
+ hasSignedTos(claims: AuthClaims): boolean;
208
+ hasSignedTosInRoles(roles: AuthRoleSet): boolean;
189
209
  abstract readRoles(claims: AuthClaims): AuthRoleSet;
190
210
  abstract claimsForRoles(roles: AuthRoleSet): AuthClaimsUpdate;
191
211
  authContextInfo(context: AuthDataRef): Maybe<FirebaseAuthContextInfo>;
@@ -74,8 +74,9 @@ class AbstractFirebaseServerAuthContext {
74
74
  constructor(service, context) {
75
75
  this.service = service;
76
76
  this.context = context;
77
- this._isAdmin = (0, util_1.cachedGetter)(() => this.service.isAdmin(this.claims));
78
77
  this._authRoles = (0, util_1.cachedGetter)(() => this.service.readRoles(this.claims));
78
+ this._isAdmin = (0, util_1.cachedGetter)(() => this.service.isAdminInRoles(this._authRoles()));
79
+ this._hasSignedTos = (0, util_1.cachedGetter)(() => this.service.hasSignedTosInRoles(this._authRoles()));
79
80
  this._userContext = (0, util_1.cachedGetter)(() => this.service.userContext(this.context.auth.uid));
80
81
  }
81
82
  get userContext() {
@@ -84,6 +85,9 @@ class AbstractFirebaseServerAuthContext {
84
85
  get isAdmin() {
85
86
  return this._isAdmin();
86
87
  }
88
+ get hasSignedTos() {
89
+ return this._hasSignedTos();
90
+ }
87
91
  get authRoles() {
88
92
  return this._authRoles();
89
93
  }
@@ -122,6 +126,12 @@ class AbstractFirebaseServerAuthService {
122
126
  isAdminInRoles(roles) {
123
127
  return roles.has(util_1.AUTH_ADMIN_ROLE);
124
128
  }
129
+ hasSignedTos(claims) {
130
+ return this.hasSignedTosInRoles(this.readRoles(claims));
131
+ }
132
+ hasSignedTosInRoles(roles) {
133
+ return roles.has(util_1.AUTH_TOS_SIGNED_ROLE);
134
+ }
125
135
  authContextInfo(context) {
126
136
  const { auth } = context;
127
137
  let result;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.service.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,19 @@ import { PromiseOrValue } from '@dereekb/util';
2
2
  import { FirestoreModelType, FirestoreModelIdentity, FirestoreModelTypes, OnCallCreateModelParams, OnCallCreateModelResult, ModelFirebaseCrudFunctionSpecifierRef } from '@dereekb/firebase';
3
3
  import { OnCallWithAuthorizedNestContext } from '../function/call';
4
4
  import { NestContextCallableRequestWithAuth } from '../function/nest';
5
+ import { AssertModelCrudRequestFunction } from './crud.assert.function';
5
6
  export declare type OnCallCreateModelFunction<N, I = unknown, O extends OnCallCreateModelResult = OnCallCreateModelResult> = (request: NestContextCallableRequestWithAuth<N, I> & ModelFirebaseCrudFunctionSpecifierRef) => PromiseOrValue<O>;
6
7
  export declare type OnCallCreateModelMap<N, T extends FirestoreModelIdentity = FirestoreModelIdentity> = {
7
8
  [K in FirestoreModelTypes<T>]?: OnCallCreateModelFunction<N, any, OnCallCreateModelResult>;
8
9
  };
10
+ export interface OnCallCreateModelConfig<N> {
11
+ preAssert?: AssertModelCrudRequestFunction<N, OnCallCreateModelParams>;
12
+ }
9
13
  /**
10
14
  * Creates a OnCallWithAuthorizedNestContext function for creating a model.
11
15
  *
12
16
  * @param map
13
17
  * @returns
14
18
  */
15
- export declare function onCallCreateModel<N>(map: OnCallCreateModelMap<N>): OnCallWithAuthorizedNestContext<N, OnCallCreateModelParams, OnCallCreateModelResult>;
19
+ export declare function onCallCreateModel<N>(map: OnCallCreateModelMap<N>, config?: OnCallCreateModelConfig<N>): OnCallWithAuthorizedNestContext<N, OnCallCreateModelParams, OnCallCreateModelResult>;
16
20
  export declare function createModelUnknownModelTypeError(modelType: FirestoreModelType): import("firebase-functions/v1/auth").HttpsError;
@@ -9,13 +9,16 @@ const function_1 = require("../../function");
9
9
  * @param map
10
10
  * @returns
11
11
  */
12
- function onCallCreateModel(map) {
12
+ function onCallCreateModel(map, config = {}) {
13
+ const { preAssert = () => undefined } = config;
13
14
  return (request) => {
14
15
  var _a;
15
16
  const modelType = (_a = request.data) === null || _a === void 0 ? void 0 : _a.modelType;
16
17
  const createFn = map[modelType];
17
18
  if (createFn) {
18
- return createFn(Object.assign(Object.assign({}, request), { specifier: request.data.specifier, data: request.data.data }));
19
+ const specifier = request.data.specifier;
20
+ preAssert({ crud: 'create', request, modelType, specifier });
21
+ return createFn(Object.assign(Object.assign({}, request), { specifier, data: request.data.data }));
19
22
  }
20
23
  else {
21
24
  throw createModelUnknownModelTypeError(modelType);
@@ -1 +1 @@
1
- {"version":3,"file":"create.model.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/create.model.function.ts"],"names":[],"mappings":";;;AAAA,wCAA4D;AAE5D,6CAAiD;AAWjD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,GAA4B;IAC/D,OAAO,CAAC,OAAO,EAAE,EAAE;;QACjB,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,IAAI,0CAAE,SAAS,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,iCACV,OAAO,KACV,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IACvB,CAAC;SACJ;aAAM;YACL,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;AACJ,CAAC;AAfD,8CAeC;AAED,SAAgB,gCAAgC,CAAC,SAA6B;IAC5E,OAAO,IAAA,0BAAe,EACpB,IAAA,kBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,iBAAiB,SAAS,cAAc;QACjD,IAAI,EAAE;YACJ,SAAS;SACV;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAXD,4EAWC"}
1
+ {"version":3,"file":"create.model.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/create.model.function.ts"],"names":[],"mappings":";;;AAAA,wCAA4D;AAE5D,6CAAiD;AAgBjD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,GAA4B,EAAE,SAAqC,EAAE;IACxG,MAAM,EAAE,SAAS,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC;IAE/C,OAAO,CAAC,OAAO,EAAE,EAAE;;QACjB,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,IAAI,0CAAE,SAAS,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,QAAQ,EAAE;YACZ,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YACzC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7D,OAAO,QAAQ,iCACV,OAAO,KACV,SAAS,EACT,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IACvB,CAAC;SACJ;aAAM;YACL,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;AACJ,CAAC;AAnBD,8CAmBC;AAED,SAAgB,gCAAgC,CAAC,SAA6B;IAC5E,OAAO,IAAA,0BAAe,EACpB,IAAA,kBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,iBAAiB,SAAS,cAAc;QACjD,IAAI,EAAE;YACJ,SAAS;SACV;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAXD,4EAWC"}
@@ -0,0 +1,12 @@
1
+ import { Maybe } from '@dereekb/util';
2
+ import { NestContextCallableRequestWithAuth } from '../function/nest';
3
+ export interface AssertModelCrudRequestFunctionContext<N, I = unknown> {
4
+ request: NestContextCallableRequestWithAuth<N, I>;
5
+ crud: 'create' | 'update' | 'delete';
6
+ modelType: string;
7
+ specifier: Maybe<string>;
8
+ }
9
+ /**
10
+ * Function that asserts something given the input request.
11
+ */
12
+ export declare type AssertModelCrudRequestFunction<N, I = unknown> = (context: AssertModelCrudRequestFunctionContext<N, I>) => void;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=crud.assert.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud.assert.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/crud.assert.function.ts"],"names":[],"mappings":""}
@@ -2,15 +2,19 @@ import { PromiseOrValue } from '@dereekb/util';
2
2
  import { FirestoreModelType, FirestoreModelIdentity, FirestoreModelTypes, OnCallDeleteModelParams, ModelFirebaseCrudFunctionSpecifierRef } from '@dereekb/firebase';
3
3
  import { NestContextCallableRequestWithAuth } from '../function/nest';
4
4
  import { OnCallWithAuthorizedNestContext } from '../function/call';
5
+ import { AssertModelCrudRequestFunction } from './crud.assert.function';
5
6
  export declare type OnCallDeleteModelFunction<N, I = unknown, O = void> = (request: NestContextCallableRequestWithAuth<N, I> & ModelFirebaseCrudFunctionSpecifierRef) => PromiseOrValue<O>;
6
7
  export declare type OnCallDeleteModelMap<N, T extends FirestoreModelIdentity = FirestoreModelIdentity> = {
7
8
  [K in FirestoreModelTypes<T>]?: OnCallDeleteModelFunction<N, any, any>;
8
9
  };
10
+ export interface OnCallDeleteModelConfig<N> {
11
+ preAssert?: AssertModelCrudRequestFunction<N, OnCallDeleteModelParams>;
12
+ }
9
13
  /**
10
14
  * Creates a OnCallWithAuthorizedNestContext function for updating model params.
11
15
  *
12
16
  * @param map
13
17
  * @returns
14
18
  */
15
- export declare function onCallDeleteModel<N>(map: OnCallDeleteModelMap<N>): OnCallWithAuthorizedNestContext<N, OnCallDeleteModelParams, unknown>;
19
+ export declare function onCallDeleteModel<N>(map: OnCallDeleteModelMap<N>, config?: OnCallDeleteModelConfig<N>): OnCallWithAuthorizedNestContext<N, OnCallDeleteModelParams, unknown>;
16
20
  export declare function deleteModelUnknownModelTypeError(modelType: FirestoreModelType): import("firebase-functions/v1/auth").HttpsError;
@@ -9,13 +9,16 @@ const function_1 = require("../../function");
9
9
  * @param map
10
10
  * @returns
11
11
  */
12
- function onCallDeleteModel(map) {
12
+ function onCallDeleteModel(map, config = {}) {
13
+ const { preAssert = () => undefined } = config;
13
14
  return (request) => {
14
15
  var _a;
15
16
  const modelType = (_a = request.data) === null || _a === void 0 ? void 0 : _a.modelType;
16
17
  const deleteFn = map[modelType];
17
18
  if (deleteFn) {
18
- return deleteFn(Object.assign(Object.assign({}, request), { specifier: request.data.specifier, data: request.data.data }));
19
+ const specifier = request.data.specifier;
20
+ preAssert({ crud: 'delete', request, modelType, specifier });
21
+ return deleteFn(Object.assign(Object.assign({}, request), { specifier, data: request.data.data }));
19
22
  }
20
23
  else {
21
24
  throw deleteModelUnknownModelTypeError(modelType);
@@ -1 +1 @@
1
- {"version":3,"file":"delete.model.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/delete.model.function.ts"],"names":[],"mappings":";;;AAAA,wCAA4D;AAE5D,6CAAiD;AAWjD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,GAA4B;IAC/D,OAAO,CAAC,OAAO,EAAE,EAAE;;QACjB,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,IAAI,0CAAE,SAAS,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,iCACV,OAAO,KACV,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IACvB,CAAC;SACJ;aAAM;YACL,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;AACJ,CAAC;AAfD,8CAeC;AAED,SAAgB,gCAAgC,CAAC,SAA6B;IAC5E,OAAO,IAAA,0BAAe,EACpB,IAAA,kBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE;YACJ,SAAS;SACV;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAXD,4EAWC"}
1
+ {"version":3,"file":"delete.model.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/delete.model.function.ts"],"names":[],"mappings":";;;AAAA,wCAA4D;AAE5D,6CAAiD;AAgBjD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,GAA4B,EAAE,SAAqC,EAAE;IACxG,MAAM,EAAE,SAAS,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC;IAE/C,OAAO,CAAC,OAAO,EAAE,EAAE;;QACjB,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,IAAI,0CAAE,SAAS,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,QAAQ,EAAE;YACZ,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YACzC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7D,OAAO,QAAQ,iCACV,OAAO,KACV,SAAS,EACT,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IACvB,CAAC;SACJ;aAAM;YACL,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;AACJ,CAAC;AAnBD,8CAmBC;AAED,SAAgB,gCAAgC,CAAC,SAA6B;IAC5E,OAAO,IAAA,0BAAe,EACpB,IAAA,kBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE;YACJ,SAAS;SACV;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAXD,4EAWC"}
@@ -2,15 +2,19 @@ import { PromiseOrValue } from '@dereekb/util';
2
2
  import { FirestoreModelType, FirestoreModelIdentity, FirestoreModelTypes, OnCallUpdateModelParams, ModelFirebaseCrudFunctionSpecifierRef } from '@dereekb/firebase';
3
3
  import { OnCallWithAuthorizedNestContext } from '../function/call';
4
4
  import { NestContextCallableRequestWithAuth } from '../function/nest';
5
+ import { AssertModelCrudRequestFunction } from './crud.assert.function';
5
6
  export declare type OnCallUpdateModelFunction<N, I = unknown, O = void> = (request: NestContextCallableRequestWithAuth<N, I> & ModelFirebaseCrudFunctionSpecifierRef) => PromiseOrValue<O>;
6
7
  export declare type OnCallUpdateModelMap<N, T extends FirestoreModelIdentity = FirestoreModelIdentity> = {
7
8
  [K in FirestoreModelTypes<T>]?: OnCallUpdateModelFunction<N, any, any>;
8
9
  };
10
+ export interface OnCallUpdateModelConfig<N> {
11
+ preAssert?: AssertModelCrudRequestFunction<N, OnCallUpdateModelParams>;
12
+ }
9
13
  /**
10
14
  * Creates a OnCallWithAuthorizedNestContext function for updating model params.
11
15
  *
12
16
  * @param map
13
17
  * @returns
14
18
  */
15
- export declare function onCallUpdateModel<N>(map: OnCallUpdateModelMap<N>): OnCallWithAuthorizedNestContext<N, OnCallUpdateModelParams, unknown>;
19
+ export declare function onCallUpdateModel<N>(map: OnCallUpdateModelMap<N>, config?: OnCallUpdateModelConfig<N>): OnCallWithAuthorizedNestContext<N, OnCallUpdateModelParams, unknown>;
16
20
  export declare function updateModelUnknownModelTypeError(modelType: FirestoreModelType): import("firebase-functions/v1/auth").HttpsError;
@@ -9,13 +9,16 @@ const function_1 = require("../../function");
9
9
  * @param map
10
10
  * @returns
11
11
  */
12
- function onCallUpdateModel(map) {
12
+ function onCallUpdateModel(map, config = {}) {
13
+ const { preAssert = () => undefined } = config;
13
14
  return (request) => {
14
15
  var _a;
15
16
  const modelType = (_a = request.data) === null || _a === void 0 ? void 0 : _a.modelType;
16
17
  const updateFn = map[modelType];
17
18
  if (updateFn) {
18
- return updateFn(Object.assign(Object.assign({}, request), { specifier: request.data.specifier, data: request.data.data }));
19
+ const specifier = request.data.specifier;
20
+ preAssert({ crud: 'update', request, modelType, specifier });
21
+ return updateFn(Object.assign(Object.assign({}, request), { specifier, data: request.data.data }));
19
22
  }
20
23
  else {
21
24
  throw updateModelUnknownModelTypeError(modelType);
@@ -1 +1 @@
1
- {"version":3,"file":"update.model.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/update.model.function.ts"],"names":[],"mappings":";;;AAAA,wCAA4D;AAE5D,6CAAiD;AAWjD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,GAA4B;IAC/D,OAAO,CAAC,OAAO,EAAE,EAAE;;QACjB,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,IAAI,0CAAE,SAAS,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,iCACV,OAAO,KACV,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IACvB,CAAC;SACJ;aAAM;YACL,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;AACJ,CAAC;AAfD,8CAeC;AAED,SAAgB,gCAAgC,CAAC,SAA6B;IAC5E,OAAO,IAAA,0BAAe,EACpB,IAAA,kBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE;YACJ,SAAS;SACV;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAXD,4EAWC"}
1
+ {"version":3,"file":"update.model.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/update.model.function.ts"],"names":[],"mappings":";;;AAAA,wCAA4D;AAE5D,6CAAiD;AAgBjD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,GAA4B,EAAE,SAAqC,EAAE;IACxG,MAAM,EAAE,SAAS,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC;IAE/C,OAAO,CAAC,OAAO,EAAE,EAAE;;QACjB,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,IAAI,0CAAE,SAAS,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,QAAQ,EAAE;YACZ,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YACzC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7D,OAAO,QAAQ,iCACV,OAAO,KACV,SAAS,EACT,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IACvB,CAAC;SACJ;aAAM;YACL,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;AACJ,CAAC;AAnBD,8CAmBC;AAED,SAAgB,gCAAgC,CAAC,SAA6B;IAC5E,OAAO,IAAA,0BAAe,EACpB,IAAA,kBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE;YACJ,SAAS;SACV;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAXD,4EAWC"}
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
+ ## [8.12.10](https://github.com/dereekb/dbx-components/compare/v8.12.9-dev...v8.12.10) (2022-07-13)
6
+
7
+
8
+
9
+ ## [8.12.9](https://github.com/dereekb/dbx-components/compare/v8.12.8-dev...v8.12.9) (2022-07-12)
10
+
11
+
12
+
13
+ ## [8.12.8](https://github.com/dereekb/dbx-components/compare/v8.12.7-dev...v8.12.8) (2022-07-12)
14
+
15
+
16
+
5
17
  ## [8.12.7](https://github.com/dereekb/dbx-components/compare/v8.12.6-dev...v8.12.7) (2022-07-11)
6
18
 
7
19
 
package/test/package.json CHANGED
@@ -1,37 +1,37 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/test",
3
- "version": "8.12.7",
3
+ "version": "8.12.10",
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": "8.12.7",
9
+ "@dereekb/firebase": "8.12.10",
10
10
  "rxfire": "^6.0.3",
11
11
  "rxjs": "^7.0.0",
12
12
  "firebase": "^9.8.0",
13
- "@dereekb/util": "8.12.7",
13
+ "@dereekb/util": "8.12.10",
14
14
  "make-error": "^1.3.0",
15
15
  "ts-essentials": "^9.1.2",
16
16
  "extra-set": "^2.2.11",
17
- "@dereekb/rxjs": "8.12.7",
17
+ "@dereekb/rxjs": "8.12.10",
18
18
  "ms": "^3.0.0-canary.1",
19
- "@dereekb/model": "8.12.7",
19
+ "@dereekb/model": "8.12.10",
20
20
  "class-transformer": "^0.5.1",
21
21
  "class-validator": "^0.13.2",
22
- "@dereekb/date": "8.12.7",
22
+ "@dereekb/date": "8.12.10",
23
23
  "date-fns": "^2.28.0",
24
24
  "date-fns-tz": "^1.3.0",
25
25
  "rrule": "2.7.0",
26
- "@dereekb/util/test": "8.12.7",
26
+ "@dereekb/util/test": "8.12.10",
27
27
  "firebase-admin": "^11.0.0",
28
28
  "jsonwebtoken": "^8.0.0",
29
29
  "firebase-functions": "^3.22.0",
30
30
  "@nestjs/common": "^8.4.0",
31
31
  "@google-cloud/firestore": "^5.0.2",
32
- "@dereekb/firebase/test": "8.12.7",
33
- "@dereekb/firebase-server": "8.12.7",
34
- "@dereekb/nestjs": "8.12.7",
32
+ "@dereekb/firebase/test": "8.12.10",
33
+ "@dereekb/firebase-server": "8.12.10",
34
+ "@dereekb/nestjs": "8.12.10",
35
35
  "@nestjs/config": "^2.0.1",
36
36
  "@nestjs/core": "^8.4.0",
37
37
  "@nestjs/platform-express": "^8.4.0",
@@ -98,7 +98,7 @@ exports.authorizedUserContextFactory = authorizedUserContextFactory;
98
98
  *
99
99
  * Has the format 'test-uid-<number>'
100
100
  */
101
- exports.testUidFactory = (0, util_1.mapGetter)((0, util_1.incrementingNumberFactory)(), (i) => `test-uid-${i}+${new Date().toISOString()}`);
101
+ exports.testUidFactory = (0, util_1.mapGetter)((0, util_1.incrementingNumberFactory)(), (i) => `${new Date().getTime()}0${i}`);
102
102
  /**
103
103
  * Creates a CallableContextOptions with auth attached corresponding to the input UserRecord.
104
104
  *
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":"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"}