From e91b4070aa8fa64bb40d8f6a682e9e75ca223bdd Mon Sep 17 00:00:00 2001 From: Matt Fiddaman <github@m.fiddaman.uk> Date: Thu, 11 Jul 2024 10:01:41 +0100 Subject: [PATCH] Add mergePayees method to the API (#3028) --- packages/api/methods.ts | 4 ++++ packages/loot-core/src/server/api.ts | 8 ++++++++ packages/loot-core/src/types/api-handlers.d.ts | 5 +++++ upcoming-release-notes/3028.md | 6 ++++++ 4 files changed, 23 insertions(+) create mode 100644 upcoming-release-notes/3028.md diff --git a/packages/api/methods.ts b/packages/api/methods.ts index 124d5d666..9770e9b75 100644 --- a/packages/api/methods.ts +++ b/packages/api/methods.ts @@ -181,6 +181,10 @@ export function deletePayee(id) { return send('api/payee-delete', { id }); } +export function mergePayees(targetId, mergeIds) { + return send('api/payees-merge', { targetId, mergeIds }); +} + export function getRules() { return send('api/rules-get'); } diff --git a/packages/loot-core/src/server/api.ts b/packages/loot-core/src/server/api.ts index f2bbe5f42..e99624982 100644 --- a/packages/loot-core/src/server/api.ts +++ b/packages/loot-core/src/server/api.ts @@ -653,6 +653,14 @@ handlers['api/payee-delete'] = withMutation(async function ({ id }) { return handlers['payees-batch-change']({ deleted: [{ id }] }); }); +handlers['api/payees-merge'] = withMutation(async function ({ + targetId, + mergeIds, +}) { + checkFileOpen(); + return handlers['payees-merge']({ targetId, mergeIds }); +}); + handlers['api/rules-get'] = async function () { checkFileOpen(); return handlers['rules-get'](); diff --git a/packages/loot-core/src/types/api-handlers.d.ts b/packages/loot-core/src/types/api-handlers.d.ts index d8f23ae5b..db221089c 100644 --- a/packages/loot-core/src/types/api-handlers.d.ts +++ b/packages/loot-core/src/types/api-handlers.d.ts @@ -154,6 +154,11 @@ export interface ApiHandlers { 'api/payee-delete': (arg: { id }) => Promise<unknown>; + 'api/payees-merge': (arg: { + targetId: string; + mergeIds: string[]; + }) => Promise<void>; + 'api/rules-get': () => Promise<RuleEntity[]>; 'api/payee-rules-get': (arg: { id: string }) => Promise<RuleEntity[]>; diff --git a/upcoming-release-notes/3028.md b/upcoming-release-notes/3028.md new file mode 100644 index 000000000..91073bd5e --- /dev/null +++ b/upcoming-release-notes/3028.md @@ -0,0 +1,6 @@ +--- +category: Enhancements +authors: [matt-fidd] +--- + +Add `mergePayees` method to the API -- GitLab