diff --git a/apps/studio/components/interfaces/Integrations/CronJobs/CronJobRunsDataGrid.tsx b/apps/studio/components/interfaces/Integrations/CronJobs/CronJobRunsDataGrid.tsx
index 1df2da4c402..bda930cb9d4 100644
--- a/apps/studio/components/interfaces/Integrations/CronJobs/CronJobRunsDataGrid.tsx
+++ b/apps/studio/components/interfaces/Integrations/CronJobs/CronJobRunsDataGrid.tsx
@@ -1,6 +1,7 @@
import { ChevronRight, List, Timer } from 'lucide-react'
import { useRef } from 'react'
import DataGrid, { Column, DataGridHandle, Row } from 'react-data-grid'
+import { motion } from 'framer-motion'
import { SimpleCodeBlock } from '@ui/components/SimpleCodeBlock'
import { useParams } from 'common'
@@ -62,7 +63,7 @@ const CronJobRunsDataGrid = ({ updateJobState }: CronJobsDataGridProps) => {
{
id: 'runid',
name: 'RunID',
- minWidth: 100,
+ minWidth: 60,
value: (row: CronJobRun) => (
{row.runid}
@@ -179,10 +180,15 @@ const CronJobRunsDataGrid = ({ updateJobState }: CronJobsDataGridProps) => {
{currentJobState && (
<>
-
+
{currentJobState?.jobname}
-
+
>
)}
diff --git a/apps/studio/components/interfaces/Integrations/CronJobs/CronJobs.constants.tsx b/apps/studio/components/interfaces/Integrations/CronJobs/CronJobs.constants.tsx
index ec4039916f0..94fe857cba3 100644
--- a/apps/studio/components/interfaces/Integrations/CronJobs/CronJobs.constants.tsx
+++ b/apps/studio/components/interfaces/Integrations/CronJobs/CronJobs.constants.tsx
@@ -11,26 +11,26 @@ export const CRONJOB_TYPES = [
export const CRONJOB_DEFINITIONS = [
{
value: 'sql_snippet',
- icon: ,
+ icon: ,
label: 'SQL Snippet',
description: 'Write a SQL snippet to run.',
},
{
value: 'sql_function',
- icon: ,
+ icon: ,
label: 'Postgres SQL Function',
description: 'Choose a Postgres SQL functions to run.',
},
{
value: 'http_request',
- icon: ,
+ icon: ,
label: 'HTTP Request',
description: 'Send an HTTP request to any URL.',
},
{
value: 'edge_function',
- icon: ,
+ icon: ,
label: 'Supabase Edge Function',
description: 'Choose a Supabase edge function to run.',
},
diff --git a/apps/studio/components/interfaces/Integrations/CronJobs/CronJobsDataGrid.tsx b/apps/studio/components/interfaces/Integrations/CronJobs/CronJobsDataGrid.tsx
index 9ffc836ddbb..0b67a2e770b 100644
--- a/apps/studio/components/interfaces/Integrations/CronJobs/CronJobsDataGrid.tsx
+++ b/apps/studio/components/interfaces/Integrations/CronJobs/CronJobsDataGrid.tsx
@@ -21,9 +21,10 @@ import {
import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { CreateCronJobSheet } from './CreateCronJobSheet'
-import { computeNextRunFromCurrentTime } from './CronJobs.utils'
+import { computeNextRunFromCurrentTime, parseCronJobCommand } from './CronJobs.utils'
import CronJobsEmptyState from './CronJobsEmptyState'
import DeleteCronJob from './DeleteCronJob'
+import { CRONJOB_DEFINITIONS } from './CronJobs.constants'
interface CronJobsDataGridProps {
jobState: { jobId: string; selectedJob: CronJob | null }
@@ -83,15 +84,24 @@ const CronJobsDataGrid = ({ jobState, updateJobState }: CronJobsDataGridProps) =
minWidth: 120,
value: (row: CronJob) => {row.schedule}
,
},
- {
- id: 'next_run',
- name: 'Next Run',
- minWidth: 150,
- value: (row: CronJob) => (
- {computeNextRunFromCurrentTime(row.schedule, currentTime)}
- ),
- },
+ {
+ id: 'type',
+ name: 'Type',
+ minWidth: 70,
+ value: (row: CronJob) => {
+ const cronJobType = parseCronJobCommand(row.command).type
+ const definition = CRONJOB_DEFINITIONS.find((def) => def.value === cronJobType)
+ return (
+
+
+ {definition?.icon}
+
+ {definition?.label || cronJobType}
+
+ )
+ },
+ },
{
id: 'command',
name: 'Command',
@@ -124,11 +134,20 @@ const CronJobsDataGrid = ({ jobState, updateJobState }: CronJobsDataGridProps) =
name: 'Status',
minWidth: 100,
value: (row: CronJob) => (
-
+
{row.active ? 'Active' : 'Inactive'}
),
},
+ {
+ id: 'next_run',
+ name: 'Next Run',
+ minWidth: 150,
+ value: (row: CronJob) => (
+ {computeNextRunFromCurrentTime(row.schedule, currentTime)}
+ ),
+ },
+
{
id: 'edit',
name: '',