use che_tauri::{Field, ModelSerializer}; use super::models::{Employee, Message, Task, TaskTransfer}; static EMPLOYEE_FIELDS: &[Field] = &[ Field::new("id").read_only(), Field::new("name"), Field::new("short_name"), Field::new("avatar_small").required(false).nullable(), ]; static TASK_FIELDS: &[Field] = &[ Field::new("id").read_only(), Field::json("project").required(false).nullable(), Field::json("doer").required(false).nullable(), Field::new("doer_name"), Field::json("author").required(false).nullable(), Field::json("memo_full").required(false).nullable(), Field::json("bill_full").required(false).nullable(), Field::json("contract_full").required(false).nullable(), Field::json("contract_application_full") .required(false) .nullable(), Field::json("outgoing_letter_full") .required(false) .nullable(), Field::json("entry_letter_full").required(false).nullable(), Field::json("protocolitem_full").required(false).nullable(), Field::json("decree_full").required(false).nullable(), Field::json("delivery_full").required(false).nullable(), Field::new("get_status"), Field::new("get_status_class"), Field::new("get_scan_url").required(false).nullable(), Field::new("get_last_day"), Field::new("frc_icon"), Field::json("uploadfile_set").required(false).nullable(), Field::new("deadline"), Field::new("request_new_deadline") .required(false) .nullable(), Field::new("plan_date").required(false).nullable(), Field::new("date"), Field::json("message_set").required(false).nullable(), Field::json("responsible").required(false).nullable(), Field::json("counterparty").required(false).nullable(), Field::json("get_deadline_history") .required(false) .nullable(), Field::new("duration").required(false).nullable(), Field::json("bid_full").required(false).nullable(), Field::json("price_agreement_full") .required(false) .nullable(), Field::json("transfer").required(false).nullable(), Field::new("text"), Field::new("status"), Field::new("result"), Field::new("complit_date").required(false).nullable(), Field::new("comment"), Field::new("note"), Field::new("approve"), Field::new("archive"), Field::new("approve_date").required(false).nullable(), Field::new("approve_required"), Field::new("progress_status"), Field::new("start_date").required(false).nullable(), Field::new("end_date").required(false).nullable(), Field::new("order_number").required(false).nullable(), Field::new("priority").required(false).nullable(), Field::new("typ"), Field::json("stage").required(false).nullable(), Field::json("contract").required(false).nullable(), Field::json("questionnair").required(false).nullable(), Field::json("contract_application") .required(false) .nullable(), Field::json("entry_letter").required(false).nullable(), Field::json("outgoing_letter").required(false).nullable(), Field::json("protocol").required(false).nullable(), Field::json("bill").required(false).nullable(), Field::json("decree").required(false).nullable(), Field::json("court_case").required(false).nullable(), Field::json("bill_register").required(false).nullable(), Field::json("price_agreement").required(false).nullable(), Field::json("bid").required(false).nullable(), Field::json("delivery").required(false).nullable(), Field::json("scheduled_task").required(false).nullable(), Field::json("report").required(false).nullable(), Field::json("memo").required(false).nullable(), Field::json("protocolitem").required(false).nullable(), Field::json("related_note").required(false).nullable(), Field::json("task").required(false).nullable(), ]; static MESSAGE_FIELDS: &[Field] = &[ Field::new("id").read_only(), Field::new("task_id"), Field::new("employee_id"), Field::new("text"), ]; static TASK_TRANSFER_FIELDS: &[Field] = &[ Field::new("id").read_only(), Field::json("employee_from").required(false).nullable(), Field::json("employee_to").required(false).nullable(), Field::new("date_create").read_only(), Field::json("task").required(false).nullable(), Field::new("status"), Field::new("typ"), ]; pub fn employee_serializer() -> ModelSerializer { ModelSerializer::new(EMPLOYEE_FIELDS) } pub fn task_serializer() -> ModelSerializer { ModelSerializer::new(TASK_FIELDS) } pub fn message_serializer() -> ModelSerializer { ModelSerializer::new(MESSAGE_FIELDS) } pub fn task_transfer_serializer() -> ModelSerializer { ModelSerializer::new(TASK_TRANSFER_FIELDS) }