@econneq/gql-auth 1.0.16 → 1.0.18

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.
@@ -9,8 +9,6 @@ type SubmitOptions = {
9
9
  router: any;
10
10
  token?: string;
11
11
  config: {
12
- protocol: string;
13
- RootApi: string;
14
12
  Subdomains: any[];
15
13
  };
16
14
  onAlert: (options: {
@@ -1 +1 @@
1
- {"version":3,"file":"api-factory.d.ts","sourceRoot":"","sources":["../src/api-factory.ts"],"names":[],"mappings":"AAIA,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,GAAG,EAAE,CAAC;KACnB,CAAC;IACF,OAAO,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,SAAS,aAAa,iBA0DtD,CAAC"}
1
+ {"version":3,"file":"api-factory.d.ts","sourceRoot":"","sources":["../src/api-factory.ts"],"names":[],"mappings":"AAIA,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,UAAU,EAAE,GAAG,EAAE,CAAC;KACnB,CAAC;IACF,OAAO,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,SAAS,aAAa,iBA0DtD,CAAC"}
@@ -8,14 +8,13 @@ export const ApiFactory = async (options) => {
8
8
  let responseFieldData = null;
9
9
  for (const res of items) {
10
10
  try {
11
- console.log("launching e-conneq/auth-gql ......");
12
11
  const response = await uploadGraphQLMutation({
13
12
  query: query.loc?.source.body || "",
14
13
  variables: removeEmptyFields(res),
15
14
  fileMap: getFileMap ? getFileMap(res) : {},
16
- params, // Pass domain params for multi-tenancy
15
+ params,
17
16
  token,
18
- config, // Pass global URLs and Subdomain list
17
+ config,
19
18
  });
20
19
  console.log("response e-conneq/auth-gql ......");
21
20
  const result = response?.data?.[mutationName]?.[modelName];
@@ -0,0 +1,4 @@
1
+ import { JwtPayload } from ".";
2
+ export declare const getServerToken: () => Promise<string | null>;
3
+ export declare const getServerUser: () => Promise<JwtPayload | null>;
4
+ //# sourceMappingURL=authServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authServer.d.ts","sourceRoot":"","sources":["../src/authServer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AAE/B,eAAO,MAAM,cAAc,8BAG1B,CAAC;AAEF,eAAO,MAAM,aAAa,kCAUzB,CAAC"}
@@ -0,0 +1,19 @@
1
+ // utils/authServer.ts
2
+ import { cookies } from 'next/headers';
3
+ import { jwtDecode } from "jwt-decode";
4
+ export const getServerToken = async () => {
5
+ const cookieStore = await cookies();
6
+ return cookieStore.get("token")?.value || null;
7
+ };
8
+ export const getServerUser = async () => {
9
+ const token = await getServerToken();
10
+ if (!token)
11
+ return null;
12
+ try {
13
+ const user = jwtDecode(token);
14
+ return user;
15
+ }
16
+ catch (error) {
17
+ return null;
18
+ }
19
+ };
package/dist/client.d.ts CHANGED
@@ -3,8 +3,6 @@ export default function getApolloClient(options?: {
3
3
  csrfToken?: string;
4
4
  cookie?: string;
5
5
  }, domain?: string | null, config?: {
6
- protocol: string;
7
- RootApi: string;
8
6
  Subdomains: {
9
7
  subdomain: string;
10
8
  processId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAA2B,MAAM,gBAAgB,CAAC;AAGvE,wBAA8B,eAAe,CAC3C,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACjD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,CAAC,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3E,MAAM,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgD9B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAA2B,MAAM,gBAAgB,CAAC;AAGvE,wBAA8B,eAAe,CAC3C,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACjD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,CAAC,EAAE;IACP,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3E,MAAM,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA4D9B"}
package/dist/client.js CHANGED
@@ -5,17 +5,29 @@ export default async function getApolloClient(options, domain, config) {
5
5
  if (!config)
6
6
  throw new Error("Configuration is required for getApolloClient");
7
7
  const isServer = typeof window === "undefined";
8
- const { protocol, RootApi, Subdomains, apiKey } = config;
9
- // 1. Find Tenant Data
8
+ const { Subdomains } = config;
9
+ const apiKey = process.env.API_KEY || "";
10
+ const protocol = process.env.PROTOCOL;
11
+ const production = process.env.NODE_ENV === "production";
12
+ const host = production ? process.env.INTERNAL_API_URL : process.env.EXTERNAL_API_URL;
13
+ if (!host)
14
+ throw new Error("Env (INTERNAL_API_URL or EXTERNAL_API_URL) is required");
15
+ if (!protocol)
16
+ throw new Error("Env (PROTOCOL) is required");
17
+ let uri;
18
+ console.log("client - isServer =====>", isServer);
19
+ if (isServer) {
20
+ uri = `${protocol}${host}/graphql/`;
21
+ }
22
+ else {
23
+ uri = "/api/graphql";
24
+ }
10
25
  const tenant = domain
11
26
  ? Subdomains.find((s) => s.subdomain.toLowerCase() === domain.toLowerCase())
12
27
  : null;
13
- const baseUrl = `${protocol + RootApi}`;
14
- const uri = `${baseUrl}/graphql/`;
28
+ const baseUrl = `${protocol + host}`;
15
29
  const csrfToken = options?.csrfToken || (!isServer ? Cookies.get("csrftoken") : "");
16
- const dynamicHost = domain
17
- ? `${domain}.${RootApi}`
18
- : RootApi;
30
+ const dynamicHost = domain ? `${domain}.${host}` : host;
19
31
  const headers = {
20
32
  'Content-Type': 'application/json',
21
33
  'X-API-KEY': apiKey,
@@ -32,7 +44,7 @@ export default async function getApolloClient(options, domain, config) {
32
44
  return new ApolloClient({
33
45
  link: new HttpLink({
34
46
  uri,
35
- fetch, // Next.js polyfills fetch on server automatically
47
+ fetch,
36
48
  headers,
37
49
  }),
38
50
  cache: new InMemoryCache(),
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AAG/B,eAAO,MAAM,MAAM,YAclB,CAAC;AAEF,eAAO,MAAM,QAAQ,qBAKpB,CAAC;AAEF,eAAO,MAAM,OAAO,yBAKnB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,KAAK,GAAG,QAUzC,CAAC"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AAG/B,eAAO,MAAM,MAAM,YAclB,CAAC;AAEF,eAAO,MAAM,QAAQ,qBAKpB,CAAC;AAEF,eAAO,MAAM,OAAO,yBAInB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,KAAK,GAAG,QAUzC,CAAC"}
package/dist/functions.js CHANGED
@@ -21,7 +21,6 @@ export const getToken = () => {
21
21
  return Cookies.get("token") || localStorage.getItem("token");
22
22
  };
23
23
  export const getUser = () => {
24
- // const token = typeof window !== 'undefined' ? localStorage.getItem("token") : null;
25
24
  const token = getToken();
26
25
  const user = token ? jwtDecode(token) : null;
27
26
  return user;
package/dist/index.d.ts CHANGED
@@ -50,4 +50,5 @@ export interface JwtPayload {
50
50
  last_login?: any;
51
51
  }
52
52
  export { getToken, getUser, logout, removeEmptyFields, } from './functions.js';
53
+ export { getServerToken, getServerUser, } from './authServer.js';
53
54
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;AAIjE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAGD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAGD,OAAO,EACL,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,GAC7C,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;AAIjE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAGD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAGD,OAAO,EACL,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,GAC7C,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EAAE,aAAa,GAC9B,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -3,3 +3,4 @@ import { ApiFactory } from './api-factory.js';
3
3
  import { uploadGraphQLMutation } from './upload-gql.js';
4
4
  export { queryServerGraphQL, ApiFactory, uploadGraphQLMutation };
5
5
  export { getToken, getUser, logout, removeEmptyFields, } from './functions.js';
6
+ export { getServerToken, getServerUser, } from './authServer.js';
@@ -3,8 +3,6 @@ type ServerQueryArgs = {
3
3
  variables?: Record<string, any>;
4
4
  domain?: string | null;
5
5
  config: {
6
- protocol: string;
7
- RootApi: string;
8
6
  Subdomains: any[];
9
7
  apiKey: string;
10
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"query-server.d.ts","sourceRoot":"","sources":["../src/query-server.ts"],"names":[],"mappings":"AAKA,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,GAAG,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,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,CA8BrC"}
1
+ {"version":3,"file":"query-server.d.ts","sourceRoot":"","sources":["../src/query-server.ts"],"names":[],"mappings":"AAKA,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE;QACN,UAAU,EAAE,GAAG,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,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,CAyBrC"}
@@ -4,13 +4,8 @@ import { cookies } from 'next/headers';
4
4
  import getApolloClient from './client';
5
5
  export async function queryServerGraphQL({ query, variables = {}, domain, config, }) {
6
6
  try {
7
- // 1. Get server-side cookies
8
7
  const cookieStore = await cookies();
9
8
  const cookieString = cookieStore.toString();
10
- // 2. Call getApolloClient with the correct 3 arguments:
11
- // Arg 1: options (cookies)
12
- // Arg 2: domain (subdomain string)
13
- // Arg 3: config (URLs and Subdomain array)
14
9
  const client = await getApolloClient({ cookie: cookieString }, domain, config);
15
10
  if (!client)
16
11
  return null;
@@ -23,7 +18,6 @@ export async function queryServerGraphQL({ query, variables = {}, domain, config
23
18
  return result?.data;
24
19
  }
25
20
  catch (err) {
26
- // On the server, we console.error instead of using Swal
27
21
  console.error("GraphQL Server Error:", err);
28
22
  return null;
29
23
  }
@@ -5,8 +5,6 @@ type UploadGraphQLArgs = {
5
5
  token?: string;
6
6
  params: any;
7
7
  config: {
8
- protocol: string;
9
- RootApi: string;
10
8
  Subdomains: {
11
9
  subdomain: string;
12
10
  id: string | number;
@@ -1 +1 @@
1
- {"version":3,"file":"upload-gql.d.ts","sourceRoot":"","sources":["../src/upload-gql.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,wBAAsB,qBAAqB,CAAC,EAC1C,KAAK,EACL,SAAS,EACT,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACP,EAAE,iBAAiB,gBA0DnB"}
1
+ {"version":3,"file":"upload-gql.d.ts","sourceRoot":"","sources":["../src/upload-gql.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE;QACN,UAAU,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,wBAAsB,qBAAqB,CAAC,EAC1C,KAAK,EACL,SAAS,EACT,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACP,EAAE,iBAAiB,gBAwEnB"}
@@ -1,5 +1,16 @@
1
1
  export async function uploadGraphQLMutation({ query, variables, fileMap, token, params, config }) {
2
- const { protocol, RootApi, Subdomains, apiKey } = config;
2
+ const isServer = typeof window === "undefined";
3
+ const { Subdomains, apiKey } = config;
4
+ const protocol = process.env.PROTOCOL;
5
+ const production = process.env.NODE_ENV === "production";
6
+ const host = production ? process.env.INTERNAL_API_URL : process.env.EXTERNAL_API_URL;
7
+ let API_LINK;
8
+ if (isServer) {
9
+ API_LINK = `${protocol}${host}/graphql/`;
10
+ }
11
+ else {
12
+ API_LINK = `/api/graphql`;
13
+ }
3
14
  const formData = new FormData();
4
15
  const updatedVariables = { ...variables };
5
16
  // 1. Prepare GraphQL Multipart Request (Spec compliant)
@@ -20,25 +31,27 @@ export async function uploadGraphQLMutation({ query, variables, fileMap, token,
20
31
  // 2. Multi-tenant URL and Data Logic
21
32
  const requestedDomain = params?.domain || "";
22
33
  const tenantData = Subdomains.find((d) => d.subdomain.toLowerCase() === requestedDomain.toLowerCase());
23
- // Determine URL: Use subdomain api if tenant exists, otherwise use root API
24
- const API_LINK = `${protocol + RootApi}/graphql/`;
25
34
  // 3. Construct Headers
26
35
  const headers = {
27
36
  ...(token ? { "Authorization": `Bearer ${token}` } : {}),
28
37
  ...(apiKey ? { "X-API-KEY": apiKey } : {}),
29
38
  };
39
+ if (isServer) {
40
+ // headers["Host"] = requestedDomain ? `${requestedDomain}.${host}` : host;
41
+ headers["Host"] = host || "";
42
+ }
30
43
  // Inject specific tenant metadata into headers for Django to read
31
44
  if (tenantData) {
32
45
  headers["X-Tenant-ID"] = String(tenantData.subdomain);
33
46
  headers["X-Process-ID"] = tenantData.processId || "";
34
47
  headers["X-Widget-ID"] = tenantData.widgetID || "";
35
48
  }
36
- // 4. Execute Fetch
49
+ console.log(`Host (upload.js) ==========: ${host}`);
50
+ console.log(`Mutation connecting to (upload.js) ==========: ${API_LINK}`);
37
51
  const res = await fetch(API_LINK, {
38
52
  method: "POST",
39
53
  headers,
40
54
  body: formData,
41
- // credentials: "include" is important if you use cookies alongside headers
42
55
  credentials: "include",
43
56
  });
44
57
  return await res.json();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@econneq/gql-auth",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",