Files
dashboards/apps/business/src/services/productAiService.ts
T

54 lines
1.4 KiB
TypeScript

import { apiRequest } from '../lib/api'
import { getActiveBusinessId } from '../lib/businessContext'
import type { ProductApi } from './productService'
export type ProductAiLanguage = 'en' | 'fa'
export type ProductAiFillField = 'summary' | 'description'
export interface CreateProductByAiPayload {
categoryId: string
name: string
language: ProductAiLanguage
}
export interface FillProductFieldByAiPayload {
field: ProductAiFillField
prompt: string
title?: string
nameFa?: string
categoryId?: string
}
export async function createProductByAi(payload: CreateProductByAiPayload) {
const businessId = getActiveBusinessId()
if (!businessId) {
throw new Error('No active business selected. Please sign in again.')
}
return apiRequest<{ message: string; product: ProductApi }>(
`/businesses/${businessId}/products/ai-create`,
{
method: 'POST',
auth: true,
body: payload,
},
)
}
export async function fillProductFieldByAi(payload: FillProductFieldByAiPayload) {
const businessId = getActiveBusinessId()
if (!businessId) {
throw new Error('No active business selected. Please sign in again.')
}
return apiRequest<
| { field: 'summary'; text: string }
| { field: 'description'; html: string }
>(`/businesses/${businessId}/products/ai-fill`, {
method: 'POST',
auth: true,
body: payload,
})
}