mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-10-31 16:06:31 +00:00 
			
		
		
		
	remove old compat files
This commit is contained in:
		| @@ -1,152 +0,0 @@ | ||||
| use anyhow::bail; | ||||
| use meilisearch_types::error::Code; | ||||
| use milli::update::IndexDocumentsMethod; | ||||
| use serde::{Deserialize, Serialize}; | ||||
| use time::OffsetDateTime; | ||||
| use uuid::Uuid; | ||||
|  | ||||
| use crate::index::{Settings, Unchecked}; | ||||
|  | ||||
| #[derive(Serialize, Deserialize)] | ||||
| pub struct UpdateEntry { | ||||
|     pub uuid: Uuid, | ||||
|     pub update: UpdateStatus, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Clone, Serialize, Deserialize)] | ||||
| pub enum UpdateFormat { | ||||
|     Json, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize, Clone)] | ||||
| pub struct DocumentAdditionResult { | ||||
|     pub nb_documents: usize, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Clone, Serialize, Deserialize)] | ||||
| pub enum UpdateResult { | ||||
|     DocumentsAddition(DocumentAdditionResult), | ||||
|     DocumentDeletion { deleted: u64 }, | ||||
|     Other, | ||||
| } | ||||
|  | ||||
| #[allow(clippy::large_enum_variant)] | ||||
| #[derive(Debug, Clone, Serialize, Deserialize)] | ||||
| #[serde(tag = "type")] | ||||
| pub enum UpdateMeta { | ||||
|     DocumentsAddition { | ||||
|         method: IndexDocumentsMethod, | ||||
|         format: UpdateFormat, | ||||
|         primary_key: Option<String>, | ||||
|     }, | ||||
|     ClearDocuments, | ||||
|     DeleteDocuments { | ||||
|         ids: Vec<String>, | ||||
|     }, | ||||
|     Settings(Settings<Unchecked>), | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize, Clone)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct Enqueued { | ||||
|     pub update_id: u64, | ||||
|     pub meta: UpdateMeta, | ||||
|     #[serde(with = "time::serde::rfc3339")] | ||||
|     pub enqueued_at: OffsetDateTime, | ||||
|     pub content: Option<Uuid>, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize, Clone)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct Processed { | ||||
|     pub success: UpdateResult, | ||||
|     #[serde(with = "time::serde::rfc3339")] | ||||
|     pub processed_at: OffsetDateTime, | ||||
|     #[serde(flatten)] | ||||
|     pub from: Processing, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize, Clone)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct Processing { | ||||
|     #[serde(flatten)] | ||||
|     pub from: Enqueued, | ||||
|     #[serde(with = "time::serde::rfc3339")] | ||||
|     pub started_processing_at: OffsetDateTime, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize, Clone)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct Aborted { | ||||
|     #[serde(flatten)] | ||||
|     pub from: Enqueued, | ||||
|     #[serde(with = "time::serde::rfc3339")] | ||||
|     pub aborted_at: OffsetDateTime, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct Failed { | ||||
|     #[serde(flatten)] | ||||
|     pub from: Processing, | ||||
|     pub error: ResponseError, | ||||
|     #[serde(with = "time::serde::rfc3339")] | ||||
|     pub failed_at: OffsetDateTime, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize)] | ||||
| #[serde(tag = "status", rename_all = "camelCase")] | ||||
| pub enum UpdateStatus { | ||||
|     Processing(Processing), | ||||
|     Enqueued(Enqueued), | ||||
|     Processed(Processed), | ||||
|     Aborted(Aborted), | ||||
|     Failed(Failed), | ||||
| } | ||||
|  | ||||
| type StatusCode = (); | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize, Clone)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct ResponseError { | ||||
|     #[serde(skip)] | ||||
|     pub code: StatusCode, | ||||
|     pub message: String, | ||||
|     pub error_code: String, | ||||
|     pub error_type: String, | ||||
|     pub error_link: String, | ||||
| } | ||||
|  | ||||
| pub fn error_code_from_str(s: &str) -> anyhow::Result<Code> { | ||||
|     let code = match s { | ||||
|         "index_creation_failed" => Code::CreateIndex, | ||||
|         "index_already_exists" => Code::IndexAlreadyExists, | ||||
|         "index_not_found" => Code::IndexNotFound, | ||||
|         "invalid_index_uid" => Code::InvalidIndexUid, | ||||
|         "invalid_state" => Code::InvalidState, | ||||
|         "missing_primary_key" => Code::MissingPrimaryKey, | ||||
|         "primary_key_already_present" => Code::PrimaryKeyAlreadyPresent, | ||||
|         "invalid_request" => Code::InvalidRankingRule, | ||||
|         "max_fields_limit_exceeded" => Code::MaxFieldsLimitExceeded, | ||||
|         "missing_document_id" => Code::MissingDocumentId, | ||||
|         "invalid_facet" => Code::Filter, | ||||
|         "invalid_filter" => Code::Filter, | ||||
|         "invalid_sort" => Code::Sort, | ||||
|         "bad_parameter" => Code::BadParameter, | ||||
|         "bad_request" => Code::BadRequest, | ||||
|         "document_not_found" => Code::DocumentNotFound, | ||||
|         "internal" => Code::Internal, | ||||
|         "invalid_geo_field" => Code::InvalidGeoField, | ||||
|         "invalid_token" => Code::InvalidToken, | ||||
|         "missing_authorization_header" => Code::MissingAuthorizationHeader, | ||||
|         "payload_too_large" => Code::PayloadTooLarge, | ||||
|         "unretrievable_document" => Code::RetrieveDocument, | ||||
|         "search_error" => Code::SearchDocuments, | ||||
|         "unsupported_media_type" => Code::UnsupportedMediaType, | ||||
|         "dump_already_in_progress" => Code::DumpAlreadyInProgress, | ||||
|         "dump_process_failed" => Code::DumpProcessFailed, | ||||
|         _ => bail!("unknow error code."), | ||||
|     }; | ||||
|  | ||||
|     Ok(code) | ||||
| } | ||||
| @@ -1,205 +0,0 @@ | ||||
| use meilisearch_types::error::{Code, ResponseError}; | ||||
| use meilisearch_types::index_uid::IndexUid; | ||||
| use milli::update::IndexDocumentsMethod; | ||||
| use serde::{Deserialize, Serialize}; | ||||
| use time::OffsetDateTime; | ||||
| use uuid::Uuid; | ||||
|  | ||||
| use super::v4::{Task, TaskContent, TaskEvent}; | ||||
| use crate::index::{Settings, Unchecked}; | ||||
| use crate::tasks::task::{DocumentDeletion, TaskId, TaskResult}; | ||||
|  | ||||
| use super::v2; | ||||
|  | ||||
| #[derive(Serialize, Deserialize)] | ||||
| pub struct DumpEntry { | ||||
|     pub uuid: Uuid, | ||||
|     pub uid: String, | ||||
| } | ||||
|  | ||||
| #[derive(Serialize, Deserialize)] | ||||
| pub struct UpdateEntry { | ||||
|     pub uuid: Uuid, | ||||
|     pub update: UpdateStatus, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize)] | ||||
| #[serde(tag = "status", rename_all = "camelCase")] | ||||
| pub enum UpdateStatus { | ||||
|     Processing(Processing), | ||||
|     Enqueued(Enqueued), | ||||
|     Processed(Processed), | ||||
|     Failed(Failed), | ||||
| } | ||||
|  | ||||
| impl From<v2::UpdateResult> for TaskResult { | ||||
|     fn from(other: v2::UpdateResult) -> Self { | ||||
|         match other { | ||||
|             v2::UpdateResult::DocumentsAddition(result) => TaskResult::DocumentAddition { | ||||
|                 indexed_documents: result.nb_documents as u64, | ||||
|             }, | ||||
|             v2::UpdateResult::DocumentDeletion { deleted } => TaskResult::DocumentDeletion { | ||||
|                 deleted_documents: deleted, | ||||
|             }, | ||||
|             v2::UpdateResult::Other => TaskResult::Other, | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[allow(clippy::large_enum_variant)] | ||||
| #[derive(Debug, Clone, Serialize, Deserialize)] | ||||
| pub enum Update { | ||||
|     DeleteDocuments(Vec<String>), | ||||
|     DocumentAddition { | ||||
|         primary_key: Option<String>, | ||||
|         method: IndexDocumentsMethod, | ||||
|         content_uuid: Uuid, | ||||
|     }, | ||||
|     Settings(Settings<Unchecked>), | ||||
|     ClearDocuments, | ||||
| } | ||||
|  | ||||
| impl From<Update> for super::v4::TaskContent { | ||||
|     fn from(update: Update) -> Self { | ||||
|         match update { | ||||
|             Update::DeleteDocuments(ids) => { | ||||
|                 TaskContent::DocumentDeletion(DocumentDeletion::Ids(ids)) | ||||
|             } | ||||
|             Update::DocumentAddition { | ||||
|                 primary_key, | ||||
|                 method, | ||||
|                 .. | ||||
|             } => TaskContent::DocumentAddition { | ||||
|                 content_uuid: Uuid::default(), | ||||
|                 merge_strategy: method, | ||||
|                 primary_key, | ||||
|                 // document count is unknown for legacy updates | ||||
|                 documents_count: 0, | ||||
|                 allow_index_creation: true, | ||||
|             }, | ||||
|             Update::Settings(settings) => TaskContent::SettingsUpdate { | ||||
|                 settings, | ||||
|                 // There is no way to know now, so we assume it isn't | ||||
|                 is_deletion: false, | ||||
|                 allow_index_creation: true, | ||||
|             }, | ||||
|             Update::ClearDocuments => TaskContent::DocumentDeletion(DocumentDeletion::Clear), | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[allow(clippy::large_enum_variant)] | ||||
| #[derive(Debug, Clone, Serialize, Deserialize)] | ||||
| #[serde(tag = "type")] | ||||
| pub enum UpdateMeta { | ||||
|     DocumentsAddition { | ||||
|         method: IndexDocumentsMethod, | ||||
|         primary_key: Option<String>, | ||||
|     }, | ||||
|     ClearDocuments, | ||||
|     DeleteDocuments { | ||||
|         ids: Vec<String>, | ||||
|     }, | ||||
|     Settings(Settings<Unchecked>), | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize, Clone)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct Enqueued { | ||||
|     pub update_id: u64, | ||||
|     pub meta: Update, | ||||
|     #[serde(with = "time::serde::rfc3339")] | ||||
|     pub enqueued_at: OffsetDateTime, | ||||
| } | ||||
|  | ||||
| impl Enqueued { | ||||
|     fn update_task(self, task: &mut Task) { | ||||
|         // we do not erase the `TaskId` that was given to us. | ||||
|         task.content = self.meta.into(); | ||||
|         task.events.push(TaskEvent::Created(self.enqueued_at)); | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize, Clone)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct Processed { | ||||
|     pub success: v2::UpdateResult, | ||||
|     #[serde(with = "time::serde::rfc3339")] | ||||
|     pub processed_at: OffsetDateTime, | ||||
|     #[serde(flatten)] | ||||
|     pub from: Processing, | ||||
| } | ||||
|  | ||||
| impl Processed { | ||||
|     fn update_task(self, task: &mut Task) { | ||||
|         self.from.update_task(task); | ||||
|  | ||||
|         let event = TaskEvent::Succeded { | ||||
|             result: TaskResult::from(self.success), | ||||
|             timestamp: self.processed_at, | ||||
|         }; | ||||
|         task.events.push(event); | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize, Clone)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct Processing { | ||||
|     #[serde(flatten)] | ||||
|     pub from: Enqueued, | ||||
|     #[serde(with = "time::serde::rfc3339")] | ||||
|     pub started_processing_at: OffsetDateTime, | ||||
| } | ||||
|  | ||||
| impl Processing { | ||||
|     fn update_task(self, task: &mut Task) { | ||||
|         self.from.update_task(task); | ||||
|  | ||||
|         let event = TaskEvent::Processing(self.started_processing_at); | ||||
|         task.events.push(event); | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Serialize, Deserialize)] | ||||
| #[serde(rename_all = "camelCase")] | ||||
| pub struct Failed { | ||||
|     #[serde(flatten)] | ||||
|     pub from: Processing, | ||||
|     pub msg: String, | ||||
|     pub code: Code, | ||||
|     #[serde(with = "time::serde::rfc3339")] | ||||
|     pub failed_at: OffsetDateTime, | ||||
| } | ||||
|  | ||||
| impl Failed { | ||||
|     fn update_task(self, task: &mut Task) { | ||||
|         self.from.update_task(task); | ||||
|  | ||||
|         let event = TaskEvent::Failed { | ||||
|             error: ResponseError::from_msg(self.msg, self.code), | ||||
|             timestamp: self.failed_at, | ||||
|         }; | ||||
|         task.events.push(event); | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<(UpdateStatus, String, TaskId)> for Task { | ||||
|     fn from((update, uid, task_id): (UpdateStatus, String, TaskId)) -> Self { | ||||
|         // Dummy task | ||||
|         let mut task = super::v4::Task { | ||||
|             id: task_id, | ||||
|             index_uid: IndexUid::new_unchecked(uid), | ||||
|             content: super::v4::TaskContent::IndexDeletion, | ||||
|             events: Vec::new(), | ||||
|         }; | ||||
|  | ||||
|         match update { | ||||
|             UpdateStatus::Processing(u) => u.update_task(&mut task), | ||||
|             UpdateStatus::Enqueued(u) => u.update_task(&mut task), | ||||
|             UpdateStatus::Processed(u) => u.update_task(&mut task), | ||||
|             UpdateStatus::Failed(u) => u.update_task(&mut task), | ||||
|         } | ||||
|  | ||||
|         task | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user