diff --git a/apps/frontend/src/lib/import/MergeData.svelte b/apps/frontend/src/lib/import/MergeData.svelte index c1c312f28..2a9886dd0 100644 --- a/apps/frontend/src/lib/import/MergeData.svelte +++ b/apps/frontend/src/lib/import/MergeData.svelte @@ -1,6 +1,124 @@ -merge + + { + event.preventDefault() + }} + on:change={handleChange} + > + + + + + {@html $t('click to upload or dnd', { ns: 'common' })} + + + + + mergeDataModal.close()}> + {$t('Cancel', { ns: 'common' })} + + { + if (!records?.length) return + $createRecords.mutate({ + tableId: $table.id.value, + records: records.map((record) => ({ values: record })), + }) + }} + > + + {$t('Confirm', { ns: 'common' })} + + + + diff --git a/packages/trpc/src/router/record.router.ts b/packages/trpc/src/router/record.router.ts index dbeee7ac7..02b2579a3 100644 --- a/packages/trpc/src/router/record.router.ts +++ b/packages/trpc/src/router/record.router.ts @@ -4,6 +4,7 @@ import { BulkDeleteRecordsCommand, BulkDuplicateRecordsCommand, CreateRecordCommand, + CreateRecordsCommand, DeleteRecordCommand, DuplicateRecordCommand, GetForeignRecordsQuery, @@ -42,6 +43,14 @@ export const createRecordRouter = const cmd = new CreateRecordCommand(input) return commandBus.execute(cmd) }), + buldCreate: procedure + .use(authz('record:create')) + .input(z.any()) + .output(z.any()) + .mutation(({ input }) => { + const cmd = new CreateRecordsCommand(input) + return commandBus.execute(cmd) + }), duplicate: procedure .use(authz('record:create')) .input(duplicateRecordCommandInput)
+ {@html $t('click to upload or dnd', { ns: 'common' })} +