coder999o opened a new pull request, #2640: URL: https://github.com/apache/rocketmq-dashboard/pull/2640
## What is the purpose of the change Complete the Topic import/export flow in RocketMQ Studio. The Topic page already had CSV preview and export actions, but export rebuilt CSV from client-side full-list reads and import called the single create API once per row. This adds server-side `/api/topics/export` and `/api/topics/import` contracts so the selected instance, filters, CSV escaping, and row-level import failures are handled consistently. ## Brief changelog - Add Topic export API with selected instance/type/search/name filters and CSV formula escaping. - Add Topic bulk import API with a 100-row limit, selected-instance normalization, partial-success handling, and row-level failure details. - Wire the Topic page and service layer to the backend import/export contracts while preserving the existing CSV preview and retry-failed-row UX. - Add backend controller/service tests and frontend API/page tests for the new contracts. ## Verifying this change - `JAVA_HOME=/Users/yx9o/home/env/jdk-22.0.2.jdk/Contents/Home mvn -Dtest=TopicControllerTest,MetadataServiceTest test` - `npm test -- --run src/api/metadata.test.ts src/pages/instance/__tests__/TopicPage.test.tsx` - `npm run build` - `git diff --check` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
