@goatlab/node-backend 1.5.3 → 1.5.5

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.
@@ -27,10 +27,18 @@ export interface ContextFactoryOptions {
27
27
  * @param options - Configuration options including auth validator
28
28
  * @returns A createContext function for tRPC/Express
29
29
  */
30
- export declare function createContextFactory(options?: ContextFactoryOptions): ({ req, }: trpcExpress.CreateExpressContextOptions) => Promise<ReturnType<typeof requestContext>>;
30
+ export declare function createContextFactory(options?: ContextFactoryOptions): ({ req, info, }: trpcExpress.CreateExpressContextOptions & {
31
+ info?: {
32
+ connectionParams?: Record<string, unknown> | null;
33
+ };
34
+ }) => Promise<ReturnType<typeof requestContext>>;
31
35
  /**
32
36
  * Default context creator (no auth validation)
33
37
  * Use createContextFactory for production with auth
34
38
  */
35
- export declare const createContext: ({ req, }: trpcExpress.CreateExpressContextOptions) => Promise<ReturnType<typeof requestContext>>;
39
+ export declare const createContext: ({ req, info, }: trpcExpress.CreateExpressContextOptions & {
40
+ info?: {
41
+ connectionParams?: Record<string, unknown> | null;
42
+ };
43
+ }) => Promise<ReturnType<typeof requestContext>>;
36
44
  export type TrpcContext = Awaited<ReturnType<typeof createContext>>;
@@ -36,9 +36,12 @@ function createContextFactory(options = {}) {
36
36
  }
37
37
  }
38
38
  /**
39
- * Create the tRPC/Express context for a request
39
+ * Create the tRPC/Express context for a request.
40
+ * Accepts optional `info` with `connectionParams` for SSE/subscription
41
+ * connections where the browser's EventSource API cannot send custom headers.
42
+ * The tRPC client passes the auth token via connectionParams instead.
40
43
  */
41
- async function createContext({ req, }) {
44
+ async function createContext({ req, info, }) {
42
45
  // Check if user was already validated by middleware (e.g., multi-tenant middleware)
43
46
  if (req.betterAuthUser) {
44
47
  return (0, request_context_1.requestContext)(req, {
@@ -54,8 +57,16 @@ function createContextFactory(options = {}) {
54
57
  exp: Math.floor(Date.now() / 1000) + 3600,
55
58
  });
56
59
  }
57
- // Extract token from Authorization header
58
- const token = passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken()(req);
60
+ // Extract token from Authorization header first, then fall back to
61
+ // connectionParams (SSE/EventSource connections cannot send custom headers,
62
+ // so the tRPC client passes the auth token via connectionParams instead)
63
+ let token = passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken()(req);
64
+ if (!token && info?.connectionParams) {
65
+ const cpAuth = info.connectionParams.authorization;
66
+ if (typeof cpAuth === 'string' && cpAuth.startsWith('Bearer ')) {
67
+ token = cpAuth.slice(7);
68
+ }
69
+ }
59
70
  if (token) {
60
71
  // Validate using configured auth validator (Better Auth)
61
72
  const result = await validateAuthToken(token, req);
@@ -1 +1 @@
1
- {"version":3,"file":"trpc.context.js","sourceRoot":"","sources":["../../../src/server/context/trpc.context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trpc.context.js","sourceRoot":"","sources":["../../../src/server/context/trpc.context.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ class SendgridService {
23
23
  }
24
24
  // https://docs.sendgrid.com/api-reference/mail-send/mail-send
25
25
  async sendFinalizedEmail(request) {
26
- if (this.shouldSendEmail) {
26
+ if (!this.shouldSendEmail) {
27
27
  console.log('NOT SENDING EMAILS - shouldSendEmail=false');
28
28
  return {
29
29
  isSuccess: false,
@@ -1 +1 @@
1
- {"version":3,"file":"sendgridApi.service.js","sourceRoot":"","sources":["../../../../src/server/services/sendgrid/sendgridApi.service.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AAOpD,MAAa,eAAe;IAC1B,WAAW,GAA2B,SAAS,CAAA;IAC/C,eAAe,GAAY,IAAI,CAAA;IAC/B,SAAS,GAAW,kBAAkB,CAAA;IAEtC,YAAY,EACV,KAAK,EACL,eAAe,GAAG,IAAI,EACtB,SAAS,GAKV;QACC,IAAI,CAAC,WAAW,GAAG,eAAI,CAAC,SAAS,CAAC;YAChC,SAAS,EAAE,8BAA8B;YACzC,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;aACjC;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC;gBACR,qBAAqB;gBACrB,OAAO,EAAE,CAAC,MAAM,CAAC;aAClB;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,kBAAkB,CACtB,OAAiC;QAEjC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;YACzD,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,EAAE;aACZ,CAAA;QACH,CAAC;QAED,MAAM,IAAI,GAAa;YACrB,gBAAgB,EAAE;gBAChB;oBACE,EAAE,EAAE,OAAO,CAAC,UAAU;oBACtB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;iBACnD;aACF;YACD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,EAAE;gBACJ,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,IAAI,EAAE,OAAO,CAAC,QAAQ;aACvB;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE;YACpC,iBAAiB,EAAE;gBACjB,cAAc,EAAE;oBACd,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,IAAI;iBAClB;gBACD,aAAa,EAAE;oBACb,MAAM,EAAE,IAAI;iBACb;aACF;YACD,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM;gBACtC,CAAC,CAAC,OAAO,CAAC,WAAW;gBACrB,CAAC,CAAC,SAAS;SACd,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,EAAE;aACZ,CAAA;QACH,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,WAAW;aAC1B,IAAI,CAAC,WAAW,EAAE;YACjB,IAAI;SACL,CAAC;aACD,IAAI,EAAyB,CAAA;IAClC,CAAC;CACF;AAxFD,0CAwFC"}
1
+ {"version":3,"file":"sendgridApi.service.js","sourceRoot":"","sources":["../../../../src/server/services/sendgrid/sendgridApi.service.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AAOpD,MAAa,eAAe;IAC1B,WAAW,GAA2B,SAAS,CAAA;IAC/C,eAAe,GAAY,IAAI,CAAA;IAC/B,SAAS,GAAW,kBAAkB,CAAA;IAEtC,YAAY,EACV,KAAK,EACL,eAAe,GAAG,IAAI,EACtB,SAAS,GAKV;QACC,IAAI,CAAC,WAAW,GAAG,eAAI,CAAC,SAAS,CAAC;YAChC,SAAS,EAAE,8BAA8B;YACzC,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;aACjC;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC;gBACR,qBAAqB;gBACrB,OAAO,EAAE,CAAC,MAAM,CAAC;aAClB;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,kBAAkB,CACtB,OAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;YACzD,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,EAAE;aACZ,CAAA;QACH,CAAC;QAED,MAAM,IAAI,GAAa;YACrB,gBAAgB,EAAE;gBAChB;oBACE,EAAE,EAAE,OAAO,CAAC,UAAU;oBACtB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;iBACnD;aACF;YACD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,EAAE;gBACJ,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,IAAI,EAAE,OAAO,CAAC,QAAQ;aACvB;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE;YACpC,iBAAiB,EAAE;gBACjB,cAAc,EAAE;oBACd,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,IAAI;iBAClB;gBACD,aAAa,EAAE;oBACb,MAAM,EAAE,IAAI;iBACb;aACF;YACD,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM;gBACtC,CAAC,CAAC,OAAO,CAAC,WAAW;gBACrB,CAAC,CAAC,SAAS;SACd,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,EAAE;aACZ,CAAA;QACH,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,WAAW;aAC1B,IAAI,CAAC,WAAW,EAAE;YACjB,IAAI;SACL,CAAC;aACD,IAAI,EAAyB,CAAA;IAClC,CAAC;CACF;AAxFD,0CAwFC"}