#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Tasks")]
pub struct Tasks {
pub xmlns: Vec<crate::common::XmlNamespace>,
pub xml_header: crate::common::XmlHeaderType,
#[sdk(child(qname = "t:Task"))]
pub task: Vec<Task>,
#[sdk(child(qname = "t:extLst"))]
pub extension_list: Option<ExtensionList>,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Task")]
pub struct Task {
#[sdk(attr(qname = ":id"))]
#[sdk(pattern(regex = "\\{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\\}"))]
#[sdk(string_format(kind = "token"))]
pub id: crate::simple_type::StringValue,
#[sdk(child(qname = "t:Anchor"))]
pub task_anchor: Option<std::boxed::Box<TaskAnchor>>,
#[sdk(child(qname = "t:History"))]
pub task_history: Option<TaskHistory>,
#[sdk(child(qname = "t:extLst"))]
pub extension_list: Option<ExtensionList>,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:extLst")]
pub struct ExtensionList {
#[sdk(child(qname = "oel:ext"))]
pub extension: Vec<crate::schemas::oel::Extension>,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Anchor")]
pub struct TaskAnchor {
#[sdk(child(qname = "t:Comment"))]
pub comment_anchor: Option<CommentAnchor>,
#[sdk(child(qname = "t:extLst"))]
pub extension_list: Option<ExtensionList>,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:History")]
pub struct TaskHistory {
#[sdk(child(qname = "t:Event"))]
pub task_history_event: Vec<TaskHistoryEvent>,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Event")]
pub struct TaskHistoryEvent {
#[sdk(attr(qname = ":time"))]
pub time: crate::simple_type::DateTimeValue,
#[sdk(attr(qname = ":id"))]
#[sdk(pattern(regex = "\\{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\\}"))]
#[sdk(string_format(kind = "token"))]
pub id: crate::simple_type::StringValue,
#[sdk(child(qname = "t:Attribution"))]
pub attribution_task_user: std::boxed::Box<AttributionTaskUser>,
#[sdk(child(qname = "t:Anchor"))]
pub task_anchor: Option<std::boxed::Box<TaskAnchor>>,
#[sdk(
choice(
child(variant = AssignTaskUser, qname = "t:Assign"),
child(variant = UnassignTaskUser, qname = "t:Unassign"),
empty_child(variant = TaskCreateEventInfo, qname = "t:Create"),
child(variant = TaskTitleEventInfo, qname = "t:SetTitle"),
child(variant = TaskScheduleEventInfo, qname = "t:Schedule"),
child(variant = TaskProgressEventInfo, qname = "t:Progress"),
child(variant = TaskPriorityEventInfo, qname = "t:Priority"),
empty_child(variant = TaskDeleteEventInfo, qname = "t:Delete"),
empty_child(variant = TaskUndeleteEventInfo, qname = "t:Undelete"),
empty_child(variant = TaskUnassignAll, qname = "t:UnassignAll"),
child(variant = TaskUndo, qname = "t:Undo")
)
)]
pub task_history_event_choice: Option<TaskHistoryEventChoice>,
#[sdk(child(qname = "t:extLst"))]
pub extension_list: Option<ExtensionList>,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Attribution")]
pub struct AttributionTaskUser {
#[sdk(attr(qname = ":userId"))]
pub user_id: crate::simple_type::StringValue,
#[sdk(attr(qname = ":userName"))]
pub user_name: crate::simple_type::StringValue,
#[sdk(attr(qname = ":userProvider"))]
pub user_provider: crate::simple_type::StringValue,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Assign")]
pub struct AssignTaskUser {
#[sdk(attr(qname = ":userId"))]
pub user_id: crate::simple_type::StringValue,
#[sdk(attr(qname = ":userName"))]
pub user_name: crate::simple_type::StringValue,
#[sdk(attr(qname = ":userProvider"))]
pub user_provider: crate::simple_type::StringValue,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Unassign")]
pub struct UnassignTaskUser {
#[sdk(attr(qname = ":userId"))]
pub user_id: crate::simple_type::StringValue,
#[sdk(attr(qname = ":userName"))]
pub user_name: crate::simple_type::StringValue,
#[sdk(attr(qname = ":userProvider"))]
pub user_provider: crate::simple_type::StringValue,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:SetTitle")]
pub struct TaskTitleEventInfo {
#[sdk(attr(qname = ":title"))]
pub title: crate::simple_type::StringValue,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Schedule")]
pub struct TaskScheduleEventInfo {
#[sdk(attr(qname = ":startDate"))]
pub start_date: Option<crate::simple_type::DateTimeValue>,
#[sdk(attr(qname = ":dueDate"))]
pub due_date: Option<crate::simple_type::DateTimeValue>,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Progress")]
pub struct TaskProgressEventInfo {
#[sdk(attr(qname = ":percentComplete"))]
#[sdk(number_range(range = 0..= 100))]
pub percent_complete: crate::simple_type::Int32Value,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Priority")]
pub struct TaskPriorityEventInfo {
#[sdk(attr(qname = ":value"))]
#[sdk(number_range(range = 0..= 10))]
pub value: crate::simple_type::Int32Value,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Undo")]
pub struct TaskUndo {
#[sdk(attr(qname = ":id"))]
#[sdk(pattern(regex = "\\{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\\}"))]
#[sdk(string_format(kind = "token"))]
pub id: crate::simple_type::StringValue,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "t:Comment")]
pub struct CommentAnchor {
#[sdk(attr(qname = ":id"))]
pub id: crate::simple_type::StringValue,
}
#[derive(Clone, Debug, PartialEq)]
pub enum TaskHistoryEventChoice {
AssignTaskUser(std::boxed::Box<AssignTaskUser>),
UnassignTaskUser(std::boxed::Box<UnassignTaskUser>),
TaskCreateEventInfo,
TaskTitleEventInfo(std::boxed::Box<TaskTitleEventInfo>),
TaskScheduleEventInfo(std::boxed::Box<TaskScheduleEventInfo>),
TaskProgressEventInfo(std::boxed::Box<TaskProgressEventInfo>),
TaskPriorityEventInfo(std::boxed::Box<TaskPriorityEventInfo>),
TaskDeleteEventInfo,
TaskUndeleteEventInfo,
TaskUnassignAll,
TaskUndo(std::boxed::Box<TaskUndo>),
}