@goatlab/node-backend 1.1.24 → 1.2.1

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.
@@ -1,28 +1,50 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.requestTokenSchema = exports.internalTokenSchema = exports.firebaseDecodedTokenSchema = void 0;
3
+ exports.requestTokenSchema = exports.internalTokenSchema = exports.decodedUserTokenSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- exports.firebaseDecodedTokenSchema = zod_1.z.object({
5
+ /**
6
+ * Decoded user token schema (Better Auth compatible)
7
+ * This format is used internally after token validation
8
+ */
9
+ exports.decodedUserTokenSchema = zod_1.z.object({
10
+ /** Issuer (e.g., 'better-auth') */
6
11
  iss: zod_1.z.string(),
12
+ /** Audience */
7
13
  aud: zod_1.z.string(),
14
+ /** Authentication time (Unix timestamp) */
8
15
  auth_time: zod_1.z.number(),
16
+ /** Subject (user ID) */
9
17
  sub: zod_1.z.string(),
18
+ /** Issued at (Unix timestamp) */
10
19
  iat: zod_1.z.number(),
20
+ /** Expiration (Unix timestamp) */
11
21
  exp: zod_1.z.number(),
22
+ /** User's email address */
12
23
  email: zod_1.z.string(),
24
+ /** Whether email has been verified */
13
25
  email_verified: zod_1.z.boolean(),
14
- firebase: zod_1.z.any().optional(),
26
+ /** User's unique ID (same as sub) */
15
27
  uid: zod_1.z.string(),
28
+ /** User's display name */
16
29
  displayName: zod_1.z.string().optional(),
30
+ /** User's name */
17
31
  name: zod_1.z.string().optional(),
32
+ /** Owner ID (for internal tokens) */
18
33
  ownerId: zod_1.z.string().optional(),
34
+ /** Alternative user ID field */
19
35
  user_id: zod_1.z.string().optional(),
20
36
  });
37
+ /**
38
+ * Internal token schema for service-to-service auth
39
+ */
21
40
  exports.internalTokenSchema = zod_1.z.object({
22
41
  tokenPurpose: zod_1.z.string().optional(),
23
42
  });
43
+ /**
44
+ * Combined request token schema
45
+ */
24
46
  exports.requestTokenSchema = zod_1.z.union([
25
- exports.firebaseDecodedTokenSchema,
47
+ exports.decodedUserTokenSchema,
26
48
  exports.internalTokenSchema,
27
49
  ]);
28
50
  //# sourceMappingURL=user.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.schema.js","sourceRoot":"","sources":["../../../src/server/schemas/user.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE;IAC3B,QAAQ,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC5B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAA;AAEW,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAA;AAEW,QAAA,kBAAkB,GAAG,OAAC,CAAC,KAAK,CAAC;IACxC,kCAA0B;IAC1B,2BAAmB;CACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"user.schema.js","sourceRoot":"","sources":["../../../src/server/schemas/user.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB;;;GAGG;AACU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,mCAAmC;IACnC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,eAAe;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,2CAA2C;IAC3C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,wBAAwB;IACxB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,iCAAiC;IACjC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,kCAAkC;IAClC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,2BAA2B;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,sCAAsC;IACtC,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE;IAC3B,qCAAqC;IACrC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,0BAA0B;IAC1B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,kBAAkB;IAClB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,qCAAqC;IACrC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,gCAAgC;IAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAA;AAEF;;GAEG;AACU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAA;AAEF;;GAEG;AACU,QAAA,kBAAkB,GAAG,OAAC,CAAC,KAAK,CAAC;IACxC,8BAAsB;IACtB,2BAAmB;CACpB,CAAC,CAAA"}
@@ -1,4 +1,6 @@
1
- import type { FirebaseDecodedToken } from '../schemas/user.schema';
1
+ import type { DecodedUserToken } from '../schemas/user.schema';
2
2
  import { BasicAccount } from './mock.model';
3
- export declare const mockedFirebaseDecodedToken: (mockedAccount?: Partial<BasicAccount>) => FirebaseDecodedToken;
3
+ export declare const mockedDecodedUserToken: (mockedAccount?: Partial<BasicAccount>) => DecodedUserToken;
4
+ export declare const mockAuthToken: (account?: Partial<BasicAccount>) => string;
5
+ export declare const mockedFirebaseDecodedToken: (mockedAccount?: Partial<BasicAccount>) => DecodedUserToken;
4
6
  export declare const mockFirebaseToken: (account?: Partial<BasicAccount>) => string;
@@ -1,30 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mockFirebaseToken = exports.mockedFirebaseDecodedToken = void 0;
4
- const mockedFirebaseDecodedToken = (mockedAccount) => {
3
+ exports.mockFirebaseToken = exports.mockedFirebaseDecodedToken = exports.mockAuthToken = exports.mockedDecodedUserToken = void 0;
4
+ const mockedDecodedUserToken = (mockedAccount) => {
5
5
  const account = mockedAccount || {
6
6
  email: 'testemail@test.com',
7
- firebaseId: 'testfirebaseId',
7
+ userId: 'testUserId',
8
8
  };
9
9
  const payload = {
10
- aud: 'someFakeAudience',
10
+ aud: 'app',
11
11
  auth_time: 1664050702,
12
12
  email: account.email || '',
13
13
  email_verified: true,
14
14
  exp: 1695579492,
15
15
  iat: 1664050702,
16
- iss: 'someFakeProject',
17
- sub: '12312312312',
18
- uid: account.firebaseId ?? 'someFakeFirebaseId',
19
- firebase: true,
16
+ iss: 'better-auth',
17
+ sub: account.userId ?? 'someUserId',
18
+ uid: account.userId ?? 'someUserId',
20
19
  };
21
20
  return payload;
22
21
  };
23
- exports.mockedFirebaseDecodedToken = mockedFirebaseDecodedToken;
24
- const mockFirebaseToken = (account) => {
25
- const payload = (0, exports.mockedFirebaseDecodedToken)(account);
26
- // This should be a JWT, but it is just a mock
22
+ exports.mockedDecodedUserToken = mockedDecodedUserToken;
23
+ const mockAuthToken = (account) => {
24
+ const payload = (0, exports.mockedDecodedUserToken)(account);
25
+ // This should be a session token, but it is just a mock
27
26
  return JSON.stringify(payload);
28
27
  };
29
- exports.mockFirebaseToken = mockFirebaseToken;
28
+ exports.mockAuthToken = mockAuthToken;
29
+ // Legacy aliases
30
+ exports.mockedFirebaseDecodedToken = exports.mockedDecodedUserToken;
31
+ exports.mockFirebaseToken = exports.mockAuthToken;
30
32
  //# sourceMappingURL=firebase.mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.mock.js","sourceRoot":"","sources":["../../../src/server/test/firebase.mock.ts"],"names":[],"mappings":";;;AAGO,MAAM,0BAA0B,GAAG,CACxC,aAAqC,EACf,EAAE;IACxB,MAAM,OAAO,GAAG,aAAa,IAAI;QAC/B,KAAK,EAAE,oBAAoB;QAC3B,UAAU,EAAE,gBAAgB;KAC7B,CAAA;IAED,MAAM,OAAO,GAAyB;QACpC,GAAG,EAAE,kBAAkB;QACvB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,cAAc,EAAE,IAAI;QACpB,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,OAAO,CAAC,UAAU,IAAI,oBAAoB;QAC/C,QAAQ,EAAE,IAAI;KACf,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AArBY,QAAA,0BAA0B,8BAqBtC;AAEM,MAAM,iBAAiB,GAAG,CAAC,OAA+B,EAAU,EAAE;IAC3E,MAAM,OAAO,GAAG,IAAA,kCAA0B,EAAC,OAAO,CAAC,CAAA;IACnD,8CAA8C;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC,CAAA;AAJY,QAAA,iBAAiB,qBAI7B"}
1
+ {"version":3,"file":"firebase.mock.js","sourceRoot":"","sources":["../../../src/server/test/firebase.mock.ts"],"names":[],"mappings":";;;AAGO,MAAM,sBAAsB,GAAG,CACpC,aAAqC,EACnB,EAAE;IACpB,MAAM,OAAO,GAAG,aAAa,IAAI;QAC/B,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,YAAY;KACrB,CAAA;IAED,MAAM,OAAO,GAAqB;QAChC,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,cAAc,EAAE,IAAI;QACpB,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,YAAY;QACnC,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,YAAY;KACpC,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AApBY,QAAA,sBAAsB,0BAoBlC;AAEM,MAAM,aAAa,GAAG,CAAC,OAA+B,EAAU,EAAE;IACvE,MAAM,OAAO,GAAG,IAAA,8BAAsB,EAAC,OAAO,CAAC,CAAA;IAC/C,wDAAwD;IACxD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC,CAAA;AAJY,QAAA,aAAa,iBAIzB;AAED,iBAAiB;AACJ,QAAA,0BAA0B,GAAG,8BAAsB,CAAA;AACnD,QAAA,iBAAiB,GAAG,qBAAa,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export type BasicAccount = {
2
2
  email?: string | null;
3
- firebaseId?: string | null;
3
+ userId?: string | null;
4
4
  [key: string]: unknown;
5
5
  };
@@ -1,9 +1,14 @@
1
+ import type { DefaultErrorShape, ErrorFormatter } from '@trpc/server/unstable-core-do-not-import';
1
2
  import type { OpenApiMeta } from 'trpc-to-openapi';
2
3
  import type { TrpcContext } from './context/trpc.context';
3
4
  import { DecodedUserToken } from './schemas/user.schema';
4
5
  export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, unknown>, ExtendedContext = Record<string, unknown>>(params?: {
6
+ /** Extend authenticated context with additional data (e.g., account context) */
5
7
  extendAuthenticatedContext?: (user: DecodedUserToken) => ExtendedAuthenticatedContext;
8
+ /** Extend base context (runs for all requests) - use for tenant services, etc. */
6
9
  extendContext?: (ctx: TrpcContext) => Promise<ExtendedContext>;
10
+ /** Custom error formatter for tRPC errors */
11
+ errorFormatter?: ErrorFormatter<TrpcContext, DefaultErrorShape>;
7
12
  }): {
8
13
  authenticatedEndpoint: import("@trpc/server").TRPCProcedureBuilder<{
9
14
  user: {
@@ -17,14 +22,13 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
17
22
  email: string;
18
23
  email_verified: boolean;
19
24
  uid: string;
20
- firebase?: any;
21
25
  displayName?: string;
22
26
  name?: string;
23
27
  ownerId?: string;
24
28
  user_id?: string;
25
29
  };
26
30
  email: string;
27
- firebaseId: string;
31
+ userId: string;
28
32
  };
29
33
  url: string;
30
34
  method: string;
@@ -44,8 +48,6 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
44
48
  }, OpenApiMeta, {
45
49
  origin: string;
46
50
  ip: string;
47
- method: string;
48
- url: string;
49
51
  user: {
50
52
  decodedToken: {
51
53
  iss: string;
@@ -57,15 +59,16 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
57
59
  email: string;
58
60
  email_verified: boolean;
59
61
  uid: string;
60
- firebase?: any;
61
62
  displayName?: string;
62
63
  name?: string;
63
64
  ownerId?: string;
64
65
  user_id?: string;
65
66
  };
66
67
  email: string;
67
- firebaseId: string;
68
+ userId: string;
68
69
  };
70
+ method: string;
71
+ url: string;
69
72
  xTenantId: string;
70
73
  getLocation: () => Promise<import("..").LocationOutput>;
71
74
  endpoint: string;
@@ -92,14 +95,13 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
92
95
  email: string;
93
96
  email_verified: boolean;
94
97
  uid: string;
95
- firebase?: any;
96
98
  displayName?: string;
97
99
  name?: string;
98
100
  ownerId?: string;
99
101
  user_id?: string;
100
102
  };
101
103
  email: string;
102
- firebaseId: string;
104
+ userId: string;
103
105
  };
104
106
  url: string;
105
107
  method: string;
@@ -119,8 +121,6 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
119
121
  }, OpenApiMeta, {
120
122
  origin: string;
121
123
  ip: string;
122
- method: string;
123
- url: string;
124
124
  user: {
125
125
  decodedToken: {
126
126
  iss: string;
@@ -132,15 +132,16 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
132
132
  email: string;
133
133
  email_verified: boolean;
134
134
  uid: string;
135
- firebase?: any;
136
135
  displayName?: string;
137
136
  name?: string;
138
137
  ownerId?: string;
139
138
  user_id?: string;
140
139
  };
141
140
  email: string;
142
- firebaseId: string;
141
+ userId: string;
143
142
  };
143
+ method: string;
144
+ url: string;
144
145
  xTenantId: string;
145
146
  getLocation: () => Promise<import("..").LocationOutput>;
146
147
  endpoint: string;
@@ -168,14 +169,13 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
168
169
  email: string;
169
170
  email_verified: boolean;
170
171
  uid: string;
171
- firebase?: any;
172
172
  displayName?: string;
173
173
  name?: string;
174
174
  ownerId?: string;
175
175
  user_id?: string;
176
176
  };
177
177
  email: string;
178
- firebaseId: string;
178
+ userId: string;
179
179
  };
180
180
  url: string;
181
181
  method: string;
@@ -195,8 +195,6 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
195
195
  }, OpenApiMeta, {
196
196
  origin: string;
197
197
  ip: string;
198
- method: string;
199
- url: string;
200
198
  user: {
201
199
  decodedToken: {
202
200
  iss: string;
@@ -208,15 +206,16 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
208
206
  email: string;
209
207
  email_verified: boolean;
210
208
  uid: string;
211
- firebase?: any;
212
209
  displayName?: string;
213
210
  name?: string;
214
211
  ownerId?: string;
215
212
  user_id?: string;
216
213
  };
217
214
  email: string;
218
- firebaseId: string;
215
+ userId: string;
219
216
  };
217
+ method: string;
218
+ url: string;
220
219
  xTenantId: string;
221
220
  getLocation: () => Promise<import("..").LocationOutput>;
222
221
  endpoint: string;
@@ -243,14 +242,13 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
243
242
  email: string;
244
243
  email_verified: boolean;
245
244
  uid: string;
246
- firebase?: any;
247
245
  displayName?: string;
248
246
  name?: string;
249
247
  ownerId?: string;
250
248
  user_id?: string;
251
249
  };
252
250
  email: string;
253
- firebaseId: string;
251
+ userId: string;
254
252
  };
255
253
  url: string;
256
254
  method: string;
@@ -269,7 +267,7 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
269
267
  };
270
268
  };
271
269
  meta: OpenApiMeta;
272
- errorShape: import("@trpc/server").TRPCDefaultErrorShape;
270
+ errorShape: DefaultErrorShape;
273
271
  transformer: false;
274
272
  }>;
275
273
  t: import("@trpc/server").TRPCRootObject<{
@@ -284,14 +282,13 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
284
282
  email: string;
285
283
  email_verified: boolean;
286
284
  uid: string;
287
- firebase?: any;
288
285
  displayName?: string;
289
286
  name?: string;
290
287
  ownerId?: string;
291
288
  user_id?: string;
292
289
  };
293
290
  email: string;
294
- firebaseId: string;
291
+ userId: string;
295
292
  };
296
293
  url: string;
297
294
  method: string;
@@ -309,6 +306,42 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
309
306
  isAndroid: boolean;
310
307
  };
311
308
  }, OpenApiMeta, {
309
+ errorFormatter: ErrorFormatter<{
310
+ user: {
311
+ decodedToken: {
312
+ iss: string;
313
+ aud: string;
314
+ auth_time: number;
315
+ sub: string;
316
+ iat: number;
317
+ exp: number;
318
+ email: string;
319
+ email_verified: boolean;
320
+ uid: string;
321
+ displayName?: string;
322
+ name?: string;
323
+ ownerId?: string;
324
+ user_id?: string;
325
+ };
326
+ email: string;
327
+ userId: string;
328
+ };
329
+ url: string;
330
+ method: string;
331
+ xTenantId: string;
332
+ origin: string;
333
+ ip: string;
334
+ getLocation(): Promise<import("..").LocationOutput>;
335
+ endpoint: string;
336
+ device: {
337
+ isMobile: boolean;
338
+ isWebApp: boolean;
339
+ isMacPC: boolean;
340
+ os: any;
341
+ isIOS: boolean;
342
+ isAndroid: boolean;
343
+ };
344
+ }, DefaultErrorShape>;
312
345
  sse: {
313
346
  maxDurationMs: number;
314
347
  ping: {
@@ -332,14 +365,13 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
332
365
  email: string;
333
366
  email_verified: boolean;
334
367
  uid: string;
335
- firebase?: any;
336
368
  displayName?: string;
337
369
  name?: string;
338
370
  ownerId?: string;
339
371
  user_id?: string;
340
372
  };
341
373
  email: string;
342
- firebaseId: string;
374
+ userId: string;
343
375
  };
344
376
  url: string;
345
377
  method: string;
@@ -358,7 +390,7 @@ export declare function getTrpc<ExtendedAuthenticatedContext = Record<string, un
358
390
  };
359
391
  };
360
392
  meta: OpenApiMeta;
361
- errorShape: import("@trpc/server").TRPCDefaultErrorShape;
393
+ errorShape: DefaultErrorShape;
362
394
  transformer: false;
363
395
  }>;
364
396
  };
@@ -7,6 +7,7 @@ function getTrpc(params) {
7
7
  .context()
8
8
  .meta()
9
9
  .create({
10
+ errorFormatter: params?.errorFormatter,
10
11
  sse: {
11
12
  maxDurationMs: 5 * 60 * 1000,
12
13
  ping: { enabled: true, intervalMs: 3000 },
@@ -32,7 +33,7 @@ function getTrpc(params) {
32
33
  const tokenPurpose = ctx.user && 'tokenPurpose' in ctx.user.decodedToken
33
34
  ? ctx.user.decodedToken.tokenPurpose
34
35
  : undefined;
35
- if (ctx.user?.firebaseId ||
36
+ if (ctx.user?.userId ||
36
37
  ctx.user?.email ||
37
38
  tokenPurpose === 'INTERNAL_SERVICE') {
38
39
  isLoggedIn = true;
@@ -53,11 +54,11 @@ function getTrpc(params) {
53
54
  const tokenPurpose = ctx.user && 'tokenPurpose' in ctx.user.decodedToken
54
55
  ? ctx.user.decodedToken.tokenPurpose
55
56
  : undefined;
56
- if ((!ctx.user?.firebaseId || !ctx.user.email) &&
57
+ if ((!ctx.user?.userId || !ctx.user.email) &&
57
58
  tokenPurpose !== 'INTERNAL_SERVICE') {
58
59
  throw new server_1.TRPCError({
59
60
  code: 'UNAUTHORIZED',
60
- message: "No user in the request. Make sure to include Google's JWT token",
61
+ message: 'No user in the request. Make sure to include a valid auth token.',
61
62
  });
62
63
  }
63
64
  const extra = extendAuthenticatedContext(ctx.user.decodedToken);
@@ -1 +1 @@
1
- {"version":3,"file":"trpc.js","sourceRoot":"","sources":["../../src/server/trpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trpc.js","sourceRoot":"","sources":["../../src/server/trpc.ts"],"names":[],"mappings":"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"}