Interface
12126Interface Overview
_resource Structure
CREATE TABLE `_resource` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`accessControlTable` varchar(255) DEFAULT NULL COMMENT 'Data rule control table',
`resourceHook` text COMMENT '[ "before": {"service": "xx", "serviceFunction": "xxx"}, "after": [] }',
`pageId` varchar(255) DEFAULT NULL COMMENT 'Page ID; E.g: index',
`actionId` varchar(255) DEFAULT NULL COMMENT 'Action ID; E.g: selectXXXByXXX',
`desc` varchar(255) DEFAULT NULL COMMENT 'Description',
`resourceType` varchar(255) DEFAULT NULL COMMENT 'Resource type; E.g: auth service sql',
`appDataSchema` text COMMENT 'AppData parameter validation',
`resourceData` text COMMENT 'Resource data; { "service": "auth", "serviceFunction": "passwordLogin" } or { "table": "${tableName}", "action": "select" }',
`requestDemo` text COMMENT 'Request Demo',
`responseDemo` text COMMENT 'Response Demo',
`operation` varchar(255) DEFAULT 'insert' COMMENT 'Operation; insert, update, jhInsert, jhUpdate, jhDelete, jhRestore',
`operationByUserId` varchar(255) DEFAULT NULL COMMENT 'Operator userId',
`operationByUser` varchar(255) DEFAULT NULL COMMENT 'Operator username',
`operationAt` varchar(255) DEFAULT NULL COMMENT 'Operation time; E.g: 2021-05-28T10:24:54+08:00 ',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 729 DEFAULT CHARSET = utf8mb4 COMMENT = 'Request resource table; resourceId=`${appId}.${pageId}.${actionId}`'_resource Content
| id | desc | pageId | actionId | resourceType | resourceHook | resourceData |
|---|---|---|---|---|---|---|
| 101 | ✅ File chunk download - Get chunk info | allPage | getChunkInfo | service | null | { "service": "file", "serviceFunction": "getChunkInfo" } |
| 102 | ✅ File chunk upload - All chunks uploaded | allPage | uploadFileDone | service | null | { "service": "file", "serviceFunction": "uploadFileDone" } |
| 105 | ✅ File chunk upload - HTTP file stream | allPage | httpUploadByStream | service | null | { "service": "file", "serviceFunction": "uploadFileChunkByStream" } |
| 106 | ✅ File chunk upload - HTTP base64 | allPage | httpUploadByBase64 | service | null | { "service": "file", "serviceFunction": "uploadFileChunkByBase64" } |
| 107 | ✅ File chunk upload - Socket file stream | allPage | socketUploadByStream | service | null | { "service": "file", "serviceFunction": "uploadFileChunkByBuffer" } |
| 108 | ✅ File chunk upload - Socket base64 | allPage | socketUploadByBase64 | service | null | { "service": "file", "serviceFunction": "uploadFileChunkByBase64" } |
| 112 | ✅ File chunk download - HTTP base64 | allPage | httpDownloadByBase64 | service | null | { "service": "file", "serviceFunction": "downloadFileChunkByBase64" } |
| 113 | ✅ File chunk download - Socket file stream | allPage | socketDownloadByStream | service | null | { "service": "file", "serviceFunction": "downloadFileChunkByBuffer" } |
| 114 | ✅ File chunk download - Socket base64 | allPage | socketDownloadByBase64 | service | null | { "service": "file", "serviceFunction": "downloadFileChunkByBase64" } |
| 299 | ✅ Password login | login | passwordLogin | service | null | { "service": "user", "serviceFunction": "passwordLogin" } |
| 301 | ✅ Get global constants | allPage | getConstantList | sql | null | { "table": "_constant", "operation": "select" } |
| 302 | ✅ User information | allPage | userInfo | service | null | { "service": "user", "serviceFunction": "userInfo" } |
| 303 | ✅ Upload base64 file | allPage | uploadByBase64 | service | null | { "service": "file", "serviceFunction": "uploadByBase64" } |
| 304 | ✅ Upload stream file | allPage | uploadByStream | service | null | { "service": "file", "serviceFunction": "uploadByStream" } |
| 305 | ✅ Logout | allPage | logout | service | null | { "service": "user", "serviceFunction": "logout" } |
| 332 | ✅ Set user information | user | setUserDetail | service | null | { "service": "duoxingUser", "serviceFunction": "setUserDetail" } |
| 334 | ✅ Change user password | user | resetPassword | service | null | { "service": "user", "serviceFunction": "resetPassword" } |
| 339 | ✅ Query user list | agentManagement | getItemList | sql | null | { "table": "_user", "operation": "select" } |
| 340 | ✅ Insert new user | agentManagement | addUser | service | null | { "service": "userManagement", "serviceFunction": "addUser" } |
| 341 | ✅ Update user | agentManagement | setItem | sql | null | { "table": "_user", "operation": "jhUpdate" } |
| 343 | ✅ Reset user password | agentManagement | resetUserPassword | service | null | { "service": "userManagement", "serviceFunction": "resetUserPassword" } |
| 347 | ✅ Get list of data in use for specified table | recordHistoryManagement | selectOnUseItemListByTable | service | null | { "service": "recordHistory", "serviceFunction": "selectOnUseItemListByTable" } |
| 348 | ✅ Get list of deleted data for specified table | recordHistoryManagement | selectDeletedItemListByTable | service | null | { "service": "recordHistory", "serviceFunction": "selectDeletedItemListByTable" } |
| 349 | ✅ Get data history table | recordHistoryManagement | selectItemList | sql | null | { "table": "_record_history", "operation": "select" } |
| 350 | ✅ Restore data | recordHistoryManagement | restoreRecordByRecordHistory | service | null | { "service": "recordHistory", "serviceFunction": "restoreRecordByRecordHistory" } |
| 351 | ✅ Query user information | chat | getUserInfo | sql | null | { "table": "_view02_user", "operation": "select" } |
| 367 | ✅ Chat session list | chat | getChatSession | service | null | { "service": "duoxingMessage", "serviceFunction": "getChatSession" } |
| 368 | ✅ Message list [search history] | chat | getMessageHistory | service | null | { "service": "duoxingMessage", "serviceFunction": "getMessageHistory" } |
| 369 | ✅ Message list [search latest] | chat | getMessageHistoryByMaxId | service | null | { "service": "duoxingMessage", "serviceFunction": "getMessageHistory" } |
| 370 | ✅ Revoke message | chat | revokeMessage | service | null | { "service": "duoxingMessage", "serviceFunction": "revokeMessage" } |
| 371 | ✅ Delete offline message | chat | delMessageOffline | service | null | { "service": "duoxingMessage", "serviceFunction": "delMessageOffline" } |
| 374 | ✅ Pin chat session | chat | toggleChatSession | service | null | { "service": "duoxingMessage", "serviceFunction": "toggleChatSession" } |
| 375 | ✅ Delete chat session | chat | deleteChatSession | service | null | { "service": "duoxingMessage", "serviceFunction": "deleteChatSession" } |
| 501 | ✅ Socket connection authentication and session creation | socket | connect | service | { "service": "duoxingSocket", "serviceFunction": "connect" } | |
| 502 | ✅ Socket close connection | socket | disconnect | service | null | { "service": "duoxingSocket", "serviceFunction": "disconnect" } |
| 503 | ✅ Socket send one-to-one chat message | socket | userSendMessageToUser | service | null | { "service": "duoxingSocket", "serviceFunction": "userSendMessageToUser" } |
| 504 | ✅ Socket send group chat message | socket | userSendMessageToRoom | service | null | { "service": "duoxingSocket", "serviceFunction": "userSendMessageToRoom" } |
| 505 | ✅ constantUiList - Query list | constantUiList | selectItemList | sql | null | { "table": "web_constant_ui", "operation": "select" } |
| 506 | ✅ constantUiList - Add member | constantUiList | insertItem | sql | null | { "table": "web_constant_ui", "operation": "insert" } |
| 507 | ✅ constantUiList - Update member | constantUiList | updateItem | sql | null | { "table": "web_constant_ui", "operation": "jhUpdate" } |
| 508 | ✅ constantUiList - Delete information | constantUiList | deleteItem | sql | null | { "table": "web_constant_ui", "operation": "jhDelete" } |
| 701 | ✅ Visitor message | visitor | sendVisitorTicket | service | null | { "service": "visitor", "serviceFunction": "visitorTicket" } |
| 702 | ✅ Message list | visitorTicketManagement | getVisitorTicketList | sql | null | { "table": "visitor_ticket", "operation": "select" } |
| 703 | ✅ Get customer service online status | visitor | getAgentOnlineStatus | service | null | { "service": "visitor", "serviceFunction": "getAgentOnlineStatus" } |
| 704 | ✅ Visitor login | visitor | visitorLogin | service | null | { "service": "visitor", "serviceFunction": "visitorLogin" } |
| 705 | ✅ Update message read status | visitorTicketManagement | updateTicketReadStatus | sql | null | { "table": "visitor_ticket", "operation": "jhUpdate" } |
| 706 | ✅ Update visitor information | visitor | updateItem | sql | null | { "table": "visitor", "operation": "jhUpdate" } |
| 707 | ✅ Get unassigned visitor chat list | chat | getUnassignedRoomList | service | null | { "service": "agent", "serviceFunction": "getUnassignedRoomList" } |
| 708 | ✅ Get groups I have received | chat | getMyRoomList | service | null | { "service": "agent", "serviceFunction": "getMyRoomList" } |
| 709 | ✅ Get assigned chat list | chat | getAssignedGroupList | service | null | { "service": "agent", "serviceFunction": "getAssignedRoomList" } |
| 710 | ✅ Customer service actively receives visitor | chat | checkAndReceiptVisitor | service | null | { "service": "agent", "serviceFunction": "checkAndReceiptVisitor" } |
| 711 | ✅ Get group information (group member list) | chat | getRoomInfo | service | { "before": [ { "service": "duoxingRoom", "serviceFunction": "roomOpeartionBeforeHook" } ], "after": [] } | { "service": "duoxingRoom", "serviceFunction": "getRoomInfo" } |
| 712 | ✅ Query visitor list | visitorManagement | getItemList | sql | null | { "table": "visitor", "operation": "select" } |
| 720 | index | getUserSession | sql | null | { "table": "_user_session", "operation": "select" } | |
| 722 | ✅ Message list [including username] | visitor | getVisitorTicketList | sql | null | { "table": "view01_visitor_ticket", "operation": "select" } |
| 723 | ✅ Update visitor information | visitorManagement | updateVisitor | service | null | { "service": "visitor", "serviceFunction": "updateVisitor" } |
| 724 | ✅ Clear unread chat messages, mark messages as read | chat | cleanChatSessionUnreadCount | service | null | { "service": "duoxingMessage", "serviceFunction": "cleanChatSessionUnreadCount" } |
| 725 | ✅ UI configuration editing - Query list | constantUiEditor | getItemInfo | sql | null | { "table": "web_constant_ui", "operation": "select" } |
| 726 | ✅ UI configuration editing - Add data | constantUiEditor | insertItem | sql | null | { "table": "web_constant_ui", "operation": "insert" } |
| 727 | ✅ UI configuration editing - Update data | constantUiEditor | updateItem | sql | null | { "table": "web_constant_ui", "operation": "jhUpdate" } |
| 728 | ✅ Get visitor statistics information | chat | getVisitorStatistic | service | null | { "service": "agent", "serviceFunction": "getVisitorStatistic" } |
_resource Statements
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (101, NULL, NULL, 'allPage', 'getChunkInfo', '✅ File chunk download - Get chunk info', 'service', '{}', '{ "service": "file", "serviceFunction": "getChunkInfo" }', '', '', 'update', NULL, NULL, '2022-03-10T22:27:32+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (102, NULL, NULL, 'allPage', 'uploadFileDone', '✅ File chunk upload - All chunks uploaded', 'service', '{}', '{ "service": "file", "serviceFunction": "uploadFileDone" }', '', '', 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (105, NULL, NULL, 'allPage', 'httpUploadByStream', '✅ File chunk upload - HTTP file stream', 'service', '{}', '{ "service": "file", "serviceFunction": "uploadFileChunkByStream" }', '', '', 'update', NULL, NULL, '2022-03-10T22:27:32+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (106, NULL, NULL, 'allPage', 'httpUploadByBase64', '✅ File chunk upload - HTTP base64', 'service', '{}', '{ "service": "file", "serviceFunction": "uploadFileChunkByBase64" }', '', '', 'update', NULL, NULL, '2022-03-10T22:27:32+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (107, NULL, NULL, 'allPage', 'socketUploadByStream', '✅ File chunk upload - Socket file stream', 'service', '{}', '{ "service": "file", "serviceFunction": "uploadFileChunkByBuffer" }', '', '', 'update', NULL, NULL, '2022-03-10T22:27:32+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (108, NULL, NULL, 'allPage', 'socketUploadByBase64', '✅ File chunk upload - Socket base64', 'service', '{}', '{ "service": "file", "serviceFunction": "uploadFileChunkByBase64" }', '', '', 'update', NULL, NULL, '2022-03-10T22:27:32+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (112, NULL, NULL, 'allPage', 'httpDownloadByBase64', '✅ File chunk download - HTTP base64', 'service', '{}', '{ "service": "file", "serviceFunction": "downloadFileChunkByBase64" }', '', '', 'update', NULL, NULL, '2022-03-10T22:27:32+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (113, NULL, NULL, 'allPage', 'socketDownloadByStream', '✅ File chunk download - Socket file stream', 'service', '{}', '{ "service": "file", "serviceFunction": "downloadFileChunkByBuffer" }', '', '', 'update', NULL, NULL, '2022-03-10T22:27:32+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (114, NULL, NULL, 'allPage', 'socketDownloadByBase64', '✅ File chunk download - Socket base64', 'service', '{}', '{ "service": "file", "serviceFunction": "downloadFileChunkByBase64" }', '', '', 'update', NULL, NULL, '2022-03-10T22:27:32+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (299, NULL, NULL, 'login', 'passwordLogin', '✅ Password login', 'service', '{}', '{ "service": "user", "serviceFunction": "passwordLogin" }', '', '', 'update', NULL, NULL, '2022-03-12T21:41:08+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (301, NULL, NULL, 'allPage', 'getConstantList', '✅ Get global constants', 'sql', '{}', '{ "table": "_constant", "operation": "select" }', '', '', 'update', NULL, NULL, '2022-03-12T21:42:43+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (302, NULL, NULL, 'allPage', 'userInfo', '✅ User information', 'service', '{}', '{ "service": "user", "serviceFunction": "userInfo" }', '', '', 'update', NULL, NULL, '2022-03-05T21:44:23+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (303, NULL, NULL, 'allPage', 'uploadByBase64', '✅ Upload base64 file', 'service', '{}', '{ "service": "file", "serviceFunction": "uploadByBase64" }', '', '', 'update', NULL, NULL, '2022-03-10T22:34:20+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (304, NULL, NULL, 'allPage', 'uploadByStream', '✅ Upload stream file', 'service', '{}', '{ "service": "file", "serviceFunction": "uploadByStream" }', '', '', 'update', NULL, NULL, '2022-03-10T22:27:32+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (305, NULL, NULL, 'allPage', 'logout', '✅ Logout', 'service', '{}', '{ "service": "user", "serviceFunction": "logout" }', '', '', 'update', NULL, NULL, '2022-03-12T21:41:03+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (332, NULL, NULL, 'user', 'setUserDetail', '✅ Set user information', 'service', '{}', '{ "service": "duoxingUser", "serviceFunction": "setUserDetail" }', '', '', 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (334, NULL, NULL, 'user', 'resetPassword', '✅ Change user password', 'service', '{}', '{ "service": "user", "serviceFunction": "resetPassword" }', '', '', 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (339, NULL, NULL, 'agentManagement', 'getItemList', '✅ Query user list', 'sql', '{}', '{ "table": "_user", "operation": "select" }', '', '', 'update', NULL, NULL, '2022-03-05T21:44:23+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (340, NULL, NULL, 'agentManagement', 'addUser', '✅ Insert new user', 'service', '{}', '{ "service": "userManagement", "serviceFunction": "addUser" }', '', '', 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (341, NULL, NULL, 'agentManagement', 'setItem', '✅ Update user', 'sql', '{}', '{ "table": "_user", "operation": "jhUpdate" }', '', '', 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (343, NULL, NULL, 'agentManagement', 'resetUserPassword', '✅ Reset user password', 'service', '{}', '{ "service": "userManagement", "serviceFunction": "resetUserPassword" }', '', '', 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (347, NULL, NULL, 'recordHistoryManagement', 'selectOnUseItemListByTable', '✅ Get list of data in use for specified table', 'service', NULL, '{ "service": "recordHistory", "serviceFunction": "selectOnUseItemListByTable" }', '', '', 'update', NULL, NULL, '2022-02-21T19:58:23+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (348, NULL, NULL, 'recordHistoryManagement', 'selectDeletedItemListByTable', '✅ Get list of deleted data for specified table', 'service', NULL, '{ "service": "recordHistory", "serviceFunction": "selectDeletedItemListByTable" }', '', '', 'update', NULL, NULL, '2022-02-21T19:58:21+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (349, NULL, NULL, 'recordHistoryManagement', 'selectItemList', '✅ Get data history table', 'sql', NULL, '{ "table": "_record_history", "operation": "select" }', '', '', 'update', NULL, NULL, '2022-02-21T19:58:30+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (350, NULL, NULL, 'recordHistoryManagement', 'restoreRecordByRecordHistory', '✅ Restore data', 'service', NULL, '{ "service": "recordHistory", "serviceFunction": "restoreRecordByRecordHistory" }', '', '', 'update', NULL, NULL, '2022-02-21T00:47:08+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (351, NULL, NULL, 'chat', 'getUserInfo', '✅ Query user information', 'sql', '{}', '{ "table": "_view02_user", "operation": "select" }', '', '', 'update', NULL, NULL, '2022-03-12T21:42:14+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (367, NULL, NULL, 'chat', 'getChatSession', '✅ Chat session list', 'service', '{}', '{ "service": "duoxingMessage", "serviceFunction": "getChatSession" }', '', '', 'update', NULL, NULL, '2022-03-12T21:42:13+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (368, NULL, NULL, 'chat', 'getMessageHistory', '✅ Message list [search history]', 'service', '{}', '{ "service": "duoxingMessage", "serviceFunction": "getMessageHistory" }', '', '', 'update', NULL, NULL, '2022-03-12T21:42:15+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (369, NULL, NULL, 'chat', 'getMessageHistoryByMaxId', '✅ Message list [search latest]', 'service', '{}', '{ "service": "duoxingMessage", "serviceFunction": "getMessageHistory" }', '', '', 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (370, NULL, NULL, 'chat', 'revokeMessage', '✅ Revoke message', 'service', '{}', '{ "service": "duoxingMessage", "serviceFunction": "revokeMessage" }', '', '', 'update', NULL, NULL, '2022-03-12T21:07:46+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (371, NULL, NULL, 'chat', 'delMessageOffline', '✅ Delete offline message', 'service', '{}', '{ "service": "duoxingMessage", "serviceFunction": "delMessageOffline" }', '', '', 'update', NULL, NULL, '2022-03-12T21:40:51+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (374, NULL, NULL, 'chat', 'toggleChatSession', '✅ Pin chat session', 'service', '{}', '{ "service": "duoxingMessage", "serviceFunction": "toggleChatSession" }', '', '', 'update', NULL, NULL, '2022-03-11T21:57:48+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (375, NULL, NULL, 'chat', 'deleteChatSession', '✅ Delete chat session', 'service', '{}', '{ "service": "duoxingMessage", "serviceFunction": "deleteChatSession" }', '', '', 'update', NULL, NULL, '2022-03-10T20:57:28+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (501, NULL, '', 'socket', 'connect', '✅ Socket connection authentication and session creation', 'service', '{}', '{ "service": "duoxingSocket", "serviceFunction": "connect" }', '', '', 'update', NULL, NULL, '2022-03-12T21:35:05+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (502, NULL, NULL, 'socket', 'disconnect', '✅ Socket close connection', 'service', '{}', '{ "service": "duoxingSocket", "serviceFunction": "disconnect" }', '', '', 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (503, NULL, NULL, 'socket', 'userSendMessageToUser', '✅ Socket send one-to-one chat message', 'service', '{}', '{ "service": "duoxingSocket", "serviceFunction": "userSendMessageToUser" }', '', '', 'update', NULL, NULL, '2022-03-12T21:08:02+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (504, NULL, NULL, 'socket', 'userSendMessageToRoom', '✅ Socket send group chat message', 'service', '{}', '{ "service": "duoxingSocket", "serviceFunction": "userSendMessageToRoom" }', '', '', 'update', NULL, NULL, '2022-03-12T20:28:15+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (505, NULL, NULL, 'constantUiList', 'selectItemList', '✅ constantUiList - Query list', 'sql', '{}', '{"table": "web_constant_ui", "operation": "select"}', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (506, NULL, NULL, 'constantUiList', 'insertItem', '✅ constantUiList - Add member', 'sql', '{}', '{"table": "web_constant_ui", "operation": "insert"}', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (507, NULL, NULL, 'constantUiList', 'updateItem', '✅ constantUiList - Update member', 'sql', '{}', '{"table": "web_constant_ui", "operation": "jhUpdate"}', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (508, NULL, NULL, 'constantUiList', 'deleteItem', '✅ constantUiList - Delete information', 'sql', '{}', '{"table": "web_constant_ui", "operation": "jhDelete"}', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (701, NULL, NULL, 'visitor', 'sendVisitorTicket', '✅ Visitor message', 'service', '{}', '{ "service": "visitor", "serviceFunction": "visitorTicket" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (702, NULL, NULL, 'visitorTicketManagement', 'getVisitorTicketList', '✅ Message list', 'sql', '{}', '{ "table": "visitor_ticket", "operation": "select" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (703, NULL, NULL, 'visitor', 'getAgentOnlineStatus', '✅ Get customer service online status', 'service', NULL, '{ "service": "visitor", "serviceFunction": "getAgentOnlineStatus" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (704, NULL, NULL, 'visitor', 'visitorLogin', ' ✅ Visitor login', 'service', NULL, '{ "service": "visitor", "serviceFunction": "visitorLogin" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (705, NULL, NULL, 'visitorTicketManagement', 'updateTicketReadStatus', '✅ Update message read status', 'sql', NULL, '{ "table": "visitor_ticket", "operation": "jhUpdate" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (706, NULL, NULL, 'visitor', 'updateItem', '✅ Update visitor information', 'sql', NULL, '{ "table": "visitor", "operation": "jhUpdate" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (707, NULL, NULL, 'chat', 'getUnassignedRoomList', '✅ Get unassigned visitor chat list', 'service', NULL, '{ "service": "agent", "serviceFunction": "getUnassignedRoomList" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (708, NULL, NULL, 'chat', 'getMyRoomList', '✅ Get groups I have received', 'service', NULL, '{ "service": "agent", "serviceFunction": "getMyRoomList" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (709, NULL, NULL, 'chat', 'getAssignedGroupList', '✅ Get assigned chat list', 'service', NULL, '{ "service": "agent", "serviceFunction": "getAssignedRoomList" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (710, NULL, NULL, 'chat', 'checkAndReceiptVisitor', '✅ Customer service actively receives visitor', 'service', NULL, '{ "service": "agent", "serviceFunction": "checkAndReceiptVisitor" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (711, NULL, '{ "before": [{ "service": "duoxingRoom", "serviceFunction": "roomOpeartionBeforeHook" }], "after": [] }', 'chat', 'getRoomInfo', '✅ Get group information (group member list)', 'service', '{}', '{ "service": "duoxingRoom", "serviceFunction": "getRoomInfo" }', NULL, NULL, 'update', NULL, NULL, '2022-03-12T21:41:25+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (712, NULL, NULL, 'visitorManagement', 'getItemList', '✅ Query visitor list', 'sql', '{}', '{ "table": "visitor", "operation": "select" }', '', '', 'update', NULL, NULL, '2022-03-05T21:44:23+08:00');
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema, resourceData, requestDemo, responseDemo, operation, operationByUserId, operationByUser, operationAt) VALUES (720, NULL, NULL, 'index', 'getUserSession', NULL, 'sql', NULL, '{ "table": "_user_session", "operation": "select" }', NULL, NULL, 'insert', NULL, NULL, NULL);
INSERT INTO _resource (id, accessControlTable, resourceHook, pageId, actionId, desc, resourceType, appDataSchema