306 lines
7.9 KiB
Rust
306 lines
7.9 KiB
Rust
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<Employee> {
|
|
ModelSerializer::new(EMPLOYEE_FIELDS)
|
|
}
|
|
|
|
pub fn task_serializer() -> ModelSerializer<Task> {
|
|
ModelSerializer::new(TASK_FIELDS)
|
|
}
|
|
|
|
pub fn message_serializer() -> ModelSerializer<Message> {
|
|
ModelSerializer::new(MESSAGE_FIELDS)
|
|
}
|
|
|
|
pub fn task_transfer_serializer() -> ModelSerializer<TaskTransfer> {
|
|
ModelSerializer::new(TASK_TRANSFER_FIELDS)
|
|
}
|