@actual-app/api 25.3.0 → 25.4.0-alpha.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.
Files changed (121) hide show
  1. package/@types/app/bundle.api.d.ts +1 -5
  2. package/@types/loot-core/client/accounts/accountsSlice.d.ts +175 -0
  3. package/@types/loot-core/client/app/appSlice.d.ts +175 -0
  4. package/@types/loot-core/client/budgets/budgetsSlice.d.ts +405 -0
  5. package/@types/loot-core/client/modals/modalsSlice.d.ts +490 -0
  6. package/@types/loot-core/client/notifications/notificationsSlice.d.ts +47 -0
  7. package/@types/loot-core/client/platform.d.ts +1 -0
  8. package/@types/loot-core/client/prefs/prefsSlice.d.ts +178 -0
  9. package/@types/loot-core/client/queries/queriesSlice.d.ts +692 -0
  10. package/@types/loot-core/client/redux.d.ts +18546 -0
  11. package/@types/loot-core/client/store/index.d.ts +133 -0
  12. package/@types/loot-core/client/users/usersSlice.d.ts +105 -0
  13. package/@types/loot-core/mocks/index.d.ts +5 -2
  14. package/@types/loot-core/platform/client/fetch/index.d.ts +1 -10
  15. package/@types/loot-core/platform/client/undo/index.d.ts +19 -31
  16. package/@types/loot-core/platform/exceptions/index.d.ts +2 -5
  17. package/@types/loot-core/platform/server/asyncStorage/index.d.ts +5 -5
  18. package/@types/loot-core/platform/server/connection/index.d.ts +0 -3
  19. package/@types/loot-core/platform/server/fetch/index.d.ts +1 -4
  20. package/@types/loot-core/platform/server/indexeddb/index.d.ts +15 -24
  21. package/@types/loot-core/platform/server/log/index.d.ts +4 -6
  22. package/@types/loot-core/server/accounts/app.d.ts +19 -5
  23. package/@types/loot-core/server/accounts/link.d.ts +6 -1
  24. package/@types/loot-core/server/admin/app.d.ts +54 -1
  25. package/@types/loot-core/server/api-models.d.ts +24 -32
  26. package/@types/loot-core/server/aql/exec.d.ts +1 -1
  27. package/@types/loot-core/server/aql/schema/executors.d.ts +2 -0
  28. package/@types/loot-core/server/aql/schema/index.d.ts +9 -0
  29. package/@types/loot-core/server/auth/app.d.ts +142 -0
  30. package/@types/loot-core/server/budget/actions.d.ts +6 -5
  31. package/@types/loot-core/server/budget/app.d.ts +103 -2
  32. package/@types/loot-core/server/budget/base.d.ts +1 -1
  33. package/@types/loot-core/server/budget/cleanup-template.d.ts +1 -1
  34. package/@types/loot-core/server/budget/goaltemplates.d.ts +1 -1
  35. package/@types/loot-core/server/budget/statements.d.ts +2 -2
  36. package/@types/loot-core/server/budget/template-notes.d.ts +1 -1
  37. package/@types/loot-core/server/budget/types/templates.d.ts +2 -1
  38. package/@types/loot-core/server/budgetfiles/app.d.ts +139 -0
  39. package/@types/loot-core/server/cloud-storage.d.ts +3 -3
  40. package/@types/loot-core/server/dashboard/app.d.ts +35 -1
  41. package/@types/loot-core/server/db/index.d.ts +38 -31
  42. package/@types/loot-core/server/db/sort.d.ts +1 -1
  43. package/@types/loot-core/server/encryption/app.d.ts +40 -0
  44. package/@types/loot-core/server/{encryption-internals.d.ts → encryption/encryption-internals.d.ts} +5 -5
  45. package/@types/loot-core/server/{encryption.d.ts → encryption/index.d.ts} +3 -3
  46. package/@types/loot-core/server/errors.d.ts +4 -0
  47. package/@types/loot-core/server/filters/app.d.ts +10 -1
  48. package/@types/loot-core/server/importers/index.d.ts +1 -2
  49. package/@types/loot-core/server/main-app.d.ts +1 -1
  50. package/@types/loot-core/server/models.d.ts +24 -23
  51. package/@types/loot-core/server/notes/app.d.ts +6 -1
  52. package/@types/loot-core/server/payees/app.d.ts +48 -0
  53. package/@types/loot-core/server/preferences/app.d.ts +1 -10
  54. package/@types/loot-core/server/reports/app.d.ts +9 -1
  55. package/@types/loot-core/server/rules/app.d.ts +50 -1
  56. package/@types/loot-core/server/schedules/app.d.ts +25 -2
  57. package/@types/loot-core/server/schedules/find-schedules.d.ts +1 -1
  58. package/@types/loot-core/server/server-config.d.ts +1 -0
  59. package/@types/loot-core/server/sheet.d.ts +1 -1
  60. package/@types/loot-core/server/spreadsheet/app.d.ts +38 -0
  61. package/@types/loot-core/server/spreadsheet/graph-data-structure.d.ts +4 -4
  62. package/@types/loot-core/server/spreadsheet/spreadsheet.d.ts +12 -4
  63. package/@types/loot-core/server/sync/app.d.ts +38 -0
  64. package/@types/loot-core/server/sync/make-test-message.d.ts +1 -1
  65. package/@types/loot-core/server/tools/app.d.ts +13 -1
  66. package/@types/loot-core/server/transactions/app.d.ts +1 -1
  67. package/@types/loot-core/server/transactions/import/parse-file.d.ts +1 -0
  68. package/@types/loot-core/server/transactions/transaction-rules.d.ts +5 -4
  69. package/@types/loot-core/server/undo.d.ts +1 -1
  70. package/@types/loot-core/shared/async.d.ts +4 -3
  71. package/@types/loot-core/shared/errors.d.ts +4 -4
  72. package/@types/loot-core/shared/locale.d.ts +1 -0
  73. package/@types/loot-core/shared/months.d.ts +2 -2
  74. package/@types/loot-core/shared/schedules.d.ts +5 -3
  75. package/@types/loot-core/shared/util.d.ts +4 -1
  76. package/@types/loot-core/types/handlers.d.ts +22 -10
  77. package/@types/loot-core/types/models/account.d.ts +2 -1
  78. package/@types/loot-core/types/models/bank-sync.d.ts +1 -1
  79. package/@types/loot-core/types/models/category-group.d.ts +2 -6
  80. package/@types/loot-core/types/models/category.d.ts +1 -1
  81. package/@types/loot-core/types/models/index.d.ts +5 -1
  82. package/@types/loot-core/types/models/openid.d.ts +2 -1
  83. package/@types/loot-core/types/models/payee.d.ts +2 -2
  84. package/@types/loot-core/types/models/pluggyai.d.ts +18 -0
  85. package/@types/loot-core/types/models/user-access.d.ts +10 -0
  86. package/@types/loot-core/types/models/user.d.ts +17 -18
  87. package/@types/loot-core/types/prefs.d.ts +9 -1
  88. package/@types/loot-core/types/server-events.d.ts +1 -1
  89. package/@types/loot-core/types/server-handlers.d.ts +2 -276
  90. package/@types/loot-core/types/util.d.ts +7 -0
  91. package/dist/app/bundle.api.js +17509 -67076
  92. package/dist/index.js +17 -7
  93. package/dist/jest.config.js +0 -2
  94. package/dist/methods.js +17 -7
  95. package/dist/migrations/1740506588539_add_last_reconciled_at.sql +5 -0
  96. package/dist/package.json +8 -8
  97. package/dist/validateNodeVersion.js +17 -7
  98. package/package.json +8 -8
  99. package/@types/loot-core/client/constants.d.ts +0 -21
  100. package/@types/loot-core/client/state-types/budgets.d.ts +0 -36
  101. package/@types/loot-core/client/state-types/index.d.ts +0 -27
  102. package/@types/loot-core/client/state-types/modals.d.ts +0 -392
  103. package/@types/loot-core/client/state-types/notifications.d.ts +0 -57
  104. package/@types/loot-core/client/state-types/prefs.d.ts +0 -40
  105. package/@types/loot-core/client/state-types/user.d.ts +0 -13
  106. package/@types/loot-core/server/admin/types/handlers.d.ts +0 -43
  107. package/@types/loot-core/server/budget/types/handlers.d.ts +0 -91
  108. package/@types/loot-core/server/dashboard/types/handlers.d.ts +0 -24
  109. package/@types/loot-core/server/encryption-internals.web.d.ts +0 -23
  110. package/@types/loot-core/server/encryption.test.d.ts +0 -1
  111. package/@types/loot-core/server/filters/types/handlers.d.ts +0 -7
  112. package/@types/loot-core/server/notes/types/handlers.d.ts +0 -3
  113. package/@types/loot-core/server/reports/types/handlers.d.ts +0 -6
  114. package/@types/loot-core/server/rules/types/handlers.d.ts +0 -40
  115. package/@types/loot-core/server/schedules/types/handlers.d.ts +0 -31
  116. package/@types/loot-core/server/tools/types/handlers.d.ts +0 -11
  117. package/@types/loot-core/types/models/userAccess.d.ts +0 -9
  118. package/@types/methods.test.d.ts +0 -1
  119. package/dist/methods.test.js +0 -541
  120. /package/@types/loot-core/server/{backups.test.d.ts → api.test.d.ts} +0 -0
  121. /package/@types/loot-core/server/{backups.d.ts → budgetfiles/backups.d.ts} +0 -0
@@ -0,0 +1,133 @@
1
+ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
2
+ account: {
3
+ failedAccounts: {
4
+ [key: import("../../types/models").AccountEntity["id"]]: {
5
+ type: string;
6
+ code: string;
7
+ };
8
+ };
9
+ accountsSyncing: Array<import("../../types/models").AccountEntity["id"]>;
10
+ };
11
+ app: {
12
+ loadingText: string | null;
13
+ updateInfo: {
14
+ version: string;
15
+ releaseDate: string;
16
+ releaseNotes: string;
17
+ } | null;
18
+ showUpdateNotification: boolean;
19
+ managerHasInitialized: boolean;
20
+ };
21
+ budgets: {
22
+ budgets: import("../../types/budget").Budget[];
23
+ remoteFiles: import("../../server/cloud-storage").RemoteFile[] | null;
24
+ allFiles: import("../../types/file").File[] | null;
25
+ };
26
+ modals: {
27
+ modalStack: import("../modals/modalsSlice").Modal[];
28
+ isHidden: boolean;
29
+ };
30
+ notifications: {
31
+ notifications: import("../notifications/notificationsSlice").NotificationWithId[];
32
+ inset?: {
33
+ bottom?: number;
34
+ top?: number;
35
+ right?: number;
36
+ left?: number;
37
+ };
38
+ };
39
+ prefs: {
40
+ local: import("../../types/prefs").MetadataPrefs;
41
+ global: import("../../types/prefs").GlobalPrefs;
42
+ synced: import("../../types/prefs").SyncedPrefs;
43
+ };
44
+ queries: {
45
+ newTransactions: Array<import("../../types/models").TransactionEntity["id"]>;
46
+ matchedTransactions: Array<import("../../types/models").TransactionEntity["id"]>;
47
+ lastTransaction: import("../../types/models").TransactionEntity | null;
48
+ updatedAccounts: Array<import("../../types/models").AccountEntity["id"]>;
49
+ accounts: import("../../types/models").AccountEntity[];
50
+ accountsLoaded: boolean;
51
+ categories: {
52
+ grouped: import("../../types/models").CategoryGroupEntity[];
53
+ list: import("../../types/models").CategoryEntity[];
54
+ };
55
+ categoriesLoaded: boolean;
56
+ commonPayeesLoaded: boolean;
57
+ commonPayees: import("../../types/models").PayeeEntity[];
58
+ payees: import("../../types/models").PayeeEntity[];
59
+ payeesLoaded: boolean;
60
+ };
61
+ user: {
62
+ data: Awaited<ReturnType<import("../../types/handlers").Handlers["subscribe-get-user"]>>;
63
+ };
64
+ }, import("redux").UnknownAction, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
65
+ dispatch: ((action: import("redux").Action<"listenerMiddleware/add">) => import("@reduxjs/toolkit").UnsubscribeListener) & import("redux-thunk").ThunkDispatch<{
66
+ account: {
67
+ failedAccounts: {
68
+ [key: import("../../types/models").AccountEntity["id"]]: {
69
+ type: string;
70
+ code: string;
71
+ };
72
+ };
73
+ accountsSyncing: Array<import("../../types/models").AccountEntity["id"]>;
74
+ };
75
+ app: {
76
+ loadingText: string | null;
77
+ updateInfo: {
78
+ version: string;
79
+ releaseDate: string;
80
+ releaseNotes: string;
81
+ } | null;
82
+ showUpdateNotification: boolean;
83
+ managerHasInitialized: boolean;
84
+ };
85
+ budgets: {
86
+ budgets: import("../../types/budget").Budget[];
87
+ remoteFiles: import("../../server/cloud-storage").RemoteFile[] | null;
88
+ allFiles: import("../../types/file").File[] | null;
89
+ };
90
+ modals: {
91
+ modalStack: import("../modals/modalsSlice").Modal[];
92
+ isHidden: boolean;
93
+ };
94
+ notifications: {
95
+ notifications: import("../notifications/notificationsSlice").NotificationWithId[];
96
+ inset?: {
97
+ bottom?: number;
98
+ top?: number;
99
+ right?: number;
100
+ left?: number;
101
+ };
102
+ };
103
+ prefs: {
104
+ local: import("../../types/prefs").MetadataPrefs;
105
+ global: import("../../types/prefs").GlobalPrefs;
106
+ synced: import("../../types/prefs").SyncedPrefs;
107
+ };
108
+ queries: {
109
+ newTransactions: Array<import("../../types/models").TransactionEntity["id"]>;
110
+ matchedTransactions: Array<import("../../types/models").TransactionEntity["id"]>;
111
+ lastTransaction: import("../../types/models").TransactionEntity | null;
112
+ updatedAccounts: Array<import("../../types/models").AccountEntity["id"]>;
113
+ accounts: import("../../types/models").AccountEntity[];
114
+ accountsLoaded: boolean;
115
+ categories: {
116
+ grouped: import("../../types/models").CategoryGroupEntity[];
117
+ list: import("../../types/models").CategoryEntity[];
118
+ };
119
+ categoriesLoaded: boolean;
120
+ commonPayeesLoaded: boolean;
121
+ commonPayees: import("../../types/models").PayeeEntity[];
122
+ payees: import("../../types/models").PayeeEntity[];
123
+ payeesLoaded: boolean;
124
+ };
125
+ user: {
126
+ data: Awaited<ReturnType<import("../../types/handlers").Handlers["subscribe-get-user"]>>;
127
+ };
128
+ }, undefined, import("redux").UnknownAction>;
129
+ }>, import("redux").StoreEnhancer]>>;
130
+ export type AppStore = typeof store;
131
+ export type RootState = ReturnType<typeof store.getState>;
132
+ export type AppDispatch = typeof store.dispatch;
133
+ export type GetRootState = typeof store.getState;
@@ -0,0 +1,105 @@
1
+ import { type Handlers } from '../../types/handlers';
2
+ export declare const getUserData: import("@reduxjs/toolkit").AsyncThunk<{
3
+ offline: boolean;
4
+ userName?: undefined;
5
+ permission?: undefined;
6
+ userId?: undefined;
7
+ displayName?: undefined;
8
+ loginMethod?: undefined;
9
+ tokenExpired?: undefined;
10
+ } | {
11
+ offline: boolean;
12
+ userName: any;
13
+ permission: any;
14
+ userId: any;
15
+ displayName: any;
16
+ loginMethod: any;
17
+ tokenExpired: boolean;
18
+ }, void, {
19
+ state: import("../store").RootState;
20
+ dispatch: import("../store").AppDispatch;
21
+ extra?: unknown;
22
+ rejectValue?: unknown;
23
+ serializedErrorType?: unknown;
24
+ pendingMeta?: unknown;
25
+ fulfilledMeta?: unknown;
26
+ rejectedMeta?: unknown;
27
+ }>;
28
+ export declare const loggedIn: import("@reduxjs/toolkit").AsyncThunk<void, void, {
29
+ state: import("../store").RootState;
30
+ dispatch: import("../store").AppDispatch;
31
+ extra?: unknown;
32
+ rejectValue?: unknown;
33
+ serializedErrorType?: unknown;
34
+ pendingMeta?: unknown;
35
+ fulfilledMeta?: unknown;
36
+ rejectedMeta?: unknown;
37
+ }>;
38
+ export declare const signOut: import("@reduxjs/toolkit").AsyncThunk<void, void, {
39
+ state: import("../store").RootState;
40
+ dispatch: import("../store").AppDispatch;
41
+ extra?: unknown;
42
+ rejectValue?: unknown;
43
+ serializedErrorType?: unknown;
44
+ pendingMeta?: unknown;
45
+ fulfilledMeta?: unknown;
46
+ rejectedMeta?: unknown;
47
+ }>;
48
+ type UsersState = {
49
+ data: Awaited<ReturnType<Handlers['subscribe-get-user']>>;
50
+ };
51
+ type GetUserDataPayload = {
52
+ data: UsersState['data'];
53
+ };
54
+ export declare const name: "user", reducer: import("redux").Reducer<UsersState>, getInitialState: () => UsersState;
55
+ export declare const actions: {
56
+ getUserData: import("@reduxjs/toolkit").AsyncThunk<{
57
+ offline: boolean;
58
+ userName?: undefined;
59
+ permission?: undefined;
60
+ userId?: undefined;
61
+ displayName?: undefined;
62
+ loginMethod?: undefined;
63
+ tokenExpired?: undefined;
64
+ } | {
65
+ offline: boolean;
66
+ userName: any;
67
+ permission: any;
68
+ userId: any;
69
+ displayName: any;
70
+ loginMethod: any;
71
+ tokenExpired: boolean;
72
+ }, void, {
73
+ state: import("../store").RootState;
74
+ dispatch: import("../store").AppDispatch;
75
+ extra?: unknown;
76
+ rejectValue?: unknown;
77
+ serializedErrorType?: unknown;
78
+ pendingMeta?: unknown;
79
+ fulfilledMeta?: unknown;
80
+ rejectedMeta?: unknown;
81
+ }>;
82
+ loggedIn: import("@reduxjs/toolkit").AsyncThunk<void, void, {
83
+ state: import("../store").RootState;
84
+ dispatch: import("../store").AppDispatch;
85
+ extra?: unknown;
86
+ rejectValue?: unknown;
87
+ serializedErrorType?: unknown;
88
+ pendingMeta?: unknown;
89
+ fulfilledMeta?: unknown;
90
+ rejectedMeta?: unknown;
91
+ }>;
92
+ signOut: import("@reduxjs/toolkit").AsyncThunk<void, void, {
93
+ state: import("../store").RootState;
94
+ dispatch: import("../store").AppDispatch;
95
+ extra?: unknown;
96
+ rejectValue?: unknown;
97
+ serializedErrorType?: unknown;
98
+ pendingMeta?: unknown;
99
+ fulfilledMeta?: unknown;
100
+ rejectedMeta?: unknown;
101
+ }>;
102
+ loadUserData: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<GetUserDataPayload, "user/loadUserData">;
103
+ };
104
+ export declare const loadUserData: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<GetUserDataPayload, "user/loadUserData">;
105
+ export {};
@@ -1,7 +1,10 @@
1
- import type { AccountEntity, CategoryEntity, CategoryGroupEntity, NewCategoryGroupEntity, TransactionEntity } from '../types/models';
1
+ import type { AccountEntity, CategoryEntity, CategoryGroupEntity, TransactionEntity } from '../types/models';
2
2
  export declare function generateAccount(name: AccountEntity['name'], isConnected?: boolean, offbudget?: boolean): AccountEntity;
3
3
  export declare function generateCategory(name: string, group: string, isIncome?: boolean): CategoryEntity;
4
4
  export declare function generateCategoryGroup(name: string, isIncome?: boolean): CategoryGroupEntity;
5
- export declare function generateCategoryGroups(definition: Partial<NewCategoryGroupEntity>[]): CategoryGroupEntity[];
5
+ export type CategoryGroupDefinition = Omit<CategoryGroupEntity, 'id' | 'categories'> & {
6
+ categories: Omit<CategoryEntity, 'id' | 'group'>[];
7
+ };
8
+ export declare function generateCategoryGroups(definition: Partial<CategoryGroupDefinition>[]): CategoryGroupEntity[];
6
9
  export declare function generateTransaction(data: Partial<TransactionEntity> & Pick<TransactionEntity, 'account'>, splitAmount?: number, showError?: boolean): TransactionEntity[];
7
10
  export declare function generateTransactions(count: number, accountId: string, groupId: string, splitAtIndexes?: number[], showError?: boolean): TransactionEntity[];
@@ -1,5 +1,4 @@
1
1
  import type { Handlers } from '../../../types/handlers';
2
- import type { CategoryGroupEntity } from '../../../types/models';
3
2
  import type { ServerEvents } from '../../../types/server-events';
4
3
 
5
4
  export function init(socketName: string): Promise<unknown>;
@@ -45,15 +44,7 @@ export function unlisten(name: string): void;
45
44
  export type Unlisten = typeof unlisten;
46
45
 
47
46
  /** Mock functions */
48
- export function initServer(handlers: {
49
- query: (query: { table: string; selectExpressions: unknown }) => Promise<{
50
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
- data: any;
52
- dependencies: string[];
53
- }>;
54
- getCell?: () => { value: number };
55
- 'get-categories'?: () => { grouped: CategoryGroupEntity[] };
56
- }): void;
47
+ export function initServer(handlers: Partial<Handlers>): void;
57
48
  export type InitServer = typeof initServer;
58
49
 
59
50
  export function serverPush(name: string, args: unknown): void;
@@ -1,33 +1,21 @@
1
- import { OptionlessModal } from '../../../client/state-types/modals';
1
+ import { v4 as uuidv4 } from 'uuid';
2
+ import { Modal } from '../../../client/modals/modalsSlice';
2
3
  import { UndoState as ServerUndoState } from '../../../server/undo';
3
-
4
- export type UndoState = {
5
- url: string | null;
6
- // Right now, only the payees page uses this. It's only being set to
7
- // `manage-rules` which is an optionless modal. Do we want to also
8
- // support modals with options?
9
- openModal: OptionlessModal | null;
10
- selectedItems: {
11
- name: string;
12
- items: Set<string>;
13
- } | null;
14
- undoEvent: ServerUndoState | null;
4
+ type UndoState = {
5
+ url: string | null;
6
+ openModal: Modal | null;
7
+ selectedItems: {
8
+ name: string;
9
+ items: Set<string>;
10
+ } | null;
11
+ undoEvent: ServerUndoState | null;
15
12
  };
16
-
17
- export function setUndoState<K extends keyof Omit<UndoState, 'id'>>(
18
- name: K,
19
- value: UndoState[K],
20
- ): void;
21
- export type SetUndoState = typeof setUndoState;
22
-
23
- export function getUndoState<K extends keyof UndoState>(name: K): UndoState[K];
24
- export type GetUndoState = typeof getUndoState;
25
-
26
- export function getTaggedState(id: string): UndoState | undefined;
27
- export type GetTaggedState = typeof getTaggedState;
28
-
29
- export function snapshot(): string;
30
- export type Snapshot = typeof snapshot;
31
-
32
- export function gc(id: string): void;
33
- export type Gc = typeof gc;
13
+ type UndoStateWithId = UndoState & {
14
+ id?: ReturnType<typeof uuidv4>;
15
+ };
16
+ export declare const setUndoState: <K extends keyof Omit<UndoState, "id">>(name: K, value: UndoState[K]) => void;
17
+ export declare const getUndoState: <K extends keyof UndoState>(name: K) => UndoStateWithId[K];
18
+ export declare const getTaggedState: (id: string) => UndoStateWithId;
19
+ export declare const snapshot: () => string;
20
+ export declare const gc: (id: string) => void;
21
+ export {};
@@ -1,5 +1,2 @@
1
- export function captureException(exc: Error): void;
2
- export type CaptureException = typeof captureException;
3
-
4
- export function captureBreadcrumb(breadcrumb: unknown): void;
5
- export type CaptureBreadcrumb = typeof captureBreadcrumb;
1
+ export declare const captureException: (exc: Error) => void;
2
+ export declare const captureBreadcrumb: (crumb: unknown) => void;
@@ -13,22 +13,22 @@ export type GetItem = typeof getItem;
13
13
  export function setItem<K extends keyof GlobalPrefsJson>(
14
14
  key: K,
15
15
  value: GlobalPrefsJson[K],
16
- ): void;
16
+ ): Promise<void>;
17
17
  export type SetItem = typeof setItem;
18
18
 
19
- export function removeItem(key: keyof GlobalPrefsJson): void;
19
+ export function removeItem(key: keyof GlobalPrefsJson): Promise<void>;
20
20
  export type RemoveItem = typeof removeItem;
21
21
 
22
- export async function multiGet<K extends readonly (keyof GlobalPrefsJson)[]>(
22
+ export function multiGet<K extends readonly (keyof GlobalPrefsJson)[]>(
23
23
  keys: K,
24
24
  ): Promise<{ [P in keyof K]: [K[P], GlobalPrefsJson[K[P]]] }>;
25
25
  export type MultiGet = typeof multiGet;
26
26
 
27
27
  export function multiSet<K extends keyof GlobalPrefsJson>(
28
28
  keyValues: Array<[K, GlobalPrefsJson[K]]>,
29
- ): void;
29
+ ): Promise<void>;
30
30
 
31
31
  export type MultiSet = typeof multiSet;
32
32
 
33
- export function multiRemove(keys: (keyof GlobalPrefsJson)[]): void;
33
+ export function multiRemove(keys: (keyof GlobalPrefsJson)[]): Promise<void>;
34
34
  export type MultiRemove = typeof multiRemove;
@@ -13,9 +13,6 @@ export function send<K extends keyof ServerEvents>(
13
13
  ): void;
14
14
  export type Send = typeof send;
15
15
 
16
- export function getEvents(): unknown[];
17
- export type GetEvents = typeof getEvents;
18
-
19
16
  export function getNumClients(): number;
20
17
  export type GetNumClients = typeof getNumClients;
21
18
 
@@ -1,4 +1 @@
1
- export function fetch(
2
- input: RequestInfo | URL,
3
- options?: unknown,
4
- ): Promise<Response>;
1
+ export declare const fetch: (input: RequestInfo | URL, options?: RequestInit) => Promise<Response>;
@@ -1,24 +1,15 @@
1
- export function getDatabase();
2
- export type GetDatabase = typeof getDatabase;
3
-
4
- export function openDatabase();
5
- export type OpenDatabase = typeof openDatabase;
6
-
7
- export function closeDatabase();
8
- export type CloseDatabase = typeof closeDatabase;
9
-
10
- export function getStore(db: IDBDatabase, name: string);
11
- export type GetStore = typeof getStore;
12
-
13
- export function get(
14
- store: IDBObjectStore,
15
- key: IDBValidKey | IDBKeyRange,
16
- mapper?: (v: unknown) => unknown,
17
- );
18
- export type Get = typeof get;
19
-
20
- export function set(store: IDBObjectStore, value: unknown);
21
- export type Set = typeof set;
22
-
23
- export function del(store: IDBObjectStore, key: IDBValidKey);
24
- export type Del = typeof del;
1
+ type Data = {
2
+ filepath: string;
3
+ contents: string;
4
+ };
5
+ export declare const getStore: (db: IDBDatabase, name: string) => {
6
+ trans: IDBTransaction;
7
+ store: IDBObjectStore;
8
+ };
9
+ export declare const get: (store: IDBObjectStore, key: IDBValidKey | IDBKeyRange) => Promise<Data>;
10
+ export declare const set: (store: IDBObjectStore, item: Data) => Promise<unknown>;
11
+ export declare const del: (store: IDBObjectStore, key: string) => Promise<unknown>;
12
+ export declare const getDatabase: () => Promise<IDBDatabase>;
13
+ export declare const openDatabase: () => Promise<IDBDatabase>;
14
+ export declare const closeDatabase: () => void;
15
+ export {};
@@ -1,6 +1,4 @@
1
- export interface Logger {
2
- info(...args: unknown[]): void;
3
- warn(...args: unknown[]): void;
4
- }
5
-
6
- export const logger: Logger;
1
+ export declare const logger: {
2
+ info: (...args: unknown[]) => void;
3
+ warn: (...args: unknown[]) => void;
4
+ };
@@ -1,4 +1,5 @@
1
- import { AccountEntity, CategoryEntity, SyncServerGoCardlessAccount, TransactionEntity, SyncServerSimpleFinAccount } from '../../types/models';
1
+ import { AccountEntity, CategoryEntity, SyncServerGoCardlessAccount, TransactionEntity, SyncServerSimpleFinAccount, SyncServerPluggyAiAccount } from '../../types/models';
2
+ import * as db from '../db';
2
3
  import * as bankSync from './sync';
3
4
  export type AccountHandlers = {
4
5
  'account-update': typeof updateAccount;
@@ -7,6 +8,7 @@ export type AccountHandlers = {
7
8
  'account-properties': typeof getAccountProperties;
8
9
  'gocardless-accounts-link': typeof linkGoCardlessAccount;
9
10
  'simplefin-accounts-link': typeof linkSimpleFinAccount;
11
+ 'pluggyai-accounts-link': typeof linkPluggyAiAccount;
10
12
  'account-create': typeof createAccount;
11
13
  'account-close': typeof closeAccount;
12
14
  'account-reopen': typeof reopenAccount;
@@ -17,7 +19,9 @@ export type AccountHandlers = {
17
19
  'gocardless-poll-web-token-stop': typeof stopGoCardlessWebTokenPolling;
18
20
  'gocardless-status': typeof goCardlessStatus;
19
21
  'simplefin-status': typeof simpleFinStatus;
22
+ 'pluggyai-status': typeof pluggyAiStatus;
20
23
  'simplefin-accounts': typeof simpleFinAccounts;
24
+ 'pluggyai-accounts': typeof pluggyAiAccounts;
21
25
  'gocardless-get-banks': typeof getGoCardlessBanks;
22
26
  'gocardless-create-web-token': typeof createGoCardlessWebToken;
23
27
  'accounts-bank-sync': typeof accountsBankSync;
@@ -25,8 +29,11 @@ export type AccountHandlers = {
25
29
  'transactions-import': typeof importTransactions;
26
30
  'account-unlink': typeof unlinkAccount;
27
31
  };
28
- declare function updateAccount({ id, name }: Pick<AccountEntity, 'id' | 'name'>): Promise<{}>;
29
- declare function getAccounts(): Promise<any[]>;
32
+ declare function updateAccount({ id, name, last_reconciled, }: Pick<AccountEntity, 'id' | 'name'> & Partial<Pick<AccountEntity, 'last_reconciled'>>): Promise<{}>;
33
+ declare function getAccounts(): Promise<(db.DbAccount & {
34
+ bankName: db.DbBank["name"];
35
+ bankId: db.DbBank["id"];
36
+ })[]>;
30
37
  declare function getAccountBalance({ id, cutoff, }: {
31
38
  id: string;
32
39
  cutoff: string | Date;
@@ -48,6 +55,11 @@ declare function linkSimpleFinAccount({ externalAccount, upgradingId, offBudget,
48
55
  upgradingId?: AccountEntity['id'] | undefined;
49
56
  offBudget?: boolean | undefined;
50
57
  }): Promise<string>;
58
+ declare function linkPluggyAiAccount({ externalAccount, upgradingId, offBudget, }: {
59
+ externalAccount: SyncServerPluggyAiAccount;
60
+ upgradingId?: AccountEntity['id'] | undefined;
61
+ offBudget?: boolean | undefined;
62
+ }): Promise<string>;
51
63
  declare function createAccount({ name, balance, offBudget, closed, }: {
52
64
  name: string;
53
65
  balance?: number | undefined;
@@ -65,7 +77,7 @@ declare function reopenAccount({ id }: {
65
77
  }): Promise<void>;
66
78
  declare function moveAccount({ id, targetId, }: {
67
79
  id: AccountEntity['id'];
68
- targetId: AccountEntity['id'];
80
+ targetId: AccountEntity['id'] | null;
69
81
  }): Promise<void>;
70
82
  declare function setSecret({ name, value, }: {
71
83
  name: string;
@@ -80,7 +92,9 @@ declare function pollGoCardlessWebToken({ requisitionId, }: {
80
92
  declare function stopGoCardlessWebTokenPolling(): Promise<string>;
81
93
  declare function goCardlessStatus(): Promise<any>;
82
94
  declare function simpleFinStatus(): Promise<any>;
95
+ declare function pluggyAiStatus(): Promise<any>;
83
96
  declare function simpleFinAccounts(): Promise<any>;
97
+ declare function pluggyAiAccounts(): Promise<any>;
84
98
  declare function getGoCardlessBanks(country: string): Promise<any>;
85
99
  declare function createGoCardlessWebToken({ institutionId, accessValidForDays, }: {
86
100
  institutionId: string;
@@ -140,7 +154,7 @@ export declare const app: {
140
154
  handlers: AccountHandlers;
141
155
  services: (() => () => void)[];
142
156
  unlistenServices: (() => void)[];
143
- method<Name extends "account-update" | "accounts-get" | "account-balance" | "account-properties" | "gocardless-accounts-link" | "simplefin-accounts-link" | "account-create" | "account-close" | "account-reopen" | "account-move" | "secret-set" | "secret-check" | "gocardless-poll-web-token" | "gocardless-poll-web-token-stop" | "gocardless-status" | "simplefin-status" | "simplefin-accounts" | "gocardless-get-banks" | "gocardless-create-web-token" | "accounts-bank-sync" | "simplefin-batch-sync" | "transactions-import" | "account-unlink">(name: Name, func: AccountHandlers[Name]): void;
157
+ method<Name extends "account-update" | "accounts-get" | "account-balance" | "account-properties" | "gocardless-accounts-link" | "simplefin-accounts-link" | "pluggyai-accounts-link" | "account-create" | "account-close" | "account-reopen" | "account-move" | "secret-set" | "secret-check" | "gocardless-poll-web-token" | "gocardless-poll-web-token-stop" | "gocardless-status" | "simplefin-status" | "pluggyai-status" | "simplefin-accounts" | "pluggyai-accounts" | "gocardless-get-banks" | "gocardless-create-web-token" | "accounts-bank-sync" | "simplefin-batch-sync" | "transactions-import" | "account-unlink">(name: Name, func: AccountHandlers[Name]): void;
144
158
  service(func: () => () => void): void;
145
159
  combine(...apps: any[]): void;
146
160
  startServices(): void;
@@ -1 +1,6 @@
1
- export declare function findOrCreateBank(institution: any, requisitionId: any): Promise<any>;
1
+ import * as db from '../db';
2
+ export declare function findOrCreateBank(institution: any, requisitionId: any): Promise<Pick<db.DbBank, "id" | "bank_id"> | {
3
+ id: string;
4
+ bank_id: any;
5
+ name: any;
6
+ }>;
@@ -1,4 +1,15 @@
1
- import { AdminHandlers } from './types/handlers';
1
+ import { UserAvailable, UserEntity, NewUserAccessEntity } from '../../types/models';
2
+ export type AdminHandlers = {
3
+ 'users-get': typeof getUsers;
4
+ 'user-delete-all': typeof deleteAllUsers;
5
+ 'user-add': typeof addUser;
6
+ 'user-update': typeof updateUser;
7
+ 'access-add': typeof addAccess;
8
+ 'access-delete-all': typeof deleteAllAccess;
9
+ 'access-get-available-users': typeof accessGetAvailableUsers;
10
+ 'transfer-ownership': typeof transferOwnership;
11
+ 'owner-created': typeof ownerCreated;
12
+ };
2
13
  export declare const app: {
3
14
  events: import("mitt").Emitter<{
4
15
  sync: import("../../types/server-events").ServerEvents["sync-event"];
@@ -15,3 +26,45 @@ export declare const app: {
15
26
  startServices(): void;
16
27
  stopServices(): void;
17
28
  };
29
+ declare function getUsers(): Promise<UserEntity[] | {
30
+ error: string;
31
+ }>;
32
+ declare function deleteAllUsers(ids: Array<UserEntity['id']>): Promise<{
33
+ someDeletionsFailed: boolean;
34
+ ids?: number[];
35
+ } | {
36
+ error: string;
37
+ }>;
38
+ declare function addUser(user: Omit<UserEntity, 'id'>): Promise<{
39
+ error: string;
40
+ } | {
41
+ id: string;
42
+ }>;
43
+ declare function updateUser(user: Omit<UserEntity, 'id'>): Promise<{
44
+ error: string;
45
+ } | {
46
+ id: string;
47
+ }>;
48
+ declare function addAccess(access: NewUserAccessEntity): Promise<{
49
+ error?: string;
50
+ } | Record<string, never>>;
51
+ declare function deleteAllAccess({ fileId, ids, }: {
52
+ fileId: string;
53
+ ids: string[];
54
+ }): Promise<{
55
+ someDeletionsFailed: boolean;
56
+ ids?: number[];
57
+ } | {
58
+ error: unknown;
59
+ }>;
60
+ declare function accessGetAvailableUsers(fileId: string): Promise<UserAvailable[] | {
61
+ error: string;
62
+ }>;
63
+ declare function transferOwnership({ fileId, newUserId, }: {
64
+ fileId: string;
65
+ newUserId: string;
66
+ }): Promise<{
67
+ error?: string;
68
+ } | Record<string, never>>;
69
+ declare function ownerCreated(): Promise<boolean>;
70
+ export {};