|
2 | 2 |
|
3 | 3 | import { dirname } from 'path'; |
4 | 4 | import Snippet from './snippet.js'; |
| 5 | +import Util from './util.js'; |
5 | 6 | const fs = require('fs'); |
6 | 7 | const os = require('os'); |
7 | 8 |
|
@@ -112,26 +113,34 @@ export default class Storage { |
112 | 113 | throw new TypeError('Storage directory has not been initialized.'); |
113 | 114 | } else { |
114 | 115 | var files = this.retrieveFiles(); |
115 | | - var changed = 0; |
116 | | - var migrated = 'The following snippets have been migrated:\n'; |
117 | 116 | if(files.length > 0) { |
118 | | - files.forEach(function(current,index) { |
| 117 | + var changed = 0; |
| 118 | + var migrated = 'The following snippets have been migrated:\n'; |
| 119 | + var store = this.storageDir+this.dir; |
| 120 | + var _this = this; |
| 121 | + files.forEach(function(current) { |
119 | 122 | if(current.endsWith('.snippet.json')) { |
120 | | - fs.renameSync(this.storageDir+this.dir+current,this.storageDir+this.dir+current.replace('.snippet.json','.json')); |
121 | | - current = current.replace('.snippet.json','.json'); |
| 123 | + fs.renameSync(store+current,store+current.replace('.snippet.json','.json')); |
| 124 | + current = current.replace('.snippet.json',''); |
122 | 125 | } else { |
123 | 126 | current = current.replace('.json',''); |
124 | 127 | } |
125 | 128 |
|
126 | | - var snippet = new Snippet(JSON.parse(this.retrieveFile(current))); |
| 129 | + var snippet = new Snippet(JSON.parse(_this.retrieveFile(current))); |
127 | 130 | var res = Util.compareVersions(Util.getPackageVersion(),snippet.getVersion()); |
128 | | - if(res !== false && res === Util.getPackageVersion()) { |
129 | | - this.store(snippet); |
130 | | - this.deleteFile(current); |
131 | | - migrated += snippet.getTitle(); |
132 | | - if(index < files.length-1) { |
133 | | - migrated += ', '; |
134 | | - } |
| 131 | + if(res === Util.getPackageVersion() || res === undefined) { |
| 132 | + snippet.setVersion(Util.getPackageVersion()); |
| 133 | + snippet.setUID(Util.generateUID({ |
| 134 | + unique: true, |
| 135 | + tester: storage.testFile, |
| 136 | + timeout: 25, |
| 137 | + length: 20, |
| 138 | + prefix: 'sn', |
| 139 | + insertstring: 'SNIPPET' |
| 140 | + })); |
| 141 | + _this.store(snippet); |
| 142 | + _this.deleteFile(current); |
| 143 | + migrated += '\''+snippet.getTitle()+'\'\n'; |
135 | 144 | changed++; |
136 | 145 | } |
137 | 146 | }); |
|
0 commit comments