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

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 (78) 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 +807 -769
  11. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  12. package/dist-lib/integrations/supabase/client.d.ts +807 -769
  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 +807 -769
  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 +807 -769
  19. package/dist-lib/integrations/supabase/twinfield-admin.server.d.ts.map +1 -1
  20. package/dist-lib/integrations/supabase/types.d.ts +180 -152
  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 +4445 -4255
  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 +889 -851
  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 +1 -1
  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 +2668 -2554
  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 +1778 -1702
  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 +4446 -4256
  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 +41 -45
  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 +13335 -12765
  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
@@ -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.