@rubydogjp/openkk-client-usecases 26.1.12 → 26.2.1

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 (85) hide show
  1. package/LICENSE +21 -0
  2. package/dist/assist/assist-state-helpers.d.ts +27 -0
  3. package/dist/assist/assist-state-helpers.d.ts.map +1 -0
  4. package/dist/assist/assist-state-helpers.js +183 -0
  5. package/dist/assist/assist-state-helpers.js.map +1 -0
  6. package/dist/assist/assist-state.d.ts +4 -11
  7. package/dist/assist/assist-state.d.ts.map +1 -1
  8. package/dist/assist/assist-state.js +233 -303
  9. package/dist/assist/assist-state.js.map +1 -1
  10. package/dist/entries/account-options.d.ts +11 -0
  11. package/dist/entries/account-options.d.ts.map +1 -0
  12. package/dist/entries/account-options.js +41 -0
  13. package/dist/entries/account-options.js.map +1 -0
  14. package/dist/entries/entries-state.d.ts +9 -14
  15. package/dist/entries/entries-state.d.ts.map +1 -1
  16. package/dist/entries/entries-state.js +245 -159
  17. package/dist/entries/entries-state.js.map +1 -1
  18. package/dist/entries/entry-record-state.d.ts +6 -0
  19. package/dist/entries/entry-record-state.d.ts.map +1 -0
  20. package/dist/entries/entry-record-state.js +23 -0
  21. package/dist/entries/entry-record-state.js.map +1 -0
  22. package/dist/entries/import-mapping.d.ts +12 -29
  23. package/dist/entries/import-mapping.d.ts.map +1 -1
  24. package/dist/entries/import-mapping.js +23 -74
  25. package/dist/entries/import-mapping.js.map +1 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/shared/archive-data-policy.d.ts +6 -0
  31. package/dist/shared/archive-data-policy.d.ts.map +1 -0
  32. package/dist/shared/archive-data-policy.js +4 -0
  33. package/dist/shared/archive-data-policy.js.map +1 -0
  34. package/dist/shared/async-mutation-queue.d.ts +9 -0
  35. package/dist/shared/async-mutation-queue.d.ts.map +1 -0
  36. package/dist/shared/async-mutation-queue.js +21 -0
  37. package/dist/shared/async-mutation-queue.js.map +1 -0
  38. package/dist/shared/async-state-version.d.ts +13 -0
  39. package/dist/shared/async-state-version.d.ts.map +1 -0
  40. package/dist/shared/async-state-version.js +27 -0
  41. package/dist/shared/async-state-version.js.map +1 -0
  42. package/dist/shared/auth-operation-guard.d.ts +3 -0
  43. package/dist/shared/auth-operation-guard.d.ts.map +1 -0
  44. package/dist/shared/auth-operation-guard.js +13 -0
  45. package/dist/shared/auth-operation-guard.js.map +1 -0
  46. package/dist/shared/backend-api-context.d.ts.map +1 -1
  47. package/dist/shared/backend-api-context.js +1 -0
  48. package/dist/shared/backend-api-context.js.map +1 -1
  49. package/dist/shared/brand-config-context.js +1 -1
  50. package/dist/shared/brand-config-context.js.map +1 -1
  51. package/dist/shared/browser-storage.d.ts +9 -0
  52. package/dist/shared/browser-storage.d.ts.map +1 -0
  53. package/dist/shared/browser-storage.js +79 -0
  54. package/dist/shared/browser-storage.js.map +1 -0
  55. package/dist/shared/callouts-context.d.ts +1 -1
  56. package/dist/shared/callouts-context.d.ts.map +1 -1
  57. package/dist/shared/callouts-context.js +5 -2
  58. package/dist/shared/callouts-context.js.map +1 -1
  59. package/dist/shared/closing-state.d.ts +2 -1
  60. package/dist/shared/closing-state.d.ts.map +1 -1
  61. package/dist/shared/closing-state.js +21 -6
  62. package/dist/shared/closing-state.js.map +1 -1
  63. package/dist/shared/editing-policy.d.ts +3 -0
  64. package/dist/shared/editing-policy.d.ts.map +1 -0
  65. package/dist/shared/editing-policy.js +13 -0
  66. package/dist/shared/editing-policy.js.map +1 -0
  67. package/dist/shared/fiscal-period-list.d.ts +5 -0
  68. package/dist/shared/fiscal-period-list.d.ts.map +1 -0
  69. package/dist/shared/fiscal-period-list.js +50 -0
  70. package/dist/shared/fiscal-period-list.js.map +1 -0
  71. package/dist/shared/maintenance-state.d.ts.map +1 -1
  72. package/dist/shared/maintenance-state.js +15 -2
  73. package/dist/shared/maintenance-state.js.map +1 -1
  74. package/dist/shared/openkk-app-state.d.ts +14 -27
  75. package/dist/shared/openkk-app-state.d.ts.map +1 -1
  76. package/dist/shared/openkk-app-state.js +240 -171
  77. package/dist/shared/openkk-app-state.js.map +1 -1
  78. package/dist/shared/openkk-config-context.d.ts +1 -0
  79. package/dist/shared/openkk-config-context.d.ts.map +1 -1
  80. package/dist/shared/openkk-config-context.js +35 -2
  81. package/dist/shared/openkk-config-context.js.map +1 -1
  82. package/dist/shared/print-adapter-context.d.ts.map +1 -1
  83. package/dist/shared/print-adapter-context.js +1 -0
  84. package/dist/shared/print-adapter-context.js.map +1 -1
  85. package/package.json +4 -4
@@ -1,64 +1,87 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { createContext, useContext, useEffect, useMemo, useState, } from "react";
4
- import { AppError, buildBootstrapFiscalPeriodId, buildBootstrapUser, buildSignedOutFiscalPeriodId, summarizeOpeningBalances, DEFAULT_BOOK_ACCOUNTS, DEFAULT_BUSINESS_CATEGORIES, DEFAULT_TAX_CATEGORIES, } from "@rubydogjp/openkk-client-domain";
3
+ import { createContext, useContext, useEffect, useMemo, useRef, useState, } from "react";
4
+ import { AppError, buildBootstrapFiscalPeriodId, buildBootstrapUser, DEFAULT_BOOK_ACCOUNTS, DEFAULT_BUSINESS_CATEGORIES, DEFAULT_TAX_CATEGORIES, } from "@rubydogjp/openkk-client-domain";
5
5
  import { useBackendApi } from "./backend-api-context.js";
6
6
  import { useOpenkkConfig } from "./openkk-config-context.js";
7
7
  import { entryRecordToImportPayload } from "../entries/import-mapping.js";
8
+ import { assertEditingUnlocked } from "./editing-policy.js";
9
+ import { AsyncStateVersion, KeyedAsyncStateVersion, } from "./async-state-version.js";
10
+ import { AsyncMutationQueue } from "./async-mutation-queue.js";
11
+ import { applyFiscalPeriodUpdate, mapRemoteFiscalPeriod, } from "./fiscal-period-list.js";
12
+ import { assertAuthUnchanged } from "./auth-operation-guard.js";
13
+ import { browserLocalStorage, readStoredUser, safeStorageGet, safeStorageRemove, safeStorageSet, } from "./browser-storage.js";
8
14
  const OpenkkAppStateContext = createContext(null);
9
15
  export function OpenkkAppStateProvider(props) {
10
16
  const config = useOpenkkConfig();
11
17
  const backendApi = useBackendApi();
12
18
  const seedFiscalPeriod = props.seedFiscalPeriod;
19
+ const authVersion = useRef(new AsyncStateVersion());
20
+ const authMutationQueue = useRef(new AsyncMutationQueue());
21
+ const fiscalPeriodMutationQueue = useRef(new AsyncMutationQueue());
22
+ const fiscalPeriodListVersion = useRef(new KeyedAsyncStateVersion());
13
23
  const [isReady, setIsReady] = useState(false);
14
24
  const [fiscalPeriods, setFiscalPeriods] = useState([]);
25
+ const fiscalPeriodsRef = useRef(fiscalPeriods);
26
+ fiscalPeriodsRef.current = fiscalPeriods;
15
27
  const [fiscalPeriodLoadError, setFiscalPeriodLoadError] = useState(null);
16
28
  const [fiscalPeriodReloadNonce, setFiscalPeriodReloadNonce] = useState(0);
17
29
  const [user, setUser] = useState(() => buildBootstrapUser(config));
18
30
  const [currentFiscalPeriodId, setCurrentFiscalPeriodId] = useState(() => buildBootstrapFiscalPeriodId(config));
31
+ useEffect(() => {
32
+ return () => {
33
+ authVersion.current.invalidate();
34
+ };
35
+ }, []);
19
36
  useEffect(() => {
20
37
  if (typeof window === "undefined") {
21
38
  setIsReady(true);
22
39
  return;
23
40
  }
24
- // EmbeddedUser は毎起動で自動サインイン(保存は参照しない)。CustomUser は
25
- // 前回サインイン時に保存したユーザーを復元する。
41
+ const storage = browserLocalStorage();
26
42
  if (config.authMode === "custom") {
27
- const restored = readStoredUser(window.localStorage.getItem(config.sessionStorageKey));
43
+ const restored = readStoredUser(safeStorageGet(storage, config.sessionStorageKey));
28
44
  if (restored != null)
29
45
  setUser(restored);
30
46
  }
31
- const storedFp = window.localStorage.getItem(config.fiscalPeriodStorageKey);
32
- if (storedFp != null)
47
+ const storedFp = safeStorageGet(storage, config.fiscalPeriodStorageKey);
48
+ if (storedFp != null && storedFp !== "")
33
49
  setCurrentFiscalPeriodId(storedFp);
34
50
  setIsReady(true);
35
51
  }, []);
36
52
  const userId = user?.id ?? null;
37
53
  useEffect(() => {
38
54
  if (userId == null) {
55
+ fiscalPeriodsRef.current = [];
39
56
  setFiscalPeriods([]);
40
57
  return;
41
58
  }
42
59
  let cancelled = false;
60
+ const readVersion = fiscalPeriodListVersion.current.capture("all");
43
61
  void (async () => {
44
62
  try {
45
- const periods = await backendApi.fiscalPeriod.getAll();
46
- if (cancelled)
63
+ const periods = await backendApi.fiscalPeriods.getAll();
64
+ if (cancelled ||
65
+ !fiscalPeriodListVersion.current.isCurrent("all", readVersion)) {
47
66
  return;
67
+ }
48
68
  const mapped = periods.map(mapRemoteFiscalPeriod);
69
+ fiscalPeriodsRef.current = mapped;
49
70
  setFiscalPeriods(mapped);
50
71
  setFiscalPeriodLoadError(null);
51
72
  setCurrentFiscalPeriodId((current) => {
52
- if (current == null || current === "")
73
+ if (current == null)
53
74
  return current;
54
75
  return mapped.some((period) => period.id === current)
55
76
  ? current
56
- : buildSignedOutFiscalPeriodId(config);
77
+ : buildBootstrapFiscalPeriodId(config);
57
78
  });
58
79
  }
59
80
  catch (error) {
60
- if (cancelled)
81
+ if (cancelled ||
82
+ !fiscalPeriodListVersion.current.isCurrent("all", readVersion)) {
61
83
  return;
84
+ }
62
85
  console.error("[openkk] fiscal period load failed:", error);
63
86
  setFiscalPeriodLoadError(error);
64
87
  }
@@ -71,28 +94,51 @@ export function OpenkkAppStateProvider(props) {
71
94
  if (typeof window === "undefined") {
72
95
  return;
73
96
  }
74
- // CustomUser のみ復元用に保存する。EmbeddedUser は毎起動で自動サインインするため保存不要。
97
+ const storage = browserLocalStorage();
75
98
  if (user != null && user.kind === "custom") {
76
- window.localStorage.setItem(config.sessionStorageKey, JSON.stringify(user));
99
+ safeStorageSet(storage, config.sessionStorageKey, JSON.stringify(user));
77
100
  }
78
101
  else {
79
- window.localStorage.removeItem(config.sessionStorageKey);
102
+ safeStorageRemove(storage, config.sessionStorageKey);
80
103
  }
81
104
  }, [user, config]);
82
105
  useEffect(() => {
83
106
  if (typeof window === "undefined") {
84
107
  return;
85
108
  }
86
- if (currentFiscalPeriodId == null || currentFiscalPeriodId === "") {
87
- window.localStorage.removeItem(config.fiscalPeriodStorageKey);
109
+ const storage = browserLocalStorage();
110
+ if (currentFiscalPeriodId == null) {
111
+ safeStorageRemove(storage, config.fiscalPeriodStorageKey);
88
112
  }
89
113
  else {
90
- window.localStorage.setItem(config.fiscalPeriodStorageKey, currentFiscalPeriodId);
114
+ safeStorageSet(storage, config.fiscalPeriodStorageKey, currentFiscalPeriodId);
91
115
  }
92
- }, [currentFiscalPeriodId]);
116
+ }, [currentFiscalPeriodId, config]);
93
117
  const value = useMemo(() => {
118
+ const runFiscalPeriodCommand = async (operation, command) => {
119
+ assertEditingUnlocked(config.editingPolicy, operation);
120
+ const operationVersion = authVersion.current.capture();
121
+ return await fiscalPeriodMutationQueue.current.run(async () => {
122
+ assertAuthUnchanged(authVersion.current, operationVersion);
123
+ const updated = await command();
124
+ assertAuthUnchanged(authVersion.current, operationVersion);
125
+ fiscalPeriodListVersion.current.invalidate("all");
126
+ fiscalPeriodsRef.current = applyFiscalPeriodUpdate(fiscalPeriodsRef.current, updated);
127
+ setFiscalPeriods((current) => applyFiscalPeriodUpdate(current, updated));
128
+ return true;
129
+ });
130
+ };
94
131
  return {
95
132
  session: user == null ? null : { user },
133
+ captureAuthOperationVersion() {
134
+ return authVersion.current.capture();
135
+ },
136
+ isAuthOperationCurrent(expectedVersion) {
137
+ return authVersion.current.isCurrent(expectedVersion);
138
+ },
139
+ assertAuthOperationCurrent(expectedVersion) {
140
+ assertAuthUnchanged(authVersion.current, expectedVersion);
141
+ },
96
142
  fiscalPeriods,
97
143
  currentFiscalPeriodId,
98
144
  isReady,
@@ -100,107 +146,196 @@ export function OpenkkAppStateProvider(props) {
100
146
  reloadFiscalPeriods() {
101
147
  setFiscalPeriodReloadNonce((nonce) => nonce + 1);
102
148
  },
103
- async createFiscalPeriod(input, options) {
104
- const created = await backendApi.fiscalPeriod.create(input);
105
- const seed = seedFiscalPeriod?.({
106
- fiscalPeriod: created,
107
- isFirst: fiscalPeriods.length === 0,
108
- }) ?? null;
109
- let final = created;
110
- if (seed != null) {
111
- final = await backendApi.fiscalPeriod.patch(created.id, {
112
- opening: {
113
- id: `op-${created.id}`,
114
- userId: user?.id ?? config.mockUserId,
115
- fiscalPeriodId: created.id,
116
- openingBalanceLines: seed.openingBalanceLines,
117
- openingJournals: [],
118
- },
119
- });
120
- if (seed.entries.length > 0) {
121
- await backendApi.entries.importMany(created.id, seed.entries.map((record) => entryRecordToImportInput(record)));
149
+ async createFiscalPeriod(input) {
150
+ assertEditingUnlocked(config.editingPolicy, "appState.createFiscalPeriod");
151
+ const operationVersion = authVersion.current.capture();
152
+ return await fiscalPeriodMutationQueue.current.run(async () => {
153
+ assertAuthUnchanged(authVersion.current, operationVersion);
154
+ const created = await backendApi.fiscalPeriods.create(input);
155
+ assertAuthUnchanged(authVersion.current, operationVersion);
156
+ try {
157
+ const seed = seedFiscalPeriod?.({
158
+ fiscalPeriod: created,
159
+ isFirst: fiscalPeriodsRef.current.length === 0,
160
+ }) ?? null;
161
+ let final = created;
162
+ if (seed != null) {
163
+ final = await backendApi.fiscalPeriods.patch(created.id, {
164
+ opening: {
165
+ balanceLines: seed.openingBalanceLines,
166
+ journals: [],
167
+ },
168
+ });
169
+ assertAuthUnchanged(authVersion.current, operationVersion);
170
+ if (seed.entries.length > 0) {
171
+ await backendApi.entries.importMany(created.id, seed.entries.map((record) => entryRecordToImportInput(record)));
172
+ assertAuthUnchanged(authVersion.current, operationVersion);
173
+ }
174
+ }
175
+ fiscalPeriodListVersion.current.invalidate("all");
176
+ fiscalPeriodsRef.current = applyFiscalPeriodUpdate(fiscalPeriodsRef.current, final);
177
+ setFiscalPeriods((current) => applyFiscalPeriodUpdate(current, final));
178
+ setCurrentFiscalPeriodId(final.id);
179
+ return final.id;
122
180
  }
123
- }
124
- setFiscalPeriods((current) => [
125
- ...current,
126
- mapRemoteFiscalPeriod(final),
127
- ]);
128
- if (options?.select !== false) {
129
- setCurrentFiscalPeriodId(final.id);
130
- }
131
- return final.id;
181
+ catch (error) {
182
+ assertAuthUnchanged(authVersion.current, operationVersion);
183
+ try {
184
+ await backendApi.fiscalPeriods.remove(created.id);
185
+ }
186
+ catch (cleanupError) {
187
+ throw fiscalPeriodCleanupError(created.id, error, cleanupError);
188
+ }
189
+ throw error;
190
+ }
191
+ });
192
+ },
193
+ async createNextFiscalPeriod(input) {
194
+ assertEditingUnlocked(config.editingPolicy, "appState.createNextFiscalPeriod");
195
+ const operationVersion = authVersion.current.capture();
196
+ return await fiscalPeriodMutationQueue.current.run(async () => {
197
+ assertAuthUnchanged(authVersion.current, operationVersion);
198
+ const created = await backendApi.fiscalPeriods.createNext(input);
199
+ assertAuthUnchanged(authVersion.current, operationVersion);
200
+ fiscalPeriodListVersion.current.invalidate("all");
201
+ fiscalPeriodsRef.current = applyFiscalPeriodUpdate(fiscalPeriodsRef.current, created);
202
+ setFiscalPeriods((current) => applyFiscalPeriodUpdate(current, created));
203
+ return created.id;
204
+ });
132
205
  },
133
206
  async importArchivedFiscalPeriod(payload) {
134
- const imported = await backendApi.fiscalPeriod.importArchived(payload);
135
- setFiscalPeriods((current) => [
136
- ...current,
137
- mapRemoteFiscalPeriod(imported),
138
- ]);
139
- return imported.id;
207
+ assertEditingUnlocked(config.editingPolicy, "appState.importArchivedFiscalPeriod");
208
+ const operationVersion = authVersion.current.capture();
209
+ return await fiscalPeriodMutationQueue.current.run(async () => {
210
+ assertAuthUnchanged(authVersion.current, operationVersion);
211
+ const imported = await backendApi.fiscalPeriods.importArchived(payload);
212
+ assertAuthUnchanged(authVersion.current, operationVersion);
213
+ fiscalPeriodListVersion.current.invalidate("all");
214
+ fiscalPeriodsRef.current = applyFiscalPeriodUpdate(fiscalPeriodsRef.current, imported);
215
+ setFiscalPeriods((current) => applyFiscalPeriodUpdate(current, imported));
216
+ return imported.id;
217
+ });
140
218
  },
141
219
  async updateFiscalPeriod(fiscalPeriodId, input) {
142
- const patched = await backendApi.fiscalPeriod.patch(fiscalPeriodId, {
143
- name: input.name,
144
- startDate: input.startDate,
145
- endDate: input.endDate,
146
- settingsCompleted: input.settingsCompleted,
147
- openingBalancesCompleted: input.openingBalancesCompleted,
148
- documentsReceivedCompleted: input.documentsReceivedCompleted,
149
- opening: input.opening,
220
+ assertEditingUnlocked(config.editingPolicy, "appState.updateFiscalPeriod");
221
+ const operationVersion = authVersion.current.capture();
222
+ return await fiscalPeriodMutationQueue.current.run(async () => {
223
+ assertAuthUnchanged(authVersion.current, operationVersion);
224
+ const current = fiscalPeriodsRef.current.find((period) => period.id === fiscalPeriodId);
225
+ if (current == null)
226
+ return false;
227
+ const resolved = typeof input === "function" ? input(current) : input;
228
+ if (resolved == null)
229
+ return false;
230
+ const patched = await backendApi.fiscalPeriods.patch(fiscalPeriodId, resolved);
231
+ assertAuthUnchanged(authVersion.current, operationVersion);
232
+ fiscalPeriodListVersion.current.invalidate("all");
233
+ fiscalPeriodsRef.current = applyFiscalPeriodUpdate(fiscalPeriodsRef.current, patched);
234
+ setFiscalPeriods((currentPeriods) => applyFiscalPeriodUpdate(currentPeriods, patched));
235
+ return true;
150
236
  });
151
- setFiscalPeriods((current) => applyFiscalPeriodUpdate(current, patched));
152
- return true;
153
237
  },
154
- async archiveFiscalPeriod(fiscalPeriodId) {
155
- const archived = await backendApi.fiscalPeriod.archive(fiscalPeriodId);
156
- setFiscalPeriods((current) => applyFiscalPeriodUpdate(current, archived));
157
- return true;
238
+ startFiscalPeriod(fiscalPeriodId) {
239
+ return runFiscalPeriodCommand("appState.startFiscalPeriod", () => backendApi.fiscalPeriods.start(fiscalPeriodId));
158
240
  },
159
- async purgeArchivedFiscalPeriod(fiscalPeriodId) {
160
- const purged = await backendApi.fiscalPeriod.purgeArchivedData(fiscalPeriodId);
161
- setFiscalPeriods((current) => applyFiscalPeriodUpdate(current, purged));
162
- return true;
241
+ archiveFiscalPeriod(fiscalPeriodId) {
242
+ return runFiscalPeriodCommand("appState.archiveFiscalPeriod", () => backendApi.fiscalPeriods.archive(fiscalPeriodId));
243
+ },
244
+ purgeArchivedFiscalPeriod(fiscalPeriodId) {
245
+ return runFiscalPeriodCommand("appState.purgeArchivedFiscalPeriod", () => backendApi.fiscalPeriods.purgeArchivedData(fiscalPeriodId));
246
+ },
247
+ async discardFiscalPeriod(fiscalPeriodId) {
248
+ assertEditingUnlocked(config.editingPolicy, "appState.discardFiscalPeriod");
249
+ const operationVersion = authVersion.current.capture();
250
+ await fiscalPeriodMutationQueue.current.run(async () => {
251
+ assertAuthUnchanged(authVersion.current, operationVersion);
252
+ await backendApi.fiscalPeriods.remove(fiscalPeriodId);
253
+ assertAuthUnchanged(authVersion.current, operationVersion);
254
+ fiscalPeriodListVersion.current.invalidate("all");
255
+ fiscalPeriodsRef.current = fiscalPeriodsRef.current.filter((period) => period.id !== fiscalPeriodId);
256
+ setFiscalPeriods((current) => current.filter((period) => period.id !== fiscalPeriodId));
257
+ setCurrentFiscalPeriodId((current) => current === fiscalPeriodId
258
+ ? buildBootstrapFiscalPeriodId(config)
259
+ : current);
260
+ });
163
261
  },
164
262
  syncFiscalPeriod(period) {
263
+ if (period.userId !== user?.id)
264
+ return;
265
+ fiscalPeriodListVersion.current.invalidate("all");
266
+ fiscalPeriodsRef.current = applyFiscalPeriodUpdate(fiscalPeriodsRef.current, period);
165
267
  setFiscalPeriods((current) => applyFiscalPeriodUpdate(current, period));
166
268
  },
167
269
  signInAsEmbeddedUser() {
270
+ authVersion.current.invalidate();
271
+ fiscalPeriodsRef.current = [];
168
272
  setFiscalPeriods([]);
273
+ setFiscalPeriodLoadError(null);
274
+ setCurrentFiscalPeriodId(buildBootstrapFiscalPeriodId(config));
169
275
  setUser(config.embeddedUser);
276
+ setFiscalPeriodReloadNonce((nonce) => nonce + 1);
170
277
  },
171
- signOut() {
172
- void backendApi.auth.signOut().catch(() => undefined);
173
- setFiscalPeriods([]);
174
- // EmbeddedUser はサインアウト不可。再度自動サインイン状態へ戻す。
175
- setUser(buildBootstrapUser(config));
176
- setCurrentFiscalPeriodId(buildSignedOutFiscalPeriodId(config));
278
+ async signOut() {
279
+ const operationVersion = authVersion.current.invalidate();
280
+ return await authMutationQueue.current.run(async () => {
281
+ try {
282
+ await backendApi.auth.signOut();
283
+ }
284
+ finally {
285
+ if (authVersion.current.isCurrent(operationVersion)) {
286
+ fiscalPeriodListVersion.current.invalidate("all");
287
+ fiscalPeriodsRef.current = [];
288
+ setFiscalPeriods([]);
289
+ setFiscalPeriodLoadError(null);
290
+ setUser(buildBootstrapUser(config));
291
+ setCurrentFiscalPeriodId(buildBootstrapFiscalPeriodId(config));
292
+ setFiscalPeriodReloadNonce((nonce) => nonce + 1);
293
+ }
294
+ }
295
+ });
177
296
  },
178
297
  async startSignIn(redirectUrl) {
179
- return await backendApi.auth.startSession(redirectUrl);
298
+ const operationVersion = authVersion.current.capture();
299
+ return await authMutationQueue.current.run(async () => {
300
+ assertAuthUnchanged(authVersion.current, operationVersion);
301
+ const started = await backendApi.auth.startSession(redirectUrl);
302
+ assertAuthUnchanged(authVersion.current, operationVersion);
303
+ return started;
304
+ });
180
305
  },
181
- async completeSignIn({ state, code }) {
182
- const completed = await backendApi.auth.completeSession({
183
- state,
184
- code,
306
+ async completeSignIn(state, code) {
307
+ const operationVersion = authVersion.current.invalidate();
308
+ return await authMutationQueue.current.run(async () => {
309
+ assertAuthUnchanged(authVersion.current, operationVersion);
310
+ const completed = await backendApi.auth.completeSession(state, code);
311
+ assertAuthUnchanged(authVersion.current, operationVersion);
312
+ const token = await backendApi.auth.redeemCompletionCode(completed.completionCode);
313
+ assertAuthUnchanged(authVersion.current, operationVersion);
314
+ const signedInUser = {
315
+ kind: "custom",
316
+ id: token.userId,
317
+ displayName: token.displayName ?? token.userId,
318
+ email: token.email == null || token.email.trim() === ""
319
+ ? null
320
+ : token.email.trim(),
321
+ iconUrl: token.iconUrl,
322
+ authProvider: token.authProvider ?? "custom",
323
+ };
324
+ fiscalPeriodListVersion.current.invalidate("all");
325
+ fiscalPeriodsRef.current = [];
326
+ setFiscalPeriods([]);
327
+ setFiscalPeriodLoadError(null);
328
+ setCurrentFiscalPeriodId(buildBootstrapFiscalPeriodId(config));
329
+ setUser(signedInUser);
330
+ setFiscalPeriodReloadNonce((nonce) => nonce + 1);
331
+ return signedInUser;
185
332
  });
186
- const token = await backendApi.auth.redeemCompletionCode(completed.completionCode);
187
- const signedInUser = {
188
- kind: "custom",
189
- id: token.userId,
190
- displayName: token.displayName ?? token.userId,
191
- email: token.email ?? "",
192
- iconUrl: token.iconUrl ?? null,
193
- authProvider: token.authProvider ?? "custom",
194
- };
195
- setFiscalPeriods([]);
196
- setUser(signedInUser);
197
- return signedInUser;
198
333
  },
199
334
  selectFiscalPeriod(fiscalPeriodId) {
200
335
  setCurrentFiscalPeriodId(fiscalPeriodId);
201
336
  },
202
337
  clearFiscalPeriod() {
203
- setCurrentFiscalPeriodId(buildSignedOutFiscalPeriodId(config));
338
+ setCurrentFiscalPeriodId(buildBootstrapFiscalPeriodId(config));
204
339
  },
205
340
  };
206
341
  }, [
@@ -223,86 +358,11 @@ export function useOpenkkAppState() {
223
358
  messageForUser: "アプリの状態を読み込めませんでした",
224
359
  originalMessage: null,
225
360
  statusCode: null,
361
+ code: null,
226
362
  });
227
363
  }
228
364
  return value;
229
365
  }
230
- function readStoredUser(raw) {
231
- if (raw == null || raw === "")
232
- return null;
233
- try {
234
- const parsed = JSON.parse(raw);
235
- if (parsed.kind !== "custom" || typeof parsed.id !== "string")
236
- return null;
237
- return {
238
- kind: "custom",
239
- id: parsed.id,
240
- displayName: parsed.displayName ?? parsed.id,
241
- email: parsed.email ?? "",
242
- iconUrl: parsed.iconUrl ?? null,
243
- authProvider: parsed.authProvider ?? "custom",
244
- };
245
- }
246
- catch {
247
- return null;
248
- }
249
- }
250
- function mapRemoteFiscalPeriod(period) {
251
- const openingBalanceLines = period.opening?.openingBalanceLines ?? [];
252
- const openingSummary = summarizeOpeningBalances(openingBalanceLines);
253
- return {
254
- id: period.id,
255
- userId: period.userId,
256
- name: period.name,
257
- startDate: period.startDate,
258
- endDate: period.endDate,
259
- phase: period.phase,
260
- archiveStatus: period.archiveStatus,
261
- archiveDataAvailable: period.archiveDataAvailable ?? true,
262
- archivedAt: period.archivedAt ?? null,
263
- settingsCompleted: period.settingsCompleted,
264
- openingBalancesCompleted: period.openingBalancesCompleted,
265
- documentsReceivedCompleted: period.documentsReceivedCompleted,
266
- openingDebitTotal: openingSummary.assets,
267
- openingCreditTotal: openingSummary.liabilities + openingSummary.equity,
268
- createdAt: period.createdAt,
269
- updatedAt: period.updatedAt,
270
- opening: period.opening == null
271
- ? undefined
272
- : {
273
- id: period.opening.id,
274
- userId: period.opening.userId,
275
- fiscalPeriodId: period.opening.fiscalPeriodId,
276
- createdAt: period.opening.createdAt,
277
- updatedAt: period.opening.updatedAt,
278
- openingBalanceLines: (period.opening.openingBalanceLines ?? []).map((line) => ({
279
- id: line.id,
280
- accountId: line.accountId,
281
- amount: line.amount,
282
- })),
283
- openingJournals: (period.opening.openingJournals ?? []).map((journal) => ({
284
- id: journal.id,
285
- date: journal.date,
286
- description: journal.description,
287
- businessRate: journal.businessRate,
288
- lines: (journal.lines ?? []).map((line) => ({
289
- id: line.id,
290
- side: line.side,
291
- bookAccountId: line.bookAccountId,
292
- amount: line.amount,
293
- partnerName: line.partnerName,
294
- taxCategoryId: line.taxCategoryId,
295
- businessCategoryId: line.businessCategoryId,
296
- })),
297
- })),
298
- },
299
- };
300
- }
301
- export function applyFiscalPeriodUpdate(current, patched) {
302
- return current.map((period) => {
303
- return period.id === patched.id ? mapRemoteFiscalPeriod(patched) : period;
304
- });
305
- }
306
366
  const DEFAULT_IMPORT_MASTER = {
307
367
  accounts: DEFAULT_BOOK_ACCOUNTS,
308
368
  taxes: DEFAULT_TAX_CATEGORIES,
@@ -311,4 +371,13 @@ const DEFAULT_IMPORT_MASTER = {
311
371
  function entryRecordToImportInput(record) {
312
372
  return entryRecordToImportPayload(record, DEFAULT_IMPORT_MASTER);
313
373
  }
374
+ function fiscalPeriodCleanupError(fiscalPeriodId, originalError, cleanupError) {
375
+ return new AppError({
376
+ messageForDeveloper: `fiscal period initialization and cleanup failed: ${fiscalPeriodId}; original=${String(originalError)}; cleanup=${String(cleanupError)}`,
377
+ messageForUser: "会計期間の初期化に失敗し、作成途中の期間も自動削除できませんでした。期間一覧を再読込して不要な期間を確認してください",
378
+ originalMessage: String(originalError),
379
+ statusCode: null,
380
+ code: null,
381
+ });
382
+ }
314
383
  //# sourceMappingURL=openkk-app-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openkk-app-state.js","sourceRoot":"","sources":["../../src/shared/openkk-app-state.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openkk-app-state.js","sourceRoot":"","sources":["../../src/shared/openkk-app-state.tsx"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export declare function OpenkkConfigProvider(props: {
5
5
  children: ReactNode;
6
6
  }): import("react").JSX.Element;
7
7
  export declare function useOpenkkConfig(): OpenkkConfig;
8
+ export declare function useOpenkkToday(): Date;
8
9
  //# sourceMappingURL=openkk-config-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openkk-config-context.d.ts","sourceRoot":"","sources":["../../src/shared/openkk-config-context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAI9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAMA;AAED,wBAAgB,eAAe,IAAI,YAAY,CAY9C"}
1
+ {"version":3,"file":"openkk-config-context.d.ts","sourceRoot":"","sources":["../../src/shared/openkk-config-context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAK9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAgCA;AAED,wBAAgB,eAAe,IAAI,YAAY,CAa9C;AAED,wBAAgB,cAAc,IAAI,IAAI,CAarC"}