#![allow(
missing_docs,
clippy::doc_lazy_continuation,
clippy::doc_overindented_list_items
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct AddFaqDTO {
#[serde(rename = "locationId")]
pub location_id: String,
pub question: String,
pub answer: String,
#[serde(rename = "knowledgeBaseId")]
pub knowledge_base_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BadRequestDTO {
#[serde(
rename = "statusCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_code: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CrawledUrlDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(
rename = "knowledgeBaseId",
default,
skip_serializing_if = "Option::is_none"
)]
pub knowledge_base_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(
rename = "contentEditedByUser",
default,
skip_serializing_if = "Option::is_none"
)]
pub content_edited_by_user: Option<bool>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CrawlingAggregateDTO {
#[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub records: Vec<CrawlingRecordDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CrawlingRecordDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<ErrorDetailsDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CrawlingStatusDataDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub aggregate: Vec<CrawlingAggregateDTO>,
#[serde(
rename = "operationDetails",
default,
skip_serializing_if = "Option::is_none"
)]
pub operation_details: Option<OperationDetailsDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CrawlingStatusResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<CrawlingStatusDataDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateFaqResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub faq: Option<FaqResponseDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateKnowledgeBaseDTO {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "locationId")]
pub location_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateKnowledgeBaseResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<KnowledgeBaseDataDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteFaqResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteKnowledgeBaseResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteWebsiteUrlRequestDTO {
#[serde(rename = "knowledgeBaseId")]
pub knowledge_base_id: String,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "urlIds", default, skip_serializing_if = "Vec::is_empty")]
pub url_ids: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteWebsiteUrlResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DiscoverWebsiteDataDTO {
#[serde(
rename = "operationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub operation_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DiscoverWebsiteRequestDTO {
#[serde(rename = "locationId")]
pub location_id: String,
pub url: String,
pub option: String,
#[serde(rename = "knowledgeBaseId")]
pub knowledge_base_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DiscoverWebsiteResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<DiscoverWebsiteDataDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ErrorDetailsDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stack: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub response: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub options: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct FaqResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub question: Option<String>,
#[serde(
rename = "questionLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub question_lower_case: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub answer: Option<String>,
#[serde(
rename = "knowledgeBaseId",
default,
skip_serializing_if = "Option::is_none"
)]
pub knowledge_base_id: Option<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(
rename = "trainedUrlId",
default,
skip_serializing_if = "Option::is_none"
)]
pub trained_url_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetAllKnowledgeBasesPaginatedDataDTO {
#[serde(
rename = "knowledgeBases",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub knowledge_bases: Vec<KnowledgeBaseListItemDTO>,
#[serde(
rename = "activeCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub active_count: Option<f64>,
#[serde(rename = "hasMore", default, skip_serializing_if = "Option::is_none")]
pub has_more: Option<bool>,
#[serde(
rename = "lastKnowledgeBaseId",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_knowledge_base_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetAllKnowledgeBasesPaginatedResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<GetAllKnowledgeBasesPaginatedDataDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetAllUrlsByKnowledgeBaseResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<f64>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub urls: Vec<CrawledUrlDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetKnowledgeBaseByIdDataDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "nameLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub name_lower_case: Option<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(
rename = "kbMetadata",
default,
skip_serializing_if = "Option::is_none"
)]
pub kb_metadata: Option<KnowledgeBaseMetadataDTO>,
#[serde(rename = "isDefault", default, skip_serializing_if = "Option::is_none")]
pub is_default: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetKnowledgeBaseByIdResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<GetKnowledgeBaseByIdDataDTO>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct InternalServerErrorDTO {
#[serde(
rename = "statusCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_code: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct KnowledgeBaseDataDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "nameLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub name_lower_case: Option<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(
rename = "kbMetadata",
default,
skip_serializing_if = "Option::is_none"
)]
pub kb_metadata: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct KnowledgeBaseListItemDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct KnowledgeBaseMetadataDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub faqs: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub urls: Option<f64>,
#[serde(rename = "richText", default, skip_serializing_if = "Option::is_none")]
pub rich_text: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub files: Option<f64>,
#[serde(
rename = "webSearches",
default,
skip_serializing_if = "Option::is_none"
)]
pub web_searches: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tables: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListFaqsResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<f64>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub faqs: Vec<FaqResponseDTO>,
#[serde(rename = "lastFaqId", default, skip_serializing_if = "Option::is_none")]
pub last_faq_id: Option<String>,
#[serde(rename = "hasMore", default, skip_serializing_if = "Option::is_none")]
pub has_more: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct OperationDetailsDTO {
#[serde(
rename = "discoveredUrlsCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub discovered_urls_count: Option<f64>,
#[serde(
rename = "trainedUrlsCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub trained_urls_count: Option<f64>,
#[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<String>,
#[serde(
rename = "knowledgeBaseId",
default,
skip_serializing_if = "Option::is_none"
)]
pub knowledge_base_id: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "__v", default, skip_serializing_if = "Option::is_none")]
pub v: Option<f64>,
#[serde(
rename = "robotsFileData",
default,
skip_serializing_if = "Option::is_none"
)]
pub robots_file_data: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TrainDiscoveredUrlsDTO {
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "urlIds", default, skip_serializing_if = "Vec::is_empty")]
pub url_ids: Vec<String>,
#[serde(rename = "knowledgeBaseId")]
pub knowledge_base_id: String,
#[serde(rename = "operationId")]
pub operation_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TrainDiscoveredUrlsResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UnauthorizedDTO {
#[serde(
rename = "statusCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_code: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UnprocessableDTO {
#[serde(
rename = "statusCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_code: Option<f64>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub message: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateFaqBodyDTO {
pub question: String,
pub answer: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateFaqResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateKnowledgeBaseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateKnowledgeBaseResponseDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub success: Option<bool>,
}