forked from danibram/time-tracker-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdbMigrations.js
More file actions
32 lines (26 loc) · 752 Bytes
/
Copy pathdbMigrations.js
File metadata and controls
32 lines (26 loc) · 752 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
export const migrateToV2 = function(tasks) {
let promises = []
let migrate = (key, task) =>
new Promise((resolve, reject) => {
let timing = {}
let update = false
if (task.start) {
update = true
timing.start = task.start
delete task.start
}
if (task.stop) {
timing.stop = task.stop
delete task.stop
}
if (update) {
task.timings = [timing]
}
resolve({
key,
task
})
})
Object.keys(tasks).forEach(k => promises.push(migrate(k, tasks[k])))
return Promise.all(promises)
}