qumra-engine 2.0.148 → 2.0.150

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.
Files changed (73) hide show
  1. package/dist/controllers/localize/currency.controller.d.ts +1 -0
  2. package/dist/controllers/localize/currency.controller.js +34 -1
  3. package/dist/controllers/localize/lang.controller.js +0 -1
  4. package/dist/extensions/logic/all_products.js +0 -2
  5. package/dist/extensions/logic/content.d.ts +1 -1
  6. package/dist/extensions/logic/content.js +86 -69
  7. package/dist/extensions/logic/preview-widget.js +1 -2
  8. package/dist/extensions/logic/seo.js +0 -3
  9. package/dist/extensions/logic/template copy.d.ts +10 -0
  10. package/dist/extensions/logic/template copy.js +70 -0
  11. package/dist/extensions/logic/template.d.ts +5 -4
  12. package/dist/extensions/logic/template.js +62 -59
  13. package/dist/extensions/logic/ui.d.ts +5 -4
  14. package/dist/extensions/logic/ui.js +42 -21
  15. package/dist/extensions/logic/widget.d.ts +5 -4
  16. package/dist/extensions/logic/widget.js +47 -22
  17. package/dist/extensions/registerAllExtensions.js +0 -2
  18. package/dist/filters/index.d.ts +136 -22
  19. package/dist/filters/index.js +186 -49
  20. package/dist/filters/logic/array/first.d.ts +1 -1
  21. package/dist/filters/logic/array/first.js +8 -2
  22. package/dist/filters/logic/array/index.d.ts +0 -19
  23. package/dist/filters/logic/array/index.js +0 -43
  24. package/dist/filters/logic/array/last.d.ts +1 -1
  25. package/dist/filters/logic/array/last.js +8 -4
  26. package/dist/filters/logic/array/sort_natural.js +1 -1
  27. package/dist/filters/logic/cart/index.d.ts +0 -2
  28. package/dist/filters/logic/cart/index.js +0 -9
  29. package/dist/filters/logic/colors/index.d.ts +0 -16
  30. package/dist/filters/logic/colors/index.js +0 -37
  31. package/dist/filters/logic/customer/index.d.ts +0 -4
  32. package/dist/filters/logic/customer/index.js +0 -13
  33. package/dist/filters/logic/default/index.d.ts +0 -1
  34. package/dist/filters/logic/default/index.js +0 -7
  35. package/dist/filters/logic/format/index.d.ts +0 -4
  36. package/dist/filters/logic/format/index.js +0 -13
  37. package/dist/filters/logic/format/unit_price_with_measurement.js +1 -1
  38. package/dist/filters/logic/format/weight_with_unit.d.ts +1 -1
  39. package/dist/filters/logic/format/weight_with_unit.js +1 -1
  40. package/dist/filters/logic/html/highlight.d.ts +2 -1
  41. package/dist/filters/logic/html/highlight.js +5 -1
  42. package/dist/filters/logic/html/index.d.ts +0 -7
  43. package/dist/filters/logic/html/index.js +0 -19
  44. package/dist/filters/logic/localization/currency_selector.d.ts +1 -7
  45. package/dist/filters/logic/localization/currency_selector.js +10 -36
  46. package/dist/filters/logic/localization/index.d.ts +0 -2
  47. package/dist/filters/logic/localization/index.js +0 -9
  48. package/dist/filters/logic/math/index.d.ts +0 -11
  49. package/dist/filters/logic/math/index.js +0 -27
  50. package/dist/filters/logic/media/external_video_tag.d.ts +1 -1
  51. package/dist/filters/logic/media/external_video_tag.js +21 -1
  52. package/dist/filters/logic/media/image_url.d.ts +1 -1
  53. package/dist/filters/logic/media/image_url.js +30 -2
  54. package/dist/filters/logic/media/index.d.ts +0 -8
  55. package/dist/filters/logic/media/index.js +0 -21
  56. package/dist/filters/registerAllFilters.js +3 -36
  57. package/dist/functions/render-handler.d.ts +4 -0
  58. package/dist/functions/render-handler.js +88 -0
  59. package/dist/globals/logic/all_products.js +0 -1
  60. package/dist/graphql/query/findAllCountries.d.ts +2 -0
  61. package/dist/graphql/query/findAllCountries.js +41 -0
  62. package/dist/graphql/query/index.d.ts +2 -1
  63. package/dist/graphql/query/index.js +3 -1
  64. package/dist/middleware/init.middleware.js +0 -3
  65. package/dist/middleware/nunjucks.middleware.js +1 -1
  66. package/dist/middleware/prepareData.middleware.js +1 -1
  67. package/dist/middleware/render.middleware.js +21 -13
  68. package/dist/middleware.js +0 -1
  69. package/dist/nunjucksEnv.d.ts +1 -1
  70. package/dist/nunjucksEnv.js +2 -1
  71. package/dist/types/sharedTypes.d.ts +4 -0
  72. package/dist/utils/client.js +1 -1
  73. package/package.json +1 -1
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const graphql_request_1 = require("graphql-request");
4
+ exports.default = (0, graphql_request_1.gql) `
5
+ query FindAllCountries {
6
+ countries:findAllCountries {
7
+ success
8
+ message
9
+ data {
10
+ _id
11
+ value:_id
12
+ currency {
13
+ _id
14
+ title
15
+ currencyCode
16
+ currencySymbol
17
+ }
18
+ label:name
19
+ image {
20
+ image
21
+ imageUrl
22
+ }
23
+ code
24
+ continent
25
+ capital
26
+ active
27
+ deleted
28
+ phonekey
29
+ createdAt
30
+ updatedAt
31
+ }
32
+ pagination {
33
+ totalItems
34
+ totalPages
35
+ currentPage
36
+ limit
37
+ hasNextPage
38
+ }
39
+ }
40
+ }
41
+ `;
@@ -1,2 +1,3 @@
1
1
  import findAllProducts from "./findAllProducts";
2
- export { findAllProducts };
2
+ import findAllCountries from "./findAllCountries";
3
+ export { findAllProducts, findAllCountries };
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.findAllProducts = void 0;
6
+ exports.findAllCountries = exports.findAllProducts = void 0;
7
7
  const findAllProducts_1 = __importDefault(require("./findAllProducts"));
8
8
  exports.findAllProducts = findAllProducts_1.default;
9
+ const findAllCountries_1 = __importDefault(require("./findAllCountries"));
10
+ exports.findAllCountries = findAllCountries_1.default;
@@ -37,11 +37,8 @@ const initMiddleware = ({ mode, getRender, setRender, app, renderApi, market, })
37
37
  res.locals.cache.setRender = setRender;
38
38
  }
39
39
  const langCookie = req.cookies.lang;
40
- console.log("🚀 ~ initMiddleware ~ langCookie:", langCookie);
41
40
  const currencyCookie = req.cookies.currency;
42
- console.log("🚀 ~ initMiddleware ~ currencyCookie:", currencyCookie);
43
41
  const marketCookie = req.cookies.market;
44
- console.log("🚀 ~ initMiddleware ~ marketCookie:", marketCookie);
45
42
  if (langCookie || currencyCookie || marketCookie) {
46
43
  res.locals.lang = langCookie;
47
44
  res.locals.currency = currencyCookie;
@@ -24,7 +24,7 @@ const nunjucksMiddleWare = (req, res, next) => {
24
24
  res.locals[key] = value;
25
25
  });
26
26
  res.locals.mainPath = mainPath;
27
- const env = (0, nunjucksEnv_1.configureNunjucks)(mainPath);
27
+ const env = (0, nunjucksEnv_1.configureNunjucks)(mainPath, req.app);
28
28
  for (const [key, value] of Object.entries(paths)) {
29
29
  env.addGlobal(key, value);
30
30
  }
@@ -76,7 +76,7 @@ const prepareDataMiddleware = (req, res, next) => {
76
76
  next();
77
77
  })
78
78
  .catch((err) => {
79
- console.log("❌ prepareDataMiddleware error:", err.message);
79
+ console.log("❌ prepareDataMiddleware error:", err);
80
80
  next(err);
81
81
  });
82
82
  };
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.renderMiddleware = void 0;
4
- const resolveTranslations_1 = require("../utils/resolveTranslations");
5
7
  const globals_1 = require("../store/globals");
8
+ const render_handler_1 = __importDefault(require("../functions/render-handler"));
6
9
  const renderMiddleware = (req, res, next) => {
7
10
  const render = res.locals.render;
8
11
  const { context, globals, engine } = render;
12
+ const renderData = (0, render_handler_1.default)(res.locals);
9
13
  const jsonPreview = req.query?.jsonPreview ?? null;
10
14
  const widgetId = req.query?.widgetId ?? null;
11
15
  (0, globals_1.setGlobal)("injectionCode", engine?.injectionCode);
@@ -13,14 +17,16 @@ const renderMiddleware = (req, res, next) => {
13
17
  const pageLayout = env.getGlobal("pageData").layout ?? "layout";
14
18
  if (widgetId && jsonPreview === "true") {
15
19
  const overrideLayout = `{% content %}`;
16
- env.renderString(overrideLayout, (0, resolveTranslations_1.resolveTranslations)({
20
+ env.renderString(overrideLayout,
21
+ // resolveTranslations(
22
+ {
17
23
  context,
18
24
  globals,
19
- settings: env.getGlobal("settings"),
20
- market: res.locals.market || "",
21
- lang: res.locals.lang || "",
22
- currency: res.locals.currency || "",
23
- }, env.getGlobal("t")), (err, html) => {
25
+ ...renderData
26
+ },
27
+ // env.getGlobal("t")
28
+ // ),
29
+ (err, html) => {
24
30
  if (err) {
25
31
  return next(new Error(`❌ Nunjucks render error: ${err.message}`));
26
32
  }
@@ -35,14 +41,16 @@ const renderMiddleware = (req, res, next) => {
35
41
  });
36
42
  return;
37
43
  }
38
- env.render(`layouts/${pageLayout}.njk`, (0, resolveTranslations_1.resolveTranslations)({
44
+ env.render(`layouts/${pageLayout}.njk`,
45
+ // resolveTranslations(
46
+ {
39
47
  context,
40
48
  globals,
41
- settings: env.getGlobal("settings"),
42
- market: res.locals.market || "",
43
- lang: res.locals.lang || "",
44
- currency: res.locals.currency || "",
45
- }, env.getGlobal("t")), (err, html) => {
49
+ ...renderData
50
+ },
51
+ // env.getGlobal("t")
52
+ // ),
53
+ (err, html) => {
46
54
  if (err) {
47
55
  return next(new Error(`❌ Nunjucks render error: ${err.message}`));
48
56
  }
@@ -71,7 +71,6 @@ const startEngine = async ({ renderApi, mode, getRender, setRender, port = 3000,
71
71
  (0, locals_1.setLocales)("cookies", req.cookies);
72
72
  next();
73
73
  });
74
- console.log("🚀 ~ startEngine ~ currentApp:", currentApp);
75
74
  app.use((0, init_middleware_1.initMiddleware)({
76
75
  mode,
77
76
  getRender,
@@ -3,4 +3,4 @@ import nunjucks from "nunjucks";
3
3
  * إعداد Nunjucks مع مسار مخصص للقوالب
4
4
  * @param viewsPath المسار الكامل لملفات القوالب
5
5
  */
6
- export declare function configureNunjucks(viewsPath: string): nunjucks.Environment;
6
+ export declare function configureNunjucks(viewsPath: string, app: any): nunjucks.Environment;
@@ -9,11 +9,12 @@ const nunjucks_1 = __importDefault(require("nunjucks"));
9
9
  * إعداد Nunjucks مع مسار مخصص للقوالب
10
10
  * @param viewsPath المسار الكامل لملفات القوالب
11
11
  */
12
- function configureNunjucks(viewsPath) {
12
+ function configureNunjucks(viewsPath, app) {
13
13
  const env = nunjucks_1.default.configure(viewsPath, {
14
14
  autoescape: true,
15
15
  noCache: true,
16
16
  watch: false,
17
+ // express:app
17
18
  });
18
19
  return env;
19
20
  }
@@ -7,6 +7,7 @@ export interface Globals {
7
7
  app: any;
8
8
  Setting: any;
9
9
  assets: string;
10
+ customer: any;
10
11
  currency: Currency;
11
12
  cart?: any;
12
13
  themeDevMode?: boolean;
@@ -14,6 +15,9 @@ export interface Globals {
14
15
  }
15
16
  export interface RenderContext {
16
17
  page: Page;
18
+ query: {
19
+ q: string;
20
+ };
17
21
  [key: string]: any;
18
22
  }
19
23
  export type TMode = "production" | "devlopment";
@@ -10,7 +10,7 @@ function getGqlClient() {
10
10
  const qdid = cookies.qdid;
11
11
  const app = (0, globals_1.getGlobal)('app');
12
12
  const rawBaseUrl = app?.url;
13
- console.log("🚀 ~ getGqlClient ~ app:", app);
13
+ // console.log("🚀 ~ getGqlClient ~ app:", app);
14
14
  // نشيل أي / في آخر الرابط
15
15
  const baseUrl = rawBaseUrl?.replace(/\/+$/, '');
16
16
  const endpoint = `${baseUrl}/api/graphql`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qumra-engine",
3
- "version": "2.0.148",
3
+ "version": "2.0.150",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {