@flowselections/twinfield-authenticatie-module-15-06-2026 1.3.13 → 1.3.14

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 (80) hide show
  1. package/dist-lib/components/TemplateModulePage.js +1 -1
  2. package/dist-lib/components/TwinfieldKoppelingPage.js +1 -1
  3. package/dist-lib/components/settings/TwinfieldAuthSettingsCard.d.ts.map +1 -1
  4. package/dist-lib/components/settings/TwinfieldAuthSettingsCard.js +6 -6
  5. package/dist-lib/components/settings/TwinfieldConformanceCard.js +1 -1
  6. package/dist-lib/index.d.ts +9 -10
  7. package/dist-lib/index.d.ts.map +1 -1
  8. package/dist-lib/index.js +10 -11
  9. package/dist-lib/integrations/supabase/auth-attacher.js +1 -1
  10. package/dist-lib/integrations/supabase/auth-middleware.d.ts +803 -760
  11. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  12. package/dist-lib/integrations/supabase/client.d.ts +803 -760
  13. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  14. package/dist-lib/integrations/supabase/client.js +8 -6
  15. package/dist-lib/integrations/supabase/client.server.d.ts +803 -760
  16. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  17. package/dist-lib/integrations/supabase/client.server.js +1 -1
  18. package/dist-lib/integrations/supabase/twinfield-admin.server.d.ts +803 -760
  19. package/dist-lib/integrations/supabase/twinfield-admin.server.d.ts.map +1 -1
  20. package/dist-lib/integrations/supabase/types.d.ts +174 -141
  21. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  22. package/dist-lib/integrations/supabase/types.js +3 -0
  23. package/dist-lib/lib/accounting/twinfield/actions.functions.d.ts +4425 -4210
  24. package/dist-lib/lib/accounting/twinfield/actions.functions.d.ts.map +1 -1
  25. package/dist-lib/lib/accounting/twinfield/actions.functions.js +5 -5
  26. package/dist-lib/lib/accounting/twinfield/client.server.d.ts +2 -2
  27. package/dist-lib/lib/accounting/twinfield/client.server.js +2 -2
  28. package/dist-lib/lib/accounting/twinfield/conformance.functions.d.ts +885 -842
  29. package/dist-lib/lib/accounting/twinfield/conformance.functions.d.ts.map +1 -1
  30. package/dist-lib/lib/accounting/twinfield/conformance.functions.js +1 -1
  31. package/dist-lib/lib/accounting/twinfield/cron-auth.server.d.ts +4 -2
  32. package/dist-lib/lib/accounting/twinfield/cron-auth.server.d.ts.map +1 -1
  33. package/dist-lib/lib/accounting/twinfield/cron-auth.server.js +12 -22
  34. package/dist-lib/lib/accounting/twinfield/cron-lock.server.d.ts +1 -1
  35. package/dist-lib/lib/accounting/twinfield/cron-run.server.d.ts +3 -1
  36. package/dist-lib/lib/accounting/twinfield/cron-run.server.d.ts.map +1 -1
  37. package/dist-lib/lib/accounting/twinfield/cron-run.server.js +2 -6
  38. package/dist-lib/lib/accounting/twinfield/fetch.server.d.ts +1 -1
  39. package/dist-lib/lib/accounting/twinfield/fetch.server.js +1 -1
  40. package/dist-lib/lib/accounting/twinfield/mapping.js +46 -46
  41. package/dist-lib/lib/accounting/twinfield/push.server.d.ts +4 -4
  42. package/dist-lib/lib/accounting/twinfield/push.server.d.ts.map +1 -1
  43. package/dist-lib/lib/accounting/twinfield/push.server.js +23 -23
  44. package/dist-lib/lib/accounting/twinfield/session.server.d.ts +1 -1
  45. package/dist-lib/lib/accounting/twinfield/session.server.js +1 -1
  46. package/dist-lib/lib/accounting/twinfield/writes.functions.d.ts +2656 -2527
  47. package/dist-lib/lib/accounting/twinfield/writes.functions.d.ts.map +1 -1
  48. package/dist-lib/lib/accounting/twinfield/writes.functions.js +4 -4
  49. package/dist-lib/lib/central/central-accounts.server.js +1 -1
  50. package/dist-lib/lib/central/central-token.server.d.ts +1 -1
  51. package/dist-lib/lib/central/central-token.server.js +1 -1
  52. package/dist-lib/lib/handlers/api-handlers.d.ts +16 -0
  53. package/dist-lib/lib/handlers/api-handlers.d.ts.map +1 -0
  54. package/dist-lib/lib/handlers/api-handlers.js +217 -0
  55. package/dist-lib/lib/handlers/cron-handlers.d.ts +11 -0
  56. package/dist-lib/lib/handlers/cron-handlers.d.ts.map +1 -0
  57. package/dist-lib/lib/handlers/cron-handlers.js +120 -0
  58. package/dist-lib/lib/handlers/index.d.ts +4 -0
  59. package/dist-lib/lib/handlers/index.d.ts.map +1 -0
  60. package/dist-lib/lib/handlers/index.js +2 -0
  61. package/dist-lib/lib/handlers/types.d.ts +5 -0
  62. package/dist-lib/lib/handlers/types.d.ts.map +1 -0
  63. package/dist-lib/lib/handlers/types.js +1 -0
  64. package/dist-lib/lib/twinfield-adapter.functions.d.ts +1770 -1684
  65. package/dist-lib/lib/twinfield-adapter.functions.d.ts.map +1 -1
  66. package/dist-lib/lib/twinfield-adapter.functions.js +3 -3
  67. package/dist-lib/lib/twinfield-sync.functions.d.ts +4426 -4211
  68. package/dist-lib/lib/twinfield-sync.functions.d.ts.map +1 -1
  69. package/dist-lib/lib/twinfield-sync.functions.js +10 -14
  70. package/dist-lib/lib/twinfield-sync.server.d.ts +7 -9
  71. package/dist-lib/lib/twinfield-sync.server.d.ts.map +1 -1
  72. package/dist-lib/lib/twinfield-sync.server.js +83 -87
  73. package/dist-lib/lib/twinfield-token.server.d.ts +1 -1
  74. package/dist-lib/lib/twinfield-token.server.js +2 -2
  75. package/dist-lib/lib/twinfield.functions.d.ts +13275 -12630
  76. package/dist-lib/lib/twinfield.functions.d.ts.map +1 -1
  77. package/dist-lib/lib/twinfield.functions.js +15 -21
  78. package/package.json +96 -4
  79. package/public/flowselections-assets/twinfield-authenticatie/schema.sql +601 -601
  80. package/public/flowselections-assets/twinfield-authenticatie/twinfield-logo.svg +217 -217
@@ -9,7 +9,7 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
9
9
  // ============================================================================
10
10
  import { useState, useEffect } from "react";
11
11
  import { useAuth, supabase, Button, Card, CardContent, CardHeader, CardTitle, toast, } from "@flowselections/core";
12
- import { TemplateModuleLogo } from './TemplateModuleLogo';
12
+ import { TemplateModuleLogo } from './TemplateModuleLogo.js';
13
13
  export function TemplateModulePage() {
14
14
  // Auth is guaranteed — this user is already logged in
15
15
  const { user, isAdmin } = useAuth();
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { TwinfieldAuthSettingsCard } from "./settings/TwinfieldAuthSettingsCard";
2
+ import { TwinfieldAuthSettingsCard } from "./settings/TwinfieldAuthSettingsCard.js";
3
3
  export function TwinfieldKoppelingPage() {
4
4
  return (_jsx("div", { className: "p-6 max-w-4xl mx-auto", children: _jsx(TwinfieldAuthSettingsCard, { defaultExpanded: true }) }));
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TwinfieldAuthSettingsCard.d.ts","sourceRoot":"","sources":["../../../src/components/settings/TwinfieldAuthSettingsCard.tsx"],"names":[],"mappings":"AAsZA,wBAAgB,yBAAyB,CAAC,EACxC,eAAsB,GACvB,GAAE;IACD,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,+BAqWL"}
1
+ {"version":3,"file":"TwinfieldAuthSettingsCard.d.ts","sourceRoot":"","sources":["../../../src/components/settings/TwinfieldAuthSettingsCard.tsx"],"names":[],"mappings":"AAsZA,wBAAgB,yBAAyB,CAAC,EACxC,eAAsB,GACvB,GAAE;IACD,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,+BAsWL"}
@@ -4,10 +4,10 @@ import { useServerFn } from "@tanstack/react-start";
4
4
  import { Card, Button, Badge, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, toast, } from "@flowselections/core";
5
5
  import { ChevronUp, ChevronDown, Link2, Unlink } from "lucide-react";
6
6
  const twinfieldLogo = "/flowselections-assets/twinfield-authenticatie/twinfield-logo.svg";
7
- import { startTwinfieldOAuth, syncTwinfieldCentralAccounts, listTwinfieldConnections, disconnectTwinfieldConnection, setTwinfieldConnectionOffice, listTwinfieldOfficesForConnection, } from "../../lib/twinfield.functions";
8
- import { triggerTwinfieldSync, getTwinfieldSyncState, } from "../../lib/twinfield-sync.functions";
9
- import { listTwinfieldPushQueue, retryTwinfieldQueueItem, } from "../../lib/twinfield-adapter.functions";
10
- import { cn } from "../../lib/utils";
7
+ import { startTwinfieldOAuth, syncTwinfieldCentralAccounts, listTwinfieldConnections, disconnectTwinfieldConnection, setTwinfieldConnectionOffice, listTwinfieldOfficesForConnection, } from "../../lib/twinfield.functions.js";
8
+ import { triggerTwinfieldSync, getTwinfieldSyncState, } from "../../lib/twinfield-sync.functions.js";
9
+ import { listTwinfieldPushQueue, retryTwinfieldQueueItem, } from "../../lib/twinfield-adapter.functions.js";
10
+ import { cn } from "../../lib/utils.js";
11
11
  /** PostgREST meldt ontbrekende kolommen als schema-cachefout. Dat betekent in de
12
12
  * praktijk dat het databaseschema van deze shell verouderd is. */
13
13
  function friendlySyncError(message) {
@@ -316,8 +316,8 @@ export function TwinfieldAuthSettingsCard({ defaultExpanded = true, } = {}) {
316
316
  const isStale = !last || Date.now() - last > maxAgeMs;
317
317
  return (_jsxs("div", { className: "rounded-md border bg-muted/30 px-3 py-2", children: [_jsx("div", { className: "text-xs text-muted-foreground", children: k === "customers" ? "Debiteuren" : "Verkoopfacturen" }), _jsxs("div", { className: "text-sm font-medium text-foreground mt-0.5", children: [count, " \u00B7 laatst ", relativeTime(s?.last_synced_at ?? null)] }), isStale && !s?.last_error && (_jsx("div", { className: "text-[11px] text-amber-700 mt-1", children: "Achterstand: deze sync heeft langer dan verwacht niets bijgewerkt. De volgende ronde herstelt dit automatisch." })), s?.last_error && (_jsx("div", { className: "text-[11px] text-amber-700 mt-1 break-all", children: friendlySyncError(s.last_error) }))] }, k));
318
318
  }) })] })), anyConnected && pushQueue.length > 0 && (_jsxs("div", { className: "rounded-lg border p-4", children: [_jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsxs("div", { children: [_jsx("div", { className: "font-semibold text-foreground", children: "Uitgaande facturen (push-wachtrij)" }), _jsx("div", { className: "text-sm text-muted-foreground mt-0.5", children: "Laatste 20 facturen die naar Twinfield zijn gestuurd." })] }), _jsx(Button, { size: "sm", variant: "outline", onClick: () => void loadAll(), children: "Vernieuwen" })] }), _jsx("div", { className: "mt-3 divide-y rounded-md border", children: pushQueue.map((q) => {
319
- const isDone = q.status === "done" || q.status === "success";
320
- const isFailed = q.status === "dead" || q.status === "error" || q.status === "failed";
319
+ const isDone = q.status === "success";
320
+ const isFailed = q.status === "dead" || q.status === "failed";
321
321
  const variant = isDone
322
322
  ? "default"
323
323
  : isFailed
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useQuery } from "@tanstack/react-query";
3
3
  import { useServerFn } from "@tanstack/react-start";
4
4
  import { Card, Badge } from "@flowselections/core";
5
- import { getTwinfieldConformance } from "../../lib/accounting/twinfield/conformance.functions";
5
+ import { getTwinfieldConformance } from "../../lib/accounting/twinfield/conformance.functions.js";
6
6
  const STATUS_COLOR = {
7
7
  ok: "bg-green-500",
8
8
  warn: "bg-amber-500",
@@ -1,14 +1,13 @@
1
1
  import type { FlowModule } from "@flowselections/core";
2
- export * from './_core-safelist';
3
- export * from './components/TemplatePage';
4
- export * from './components/TemplateModulePage';
5
- export { TemplateModuleLogo } from './components/TemplateModuleLogo';
6
- export { TwinfieldKoppelingPage } from './components/TwinfieldKoppelingPage';
7
- export { TemplateModulePage } from "./components/TemplateModulePage";
8
- export { downloadTwinfieldInvoicePdf, downloadTwinfieldInvoicePdfsBulk, resendTwinfieldInvoice, sendPaymentReminder, duplicateTwinfieldInvoice, } from "./lib/accounting/twinfield/actions.functions";
9
- export { getTwinfieldConformance } from "./lib/accounting/twinfield/conformance.functions";
10
- export { createTwinfieldCustomer, createTwinfieldInvoice, checkTwinfieldWritePermissions, } from "./lib/accounting/twinfield/writes.functions";
11
- export { TwinfieldConformanceCard } from "./components/settings/TwinfieldConformanceCard";
2
+ import "./_core-safelist.js";
3
+ export { TemplatePage } from "./components/TemplatePage.js";
4
+ export { TemplateModulePage } from "./components/TemplateModulePage.js";
5
+ export { TemplateModuleLogo } from "./components/TemplateModuleLogo.js";
6
+ export { TwinfieldKoppelingPage } from "./components/TwinfieldKoppelingPage.js";
7
+ export { downloadTwinfieldInvoicePdf, downloadTwinfieldInvoicePdfsBulk, resendTwinfieldInvoice, sendPaymentReminder, duplicateTwinfieldInvoice, } from "./lib/accounting/twinfield/actions.functions.js";
8
+ export { getTwinfieldConformance } from "./lib/accounting/twinfield/conformance.functions.js";
9
+ export { createTwinfieldCustomer, createTwinfieldInvoice, checkTwinfieldWritePermissions, } from "./lib/accounting/twinfield/writes.functions.js";
10
+ export { TwinfieldConformanceCard } from "./components/settings/TwinfieldConformanceCard.js";
12
11
  export declare const twinfieldAuthenticatieModule: FlowModule;
13
12
  export declare const myModule: FlowModule;
14
13
  export declare const TwinfieldAuthenticatieModule: FlowModule;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAKrE,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F,eAAO,MAAM,4BAA4B,EAAE,UAY1C,CAAC;AAEF,eAAO,MAAM,QAAQ,YAA+B,CAAC;AACrD,eAAO,MAAM,4BAA4B,YAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAKhF,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAE7F,eAAO,MAAM,4BAA4B,EAAE,UAY1C,CAAC;AAEF,eAAO,MAAM,QAAQ,YAA+B,CAAC;AACrD,eAAO,MAAM,4BAA4B,YAA+B,CAAC"}
package/dist-lib/index.js CHANGED
@@ -14,18 +14,17 @@
14
14
  // 4. Done! You don't need to touch any other file for registration.
15
15
  // ============================================================================
16
16
  import { LayoutDashboard } from "lucide-react"; // ← Replace with your icon
17
- export * from './_core-safelist';
18
- export * from './components/TemplatePage';
19
- export * from './components/TemplateModulePage';
20
- export { TemplateModuleLogo } from './components/TemplateModuleLogo';
21
- export { TwinfieldKoppelingPage } from './components/TwinfieldKoppelingPage';
22
- export { TemplateModulePage } from "./components/TemplateModulePage";
23
- import { TwinfieldAuthSettingsCard } from "./components/settings/TwinfieldAuthSettingsCard";
17
+ import "./_core-safelist.js";
18
+ export { TemplatePage } from "./components/TemplatePage.js";
19
+ export { TemplateModulePage } from "./components/TemplateModulePage.js";
20
+ export { TemplateModuleLogo } from "./components/TemplateModuleLogo.js";
21
+ export { TwinfieldKoppelingPage } from "./components/TwinfieldKoppelingPage.js";
22
+ import { TwinfieldAuthSettingsCard } from "./components/settings/TwinfieldAuthSettingsCard.js";
24
23
  // Twinfield acties-server-fns — geëxporteerd voor de facturatie-module.
25
- export { downloadTwinfieldInvoicePdf, downloadTwinfieldInvoicePdfsBulk, resendTwinfieldInvoice, sendPaymentReminder, duplicateTwinfieldInvoice, } from "./lib/accounting/twinfield/actions.functions";
26
- export { getTwinfieldConformance } from "./lib/accounting/twinfield/conformance.functions";
27
- export { createTwinfieldCustomer, createTwinfieldInvoice, checkTwinfieldWritePermissions, } from "./lib/accounting/twinfield/writes.functions";
28
- export { TwinfieldConformanceCard } from "./components/settings/TwinfieldConformanceCard";
24
+ export { downloadTwinfieldInvoicePdf, downloadTwinfieldInvoicePdfsBulk, resendTwinfieldInvoice, sendPaymentReminder, duplicateTwinfieldInvoice, } from "./lib/accounting/twinfield/actions.functions.js";
25
+ export { getTwinfieldConformance } from "./lib/accounting/twinfield/conformance.functions.js";
26
+ export { createTwinfieldCustomer, createTwinfieldInvoice, checkTwinfieldWritePermissions, } from "./lib/accounting/twinfield/writes.functions.js";
27
+ export { TwinfieldConformanceCard } from "./components/settings/TwinfieldConformanceCard.js";
29
28
  export const twinfieldAuthenticatieModule = {
30
29
  id: "twinfield_authenticatie",
31
30
  name: "Twinfield Authenticatie",
@@ -4,7 +4,7 @@
4
4
  // during SSR / loadEntries.
5
5
  import { createMiddleware } from '@tanstack/react-start';
6
6
  export const attachSupabaseAuth = createMiddleware({ type: 'function' }).client(async ({ next }) => {
7
- const { supabase } = await import('./client');
7
+ const { supabase } = await import('./client.js');
8
8
  let { data } = await supabase.auth.getSession();
9
9
  // Proactief verversen: een token dat binnen 60s verloopt geeft server-side
10
10
  // een 401 Response, wat als "Error: [object Response]" op het scherm belandt.