MCPcopy Create free account
hub / github.com/chavyleung/scripts / upgradeGlobalBaks

Function upgradeGlobalBaks

chavy.box.js:1140–1170  ·  view source on GitHub ↗

* 升级备份数据 * * 升级前: 把所有备份都存到一个持久化空间 * 升级后: 把每个备份都独立存到一个空间, `$.KEY_backups` 仅记录必要的数据索引

()

Source from the content-addressed store, hash-verified

1138 * 升级后: 把每个备份都独立存到一个空间, `$.KEY_backups` 仅记录必要的数据索引
1139 */
1140function upgradeGlobalBaks() {
1141 let oldbaks = $.getdata($.KEY_globalBaks)
1142 let newbaks = $.getjson($.KEY_backups, [])
1143 const isEmpty = (bak) => [undefined, null, ''].includes(bak)
1144 const isExistsInNew = (backupId) => newbaks.find((bak) => bak.id === backupId)
1145
1146 // 存在旧备份数据时, 升级备份数据格式
1147 if (!isEmpty(oldbaks)) {
1148 oldbaks = JSON.parse(oldbaks)
1149 oldbaks.forEach((bak) => {
1150 if (isEmpty(bak)) return
1151 if (isEmpty(bak.bak)) return
1152 if (isExistsInNew(bak.id)) return
1153
1154 console.log(`正在迁移: ${bak.name}`)
1155 const backupId = bak.id
1156 const backupData = bak.bak
1157
1158 // 删除旧的备份数据, 仅保留索引信息
1159 delete bak.bak
1160 newbaks.push(bak)
1161
1162 // 提取旧备份数据, 存入独立的持久化空间
1163 $.setjson(backupData, backupId)
1164 })
1165 $.setjson(newbaks, $.KEY_backups)
1166 }
1167
1168 // 清空所有旧备份的数据
1169 $.setdata('', $.KEY_globalBaks)
1170}
1171
1172function updateCurSesssions(appId, data) {
1173 if (!appId) {

Callers 1

chavy.box.jsFile · 0.70

Calls 7

isEmptyFunction · 0.70
isExistsInNewFunction · 0.70
getdataMethod · 0.45
getjsonMethod · 0.45
logMethod · 0.45
setjsonMethod · 0.45
setdataMethod · 0.45

Tested by

no test coverage detected