@hartl-services/medusa-affiliate 0.3.0 → 0.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 +50 -50
- package/.medusa/server/src/admin/index.mjs +50 -50
- package/.medusa/server/src/api/affiliate-coupon-http.js +1 -3
- package/.medusa/server/src/api/affiliate-self-service-http.js +9 -27
- package/.medusa/server/src/api/middlewares.js +60 -1
- package/.medusa/server/src/api/store/affiliates/me/route.js +3 -11
- package/.medusa/server/src/jobs/affiliate-attribution-expiry.js +6 -1
- package/.medusa/server/src/jobs/affiliate-consignment-report-reminders.js +6 -1
- package/.medusa/server/src/jobs/affiliate-promotion-freshness.js +6 -1
- package/.medusa/server/src/modules/affiliate/domain/plugin-options.js +31 -21
- package/.medusa/server/src/modules/affiliate/service.js +4 -1
- package/.medusa/server/src/plugin-features.js +17 -0
- package/.medusa/server/src/subscribers/affiliate-order-placed.js +6 -1
- package/.medusa/server/src/subscribers/affiliate-product-eligibility-updated.js +6 -1
- package/README.md +55 -14
- package/package.json +7 -5
|
@@ -2852,6 +2852,49 @@ const AffiliateEditRoute = () => {
|
|
|
2852
2852
|
const { id } = reactRouterDom.useParams();
|
|
2853
2853
|
return /* @__PURE__ */ jsxRuntime.jsx(AffiliateFormPage, { mode: "edit", affiliateId: id });
|
|
2854
2854
|
};
|
|
2855
|
+
function ConsignmentReportsPage() {
|
|
2856
|
+
const reports = reactQuery.useQuery({
|
|
2857
|
+
queryKey: ["affiliate", "consignment-reports"],
|
|
2858
|
+
queryFn: () => listAdminConsignmentReports({ limit: 100, offset: 0 })
|
|
2859
|
+
});
|
|
2860
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "grid gap-5", children: [
|
|
2861
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2862
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h1", children: "Kommissions-Monatsmeldungen" }),
|
|
2863
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-subtle", children: "Eingereichte Inventuren prüfen und abrechnen." })
|
|
2864
|
+
] }),
|
|
2865
|
+
reports.isLoading ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { children: "Monatsmeldungen werden geladen …" }) : reports.isError ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-error", children: getErrorMessage(reports.error) }) : !reports.data?.reports.length ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-subtle", children: "Keine Monatsmeldungen vorhanden." }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-left text-sm", children: [
|
|
2866
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b", children: [
|
|
2867
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Affiliate" }),
|
|
2868
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Zeitraum" }),
|
|
2869
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Status" }),
|
|
2870
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Abweichungen" }),
|
|
2871
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Draft / Order" }),
|
|
2872
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2" })
|
|
2873
|
+
] }) }),
|
|
2874
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: reports.data.reports.map((report) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b", children: [
|
|
2875
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.affiliate_id }),
|
|
2876
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: formatDate(report.period_start) }),
|
|
2877
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.status }),
|
|
2878
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.lines.filter(
|
|
2879
|
+
(line) => line.requires_admin_clarification || line.expected_quantity !== line.counted_quantity
|
|
2880
|
+
).length }),
|
|
2881
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.order_id ?? report.draft_order_id ?? "–" }),
|
|
2882
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2883
|
+
reactRouterDom.Link,
|
|
2884
|
+
{
|
|
2885
|
+
to: `/affiliates/consignment-reports/${report.id}`,
|
|
2886
|
+
children: "Prüfen"
|
|
2887
|
+
}
|
|
2888
|
+
) }) })
|
|
2889
|
+
] }, report.id)) })
|
|
2890
|
+
] }) })
|
|
2891
|
+
] });
|
|
2892
|
+
}
|
|
2893
|
+
const ConsignmentReportsRoute = () => /* @__PURE__ */ jsxRuntime.jsx(ConsignmentReportsPage, {});
|
|
2894
|
+
const config$4 = adminSdk.defineRouteConfig({
|
|
2895
|
+
label: "Kommissionsmeldungen",
|
|
2896
|
+
rank: 83
|
|
2897
|
+
});
|
|
2855
2898
|
const yearStart = () => `${(/* @__PURE__ */ new Date()).getFullYear()}-01-01`;
|
|
2856
2899
|
const formatCurrencyTotals = (totals) => totals.length ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-1", children: totals.map((total) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: total.currency_code ? formatAmount(total.amount, total.currency_code) : `${total.amount} (Währung unbekannt)` }, total.currency_code ?? "unknown-currency")) }) : "–";
|
|
2857
2900
|
function AffiliateDistributionReportPage() {
|
|
@@ -2962,53 +3005,10 @@ function AffiliateDistributionReportPage() {
|
|
|
2962
3005
|
] });
|
|
2963
3006
|
}
|
|
2964
3007
|
const AffiliateDistributionReportRoute = () => /* @__PURE__ */ jsxRuntime.jsx(AffiliateDistributionReportPage, {});
|
|
2965
|
-
const config$
|
|
3008
|
+
const config$3 = adminSdk.defineRouteConfig({
|
|
2966
3009
|
label: "Vertriebsreport",
|
|
2967
3010
|
rank: 85
|
|
2968
3011
|
});
|
|
2969
|
-
function ConsignmentReportsPage() {
|
|
2970
|
-
const reports = reactQuery.useQuery({
|
|
2971
|
-
queryKey: ["affiliate", "consignment-reports"],
|
|
2972
|
-
queryFn: () => listAdminConsignmentReports({ limit: 100, offset: 0 })
|
|
2973
|
-
});
|
|
2974
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "grid gap-5", children: [
|
|
2975
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2976
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h1", children: "Kommissions-Monatsmeldungen" }),
|
|
2977
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-subtle", children: "Eingereichte Inventuren prüfen und abrechnen." })
|
|
2978
|
-
] }),
|
|
2979
|
-
reports.isLoading ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { children: "Monatsmeldungen werden geladen …" }) : reports.isError ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-error", children: getErrorMessage(reports.error) }) : !reports.data?.reports.length ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-subtle", children: "Keine Monatsmeldungen vorhanden." }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-left text-sm", children: [
|
|
2980
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b", children: [
|
|
2981
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Affiliate" }),
|
|
2982
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Zeitraum" }),
|
|
2983
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Status" }),
|
|
2984
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Abweichungen" }),
|
|
2985
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2", children: "Draft / Order" }),
|
|
2986
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "p-2" })
|
|
2987
|
-
] }) }),
|
|
2988
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: reports.data.reports.map((report) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b", children: [
|
|
2989
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.affiliate_id }),
|
|
2990
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: formatDate(report.period_start) }),
|
|
2991
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.status }),
|
|
2992
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.lines.filter(
|
|
2993
|
-
(line) => line.requires_admin_clarification || line.expected_quantity !== line.counted_quantity
|
|
2994
|
-
).length }),
|
|
2995
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2", children: report.order_id ?? report.draft_order_id ?? "–" }),
|
|
2996
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-2 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2997
|
-
reactRouterDom.Link,
|
|
2998
|
-
{
|
|
2999
|
-
to: `/affiliates/consignment-reports/${report.id}`,
|
|
3000
|
-
children: "Prüfen"
|
|
3001
|
-
}
|
|
3002
|
-
) }) })
|
|
3003
|
-
] }, report.id)) })
|
|
3004
|
-
] }) })
|
|
3005
|
-
] });
|
|
3006
|
-
}
|
|
3007
|
-
const ConsignmentReportsRoute = () => /* @__PURE__ */ jsxRuntime.jsx(ConsignmentReportsPage, {});
|
|
3008
|
-
const config$3 = adminSdk.defineRouteConfig({
|
|
3009
|
-
label: "Kommissionsmeldungen",
|
|
3010
|
-
rank: 83
|
|
3011
|
-
});
|
|
3012
3012
|
const NewAffiliateRoute = () => /* @__PURE__ */ jsxRuntime.jsx(AffiliateFormPage, { mode: "create" });
|
|
3013
3013
|
const config$2 = adminSdk.defineRouteConfig({
|
|
3014
3014
|
label: texts.routes.newAffiliate
|
|
@@ -3625,13 +3625,13 @@ const routeModule = {
|
|
|
3625
3625
|
path: "/affiliates/:id"
|
|
3626
3626
|
},
|
|
3627
3627
|
{
|
|
3628
|
-
Component:
|
|
3629
|
-
path: "/affiliates/
|
|
3628
|
+
Component: ConsignmentReportsRoute,
|
|
3629
|
+
path: "/affiliates/consignment-reports",
|
|
3630
3630
|
handle: { label: config$4.label, translationNs: config$4.translationNs }
|
|
3631
3631
|
},
|
|
3632
3632
|
{
|
|
3633
|
-
Component:
|
|
3634
|
-
path: "/affiliates/
|
|
3633
|
+
Component: AffiliateDistributionReportRoute,
|
|
3634
|
+
path: "/affiliates/distribution-reports",
|
|
3635
3635
|
handle: { label: config$3.label, translationNs: config$3.translationNs }
|
|
3636
3636
|
},
|
|
3637
3637
|
{
|
|
@@ -3678,7 +3678,7 @@ const menuItemModule = {
|
|
|
3678
3678
|
translationNs: void 0
|
|
3679
3679
|
},
|
|
3680
3680
|
{
|
|
3681
|
-
label: config$
|
|
3681
|
+
label: config$4.label,
|
|
3682
3682
|
icon: void 0,
|
|
3683
3683
|
path: "/affiliates/consignment-reports",
|
|
3684
3684
|
nested: void 0,
|
|
@@ -3686,7 +3686,7 @@ const menuItemModule = {
|
|
|
3686
3686
|
translationNs: void 0
|
|
3687
3687
|
},
|
|
3688
3688
|
{
|
|
3689
|
-
label: config$
|
|
3689
|
+
label: config$3.label,
|
|
3690
3690
|
icon: void 0,
|
|
3691
3691
|
path: "/affiliates/distribution-reports",
|
|
3692
3692
|
nested: void 0,
|
|
@@ -2849,6 +2849,49 @@ const AffiliateEditRoute = () => {
|
|
|
2849
2849
|
const { id } = useParams();
|
|
2850
2850
|
return /* @__PURE__ */ jsx(AffiliateFormPage, { mode: "edit", affiliateId: id });
|
|
2851
2851
|
};
|
|
2852
|
+
function ConsignmentReportsPage() {
|
|
2853
|
+
const reports = useQuery({
|
|
2854
|
+
queryKey: ["affiliate", "consignment-reports"],
|
|
2855
|
+
queryFn: () => listAdminConsignmentReports({ limit: 100, offset: 0 })
|
|
2856
|
+
});
|
|
2857
|
+
return /* @__PURE__ */ jsxs(Container, { className: "grid gap-5", children: [
|
|
2858
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
2859
|
+
/* @__PURE__ */ jsx(Heading, { level: "h1", children: "Kommissions-Monatsmeldungen" }),
|
|
2860
|
+
/* @__PURE__ */ jsx(Text, { className: "text-ui-fg-subtle", children: "Eingereichte Inventuren prüfen und abrechnen." })
|
|
2861
|
+
] }),
|
|
2862
|
+
reports.isLoading ? /* @__PURE__ */ jsx(Text, { children: "Monatsmeldungen werden geladen …" }) : reports.isError ? /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-error", children: getErrorMessage(reports.error) }) : !reports.data?.reports.length ? /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-subtle", children: "Keine Monatsmeldungen vorhanden." }) : /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full text-left text-sm", children: [
|
|
2863
|
+
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { className: "border-b", children: [
|
|
2864
|
+
/* @__PURE__ */ jsx("th", { className: "p-2", children: "Affiliate" }),
|
|
2865
|
+
/* @__PURE__ */ jsx("th", { className: "p-2", children: "Zeitraum" }),
|
|
2866
|
+
/* @__PURE__ */ jsx("th", { className: "p-2", children: "Status" }),
|
|
2867
|
+
/* @__PURE__ */ jsx("th", { className: "p-2", children: "Abweichungen" }),
|
|
2868
|
+
/* @__PURE__ */ jsx("th", { className: "p-2", children: "Draft / Order" }),
|
|
2869
|
+
/* @__PURE__ */ jsx("th", { className: "p-2" })
|
|
2870
|
+
] }) }),
|
|
2871
|
+
/* @__PURE__ */ jsx("tbody", { children: reports.data.reports.map((report) => /* @__PURE__ */ jsxs("tr", { className: "border-b", children: [
|
|
2872
|
+
/* @__PURE__ */ jsx("td", { className: "p-2", children: report.affiliate_id }),
|
|
2873
|
+
/* @__PURE__ */ jsx("td", { className: "p-2", children: formatDate(report.period_start) }),
|
|
2874
|
+
/* @__PURE__ */ jsx("td", { className: "p-2", children: report.status }),
|
|
2875
|
+
/* @__PURE__ */ jsx("td", { className: "p-2", children: report.lines.filter(
|
|
2876
|
+
(line) => line.requires_admin_clarification || line.expected_quantity !== line.counted_quantity
|
|
2877
|
+
).length }),
|
|
2878
|
+
/* @__PURE__ */ jsx("td", { className: "p-2", children: report.order_id ?? report.draft_order_id ?? "–" }),
|
|
2879
|
+
/* @__PURE__ */ jsx("td", { className: "p-2 text-right", children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", asChild: true, children: /* @__PURE__ */ jsx(
|
|
2880
|
+
Link,
|
|
2881
|
+
{
|
|
2882
|
+
to: `/affiliates/consignment-reports/${report.id}`,
|
|
2883
|
+
children: "Prüfen"
|
|
2884
|
+
}
|
|
2885
|
+
) }) })
|
|
2886
|
+
] }, report.id)) })
|
|
2887
|
+
] }) })
|
|
2888
|
+
] });
|
|
2889
|
+
}
|
|
2890
|
+
const ConsignmentReportsRoute = () => /* @__PURE__ */ jsx(ConsignmentReportsPage, {});
|
|
2891
|
+
const config$4 = defineRouteConfig({
|
|
2892
|
+
label: "Kommissionsmeldungen",
|
|
2893
|
+
rank: 83
|
|
2894
|
+
});
|
|
2852
2895
|
const yearStart = () => `${(/* @__PURE__ */ new Date()).getFullYear()}-01-01`;
|
|
2853
2896
|
const formatCurrencyTotals = (totals) => totals.length ? /* @__PURE__ */ jsx("div", { className: "grid gap-1", children: totals.map((total) => /* @__PURE__ */ jsx("span", { children: total.currency_code ? formatAmount(total.amount, total.currency_code) : `${total.amount} (Währung unbekannt)` }, total.currency_code ?? "unknown-currency")) }) : "–";
|
|
2854
2897
|
function AffiliateDistributionReportPage() {
|
|
@@ -2959,53 +3002,10 @@ function AffiliateDistributionReportPage() {
|
|
|
2959
3002
|
] });
|
|
2960
3003
|
}
|
|
2961
3004
|
const AffiliateDistributionReportRoute = () => /* @__PURE__ */ jsx(AffiliateDistributionReportPage, {});
|
|
2962
|
-
const config$
|
|
3005
|
+
const config$3 = defineRouteConfig({
|
|
2963
3006
|
label: "Vertriebsreport",
|
|
2964
3007
|
rank: 85
|
|
2965
3008
|
});
|
|
2966
|
-
function ConsignmentReportsPage() {
|
|
2967
|
-
const reports = useQuery({
|
|
2968
|
-
queryKey: ["affiliate", "consignment-reports"],
|
|
2969
|
-
queryFn: () => listAdminConsignmentReports({ limit: 100, offset: 0 })
|
|
2970
|
-
});
|
|
2971
|
-
return /* @__PURE__ */ jsxs(Container, { className: "grid gap-5", children: [
|
|
2972
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
2973
|
-
/* @__PURE__ */ jsx(Heading, { level: "h1", children: "Kommissions-Monatsmeldungen" }),
|
|
2974
|
-
/* @__PURE__ */ jsx(Text, { className: "text-ui-fg-subtle", children: "Eingereichte Inventuren prüfen und abrechnen." })
|
|
2975
|
-
] }),
|
|
2976
|
-
reports.isLoading ? /* @__PURE__ */ jsx(Text, { children: "Monatsmeldungen werden geladen …" }) : reports.isError ? /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-error", children: getErrorMessage(reports.error) }) : !reports.data?.reports.length ? /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-subtle", children: "Keine Monatsmeldungen vorhanden." }) : /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full text-left text-sm", children: [
|
|
2977
|
-
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { className: "border-b", children: [
|
|
2978
|
-
/* @__PURE__ */ jsx("th", { className: "p-2", children: "Affiliate" }),
|
|
2979
|
-
/* @__PURE__ */ jsx("th", { className: "p-2", children: "Zeitraum" }),
|
|
2980
|
-
/* @__PURE__ */ jsx("th", { className: "p-2", children: "Status" }),
|
|
2981
|
-
/* @__PURE__ */ jsx("th", { className: "p-2", children: "Abweichungen" }),
|
|
2982
|
-
/* @__PURE__ */ jsx("th", { className: "p-2", children: "Draft / Order" }),
|
|
2983
|
-
/* @__PURE__ */ jsx("th", { className: "p-2" })
|
|
2984
|
-
] }) }),
|
|
2985
|
-
/* @__PURE__ */ jsx("tbody", { children: reports.data.reports.map((report) => /* @__PURE__ */ jsxs("tr", { className: "border-b", children: [
|
|
2986
|
-
/* @__PURE__ */ jsx("td", { className: "p-2", children: report.affiliate_id }),
|
|
2987
|
-
/* @__PURE__ */ jsx("td", { className: "p-2", children: formatDate(report.period_start) }),
|
|
2988
|
-
/* @__PURE__ */ jsx("td", { className: "p-2", children: report.status }),
|
|
2989
|
-
/* @__PURE__ */ jsx("td", { className: "p-2", children: report.lines.filter(
|
|
2990
|
-
(line) => line.requires_admin_clarification || line.expected_quantity !== line.counted_quantity
|
|
2991
|
-
).length }),
|
|
2992
|
-
/* @__PURE__ */ jsx("td", { className: "p-2", children: report.order_id ?? report.draft_order_id ?? "–" }),
|
|
2993
|
-
/* @__PURE__ */ jsx("td", { className: "p-2 text-right", children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", asChild: true, children: /* @__PURE__ */ jsx(
|
|
2994
|
-
Link,
|
|
2995
|
-
{
|
|
2996
|
-
to: `/affiliates/consignment-reports/${report.id}`,
|
|
2997
|
-
children: "Prüfen"
|
|
2998
|
-
}
|
|
2999
|
-
) }) })
|
|
3000
|
-
] }, report.id)) })
|
|
3001
|
-
] }) })
|
|
3002
|
-
] });
|
|
3003
|
-
}
|
|
3004
|
-
const ConsignmentReportsRoute = () => /* @__PURE__ */ jsx(ConsignmentReportsPage, {});
|
|
3005
|
-
const config$3 = defineRouteConfig({
|
|
3006
|
-
label: "Kommissionsmeldungen",
|
|
3007
|
-
rank: 83
|
|
3008
|
-
});
|
|
3009
3009
|
const NewAffiliateRoute = () => /* @__PURE__ */ jsx(AffiliateFormPage, { mode: "create" });
|
|
3010
3010
|
const config$2 = defineRouteConfig({
|
|
3011
3011
|
label: texts.routes.newAffiliate
|
|
@@ -3622,13 +3622,13 @@ const routeModule = {
|
|
|
3622
3622
|
path: "/affiliates/:id"
|
|
3623
3623
|
},
|
|
3624
3624
|
{
|
|
3625
|
-
Component:
|
|
3626
|
-
path: "/affiliates/
|
|
3625
|
+
Component: ConsignmentReportsRoute,
|
|
3626
|
+
path: "/affiliates/consignment-reports",
|
|
3627
3627
|
handle: { label: config$4.label, translationNs: config$4.translationNs }
|
|
3628
3628
|
},
|
|
3629
3629
|
{
|
|
3630
|
-
Component:
|
|
3631
|
-
path: "/affiliates/
|
|
3630
|
+
Component: AffiliateDistributionReportRoute,
|
|
3631
|
+
path: "/affiliates/distribution-reports",
|
|
3632
3632
|
handle: { label: config$3.label, translationNs: config$3.translationNs }
|
|
3633
3633
|
},
|
|
3634
3634
|
{
|
|
@@ -3675,7 +3675,7 @@ const menuItemModule = {
|
|
|
3675
3675
|
translationNs: void 0
|
|
3676
3676
|
},
|
|
3677
3677
|
{
|
|
3678
|
-
label: config$
|
|
3678
|
+
label: config$4.label,
|
|
3679
3679
|
icon: void 0,
|
|
3680
3680
|
path: "/affiliates/consignment-reports",
|
|
3681
3681
|
nested: void 0,
|
|
@@ -3683,7 +3683,7 @@ const menuItemModule = {
|
|
|
3683
3683
|
translationNs: void 0
|
|
3684
3684
|
},
|
|
3685
3685
|
{
|
|
3686
|
-
label: config$
|
|
3686
|
+
label: config$3.label,
|
|
3687
3687
|
icon: void 0,
|
|
3688
3688
|
path: "/affiliates/distribution-reports",
|
|
3689
3689
|
nested: void 0,
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.respondToAffiliateCouponCommandError = exports.requireAdminCouponAffiliate = exports.requireStoreCouponAffiliate = exports.toAdminAffiliateCouponCode = exports.toStoreAffiliateCouponCode = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const affiliate_coupon_policy_1 = require("../modules/affiliate/domain/affiliate-coupon-policy");
|
|
6
|
-
const affiliate_self_service_http_1 = require("./affiliate-self-service-http");
|
|
7
6
|
const requiredWireDate = (value, field) => {
|
|
8
7
|
if (value == null) {
|
|
9
8
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `Affiliate coupon ${field} is missing.`);
|
|
@@ -36,7 +35,6 @@ const toAdminAffiliateCouponCode = (coupon, affiliate) => ({
|
|
|
36
35
|
});
|
|
37
36
|
exports.toAdminAffiliateCouponCode = toAdminAffiliateCouponCode;
|
|
38
37
|
const requireStoreCouponAffiliate = async (affiliateService, customerId, requireActive) => {
|
|
39
|
-
await (0, affiliate_self_service_http_1.requireAffiliateSelfService)(affiliateService);
|
|
40
38
|
const [affiliates] = await affiliateService.listAffiliateRecords({
|
|
41
39
|
customer_id: customerId,
|
|
42
40
|
limit: 1,
|
|
@@ -149,4 +147,4 @@ const respondToAffiliateCouponCommandError = async (res, error, affiliateService
|
|
|
149
147
|
return false;
|
|
150
148
|
};
|
|
151
149
|
exports.respondToAffiliateCouponCommandError = respondToAffiliateCouponCommandError;
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLWNvdXBvbi1odHRwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9hZmZpbGlhdGUtY291cG9uLWh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXVEO0FBSXZELGlHQUFrRztBQU9sRyxNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLEtBQWdDLEVBQ2hDLEtBQWEsRUFDTCxFQUFFO0lBQ1YsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUNsQyxvQkFBb0IsS0FBSyxjQUFjLENBQ3hDLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUM1RCxDQUFDLENBQUE7QUFFRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBMkIsRUFBaUIsRUFBRSxDQUN0RSxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUU5QyxNQUFNLDBCQUEwQixHQUFHLENBQ3hDLE1BQTBCLEVBQzFCLFNBQXVDLEVBQ2IsRUFBRSxDQUFDLENBQUM7SUFDOUIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO0lBQ2IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO0lBQ2pCLE1BQU0sRUFBRSxJQUFBLHNEQUE0QixFQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQzlELE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtJQUNyQixVQUFVLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDN0QsVUFBVSxFQUFFLGdCQUFnQixDQUFDLE1B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
|
|
@@ -1,37 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.requireAffiliateReferralBaseUrl =
|
|
3
|
+
exports.requireAffiliateReferralBaseUrl = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
? { enabled: true }
|
|
12
|
-
: {
|
|
13
|
-
enabled: false,
|
|
14
|
-
code: exports.AFFILIATE_SELF_SERVICE_DISABLED_CODE,
|
|
15
|
-
message: exports.AFFILIATE_SELF_SERVICE_DISABLED_MESSAGE,
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
exports.getAffiliateSelfServiceStatus = getAffiliateSelfServiceStatus;
|
|
19
|
-
const requireAffiliateSelfService = async (affiliateService) => {
|
|
20
|
-
const options = await affiliateService.getPluginOptions();
|
|
21
|
-
if (!options.portal.enabled) {
|
|
22
|
-
throw disabledError();
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
exports.requireAffiliateSelfService = requireAffiliateSelfService;
|
|
5
|
+
/**
|
|
6
|
+
* Whether the partner portal is reachable at all is decided by the
|
|
7
|
+
* `partner_portal` feature toggle at the HTTP boundary (see middlewares.ts).
|
|
8
|
+
* A route that builds referral links additionally needs the shop's
|
|
9
|
+
* configured base URL.
|
|
10
|
+
*/
|
|
26
11
|
const requireAffiliateReferralBaseUrl = async (affiliateService) => {
|
|
27
12
|
const options = await affiliateService.getPluginOptions();
|
|
28
|
-
if (!options.portal.enabled) {
|
|
29
|
-
throw disabledError();
|
|
30
|
-
}
|
|
31
13
|
if (!options.portal.referral_base_url) {
|
|
32
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "
|
|
14
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Für das Partnerportal fehlt portal.referral_base_url in der Plugin-Konfiguration.");
|
|
33
15
|
}
|
|
34
16
|
return options.portal.referral_base_url;
|
|
35
17
|
};
|
|
36
18
|
exports.requireAffiliateReferralBaseUrl = requireAffiliateReferralBaseUrl;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLXNlbGYtc2VydmljZS1odHRwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9hZmZpbGlhdGUtc2VsZi1zZXJ2aWNlLWh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXVEO0FBSXZEOzs7OztHQUtHO0FBQ0ksTUFBTSwrQkFBK0IsR0FBRyxLQUFLLEVBQ2xELGdCQUF3QyxFQUN2QixFQUFFO0lBQ25CLE1BQU0sT0FBTyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsbUZBQW1GLENBQ3BGLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFBO0FBQ3pDLENBQUMsQ0FBQTtBQVhZLFFBQUEsK0JBQStCLG1DQVczQyJ9
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.holdAffiliateCartRequestLocks = exports.bindAffiliateReferralCookie = void 0;
|
|
37
37
|
const Sentry = __importStar(require("@sentry/node"));
|
|
38
|
+
const medusa_base_1 = require("@hartl-services/medusa-base");
|
|
38
39
|
const http_1 = require("@medusajs/framework/http");
|
|
39
40
|
const utils_1 = require("@medusajs/framework/utils");
|
|
40
41
|
const registered_email_checkout_1 = require("../utils/registered-email-checkout");
|
|
@@ -47,6 +48,7 @@ const affiliate_cart_operation_lock_1 = require("../utils/affiliate-cart-operati
|
|
|
47
48
|
const affiliate_coupon_cart_1 = require("../workflows/affiliate/affiliate-coupon-cart");
|
|
48
49
|
const ensure_affiliate_coupon_promotion_1 = require("../workflows/affiliate/ensure-affiliate-coupon-promotion");
|
|
49
50
|
const reconcile_affiliate_coupon_1 = require("../workflows/affiliate/reconcile-affiliate-coupon");
|
|
51
|
+
const plugin_features_1 = require("../plugin-features");
|
|
50
52
|
const reportTolerated = (req, area, message, error) => {
|
|
51
53
|
Sentry.captureException(error, {
|
|
52
54
|
tags: { area },
|
|
@@ -306,8 +308,65 @@ const enforceConsignmentReportOwnership = async (req, _res, next) => {
|
|
|
306
308
|
}
|
|
307
309
|
next();
|
|
308
310
|
};
|
|
311
|
+
/**
|
|
312
|
+
* Feature-toggle gate. Without `methods` Medusa registers the entry with
|
|
313
|
+
* `app.use`, i.e. as a prefix match that runs before every method-specific
|
|
314
|
+
* middleware (authentication included), so a disabled feature answers 404
|
|
315
|
+
* for the route and everything below it. Without keys only the plugin switch
|
|
316
|
+
* is checked; several keys must all be enabled (a feature is only effective
|
|
317
|
+
* while its plugin and parent feature are on).
|
|
318
|
+
*/
|
|
319
|
+
const gate = (matcher, ...keys) => ({
|
|
320
|
+
matcher,
|
|
321
|
+
middlewares: [(0, medusa_base_1.requirePluginFeature)(plugin_features_1.affiliatePluginFeatures, ...keys)],
|
|
322
|
+
});
|
|
309
323
|
exports.default = (0, http_1.defineMiddlewares)({
|
|
310
324
|
routes: [
|
|
325
|
+
// Feature-toggle gates (see plugin-features.ts). They cover every
|
|
326
|
+
// Affiliate route and nothing else: the cart path (/store/carts*,
|
|
327
|
+
// payment sessions, /admin/orders/:id/cancel) and all workflow hooks never
|
|
328
|
+
// read a toggle, so checkout integrity does not depend on them.
|
|
329
|
+
//
|
|
330
|
+
// Plugin switch
|
|
331
|
+
gate("/store/affiliates"),
|
|
332
|
+
gate("/store/affiliate-referrals"),
|
|
333
|
+
gate("/admin/affiliates"),
|
|
334
|
+
gate("/admin/affiliate-applications"),
|
|
335
|
+
gate("/admin/affiliate-program-settings"),
|
|
336
|
+
gate("/admin/customers/:id/affiliate"),
|
|
337
|
+
gate("/admin/orders/:id/affiliate-attribution"),
|
|
338
|
+
// Kommissionsvertrieb
|
|
339
|
+
gate("/store/affiliates/consignment-inventory", "consignment"),
|
|
340
|
+
gate("/store/affiliates/consignment-reports", "consignment"),
|
|
341
|
+
gate("/admin/consignment-reports", "consignment"),
|
|
342
|
+
gate("/admin/affiliates/:id/distribution", "consignment"),
|
|
343
|
+
gate("/admin/affiliates/:id/consignment-transfers", "consignment"),
|
|
344
|
+
gate("/admin/affiliates/:id/consignment-reminders", "consignment"),
|
|
345
|
+
gate("/admin/affiliate-distribution-reports", "consignment"),
|
|
346
|
+
// Provisionen
|
|
347
|
+
gate("/store/affiliates/me/commissions", "commissions"),
|
|
348
|
+
gate("/store/affiliates/me/dashboard", "commissions"),
|
|
349
|
+
gate("/admin/affiliate-reports", "commissions"),
|
|
350
|
+
// Gutscheinsystem
|
|
351
|
+
gate("/store/affiliates/coupon-labels", "coupons"),
|
|
352
|
+
gate("/store/affiliate-referrals/apply-coupon", "coupons"),
|
|
353
|
+
gate("/admin/affiliates/:id/coupon-codes", "coupons"),
|
|
354
|
+
gate("/store/affiliates/me/coupon-codes", "coupons_self_service", "partner_portal"),
|
|
355
|
+
// Partnerportal. /store/affiliates/me is gated exactly (with methods) so
|
|
356
|
+
// the gate does not also swallow the /me/* feature routes.
|
|
357
|
+
{
|
|
358
|
+
matcher: "/store/affiliates/me",
|
|
359
|
+
methods: ["GET", "POST"],
|
|
360
|
+
middlewares: [
|
|
361
|
+
(0, medusa_base_1.requirePluginFeature)(plugin_features_1.affiliatePluginFeatures, "partner_portal"),
|
|
362
|
+
],
|
|
363
|
+
},
|
|
364
|
+
gate("/store/affiliates/register", "partner_portal"),
|
|
365
|
+
// Empfehlungslinks
|
|
366
|
+
gate("/store/affiliates/me/slugs", "referral_links", "partner_portal"),
|
|
367
|
+
gate("/store/affiliate-referrals/capture", "referral_links"),
|
|
368
|
+
gate("/store/affiliates/resolve-referral", "referral_links"),
|
|
369
|
+
gate("/admin/affiliates/:id/slugs", "referral_links"),
|
|
311
370
|
// Registered-email gates. The storefront makes these calls from the browser
|
|
312
371
|
// with a Medusa session cookie, hence "session" first; bearer covers its
|
|
313
372
|
// server-side calls. allowUnauthenticated keeps guest checkout working -
|
|
@@ -783,4 +842,4 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
783
842
|
},
|
|
784
843
|
],
|
|
785
844
|
});
|
|
786
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFzQztBQUN0QyxtREFLaUM7QUFPakMscURBSWtDO0FBRWxDLGtGQUkyQztBQUMzQyxnRUFBbUU7QUFDbkUsOERBQTZEO0FBQzdELDZDQTBDcUI7QUFDckIsMkVBR29DO0FBQ3BDLHlGQUF5RjtBQUN6RiwwRkFNK0M7QUFDL0Msd0ZBQThGO0FBQzlGLGdIQUE4RztBQUM5RyxrR0FBbUc7QUFFbkcsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsR0FBa0IsRUFDbEIsSUFBWSxFQUNaLE9BQWUsRUFDZixLQUFjLEVBQ1IsRUFBRTtJQUNSLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7UUFDN0IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFO1FBQ2QsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUU7S0FDbkUsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsR0FBRyxDQUFDLEtBQUs7YUFDTixPQUFPLENBQ04saUNBQXlCLENBQUMsTUFBTSxDQUNqQzthQUNBLElBQUksQ0FDSCxHQUFHLE9BQU8sVUFBVSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFDL0IsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFDM0MsRUFBRSxDQUNILENBQUE7SUFDTCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1Asd0VBQXdFO0lBQzFFLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFN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
|
|
845
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFzQztBQUN0Qyw2REFBa0U7QUFDbEUsbURBS2lDO0FBT2pDLHFEQUlrQztBQUVsQyxrRkFJMkM7QUFDM0MsZ0VBQW1FO0FBQ25FLDhEQUE2RDtBQUM3RCw2Q0EwQ3FCO0FBQ3JCLDJFQUdvQztBQUNwQyx5RkFBeUY7QUFDekYsMEZBTStDO0FBQy9DLHdGQUE4RjtBQUM5RixnSEFBOEc7QUFDOUcsa0dBQW1HO0FBQ25HLHdEQUcyQjtBQUUzQixNQUFNLGVBQWUsR0FBRyxDQUN0QixHQUFrQixFQUNsQixJQUFZLEVBQ1osT0FBZSxFQUNmLEtBQWMsRUFDUixFQUFFO0lBQ1IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtRQUM3QixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUU7UUFDZCxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRTtLQUNuRSxDQUFDLENBQUE7SUFDRixJQUFJLENBQUM7UUFDSCxHQUFHLENBQUMsS0FBSzthQUNOLE9BQU8sQ0FDTixpQ0FBeUIsQ0FBQyxNQUFNLENBQ2pDO2FBQ0EsSUFBSSxDQUNILEdBQUcsT0FBTyxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUMvQixLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUMzQyxFQUFFLENBQ0gsQ0FBQTtJQUNMLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCx3RUFBd0U7SUFDMUUsQ0FBQztBQUNILENBQUMsQ0FB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
|