diff --git a/packages/api/methods.ts b/packages/api/methods.ts index 124d5d6662..9770e9b75b 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 f2bbe5f422..e99624982a 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 d8f23ae5be..db221089c7 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; + 'api/payees-merge': (arg: { + targetId: string; + mergeIds: string[]; + }) => Promise; + 'api/rules-get': () => Promise; 'api/payee-rules-get': (arg: { id: string }) => Promise; diff --git a/upcoming-release-notes/3028.md b/upcoming-release-notes/3028.md new file mode 100644 index 0000000000..91073bd5e9 --- /dev/null +++ b/upcoming-release-notes/3028.md @@ -0,0 +1,6 @@ +--- +category: Enhancements +authors: [matt-fidd] +--- + +Add `mergePayees` method to the API