@econneq/gql-auth 1.0.2 → 1.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.
- package/dist/api-factory.js +5 -9
- package/dist/client.js +7 -13
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -28
- package/dist/query-server.d.ts.map +1 -1
- package/dist/query-server.js +6 -11
- package/dist/upload-gql.js +1 -4
- package/dist/utils.js +25 -46
- package/package.json +3 -3
package/dist/api-factory.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const upload_gql_1 = require("./upload-gql");
|
|
5
|
-
const utils_1 = require("./utils");
|
|
6
|
-
const ApiFactory = async (options) => {
|
|
1
|
+
import { uploadGraphQLMutation } from "./upload-gql";
|
|
2
|
+
import { removeEmptyFields } from "./utils";
|
|
3
|
+
export const ApiFactory = async (options) => {
|
|
7
4
|
const { newData, editData, mutationName, modelName, successField = "title", query, router, params, reload = true, redirect, redirectPath, returnResponseField = false, returnResponseObject = false, getFileMap, token, config, onAlert } = options;
|
|
8
5
|
const items = Array.isArray(newData || editData) ? (newData || editData) : [(newData || editData)];
|
|
9
6
|
const successMessages = [];
|
|
@@ -12,9 +9,9 @@ const ApiFactory = async (options) => {
|
|
|
12
9
|
for (let res of items) {
|
|
13
10
|
try {
|
|
14
11
|
console.log("launching e-conneq/auth-gql ......");
|
|
15
|
-
const response = await
|
|
12
|
+
const response = await uploadGraphQLMutation({
|
|
16
13
|
query: query.loc?.source.body || "",
|
|
17
|
-
variables:
|
|
14
|
+
variables: removeEmptyFields(res),
|
|
18
15
|
fileMap: getFileMap ? getFileMap(res) : {},
|
|
19
16
|
params, // Pass domain params for multi-tenancy
|
|
20
17
|
token,
|
|
@@ -58,7 +55,6 @@ const ApiFactory = async (options) => {
|
|
|
58
55
|
});
|
|
59
56
|
}
|
|
60
57
|
};
|
|
61
|
-
exports.ApiFactory = ApiFactory;
|
|
62
58
|
// Internal Helper for Error Parsing
|
|
63
59
|
const handleGraphQLErrors = (errors, errorList) => {
|
|
64
60
|
errors.forEach(error => {
|
package/dist/client.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.default = getApolloClient;
|
|
7
1
|
// src/client.ts
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
async function getApolloClient(options, domain, config) {
|
|
2
|
+
import { ApolloClient, InMemoryCache, HttpLink } from '@apollo/client';
|
|
3
|
+
import Cookies from "js-cookie";
|
|
4
|
+
export default async function getApolloClient(options, domain, config) {
|
|
11
5
|
if (!config)
|
|
12
6
|
throw new Error("Configuration is required for getApolloClient");
|
|
13
7
|
const isServer = typeof window === "undefined";
|
|
@@ -23,7 +17,7 @@ async function getApolloClient(options, domain, config) {
|
|
|
23
17
|
: `${protocol}${NoDomainRootApi}`;
|
|
24
18
|
const uri = `${baseUrl}/graphql/`;
|
|
25
19
|
// 3. Header Logic
|
|
26
|
-
const csrfToken = options?.csrfToken || (!isServer ?
|
|
20
|
+
const csrfToken = options?.csrfToken || (!isServer ? Cookies.get("csrftoken") : "");
|
|
27
21
|
const headers = {
|
|
28
22
|
'Content-Type': 'application/json',
|
|
29
23
|
'X-API-KEY': apiKey,
|
|
@@ -36,13 +30,13 @@ async function getApolloClient(options, domain, config) {
|
|
|
36
30
|
}),
|
|
37
31
|
'Referer': baseUrl,
|
|
38
32
|
};
|
|
39
|
-
return new
|
|
40
|
-
link: new
|
|
33
|
+
return new ApolloClient({
|
|
34
|
+
link: new HttpLink({
|
|
41
35
|
uri,
|
|
42
36
|
fetch, // Next.js polyfills fetch on server automatically
|
|
43
37
|
headers,
|
|
44
38
|
}),
|
|
45
|
-
cache: new
|
|
39
|
+
cache: new InMemoryCache(),
|
|
46
40
|
defaultOptions: {
|
|
47
41
|
mutate: { fetchPolicy: 'no-cache' },
|
|
48
42
|
query: { fetchPolicy: 'no-cache' },
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,30 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.validateFormFields = exports.Alert = exports.getTimeAgo = exports.getStoredFont = exports.getLanguage = exports.getTemplate = exports.getToken = exports.getUser = exports.formatText = exports.decodeUrlID = exports.errorLog = exports.removeEmptyFields = exports.capitalizeEachWord = exports.uploadGraphQLMutation = exports.ApiFactory = exports.queryServerGraphQL = exports.getApolloClient = void 0;
|
|
7
1
|
// 1. Export the Core Functions
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(exports, "queryServerGraphQL", { enumerable: true, get: function () { return query_server_1.queryServerGraphQL; } });
|
|
12
|
-
var api_factory_1 = require("./api-factory");
|
|
13
|
-
Object.defineProperty(exports, "ApiFactory", { enumerable: true, get: function () { return api_factory_1.ApiFactory; } });
|
|
14
|
-
var upload_gql_1 = require("./upload-gql");
|
|
15
|
-
Object.defineProperty(exports, "uploadGraphQLMutation", { enumerable: true, get: function () { return upload_gql_1.uploadGraphQLMutation; } });
|
|
2
|
+
export { queryServerGraphQL } from './query-server';
|
|
3
|
+
export { ApiFactory } from './api-factory';
|
|
4
|
+
export { uploadGraphQLMutation } from './upload-gql';
|
|
16
5
|
// 3. Export Helper Utilities (Optional)
|
|
17
|
-
|
|
18
|
-
Object.defineProperty(exports, "capitalizeEachWord", { enumerable: true, get: function () { return utils_1.capitalizeEachWord; } });
|
|
19
|
-
Object.defineProperty(exports, "removeEmptyFields", { enumerable: true, get: function () { return utils_1.removeEmptyFields; } });
|
|
20
|
-
Object.defineProperty(exports, "errorLog", { enumerable: true, get: function () { return utils_1.errorLog; } });
|
|
21
|
-
Object.defineProperty(exports, "decodeUrlID", { enumerable: true, get: function () { return utils_1.decodeUrlID; } });
|
|
22
|
-
Object.defineProperty(exports, "formatText", { enumerable: true, get: function () { return utils_1.formatText; } });
|
|
23
|
-
Object.defineProperty(exports, "getUser", { enumerable: true, get: function () { return utils_1.getUser; } });
|
|
24
|
-
Object.defineProperty(exports, "getToken", { enumerable: true, get: function () { return utils_1.getToken; } });
|
|
25
|
-
Object.defineProperty(exports, "getTemplate", { enumerable: true, get: function () { return utils_1.getTemplate; } });
|
|
26
|
-
Object.defineProperty(exports, "getLanguage", { enumerable: true, get: function () { return utils_1.getLanguage; } });
|
|
27
|
-
Object.defineProperty(exports, "getStoredFont", { enumerable: true, get: function () { return utils_1.getStoredFont; } });
|
|
28
|
-
Object.defineProperty(exports, "getTimeAgo", { enumerable: true, get: function () { return utils_1.getTimeAgo; } });
|
|
29
|
-
Object.defineProperty(exports, "Alert", { enumerable: true, get: function () { return utils_1.Alert; } });
|
|
30
|
-
Object.defineProperty(exports, "validateFormFields", { enumerable: true, get: function () { return utils_1.validateFormFields; } });
|
|
6
|
+
export { capitalizeEachWord, removeEmptyFields, errorLog, decodeUrlID, formatText, getUser, getToken, getTemplate, getLanguage, getStoredFont, getTimeAgo, Alert, validateFormFields, } from './utils';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-server.d.ts","sourceRoot":"","sources":["../src/query-server.ts"],"names":[],"mappings":"
|
|
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,eAAe,EAAE,MAAM,CAAC;QACxB,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"}
|
package/dist/query-server.js
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.queryServerGraphQL = queryServerGraphQL;
|
|
7
1
|
// src/server-query.ts
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
'use server';
|
|
3
|
+
import { cookies } from 'next/headers';
|
|
4
|
+
import getApolloClient from './client';
|
|
5
|
+
export async function queryServerGraphQL({ query, variables = {}, domain, config, }) {
|
|
11
6
|
try {
|
|
12
7
|
// 1. Get server-side cookies
|
|
13
|
-
const cookieStore = await
|
|
8
|
+
const cookieStore = await cookies();
|
|
14
9
|
const cookieString = cookieStore.toString();
|
|
15
10
|
// 2. Call getApolloClient with the correct 3 arguments:
|
|
16
11
|
// Arg 1: options (cookies)
|
|
17
12
|
// Arg 2: domain (subdomain string)
|
|
18
13
|
// Arg 3: config (URLs and Subdomain array)
|
|
19
|
-
const client = await (
|
|
14
|
+
const client = await getApolloClient({ cookie: cookieString }, domain, config);
|
|
20
15
|
if (!client)
|
|
21
16
|
return null;
|
|
22
17
|
const result = await client.query({
|
package/dist/upload-gql.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.uploadGraphQLMutation = uploadGraphQLMutation;
|
|
4
|
-
async function uploadGraphQLMutation({ query, variables, fileMap, token, params, config }) {
|
|
1
|
+
export async function uploadGraphQLMutation({ query, variables, fileMap, token, params, config }) {
|
|
5
2
|
const { protocol, RootApi, NoDomainRootApi, Subdomains, apiKey } = config;
|
|
6
3
|
const formData = new FormData();
|
|
7
4
|
const updatedVariables = { ...variables };
|
package/dist/utils.js
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.formatText = exports.lastYears = exports.validateFormFields = exports.Alert = exports.removeEmptyFields = exports.decodeUrlID = exports.getTemplate = exports.getLanguage = exports.getTimeAgo = exports.getStoredFont = exports.getUser = exports.getToken = exports.errorLog = exports.capitalizeEachWord = void 0;
|
|
7
|
-
exports.getAcademicYear = getAcademicYear;
|
|
8
|
-
const sweetalert2_1 = __importDefault(require("sweetalert2"));
|
|
9
|
-
const js_cookie_1 = __importDefault(require("js-cookie"));
|
|
10
|
-
const jwt_decode_1 = require("jwt-decode");
|
|
11
|
-
const capitalizeEachWord = (str) => {
|
|
1
|
+
import Swal from "sweetalert2";
|
|
2
|
+
import Cookies from "js-cookie";
|
|
3
|
+
import { jwtDecode } from "jwt-decode";
|
|
4
|
+
export const capitalizeEachWord = (str) => {
|
|
12
5
|
if (!str)
|
|
13
6
|
return ''; // Handle empty or null strings
|
|
14
7
|
return str
|
|
@@ -16,8 +9,7 @@ const capitalizeEachWord = (str) => {
|
|
|
16
9
|
.map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
17
10
|
.join(' ');
|
|
18
11
|
};
|
|
19
|
-
|
|
20
|
-
const errorLog = (err, show) => {
|
|
12
|
+
export const errorLog = (err, show) => {
|
|
21
13
|
let mes = "An unknown error occurred";
|
|
22
14
|
if (typeof err === "string")
|
|
23
15
|
mes = err;
|
|
@@ -35,7 +27,7 @@ const errorLog = (err, show) => {
|
|
|
35
27
|
else if (err?.message)
|
|
36
28
|
mes = err.message;
|
|
37
29
|
if (show) {
|
|
38
|
-
|
|
30
|
+
Swal.fire({
|
|
39
31
|
title: mes,
|
|
40
32
|
icon: 'error',
|
|
41
33
|
timer: 3000,
|
|
@@ -45,23 +37,20 @@ const errorLog = (err, show) => {
|
|
|
45
37
|
}
|
|
46
38
|
return mes;
|
|
47
39
|
};
|
|
48
|
-
exports.errorLog = errorLog;
|
|
49
40
|
const currentYear = new Date().getFullYear();
|
|
50
|
-
const getToken = () => {
|
|
41
|
+
export const getToken = () => {
|
|
51
42
|
if (typeof window === "undefined") {
|
|
52
43
|
return null;
|
|
53
44
|
}
|
|
54
|
-
return
|
|
45
|
+
return Cookies.get("token") || localStorage.getItem("token");
|
|
55
46
|
};
|
|
56
|
-
|
|
57
|
-
const getUser = () => {
|
|
47
|
+
export const getUser = () => {
|
|
58
48
|
// const token = typeof window !== 'undefined' ? localStorage.getItem("token") : null;
|
|
59
|
-
const token =
|
|
60
|
-
const user = token ?
|
|
49
|
+
const token = getToken();
|
|
50
|
+
const user = token ? jwtDecode(token) : null;
|
|
61
51
|
return user;
|
|
62
52
|
};
|
|
63
|
-
|
|
64
|
-
const getStoredFont = (FONTS) => {
|
|
53
|
+
export const getStoredFont = (FONTS) => {
|
|
65
54
|
if (typeof window === "undefined")
|
|
66
55
|
return FONTS[0]; // Default for SSR
|
|
67
56
|
const up = localStorage.getItem("user-pref");
|
|
@@ -70,8 +59,7 @@ const getStoredFont = (FONTS) => {
|
|
|
70
59
|
const fontIndex = parseInt(up[1]) - 1;
|
|
71
60
|
return FONTS[fontIndex] || FONTS[5];
|
|
72
61
|
};
|
|
73
|
-
|
|
74
|
-
const getTimeAgo = (dateStr, type) => {
|
|
62
|
+
export const getTimeAgo = (dateStr, type) => {
|
|
75
63
|
if (!dateStr)
|
|
76
64
|
return "";
|
|
77
65
|
const now = new Date();
|
|
@@ -120,8 +108,7 @@ const getTimeAgo = (dateStr, type) => {
|
|
|
120
108
|
return `${months} month${months > 1 ? "s" : ""} left`;
|
|
121
109
|
return `${years} year${years > 1 ? "s" : ""} left`;
|
|
122
110
|
};
|
|
123
|
-
|
|
124
|
-
const getLanguage = () => {
|
|
111
|
+
export const getLanguage = () => {
|
|
125
112
|
if (typeof window === "undefined")
|
|
126
113
|
return "en";
|
|
127
114
|
const up = localStorage.getItem("user-pref");
|
|
@@ -130,8 +117,7 @@ const getLanguage = () => {
|
|
|
130
117
|
const langNumber = parseInt(up[0]);
|
|
131
118
|
return langNumber === 1 ? "en" : "fr";
|
|
132
119
|
};
|
|
133
|
-
|
|
134
|
-
const getTemplate = () => {
|
|
120
|
+
export const getTemplate = () => {
|
|
135
121
|
if (typeof window === "undefined")
|
|
136
122
|
return 1;
|
|
137
123
|
const up = localStorage.getItem("user-pref");
|
|
@@ -139,14 +125,12 @@ const getTemplate = () => {
|
|
|
139
125
|
return 1;
|
|
140
126
|
return parseInt(up[2]);
|
|
141
127
|
};
|
|
142
|
-
|
|
143
|
-
const decodeUrlID = (urlID) => {
|
|
128
|
+
export const decodeUrlID = (urlID) => {
|
|
144
129
|
const base64DecodedString = decodeURIComponent(urlID); // Decodes %3D%3D to ==
|
|
145
130
|
const id = Buffer.from(base64DecodedString, 'base64').toString('utf-8'); // Decoding from base64
|
|
146
131
|
return id.split(":")[1];
|
|
147
132
|
};
|
|
148
|
-
|
|
149
|
-
function getAcademicYear() {
|
|
133
|
+
export function getAcademicYear() {
|
|
150
134
|
const today = new Date();
|
|
151
135
|
const year = today.getFullYear();
|
|
152
136
|
const month = today.getMonth(); // 0 = January, 7 = August
|
|
@@ -157,7 +141,7 @@ function getAcademicYear() {
|
|
|
157
141
|
return `${year}/${year + 1}`;
|
|
158
142
|
}
|
|
159
143
|
}
|
|
160
|
-
const removeEmptyFields = (obj) => {
|
|
144
|
+
export const removeEmptyFields = (obj) => {
|
|
161
145
|
const newObj = {};
|
|
162
146
|
for (const key in obj) {
|
|
163
147
|
// Keep File objects and non-empty values
|
|
@@ -168,18 +152,16 @@ const removeEmptyFields = (obj) => {
|
|
|
168
152
|
}
|
|
169
153
|
return newObj;
|
|
170
154
|
};
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
title: (0, exports.capitalizeEachWord)(title),
|
|
155
|
+
export const Alert = ({ title, duration, status = true }) => {
|
|
156
|
+
Swal.fire({
|
|
157
|
+
title: capitalizeEachWord(title),
|
|
175
158
|
timer: duration,
|
|
176
159
|
timerProgressBar: true,
|
|
177
160
|
showConfirmButton: false,
|
|
178
161
|
icon: status ? 'success' : 'error',
|
|
179
162
|
});
|
|
180
163
|
};
|
|
181
|
-
|
|
182
|
-
const validateFormFields = (formData, currentStepFields) => {
|
|
164
|
+
export const validateFormFields = (formData, currentStepFields) => {
|
|
183
165
|
const newErrors = {};
|
|
184
166
|
// 1. Flatten the fields from all rows in the step
|
|
185
167
|
const fieldsToValidate = currentStepFields.flatMap(row => row.fields);
|
|
@@ -191,7 +173,7 @@ const validateFormFields = (formData, currentStepFields) => {
|
|
|
191
173
|
const value = formData[field.name];
|
|
192
174
|
// 3. Check Required
|
|
193
175
|
if (field.required && (!value || value.toString().trim() === "")) {
|
|
194
|
-
newErrors[field.name] = `${
|
|
176
|
+
newErrors[field.name] = `${capitalizeEachWord(field.label)} is required`;
|
|
195
177
|
// return;
|
|
196
178
|
}
|
|
197
179
|
// 4. Check Type (Email)
|
|
@@ -223,15 +205,13 @@ const validateFormFields = (formData, currentStepFields) => {
|
|
|
223
205
|
});
|
|
224
206
|
return newErrors;
|
|
225
207
|
};
|
|
226
|
-
|
|
227
|
-
const lastYears = (number) => {
|
|
208
|
+
export const lastYears = (number) => {
|
|
228
209
|
return Array.from({ length: number }, (_, i) => ({
|
|
229
210
|
value: (currentYear - i).toString(),
|
|
230
211
|
label: (currentYear - i).toString()
|
|
231
212
|
})).sort((a, b) => Number(b.value) - Number(a.value));
|
|
232
213
|
};
|
|
233
|
-
|
|
234
|
-
const formatText = (text) => {
|
|
214
|
+
export const formatText = (text) => {
|
|
235
215
|
return text;
|
|
236
216
|
if (!text || typeof text !== "string")
|
|
237
217
|
return "";
|
|
@@ -275,4 +255,3 @@ const formatText = (text) => {
|
|
|
275
255
|
})
|
|
276
256
|
.join("");
|
|
277
257
|
};
|
|
278
|
-
exports.formatText = formatText;
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@econneq/gql-auth",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
|
-
"module": "./dist/index.
|
|
5
|
+
"module": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
13
|
"types": "./dist/index.d.ts",
|
|
14
|
-
"import": "./dist/index.
|
|
14
|
+
"import": "./dist/index.js",
|
|
15
15
|
"require": "./dist/index.js"
|
|
16
16
|
}
|
|
17
17
|
},
|