task-13: 拆分 convert 模块 API 至 types/modules/convert.ts,java-modules.ts re-export

- getExcelInfo/runConvert/getConvertHistory/deleteConvertHistory/getConvertResultDownloadUrl/getConvertTemplates/importConvertTemplate/setDefaultConvertTemplate/deleteConvertTemplate
- 模板相关类型 ConvertTemplateVo/ConvertTemplateImportRequest/ExcelInfoVo 随模块迁移
- 9 个测试:URL/method/payload/history/模板系列/签名/export compat/unwrap
This commit is contained in:
2026-08-31 19:31:10 +08:00
parent a98efb00f7
commit fdbf681292
3 changed files with 297 additions and 128 deletions
+1 -128
View File
@@ -12,6 +12,7 @@ import { createTaskProgressRequestCache } from "../task-progress-request-cache.t
export * from "./types/modules/dedupe.ts";
export * from "./types/modules/split.ts";
export * from "./types/modules/convert.ts";
const JAVA_API_PREFIX = "/newApi/api";
@@ -146,33 +147,6 @@ export async function uploadTempFileToJava(
}
export interface ConvertResultItem {
resultId?: number;
sourceFilename: string;
outputFilename?: string;
success: boolean;
error?: string;
downloadUrl?: string;
}
export interface ConvertRunVo {
total: number;
successCount: number;
failedCount: number;
items: ConvertResultItem[];
}
export interface ConvertHistoryVo {
items: ConvertResultItem[];
}
export interface ConvertRunRequest {
files: UploadedFileRef[];
templateId: string;
archiveName?: string;
user_id: number;
}
export interface DeleteBrandPreviewRow {
rowIndex: number;
country: string;
@@ -325,107 +299,6 @@ export interface DeleteBrandRunRequest {
user_id: number;
}
export interface ConvertTemplateVo {
id: string;
templateCode: string;
templateName: string;
outputFilename: string;
isDefault?: boolean;
builtIn?: boolean;
}
export interface ConvertTemplateImportRequest {
templateName: string;
templateContent: string;
}
export interface ExcelInfoVo {
headers: string[];
totalRows: number;
}
export function getExcelInfo(fileKey: string) {
return unwrapJavaResponse(
get<JavaApiResponse<ExcelInfoVo>>(`${JAVA_API_PREFIX}/files/excel-info`, {
params: { fileKey },
}),
);
}
export function getConvertTemplates() {
return unwrapJavaResponse(
get<JavaApiResponse<ConvertTemplateVo[]>>(
`${JAVA_API_PREFIX}/convert/templates`,
),
);
}
export function importConvertTemplate(request: ConvertTemplateImportRequest) {
return unwrapJavaResponse(
post<JavaApiResponse<ConvertTemplateVo>, ConvertTemplateImportRequest>(
`${JAVA_API_PREFIX}/convert/templates/import`,
request,
),
);
}
export function setDefaultConvertTemplate(templateCode: string) {
return unwrapJavaResponse(
post<JavaApiResponse<null>>(
`${JAVA_API_PREFIX}/convert/templates/${templateCode}/default`,
),
);
}
export function deleteConvertTemplate(templateCode: string) {
return unwrapJavaResponse(
del<JavaApiResponse<null>>(
`${JAVA_API_PREFIX}/convert/templates/${templateCode}`,
),
);
}
export function runConvert(
request: Omit<ConvertRunRequest, "user_id"> | ConvertRunRequest,
) {
return unwrapJavaResponse(
post<JavaApiResponse<ConvertRunVo>, ConvertRunRequest>(
`${JAVA_API_PREFIX}/convert/run`,
{
...request,
user_id: getCurrentUserId(),
},
),
);
}
export function getConvertHistory() {
return unwrapJavaResponse(
get<JavaApiResponse<ConvertHistoryVo>>(
`${JAVA_API_PREFIX}/convert/history`,
{
params: { user_id: getCurrentUserId() },
},
),
);
}
export function deleteConvertHistory(resultId: number) {
return unwrapJavaResponse(
del<JavaApiResponse<null>>(
`${JAVA_API_PREFIX}/convert/history/${resultId}`,
{
params: { user_id: getCurrentUserId() },
},
),
);
}
export function getConvertResultDownloadUrl(resultId: number) {
return getJavaDownloadUrl(`/convert/results/${resultId}/download`);
}
export function runDeleteBrand(
request: Omit<DeleteBrandRunRequest, "user_id"> | DeleteBrandRunRequest,
) {
@@ -0,0 +1,136 @@
import { get, post, del, type JavaApiResponse, unwrapJavaResponse } from '../../http.ts'
import { buildJavaUrl, JAVA_API_PREFIX } from '../../url.ts'
import { getCurrentUserId } from '../../user.ts'
import { getJavaDownloadUrl } from '../../download-url.ts'
import type { UploadedFileRef } from '../upload.ts'
import { API_ENDPOINTS } from '../../endpoints.ts'
export interface ConvertResultItem {
resultId?: number;
sourceFilename: string;
outputFilename?: string;
success: boolean;
error?: string;
downloadUrl?: string;
}
export interface ConvertRunVo {
total: number;
successCount: number;
failedCount: number;
items: ConvertResultItem[];
}
export interface ConvertHistoryVo {
items: ConvertResultItem[];
}
export interface ConvertRunRequest {
files: UploadedFileRef[];
templateId: string;
archiveName?: string;
user_id: number;
}
export interface ConvertTemplateVo {
id: string;
templateCode: string;
templateName: string;
outputFilename: string;
isDefault?: boolean;
builtIn?: boolean;
}
export interface ConvertTemplateImportRequest {
templateName: string;
templateContent: string;
}
export interface ExcelInfoVo {
headers: string[];
totalRows: number;
}
export function getExcelInfo(fileKey: string) {
return unwrapJavaResponse(
get<JavaApiResponse<ExcelInfoVo>>(`${JAVA_API_PREFIX}/files/excel-info`, {
params: { fileKey },
}),
);
}
export function getConvertTemplates() {
return unwrapJavaResponse(
get<JavaApiResponse<ConvertTemplateVo[]>>(
buildJavaUrl(API_ENDPOINTS.convert.templates),
),
);
}
export function importConvertTemplate(request: ConvertTemplateImportRequest) {
return unwrapJavaResponse(
post<JavaApiResponse<ConvertTemplateVo>, ConvertTemplateImportRequest>(
buildJavaUrl(API_ENDPOINTS.convert.templatesImport),
request,
),
);
}
export function setDefaultConvertTemplate(templateCode: string) {
return unwrapJavaResponse(
post<JavaApiResponse<null>>(
buildJavaUrl(API_ENDPOINTS.convert.templateDefault.replace('{templateCode}', templateCode)),
),
);
}
export function deleteConvertTemplate(templateCode: string) {
return unwrapJavaResponse(
del<JavaApiResponse<null>>(
buildJavaUrl(API_ENDPOINTS.convert.templateDelete.replace('{templateCode}', templateCode)),
),
);
}
export function runConvert(
request: Omit<ConvertRunRequest, "user_id"> | ConvertRunRequest,
) {
return unwrapJavaResponse(
post<JavaApiResponse<ConvertRunVo>, ConvertRunRequest>(
buildJavaUrl(API_ENDPOINTS.convert.run),
{
...request,
user_id: getCurrentUserId(),
},
),
);
}
export function getConvertHistory() {
return unwrapJavaResponse(
get<JavaApiResponse<ConvertHistoryVo>>(
buildJavaUrl(API_ENDPOINTS.convert.history),
{
params: { user_id: getCurrentUserId() },
},
),
);
}
export function deleteConvertHistory(resultId: number) {
return unwrapJavaResponse(
del<JavaApiResponse<null>>(
buildJavaUrl(API_ENDPOINTS.convert.historyDelete.replace('{resultId}', String(resultId))),
{
params: { user_id: getCurrentUserId() },
},
),
);
}
export function getConvertResultDownloadUrl(resultId: number) {
return getJavaDownloadUrl(
API_ENDPOINTS.convert.resultDownload.replace('{resultId}', String(resultId)),
);
}