@hartl-services/medusa-base 2.2.1 → 2.4.0
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/.medusa/server/src/admin/index.js +131 -48
- package/.medusa/server/src/admin/index.mjs +131 -48
- package/.medusa/server/src/api/admin/draft-orders/[id]/order-confirmation/route.js +23 -0
- package/.medusa/server/src/api/middlewares.js +16 -2
- package/.medusa/server/src/email/domain/business-keys.js +4 -2
- package/.medusa/server/src/email/plugin-features.js +3 -3
- package/.medusa/server/src/email/rendering/default-templates.js +37 -2
- package/.medusa/server/src/email/rendering/render-email.js +2 -1
- package/.medusa/server/src/email/rendering/resolve-shop-configuration.js +5 -1
- package/.medusa/server/src/email/types/email-kinds.js +2 -1
- package/.medusa/server/src/email/types/template-data.js +12 -1
- package/.medusa/server/src/modules/email/migrations/Migration20261001120000.js +16 -0
- package/.medusa/server/src/shop-config/build-food-shop-config.js +3 -1
- package/.medusa/server/src/subscribers/affiliate-application-submitted.js +26 -0
- package/.medusa/server/src/subscribers/order-zero-total-paid.js +19 -0
- package/.medusa/server/src/workflows/email/prepare-affiliate-application-email.js +46 -0
- package/.medusa/server/src/workflows/email/update-draft-order-confirmation.js +49 -0
- package/.medusa/server/src/workflows/hooks/draft-order-confirmation-default.js +39 -0
- package/.medusa/server/src/workflows/order/mark-zero-total-order-paid.js +45 -0
- package/README.md +93 -8
- package/dist/email/types/email-kinds.d.ts +2 -1
- package/dist/email/types/email-kinds.js +1 -0
- package/dist/email/types/shop-configuration.d.ts +8 -0
- package/dist/email/types/template-data.d.ts +18 -0
- package/dist/email/types/template-data.js +11 -0
- package/dist/shop-config/build-food-shop-config.js +2 -0
- package/package.json +2 -2
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
|
-
const react = require("react");
|
|
4
3
|
const adminSdk = require("@medusajs/admin-sdk");
|
|
5
4
|
const ui = require("@medusajs/ui");
|
|
6
5
|
const reactQuery = require("@tanstack/react-query");
|
|
7
|
-
const
|
|
6
|
+
const email = require("@hartl-services/medusa-food-supplements-contracts/paths/email");
|
|
8
7
|
const Medusa = require("@medusajs/js-sdk");
|
|
9
8
|
const reactRouterDom = require("react-router-dom");
|
|
10
9
|
const pluginFeatures = require("@hartl-services/medusa-food-supplements-contracts/paths/plugin-features");
|
|
11
|
-
const
|
|
10
|
+
const react = require("react");
|
|
11
|
+
const documents = require("@hartl-services/medusa-food-supplements-contracts/paths/documents");
|
|
12
12
|
const email$1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
|
|
13
13
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
14
14
|
const Medusa__default = /* @__PURE__ */ _interopDefault(Medusa);
|
|
@@ -1026,6 +1026,103 @@ const PluginFeatureDisabledNotice = ({
|
|
|
1026
1026
|
]
|
|
1027
1027
|
}
|
|
1028
1028
|
);
|
|
1029
|
+
const withPagination = (params) => new URLSearchParams({
|
|
1030
|
+
limit: String(params.limit),
|
|
1031
|
+
offset: String(params.offset)
|
|
1032
|
+
});
|
|
1033
|
+
const withMessageQuery = (path, params) => {
|
|
1034
|
+
const query = withPagination(params);
|
|
1035
|
+
if (params.kind) {
|
|
1036
|
+
query.set("kind", params.kind);
|
|
1037
|
+
}
|
|
1038
|
+
if (params.status) {
|
|
1039
|
+
query.set("status", params.status);
|
|
1040
|
+
}
|
|
1041
|
+
if (params.resource_id) {
|
|
1042
|
+
query.set("resource_id", params.resource_id);
|
|
1043
|
+
}
|
|
1044
|
+
return `${path}?${query.toString()}`;
|
|
1045
|
+
};
|
|
1046
|
+
const listEmailMessages = (params) => sdk.client.fetch(
|
|
1047
|
+
withMessageQuery(email.emailAdminPaths.get.list, params)
|
|
1048
|
+
);
|
|
1049
|
+
const retrieveEmailMessage = (messageId) => sdk.client.fetch(
|
|
1050
|
+
email.emailAdminPaths.get.detail(messageId)
|
|
1051
|
+
);
|
|
1052
|
+
const resendEmailMessage = (messageId, body) => sdk.client.fetch(
|
|
1053
|
+
email.emailAdminPaths.post.resend(messageId),
|
|
1054
|
+
{ method: "POST", body }
|
|
1055
|
+
);
|
|
1056
|
+
const listEmailTermsVersions = (params) => {
|
|
1057
|
+
const query = withPagination(params);
|
|
1058
|
+
return sdk.client.fetch(
|
|
1059
|
+
`${email.emailAdminPaths.get.termsVersions}?${query.toString()}`
|
|
1060
|
+
);
|
|
1061
|
+
};
|
|
1062
|
+
const createEmailTermsVersion = (body) => sdk.client.fetch(
|
|
1063
|
+
email.emailAdminPaths.post.createTermsVersion,
|
|
1064
|
+
{ method: "POST", body }
|
|
1065
|
+
);
|
|
1066
|
+
const downloadEmailTermsVersion = async (termsVersionId) => {
|
|
1067
|
+
const response = await sdk.client.fetch(
|
|
1068
|
+
email.emailAdminPaths.get.downloadTermsVersion(termsVersionId),
|
|
1069
|
+
{ headers: { accept: "application/pdf" } }
|
|
1070
|
+
);
|
|
1071
|
+
return response.blob();
|
|
1072
|
+
};
|
|
1073
|
+
const retrieveDraftOrderConfirmation = (draftOrderId) => sdk.client.fetch(
|
|
1074
|
+
email.emailAdminPaths.get.draftOrderConfirmation(draftOrderId)
|
|
1075
|
+
);
|
|
1076
|
+
const updateDraftOrderConfirmation = (draftOrderId, body) => sdk.client.fetch(
|
|
1077
|
+
email.emailAdminPaths.post.updateDraftOrderConfirmation(draftOrderId),
|
|
1078
|
+
{ method: "POST", body }
|
|
1079
|
+
);
|
|
1080
|
+
const DraftOrderConfirmationWidgetContent = ({
|
|
1081
|
+
data
|
|
1082
|
+
}) => {
|
|
1083
|
+
const queryClient = reactQuery.useQueryClient();
|
|
1084
|
+
const queryKey = ["email", "draft-order-confirmation", data.id];
|
|
1085
|
+
const confirmationQuery = reactQuery.useQuery({
|
|
1086
|
+
queryKey,
|
|
1087
|
+
queryFn: () => retrieveDraftOrderConfirmation(data.id)
|
|
1088
|
+
});
|
|
1089
|
+
const update = reactQuery.useMutation({
|
|
1090
|
+
mutationFn: (send2) => updateDraftOrderConfirmation(data.id, { send_order_confirmation: send2 }),
|
|
1091
|
+
onSuccess: (confirmation) => {
|
|
1092
|
+
queryClient.setQueryData(queryKey, confirmation);
|
|
1093
|
+
},
|
|
1094
|
+
onError: (error) => {
|
|
1095
|
+
ui.toast.error("Die Einstellung konnte nicht gespeichert werden.", {
|
|
1096
|
+
description: getErrorMessage(error)
|
|
1097
|
+
});
|
|
1098
|
+
}
|
|
1099
|
+
});
|
|
1100
|
+
const switchId = `draft-order-confirmation-${data.id}`;
|
|
1101
|
+
const send = confirmationQuery.data?.send_order_confirmation;
|
|
1102
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "divide-y p-0", children: [
|
|
1103
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-6 py-4", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h2", children: "Bestellbestätigung" }) }),
|
|
1104
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-4 px-6 py-4", children: [
|
|
1105
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
1106
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: switchId, weight: "plus", children: "An Kunden senden" }),
|
|
1107
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", className: "text-ui-fg-subtle", children: confirmationQuery.isError ? "Die Einstellung konnte nicht geladen werden." : send ? "Beim Umwandeln in eine Bestellung erhält der Kunde die Bestellbestätigung." : "Beim Umwandeln in eine Bestellung wird keine Bestellbestätigung an den Kunden gesendet." })
|
|
1108
|
+
] }),
|
|
1109
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1110
|
+
ui.Switch,
|
|
1111
|
+
{
|
|
1112
|
+
id: switchId,
|
|
1113
|
+
className: "shrink-0",
|
|
1114
|
+
checked: send === true,
|
|
1115
|
+
disabled: send === void 0 || update.isPending,
|
|
1116
|
+
onCheckedChange: (checked) => update.mutate(checked === true)
|
|
1117
|
+
}
|
|
1118
|
+
)
|
|
1119
|
+
] })
|
|
1120
|
+
] });
|
|
1121
|
+
};
|
|
1122
|
+
const DraftOrderConfirmationWidget = (props) => /* @__PURE__ */ jsxRuntime.jsx(PluginFeatureGate, { pluginKey: "email", featureKeys: ["order_mails"], children: /* @__PURE__ */ jsxRuntime.jsx(DraftOrderConfirmationWidgetContent, { ...props }) });
|
|
1123
|
+
adminSdk.defineWidgetConfig({
|
|
1124
|
+
zone: "draft_order.details.side.after"
|
|
1125
|
+
});
|
|
1029
1126
|
const listOrderDocuments = (orderId) => sdk.client.fetch(
|
|
1030
1127
|
documents.documentsPaths.admin.get.listForOrder(orderId)
|
|
1031
1128
|
);
|
|
@@ -1613,49 +1710,9 @@ const PluginFeaturesSettingsPage = () => {
|
|
|
1613
1710
|
const config = adminSdk.defineRouteConfig({
|
|
1614
1711
|
label: texts.menu.label
|
|
1615
1712
|
});
|
|
1616
|
-
const withPagination = (params) => new URLSearchParams({
|
|
1617
|
-
limit: String(params.limit),
|
|
1618
|
-
offset: String(params.offset)
|
|
1619
|
-
});
|
|
1620
|
-
const withMessageQuery = (path, params) => {
|
|
1621
|
-
const query = withPagination(params);
|
|
1622
|
-
if (params.kind) {
|
|
1623
|
-
query.set("kind", params.kind);
|
|
1624
|
-
}
|
|
1625
|
-
if (params.status) {
|
|
1626
|
-
query.set("status", params.status);
|
|
1627
|
-
}
|
|
1628
|
-
return `${path}?${query.toString()}`;
|
|
1629
|
-
};
|
|
1630
|
-
const listEmailMessages = (params) => sdk.client.fetch(
|
|
1631
|
-
withMessageQuery(email.emailAdminPaths.get.list, params)
|
|
1632
|
-
);
|
|
1633
|
-
const retrieveEmailMessage = (messageId) => sdk.client.fetch(
|
|
1634
|
-
email.emailAdminPaths.get.detail(messageId)
|
|
1635
|
-
);
|
|
1636
|
-
const resendEmailMessage = (messageId, body) => sdk.client.fetch(
|
|
1637
|
-
email.emailAdminPaths.post.resend(messageId),
|
|
1638
|
-
{ method: "POST", body }
|
|
1639
|
-
);
|
|
1640
|
-
const listEmailTermsVersions = (params) => {
|
|
1641
|
-
const query = withPagination(params);
|
|
1642
|
-
return sdk.client.fetch(
|
|
1643
|
-
`${email.emailAdminPaths.get.termsVersions}?${query.toString()}`
|
|
1644
|
-
);
|
|
1645
|
-
};
|
|
1646
|
-
const createEmailTermsVersion = (body) => sdk.client.fetch(
|
|
1647
|
-
email.emailAdminPaths.post.createTermsVersion,
|
|
1648
|
-
{ method: "POST", body }
|
|
1649
|
-
);
|
|
1650
|
-
const downloadEmailTermsVersion = async (termsVersionId) => {
|
|
1651
|
-
const response = await sdk.client.fetch(
|
|
1652
|
-
email.emailAdminPaths.get.downloadTermsVersion(termsVersionId),
|
|
1653
|
-
{ headers: { accept: "application/pdf" } }
|
|
1654
|
-
);
|
|
1655
|
-
return response.blob();
|
|
1656
|
-
};
|
|
1657
1713
|
const PAGE_SIZE$1 = 20;
|
|
1658
1714
|
const MAX_PAGE_OFFSET$1 = 1e4;
|
|
1715
|
+
const MAX_RESOURCE_ID_LENGTH = 255;
|
|
1659
1716
|
const KINDS = [
|
|
1660
1717
|
"order.received",
|
|
1661
1718
|
"order.received.admin",
|
|
@@ -1666,7 +1723,9 @@ const KINDS = [
|
|
|
1666
1723
|
"order.refunded",
|
|
1667
1724
|
"auth.password_reset",
|
|
1668
1725
|
"auth.verification",
|
|
1669
|
-
"affiliate.consignment_report_due"
|
|
1726
|
+
"affiliate.consignment_report_due",
|
|
1727
|
+
"affiliate.application_submitted.admin",
|
|
1728
|
+
"user.invite"
|
|
1670
1729
|
];
|
|
1671
1730
|
const STATUSES = [
|
|
1672
1731
|
"pending",
|
|
@@ -1688,7 +1747,9 @@ const KIND_LABELS = {
|
|
|
1688
1747
|
"order.refunded": "Rückerstattung",
|
|
1689
1748
|
"auth.password_reset": "Passwort zurücksetzen",
|
|
1690
1749
|
"auth.verification": "Konto bestätigen",
|
|
1691
|
-
"affiliate.consignment_report_due": "Affiliate-Meldung"
|
|
1750
|
+
"affiliate.consignment_report_due": "Affiliate-Meldung",
|
|
1751
|
+
"affiliate.application_submitted.admin": "Neue Partner-Bewerbung (Shop)",
|
|
1752
|
+
"user.invite": "Admin-Einladung"
|
|
1692
1753
|
};
|
|
1693
1754
|
const STATUS_LABELS = {
|
|
1694
1755
|
pending: "Wartet auf Fakten",
|
|
@@ -1812,6 +1873,7 @@ const EmailStatusPage = () => {
|
|
|
1812
1873
|
const queryClient = reactQuery.useQueryClient();
|
|
1813
1874
|
const [kind, setKind] = react.useState("all");
|
|
1814
1875
|
const [status, setStatus] = react.useState("all");
|
|
1876
|
+
const [resourceId, setResourceId] = react.useState("");
|
|
1815
1877
|
const [offset, setOffset] = react.useState(0);
|
|
1816
1878
|
const [selectedId, setSelectedId] = react.useState(null);
|
|
1817
1879
|
const [confirmationOpen, setConfirmationOpen] = react.useState(false);
|
|
@@ -1819,13 +1881,14 @@ const EmailStatusPage = () => {
|
|
|
1819
1881
|
const listQueryKey = [
|
|
1820
1882
|
"email",
|
|
1821
1883
|
"message-list",
|
|
1822
|
-
{ kind, status, offset, limit: PAGE_SIZE$1 }
|
|
1884
|
+
{ kind, status, resourceId, offset, limit: PAGE_SIZE$1 }
|
|
1823
1885
|
];
|
|
1824
1886
|
const messagesQuery = reactQuery.useQuery({
|
|
1825
1887
|
queryKey: listQueryKey,
|
|
1826
1888
|
queryFn: () => listEmailMessages({
|
|
1827
1889
|
kind: kind === "all" ? void 0 : kind,
|
|
1828
1890
|
status: status === "all" ? void 0 : status,
|
|
1891
|
+
resource_id: resourceId || void 0,
|
|
1829
1892
|
limit: PAGE_SIZE$1,
|
|
1830
1893
|
offset
|
|
1831
1894
|
})
|
|
@@ -1920,7 +1983,22 @@ const EmailStatusPage = () => {
|
|
|
1920
1983
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h2", children: "E-Mail-Protokoll" }),
|
|
1921
1984
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-subtle", children: "Sicherer Status und Zustellversuche ohne Empfänger- oder Inhaltsdaten." })
|
|
1922
1985
|
] }),
|
|
1923
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [
|
|
1986
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-3 sm:grid-cols-2 xl:grid-cols-3", children: [
|
|
1987
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1988
|
+
ui.Input,
|
|
1989
|
+
{
|
|
1990
|
+
"aria-label": "Ressourcen-ID",
|
|
1991
|
+
className: "sm:col-span-2 xl:col-span-1 xl:w-72",
|
|
1992
|
+
maxLength: MAX_RESOURCE_ID_LENGTH,
|
|
1993
|
+
onChange: (event) => {
|
|
1994
|
+
setResourceId(event.target.value.trim());
|
|
1995
|
+
setOffset(0);
|
|
1996
|
+
setSelectedId(null);
|
|
1997
|
+
},
|
|
1998
|
+
placeholder: "Ressourcen-ID, z. B. order_01…",
|
|
1999
|
+
type: "search"
|
|
2000
|
+
}
|
|
2001
|
+
),
|
|
1924
2002
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1925
2003
|
ui.Select,
|
|
1926
2004
|
{
|
|
@@ -2460,6 +2538,11 @@ const PluginDetailPage = () => {
|
|
|
2460
2538
|
return /* @__PURE__ */ jsxRuntime.jsx(PluginPageShell, { pluginKey, children: /* @__PURE__ */ jsxRuntime.jsx(PluginFeatureSections, { pluginKey }) });
|
|
2461
2539
|
};
|
|
2462
2540
|
const widgetModule = { widgets: [
|
|
2541
|
+
{
|
|
2542
|
+
Component: DraftOrderConfirmationWidget,
|
|
2543
|
+
zone: ["draft_order.details.side.after"],
|
|
2544
|
+
widgetId: "Widget-24ee"
|
|
2545
|
+
},
|
|
2463
2546
|
{
|
|
2464
2547
|
Component: OrderDocumentsWidget,
|
|
2465
2548
|
zone: ["order.details.side.after"],
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect, useMemo, useRef } from "react";
|
|
3
2
|
import { defineWidgetConfig, defineRouteConfig } from "@medusajs/admin-sdk";
|
|
4
3
|
import { toast, Button, Text, Hint, Container, Heading, Alert, Label, Switch, Input, Select, StatusBadge, usePrompt, FocusModal, Prompt } from "@medusajs/ui";
|
|
5
4
|
import { useQuery, useQueryClient, useMutation } from "@tanstack/react-query";
|
|
6
|
-
import {
|
|
5
|
+
import { emailAdminPaths } from "@hartl-services/medusa-food-supplements-contracts/paths/email";
|
|
7
6
|
import Medusa from "@medusajs/js-sdk";
|
|
8
7
|
import { Link, useParams } from "react-router-dom";
|
|
9
8
|
import { pluginFeaturesAdminPaths } from "@hartl-services/medusa-food-supplements-contracts/paths/plugin-features";
|
|
10
|
-
import {
|
|
9
|
+
import { useState, useEffect, useMemo, useRef } from "react";
|
|
10
|
+
import { documentsPaths, packingListsPaths } from "@hartl-services/medusa-food-supplements-contracts/paths/documents";
|
|
11
11
|
import { EMAIL_TERMS_MAX_PDF_BYTES } from "@hartl-services/medusa-food-supplements-contracts/schemas/email";
|
|
12
12
|
const texts = {
|
|
13
13
|
menu: {
|
|
@@ -1023,6 +1023,103 @@ const PluginFeatureDisabledNotice = ({
|
|
|
1023
1023
|
]
|
|
1024
1024
|
}
|
|
1025
1025
|
);
|
|
1026
|
+
const withPagination = (params) => new URLSearchParams({
|
|
1027
|
+
limit: String(params.limit),
|
|
1028
|
+
offset: String(params.offset)
|
|
1029
|
+
});
|
|
1030
|
+
const withMessageQuery = (path, params) => {
|
|
1031
|
+
const query = withPagination(params);
|
|
1032
|
+
if (params.kind) {
|
|
1033
|
+
query.set("kind", params.kind);
|
|
1034
|
+
}
|
|
1035
|
+
if (params.status) {
|
|
1036
|
+
query.set("status", params.status);
|
|
1037
|
+
}
|
|
1038
|
+
if (params.resource_id) {
|
|
1039
|
+
query.set("resource_id", params.resource_id);
|
|
1040
|
+
}
|
|
1041
|
+
return `${path}?${query.toString()}`;
|
|
1042
|
+
};
|
|
1043
|
+
const listEmailMessages = (params) => sdk.client.fetch(
|
|
1044
|
+
withMessageQuery(emailAdminPaths.get.list, params)
|
|
1045
|
+
);
|
|
1046
|
+
const retrieveEmailMessage = (messageId) => sdk.client.fetch(
|
|
1047
|
+
emailAdminPaths.get.detail(messageId)
|
|
1048
|
+
);
|
|
1049
|
+
const resendEmailMessage = (messageId, body) => sdk.client.fetch(
|
|
1050
|
+
emailAdminPaths.post.resend(messageId),
|
|
1051
|
+
{ method: "POST", body }
|
|
1052
|
+
);
|
|
1053
|
+
const listEmailTermsVersions = (params) => {
|
|
1054
|
+
const query = withPagination(params);
|
|
1055
|
+
return sdk.client.fetch(
|
|
1056
|
+
`${emailAdminPaths.get.termsVersions}?${query.toString()}`
|
|
1057
|
+
);
|
|
1058
|
+
};
|
|
1059
|
+
const createEmailTermsVersion = (body) => sdk.client.fetch(
|
|
1060
|
+
emailAdminPaths.post.createTermsVersion,
|
|
1061
|
+
{ method: "POST", body }
|
|
1062
|
+
);
|
|
1063
|
+
const downloadEmailTermsVersion = async (termsVersionId) => {
|
|
1064
|
+
const response = await sdk.client.fetch(
|
|
1065
|
+
emailAdminPaths.get.downloadTermsVersion(termsVersionId),
|
|
1066
|
+
{ headers: { accept: "application/pdf" } }
|
|
1067
|
+
);
|
|
1068
|
+
return response.blob();
|
|
1069
|
+
};
|
|
1070
|
+
const retrieveDraftOrderConfirmation = (draftOrderId) => sdk.client.fetch(
|
|
1071
|
+
emailAdminPaths.get.draftOrderConfirmation(draftOrderId)
|
|
1072
|
+
);
|
|
1073
|
+
const updateDraftOrderConfirmation = (draftOrderId, body) => sdk.client.fetch(
|
|
1074
|
+
emailAdminPaths.post.updateDraftOrderConfirmation(draftOrderId),
|
|
1075
|
+
{ method: "POST", body }
|
|
1076
|
+
);
|
|
1077
|
+
const DraftOrderConfirmationWidgetContent = ({
|
|
1078
|
+
data
|
|
1079
|
+
}) => {
|
|
1080
|
+
const queryClient = useQueryClient();
|
|
1081
|
+
const queryKey = ["email", "draft-order-confirmation", data.id];
|
|
1082
|
+
const confirmationQuery = useQuery({
|
|
1083
|
+
queryKey,
|
|
1084
|
+
queryFn: () => retrieveDraftOrderConfirmation(data.id)
|
|
1085
|
+
});
|
|
1086
|
+
const update = useMutation({
|
|
1087
|
+
mutationFn: (send2) => updateDraftOrderConfirmation(data.id, { send_order_confirmation: send2 }),
|
|
1088
|
+
onSuccess: (confirmation) => {
|
|
1089
|
+
queryClient.setQueryData(queryKey, confirmation);
|
|
1090
|
+
},
|
|
1091
|
+
onError: (error) => {
|
|
1092
|
+
toast.error("Die Einstellung konnte nicht gespeichert werden.", {
|
|
1093
|
+
description: getErrorMessage(error)
|
|
1094
|
+
});
|
|
1095
|
+
}
|
|
1096
|
+
});
|
|
1097
|
+
const switchId = `draft-order-confirmation-${data.id}`;
|
|
1098
|
+
const send = confirmationQuery.data?.send_order_confirmation;
|
|
1099
|
+
return /* @__PURE__ */ jsxs(Container, { className: "divide-y p-0", children: [
|
|
1100
|
+
/* @__PURE__ */ jsx("div", { className: "px-6 py-4", children: /* @__PURE__ */ jsx(Heading, { level: "h2", children: "Bestellbestätigung" }) }),
|
|
1101
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-4 px-6 py-4", children: [
|
|
1102
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
1103
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: switchId, weight: "plus", children: "An Kunden senden" }),
|
|
1104
|
+
/* @__PURE__ */ jsx(Text, { size: "small", className: "text-ui-fg-subtle", children: confirmationQuery.isError ? "Die Einstellung konnte nicht geladen werden." : send ? "Beim Umwandeln in eine Bestellung erhält der Kunde die Bestellbestätigung." : "Beim Umwandeln in eine Bestellung wird keine Bestellbestätigung an den Kunden gesendet." })
|
|
1105
|
+
] }),
|
|
1106
|
+
/* @__PURE__ */ jsx(
|
|
1107
|
+
Switch,
|
|
1108
|
+
{
|
|
1109
|
+
id: switchId,
|
|
1110
|
+
className: "shrink-0",
|
|
1111
|
+
checked: send === true,
|
|
1112
|
+
disabled: send === void 0 || update.isPending,
|
|
1113
|
+
onCheckedChange: (checked) => update.mutate(checked === true)
|
|
1114
|
+
}
|
|
1115
|
+
)
|
|
1116
|
+
] })
|
|
1117
|
+
] });
|
|
1118
|
+
};
|
|
1119
|
+
const DraftOrderConfirmationWidget = (props) => /* @__PURE__ */ jsx(PluginFeatureGate, { pluginKey: "email", featureKeys: ["order_mails"], children: /* @__PURE__ */ jsx(DraftOrderConfirmationWidgetContent, { ...props }) });
|
|
1120
|
+
defineWidgetConfig({
|
|
1121
|
+
zone: "draft_order.details.side.after"
|
|
1122
|
+
});
|
|
1026
1123
|
const listOrderDocuments = (orderId) => sdk.client.fetch(
|
|
1027
1124
|
documentsPaths.admin.get.listForOrder(orderId)
|
|
1028
1125
|
);
|
|
@@ -1610,49 +1707,9 @@ const PluginFeaturesSettingsPage = () => {
|
|
|
1610
1707
|
const config = defineRouteConfig({
|
|
1611
1708
|
label: texts.menu.label
|
|
1612
1709
|
});
|
|
1613
|
-
const withPagination = (params) => new URLSearchParams({
|
|
1614
|
-
limit: String(params.limit),
|
|
1615
|
-
offset: String(params.offset)
|
|
1616
|
-
});
|
|
1617
|
-
const withMessageQuery = (path, params) => {
|
|
1618
|
-
const query = withPagination(params);
|
|
1619
|
-
if (params.kind) {
|
|
1620
|
-
query.set("kind", params.kind);
|
|
1621
|
-
}
|
|
1622
|
-
if (params.status) {
|
|
1623
|
-
query.set("status", params.status);
|
|
1624
|
-
}
|
|
1625
|
-
return `${path}?${query.toString()}`;
|
|
1626
|
-
};
|
|
1627
|
-
const listEmailMessages = (params) => sdk.client.fetch(
|
|
1628
|
-
withMessageQuery(emailAdminPaths.get.list, params)
|
|
1629
|
-
);
|
|
1630
|
-
const retrieveEmailMessage = (messageId) => sdk.client.fetch(
|
|
1631
|
-
emailAdminPaths.get.detail(messageId)
|
|
1632
|
-
);
|
|
1633
|
-
const resendEmailMessage = (messageId, body) => sdk.client.fetch(
|
|
1634
|
-
emailAdminPaths.post.resend(messageId),
|
|
1635
|
-
{ method: "POST", body }
|
|
1636
|
-
);
|
|
1637
|
-
const listEmailTermsVersions = (params) => {
|
|
1638
|
-
const query = withPagination(params);
|
|
1639
|
-
return sdk.client.fetch(
|
|
1640
|
-
`${emailAdminPaths.get.termsVersions}?${query.toString()}`
|
|
1641
|
-
);
|
|
1642
|
-
};
|
|
1643
|
-
const createEmailTermsVersion = (body) => sdk.client.fetch(
|
|
1644
|
-
emailAdminPaths.post.createTermsVersion,
|
|
1645
|
-
{ method: "POST", body }
|
|
1646
|
-
);
|
|
1647
|
-
const downloadEmailTermsVersion = async (termsVersionId) => {
|
|
1648
|
-
const response = await sdk.client.fetch(
|
|
1649
|
-
emailAdminPaths.get.downloadTermsVersion(termsVersionId),
|
|
1650
|
-
{ headers: { accept: "application/pdf" } }
|
|
1651
|
-
);
|
|
1652
|
-
return response.blob();
|
|
1653
|
-
};
|
|
1654
1710
|
const PAGE_SIZE$1 = 20;
|
|
1655
1711
|
const MAX_PAGE_OFFSET$1 = 1e4;
|
|
1712
|
+
const MAX_RESOURCE_ID_LENGTH = 255;
|
|
1656
1713
|
const KINDS = [
|
|
1657
1714
|
"order.received",
|
|
1658
1715
|
"order.received.admin",
|
|
@@ -1663,7 +1720,9 @@ const KINDS = [
|
|
|
1663
1720
|
"order.refunded",
|
|
1664
1721
|
"auth.password_reset",
|
|
1665
1722
|
"auth.verification",
|
|
1666
|
-
"affiliate.consignment_report_due"
|
|
1723
|
+
"affiliate.consignment_report_due",
|
|
1724
|
+
"affiliate.application_submitted.admin",
|
|
1725
|
+
"user.invite"
|
|
1667
1726
|
];
|
|
1668
1727
|
const STATUSES = [
|
|
1669
1728
|
"pending",
|
|
@@ -1685,7 +1744,9 @@ const KIND_LABELS = {
|
|
|
1685
1744
|
"order.refunded": "Rückerstattung",
|
|
1686
1745
|
"auth.password_reset": "Passwort zurücksetzen",
|
|
1687
1746
|
"auth.verification": "Konto bestätigen",
|
|
1688
|
-
"affiliate.consignment_report_due": "Affiliate-Meldung"
|
|
1747
|
+
"affiliate.consignment_report_due": "Affiliate-Meldung",
|
|
1748
|
+
"affiliate.application_submitted.admin": "Neue Partner-Bewerbung (Shop)",
|
|
1749
|
+
"user.invite": "Admin-Einladung"
|
|
1689
1750
|
};
|
|
1690
1751
|
const STATUS_LABELS = {
|
|
1691
1752
|
pending: "Wartet auf Fakten",
|
|
@@ -1809,6 +1870,7 @@ const EmailStatusPage = () => {
|
|
|
1809
1870
|
const queryClient = useQueryClient();
|
|
1810
1871
|
const [kind, setKind] = useState("all");
|
|
1811
1872
|
const [status, setStatus] = useState("all");
|
|
1873
|
+
const [resourceId, setResourceId] = useState("");
|
|
1812
1874
|
const [offset, setOffset] = useState(0);
|
|
1813
1875
|
const [selectedId, setSelectedId] = useState(null);
|
|
1814
1876
|
const [confirmationOpen, setConfirmationOpen] = useState(false);
|
|
@@ -1816,13 +1878,14 @@ const EmailStatusPage = () => {
|
|
|
1816
1878
|
const listQueryKey = [
|
|
1817
1879
|
"email",
|
|
1818
1880
|
"message-list",
|
|
1819
|
-
{ kind, status, offset, limit: PAGE_SIZE$1 }
|
|
1881
|
+
{ kind, status, resourceId, offset, limit: PAGE_SIZE$1 }
|
|
1820
1882
|
];
|
|
1821
1883
|
const messagesQuery = useQuery({
|
|
1822
1884
|
queryKey: listQueryKey,
|
|
1823
1885
|
queryFn: () => listEmailMessages({
|
|
1824
1886
|
kind: kind === "all" ? void 0 : kind,
|
|
1825
1887
|
status: status === "all" ? void 0 : status,
|
|
1888
|
+
resource_id: resourceId || void 0,
|
|
1826
1889
|
limit: PAGE_SIZE$1,
|
|
1827
1890
|
offset
|
|
1828
1891
|
})
|
|
@@ -1917,7 +1980,22 @@ const EmailStatusPage = () => {
|
|
|
1917
1980
|
/* @__PURE__ */ jsx(Heading, { level: "h2", children: "E-Mail-Protokoll" }),
|
|
1918
1981
|
/* @__PURE__ */ jsx(Text, { className: "text-ui-fg-subtle", children: "Sicherer Status und Zustellversuche ohne Empfänger- oder Inhaltsdaten." })
|
|
1919
1982
|
] }),
|
|
1920
|
-
/* @__PURE__ */ jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [
|
|
1983
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-3 sm:grid-cols-2 xl:grid-cols-3", children: [
|
|
1984
|
+
/* @__PURE__ */ jsx(
|
|
1985
|
+
Input,
|
|
1986
|
+
{
|
|
1987
|
+
"aria-label": "Ressourcen-ID",
|
|
1988
|
+
className: "sm:col-span-2 xl:col-span-1 xl:w-72",
|
|
1989
|
+
maxLength: MAX_RESOURCE_ID_LENGTH,
|
|
1990
|
+
onChange: (event) => {
|
|
1991
|
+
setResourceId(event.target.value.trim());
|
|
1992
|
+
setOffset(0);
|
|
1993
|
+
setSelectedId(null);
|
|
1994
|
+
},
|
|
1995
|
+
placeholder: "Ressourcen-ID, z. B. order_01…",
|
|
1996
|
+
type: "search"
|
|
1997
|
+
}
|
|
1998
|
+
),
|
|
1921
1999
|
/* @__PURE__ */ jsxs(
|
|
1922
2000
|
Select,
|
|
1923
2001
|
{
|
|
@@ -2457,6 +2535,11 @@ const PluginDetailPage = () => {
|
|
|
2457
2535
|
return /* @__PURE__ */ jsx(PluginPageShell, { pluginKey, children: /* @__PURE__ */ jsx(PluginFeatureSections, { pluginKey }) });
|
|
2458
2536
|
};
|
|
2459
2537
|
const widgetModule = { widgets: [
|
|
2538
|
+
{
|
|
2539
|
+
Component: DraftOrderConfirmationWidget,
|
|
2540
|
+
zone: ["draft_order.details.side.after"],
|
|
2541
|
+
widgetId: "Widget-24ee"
|
|
2542
|
+
},
|
|
2460
2543
|
{
|
|
2461
2544
|
Component: OrderDocumentsWidget,
|
|
2462
2545
|
zone: ["order.details.side.after"],
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = exports.GET = void 0;
|
|
4
|
+
const email_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/email");
|
|
5
|
+
const update_draft_order_confirmation_1 = require("../../../../../workflows/email/update-draft-order-confirmation");
|
|
6
|
+
/** Every authenticated Admin user can read a draft's confirmation choice. */
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
const confirmation = await (0, update_draft_order_confirmation_1.getDraftOrderConfirmation)(req.scope, req.params.id);
|
|
9
|
+
res.json(email_1.AdminDraftOrderConfirmationResponseSchema.parse(confirmation));
|
|
10
|
+
};
|
|
11
|
+
exports.GET = GET;
|
|
12
|
+
/** Every authenticated Admin user can switch it while the order is a draft. */
|
|
13
|
+
const POST = async (req, res) => {
|
|
14
|
+
const { result } = await (0, update_draft_order_confirmation_1.updateDraftOrderConfirmationWorkflow)(req.scope).run({
|
|
15
|
+
input: {
|
|
16
|
+
draft_order_id: req.params.id,
|
|
17
|
+
send_order_confirmation: req.validatedBody.send_order_confirmation,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
res.json(email_1.AdminDraftOrderConfirmationResponseSchema.parse(result));
|
|
21
|
+
};
|
|
22
|
+
exports.POST = POST;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RyYWZ0LW9yZGVycy9baWRdL29yZGVyLWNvbmZpcm1hdGlvbi9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSwyRkFBNEg7QUFNNUgsb0hBR3dFO0FBRXhFLDZFQUE2RTtBQUN0RSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQXdELEVBQ3pDLEVBQUU7SUFDakIsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLDJEQUF5QixFQUNsRCxHQUFHLENBQUMsS0FBSyxFQUNULEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNkLENBQUM7SUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLGlEQUF5QyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQztBQVRXLFFBQUEsR0FBRyxPQVNkO0FBRUYsK0VBQStFO0FBQ3hFLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBa0UsRUFDbEUsR0FBd0QsRUFDekMsRUFBRTtJQUNqQixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLHNFQUFvQyxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDM0UsS0FBSyxFQUFFO1lBQ0wsY0FBYyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3Qix1QkFBdUIsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLHVCQUF1QjtTQUNuRTtLQUNGLENBQUMsQ0FBQztJQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsaURBQXlDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDcEUsQ0FBQyxDQUFDO0FBWFcsUUFBQSxJQUFJLFFBV2YifQ==
|
|
@@ -59,7 +59,8 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
59
59
|
// registers it with `app.use`, a prefix match that runs before every
|
|
60
60
|
// method-specific entry below, so a switched-off plugin answers 404 for
|
|
61
61
|
// the whole Admin mail log and the terms versions.
|
|
62
|
-
// The mail features gate subscribers only
|
|
62
|
+
// The mail features gate subscribers only, except the draft-order
|
|
63
|
+
// confirmation switch below, which belongs to `order_mails`.
|
|
63
64
|
{
|
|
64
65
|
matcher: "/admin/email",
|
|
65
66
|
middlewares: [(0, public_1.requirePluginFeature)(plugin_features_3.emailPluginFeatures)],
|
|
@@ -111,6 +112,19 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
111
112
|
methods: ["GET"],
|
|
112
113
|
middlewares: [(0, http_1.authenticate)("user", ["session", "bearer"])],
|
|
113
114
|
},
|
|
115
|
+
// Customer order confirmation of an Admin draft order (off by default,
|
|
116
|
+
// see workflows/hooks/draft-order-confirmation-default.ts).
|
|
117
|
+
{
|
|
118
|
+
matcher: "/admin/draft-orders/:id/order-confirmation",
|
|
119
|
+
middlewares: [(0, public_1.requirePluginFeature)(plugin_features_3.emailPluginFeatures, "order_mails")],
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
matcher: "/admin/draft-orders/:id/order-confirmation",
|
|
123
|
+
methods: ["POST"],
|
|
124
|
+
middlewares: [
|
|
125
|
+
(0, http_1.validateAndTransformBody)(email_1.UpdateAdminDraftOrderConfirmationSchema),
|
|
126
|
+
],
|
|
127
|
+
},
|
|
114
128
|
// Account confirmation: the resend route answers 404 while the
|
|
115
129
|
// `customer_verification` feature (or Konto-Mails, its parent) is off.
|
|
116
130
|
// Public by design (the customer cannot log in yet); the 60 s limit per
|
|
@@ -248,4 +262,4 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
248
262
|
},
|
|
249
263
|
],
|
|
250
264
|
});
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBS2lDO0FBQ2pDLCtHQUtrRjtBQUNsRixtR0FHNEU7QUFDNUUsMkZBTXdFO0FBQ3hFLDJIQUFrSTtBQUNsSSwyRkFBdUg7QUFFdkgsa0VBR3FDO0FBQ3JDLDhEQUE4RDtBQUM5RCxxR0FBOEY7QUFDOUYsdURBQXlEO0FBQ3pELHNDQUFnRDtBQUVoRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQTJCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUUsT0FBTztJQUNQLFdBQVcsRUFBRSxDQUFDLElBQUEsNkJBQW9CLEVBQUMseUNBQXVCLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztDQUN0RSxDQUFDLENBQUE7QUFFRix5RUFBeUU7QUFDekUsbUVBQW1FO0FBQ25FLHVFQUF1RTtBQUN2RSwyRUFBMkU7QUFDM0UsMEVBQTBFO0FBQzFFLHVDQUF1QztBQUN2QyxrQkFBZSxJQUFBLHdCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOO1lBQ0UsT0FBTyxFQUFFLHdCQUF3QjtZQUNqQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQyw0Q0FBMEIsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsNkNBQTZDO1lBQ3RELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUUsQ0FBQyxJQUFBLCtCQUF3QixFQUFDLDRDQUEwQixDQUFDLENBQUM7U0FDcEU7UUFDRDtZQUNFLE9BQU8sRUFBRSx3REFBd0Q7WUFDakUsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRSxDQUFDLElBQUEsK0JBQXdCLEVB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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.adminResendBusinessKey = exports.affiliateConsignmentBusinessKey = exports.userInviteBusinessKey = exports.customerVerificationBusinessKey = exports.passwordResetBusinessKey = exports.orderRefundedBusinessKey = exports.returnReceivedBusinessKey = exports.returnRequestedBusinessKey = exports.orderCanceledBusinessKey = exports.orderShippedBusinessKey = exports.orderReceivedAdminBusinessKey = exports.orderReceivedBusinessKey = void 0;
|
|
3
|
+
exports.adminResendBusinessKey = exports.affiliateApplicationSubmittedAdminBusinessKey = exports.affiliateConsignmentBusinessKey = exports.userInviteBusinessKey = exports.customerVerificationBusinessKey = exports.passwordResetBusinessKey = exports.orderRefundedBusinessKey = exports.returnReceivedBusinessKey = exports.returnRequestedBusinessKey = exports.orderCanceledBusinessKey = exports.orderShippedBusinessKey = exports.orderReceivedAdminBusinessKey = exports.orderReceivedBusinessKey = void 0;
|
|
4
4
|
const node_crypto_1 = require("node:crypto");
|
|
5
5
|
const affiliate_1 = require("@hartl-services/medusa-food-supplements-contracts/events/affiliate");
|
|
6
6
|
const normalizedIdentifier = (value, name) => {
|
|
@@ -55,6 +55,8 @@ const userInviteBusinessKey = (token) => {
|
|
|
55
55
|
exports.userInviteBusinessKey = userInviteBusinessKey;
|
|
56
56
|
const affiliateConsignmentBusinessKey = (affiliateId, periodStart) => (0, affiliate_1.createAffiliateConsignmentReminderKey)(affiliateId, periodStart);
|
|
57
57
|
exports.affiliateConsignmentBusinessKey = affiliateConsignmentBusinessKey;
|
|
58
|
+
const affiliateApplicationSubmittedAdminBusinessKey = (applicationId) => `affiliate-application-submitted-admin:${normalizedIdentifier(applicationId, "applicationId")}`;
|
|
59
|
+
exports.affiliateApplicationSubmittedAdminBusinessKey = affiliateApplicationSubmittedAdminBusinessKey;
|
|
58
60
|
const adminResendBusinessKey = (originalMessageId, requestId) => `admin-resend:${normalizedIdentifier(originalMessageId, "originalMessageId")}:${normalizedIdentifier(requestId, "requestId")}`;
|
|
59
61
|
exports.adminResendBusinessKey = adminResendBusinessKey;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3Mta2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbWFpbC9kb21haW4vYnVzaW5lc3Mta2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBeUM7QUFFekMsa0dBQTJIO0FBRTNILE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFVLEVBQUU7SUFDbkUsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFSyxNQUFNLHdCQUF3QixHQUFHLENBQUMsT0FBZSxFQUFVLEVBQUUsQ0FDbEUsa0JBQWtCLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDO0FBRGxELFFBQUEsd0JBQXdCLDRCQUMwQjtBQUV4RCxNQUFNLDZCQUE2QixHQUFHLENBQUMsT0FBZSxFQUFVLEVBQUUsQ0FDdkUsd0JBQXdCLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDO0FBRHhELFFBQUEsNkJBQTZCLGlDQUMyQjtBQUU5RCxNQUFNLHVCQUF1QixHQUFHLENBQUMsYUFBcUIsRUFBVSxFQUFFLENBQ3ZFLGlCQUFpQixvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLEVBQUUsQ0FBQztBQUQ3RCxRQUFBLHVCQUF1QiwyQkFDc0M7QUFFbkUsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE9BQWUsRUFBVSxFQUFFLENBQ2xFLGtCQUFrQixvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztBQURsRCxRQUFBLHdCQUF3Qiw0QkFDMEI7QUFFeEQsTUFB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
|
|
@@ -28,8 +28,8 @@ exports.emailPluginFeatures = (0, public_1.definePluginFeatures)({
|
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
key: "affiliate_reminders",
|
|
31
|
-
label: "Affiliate-
|
|
32
|
-
description: "Erinnerungsmails an Affiliates zur fälligen Konsignationsmeldung. Aus: Für diese Ereignisse wird keine Mail erzeugt.",
|
|
31
|
+
label: "Affiliate-Mails",
|
|
32
|
+
description: "Erinnerungsmails an Affiliates zur fälligen Konsignationsmeldung und die Benachrichtigung an den Shop über neue Partner-Bewerbungen. Aus: Für diese Ereignisse wird keine Mail erzeugt und später auch nicht nachgeholt.",
|
|
33
33
|
default_enabled: true,
|
|
34
34
|
},
|
|
35
35
|
],
|
|
@@ -43,4 +43,4 @@ exports.emailPluginFeatures = (0, public_1.definePluginFeatures)({
|
|
|
43
43
|
],
|
|
44
44
|
admin_page: "/settings/hartl-services/email",
|
|
45
45
|
});
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWZlYXR1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtYWlsL3BsdWdpbi1mZWF0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBaUQ7QUFFcEMsUUFBQSxtQkFBbUIsR0FBRyxJQUFBLDZCQUFvQixFQUFDO0lBQ3RELFVBQVUsRUFBRSxPQUFPO0lBQ25CLEtBQUssRUFBRSxRQUFRO0lBQ2YsV0FBVyxFQUNULDZhQUE2YTtJQUMvYSxRQUFRLEVBQUU7UUFDUjtZQUNFLEdBQUcsRUFBRSxhQUFhO1lBQ2xCLEtBQUssRUFBRSxlQUFlO1lBQ3RCLFdBQVcsRUFDVCxvWkFBb1o7WUFDdFosZUFBZSxFQUFFLElBQUk7U0FDdEI7UUFDRDtZQUNFLEdBQUcsRUFBRSxlQUFlO1lBQ3BCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFdBQVcsRUFDVCxzS0FBc0s7WUFDeEssZUFBZSxFQUFFLElBQUk7U0FDdEI7UUFDRDtZQUNFLEdBQUcsRUFBRSx1QkFBdUI7WUFDNUIsS0FBSyxFQUFFLDZCQUE2QjtZQUNwQyxXQUFXLEVBQ1QsbVhBQW1YO1lBQ3JYLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFVBQVUsRUFBRSxlQUFlO1NBQzVCO1FBQ0Q7WUFDRSxHQUFHLEVBQUUscUJBQXFCO1lBQzFCLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsV0FBVyxFQUNULDBOQUEwTjtZQUM1TixlQUFlLEVBQUUsSUFBSTtTQUN0QjtLQUNGO0lBQ0QsUUFBUSxFQUFFO1FBQ1I7WUFDRSxHQUFHLEVBQUUsTUFBTTtZQUNYLEtBQUssRUFBRSxNQUFNO1lBQ2IsV0FBVyxFQUNULCtKQUErSjtZQUNqSyxJQUFJLEVBQUUsT0FBTztTQUNkO0tBQ0Y7SUFDRCxVQUFVLEVBQUUsZ0NBQWdDO0NBQzdDLENBQUMsQ0FBQyJ9
|