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") .ts_type("string") .required(false) .nullable() .read_only(), Field::json("doer") .ts_type("Employee") .input_ts_type("Employee") .required(false) .nullable(), Field::new("doer_name").read_only(), Field::json("author") .ts_type("Employee") .required(false) .nullable() .read_only(), Field::json("memo_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("bill_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("contract_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("contract_application_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("outgoing_letter_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("entry_letter_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("protocolitem_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("decree_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("delivery_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::new("get_status").read_only(), Field::new("get_status_class").read_only(), Field::new("get_scan_url") .required(false) .nullable() .read_only(), Field::new("get_last_day").read_only(), Field::new("frc_icon").read_only(), Field::json("uploadfile_set") .ts_type("unknown[]") .required(false) .nullable() .read_only(), Field::new("deadline"), Field::new("request_new_deadline") .required(false) .nullable() .read_only(), Field::new("plan_date") .required(false) .nullable() .read_only(), Field::new("date").read_only(), Field::json("message_set") .ts_type("unknown[]") .required(false) .nullable() .read_only(), Field::json("responsible") .ts_type("Employee") .input_ts_type("Employee") .required(false) .nullable(), Field::json("counterparty") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("get_deadline_history") .ts_type("unknown[]") .required(false) .nullable() .read_only(), Field::new("duration") .required(false) .nullable() .read_only(), Field::json("bid_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("price_agreement_full") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("transfer") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::new("text"), Field::new("status").read_only(), Field::new("result").read_only(), Field::new("complit_date") .required(false) .nullable() .read_only(), Field::new("comment").read_only(), Field::new("note").read_only(), Field::new("approve").read_only(), Field::new("archive").read_only(), Field::new("approve_date") .required(false) .nullable() .read_only(), Field::new("approve_required").read_only(), Field::new("progress_status").read_only(), Field::new("start_date") .required(false) .nullable() .read_only(), Field::new("end_date") .required(false) .nullable() .read_only(), Field::new("order_number") .required(false) .nullable() .read_only(), Field::new("priority") .required(false) .nullable() .read_only(), Field::new("typ").read_only(), Field::json("stage") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("contract") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("questionnair") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("contract_application") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("entry_letter") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("outgoing_letter") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("protocol") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("bill") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("decree") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("court_case") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("bill_register") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("price_agreement") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("bid") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("delivery") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("scheduled_task") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("report") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("memo") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("protocolitem") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("related_note") .ts_type("unknown") .required(false) .nullable() .read_only(), Field::json("task") .ts_type("unknown") .required(false) .nullable() .read_only(), ]; static MESSAGE_FIELDS: &[Field] = &[ Field::new("id").read_only(), Field::new("task").source("task_id"), Field::new("recipient").source("employee_id"), Field::new("text"), Field::new("status"), ]; 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) }