@open-mercato/checkout 0.6.7-develop.6788.1.c2a1520a30 → 0.6.7-develop.6814.1.0627c7e9f1

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,3 +1,4 @@
1
+ import { resolveTranslations } from "@open-mercato/shared/lib/i18n/server";
1
2
  import { CHECKOUT_ENTITY_IDS } from "./lib/constants.js";
2
3
  function asSearchText(value) {
3
4
  return typeof value === "string" ? value : "";
@@ -31,16 +32,23 @@ const searchConfig = {
31
32
  searchable: ["name", "title"],
32
33
  excluded: ["passwordHash", "gatewaySettings", "customerFieldsSchema"]
33
34
  },
34
- buildSource: async (ctx) => ({
35
- text: [`${asSearchText(ctx.record.name)}: ${asSearchText(ctx.record.title)}`],
36
- presenter: { title: asSearchText(ctx.record.name), subtitle: "Link Template" },
37
- checksumSource: { record: ctx.record, customFields: ctx.customFields }
38
- }),
39
- formatResult: async (ctx) => ({
40
- title: asSearchText(ctx.record.name),
41
- subtitle: "Link Template",
42
- icon: "lucide:file-text"
43
- })
35
+ buildSource: async (ctx) => {
36
+ const { t } = await resolveTranslations();
37
+ const linkTemplate = t("checkout.search.subtitle.linkTemplate", "Link Template");
38
+ return {
39
+ text: [`${asSearchText(ctx.record.name)}: ${asSearchText(ctx.record.title)}`],
40
+ presenter: { title: asSearchText(ctx.record.name), subtitle: linkTemplate },
41
+ checksumSource: { record: ctx.record, customFields: ctx.customFields }
42
+ };
43
+ },
44
+ formatResult: async (ctx) => {
45
+ const { t } = await resolveTranslations();
46
+ return {
47
+ title: asSearchText(ctx.record.name),
48
+ subtitle: t("checkout.search.subtitle.linkTemplate", "Link Template"),
49
+ icon: "lucide:file-text"
50
+ };
51
+ }
44
52
  },
45
53
  {
46
54
  entityId: CHECKOUT_ENTITY_IDS.transaction,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/modules/checkout/search.ts"],
4
- "sourcesContent": ["import type { SearchModuleConfig } from '@open-mercato/shared/modules/search'\nimport { CHECKOUT_ENTITY_IDS } from './lib/constants'\n\nfunction asSearchText(value: unknown): string {\n return typeof value === 'string' ? value : ''\n}\n\nexport const searchConfig: SearchModuleConfig = {\n entities: [\n {\n entityId: CHECKOUT_ENTITY_IDS.link,\n enabled: true,\n priority: 10,\n fieldPolicy: {\n searchable: ['name', 'title', 'slug'],\n excluded: ['passwordHash', 'gatewaySettings', 'customerFieldsSchema'],\n },\n buildSource: async (ctx) => ({\n text: [`${asSearchText(ctx.record.name)}: ${asSearchText(ctx.record.title)} (${asSearchText(ctx.record.slug)})`],\n presenter: { title: asSearchText(ctx.record.name), subtitle: asSearchText(ctx.record.slug) },\n checksumSource: { record: ctx.record, customFields: ctx.customFields },\n }),\n formatResult: async (ctx) => ({\n title: asSearchText(ctx.record.name),\n subtitle: `/pay/${asSearchText(ctx.record.slug)}`,\n icon: 'lucide:link',\n }),\n },\n {\n entityId: CHECKOUT_ENTITY_IDS.template,\n enabled: true,\n priority: 8,\n fieldPolicy: {\n searchable: ['name', 'title'],\n excluded: ['passwordHash', 'gatewaySettings', 'customerFieldsSchema'],\n },\n buildSource: async (ctx) => ({\n text: [`${asSearchText(ctx.record.name)}: ${asSearchText(ctx.record.title)}`],\n presenter: { title: asSearchText(ctx.record.name), subtitle: 'Link Template' },\n checksumSource: { record: ctx.record, customFields: ctx.customFields },\n }),\n formatResult: async (ctx) => ({\n title: asSearchText(ctx.record.name),\n subtitle: 'Link Template',\n icon: 'lucide:file-text',\n }),\n },\n {\n entityId: CHECKOUT_ENTITY_IDS.transaction,\n enabled: true,\n priority: 6,\n fieldPolicy: {\n searchable: ['email', 'firstName', 'lastName'],\n },\n buildSource: async (ctx) => ({\n text: [\n asSearchText(ctx.record.email),\n asSearchText(ctx.record.firstName),\n asSearchText(ctx.record.lastName),\n ],\n fields: {\n email: ctx.record.email,\n first_name: ctx.record.firstName,\n last_name: ctx.record.lastName,\n },\n presenter: {\n title: asSearchText(ctx.record.email),\n subtitle: `${asSearchText(ctx.record.firstName)} ${asSearchText(ctx.record.lastName)}`.trim(),\n },\n checksumSource: { record: ctx.record },\n }),\n formatResult: async (ctx) => ({\n title: asSearchText(ctx.record.email),\n subtitle: `${asSearchText(ctx.record.firstName)} ${asSearchText(ctx.record.lastName)}`.trim(),\n icon: 'lucide:receipt',\n }),\n },\n ],\n}\n\nexport const config = searchConfig\nexport default searchConfig\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { SearchModuleConfig } from '@open-mercato/shared/modules/search'\nimport { resolveTranslations } from '@open-mercato/shared/lib/i18n/server'\nimport { CHECKOUT_ENTITY_IDS } from './lib/constants'\n\nfunction asSearchText(value: unknown): string {\n return typeof value === 'string' ? value : ''\n}\n\nexport const searchConfig: SearchModuleConfig = {\n entities: [\n {\n entityId: CHECKOUT_ENTITY_IDS.link,\n enabled: true,\n priority: 10,\n fieldPolicy: {\n searchable: ['name', 'title', 'slug'],\n excluded: ['passwordHash', 'gatewaySettings', 'customerFieldsSchema'],\n },\n buildSource: async (ctx) => ({\n text: [`${asSearchText(ctx.record.name)}: ${asSearchText(ctx.record.title)} (${asSearchText(ctx.record.slug)})`],\n presenter: { title: asSearchText(ctx.record.name), subtitle: asSearchText(ctx.record.slug) },\n checksumSource: { record: ctx.record, customFields: ctx.customFields },\n }),\n formatResult: async (ctx) => ({\n title: asSearchText(ctx.record.name),\n subtitle: `/pay/${asSearchText(ctx.record.slug)}`,\n icon: 'lucide:link',\n }),\n },\n {\n entityId: CHECKOUT_ENTITY_IDS.template,\n enabled: true,\n priority: 8,\n fieldPolicy: {\n searchable: ['name', 'title'],\n excluded: ['passwordHash', 'gatewaySettings', 'customerFieldsSchema'],\n },\n buildSource: async (ctx) => {\n const { t } = await resolveTranslations()\n const linkTemplate = t('checkout.search.subtitle.linkTemplate', 'Link Template')\n return {\n text: [`${asSearchText(ctx.record.name)}: ${asSearchText(ctx.record.title)}`],\n presenter: { title: asSearchText(ctx.record.name), subtitle: linkTemplate },\n checksumSource: { record: ctx.record, customFields: ctx.customFields },\n }\n },\n formatResult: async (ctx) => {\n const { t } = await resolveTranslations()\n return {\n title: asSearchText(ctx.record.name),\n subtitle: t('checkout.search.subtitle.linkTemplate', 'Link Template'),\n icon: 'lucide:file-text',\n }\n },\n },\n {\n entityId: CHECKOUT_ENTITY_IDS.transaction,\n enabled: true,\n priority: 6,\n fieldPolicy: {\n searchable: ['email', 'firstName', 'lastName'],\n },\n buildSource: async (ctx) => ({\n text: [\n asSearchText(ctx.record.email),\n asSearchText(ctx.record.firstName),\n asSearchText(ctx.record.lastName),\n ],\n fields: {\n email: ctx.record.email,\n first_name: ctx.record.firstName,\n last_name: ctx.record.lastName,\n },\n presenter: {\n title: asSearchText(ctx.record.email),\n subtitle: `${asSearchText(ctx.record.firstName)} ${asSearchText(ctx.record.lastName)}`.trim(),\n },\n checksumSource: { record: ctx.record },\n }),\n formatResult: async (ctx) => ({\n title: asSearchText(ctx.record.email),\n subtitle: `${asSearchText(ctx.record.firstName)} ${asSearchText(ctx.record.lastName)}`.trim(),\n icon: 'lucide:receipt',\n }),\n },\n ],\n}\n\nexport const config = searchConfig\nexport default searchConfig\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-mercato/checkout",
3
- "version": "0.6.7-develop.6788.1.c2a1520a30",
3
+ "version": "0.6.7-develop.6814.1.0627c7e9f1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -62,27 +62,27 @@
62
62
  }
63
63
  },
64
64
  "dependencies": {
65
- "@open-mercato/core": "0.6.7-develop.6788.1.c2a1520a30",
66
- "@open-mercato/ui": "0.6.7-develop.6788.1.c2a1520a30",
65
+ "@open-mercato/core": "0.6.7-develop.6814.1.0627c7e9f1",
66
+ "@open-mercato/ui": "0.6.7-develop.6814.1.0627c7e9f1",
67
67
  "bcryptjs": "^3.0.3"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "@mikro-orm/postgresql": "^7.0.14",
71
- "@open-mercato/shared": "0.6.7-develop.6788.1.c2a1520a30",
71
+ "@open-mercato/shared": "0.6.7-develop.6814.1.0627c7e9f1",
72
72
  "react": "^19.0.0",
73
73
  "react-dom": "^19.0.0"
74
74
  },
75
75
  "devDependencies": {
76
- "@open-mercato/shared": "0.6.7-develop.6788.1.c2a1520a30",
76
+ "@open-mercato/shared": "0.6.7-develop.6814.1.0627c7e9f1",
77
77
  "@types/jest": "^30.0.0",
78
78
  "@types/react": "^19.2.17",
79
79
  "@types/react-dom": "^19.2.3",
80
80
  "esbuild": "^0.28.1",
81
81
  "glob": "^13.0.6",
82
82
  "jest": "^30.4.2",
83
- "react": "19.2.7",
84
- "react-dom": "19.2.7",
85
- "ts-jest": "^29.4.11",
83
+ "react": "19.2.8",
84
+ "react-dom": "19.2.8",
85
+ "ts-jest": "^29.4.12",
86
86
  "typescript": "7.0.2"
87
87
  },
88
88
  "publishConfig": {
@@ -380,6 +380,7 @@
380
380
  "checkout.payPage.validation.priceSelectionRequired": "Bitte eine Zahlungsoption auswaehlen, um fortzufahren.",
381
381
  "checkout.payPage.validation.requiredField": "Bitte {field} ausfuellen.",
382
382
  "checkout.payPage.validation.thisField": "dieses Feld",
383
+ "checkout.search.subtitle.linkTemplate": "Link-Vorlage",
383
384
  "checkout.statusPage.backToPayment": "Zuruck zur Zahlungsseite",
384
385
  "checkout.statusPage.cancel.cancelled": "Zahlung abgebrochen",
385
386
  "checkout.statusPage.cancel.failed": "Zahlung fehlgeschlagen",
@@ -380,6 +380,7 @@
380
380
  "checkout.payPage.validation.priceSelectionRequired": "Choose a payment option to continue.",
381
381
  "checkout.payPage.validation.requiredField": "Enter {field}.",
382
382
  "checkout.payPage.validation.thisField": "this field",
383
+ "checkout.search.subtitle.linkTemplate": "Link Template",
383
384
  "checkout.statusPage.backToPayment": "Back to payment page",
384
385
  "checkout.statusPage.cancel.cancelled": "Payment cancelled",
385
386
  "checkout.statusPage.cancel.failed": "Payment failed",
@@ -380,6 +380,7 @@
380
380
  "checkout.payPage.validation.priceSelectionRequired": "Elige una opcion de pago para continuar.",
381
381
  "checkout.payPage.validation.requiredField": "Completa {field}.",
382
382
  "checkout.payPage.validation.thisField": "este campo",
383
+ "checkout.search.subtitle.linkTemplate": "Plantilla de enlace",
383
384
  "checkout.statusPage.backToPayment": "Volver a la pagina de pago",
384
385
  "checkout.statusPage.cancel.cancelled": "Pago cancelado",
385
386
  "checkout.statusPage.cancel.failed": "Pago fallido",
@@ -380,6 +380,7 @@
380
380
  "checkout.payPage.validation.priceSelectionRequired": "Wybierz opcję płatności, aby kontynuować.",
381
381
  "checkout.payPage.validation.requiredField": "Uzupełnij pole {field}.",
382
382
  "checkout.payPage.validation.thisField": "to pole",
383
+ "checkout.search.subtitle.linkTemplate": "Szablon linku",
383
384
  "checkout.statusPage.backToPayment": "Wróć do strony płatności",
384
385
  "checkout.statusPage.cancel.cancelled": "Płatność anulowana",
385
386
  "checkout.statusPage.cancel.failed": "Płatność nieudana",
@@ -1,4 +1,5 @@
1
1
  import type { SearchModuleConfig } from '@open-mercato/shared/modules/search'
2
+ import { resolveTranslations } from '@open-mercato/shared/lib/i18n/server'
2
3
  import { CHECKOUT_ENTITY_IDS } from './lib/constants'
3
4
 
4
5
  function asSearchText(value: unknown): string {
@@ -34,16 +35,23 @@ export const searchConfig: SearchModuleConfig = {
34
35
  searchable: ['name', 'title'],
35
36
  excluded: ['passwordHash', 'gatewaySettings', 'customerFieldsSchema'],
36
37
  },
37
- buildSource: async (ctx) => ({
38
- text: [`${asSearchText(ctx.record.name)}: ${asSearchText(ctx.record.title)}`],
39
- presenter: { title: asSearchText(ctx.record.name), subtitle: 'Link Template' },
40
- checksumSource: { record: ctx.record, customFields: ctx.customFields },
41
- }),
42
- formatResult: async (ctx) => ({
43
- title: asSearchText(ctx.record.name),
44
- subtitle: 'Link Template',
45
- icon: 'lucide:file-text',
46
- }),
38
+ buildSource: async (ctx) => {
39
+ const { t } = await resolveTranslations()
40
+ const linkTemplate = t('checkout.search.subtitle.linkTemplate', 'Link Template')
41
+ return {
42
+ text: [`${asSearchText(ctx.record.name)}: ${asSearchText(ctx.record.title)}`],
43
+ presenter: { title: asSearchText(ctx.record.name), subtitle: linkTemplate },
44
+ checksumSource: { record: ctx.record, customFields: ctx.customFields },
45
+ }
46
+ },
47
+ formatResult: async (ctx) => {
48
+ const { t } = await resolveTranslations()
49
+ return {
50
+ title: asSearchText(ctx.record.name),
51
+ subtitle: t('checkout.search.subtitle.linkTemplate', 'Link Template'),
52
+ icon: 'lucide:file-text',
53
+ }
54
+ },
47
55
  },
48
56
  {
49
57
  entityId: CHECKOUT_ENTITY_IDS.transaction,