@actual-app/api 26.2.0-nightly.20260113 → 26.2.0-nightly.20260115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/loot-core/src/server/aql/schema/index.d.ts +14 -0
- package/@types/loot-core/src/server/budgetfiles/app.d.ts +1 -3
- package/@types/loot-core/src/server/cloud-storage.d.ts +0 -1
- package/@types/loot-core/src/server/dashboard/app.d.ts +25 -4
- package/@types/loot-core/src/server/db/types/index.d.ts +6 -0
- package/@types/loot-core/src/server/main-app.d.ts +1 -1
- package/@types/loot-core/src/server/main.d.ts +19 -3
- package/@types/loot-core/src/types/models/dashboard.d.ts +8 -2
- package/@types/migrations/1765518577215_multiple_dashboards.d.ts +1 -0
- package/dist/app/bundle.api.js +1743 -892
- package/dist/index.js +1 -0
- package/dist/migrations/1765518577215_multiple_dashboards.js +29 -0
- package/dist/package.json +3 -3
- package/dist/utils.js +1 -0
- package/package.json +3 -3
|
@@ -383,10 +383,24 @@ export declare const schema: {
|
|
|
383
383
|
type: string;
|
|
384
384
|
};
|
|
385
385
|
};
|
|
386
|
+
dashboard_pages: {
|
|
387
|
+
id: {
|
|
388
|
+
type: string;
|
|
389
|
+
};
|
|
390
|
+
name: {
|
|
391
|
+
type: string;
|
|
392
|
+
};
|
|
393
|
+
tombstone: {
|
|
394
|
+
type: string;
|
|
395
|
+
};
|
|
396
|
+
};
|
|
386
397
|
dashboard: {
|
|
387
398
|
id: {
|
|
388
399
|
type: string;
|
|
389
400
|
};
|
|
401
|
+
dashboard_page_id: {
|
|
402
|
+
type: string;
|
|
403
|
+
};
|
|
390
404
|
type: {
|
|
391
405
|
type: string;
|
|
392
406
|
};
|
|
@@ -6,7 +6,6 @@ export type BudgetFileHandlers = {
|
|
|
6
6
|
'unique-budget-name': typeof handleUniqueBudgetName;
|
|
7
7
|
'get-budgets': typeof getBudgets;
|
|
8
8
|
'get-remote-files': typeof getRemoteFiles;
|
|
9
|
-
'get-user-file-info': typeof getUserFileInfo;
|
|
10
9
|
'reset-budget-cache': typeof resetBudgetCache;
|
|
11
10
|
'upload-budget': typeof uploadBudget;
|
|
12
11
|
'download-budget': typeof downloadBudget;
|
|
@@ -35,7 +34,7 @@ export declare const app: {
|
|
|
35
34
|
handlers: BudgetFileHandlers;
|
|
36
35
|
services: (() => () => void)[];
|
|
37
36
|
unlistenServices: (() => void)[];
|
|
38
|
-
method<Name extends "load-budget" | "validate-budget-name" | "unique-budget-name" | "get-budgets" | "get-remote-files" | "
|
|
37
|
+
method<Name extends "load-budget" | "validate-budget-name" | "unique-budget-name" | "get-budgets" | "get-remote-files" | "reset-budget-cache" | "upload-budget" | "download-budget" | "sync-budget" | "create-demo-budget" | "close-budget" | "delete-budget" | "duplicate-budget" | "create-budget" | "import-budget" | "export-budget" | "upload-file-web" | "backups-get" | "backup-load" | "backup-make" | "get-last-opened-backup">(name: Name, func: BudgetFileHandlers[Name]): void;
|
|
39
38
|
service(func: () => () => void): void;
|
|
40
39
|
combine(...apps: any[]): void;
|
|
41
40
|
startServices(): void;
|
|
@@ -52,7 +51,6 @@ declare function handleUniqueBudgetName({ name }: {
|
|
|
52
51
|
}): Promise<string>;
|
|
53
52
|
declare function getBudgets(): Promise<Budget[]>;
|
|
54
53
|
declare function getRemoteFiles(): Promise<cloudStorage.RemoteFile[]>;
|
|
55
|
-
declare function getUserFileInfo(fileId: string): Promise<cloudStorage.RemoteFile>;
|
|
56
54
|
declare function resetBudgetCache(): Promise<void>;
|
|
57
55
|
declare function uploadBudget({ id }?: {
|
|
58
56
|
id?: Budget['id'];
|
|
@@ -35,7 +35,6 @@ export declare function upload(): Promise<void>;
|
|
|
35
35
|
export declare function possiblyUpload(): Promise<void>;
|
|
36
36
|
export declare function removeFile(fileId: any): Promise<void>;
|
|
37
37
|
export declare function listRemoteFiles(): Promise<RemoteFile[]>;
|
|
38
|
-
export declare function getRemoteFile(fileId: string): Promise<RemoteFile | null>;
|
|
39
38
|
export declare function download(cloudFileId: any): Promise<{
|
|
40
39
|
id: any;
|
|
41
40
|
}>;
|
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
import { type Widget } from '../../types/models';
|
|
2
2
|
import { type EverythingButIdOptional } from '../../types/util';
|
|
3
|
+
declare function getDashboardPages(): Promise<unknown[]>;
|
|
4
|
+
declare function createDashboardPage({ name }: {
|
|
5
|
+
name: string;
|
|
6
|
+
}): Promise<string>;
|
|
7
|
+
declare function deleteDashboardPage(id: string): Promise<void>;
|
|
8
|
+
declare function renameDashboardPage({ id, name }: {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
}): Promise<void>;
|
|
3
12
|
declare function updateDashboard(widgets: EverythingButIdOptional<Omit<Widget, 'tombstone'>>[]): Promise<void>;
|
|
4
13
|
declare function updateDashboardWidget(widget: EverythingButIdOptional<Omit<Widget, 'tombstone'>>): Promise<void>;
|
|
5
|
-
declare function resetDashboard(): Promise<void>;
|
|
6
|
-
declare function addDashboardWidget(widget: Omit<Widget, 'id' | 'x' | 'y' | 'tombstone'> & Partial<Pick<Widget, 'x' | 'y'>>
|
|
14
|
+
declare function resetDashboard(id: string): Promise<void>;
|
|
15
|
+
declare function addDashboardWidget(widget: Omit<Widget, 'id' | 'x' | 'y' | 'tombstone'> & Partial<Pick<Widget, 'x' | 'y'>> & {
|
|
16
|
+
dashboard_page_id: string;
|
|
17
|
+
}): Promise<void>;
|
|
7
18
|
declare function removeDashboardWidget(widgetId: string): Promise<void>;
|
|
8
|
-
declare function
|
|
19
|
+
declare function copyDashboardWidget({ widgetId, targetDashboardPageId, }: {
|
|
20
|
+
widgetId: string;
|
|
21
|
+
targetDashboardPageId: string;
|
|
22
|
+
}): Promise<void>;
|
|
23
|
+
declare function importDashboard({ filepath, dashboardPageId, }: {
|
|
9
24
|
filepath: string;
|
|
25
|
+
dashboardPageId: string;
|
|
10
26
|
}): Promise<{
|
|
11
27
|
status: "ok";
|
|
12
28
|
error?: undefined;
|
|
@@ -25,11 +41,16 @@ declare function importDashboard({ filepath }: {
|
|
|
25
41
|
message?: undefined;
|
|
26
42
|
}>;
|
|
27
43
|
export type DashboardHandlers = {
|
|
44
|
+
'dashboard_pages-get': typeof getDashboardPages;
|
|
45
|
+
'dashboard-create': typeof createDashboardPage;
|
|
46
|
+
'dashboard-delete': typeof deleteDashboardPage;
|
|
47
|
+
'dashboard-rename': typeof renameDashboardPage;
|
|
28
48
|
'dashboard-update': typeof updateDashboard;
|
|
29
49
|
'dashboard-update-widget': typeof updateDashboardWidget;
|
|
30
50
|
'dashboard-reset': typeof resetDashboard;
|
|
31
51
|
'dashboard-add-widget': typeof addDashboardWidget;
|
|
32
52
|
'dashboard-remove-widget': typeof removeDashboardWidget;
|
|
53
|
+
'dashboard-copy-widget': typeof copyDashboardWidget;
|
|
33
54
|
'dashboard-import': typeof importDashboard;
|
|
34
55
|
};
|
|
35
56
|
export declare const app: {
|
|
@@ -42,7 +63,7 @@ export declare const app: {
|
|
|
42
63
|
handlers: DashboardHandlers;
|
|
43
64
|
services: (() => () => void)[];
|
|
44
65
|
unlistenServices: (() => void)[];
|
|
45
|
-
method<Name extends "dashboard-update" | "dashboard-update-widget" | "dashboard-reset" | "dashboard-add-widget" | "dashboard-remove-widget" | "dashboard-import">(name: Name, func: DashboardHandlers[Name]): void;
|
|
66
|
+
method<Name extends "dashboard_pages-get" | "dashboard-create" | "dashboard-delete" | "dashboard-rename" | "dashboard-update" | "dashboard-update-widget" | "dashboard-reset" | "dashboard-add-widget" | "dashboard-remove-widget" | "dashboard-copy-widget" | "dashboard-import">(name: Name, func: DashboardHandlers[Name]): void;
|
|
46
67
|
service(func: () => () => void): void;
|
|
47
68
|
combine(...apps: any[]): void;
|
|
48
69
|
startServices(): void;
|
|
@@ -193,8 +193,14 @@ export type DbCustomReport = {
|
|
|
193
193
|
sort_by: string;
|
|
194
194
|
tombstone: 1 | 0;
|
|
195
195
|
};
|
|
196
|
+
export type DbDashboardPage = {
|
|
197
|
+
id: string;
|
|
198
|
+
name: string;
|
|
199
|
+
tombstone: 1 | 0;
|
|
200
|
+
};
|
|
196
201
|
export type DbDashboard = {
|
|
197
202
|
id: string;
|
|
203
|
+
dashboard_page_id: string;
|
|
198
204
|
type: string;
|
|
199
205
|
width: number;
|
|
200
206
|
height: number;
|
|
@@ -9,7 +9,7 @@ export declare const app: {
|
|
|
9
9
|
handlers: Handlers;
|
|
10
10
|
services: (() => () => void)[];
|
|
11
11
|
unlistenServices: (() => void)[];
|
|
12
|
-
method<Name extends "sync" | "load-budget" | "undo" | "redo" | "make-filters-from-conditions" | "query" | "get-server-version" | "get-server-url" | "set-server-url" | "app-focused" | "api/batch-budget-start" | "api/batch-budget-end" | "api/load-budget" | "api/download-budget" | "api/get-budgets" | "api/start-import" | "api/finish-import" | "api/abort-import" | "api/query" | "api/budget-months" | "api/budget-month" | "api/budget-set-amount" | "api/budget-set-carryover" | "api/budget-hold-for-next-month" | "api/budget-reset-hold" | "api/transactions-export" | "api/transactions-import" | "api/transactions-add" | "api/transactions-get" | "api/transaction-update" | "api/transaction-delete" | "api/sync" | "api/bank-sync" | "api/accounts-get" | "api/account-create" | "api/account-update" | "api/account-close" | "api/account-reopen" | "api/account-delete" | "api/account-balance" | "api/categories-get" | "api/category-groups-get" | "api/category-group-create" | "api/category-group-update" | "api/category-group-delete" | "api/category-create" | "api/category-update" | "api/category-delete" | "api/payees-get" | "api/common-payees-get" | "api/payee-create" | "api/payee-update" | "api/payee-delete" | "api/payees-merge" | "api/rules-get" | "api/payee-rules-get" | "api/rule-create" | "api/rule-update" | "api/rule-delete" | "api/schedule-create" | "api/schedule-update" | "api/schedule-delete" | "api/schedules-get" | "api/get-id-by-name" | "api/get-server-version" | "budget/budget-amount" | "budget/copy-previous-month" | "budget/copy-single-month" | "budget/set-zero" | "budget/set-3month-avg" | "budget/set-6month-avg" | "budget/set-12month-avg" | "budget/set-n-month-avg" | "budget/check-templates" | "budget/apply-goal-template" | "budget/apply-multiple-templates" | "budget/overwrite-goal-template" | "budget/apply-single-template" | "budget/cleanup-goal-template" | "budget/hold-for-next-month" | "budget/reset-hold" | "budget/cover-overspending" | "budget/transfer-available" | "budget/cover-overbudgeted" | "budget/transfer-category" | "budget/set-carryover" | "budget/reset-income-carryover" | "get-categories" | "get-budget-bounds" | "envelope-budget-month" | "tracking-budget-month" | "category-create" | "category-update" | "category-move" | "category-delete" | "get-category-groups" | "category-group-create" | "category-group-update" | "category-group-move" | "category-group-delete" | "must-category-transfer" | "budget/get-category-automations" | "budget/set-category-automations" | "budget/store-note-templates" | "budget/render-note-templates" | "dashboard-update" | "dashboard-update-widget" | "dashboard-reset" | "dashboard-add-widget" | "dashboard-remove-widget" | "dashboard-import" | "filter-create" | "filter-update" | "filter-delete" | "notes-save" | "notes-save-undoable" | "preferences/save" | "preferences/get" | "save-global-prefs" | "load-global-prefs" | "save-prefs" | "load-prefs" | "save-server-prefs" | "report/create" | "report/update" | "report/delete" | "rule-validate" | "rule-add" | "rule-update" | "rule-delete" | "rule-delete-all" | "rule-apply-actions" | "rule-add-payee-rename" | "rules-get" | "rule-get" | "rules-run" | "schedule/create" | "schedule/update" | "schedule/delete" | "schedule/skip-next-date" | "schedule/post-transaction" | "schedule/force-run-service" | "schedule/discover" | "schedule/get-upcoming-dates" | "transactions-batch-update" | "transaction-add" | "transaction-update" | "transaction-delete" | "transactions-parse-file" | "transactions-export" | "transactions-export-query" | "transactions-merge" | "get-earliest-transaction" | "get-latest-transaction" | "users-get" | "user-delete-all" | "user-add" | "user-update" | "access-add" | "access-delete-all" | "access-get-available-users" | "transfer-ownership" | "owner-created" | "tools/fix-split-transactions" | "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" | "payee-create" | "common-payees-get" | "payees-get" | "payees-get-orphaned" | "payees-get-rule-counts" | "payees-merge" | "payees-batch-change" | "payees-check-orphaned" | "payees-get-rules" | "get-cell" | "get-cell-names" | "create-query" | "sync-reset" | "sync-repair" | "validate-budget-name" | "unique-budget-name" | "get-budgets" | "get-remote-files" | "
|
|
12
|
+
method<Name extends "sync" | "load-budget" | "undo" | "redo" | "make-filters-from-conditions" | "query" | "get-server-version" | "get-server-url" | "set-server-url" | "app-focused" | "api/batch-budget-start" | "api/batch-budget-end" | "api/load-budget" | "api/download-budget" | "api/get-budgets" | "api/start-import" | "api/finish-import" | "api/abort-import" | "api/query" | "api/budget-months" | "api/budget-month" | "api/budget-set-amount" | "api/budget-set-carryover" | "api/budget-hold-for-next-month" | "api/budget-reset-hold" | "api/transactions-export" | "api/transactions-import" | "api/transactions-add" | "api/transactions-get" | "api/transaction-update" | "api/transaction-delete" | "api/sync" | "api/bank-sync" | "api/accounts-get" | "api/account-create" | "api/account-update" | "api/account-close" | "api/account-reopen" | "api/account-delete" | "api/account-balance" | "api/categories-get" | "api/category-groups-get" | "api/category-group-create" | "api/category-group-update" | "api/category-group-delete" | "api/category-create" | "api/category-update" | "api/category-delete" | "api/payees-get" | "api/common-payees-get" | "api/payee-create" | "api/payee-update" | "api/payee-delete" | "api/payees-merge" | "api/rules-get" | "api/payee-rules-get" | "api/rule-create" | "api/rule-update" | "api/rule-delete" | "api/schedule-create" | "api/schedule-update" | "api/schedule-delete" | "api/schedules-get" | "api/get-id-by-name" | "api/get-server-version" | "budget/budget-amount" | "budget/copy-previous-month" | "budget/copy-single-month" | "budget/set-zero" | "budget/set-3month-avg" | "budget/set-6month-avg" | "budget/set-12month-avg" | "budget/set-n-month-avg" | "budget/check-templates" | "budget/apply-goal-template" | "budget/apply-multiple-templates" | "budget/overwrite-goal-template" | "budget/apply-single-template" | "budget/cleanup-goal-template" | "budget/hold-for-next-month" | "budget/reset-hold" | "budget/cover-overspending" | "budget/transfer-available" | "budget/cover-overbudgeted" | "budget/transfer-category" | "budget/set-carryover" | "budget/reset-income-carryover" | "get-categories" | "get-budget-bounds" | "envelope-budget-month" | "tracking-budget-month" | "category-create" | "category-update" | "category-move" | "category-delete" | "get-category-groups" | "category-group-create" | "category-group-update" | "category-group-move" | "category-group-delete" | "must-category-transfer" | "budget/get-category-automations" | "budget/set-category-automations" | "budget/store-note-templates" | "budget/render-note-templates" | "dashboard_pages-get" | "dashboard-create" | "dashboard-delete" | "dashboard-rename" | "dashboard-update" | "dashboard-update-widget" | "dashboard-reset" | "dashboard-add-widget" | "dashboard-remove-widget" | "dashboard-copy-widget" | "dashboard-import" | "filter-create" | "filter-update" | "filter-delete" | "notes-save" | "notes-save-undoable" | "preferences/save" | "preferences/get" | "save-global-prefs" | "load-global-prefs" | "save-prefs" | "load-prefs" | "save-server-prefs" | "report/create" | "report/update" | "report/delete" | "rule-validate" | "rule-add" | "rule-update" | "rule-delete" | "rule-delete-all" | "rule-apply-actions" | "rule-add-payee-rename" | "rules-get" | "rule-get" | "rules-run" | "schedule/create" | "schedule/update" | "schedule/delete" | "schedule/skip-next-date" | "schedule/post-transaction" | "schedule/force-run-service" | "schedule/discover" | "schedule/get-upcoming-dates" | "transactions-batch-update" | "transaction-add" | "transaction-update" | "transaction-delete" | "transactions-parse-file" | "transactions-export" | "transactions-export-query" | "transactions-merge" | "get-earliest-transaction" | "get-latest-transaction" | "users-get" | "user-delete-all" | "user-add" | "user-update" | "access-add" | "access-delete-all" | "access-get-available-users" | "transfer-ownership" | "owner-created" | "tools/fix-split-transactions" | "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" | "payee-create" | "common-payees-get" | "payees-get" | "payees-get-orphaned" | "payees-get-rule-counts" | "payees-merge" | "payees-batch-change" | "payees-check-orphaned" | "payees-get-rules" | "get-cell" | "get-cell-names" | "create-query" | "sync-reset" | "sync-repair" | "validate-budget-name" | "unique-budget-name" | "get-budgets" | "get-remote-files" | "reset-budget-cache" | "upload-budget" | "download-budget" | "sync-budget" | "create-demo-budget" | "close-budget" | "delete-budget" | "duplicate-budget" | "create-budget" | "import-budget" | "export-budget" | "upload-file-web" | "backups-get" | "backup-load" | "backup-make" | "get-last-opened-backup" | "key-make" | "key-test" | "tags-get" | "tags-create" | "tags-delete" | "tags-delete-all" | "tags-update" | "tags-find" | "get-did-bootstrap" | "subscribe-needs-bootstrap" | "subscribe-bootstrap" | "subscribe-get-login-methods" | "subscribe-get-user" | "subscribe-change-password" | "subscribe-sign-in" | "subscribe-sign-out" | "subscribe-set-token" | "enable-openid" | "get-openid-config" | "enable-password">(name: Name, func: Handlers[Name]): void;
|
|
13
13
|
service(func: () => () => void): void;
|
|
14
14
|
combine(...apps: any[]): void;
|
|
15
15
|
startServices(): void;
|
|
@@ -7,12 +7,27 @@ import * as db from './db';
|
|
|
7
7
|
export declare let handlers: Handlers;
|
|
8
8
|
export declare function getDefaultDocumentDir(): string;
|
|
9
9
|
export declare function initApp(isDev: any, socketName: any): Promise<void>;
|
|
10
|
-
|
|
10
|
+
type BaseInitConfig = {
|
|
11
11
|
dataDir?: string;
|
|
12
|
-
serverURL?: string;
|
|
13
|
-
password?: string;
|
|
14
12
|
verbose?: boolean;
|
|
15
13
|
};
|
|
14
|
+
type ServerInitConfig = BaseInitConfig & {
|
|
15
|
+
serverURL: string;
|
|
16
|
+
};
|
|
17
|
+
type PasswordAuthConfig = ServerInitConfig & {
|
|
18
|
+
password: string;
|
|
19
|
+
sessionToken?: never;
|
|
20
|
+
};
|
|
21
|
+
type SessionTokenAuthConfig = ServerInitConfig & {
|
|
22
|
+
sessionToken: string;
|
|
23
|
+
password?: never;
|
|
24
|
+
};
|
|
25
|
+
type NoServerConfig = BaseInitConfig & {
|
|
26
|
+
serverURL?: undefined;
|
|
27
|
+
password?: never;
|
|
28
|
+
sessionToken?: never;
|
|
29
|
+
};
|
|
30
|
+
export type InitConfig = PasswordAuthConfig | SessionTokenAuthConfig | NoServerConfig;
|
|
16
31
|
export declare function init(config: InitConfig): Promise<{
|
|
17
32
|
getDataDir: typeof fs.getDataDir;
|
|
18
33
|
sendMessage: (msg: any, args: any) => void;
|
|
@@ -33,3 +48,4 @@ export declare const lib: {
|
|
|
33
48
|
amountToInteger: typeof amountToInteger;
|
|
34
49
|
integerToAmount: typeof integerToAmount;
|
|
35
50
|
};
|
|
51
|
+
export {};
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { type CustomReportEntity } from './reports';
|
|
2
2
|
import { type RuleConditionEntity } from './rule';
|
|
3
|
+
export type DashboardEntity = {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
tombstone: boolean;
|
|
7
|
+
};
|
|
3
8
|
export type TimeFrame = {
|
|
4
9
|
start: string;
|
|
5
10
|
end: string;
|
|
@@ -7,6 +12,7 @@ export type TimeFrame = {
|
|
|
7
12
|
};
|
|
8
13
|
type AbstractWidget<T extends string, Meta extends Record<string, unknown> | null = null> = {
|
|
9
14
|
id: string;
|
|
15
|
+
dashboard_page_id: string;
|
|
10
16
|
type: T;
|
|
11
17
|
x: number;
|
|
12
18
|
y: number;
|
|
@@ -48,7 +54,7 @@ export type CrossoverWidget = AbstractWidget<'crossover-card', {
|
|
|
48
54
|
timeFrame?: TimeFrame;
|
|
49
55
|
safeWithdrawalRate?: number;
|
|
50
56
|
estimatedReturn?: number | null;
|
|
51
|
-
projectionType?: '
|
|
57
|
+
projectionType?: 'hampel' | 'median' | 'mean';
|
|
52
58
|
showHiddenCategories?: boolean;
|
|
53
59
|
expenseAdjustmentFactor?: number;
|
|
54
60
|
} | null>;
|
|
@@ -58,7 +64,7 @@ export type MarkdownWidget = AbstractWidget<'markdown-card', {
|
|
|
58
64
|
}>;
|
|
59
65
|
type SpecializedWidget = NetWorthWidget | CashFlowWidget | SpendingWidget | CrossoverWidget | MarkdownWidget | SummaryWidget | CalendarWidget | FormulaWidget;
|
|
60
66
|
export type Widget = SpecializedWidget | CustomReportWidget;
|
|
61
|
-
export type NewWidget = Omit<Widget, 'id' | 'tombstone'>;
|
|
67
|
+
export type NewWidget = Omit<Widget, 'id' | 'tombstone' | 'dashboard_page_id'>;
|
|
62
68
|
export type ExportImportCustomReportWidget = Omit<CustomReportWidget, 'id' | 'meta' | 'tombstone'> & {
|
|
63
69
|
meta: Omit<CustomReportEntity, 'tombstone'>;
|
|
64
70
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function runMigration(db: any): Promise<void>;
|