mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-11-04 09:56:28 +00:00 
			
		
		
		
	move index_uid from task to task_content
This commit is contained in:
		@@ -4,10 +4,10 @@ use serde::{Deserialize, Serialize};
 | 
			
		||||
use time::OffsetDateTime;
 | 
			
		||||
use uuid::Uuid;
 | 
			
		||||
 | 
			
		||||
use super::v4::{Task, TaskEvent};
 | 
			
		||||
use super::v4::{Task, TaskContent, TaskEvent};
 | 
			
		||||
use crate::index::{Settings, Unchecked};
 | 
			
		||||
use crate::index_resolver::IndexUid;
 | 
			
		||||
use crate::tasks::task::{DocumentDeletion, TaskContent, TaskId, TaskResult};
 | 
			
		||||
use crate::tasks::task::{DocumentDeletion, TaskId, TaskResult};
 | 
			
		||||
 | 
			
		||||
use super::v2;
 | 
			
		||||
 | 
			
		||||
@@ -59,9 +59,9 @@ pub enum Update {
 | 
			
		||||
    ClearDocuments,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl From<Update> for TaskContent {
 | 
			
		||||
    fn from(other: Update) -> Self {
 | 
			
		||||
        match other {
 | 
			
		||||
impl From<Update> for super::v4::TaskContent {
 | 
			
		||||
    fn from(update: Update) -> Self {
 | 
			
		||||
        match update {
 | 
			
		||||
            Update::DeleteDocuments(ids) => {
 | 
			
		||||
                TaskContent::DocumentDeletion(DocumentDeletion::Ids(ids))
 | 
			
		||||
            }
 | 
			
		||||
@@ -186,10 +186,10 @@ impl Failed {
 | 
			
		||||
impl From<(UpdateStatus, String, TaskId)> for Task {
 | 
			
		||||
    fn from((update, uid, task_id): (UpdateStatus, String, TaskId)) -> Self {
 | 
			
		||||
        // Dummy task
 | 
			
		||||
        let mut task = Task {
 | 
			
		||||
        let mut task = super::v4::Task {
 | 
			
		||||
            id: task_id,
 | 
			
		||||
            index_uid: IndexUid::new(uid).unwrap(),
 | 
			
		||||
            content: TaskContent::IndexDeletion,
 | 
			
		||||
            index_uid: IndexUid::new_unchecked(uid),
 | 
			
		||||
            content: super::v4::TaskContent::IndexDeletion,
 | 
			
		||||
            events: Vec::new(),
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,14 @@
 | 
			
		||||
use meilisearch_error::ResponseError;
 | 
			
		||||
use milli::update::IndexDocumentsMethod;
 | 
			
		||||
use serde::{Deserialize, Serialize};
 | 
			
		||||
use time::OffsetDateTime;
 | 
			
		||||
use uuid::Uuid;
 | 
			
		||||
 | 
			
		||||
use crate::index::{Settings, Unchecked};
 | 
			
		||||
use crate::tasks::batch::BatchId;
 | 
			
		||||
use crate::tasks::task::{TaskContent, TaskEvent as NewTaskEvent, TaskId, TaskResult};
 | 
			
		||||
use crate::tasks::task::{
 | 
			
		||||
    DocumentDeletion, TaskContent as NewTaskContent, TaskEvent as NewTaskEvent, TaskId, TaskResult,
 | 
			
		||||
};
 | 
			
		||||
use crate::IndexUid;
 | 
			
		||||
 | 
			
		||||
#[derive(Debug, Serialize, Deserialize)]
 | 
			
		||||
@@ -18,8 +23,7 @@ impl From<Task> for crate::tasks::task::Task {
 | 
			
		||||
    fn from(other: Task) -> Self {
 | 
			
		||||
        Self {
 | 
			
		||||
            id: other.id,
 | 
			
		||||
            index_uid: Some(other.index_uid),
 | 
			
		||||
            content: other.content,
 | 
			
		||||
            content: NewTaskContent::from((other.index_uid, other.content)),
 | 
			
		||||
            events: other.events.into_iter().map(Into::into).collect(),
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -65,3 +69,77 @@ impl From<TaskEvent> for NewTaskEvent {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
 | 
			
		||||
#[allow(clippy::large_enum_variant)]
 | 
			
		||||
pub enum TaskContent {
 | 
			
		||||
    DocumentAddition {
 | 
			
		||||
        content_uuid: Uuid,
 | 
			
		||||
        merge_strategy: IndexDocumentsMethod,
 | 
			
		||||
        primary_key: Option<String>,
 | 
			
		||||
        documents_count: usize,
 | 
			
		||||
        allow_index_creation: bool,
 | 
			
		||||
    },
 | 
			
		||||
    DocumentDeletion(DocumentDeletion),
 | 
			
		||||
    SettingsUpdate {
 | 
			
		||||
        settings: Settings<Unchecked>,
 | 
			
		||||
        /// Indicates whether the task was a deletion
 | 
			
		||||
        is_deletion: bool,
 | 
			
		||||
        allow_index_creation: bool,
 | 
			
		||||
    },
 | 
			
		||||
    IndexDeletion,
 | 
			
		||||
    IndexCreation {
 | 
			
		||||
        primary_key: Option<String>,
 | 
			
		||||
    },
 | 
			
		||||
    IndexUpdate {
 | 
			
		||||
        primary_key: Option<String>,
 | 
			
		||||
    },
 | 
			
		||||
    Dump {
 | 
			
		||||
        uid: String,
 | 
			
		||||
    },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl From<(IndexUid, TaskContent)> for NewTaskContent {
 | 
			
		||||
    fn from((index_uid, content): (IndexUid, TaskContent)) -> Self {
 | 
			
		||||
        match content {
 | 
			
		||||
            TaskContent::DocumentAddition {
 | 
			
		||||
                content_uuid,
 | 
			
		||||
                merge_strategy,
 | 
			
		||||
                primary_key,
 | 
			
		||||
                documents_count,
 | 
			
		||||
                allow_index_creation,
 | 
			
		||||
            } => NewTaskContent::DocumentAddition {
 | 
			
		||||
                index_uid,
 | 
			
		||||
                content_uuid,
 | 
			
		||||
                merge_strategy,
 | 
			
		||||
                primary_key,
 | 
			
		||||
                documents_count,
 | 
			
		||||
                allow_index_creation,
 | 
			
		||||
            },
 | 
			
		||||
            TaskContent::DocumentDeletion(deletion) => NewTaskContent::DocumentDeletion {
 | 
			
		||||
                index_uid,
 | 
			
		||||
                deletion,
 | 
			
		||||
            },
 | 
			
		||||
            TaskContent::SettingsUpdate {
 | 
			
		||||
                settings,
 | 
			
		||||
                is_deletion,
 | 
			
		||||
                allow_index_creation,
 | 
			
		||||
            } => NewTaskContent::SettingsUpdate {
 | 
			
		||||
                index_uid,
 | 
			
		||||
                settings,
 | 
			
		||||
                is_deletion,
 | 
			
		||||
                allow_index_creation,
 | 
			
		||||
            },
 | 
			
		||||
            TaskContent::IndexDeletion => NewTaskContent::IndexDeletion { index_uid },
 | 
			
		||||
            TaskContent::IndexCreation { primary_key } => NewTaskContent::IndexCreation {
 | 
			
		||||
                index_uid,
 | 
			
		||||
                primary_key,
 | 
			
		||||
            },
 | 
			
		||||
            TaskContent::IndexUpdate { primary_key } => NewTaskContent::IndexUpdate {
 | 
			
		||||
                index_uid,
 | 
			
		||||
                primary_key,
 | 
			
		||||
            },
 | 
			
		||||
            TaskContent::Dump { uid } => NewTaskContent::Dump { uid },
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user