@iobroker/js-controller-cli 7.0.1 → 7.0.2-alpha.0-20241026-8055a2557

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,6 +47,8 @@ export declare class BackupRestore {
47
47
  private readonly HOSTNAME_PLACEHOLDER_REPLACE;
48
48
  /** Regex to replace all occurrences of the HOSTNAME_PLACEHOLDER */
49
49
  private readonly HOSTNAME_PLACEHOLDER_REGEX;
50
+ /** Postfix for backup name */
51
+ private readonly BACKUP_POSTFIX;
50
52
  constructor(options: CLIBackupRestoreOptions);
51
53
  private _copyFile;
52
54
  copyDir(id: string, srcPath: string, destPath: string): Promise<void>;
@@ -138,11 +140,11 @@ export declare class BackupRestore {
138
140
  */
139
141
  listBackups(): string[];
140
142
  /**
141
- * Validates the backup.json and all json files inside the backup after (in temporary directory), here we only abort if backup.json is corrupted
143
+ * Validates a JSONL-style backup and all json files inside the backup (in temporary directory)
142
144
  *
143
145
  * @param noConfig if the backup does not contain a `config.json` (used by setup custom migration)
144
146
  */
145
- private _validateBackupAfterCreation;
147
+ private _validateTempDirectory;
146
148
  /**
147
149
  * Validate that the created JSONL files in the temporary directories are parseable
148
150
  */
@@ -152,7 +154,11 @@ export declare class BackupRestore {
152
154
  *
153
155
  * @param _name - index or name of the backup
154
156
  */
155
- validateBackup(_name: string | number): Promise<void> | undefined;
157
+ validateBackup(_name: string | number): Promise<void>;
158
+ /**
159
+ * Validate an unpacked legacy backup in the temporary directory
160
+ */
161
+ private _validateLegacyTempDir;
156
162
  /**
157
163
  * Checks a directory for json files and validates them, steps down recursive in subdirectories
158
164
  *
@@ -1 +1 @@
1
- {"version":3,"file":"setupBackup.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/setupBackup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupBackup.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/setupBackup.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@ export class BackupRestore {
30
30
  HOSTNAME_PLACEHOLDER_REPLACE = '$$$$__hostname__$$$$';
31
31
  /** Regex to replace all occurrences of the HOSTNAME_PLACEHOLDER */
32
32
  HOSTNAME_PLACEHOLDER_REGEX = /\$\$__hostname__\$\$/g;
33
+ /** Postfix for backup name */
34
+ BACKUP_POSTFIX = `_backup${tools.appNameLowerCase}`;
33
35
  constructor(options) {
34
36
  options = options || {};
35
37
  if (!options.states) {
@@ -185,7 +187,10 @@ export class BackupRestore {
185
187
  async createBackup(name, noConfig = false) {
186
188
  if (!name) {
187
189
  const d = new Date();
188
- name = `${d.getFullYear()}_${`0${d.getMonth() + 1}`.slice(-2)}_${`0${d.getDate()}`.slice(-2)}-${`0${d.getHours()}`.slice(-2)}_${`0${d.getMinutes()}`.slice(-2)}_${`0${d.getSeconds()}`.slice(-2)}_backup${tools.appName}`;
190
+ name = `${d.getFullYear()}_${`0${d.getMonth() + 1}`.slice(-2)}_${`0${d.getDate()}`.slice(-2)}-${`0${d.getHours()}`.slice(-2)}_${`0${d.getMinutes()}`.slice(-2)}_${`0${d.getSeconds()}`.slice(-2)}${this.BACKUP_POSTFIX}`;
191
+ }
192
+ else if (!name.endsWith(this.BACKUP_POSTFIX) && !name.endsWith(`${this.BACKUP_POSTFIX}.tar.gz`)) {
193
+ name += this.BACKUP_POSTFIX;
189
194
  }
190
195
  name = name.toString().replace(/\\/g, '/');
191
196
  if (!name.includes('/')) {
@@ -270,7 +275,7 @@ export class BackupRestore {
270
275
  }
271
276
  console.log(`host.${hostname} Validating backup ...`);
272
277
  try {
273
- await this._validateBackupAfterCreation(noConfig);
278
+ await this._validateTempDirectory(noConfig);
274
279
  console.log(`host.${hostname} The backup is valid!`);
275
280
  return await this._packBackup(name);
276
281
  }
@@ -534,8 +539,13 @@ export class BackupRestore {
534
539
  const { force, dontDeleteAdapters } = options;
535
540
  const hostname = tools.getHostName();
536
541
  const backupBaseDir = path.join(this.tmpDir, 'backup');
537
- const config = await fs.readJSON(path.join(backupBaseDir, 'config.json'));
538
- const backupHostName = config.system?.hostname || hostname;
542
+ let backupHostName = hostname;
543
+ // Note: on backups created during migration no config exists
544
+ let config;
545
+ if (await fs.pathExists(path.join(backupBaseDir, 'config.json'))) {
546
+ config = (await fs.readJSON(path.join(backupBaseDir, 'config.json')));
547
+ backupHostName = config.system?.hostname || hostname;
548
+ }
539
549
  // we need to find the host obj for the compatibility check
540
550
  const objFd = await open(path.join(backupBaseDir, 'objects.jsonl'));
541
551
  const rlObj = objFd.readLines();
@@ -560,8 +570,10 @@ export class BackupRestore {
560
570
  await this._removeAllAdapters();
561
571
  }
562
572
  // restore ioBroker.json
563
- fs.writeFileSync(tools.getConfigFileName(), JSON.stringify(config, null, 2));
564
- await this.connectToNewDatabase(config);
573
+ if (config) {
574
+ fs.writeFileSync(tools.getConfigFileName(), JSON.stringify(config, null, 2));
575
+ await this.connectToNewDatabase(config);
576
+ }
565
577
  console.log(`host.${hostname} Clear all objects and states...`);
566
578
  await this.cleanDatabase(false);
567
579
  console.log(`host.${hostname} done.`);
@@ -597,7 +609,7 @@ export class BackupRestore {
597
609
  async _restoreAfterStop(options) {
598
610
  const { force, restartOnFinish, dontDeleteAdapters } = options;
599
611
  const backupBaseDir = path.join(this.tmpDir, 'backup');
600
- const isJsonl = await fs.pathExists(path.join(backupBaseDir, 'config.json'));
612
+ const isJsonl = await fs.pathExists(path.join(backupBaseDir, 'objects.jsonl'));
601
613
  if (isJsonl) {
602
614
  const exitCode = await this._restoreJsonlBackup(options);
603
615
  if (exitCode !== EXIT_CODES.NO_ERROR) {
@@ -774,22 +786,26 @@ export class BackupRestore {
774
786
  return result;
775
787
  }
776
788
  /**
777
- * Validates the backup.json and all json files inside the backup after (in temporary directory), here we only abort if backup.json is corrupted
789
+ * Validates a JSONL-style backup and all json files inside the backup (in temporary directory)
778
790
  *
779
791
  * @param noConfig if the backup does not contain a `config.json` (used by setup custom migration)
780
792
  */
781
- async _validateBackupAfterCreation(noConfig = false) {
793
+ async _validateTempDirectory(noConfig = false) {
782
794
  const backupBaseDir = path.join(this.tmpDir, 'backup');
783
795
  if (!noConfig) {
784
796
  await fs.readJSON(path.join(backupBaseDir, 'config.json'));
797
+ console.log(`host.${this.hostname} "config.json" is valid`);
785
798
  }
786
799
  if (!(await fs.pathExists(path.join(backupBaseDir, 'objects.jsonl')))) {
787
800
  throw new Error('Backup does not contain valid objects');
788
801
  }
802
+ console.log(`host.${this.hostname} "objects.jsonl" exists`);
789
803
  if (!(await fs.pathExists(path.join(backupBaseDir, 'states.jsonl')))) {
790
804
  throw new Error('Backup does not contain valid states');
791
805
  }
806
+ console.log(`host.${this.hostname} "states.jsonl" exists`);
792
807
  await this._validateDatabaseFiles();
808
+ console.log(`host.${this.hostname} JSONL lines are valid`);
793
809
  // we check all other json files, we assume them as optional, because user created files may be no valid json
794
810
  try {
795
811
  this._checkDirectory(path.join(backupBaseDir, 'files'));
@@ -832,7 +848,7 @@ export class BackupRestore {
832
848
  *
833
849
  * @param _name - index or name of the backup
834
850
  */
835
- validateBackup(_name) {
851
+ async validateBackup(_name) {
836
852
  let backups;
837
853
  let name = typeof _name === 'number' ? _name.toString() : _name;
838
854
  if (!name) {
@@ -842,13 +858,13 @@ export class BackupRestore {
842
858
  // List all available backups
843
859
  console.log('Please specify one of the backup names:');
844
860
  for (const t in backups) {
845
- console.log(`${backups[t]} or ${backups[t].replace(`_backup${tools.appName}.tar.gz`, '')} or ${t}`);
861
+ console.log(`${backups[t]} or ${backups[t].replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${t}`);
846
862
  }
847
863
  }
848
864
  else {
849
865
  console.warn(`No backups found. Create a backup, using "${tools.appName} backup" first`);
850
866
  }
851
- return void this.processExit(EXIT_CODES.INVALID_ARGUMENTS);
867
+ throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });
852
868
  }
853
869
  // If number
854
870
  if (parseInt(name, 10).toString() === name.toString()) {
@@ -860,22 +876,22 @@ export class BackupRestore {
860
876
  if (backups.length) {
861
877
  console.log('Please specify one of the backup names:');
862
878
  for (const t in backups) {
863
- console.log(`${backups[t]} or ${backups[t].replace(`_backup${tools.appName}.tar.gz`, '')} or ${t}`);
879
+ console.log(`${backups[t]} or ${backups[t].replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${t}`);
864
880
  }
865
881
  }
866
882
  else {
867
883
  console.log(`No existing backups. Create a backup, using "${tools.appName} backup" first`);
868
884
  }
869
- return void this.processExit(EXIT_CODES.INVALID_ARGUMENTS);
885
+ throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });
870
886
  }
871
887
  console.log(`host.${this.hostname} Using backup file ${name}`);
872
888
  }
873
889
  name = name.toString().replace(/\\/g, '/');
874
890
  if (!name.includes('/')) {
875
891
  name = BackupRestore.getBackupDir() + name;
876
- const regEx = new RegExp(`_backup${tools.appName}`, 'i');
892
+ const regEx = new RegExp(this.BACKUP_POSTFIX, 'i');
877
893
  if (!regEx.test(name)) {
878
- name += `_backup${tools.appName}`;
894
+ name += this.BACKUP_POSTFIX;
879
895
  }
880
896
  if (!name.match(/\.tar\.gz$/i)) {
881
897
  name += '.tar.gz';
@@ -883,56 +899,70 @@ export class BackupRestore {
883
899
  }
884
900
  if (!fs.existsSync(name)) {
885
901
  console.error(`host.${this.hostname} Cannot find ${name}`);
886
- return void this.processExit(EXIT_CODES.INVALID_ARGUMENTS);
902
+ throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });
887
903
  }
888
904
  if (fs.existsSync(`${this.tmpDir}/backup/backup.json`)) {
889
905
  fs.unlinkSync(`${this.tmpDir}/backup/backup.json`);
890
906
  }
891
- return new Promise(resolve => {
892
- tar.extract({
907
+ try {
908
+ await tar.extract({
893
909
  file: name,
894
910
  cwd: this.tmpDir,
895
- }, undefined, err => {
896
- if (err) {
897
- console.error(`host.${this.hostname} Cannot extract from file "${name}": ${err.message}`);
898
- return void this.processExit(EXIT_CODES.INVALID_ARGUMENTS);
899
- }
900
- if (!fs.existsSync(`${this.tmpDir}/backup/backup.json`)) {
901
- console.error(`host.${this.hostname} Validation failed. Cannot find extracted file from file "${this.tmpDir}/backup/backup.json"`);
902
- return void this.processExit(EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP);
903
- }
904
- console.log(`host.${this.hostname} Starting validation ...`);
905
- let backupJSON;
906
- try {
907
- backupJSON = fs.readJSONSync(`${this.tmpDir}/backup/backup.json`);
908
- }
909
- catch (err) {
910
- console.error(`host.${this.hostname} Backup corrupted. Backup ${name} does not contain a valid backup.json file: ${err.message}`);
911
- this.removeTempBackupDir();
912
- return void this.processExit(EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP);
913
- }
914
- if (!backupJSON || !backupJSON.objects || !backupJSON.objects.length) {
915
- console.error(`host.${this.hostname} Backup corrupted. Backup does not contain valid objects`);
916
- try {
917
- this.removeTempBackupDir();
918
- }
919
- catch (e) {
920
- console.error(`host.${this.hostname} Cannot clear temporary backup directory: ${e.message}`);
921
- }
922
- return void this.processExit(EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP);
923
- }
924
- console.log(`host.${this.hostname} backup.json OK`);
925
- try {
926
- this._checkDirectory(`${this.tmpDir}/backup/files`, true);
927
- this.removeTempBackupDir();
928
- resolve();
929
- }
930
- catch (err) {
931
- console.error(`host.${this.hostname} Backup corrupted: ${err.message}`);
932
- return void this.processExit(EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP);
933
- }
934
911
  });
935
- });
912
+ }
913
+ catch (e) {
914
+ const errMessage = `Cannot extract from file "${name}": ${e.message}`;
915
+ console.error(`host.${this.hostname} ${errMessage}`);
916
+ throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });
917
+ }
918
+ try {
919
+ if (fs.existsSync(path.join(this.tmpDir, 'backup', 'backup.json'))) {
920
+ this._validateLegacyTempDir();
921
+ }
922
+ else {
923
+ await this._validateTempDirectory();
924
+ }
925
+ }
926
+ catch (e) {
927
+ console.error(`host.${this.hostname} ${e.message}`);
928
+ try {
929
+ this.removeTempBackupDir();
930
+ }
931
+ catch (e) {
932
+ console.error(`host.${this.hostname} Cannot clear temporary backup directory: ${e.message}`);
933
+ }
934
+ throw new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP });
935
+ }
936
+ try {
937
+ this.removeTempBackupDir();
938
+ }
939
+ catch (e) {
940
+ console.error(`host.${this.hostname} Cannot clear temporary backup directory: ${e.message}`);
941
+ throw new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP });
942
+ }
943
+ }
944
+ /**
945
+ * Validate an unpacked legacy backup in the temporary directory
946
+ */
947
+ _validateLegacyTempDir() {
948
+ console.log(`host.${this.hostname} Starting validation ...`);
949
+ let backupJSON;
950
+ try {
951
+ backupJSON = fs.readJSONSync(`${this.tmpDir}/backup/backup.json`);
952
+ }
953
+ catch (e) {
954
+ throw new Error(`Backup corrupted. Backup does not contain a valid backup.json file: ${e.message}`);
955
+ }
956
+ if (!backupJSON || !backupJSON.objects || !backupJSON.objects.length) {
957
+ throw new Error(`host.${this.hostname} Backup corrupted. Backup does not contain valid objects`);
958
+ }
959
+ console.log(`host.${this.hostname} backup.json OK`);
960
+ try {
961
+ this._checkDirectory(`${this.tmpDir}/backup/files`, true);
962
+ }
963
+ catch (e) {
964
+ throw new Error(`Backup corrupted: ${e.message}`);
965
+ }
936
966
  }
937
967
  /**
938
968
  * Checks a directory for json files and validates them, steps down recursive in subdirectories
@@ -981,7 +1011,7 @@ export class BackupRestore {
981
1011
  backups = this.listBackups();
982
1012
  backups.sort((a, b) => (b > a ? 1 : b === a ? 0 : -1));
983
1013
  if (backups.length) {
984
- backups.forEach((backup, i) => console.log(`${backup} or ${backup.replace(`_backup${tools.appName}.tar.gz`, '')} or ${i}`));
1014
+ backups.forEach((backup, i) => console.log(`${backup} or ${backup.replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${i}`));
985
1015
  }
986
1016
  else {
987
1017
  console.warn('No backups found');
@@ -1003,7 +1033,7 @@ export class BackupRestore {
1003
1033
  console.log('No matching backup found');
1004
1034
  if (backups.length) {
1005
1035
  console.log('Please specify one of the backup names:');
1006
- backups.forEach((backup, i) => console.log(`${backup} or ${backup.replace(`_backup${tools.appName}.tar.gz`, '')} or ${i}`));
1036
+ backups.forEach((backup, i) => console.log(`${backup} or ${backup.replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${i}`));
1007
1037
  }
1008
1038
  }
1009
1039
  else {
@@ -1013,9 +1043,9 @@ export class BackupRestore {
1013
1043
  name = name.toString().replace(/\\/g, '/');
1014
1044
  if (!name.includes('/')) {
1015
1045
  name = BackupRestore.getBackupDir() + name;
1016
- const regEx = new RegExp(`_backup${tools.appName}`, 'i');
1046
+ const regEx = new RegExp(this.BACKUP_POSTFIX, 'i');
1017
1047
  if (!regEx.test(name)) {
1018
- name += `_backup${tools.appName}`;
1048
+ name += this.BACKUP_POSTFIX;
1019
1049
  }
1020
1050
  if (!name.match(/\.tar\.gz$/i)) {
1021
1051
  name += '.tar.gz';
@@ -1041,8 +1071,8 @@ export class BackupRestore {
1041
1071
  return { exitCode: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP, objects: this.objects, states: this.states };
1042
1072
  }
1043
1073
  if (!(await fs.pathExists(path.join(backupBasePath, 'backup.json'))) &&
1044
- !(await fs.pathExists(path.join(backupBasePath, 'config.json')))) {
1045
- console.error(`host.${this.hostname} Cannot find extracted file "${path.join(backupBasePath, 'backup.json')}" or "${path.join(backupBasePath, 'config.json')}"`);
1074
+ !(await fs.pathExists(path.join(backupBasePath, 'objects.jsonl')))) {
1075
+ console.error(`host.${this.hostname} Cannot find extracted file "${path.join(backupBasePath, 'backup.json')}" or "${path.join(backupBasePath, 'objects.jsonl')}"`);
1046
1076
  return { exitCode: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP, objects: this.objects, states: this.states };
1047
1077
  }
1048
1078
  await CLIProcess.stopJSController();
@@ -1 +1 @@
1
- {"version":3,"file":"setupBackup.js","sourceRoot":"","sources":["../../../../src/lib/setup/setupBackup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupBackup.js","sourceRoot":"","sources":["../../../../src/lib/setup/setupBackup.ts"],"names":[],"mappings":"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"}
@@ -1149,9 +1149,9 @@ async function processCommand(command, args, params, callback) {
1149
1149
  console.log('Backup OK');
1150
1150
  return void exitApplicationSave(0);
1151
1151
  }
1152
- catch (err) {
1153
- console.log(`Backup check failed: ${err.message}`);
1154
- return void exitApplicationSave(1);
1152
+ catch (e) {
1153
+ console.log(`Backup check failed: ${e.message}`);
1154
+ return void exitApplicationSave(e instanceof IoBrokerError ? e.code : 1);
1155
1155
  }
1156
1156
  });
1157
1157
  break;