@econneq/gql-auth 2.0.2 → 2.0.4

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 +1 @@
1
- {"version":3,"file":"query-server.d.ts","sourceRoot":"","sources":["../src/query-server.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAKnE;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAAE,EAChD,KAAK,EACL,SAAc,EACd,MAAM,EACN,MAAM,GACP,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAerC;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,GAAG,GAAG,EAAE,EACjD,KAAK,EACL,SAAc,EACd,MAAM,EACN,MAAM,GACP,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAexC"}
1
+ {"version":3,"file":"query-server.d.ts","sourceRoot":"","sources":["../src/query-server.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAwCnE;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAAE,EAChD,KAAK,EACL,SAAc,EACd,MAAM,EACN,MAAM,GACP,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAkBrC;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,GAAG,GAAG,EAAE,EACjD,KAAK,EACL,SAAc,EACd,MAAM,EACN,MAAM,GACP,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAoBxC"}
@@ -10,6 +10,28 @@
10
10
  // ─────────────────────────────────────────────────────────────
11
11
  "use server";
12
12
  import { getApolloClient } from "./client";
13
+ // ─── Domain Validation ───────────────────────────────────────
14
+ /**
15
+ * Checks the manifest to confirm the domain exists.
16
+ * Returns the matching subdomain entry, or null if not found.
17
+ */
18
+ async function validateDomain(domain, config) {
19
+ if (!domain)
20
+ return false;
21
+ try {
22
+ const res = await fetch(`${config?.Subdomains}`, {
23
+ next: { revalidate: 3600 }, // cache manifest for 1 hour
24
+ });
25
+ if (!res.ok)
26
+ return false;
27
+ const manifest = await res.json();
28
+ const exists = manifest?.Subdomains?.some((s) => s.subdomain === domain);
29
+ return Boolean(exists);
30
+ }
31
+ catch {
32
+ return false;
33
+ }
34
+ }
13
35
  // ─── Query ───────────────────────────────────────────────────
14
36
  /**
15
37
  * Run a GraphQL **query** from the server side.
@@ -26,6 +48,9 @@ import { getApolloClient } from "./client";
26
48
  */
27
49
  export async function queryServerGraphQL({ query, variables = {}, domain, config, }) {
28
50
  try {
51
+ const domainValid = await validateDomain(domain, config);
52
+ if (!domainValid)
53
+ return null;
29
54
  const client = await getApolloClient({ domain, config });
30
55
  const result = await client.query({
31
56
  query,
@@ -35,7 +60,7 @@ export async function queryServerGraphQL({ query, variables = {}, domain, config
35
60
  return result?.data ?? null;
36
61
  }
37
62
  catch (err) {
38
- console.error("[@econneq/gql-auth] queryServerGraphQL error:", err);
63
+ // console.error("[@econneq/gql-auth] queryServerGraphQL error:", err);
39
64
  return null;
40
65
  }
41
66
  }
@@ -58,6 +83,10 @@ export async function queryServerGraphQL({ query, variables = {}, domain, config
58
83
  */
59
84
  export async function mutateServerGraphQL({ query, variables = {}, domain, config, }) {
60
85
  try {
86
+ // ✅ Guard: bail early if domain is not in the manifest
87
+ const domainValid = await validateDomain(domain, config);
88
+ if (!domainValid)
89
+ return null;
61
90
  const client = await getApolloClient({ domain, config });
62
91
  const result = await client.mutate({
63
92
  mutation: query,
@@ -67,7 +96,7 @@ export async function mutateServerGraphQL({ query, variables = {}, domain, confi
67
96
  return result?.data ?? null;
68
97
  }
69
98
  catch (err) {
70
- console.error("[@econneq/gql-auth] mutateServerGraphQL error:", err);
99
+ // console.error("[@econneq/gql-auth] mutateServerGraphQL error:", err);
71
100
  return null;
72
101
  }
73
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-server.js","sourceRoot":"","sources":["../src/query-server.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kDAAkD;AAClD,+DAA+D;AAC/D,EAAE;AACF,yDAAyD;AACzD,8CAA8C;AAC9C,EAAE;AACF,+DAA+D;AAC/D,2DAA2D;AAC3D,gEAAgE;AAEhE,YAAY,CAAC;AAGb,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,gEAAgE;AAEhE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAU,EAChD,KAAK,EACL,SAAS,GAAG,EAAE,EACd,MAAM,EACN,MAAM,GACU;IAChB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAI;YACnC,KAAK;YACL,SAAS;YACT,WAAW,EAAE,UAAU;SACxB,CAAC,CAAC;QAEH,OAAO,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iEAAiE;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAU,EACjD,KAAK,EACL,SAAS,GAAG,EAAE,EACd,MAAM,EACN,MAAM,GACa;IACnB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAI;YACpC,QAAQ,EAAE,KAAK;YACf,SAAS;YACT,WAAW,EAAE,UAAU;SACxB,CAAC,CAAC;QAEH,OAAO,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"query-server.js","sourceRoot":"","sources":["../src/query-server.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kDAAkD;AAClD,+DAA+D;AAC/D,EAAE;AACF,yDAAyD;AACzD,8CAA8C;AAC9C,EAAE;AACF,+DAA+D;AAC/D,2DAA2D;AAC3D,gEAAgE;AAEhE,YAAY,CAAC;AAGb,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,gEAAgE;AAEhE;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,MAAiC,EACjC,MAAiC;IAEjC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,EAAE;YAC/C,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,4BAA4B;SAClD,CAAC,CAAC;QAEV,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAE1B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,CACvC,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CACrD,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAKD,gEAAgE;AAEhE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAU,EAChD,KAAK,EACL,SAAS,GAAG,EAAE,EACd,MAAM,EACN,MAAM,GACU;IAChB,IAAI,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAI;YACnC,KAAK;YACL,SAAS;YACT,WAAW,EAAE,UAAU;SACxB,CAAC,CAAC;QAEH,OAAO,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,uEAAuE;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iEAAiE;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAU,EACjD,KAAK,EACL,SAAS,GAAG,EAAE,EACd,MAAM,EACN,MAAM,GACa;IACnB,IAAI,CAAC;QAEC,uDAAuD;QAC3D,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAI;YACpC,QAAQ,EAAE,KAAK;YACf,SAAS;YACT,WAAW,EAAE,UAAU;SACxB,CAAC,CAAC;QAEH,OAAO,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,wEAAwE;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@econneq/gql-auth",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "description": "GraphQL auth utilities for multi-tenant and single-tenant Next.js projects.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",