From ab9a8ae8c48da0fdf8d392ff5efb25a02967b181 Mon Sep 17 00:00:00 2001 From: Haqeem Solehan <93633646+julap99@users.noreply.github.com> Date: Fri, 30 May 2025 12:01:32 +0800 Subject: [PATCH] Implement batch processing and queue management features, including new pages for batch scheduling, queue monitoring, rate limiting, and retry logic. Update existing components for improved camel case conversion and remove unused navigation items. --- components/RsTable.vue | 9 +- navigation/index.js | 12 - pages/notification/queue-scheduler/batch.vue | 706 ++++++++++++++++ pages/notification/queue-scheduler/index.vue | 275 ++++++- .../notification/queue-scheduler/monitor.vue | 503 ++++++++++++ .../queue-scheduler/rate-limit.vue | 768 ++++++++++++++++++ pages/notification/queue-scheduler/retry.vue | 692 ++++++++++++++++ .../notification/queue-scheduler/timezone.vue | 707 ++++++++++++++++ 8 files changed, 3655 insertions(+), 17 deletions(-) create mode 100644 pages/notification/queue-scheduler/batch.vue create mode 100644 pages/notification/queue-scheduler/monitor.vue create mode 100644 pages/notification/queue-scheduler/rate-limit.vue create mode 100644 pages/notification/queue-scheduler/retry.vue create mode 100644 pages/notification/queue-scheduler/timezone.vue diff --git a/components/RsTable.vue b/components/RsTable.vue index b4116a1..057ba28 100644 --- a/components/RsTable.vue +++ b/components/RsTable.vue @@ -116,11 +116,14 @@ const spacingCharactertoCamelCase = (array) => { let result = []; array.forEach((element) => { - if (element.charAt(0) == element.charAt(0).toUpperCase()) { + // Handle both string elements and object elements with key property + const stringElement = typeof element === 'string' ? element : element.key; + + if (stringElement && stringElement.charAt(0) == stringElement.charAt(0).toUpperCase()) { // Camelcase the string and remove spacing // and if there is () in the string, do Uppercase inside the () and dont spacing it - let camelCase = element + let camelCase = stringElement .replace(/([A-Z])/g, " $1") .replace(/^./, (str) => { return str.toUpperCase(); @@ -133,7 +136,7 @@ const spacingCharactertoCamelCase = (array) => { result.push(resultCamelCase); } else { - result.push(element); + result.push(stringElement); } }); diff --git a/navigation/index.js b/navigation/index.js index 6267931..6c10fbd 100644 --- a/navigation/index.js +++ b/navigation/index.js @@ -10,18 +10,6 @@ export default [ child: [], meta: {}, }, - { - title: "Notes", - path: "/notes", - icon: "", - child: [], - }, - { - title: "Metabase", - path: "/metabase", - icon: "", - child: [], - }, ], meta: {}, }, diff --git a/pages/notification/queue-scheduler/batch.vue b/pages/notification/queue-scheduler/batch.vue new file mode 100644 index 0000000..c543457 --- /dev/null +++ b/pages/notification/queue-scheduler/batch.vue @@ -0,0 +1,706 @@ + + + + + \ No newline at end of file diff --git a/pages/notification/queue-scheduler/index.vue b/pages/notification/queue-scheduler/index.vue index 677f24b..a1a1f6d 100644 --- a/pages/notification/queue-scheduler/index.vue +++ b/pages/notification/queue-scheduler/index.vue @@ -1,7 +1,278 @@ - + diff --git a/pages/notification/queue-scheduler/monitor.vue b/pages/notification/queue-scheduler/monitor.vue new file mode 100644 index 0000000..8c84062 --- /dev/null +++ b/pages/notification/queue-scheduler/monitor.vue @@ -0,0 +1,503 @@ + + + + + diff --git a/pages/notification/queue-scheduler/rate-limit.vue b/pages/notification/queue-scheduler/rate-limit.vue new file mode 100644 index 0000000..6451a07 --- /dev/null +++ b/pages/notification/queue-scheduler/rate-limit.vue @@ -0,0 +1,768 @@ + + + + + \ No newline at end of file diff --git a/pages/notification/queue-scheduler/retry.vue b/pages/notification/queue-scheduler/retry.vue new file mode 100644 index 0000000..9881b07 --- /dev/null +++ b/pages/notification/queue-scheduler/retry.vue @@ -0,0 +1,692 @@ + + + + + \ No newline at end of file diff --git a/pages/notification/queue-scheduler/timezone.vue b/pages/notification/queue-scheduler/timezone.vue new file mode 100644 index 0000000..fb9083b --- /dev/null +++ b/pages/notification/queue-scheduler/timezone.vue @@ -0,0 +1,707 @@ + + + + + \ No newline at end of file