@@ -47,12 +47,22 @@ export class SequenceQueue extends OfflineQueue<ISequence> {
4747
4848 let latest = null ;
4949
50- if ( timer . isStartedOffline ) {
50+ if ( timer . isStartedOffline && timer . timelogId ) {
51+ latest = await this . _timeTrackerService . getTimeLogById ( timer . timelogId ) ;
52+ } else if ( timer . isStartedOffline && ! timer . stoppedAt ) {
5153 console . log ( '⏱ - Silent start' ) ;
5254 latest = await this . _timeTrackerService . toggleApiStart ( {
5355 ...timer ,
5456 ...params
5557 } ) ;
58+ } else if ( timer . isStartedOffline && ! timer . timelogId && timer . startedAt && timer . stoppedAt ) {
59+ latest = await this . _timeTrackerService . addTimeLog ( {
60+ startedAt : timer . startedAt ,
61+ stoppedAt : timer . stoppedAt ,
62+ taskId : timer . taskId ,
63+ projectId : timer . projectId ,
64+ description : timer . description
65+ } ) ;
5666 }
5767
5868 console . log ( '🛠 - Create queue' ) ;
@@ -78,10 +88,31 @@ export class SequenceQueue extends OfflineQueue<ISequence> {
7888
7989 if ( timer . isStoppedOffline ) {
8090 console . log ( '⏱ - Silent stop' ) ;
81- latest = await this . _timeTrackerService . toggleApiStop ( {
82- ...timer ,
83- ...params
84- } ) ;
91+ if ( ! latest && timer . timelogId ) {
92+ const currentTimeLog = await this . _timeTrackerService . getTimeLogById ( timer . timelogId ) ;
93+ if ( currentTimeLog . id && currentTimeLog . isRunning ) {
94+ latest = await this . _timeTrackerService . toggleApiStop ( {
95+ ...timer ,
96+ ...params
97+ } ) ;
98+ } else if ( currentTimeLog . id && timer . stoppedAt ) {
99+ latest = await this . _timeTrackerService . updateTimeLog (
100+ timer . timelogId ,
101+ {
102+ startedAt : timer . startedAt || currentTimeLog . startedAt ,
103+ stoppedAt : timer . stoppedAt ,
104+ description : timer . description ,
105+ projectId : timer . projectId ,
106+ taskId : timer . taskId
107+ }
108+ )
109+ }
110+ } else if ( latest && latest . id && latest . isRunning ) {
111+ latest = await this . _timeTrackerService . toggleApiStop ( {
112+ ...timer ,
113+ ...params
114+ } ) ;
115+ }
85116 }
86117
87118 const status = await this . _timeTrackerStatusService . status ( ) ;
@@ -92,9 +123,9 @@ export class SequenceQueue extends OfflineQueue<ISequence> {
92123 lastTimer : latest
93124 ? latest
94125 : {
95- ...timer ,
96- id : status ?. lastLog ?. id
97- } ,
126+ ...timer ,
127+ id : status ?. lastLog ?. id
128+ } ,
98129 ...timer
99130 } ) ;
100131 console . log ( '⏱ - local database updated' ) ;
0 commit comments