| 1 | import { Injectable } from '@nestjs/common' |
| 2 | import { AxiosRequestConfig } from 'axios' |
| 3 | import { |
| 4 | CreateDraftGenerationResponse, |
| 5 | CreateDraftV2Request, |
| 6 | CreateImageTextDraftRequest, |
| 7 | DraftGenerationTaskResponse, |
| 8 | GetDraftTaskRequest, |
| 9 | } from '../interfaces' |
| 10 | import { BaseService } from './base.service' |
| 11 | |
| 12 | @Injectable() |
| 13 | export class AiService extends BaseService { |
| 14 | async createDraftV2(data: CreateDraftV2Request): Promise<CreateDraftGenerationResponse> { |
| 15 | const url = `/internal/ai/draft-generation/v2` |
| 16 | const config: AxiosRequestConfig = { |
| 17 | method: 'POST', |
| 18 | data, |
| 19 | } |
| 20 | return this.request<CreateDraftGenerationResponse>(url, config) |
| 21 | } |
| 22 | |
| 23 | async createImageTextDraft(data: CreateImageTextDraftRequest): Promise<CreateDraftGenerationResponse> { |
| 24 | const url = `/internal/ai/draft-generation/image-text` |
| 25 | const config: AxiosRequestConfig = { |
| 26 | method: 'POST', |
| 27 | data, |
| 28 | } |
| 29 | return this.request<CreateDraftGenerationResponse>(url, config) |
| 30 | } |
| 31 | |
| 32 | async getDraftTask(data: GetDraftTaskRequest): Promise<DraftGenerationTaskResponse> { |
| 33 | const url = `/internal/ai/draft-generation/task` |
| 34 | const config: AxiosRequestConfig = { |
| 35 | method: 'POST', |
| 36 | data, |
| 37 | } |
| 38 | return this.request<DraftGenerationTaskResponse>(url, config) |
| 39 | } |
| 40 | } |
| 41 |