mirror of
https://github.com/TronoSfera/Law.git
synced 2026-05-18 18:13:46 +03:00
177 lines
5 KiB
JavaScript
177 lines
5 KiB
JavaScript
export const LS_TOKEN = "admin_access_token";
|
||
export const PAGE_SIZE = 50;
|
||
export const DEFAULT_FORM_FIELD_TYPES = ["string", "text", "number", "boolean", "date"];
|
||
export const ALL_OPERATORS = ["=", "!=", ">", "<", ">=", "<=", "~"];
|
||
|
||
export const OPERATOR_LABELS = {
|
||
"=": "=",
|
||
"!=": "!=",
|
||
">": ">",
|
||
"<": "<",
|
||
">=": ">=",
|
||
"<=": "<=",
|
||
"~": "~",
|
||
};
|
||
|
||
export const ROLE_LABELS = {
|
||
ADMIN: "Администратор",
|
||
LAWYER: "Юрист",
|
||
CURATOR: "Куратор",
|
||
};
|
||
|
||
export const STATUS_LABELS = {
|
||
NEW: "Новая",
|
||
IN_PROGRESS: "В работе",
|
||
WAITING_CLIENT: "Ожидание клиента",
|
||
WAITING_COURT: "Ожидание суда",
|
||
RESOLVED: "Решена",
|
||
CLOSED: "Закрыта",
|
||
REJECTED: "Отклонена",
|
||
};
|
||
|
||
export const INVOICE_STATUS_LABELS = {
|
||
WAITING_PAYMENT: "Ожидает оплату",
|
||
PAID: "Оплачен",
|
||
CANCELED: "Отменен",
|
||
};
|
||
|
||
export const STATUS_KIND_LABELS = {
|
||
DEFAULT: "Обычный",
|
||
INVOICE: "Выставление счета",
|
||
PAID: "Оплачено",
|
||
};
|
||
|
||
export const REQUEST_UPDATE_EVENT_LABELS = {
|
||
MESSAGE: "сообщение",
|
||
ATTACHMENT: "файл",
|
||
REQUEST_DATA: "данные",
|
||
ASSIGNMENT: "назначение",
|
||
REASSIGNMENT: "переназначение",
|
||
STATUS: "статус",
|
||
};
|
||
|
||
export const SERVICE_REQUEST_TYPE_LABELS = {
|
||
CURATOR_CONTACT: "Запрос к куратору",
|
||
LAWYER_CHANGE_REQUEST: "Смена юриста",
|
||
};
|
||
|
||
export const SERVICE_REQUEST_STATUS_LABELS = {
|
||
NEW: "Новый",
|
||
IN_PROGRESS: "В работе",
|
||
RESOLVED: "Решен",
|
||
REJECTED: "Отклонен",
|
||
};
|
||
|
||
export const KANBAN_GROUPS = [
|
||
{ key: "NEW", label: "Новые" },
|
||
{ key: "IN_PROGRESS", label: "В работе" },
|
||
{ key: "WAITING", label: "Ожидание" },
|
||
{ key: "DONE", label: "Завершены" },
|
||
];
|
||
|
||
export const TABLE_SERVER_CONFIG = {
|
||
requests: {
|
||
table: "requests",
|
||
// Requests use a specialized endpoint because it supports virtual/server-side filters
|
||
// (e.g. deadline alerts and unread notifications) that are not plain table columns.
|
||
endpoint: "/api/admin/requests/query",
|
||
sort: [{ field: "created_at", dir: "desc" }],
|
||
},
|
||
serviceRequests: {
|
||
table: "request_service_requests",
|
||
endpoint: "/api/admin/crud/request_service_requests/query",
|
||
sort: [{ field: "created_at", dir: "desc" }],
|
||
},
|
||
invoices: {
|
||
table: "invoices",
|
||
endpoint: "/api/admin/invoices/query",
|
||
sort: [{ field: "issued_at", dir: "desc" }],
|
||
},
|
||
quotes: {
|
||
table: "quotes",
|
||
endpoint: "/api/admin/crud/quotes/query",
|
||
sort: [{ field: "sort_order", dir: "asc" }],
|
||
},
|
||
topics: {
|
||
table: "topics",
|
||
endpoint: "/api/admin/crud/topics/query",
|
||
sort: [{ field: "sort_order", dir: "asc" }],
|
||
},
|
||
statuses: {
|
||
table: "statuses",
|
||
endpoint: "/api/admin/crud/statuses/query",
|
||
sort: [{ field: "sort_order", dir: "asc" }],
|
||
},
|
||
formFields: {
|
||
table: "form_fields",
|
||
endpoint: "/api/admin/crud/form_fields/query",
|
||
sort: [{ field: "sort_order", dir: "asc" }],
|
||
},
|
||
topicRequiredFields: {
|
||
table: "topic_required_fields",
|
||
endpoint: "/api/admin/crud/topic_required_fields/query",
|
||
sort: [{ field: "sort_order", dir: "asc" }],
|
||
},
|
||
topicDataTemplates: {
|
||
table: "topic_data_templates",
|
||
endpoint: "/api/admin/crud/topic_data_templates/query",
|
||
sort: [{ field: "sort_order", dir: "asc" }],
|
||
},
|
||
statusTransitions: {
|
||
table: "topic_status_transitions",
|
||
endpoint: "/api/admin/crud/topic_status_transitions/query",
|
||
sort: [{ field: "sort_order", dir: "asc" }],
|
||
},
|
||
users: {
|
||
table: "admin_users",
|
||
endpoint: "/api/admin/crud/admin_users/query",
|
||
sort: [{ field: "created_at", dir: "desc" }],
|
||
},
|
||
userTopics: {
|
||
table: "admin_user_topics",
|
||
endpoint: "/api/admin/crud/admin_user_topics/query",
|
||
sort: [{ field: "created_at", dir: "desc" }],
|
||
},
|
||
};
|
||
|
||
export const TABLE_MUTATION_CONFIG = Object.fromEntries(
|
||
Object.entries(TABLE_SERVER_CONFIG).map(([tableKey, config]) => [
|
||
tableKey,
|
||
{
|
||
create: "/api/admin/crud/" + config.table,
|
||
update: (id) => "/api/admin/crud/" + config.table + "/" + id,
|
||
delete: (id) => "/api/admin/crud/" + config.table + "/" + id,
|
||
},
|
||
])
|
||
);
|
||
|
||
TABLE_MUTATION_CONFIG.invoices = {
|
||
create: "/api/admin/invoices",
|
||
update: (id) => "/api/admin/invoices/" + id,
|
||
delete: (id) => "/api/admin/invoices/" + id,
|
||
};
|
||
|
||
export const TABLE_KEY_ALIASES = {
|
||
request_service_requests: "serviceRequests",
|
||
form_fields: "formFields",
|
||
status_groups: "statusGroups",
|
||
topic_required_fields: "topicRequiredFields",
|
||
topic_data_templates: "topicDataTemplates",
|
||
topic_status_transitions: "statusTransitions",
|
||
admin_users: "users",
|
||
admin_user_topics: "userTopics",
|
||
};
|
||
|
||
export const TABLE_UNALIASES = Object.fromEntries(Object.entries(TABLE_KEY_ALIASES).map(([table, alias]) => [alias, table]));
|
||
|
||
export const KNOWN_CONFIG_TABLE_KEYS = new Set([
|
||
"quotes",
|
||
"topics",
|
||
"statuses",
|
||
"formFields",
|
||
"topicRequiredFields",
|
||
"topicDataTemplates",
|
||
"statusTransitions",
|
||
"users",
|
||
"userTopics",
|
||
]);
|