11import { apply as applyJsonLogic } from 'json-logic-js' ;
22import { cloneDeep , pick } from 'lodash-es' ;
3- import { TABLE_NAME_TASKS } from '@/share/core/constant' ;
3+ import { APIs , EVENTs , TABLE_NAME_TASKS } from '@/share/core/constant' ;
44import emitter from '@/share/core/emitter' ;
55import logger from '@/share/core/logger' ;
6+ import notify from '@/share/core/notify' ;
67import { getLocal , getSession , readStorage } from '@/share/core/storage' ;
78import type { Task , TaskRun } from '@/share/core/types' ;
89import { sleep } from '@/share/core/utils' ;
@@ -86,7 +87,12 @@ export async function saveTask(taskInfo: Task) {
8687 ) ;
8788 Object . assign ( original , copy ) ;
8889 await pifyIDBRequest ( os . put ( original ) ) ;
89- emitter . emit ( emitter . INNER_TASK_UPDATE , { task : original } ) ;
90+ emitter . emit ( emitter . INNER_TASK_UPDATE , original ) ;
91+ notify . other ( {
92+ method : APIs . ON_EVENT ,
93+ event : EVENTs . TASK_SAVE ,
94+ task : original ,
95+ } ) ;
9096 if ( cachedTasks [ taskInfo . key ] ) {
9197 cachedTasks [ taskInfo . key ] = taskInfo ;
9298 }
@@ -95,7 +101,12 @@ export async function saveTask(taskInfo: Task) {
95101
96102 // Create
97103 await pifyIDBRequest ( os . add ( taskInfo ) ) ;
98- emitter . emit ( emitter . INNER_TASK_UPDATE , { task : taskInfo } ) ;
104+ emitter . emit ( emitter . INNER_TASK_UPDATE , taskInfo ) ;
105+ notify . other ( {
106+ method : APIs . ON_EVENT ,
107+ event : EVENTs . TASK_SAVE ,
108+ task : taskInfo ,
109+ } ) ;
99110 if ( cachedTasks [ taskInfo . key ] ) {
100111 cachedTasks [ taskInfo . key ] = taskInfo ;
101112 }
@@ -126,6 +137,11 @@ export async function removeTask(key: string) {
126137 if ( k . length > 0 ) getLocal ( ) . remove ( k ) ;
127138 } ) ;
128139 }
140+ notify . other ( {
141+ method : APIs . ON_EVENT ,
142+ event : EVENTs . TASK_DELETE ,
143+ key,
144+ } ) ;
129145 emitter . emit ( emitter . INNER_TASK_REMOVE , { key } ) ;
130146}
131147
0 commit comments