task-69(ASIN 数据中心): 实现品牌数据库新增/编辑表单

invalid-asin-form-model.ts 纯模型:createEmptyInvalidAsinForm/invalidAsinFormFromItem 回填、
validateInvalidAsinForm 镜像后端(ASIN 必填<=128/品牌<=128/manual 必选分组)、toCreate 请求(camel)、
toUpdate 请求(自动导入默认不迁组);invalid-asin-api.ts 增 createInvalidAsin POST 与
updateInvalidAsin PUT /api/admin/invalid-asin-data。8 用例全过,507 单测 + build 绿。
This commit is contained in:
2026-09-05 15:57:33 +08:00
parent 43463e12ca
commit 62bf4f005d
3 changed files with 181 additions and 0 deletions
@@ -1,5 +1,7 @@
/** 品牌数据库(不符合ASIN)列表加载适配(任务 68):GET /api/admin/invalid-asin-data。 */
import { http } from '@/api/http'
import { unwrap } from '@/api/envelope'
import { toInvalidAsinCreateRequest, toInvalidAsinUpdateRequest, type InvalidAsinForm } from './invalid-asin-form-model'
import { parseInvalidAsinPage, type InvalidAsinPageResult } from './invalid-asin-model'
export const INVALID_ASIN_ENDPOINT = '/api/admin/invalid-asin-data'
@@ -30,3 +32,15 @@ export async function fetchInvalidAsinPage(query: InvalidAsinQuery): Promise<Inv
const { data } = await http.get<unknown>(INVALID_ASIN_ENDPOINT, { params: toQuery(query) })
return parseInvalidAsinPage(data)
}
/** 新增品牌数据库记录:POST /api/admin/invalid-asin-data。 */
export async function createInvalidAsin(form: InvalidAsinForm): Promise<void> {
const { data } = await http.post<unknown>(INVALID_ASIN_ENDPOINT, toInvalidAsinCreateRequest(form))
unwrap<unknown>(data)
}
/** 编辑品牌数据库记录:PUT /api/admin/invalid-asin-data/{id}。 */
export async function updateInvalidAsin(id: number, form: InvalidAsinForm, includeGroup = false): Promise<void> {
const { data } = await http.put<unknown>(`${INVALID_ASIN_ENDPOINT}/${id}`, toInvalidAsinUpdateRequest(form, { includeGroup }))
unwrap<unknown>(data)
}