diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..2fc59300 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,17 @@ +# 1.1.0 / 2020-05-31 + +## :tada: Enhancements +- Added the ability to transfer users with passwords + +# 1.0.0 / 2020-05-30 + +## :tada: Stable version +- Firebase.Auth backup +- Firebase.Firestore backup +- Firebase.Storage backup +- Firebase.Auth clean +- Firebase.Firestore clean +- Firebase.Storage clean +- Firebase.Auth restore +- Firebase.Firestore restore +- Firebase.Storage restore \ No newline at end of file diff --git a/README.md b/README.md index 79977485..2e0249f0 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,17 @@ Engine to Backup, Clean, Restore. Work for Firebase.Firestore, Firebase.Storage, | backup | b | Path to backup or restore file. Default: ./{$PROJECT_ID + $TIMESTAMP}.backup | | --nocompress | -nc | Do not use data compression | +## Launch parameters (only for password recovery for users in Firebase.Auth) + +| Name | Short name | Description | +|-----------------------|------------|----------------------------------------------------------------------------------| +| algorithm | alg | The password hashing information (algorithm, only SCRYPT). Default: SCRYPT | +| base64_signer_key | bsk | The password hashing information (key in base64 encoding). Default: user passwords are not restored if not set. | +| base64_salt_separator | bss | The password hashing information (salt separator in base64). Default: Bw== | +| rounds | rnd | The password hashing information (rounds). Default: 8 | +| mem_cost | mc | The password hashing information (memory cost). Default: 14 | + + ## Use With full names @@ -36,6 +47,11 @@ With short names firebase-engine o="b, c" p="./test.json" b="test.backup" ``` +With password recovery for users +```bash + firebase-engine operations="restore" path="./test.json" services="firestore, auth" backup="test.backup" bsk="nMyNs6sFWp0GZ/JSW2tsNGvGZ70oiv13gxO7ub7rxPwK271P945BiZmjrdsBRbgZmzPPgwATLR6FaXq3rUspVg==" +``` + ## Open Source [See source docs](https://siarheidudko.github.io/firebase-engine) diff --git a/docs/assets/js/search.js b/docs/assets/js/search.js index 7c825447..24c0fee8 100644 --- a/docs/assets/js/search.js +++ b/docs/assets/js/search.js @@ -1,3 +1,3 @@ var typedoc = typedoc || {}; typedoc.search = typedoc.search || {}; - typedoc.search.data = {"kinds":{"1":"External module","32":"Variable","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","2097152":"Object literal"},"rows":[{"id":0,"kind":1,"name":"\"utils/Logger\"","url":"modules/_utils_logger_.html","classes":"tsd-kind-external-module"},{"id":1,"kind":128,"name":"Logger","url":"classes/_utils_logger_.logger.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/Logger\""},{"id":2,"kind":2048,"name":"log","url":"classes/_utils_logger_.logger.html#log","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/Logger\".Logger"},{"id":3,"kind":2048,"name":"warn","url":"classes/_utils_logger_.logger.html#warn","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/Logger\".Logger"},{"id":4,"kind":2048,"name":"error","url":"classes/_utils_logger_.logger.html#error","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/Logger\".Logger"},{"id":5,"kind":2048,"name":"table","url":"classes/_utils_logger_.logger.html#table","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/Logger\".Logger"},{"id":6,"kind":1,"name":"\"utils/initialization\"","url":"modules/_utils_initialization_.html","classes":"tsd-kind-external-module"},{"id":7,"kind":128,"name":"Writer","url":"classes/_utils_initialization_.writer.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":8,"kind":512,"name":"constructor","url":"classes/_utils_initialization_.writer.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"\"utils/initialization\".Writer"},{"id":9,"kind":1024,"name":"compress","url":"classes/_utils_initialization_.writer.html#compress","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/initialization\".Writer"},{"id":10,"kind":1024,"name":"fileStream","url":"classes/_utils_initialization_.writer.html#filestream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/initialization\".Writer"},{"id":11,"kind":1024,"name":"gzipStream","url":"classes/_utils_initialization_.writer.html#gzipstream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/initialization\".Writer"},{"id":12,"kind":256,"name":"ParsedSettings","url":"interfaces/_utils_initialization_.parsedsettings.html","classes":"tsd-kind-interface tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":13,"kind":1024,"name":"operations","url":"interfaces/_utils_initialization_.parsedsettings.html#operations","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":14,"kind":1024,"name":"path","url":"interfaces/_utils_initialization_.parsedsettings.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":15,"kind":1024,"name":"backup","url":"interfaces/_utils_initialization_.parsedsettings.html#backup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":16,"kind":1024,"name":"services","url":"interfaces/_utils_initialization_.parsedsettings.html#services","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":17,"kind":1024,"name":"compress","url":"interfaces/_utils_initialization_.parsedsettings.html#compress","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":18,"kind":256,"name":"SettingsBeforeInitialization","url":"interfaces/_utils_initialization_.settingsbeforeinitialization.html","classes":"tsd-kind-interface tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":19,"kind":1024,"name":"path","url":"interfaces/_utils_initialization_.settingsbeforeinitialization.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".SettingsBeforeInitialization"},{"id":20,"kind":1024,"name":"backup","url":"interfaces/_utils_initialization_.settingsbeforeinitialization.html#backup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".SettingsBeforeInitialization"},{"id":21,"kind":1024,"name":"compress","url":"interfaces/_utils_initialization_.settingsbeforeinitialization.html#compress","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".SettingsBeforeInitialization"},{"id":22,"kind":256,"name":"Settings","url":"interfaces/_utils_initialization_.settings.html","classes":"tsd-kind-interface tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":23,"kind":1024,"name":"path","url":"interfaces/_utils_initialization_.settings.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".Settings"},{"id":24,"kind":1024,"name":"backup","url":"interfaces/_utils_initialization_.settings.html#backup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".Settings"},{"id":25,"kind":1024,"name":"serviceAccount","url":"interfaces/_utils_initialization_.settings.html#serviceaccount","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".Settings"},{"id":26,"kind":65536,"name":"__type","url":"interfaces/_utils_initialization_.settings.html#serviceaccount.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"\"utils/initialization\".Settings.serviceAccount"},{"id":27,"kind":1024,"name":"compress","url":"interfaces/_utils_initialization_.settings.html#compress","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".Settings"},{"id":28,"kind":32,"name":"store","url":"modules/_utils_initialization_.html#store","classes":"tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"utils/initialization\""},{"id":29,"kind":65536,"name":"__type","url":"modules/_utils_initialization_.html#store.__type","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"utils/initialization\".store"},{"id":30,"kind":32,"name":"admin","url":"modules/_utils_initialization_.html#store.__type.admin","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"utils/initialization\".store.__type"},{"id":31,"kind":32,"name":"settings","url":"modules/_utils_initialization_.html#store.__type.settings-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"utils/initialization\".store.__type"},{"id":32,"kind":32,"name":"writers","url":"modules/_utils_initialization_.html#writers","classes":"tsd-kind-variable tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":33,"kind":65536,"name":"__type","url":"modules/_utils_initialization_.html#writers.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"\"utils/initialization\".writers"},{"id":34,"kind":64,"name":"createWriteFileStream","url":"modules/_utils_initialization_.html#createwritefilestream","classes":"tsd-kind-function tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":35,"kind":64,"name":"cmdParser","url":"modules/_utils_initialization_.html#cmdparser","classes":"tsd-kind-function tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":36,"kind":64,"name":"initialization","url":"modules/_utils_initialization_.html#initialization","classes":"tsd-kind-function tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":37,"kind":1,"name":"\"utils/template\"","url":"modules/_utils_template_.html","classes":"tsd-kind-external-module"},{"id":38,"kind":128,"name":"JobTemplate","url":"classes/_utils_template_.jobtemplate.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":39,"kind":512,"name":"constructor","url":"classes/_utils_template_.jobtemplate.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"\"utils/template\".JobTemplate"},{"id":40,"kind":1024,"name":"settings","url":"classes/_utils_template_.jobtemplate.html#settings","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobTemplate"},{"id":41,"kind":1024,"name":"admin","url":"classes/_utils_template_.jobtemplate.html#admin","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobTemplate"},{"id":42,"kind":128,"name":"JobOneTemplate","url":"classes/_utils_template_.jobonetemplate.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":43,"kind":512,"name":"constructor","url":"classes/_utils_template_.jobonetemplate.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"utils/template\".JobOneTemplate"},{"id":44,"kind":2048,"name":"firestore","url":"classes/_utils_template_.jobonetemplate.html#firestore","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"utils/template\".JobOneTemplate"},{"id":45,"kind":2048,"name":"auth","url":"classes/_utils_template_.jobonetemplate.html#auth","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"utils/template\".JobOneTemplate"},{"id":46,"kind":2048,"name":"storage","url":"classes/_utils_template_.jobonetemplate.html#storage","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"utils/template\".JobOneTemplate"},{"id":47,"kind":1024,"name":"settings","url":"classes/_utils_template_.jobonetemplate.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobOneTemplate"},{"id":48,"kind":1024,"name":"admin","url":"classes/_utils_template_.jobonetemplate.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobOneTemplate"},{"id":49,"kind":128,"name":"JobOneServiceTemplate","url":"classes/_utils_template_.joboneservicetemplate.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":50,"kind":512,"name":"constructor","url":"classes/_utils_template_.joboneservicetemplate.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":51,"kind":1024,"name":"counter","url":"classes/_utils_template_.joboneservicetemplate.html#counter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":52,"kind":2048,"name":"getWorkTime","url":"classes/_utils_template_.joboneservicetemplate.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":53,"kind":1024,"name":"startTimestamp","url":"classes/_utils_template_.joboneservicetemplate.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":54,"kind":2048,"name":"run","url":"classes/_utils_template_.joboneservicetemplate.html#run","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":55,"kind":1024,"name":"settings","url":"classes/_utils_template_.joboneservicetemplate.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":56,"kind":1024,"name":"admin","url":"classes/_utils_template_.joboneservicetemplate.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":57,"kind":128,"name":"JobBackupServiceTemplate","url":"classes/_utils_template_.jobbackupservicetemplate.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":58,"kind":512,"name":"constructor","url":"classes/_utils_template_.jobbackupservicetemplate.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":59,"kind":1024,"name":"writer","url":"classes/_utils_template_.jobbackupservicetemplate.html#writer","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":60,"kind":1024,"name":"stringiferStream","url":"classes/_utils_template_.jobbackupservicetemplate.html#stringiferstream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":61,"kind":1024,"name":"counter","url":"classes/_utils_template_.jobbackupservicetemplate.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":62,"kind":2048,"name":"getWorkTime","url":"classes/_utils_template_.jobbackupservicetemplate.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":63,"kind":1024,"name":"startTimestamp","url":"classes/_utils_template_.jobbackupservicetemplate.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":64,"kind":2048,"name":"run","url":"classes/_utils_template_.jobbackupservicetemplate.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":65,"kind":1024,"name":"settings","url":"classes/_utils_template_.jobbackupservicetemplate.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":66,"kind":1024,"name":"admin","url":"classes/_utils_template_.jobbackupservicetemplate.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":67,"kind":128,"name":"JobBackupSRestoreTemplate","url":"classes/_utils_template_.jobbackupsrestoretemplate.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":68,"kind":512,"name":"constructor","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":69,"kind":1024,"name":"fileStream","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#filestream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":70,"kind":1024,"name":"gunzipStream","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#gunzipstream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":71,"kind":1024,"name":"parserStream","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#parserstream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":72,"kind":1024,"name":"counter","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":73,"kind":2048,"name":"getWorkTime","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":74,"kind":1024,"name":"startTimestamp","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":75,"kind":2048,"name":"run","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":76,"kind":1024,"name":"settings","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":77,"kind":1024,"name":"admin","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":78,"kind":256,"name":"DataModel","url":"interfaces/_utils_template_.datamodel.html","classes":"tsd-kind-interface tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":79,"kind":1024,"name":"service","url":"interfaces/_utils_template_.datamodel.html#service","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/template\".DataModel"},{"id":80,"kind":1024,"name":"path","url":"interfaces/_utils_template_.datamodel.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/template\".DataModel"},{"id":81,"kind":1024,"name":"data","url":"interfaces/_utils_template_.datamodel.html#data","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/template\".DataModel"},{"id":82,"kind":32,"name":"Objectstream","url":"modules/_utils_template_.html#objectstream","classes":"tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"utils/template\""},{"id":83,"kind":1,"name":"\"utils/AuthConverter\"","url":"modules/_utils_authconverter_.html","classes":"tsd-kind-external-module"},{"id":84,"kind":128,"name":"AuthConverter","url":"classes/_utils_authconverter_.authconverter.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/AuthConverter\""},{"id":85,"kind":1024,"name":"userField","url":"classes/_utils_authconverter_.authconverter.html#userfield","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private tsd-is-static","parent":"\"utils/AuthConverter\".AuthConverter"},{"id":86,"kind":2048,"name":"toString","url":"classes/_utils_authconverter_.authconverter.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/AuthConverter\".AuthConverter"},{"id":87,"kind":2048,"name":"fromString","url":"classes/_utils_authconverter_.authconverter.html#fromstring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/AuthConverter\".AuthConverter"},{"id":88,"kind":1,"name":"\"jobs/backup/auth\"","url":"modules/_jobs_backup_auth_.html","classes":"tsd-kind-external-module"},{"id":89,"kind":128,"name":"JobBackupAuth","url":"classes/_jobs_backup_auth_.jobbackupauth.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/backup/auth\""},{"id":90,"kind":512,"name":"constructor","url":"classes/_jobs_backup_auth_.jobbackupauth.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":91,"kind":1024,"name":"auth","url":"classes/_jobs_backup_auth_.jobbackupauth.html#auth","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":92,"kind":2048,"name":"recursiveBackup","url":"classes/_jobs_backup_auth_.jobbackupauth.html#recursivebackup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":93,"kind":2048,"name":"run","url":"classes/_jobs_backup_auth_.jobbackupauth.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":94,"kind":1024,"name":"writer","url":"classes/_jobs_backup_auth_.jobbackupauth.html#writer","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":95,"kind":1024,"name":"stringiferStream","url":"classes/_jobs_backup_auth_.jobbackupauth.html#stringiferstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":96,"kind":1024,"name":"counter","url":"classes/_jobs_backup_auth_.jobbackupauth.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":97,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_backup_auth_.jobbackupauth.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":98,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_backup_auth_.jobbackupauth.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":99,"kind":1024,"name":"settings","url":"classes/_jobs_backup_auth_.jobbackupauth.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":100,"kind":1024,"name":"admin","url":"classes/_jobs_backup_auth_.jobbackupauth.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":101,"kind":1,"name":"\"utils/FirestoreConverter\"","url":"modules/_utils_firestoreconverter_.html","classes":"tsd-kind-external-module"},{"id":102,"kind":128,"name":"FirestoreConverter","url":"classes/_utils_firestoreconverter_.firestoreconverter.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/FirestoreConverter\""},{"id":103,"kind":2048,"name":"toString","url":"classes/_utils_firestoreconverter_.firestoreconverter.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/FirestoreConverter\".FirestoreConverter"},{"id":104,"kind":2048,"name":"toObject","url":"classes/_utils_firestoreconverter_.firestoreconverter.html#toobject","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private tsd-is-static","parent":"\"utils/FirestoreConverter\".FirestoreConverter"},{"id":105,"kind":2048,"name":"fromString","url":"classes/_utils_firestoreconverter_.firestoreconverter.html#fromstring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/FirestoreConverter\".FirestoreConverter"},{"id":106,"kind":2048,"name":"fromObject","url":"classes/_utils_firestoreconverter_.firestoreconverter.html#fromobject","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private tsd-is-static","parent":"\"utils/FirestoreConverter\".FirestoreConverter"},{"id":107,"kind":1,"name":"\"jobs/backup/firestore\"","url":"modules/_jobs_backup_firestore_.html","classes":"tsd-kind-external-module"},{"id":108,"kind":128,"name":"JobBackupFirestore","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/backup/firestore\""},{"id":109,"kind":512,"name":"constructor","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":110,"kind":1024,"name":"firestore","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#firestore","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":111,"kind":2048,"name":"documentBackup","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#documentbackup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":112,"kind":2048,"name":"recursiveBackup","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#recursivebackup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":113,"kind":2048,"name":"run","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":114,"kind":1024,"name":"writer","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#writer","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":115,"kind":1024,"name":"stringiferStream","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#stringiferstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":116,"kind":1024,"name":"counter","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":117,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":118,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":119,"kind":1024,"name":"settings","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":120,"kind":1024,"name":"admin","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":121,"kind":1,"name":"\"utils/StorageConverter\"","url":"modules/_utils_storageconverter_.html","classes":"tsd-kind-external-module"},{"id":122,"kind":128,"name":"StorageConverter","url":"classes/_utils_storageconverter_.storageconverter.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/StorageConverter\""},{"id":123,"kind":2048,"name":"toString","url":"classes/_utils_storageconverter_.storageconverter.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/StorageConverter\".StorageConverter"},{"id":124,"kind":2048,"name":"fromString","url":"classes/_utils_storageconverter_.storageconverter.html#fromstring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/StorageConverter\".StorageConverter"},{"id":125,"kind":1,"name":"\"jobs/backup/storage\"","url":"modules/_jobs_backup_storage_.html","classes":"tsd-kind-external-module"},{"id":126,"kind":128,"name":"JobBackupStorage","url":"classes/_jobs_backup_storage_.jobbackupstorage.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/backup/storage\""},{"id":127,"kind":512,"name":"constructor","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":128,"kind":1024,"name":"storage","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#storage","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":129,"kind":1024,"name":"bucket","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#bucket","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":130,"kind":2048,"name":"backupFile","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#backupfile","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":131,"kind":2048,"name":"run","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":132,"kind":1024,"name":"writer","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#writer","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":133,"kind":1024,"name":"stringiferStream","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#stringiferstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":134,"kind":1024,"name":"counter","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":135,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":136,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":137,"kind":1024,"name":"settings","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":138,"kind":1024,"name":"admin","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":139,"kind":1,"name":"\"jobs/clean/auth\"","url":"modules/_jobs_clean_auth_.html","classes":"tsd-kind-external-module"},{"id":140,"kind":128,"name":"JobCleanAuth","url":"classes/_jobs_clean_auth_.jobcleanauth.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/clean/auth\""},{"id":141,"kind":512,"name":"constructor","url":"classes/_jobs_clean_auth_.jobcleanauth.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":142,"kind":1024,"name":"auth","url":"classes/_jobs_clean_auth_.jobcleanauth.html#auth","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":143,"kind":2048,"name":"recursiveClean","url":"classes/_jobs_clean_auth_.jobcleanauth.html#recursiveclean","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":144,"kind":2048,"name":"run","url":"classes/_jobs_clean_auth_.jobcleanauth.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":145,"kind":1024,"name":"counter","url":"classes/_jobs_clean_auth_.jobcleanauth.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":146,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_clean_auth_.jobcleanauth.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":147,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_clean_auth_.jobcleanauth.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":148,"kind":1024,"name":"settings","url":"classes/_jobs_clean_auth_.jobcleanauth.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":149,"kind":1024,"name":"admin","url":"classes/_jobs_clean_auth_.jobcleanauth.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":150,"kind":1,"name":"\"jobs/clean/firestore\"","url":"modules/_jobs_clean_firestore_.html","classes":"tsd-kind-external-module"},{"id":151,"kind":128,"name":"JobCleanFirestore","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/clean/firestore\""},{"id":152,"kind":512,"name":"constructor","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":153,"kind":1024,"name":"batchSize","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#batchsize","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private tsd-is-static","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":154,"kind":1024,"name":"firestore","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#firestore","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":155,"kind":1024,"name":"batch","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#batch","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":156,"kind":2048,"name":"batchClean","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#batchclean","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":157,"kind":2048,"name":"recursiveClean","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#recursiveclean","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":158,"kind":2048,"name":"run","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":159,"kind":1024,"name":"counter","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":160,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":161,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":162,"kind":1024,"name":"settings","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":163,"kind":1024,"name":"admin","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":164,"kind":1,"name":"\"jobs/clean/storage\"","url":"modules/_jobs_clean_storage_.html","classes":"tsd-kind-external-module"},{"id":165,"kind":128,"name":"JobCleanStorage","url":"classes/_jobs_clean_storage_.jobcleanstorage.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/clean/storage\""},{"id":166,"kind":512,"name":"constructor","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":167,"kind":1024,"name":"storage","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#storage","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":168,"kind":1024,"name":"bucket","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#bucket","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":169,"kind":2048,"name":"run","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":170,"kind":1024,"name":"counter","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":171,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":172,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":173,"kind":1024,"name":"settings","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":174,"kind":1024,"name":"admin","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":175,"kind":1,"name":"\"jobs/restore/auth\"","url":"modules/_jobs_restore_auth_.html","classes":"tsd-kind-external-module"},{"id":176,"kind":128,"name":"JobRestoreAuth","url":"classes/_jobs_restore_auth_.jobrestoreauth.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/restore/auth\""},{"id":177,"kind":512,"name":"constructor","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":178,"kind":1024,"name":"auth","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#auth","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":179,"kind":1024,"name":"writeStream","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":180,"kind":2097152,"name":"writeBuffer","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer","classes":"tsd-kind-object-literal tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":181,"kind":32,"name":"batchSize","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.batchsize","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":182,"kind":32,"name":"iteration","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.iteration","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":183,"kind":32,"name":"batch","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.batch","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":184,"kind":64,"name":"clear","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.clear","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":185,"kind":64,"name":"commit","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.commit","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":186,"kind":64,"name":"set","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.set","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":187,"kind":2048,"name":"run","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":188,"kind":1024,"name":"fileStream","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#filestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":189,"kind":1024,"name":"gunzipStream","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#gunzipstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":190,"kind":1024,"name":"parserStream","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#parserstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":191,"kind":1024,"name":"counter","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":192,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":193,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":194,"kind":1024,"name":"settings","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":195,"kind":1024,"name":"admin","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":196,"kind":1,"name":"\"jobs/restore/firestore\"","url":"modules/_jobs_restore_firestore_.html","classes":"tsd-kind-external-module"},{"id":197,"kind":128,"name":"JobRestoreFirestore","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/restore/firestore\""},{"id":198,"kind":512,"name":"constructor","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":199,"kind":1024,"name":"firestore","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#firestore","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":200,"kind":1024,"name":"writeStream","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":201,"kind":2097152,"name":"writeBuffer","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer","classes":"tsd-kind-object-literal tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":202,"kind":32,"name":"batchSize","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.batchsize","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":203,"kind":32,"name":"iteration","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.iteration","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":204,"kind":32,"name":"batch","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.batch","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":205,"kind":64,"name":"clear","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.clear","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":206,"kind":64,"name":"commit","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.commit","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":207,"kind":64,"name":"set","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.set","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":208,"kind":2048,"name":"run","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":209,"kind":1024,"name":"fileStream","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#filestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":210,"kind":1024,"name":"gunzipStream","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#gunzipstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":211,"kind":1024,"name":"parserStream","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#parserstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":212,"kind":1024,"name":"counter","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":213,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":214,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":215,"kind":1024,"name":"settings","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":216,"kind":1024,"name":"admin","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":217,"kind":1,"name":"\"jobs/restore/storage\"","url":"modules/_jobs_restore_storage_.html","classes":"tsd-kind-external-module"},{"id":218,"kind":128,"name":"JobRestoreStorage","url":"classes/_jobs_restore_storage_.jobrestorestorage.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/restore/storage\""},{"id":219,"kind":512,"name":"constructor","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":220,"kind":1024,"name":"storage","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#storage","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":221,"kind":1024,"name":"bucket","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#bucket","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":222,"kind":1024,"name":"writeStream","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#writestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":223,"kind":2048,"name":"run","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":224,"kind":1024,"name":"fileStream","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#filestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":225,"kind":1024,"name":"gunzipStream","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#gunzipstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":226,"kind":1024,"name":"parserStream","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#parserstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":227,"kind":1024,"name":"counter","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":228,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":229,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":230,"kind":1024,"name":"settings","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":231,"kind":1024,"name":"admin","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":232,"kind":1,"name":"\"jobs/Jobs\"","url":"modules/_jobs_jobs_.html","classes":"tsd-kind-external-module"},{"id":233,"kind":128,"name":"Jobs","url":"classes/_jobs_jobs_.jobs.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/Jobs\""},{"id":234,"kind":512,"name":"constructor","url":"classes/_jobs_jobs_.jobs.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/Jobs\".Jobs"},{"id":235,"kind":1024,"name":"backup","url":"classes/_jobs_jobs_.jobs.html#backup","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"jobs/Jobs\".Jobs"},{"id":236,"kind":1024,"name":"clean","url":"classes/_jobs_jobs_.jobs.html#clean","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"jobs/Jobs\".Jobs"},{"id":237,"kind":1024,"name":"restore","url":"classes/_jobs_jobs_.jobs.html#restore","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"jobs/Jobs\".Jobs"},{"id":238,"kind":1024,"name":"settings","url":"classes/_jobs_jobs_.jobs.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/Jobs\".Jobs"},{"id":239,"kind":1024,"name":"admin","url":"classes/_jobs_jobs_.jobs.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/Jobs\".Jobs"},{"id":240,"kind":128,"name":"JobsBackup","url":"classes/_jobs_jobs_.jobsbackup.html","classes":"tsd-kind-class tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"jobs/Jobs\""},{"id":241,"kind":512,"name":"constructor","url":"classes/_jobs_jobs_.jobsbackup.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":242,"kind":2048,"name":"firestore","url":"classes/_jobs_jobs_.jobsbackup.html#firestore","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":243,"kind":2048,"name":"auth","url":"classes/_jobs_jobs_.jobsbackup.html#auth","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":244,"kind":2048,"name":"storage","url":"classes/_jobs_jobs_.jobsbackup.html#storage","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":245,"kind":1024,"name":"settings","url":"classes/_jobs_jobs_.jobsbackup.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":246,"kind":1024,"name":"admin","url":"classes/_jobs_jobs_.jobsbackup.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":247,"kind":128,"name":"JobsClean","url":"classes/_jobs_jobs_.jobsclean.html","classes":"tsd-kind-class tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"jobs/Jobs\""},{"id":248,"kind":512,"name":"constructor","url":"classes/_jobs_jobs_.jobsclean.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":249,"kind":2048,"name":"firestore","url":"classes/_jobs_jobs_.jobsclean.html#firestore","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":250,"kind":2048,"name":"auth","url":"classes/_jobs_jobs_.jobsclean.html#auth","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":251,"kind":2048,"name":"storage","url":"classes/_jobs_jobs_.jobsclean.html#storage","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":252,"kind":1024,"name":"settings","url":"classes/_jobs_jobs_.jobsclean.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":253,"kind":1024,"name":"admin","url":"classes/_jobs_jobs_.jobsclean.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":254,"kind":128,"name":"JobsRestore","url":"classes/_jobs_jobs_.jobsrestore.html","classes":"tsd-kind-class tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"jobs/Jobs\""},{"id":255,"kind":512,"name":"constructor","url":"classes/_jobs_jobs_.jobsrestore.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":256,"kind":2048,"name":"firestore","url":"classes/_jobs_jobs_.jobsrestore.html#firestore","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":257,"kind":2048,"name":"auth","url":"classes/_jobs_jobs_.jobsrestore.html#auth","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":258,"kind":2048,"name":"storage","url":"classes/_jobs_jobs_.jobsrestore.html#storage","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":259,"kind":1024,"name":"settings","url":"classes/_jobs_jobs_.jobsrestore.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":260,"kind":1024,"name":"admin","url":"classes/_jobs_jobs_.jobsrestore.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":261,"kind":1,"name":"\"FirebaseEngine\"","url":"modules/_firebaseengine_.html","classes":"tsd-kind-external-module"},{"id":262,"kind":128,"name":"FirebaseEngine","url":"classes/_firebaseengine_.firebaseengine.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"FirebaseEngine\""},{"id":263,"kind":512,"name":"constructor","url":"classes/_firebaseengine_.firebaseengine.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"\"FirebaseEngine\".FirebaseEngine"},{"id":264,"kind":1024,"name":"settings","url":"classes/_firebaseengine_.firebaseengine.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"FirebaseEngine\".FirebaseEngine"},{"id":265,"kind":1024,"name":"admin","url":"classes/_firebaseengine_.firebaseengine.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"FirebaseEngine\".FirebaseEngine"},{"id":266,"kind":1024,"name":"jobs","url":"classes/_firebaseengine_.firebaseengine.html#jobs","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"FirebaseEngine\".FirebaseEngine"},{"id":267,"kind":2048,"name":"exit","url":"classes/_firebaseengine_.firebaseengine.html#exit","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"FirebaseEngine\".FirebaseEngine"},{"id":268,"kind":1,"name":"\"bin/firebase-engine\"","url":"modules/_bin_firebase_engine_.html","classes":"tsd-kind-external-module"},{"id":269,"kind":32,"name":"arg","url":"modules/_bin_firebase_engine_.html#arg","classes":"tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"bin/firebase-engine\""},{"id":270,"kind":64,"name":"errorHandler","url":"modules/_bin_firebase_engine_.html#errorhandler","classes":"tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"bin/firebase-engine\""},{"id":271,"kind":1,"name":"\"index\"","url":"modules/_index_.html","classes":"tsd-kind-external-module"}]}; \ No newline at end of file + typedoc.search.data = {"kinds":{"1":"External module","32":"Variable","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","2097152":"Object literal"},"rows":[{"id":0,"kind":1,"name":"\"utils/Logger\"","url":"modules/_utils_logger_.html","classes":"tsd-kind-external-module"},{"id":1,"kind":128,"name":"Logger","url":"classes/_utils_logger_.logger.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/Logger\""},{"id":2,"kind":2048,"name":"log","url":"classes/_utils_logger_.logger.html#log","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/Logger\".Logger"},{"id":3,"kind":2048,"name":"warn","url":"classes/_utils_logger_.logger.html#warn","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/Logger\".Logger"},{"id":4,"kind":2048,"name":"error","url":"classes/_utils_logger_.logger.html#error","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/Logger\".Logger"},{"id":5,"kind":2048,"name":"table","url":"classes/_utils_logger_.logger.html#table","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/Logger\".Logger"},{"id":6,"kind":1,"name":"\"utils/initialization\"","url":"modules/_utils_initialization_.html","classes":"tsd-kind-external-module"},{"id":7,"kind":128,"name":"Writer","url":"classes/_utils_initialization_.writer.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":8,"kind":512,"name":"constructor","url":"classes/_utils_initialization_.writer.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"\"utils/initialization\".Writer"},{"id":9,"kind":1024,"name":"compress","url":"classes/_utils_initialization_.writer.html#compress","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/initialization\".Writer"},{"id":10,"kind":1024,"name":"fileStream","url":"classes/_utils_initialization_.writer.html#filestream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/initialization\".Writer"},{"id":11,"kind":1024,"name":"gzipStream","url":"classes/_utils_initialization_.writer.html#gzipstream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/initialization\".Writer"},{"id":12,"kind":256,"name":"ParsedSettings","url":"interfaces/_utils_initialization_.parsedsettings.html","classes":"tsd-kind-interface tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":13,"kind":1024,"name":"operations","url":"interfaces/_utils_initialization_.parsedsettings.html#operations","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":14,"kind":1024,"name":"path","url":"interfaces/_utils_initialization_.parsedsettings.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":15,"kind":1024,"name":"backup","url":"interfaces/_utils_initialization_.parsedsettings.html#backup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":16,"kind":1024,"name":"services","url":"interfaces/_utils_initialization_.parsedsettings.html#services","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":17,"kind":1024,"name":"compress","url":"interfaces/_utils_initialization_.parsedsettings.html#compress","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":18,"kind":1024,"name":"hash_config","url":"interfaces/_utils_initialization_.parsedsettings.html#hash_config","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".ParsedSettings"},{"id":19,"kind":65536,"name":"__type","url":"interfaces/_utils_initialization_.parsedsettings.html#hash_config.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"\"utils/initialization\".ParsedSettings.hash_config"},{"id":20,"kind":32,"name":"algorithm","url":"interfaces/_utils_initialization_.parsedsettings.html#hash_config.__type.algorithm","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"utils/initialization\".ParsedSettings.hash_config.__type"},{"id":21,"kind":32,"name":"base64_signer_key","url":"interfaces/_utils_initialization_.parsedsettings.html#hash_config.__type.base64_signer_key","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"utils/initialization\".ParsedSettings.hash_config.__type"},{"id":22,"kind":32,"name":"base64_salt_separator","url":"interfaces/_utils_initialization_.parsedsettings.html#hash_config.__type.base64_salt_separator","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"utils/initialization\".ParsedSettings.hash_config.__type"},{"id":23,"kind":32,"name":"rounds","url":"interfaces/_utils_initialization_.parsedsettings.html#hash_config.__type.rounds","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"utils/initialization\".ParsedSettings.hash_config.__type"},{"id":24,"kind":32,"name":"mem_cost","url":"interfaces/_utils_initialization_.parsedsettings.html#hash_config.__type.mem_cost","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"utils/initialization\".ParsedSettings.hash_config.__type"},{"id":25,"kind":256,"name":"SettingsBeforeInitialization","url":"interfaces/_utils_initialization_.settingsbeforeinitialization.html","classes":"tsd-kind-interface tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":26,"kind":1024,"name":"path","url":"interfaces/_utils_initialization_.settingsbeforeinitialization.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".SettingsBeforeInitialization"},{"id":27,"kind":1024,"name":"backup","url":"interfaces/_utils_initialization_.settingsbeforeinitialization.html#backup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".SettingsBeforeInitialization"},{"id":28,"kind":1024,"name":"compress","url":"interfaces/_utils_initialization_.settingsbeforeinitialization.html#compress","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".SettingsBeforeInitialization"},{"id":29,"kind":1024,"name":"hash_config","url":"interfaces/_utils_initialization_.settingsbeforeinitialization.html#hash_config","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".SettingsBeforeInitialization"},{"id":30,"kind":256,"name":"Settings","url":"interfaces/_utils_initialization_.settings.html","classes":"tsd-kind-interface tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":31,"kind":1024,"name":"path","url":"interfaces/_utils_initialization_.settings.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".Settings"},{"id":32,"kind":1024,"name":"backup","url":"interfaces/_utils_initialization_.settings.html#backup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".Settings"},{"id":33,"kind":1024,"name":"serviceAccount","url":"interfaces/_utils_initialization_.settings.html#serviceaccount","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".Settings"},{"id":34,"kind":65536,"name":"__type","url":"interfaces/_utils_initialization_.settings.html#serviceaccount.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"\"utils/initialization\".Settings.serviceAccount"},{"id":35,"kind":1024,"name":"compress","url":"interfaces/_utils_initialization_.settings.html#compress","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".Settings"},{"id":36,"kind":1024,"name":"hash_config","url":"interfaces/_utils_initialization_.settings.html#hash_config","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/initialization\".Settings"},{"id":37,"kind":32,"name":"store","url":"modules/_utils_initialization_.html#store","classes":"tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"utils/initialization\""},{"id":38,"kind":65536,"name":"__type","url":"modules/_utils_initialization_.html#store.__type","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"utils/initialization\".store"},{"id":39,"kind":32,"name":"admin","url":"modules/_utils_initialization_.html#store.__type.admin","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"utils/initialization\".store.__type"},{"id":40,"kind":32,"name":"settings","url":"modules/_utils_initialization_.html#store.__type.settings-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"utils/initialization\".store.__type"},{"id":41,"kind":32,"name":"writers","url":"modules/_utils_initialization_.html#writers","classes":"tsd-kind-variable tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":42,"kind":65536,"name":"__type","url":"modules/_utils_initialization_.html#writers.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"\"utils/initialization\".writers"},{"id":43,"kind":64,"name":"createWriteFileStream","url":"modules/_utils_initialization_.html#createwritefilestream","classes":"tsd-kind-function tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":44,"kind":64,"name":"cmdParser","url":"modules/_utils_initialization_.html#cmdparser","classes":"tsd-kind-function tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":45,"kind":64,"name":"initialization","url":"modules/_utils_initialization_.html#initialization","classes":"tsd-kind-function tsd-parent-kind-external-module","parent":"\"utils/initialization\""},{"id":46,"kind":1,"name":"\"utils/template\"","url":"modules/_utils_template_.html","classes":"tsd-kind-external-module"},{"id":47,"kind":128,"name":"JobTemplate","url":"classes/_utils_template_.jobtemplate.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":48,"kind":512,"name":"constructor","url":"classes/_utils_template_.jobtemplate.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"\"utils/template\".JobTemplate"},{"id":49,"kind":1024,"name":"settings","url":"classes/_utils_template_.jobtemplate.html#settings","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobTemplate"},{"id":50,"kind":1024,"name":"admin","url":"classes/_utils_template_.jobtemplate.html#admin","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobTemplate"},{"id":51,"kind":128,"name":"JobOneTemplate","url":"classes/_utils_template_.jobonetemplate.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":52,"kind":512,"name":"constructor","url":"classes/_utils_template_.jobonetemplate.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"utils/template\".JobOneTemplate"},{"id":53,"kind":2048,"name":"firestore","url":"classes/_utils_template_.jobonetemplate.html#firestore","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"utils/template\".JobOneTemplate"},{"id":54,"kind":2048,"name":"auth","url":"classes/_utils_template_.jobonetemplate.html#auth","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"utils/template\".JobOneTemplate"},{"id":55,"kind":2048,"name":"storage","url":"classes/_utils_template_.jobonetemplate.html#storage","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"utils/template\".JobOneTemplate"},{"id":56,"kind":1024,"name":"settings","url":"classes/_utils_template_.jobonetemplate.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobOneTemplate"},{"id":57,"kind":1024,"name":"admin","url":"classes/_utils_template_.jobonetemplate.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobOneTemplate"},{"id":58,"kind":128,"name":"JobOneServiceTemplate","url":"classes/_utils_template_.joboneservicetemplate.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":59,"kind":512,"name":"constructor","url":"classes/_utils_template_.joboneservicetemplate.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":60,"kind":1024,"name":"counter","url":"classes/_utils_template_.joboneservicetemplate.html#counter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":61,"kind":2048,"name":"getWorkTime","url":"classes/_utils_template_.joboneservicetemplate.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":62,"kind":1024,"name":"startTimestamp","url":"classes/_utils_template_.joboneservicetemplate.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":63,"kind":2048,"name":"run","url":"classes/_utils_template_.joboneservicetemplate.html#run","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":64,"kind":1024,"name":"settings","url":"classes/_utils_template_.joboneservicetemplate.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":65,"kind":1024,"name":"admin","url":"classes/_utils_template_.joboneservicetemplate.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobOneServiceTemplate"},{"id":66,"kind":128,"name":"JobBackupServiceTemplate","url":"classes/_utils_template_.jobbackupservicetemplate.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":67,"kind":512,"name":"constructor","url":"classes/_utils_template_.jobbackupservicetemplate.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":68,"kind":1024,"name":"writer","url":"classes/_utils_template_.jobbackupservicetemplate.html#writer","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":69,"kind":1024,"name":"stringiferStream","url":"classes/_utils_template_.jobbackupservicetemplate.html#stringiferstream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":70,"kind":1024,"name":"counter","url":"classes/_utils_template_.jobbackupservicetemplate.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":71,"kind":2048,"name":"getWorkTime","url":"classes/_utils_template_.jobbackupservicetemplate.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":72,"kind":1024,"name":"startTimestamp","url":"classes/_utils_template_.jobbackupservicetemplate.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":73,"kind":2048,"name":"run","url":"classes/_utils_template_.jobbackupservicetemplate.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":74,"kind":1024,"name":"settings","url":"classes/_utils_template_.jobbackupservicetemplate.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":75,"kind":1024,"name":"admin","url":"classes/_utils_template_.jobbackupservicetemplate.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupServiceTemplate"},{"id":76,"kind":128,"name":"JobBackupSRestoreTemplate","url":"classes/_utils_template_.jobbackupsrestoretemplate.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":77,"kind":512,"name":"constructor","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":78,"kind":1024,"name":"fileStream","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#filestream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":79,"kind":1024,"name":"gunzipStream","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#gunzipstream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":80,"kind":1024,"name":"parserStream","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#parserstream","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":81,"kind":1024,"name":"counter","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":82,"kind":2048,"name":"getWorkTime","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":83,"kind":1024,"name":"startTimestamp","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":84,"kind":2048,"name":"run","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":85,"kind":1024,"name":"settings","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":86,"kind":1024,"name":"admin","url":"classes/_utils_template_.jobbackupsrestoretemplate.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"utils/template\".JobBackupSRestoreTemplate"},{"id":87,"kind":256,"name":"DataModel","url":"interfaces/_utils_template_.datamodel.html","classes":"tsd-kind-interface tsd-parent-kind-external-module","parent":"\"utils/template\""},{"id":88,"kind":1024,"name":"service","url":"interfaces/_utils_template_.datamodel.html#service","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/template\".DataModel"},{"id":89,"kind":1024,"name":"path","url":"interfaces/_utils_template_.datamodel.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/template\".DataModel"},{"id":90,"kind":1024,"name":"data","url":"interfaces/_utils_template_.datamodel.html#data","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"utils/template\".DataModel"},{"id":91,"kind":32,"name":"Objectstream","url":"modules/_utils_template_.html#objectstream","classes":"tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"utils/template\""},{"id":92,"kind":1,"name":"\"utils/AuthConverter\"","url":"modules/_utils_authconverter_.html","classes":"tsd-kind-external-module"},{"id":93,"kind":128,"name":"AuthConverter","url":"classes/_utils_authconverter_.authconverter.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/AuthConverter\""},{"id":94,"kind":1024,"name":"userField","url":"classes/_utils_authconverter_.authconverter.html#userfield","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private tsd-is-static","parent":"\"utils/AuthConverter\".AuthConverter"},{"id":95,"kind":2048,"name":"toString","url":"classes/_utils_authconverter_.authconverter.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/AuthConverter\".AuthConverter"},{"id":96,"kind":2048,"name":"fromString","url":"classes/_utils_authconverter_.authconverter.html#fromstring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/AuthConverter\".AuthConverter"},{"id":97,"kind":1,"name":"\"jobs/backup/auth\"","url":"modules/_jobs_backup_auth_.html","classes":"tsd-kind-external-module"},{"id":98,"kind":128,"name":"JobBackupAuth","url":"classes/_jobs_backup_auth_.jobbackupauth.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/backup/auth\""},{"id":99,"kind":512,"name":"constructor","url":"classes/_jobs_backup_auth_.jobbackupauth.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":100,"kind":1024,"name":"auth","url":"classes/_jobs_backup_auth_.jobbackupauth.html#auth","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":101,"kind":2048,"name":"recursiveBackup","url":"classes/_jobs_backup_auth_.jobbackupauth.html#recursivebackup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":102,"kind":2048,"name":"run","url":"classes/_jobs_backup_auth_.jobbackupauth.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":103,"kind":1024,"name":"writer","url":"classes/_jobs_backup_auth_.jobbackupauth.html#writer","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":104,"kind":1024,"name":"stringiferStream","url":"classes/_jobs_backup_auth_.jobbackupauth.html#stringiferstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":105,"kind":1024,"name":"counter","url":"classes/_jobs_backup_auth_.jobbackupauth.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":106,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_backup_auth_.jobbackupauth.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":107,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_backup_auth_.jobbackupauth.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":108,"kind":1024,"name":"settings","url":"classes/_jobs_backup_auth_.jobbackupauth.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":109,"kind":1024,"name":"admin","url":"classes/_jobs_backup_auth_.jobbackupauth.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/auth\".JobBackupAuth"},{"id":110,"kind":1,"name":"\"utils/FirestoreConverter\"","url":"modules/_utils_firestoreconverter_.html","classes":"tsd-kind-external-module"},{"id":111,"kind":128,"name":"FirestoreConverter","url":"classes/_utils_firestoreconverter_.firestoreconverter.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/FirestoreConverter\""},{"id":112,"kind":2048,"name":"toString","url":"classes/_utils_firestoreconverter_.firestoreconverter.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/FirestoreConverter\".FirestoreConverter"},{"id":113,"kind":2048,"name":"toObject","url":"classes/_utils_firestoreconverter_.firestoreconverter.html#toobject","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private tsd-is-static","parent":"\"utils/FirestoreConverter\".FirestoreConverter"},{"id":114,"kind":2048,"name":"fromString","url":"classes/_utils_firestoreconverter_.firestoreconverter.html#fromstring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/FirestoreConverter\".FirestoreConverter"},{"id":115,"kind":2048,"name":"fromObject","url":"classes/_utils_firestoreconverter_.firestoreconverter.html#fromobject","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private tsd-is-static","parent":"\"utils/FirestoreConverter\".FirestoreConverter"},{"id":116,"kind":1,"name":"\"jobs/backup/firestore\"","url":"modules/_jobs_backup_firestore_.html","classes":"tsd-kind-external-module"},{"id":117,"kind":128,"name":"JobBackupFirestore","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/backup/firestore\""},{"id":118,"kind":512,"name":"constructor","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":119,"kind":1024,"name":"firestore","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#firestore","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":120,"kind":2048,"name":"documentBackup","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#documentbackup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":121,"kind":2048,"name":"recursiveBackup","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#recursivebackup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":122,"kind":2048,"name":"run","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":123,"kind":1024,"name":"writer","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#writer","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":124,"kind":1024,"name":"stringiferStream","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#stringiferstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":125,"kind":1024,"name":"counter","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":126,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":127,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":128,"kind":1024,"name":"settings","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":129,"kind":1024,"name":"admin","url":"classes/_jobs_backup_firestore_.jobbackupfirestore.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/firestore\".JobBackupFirestore"},{"id":130,"kind":1,"name":"\"utils/StorageConverter\"","url":"modules/_utils_storageconverter_.html","classes":"tsd-kind-external-module"},{"id":131,"kind":128,"name":"StorageConverter","url":"classes/_utils_storageconverter_.storageconverter.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"utils/StorageConverter\""},{"id":132,"kind":2048,"name":"toString","url":"classes/_utils_storageconverter_.storageconverter.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/StorageConverter\".StorageConverter"},{"id":133,"kind":2048,"name":"fromString","url":"classes/_utils_storageconverter_.storageconverter.html#fromstring","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"\"utils/StorageConverter\".StorageConverter"},{"id":134,"kind":1,"name":"\"jobs/backup/storage\"","url":"modules/_jobs_backup_storage_.html","classes":"tsd-kind-external-module"},{"id":135,"kind":128,"name":"JobBackupStorage","url":"classes/_jobs_backup_storage_.jobbackupstorage.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/backup/storage\""},{"id":136,"kind":512,"name":"constructor","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":137,"kind":1024,"name":"storage","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#storage","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":138,"kind":1024,"name":"bucket","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#bucket","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":139,"kind":2048,"name":"backupFile","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#backupfile","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":140,"kind":2048,"name":"run","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":141,"kind":1024,"name":"writer","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#writer","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":142,"kind":1024,"name":"stringiferStream","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#stringiferstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":143,"kind":1024,"name":"counter","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":144,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":145,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":146,"kind":1024,"name":"settings","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":147,"kind":1024,"name":"admin","url":"classes/_jobs_backup_storage_.jobbackupstorage.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/backup/storage\".JobBackupStorage"},{"id":148,"kind":1,"name":"\"jobs/clean/auth\"","url":"modules/_jobs_clean_auth_.html","classes":"tsd-kind-external-module"},{"id":149,"kind":128,"name":"JobCleanAuth","url":"classes/_jobs_clean_auth_.jobcleanauth.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/clean/auth\""},{"id":150,"kind":512,"name":"constructor","url":"classes/_jobs_clean_auth_.jobcleanauth.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":151,"kind":1024,"name":"auth","url":"classes/_jobs_clean_auth_.jobcleanauth.html#auth","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":152,"kind":2048,"name":"recursiveClean","url":"classes/_jobs_clean_auth_.jobcleanauth.html#recursiveclean","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":153,"kind":2048,"name":"run","url":"classes/_jobs_clean_auth_.jobcleanauth.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":154,"kind":1024,"name":"counter","url":"classes/_jobs_clean_auth_.jobcleanauth.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":155,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_clean_auth_.jobcleanauth.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":156,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_clean_auth_.jobcleanauth.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":157,"kind":1024,"name":"settings","url":"classes/_jobs_clean_auth_.jobcleanauth.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":158,"kind":1024,"name":"admin","url":"classes/_jobs_clean_auth_.jobcleanauth.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/auth\".JobCleanAuth"},{"id":159,"kind":1,"name":"\"jobs/clean/firestore\"","url":"modules/_jobs_clean_firestore_.html","classes":"tsd-kind-external-module"},{"id":160,"kind":128,"name":"JobCleanFirestore","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/clean/firestore\""},{"id":161,"kind":512,"name":"constructor","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":162,"kind":1024,"name":"batchSize","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#batchsize","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private tsd-is-static","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":163,"kind":1024,"name":"firestore","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#firestore","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":164,"kind":1024,"name":"batch","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#batch","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":165,"kind":2048,"name":"batchClean","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#batchclean","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":166,"kind":2048,"name":"recursiveClean","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#recursiveclean","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":167,"kind":2048,"name":"run","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":168,"kind":1024,"name":"counter","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":169,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":170,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":171,"kind":1024,"name":"settings","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":172,"kind":1024,"name":"admin","url":"classes/_jobs_clean_firestore_.jobcleanfirestore.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/firestore\".JobCleanFirestore"},{"id":173,"kind":1,"name":"\"jobs/clean/storage\"","url":"modules/_jobs_clean_storage_.html","classes":"tsd-kind-external-module"},{"id":174,"kind":128,"name":"JobCleanStorage","url":"classes/_jobs_clean_storage_.jobcleanstorage.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/clean/storage\""},{"id":175,"kind":512,"name":"constructor","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":176,"kind":1024,"name":"storage","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#storage","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":177,"kind":1024,"name":"bucket","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#bucket","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":178,"kind":2048,"name":"run","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":179,"kind":1024,"name":"counter","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":180,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":181,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":182,"kind":1024,"name":"settings","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":183,"kind":1024,"name":"admin","url":"classes/_jobs_clean_storage_.jobcleanstorage.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/clean/storage\".JobCleanStorage"},{"id":184,"kind":1,"name":"\"jobs/restore/auth\"","url":"modules/_jobs_restore_auth_.html","classes":"tsd-kind-external-module"},{"id":185,"kind":128,"name":"JobRestoreAuth","url":"classes/_jobs_restore_auth_.jobrestoreauth.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/restore/auth\""},{"id":186,"kind":512,"name":"constructor","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":187,"kind":1024,"name":"auth","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#auth","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":188,"kind":1024,"name":"writeStream","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":189,"kind":2097152,"name":"writeBuffer","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer","classes":"tsd-kind-object-literal tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":190,"kind":32,"name":"batchSize","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.batchsize","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":191,"kind":32,"name":"iteration","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.iteration","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":192,"kind":32,"name":"batch","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.batch","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":193,"kind":64,"name":"clear","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.clear","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":194,"kind":64,"name":"commit","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.commit","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":195,"kind":64,"name":"set","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#writebuffer.set","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/auth\".JobRestoreAuth.writeBuffer"},{"id":196,"kind":2048,"name":"run","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":197,"kind":1024,"name":"fileStream","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#filestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":198,"kind":1024,"name":"gunzipStream","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#gunzipstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":199,"kind":1024,"name":"parserStream","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#parserstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":200,"kind":1024,"name":"counter","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":201,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":202,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":203,"kind":1024,"name":"settings","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":204,"kind":1024,"name":"admin","url":"classes/_jobs_restore_auth_.jobrestoreauth.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/auth\".JobRestoreAuth"},{"id":205,"kind":1,"name":"\"jobs/restore/firestore\"","url":"modules/_jobs_restore_firestore_.html","classes":"tsd-kind-external-module"},{"id":206,"kind":128,"name":"JobRestoreFirestore","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/restore/firestore\""},{"id":207,"kind":512,"name":"constructor","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":208,"kind":1024,"name":"firestore","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#firestore","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":209,"kind":1024,"name":"writeStream","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":210,"kind":2097152,"name":"writeBuffer","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer","classes":"tsd-kind-object-literal tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":211,"kind":32,"name":"batchSize","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.batchsize","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":212,"kind":32,"name":"iteration","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.iteration","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":213,"kind":32,"name":"batch","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.batch","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":214,"kind":64,"name":"clear","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.clear","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":215,"kind":64,"name":"commit","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.commit","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":216,"kind":64,"name":"set","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#writebuffer.set","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"\"jobs/restore/firestore\".JobRestoreFirestore.writeBuffer"},{"id":217,"kind":2048,"name":"run","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":218,"kind":1024,"name":"fileStream","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#filestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":219,"kind":1024,"name":"gunzipStream","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#gunzipstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":220,"kind":1024,"name":"parserStream","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#parserstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":221,"kind":1024,"name":"counter","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":222,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":223,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":224,"kind":1024,"name":"settings","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":225,"kind":1024,"name":"admin","url":"classes/_jobs_restore_firestore_.jobrestorefirestore.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/firestore\".JobRestoreFirestore"},{"id":226,"kind":1,"name":"\"jobs/restore/storage\"","url":"modules/_jobs_restore_storage_.html","classes":"tsd-kind-external-module"},{"id":227,"kind":128,"name":"JobRestoreStorage","url":"classes/_jobs_restore_storage_.jobrestorestorage.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/restore/storage\""},{"id":228,"kind":512,"name":"constructor","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":229,"kind":1024,"name":"storage","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#storage","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":230,"kind":1024,"name":"bucket","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#bucket","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":231,"kind":1024,"name":"writeStream","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#writestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":232,"kind":2048,"name":"run","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":233,"kind":1024,"name":"fileStream","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#filestream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":234,"kind":1024,"name":"gunzipStream","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#gunzipstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":235,"kind":1024,"name":"parserStream","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#parserstream","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":236,"kind":1024,"name":"counter","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#counter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":237,"kind":2048,"name":"getWorkTime","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#getworktime","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":238,"kind":1024,"name":"startTimestamp","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#starttimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":239,"kind":1024,"name":"settings","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":240,"kind":1024,"name":"admin","url":"classes/_jobs_restore_storage_.jobrestorestorage.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/restore/storage\".JobRestoreStorage"},{"id":241,"kind":1,"name":"\"jobs/Jobs\"","url":"modules/_jobs_jobs_.html","classes":"tsd-kind-external-module"},{"id":242,"kind":128,"name":"Jobs","url":"classes/_jobs_jobs_.jobs.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"jobs/Jobs\""},{"id":243,"kind":512,"name":"constructor","url":"classes/_jobs_jobs_.jobs.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"\"jobs/Jobs\".Jobs"},{"id":244,"kind":1024,"name":"backup","url":"classes/_jobs_jobs_.jobs.html#backup","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"jobs/Jobs\".Jobs"},{"id":245,"kind":1024,"name":"clean","url":"classes/_jobs_jobs_.jobs.html#clean","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"jobs/Jobs\".Jobs"},{"id":246,"kind":1024,"name":"restore","url":"classes/_jobs_jobs_.jobs.html#restore","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"jobs/Jobs\".Jobs"},{"id":247,"kind":1024,"name":"settings","url":"classes/_jobs_jobs_.jobs.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/Jobs\".Jobs"},{"id":248,"kind":1024,"name":"admin","url":"classes/_jobs_jobs_.jobs.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"\"jobs/Jobs\".Jobs"},{"id":249,"kind":128,"name":"JobsBackup","url":"classes/_jobs_jobs_.jobsbackup.html","classes":"tsd-kind-class tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"jobs/Jobs\""},{"id":250,"kind":512,"name":"constructor","url":"classes/_jobs_jobs_.jobsbackup.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":251,"kind":2048,"name":"firestore","url":"classes/_jobs_jobs_.jobsbackup.html#firestore","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":252,"kind":2048,"name":"auth","url":"classes/_jobs_jobs_.jobsbackup.html#auth","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":253,"kind":2048,"name":"storage","url":"classes/_jobs_jobs_.jobsbackup.html#storage","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":254,"kind":1024,"name":"settings","url":"classes/_jobs_jobs_.jobsbackup.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":255,"kind":1024,"name":"admin","url":"classes/_jobs_jobs_.jobsbackup.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsBackup"},{"id":256,"kind":128,"name":"JobsClean","url":"classes/_jobs_jobs_.jobsclean.html","classes":"tsd-kind-class tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"jobs/Jobs\""},{"id":257,"kind":512,"name":"constructor","url":"classes/_jobs_jobs_.jobsclean.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":258,"kind":2048,"name":"firestore","url":"classes/_jobs_jobs_.jobsclean.html#firestore","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":259,"kind":2048,"name":"auth","url":"classes/_jobs_jobs_.jobsclean.html#auth","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":260,"kind":2048,"name":"storage","url":"classes/_jobs_jobs_.jobsclean.html#storage","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":261,"kind":1024,"name":"settings","url":"classes/_jobs_jobs_.jobsclean.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":262,"kind":1024,"name":"admin","url":"classes/_jobs_jobs_.jobsclean.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsClean"},{"id":263,"kind":128,"name":"JobsRestore","url":"classes/_jobs_jobs_.jobsrestore.html","classes":"tsd-kind-class tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"jobs/Jobs\""},{"id":264,"kind":512,"name":"constructor","url":"classes/_jobs_jobs_.jobsrestore.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":265,"kind":2048,"name":"firestore","url":"classes/_jobs_jobs_.jobsrestore.html#firestore","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":266,"kind":2048,"name":"auth","url":"classes/_jobs_jobs_.jobsrestore.html#auth","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":267,"kind":2048,"name":"storage","url":"classes/_jobs_jobs_.jobsrestore.html#storage","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":268,"kind":1024,"name":"settings","url":"classes/_jobs_jobs_.jobsrestore.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":269,"kind":1024,"name":"admin","url":"classes/_jobs_jobs_.jobsrestore.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-not-exported","parent":"\"jobs/Jobs\".JobsRestore"},{"id":270,"kind":1,"name":"\"FirebaseEngine\"","url":"modules/_firebaseengine_.html","classes":"tsd-kind-external-module"},{"id":271,"kind":128,"name":"FirebaseEngine","url":"classes/_firebaseengine_.firebaseengine.html","classes":"tsd-kind-class tsd-parent-kind-external-module","parent":"\"FirebaseEngine\""},{"id":272,"kind":512,"name":"constructor","url":"classes/_firebaseengine_.firebaseengine.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"\"FirebaseEngine\".FirebaseEngine"},{"id":273,"kind":1024,"name":"settings","url":"classes/_firebaseengine_.firebaseengine.html#settings","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"FirebaseEngine\".FirebaseEngine"},{"id":274,"kind":1024,"name":"admin","url":"classes/_firebaseengine_.firebaseengine.html#admin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"\"FirebaseEngine\".FirebaseEngine"},{"id":275,"kind":1024,"name":"jobs","url":"classes/_firebaseengine_.firebaseengine.html#jobs","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"FirebaseEngine\".FirebaseEngine"},{"id":276,"kind":2048,"name":"exit","url":"classes/_firebaseengine_.firebaseengine.html#exit","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"FirebaseEngine\".FirebaseEngine"},{"id":277,"kind":1,"name":"\"bin/firebase-engine\"","url":"modules/_bin_firebase_engine_.html","classes":"tsd-kind-external-module"},{"id":278,"kind":32,"name":"arg","url":"modules/_bin_firebase_engine_.html#arg","classes":"tsd-kind-variable tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"bin/firebase-engine\""},{"id":279,"kind":64,"name":"errorHandler","url":"modules/_bin_firebase_engine_.html#errorhandler","classes":"tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"bin/firebase-engine\""},{"id":280,"kind":1,"name":"\"index\"","url":"modules/_index_.html","classes":"tsd-kind-external-module"}]}; \ No newline at end of file diff --git a/docs/classes/_firebaseengine_.firebaseengine.html b/docs/classes/_firebaseengine_.firebaseengine.html index bf833b94..402f5b7f 100644 --- a/docs/classes/_firebaseengine_.firebaseengine.html +++ b/docs/classes/_firebaseengine_.firebaseengine.html @@ -123,7 +123,7 @@

constructor

  • @@ -152,7 +152,7 @@

    Private admin

    admin: App
    @@ -167,7 +167,7 @@

    jobs

    jobs: Jobs
    @@ -182,7 +182,7 @@

    Private settings

    settings: Settings
    @@ -204,7 +204,7 @@

    exit

  • diff --git a/docs/classes/_jobs_backup_auth_.jobbackupauth.html b/docs/classes/_jobs_backup_auth_.jobbackupauth.html index 8c9a68be..057ce8b7 100644 --- a/docs/classes/_jobs_backup_auth_.jobbackupauth.html +++ b/docs/classes/_jobs_backup_auth_.jobbackupauth.html @@ -128,7 +128,7 @@

    constructor

    @@ -166,7 +166,7 @@

    admin

    @@ -181,7 +181,7 @@

    Private auth

    auth: Auth.Auth
    @@ -197,7 +197,7 @@

    counter

    @@ -213,7 +213,7 @@

    settings

    @@ -229,7 +229,7 @@

    startTimestamp

    @@ -245,7 +245,7 @@

    stringiferStream

    @@ -261,7 +261,7 @@

    writer

    @@ -284,7 +284,7 @@

    getWorkTime

    @@ -306,7 +306,7 @@

    Private recursiveBackup
    @@ -335,7 +335,7 @@

    run

    diff --git a/docs/classes/_jobs_backup_firestore_.jobbackupfirestore.html b/docs/classes/_jobs_backup_firestore_.jobbackupfirestore.html index 3afc1bab..2a7e1129 100644 --- a/docs/classes/_jobs_backup_firestore_.jobbackupfirestore.html +++ b/docs/classes/_jobs_backup_firestore_.jobbackupfirestore.html @@ -129,7 +129,7 @@

    constructor

    @@ -167,7 +167,7 @@

    admin

    @@ -183,7 +183,7 @@

    counter

    @@ -198,7 +198,7 @@

    Private firestore

    firestore: Firestore.Firestore
    @@ -214,7 +214,7 @@

    settings

    @@ -230,7 +230,7 @@

    startTimestamp

    @@ -246,7 +246,7 @@

    stringiferStream

    @@ -262,7 +262,7 @@

    writer

    @@ -284,7 +284,7 @@

    Private documentBackup

    @@ -313,7 +313,7 @@

    getWorkTime

    @@ -335,7 +335,7 @@

    Private recursiveBackup
    @@ -364,7 +364,7 @@

    run

    diff --git a/docs/classes/_jobs_backup_storage_.jobbackupstorage.html b/docs/classes/_jobs_backup_storage_.jobbackupstorage.html index a7b7e409..9e27d30c 100644 --- a/docs/classes/_jobs_backup_storage_.jobbackupstorage.html +++ b/docs/classes/_jobs_backup_storage_.jobbackupstorage.html @@ -129,7 +129,7 @@

    constructor

    @@ -167,7 +167,7 @@

    admin

    @@ -182,7 +182,7 @@

    Private bucket

    bucket: any
    @@ -198,7 +198,7 @@

    counter

    @@ -214,7 +214,7 @@

    settings

    @@ -230,7 +230,7 @@

    startTimestamp

    @@ -245,7 +245,7 @@

    Private storage

    storage: Storage.Storage
    @@ -261,7 +261,7 @@

    stringiferStream

    @@ -277,7 +277,7 @@

    writer

    @@ -299,7 +299,7 @@

    backupFile

  • @@ -328,7 +328,7 @@

    getWorkTime

    @@ -351,7 +351,7 @@

    run

    diff --git a/docs/classes/_jobs_clean_auth_.jobcleanauth.html b/docs/classes/_jobs_clean_auth_.jobcleanauth.html index db51ca92..a311f7fd 100644 --- a/docs/classes/_jobs_clean_auth_.jobcleanauth.html +++ b/docs/classes/_jobs_clean_auth_.jobcleanauth.html @@ -126,7 +126,7 @@

    constructor

    @@ -164,7 +164,7 @@

    admin

    @@ -179,7 +179,7 @@

    Private auth

    auth: Auth.Auth
    @@ -195,7 +195,7 @@

    counter

    @@ -211,7 +211,7 @@

    settings

    @@ -227,7 +227,7 @@

    startTimestamp

    @@ -250,7 +250,7 @@

    getWorkTime

    @@ -272,7 +272,7 @@

    Private recursiveClean

    @@ -301,7 +301,7 @@

    run

    diff --git a/docs/classes/_jobs_clean_firestore_.jobcleanfirestore.html b/docs/classes/_jobs_clean_firestore_.jobcleanfirestore.html index 1091993b..0e98ee4b 100644 --- a/docs/classes/_jobs_clean_firestore_.jobcleanfirestore.html +++ b/docs/classes/_jobs_clean_firestore_.jobcleanfirestore.html @@ -129,7 +129,7 @@

    constructor

    @@ -167,7 +167,7 @@

    admin

    @@ -182,7 +182,7 @@

    Private batch

    batch: Firestore.WriteBatch
    @@ -198,7 +198,7 @@

    counter

    @@ -213,7 +213,7 @@

    Private firestore

    firestore: Firestore.Firestore
    @@ -229,7 +229,7 @@

    settings

    @@ -245,7 +245,7 @@

    startTimestamp

    @@ -260,7 +260,7 @@

    Static batchSize: number = 100

    @@ -282,7 +282,7 @@

    Private batchClean

  • @@ -311,7 +311,7 @@

    getWorkTime

    @@ -333,7 +333,7 @@

    Private recursiveClean

    @@ -362,7 +362,7 @@

    run

    diff --git a/docs/classes/_jobs_clean_storage_.jobcleanstorage.html b/docs/classes/_jobs_clean_storage_.jobcleanstorage.html index f30b29ef..190c20e2 100644 --- a/docs/classes/_jobs_clean_storage_.jobcleanstorage.html +++ b/docs/classes/_jobs_clean_storage_.jobcleanstorage.html @@ -126,7 +126,7 @@

    constructor

    @@ -164,7 +164,7 @@

    admin

    @@ -179,7 +179,7 @@

    Private bucket

    bucket: any
    @@ -195,7 +195,7 @@

    counter

    @@ -211,7 +211,7 @@

    settings

    @@ -227,7 +227,7 @@

    startTimestamp

    @@ -242,7 +242,7 @@

    Private storage

    storage: Storage.Storage
    @@ -265,7 +265,7 @@

    getWorkTime

    @@ -288,7 +288,7 @@

    run

    diff --git a/docs/classes/_jobs_jobs_.jobs.html b/docs/classes/_jobs_jobs_.jobs.html index f9d1774d..790db538 100644 --- a/docs/classes/_jobs_jobs_.jobs.html +++ b/docs/classes/_jobs_jobs_.jobs.html @@ -125,7 +125,7 @@

    constructor

    @@ -163,7 +163,7 @@

    admin

    @@ -178,7 +178,7 @@

    backup

    backup: JobsBackup
    @@ -193,7 +193,7 @@

    clean

    clean: JobsClean
    @@ -208,7 +208,7 @@

    restore

    restore: JobsRestore
    @@ -224,7 +224,7 @@

    settings

    diff --git a/docs/classes/_jobs_jobs_.jobsbackup.html b/docs/classes/_jobs_jobs_.jobsbackup.html index 5c1edbb8..9b0f49d1 100644 --- a/docs/classes/_jobs_jobs_.jobsbackup.html +++ b/docs/classes/_jobs_jobs_.jobsbackup.html @@ -130,7 +130,7 @@

    constructor

    @@ -168,7 +168,7 @@

    admin

    @@ -184,7 +184,7 @@

    settings

    @@ -207,7 +207,7 @@

    auth

    @@ -230,7 +230,7 @@

    firestore

    @@ -253,7 +253,7 @@

    storage

    diff --git a/docs/classes/_jobs_jobs_.jobsclean.html b/docs/classes/_jobs_jobs_.jobsclean.html index e085008f..e65fb1d8 100644 --- a/docs/classes/_jobs_jobs_.jobsclean.html +++ b/docs/classes/_jobs_jobs_.jobsclean.html @@ -130,7 +130,7 @@

    constructor

    @@ -168,7 +168,7 @@

    admin

    @@ -184,7 +184,7 @@

    settings

    @@ -207,7 +207,7 @@

    auth

    @@ -230,7 +230,7 @@

    firestore

    @@ -253,7 +253,7 @@

    storage

    diff --git a/docs/classes/_jobs_jobs_.jobsrestore.html b/docs/classes/_jobs_jobs_.jobsrestore.html index c70c0425..8fce4b87 100644 --- a/docs/classes/_jobs_jobs_.jobsrestore.html +++ b/docs/classes/_jobs_jobs_.jobsrestore.html @@ -130,7 +130,7 @@

    constructor

    @@ -168,7 +168,7 @@

    admin

    @@ -184,7 +184,7 @@

    settings

    @@ -207,7 +207,7 @@

    auth

    @@ -230,7 +230,7 @@

    firestore

    @@ -253,7 +253,7 @@

    storage

    diff --git a/docs/classes/_jobs_restore_auth_.jobrestoreauth.html b/docs/classes/_jobs_restore_auth_.jobrestoreauth.html index d16462e5..d62d5ea6 100644 --- a/docs/classes/_jobs_restore_auth_.jobrestoreauth.html +++ b/docs/classes/_jobs_restore_auth_.jobrestoreauth.html @@ -135,7 +135,7 @@

    constructor

    @@ -173,7 +173,7 @@

    admin

    @@ -188,7 +188,7 @@

    Private auth

    auth: Auth.Auth
    @@ -204,7 +204,7 @@

    counter

    @@ -220,7 +220,7 @@

    fileStream

    @@ -236,7 +236,7 @@

    Optional gunzipStream

    Inherited from JobBackupSRestoreTemplate.gunzipStream

    @@ -252,7 +252,7 @@

    parserStream

    @@ -268,7 +268,7 @@

    settings

    @@ -284,7 +284,7 @@

    startTimestamp

    @@ -299,7 +299,7 @@

    Private writeStream

    writeStream: Writable
    @@ -322,7 +322,7 @@

    getWorkTime

    @@ -345,7 +345,7 @@

    run

    @@ -366,7 +366,7 @@

    Private writeBuffer

    writeBuffer: object
    @@ -380,7 +380,7 @@

    batch

    batch: { uid: string }[] = [] as {uid: string, [key: string]: any}[]
    @@ -395,7 +395,7 @@

    batchSize

    batchSize: number = 100
    @@ -410,7 +410,7 @@

    iteration

    iteration: number = 0
    @@ -429,7 +429,7 @@

    clear

  • @@ -451,7 +451,7 @@

    commit

  • @@ -473,7 +473,7 @@

    set

  • diff --git a/docs/classes/_jobs_restore_firestore_.jobrestorefirestore.html b/docs/classes/_jobs_restore_firestore_.jobrestorefirestore.html index 77d773cf..6b1e5aae 100644 --- a/docs/classes/_jobs_restore_firestore_.jobrestorefirestore.html +++ b/docs/classes/_jobs_restore_firestore_.jobrestorefirestore.html @@ -135,7 +135,7 @@

    constructor

    @@ -173,7 +173,7 @@

    admin

    @@ -189,7 +189,7 @@

    counter

    @@ -205,7 +205,7 @@

    fileStream

    @@ -220,7 +220,7 @@

    Private firestore

    firestore: Firestore.Firestore = this.admin.firestore()
    @@ -236,7 +236,7 @@

    Optional gunzipStream

    Inherited from JobBackupSRestoreTemplate.gunzipStream

    @@ -252,7 +252,7 @@

    parserStream

    @@ -268,7 +268,7 @@

    settings

    @@ -284,7 +284,7 @@

    startTimestamp

    @@ -299,7 +299,7 @@

    Private writeStream

    writeStream: Writable
    @@ -322,7 +322,7 @@

    getWorkTime

    @@ -345,7 +345,7 @@

    run

    @@ -366,7 +366,7 @@

    Private writeBuffer

    writeBuffer: object
    @@ -380,7 +380,7 @@

    batch

    batch: WriteBatch = this.firestore.batch()
    @@ -395,7 +395,7 @@

    batchSize

    batchSize: number = 100
    @@ -410,7 +410,7 @@

    iteration

    iteration: number = 0
    @@ -429,7 +429,7 @@

    clear

  • @@ -451,7 +451,7 @@

    commit

  • @@ -473,7 +473,7 @@

    set

  • diff --git a/docs/classes/_jobs_restore_storage_.jobrestorestorage.html b/docs/classes/_jobs_restore_storage_.jobrestorestorage.html index c8281be2..e4442259 100644 --- a/docs/classes/_jobs_restore_storage_.jobrestorestorage.html +++ b/docs/classes/_jobs_restore_storage_.jobrestorestorage.html @@ -130,7 +130,7 @@

    constructor

    @@ -168,7 +168,7 @@

    admin

    @@ -183,7 +183,7 @@

    Private bucket

    bucket: any
    @@ -199,7 +199,7 @@

    counter

    @@ -215,7 +215,7 @@

    fileStream

    @@ -231,7 +231,7 @@

    Optional gunzipStream

    Inherited from JobBackupSRestoreTemplate.gunzipStream

    @@ -247,7 +247,7 @@

    parserStream

    @@ -263,7 +263,7 @@

    settings

    @@ -279,7 +279,7 @@

    startTimestamp

    @@ -294,7 +294,7 @@

    Private storage

    storage: Storage.Storage
    @@ -309,7 +309,7 @@

    Private writeStream

    writeStream: Writable
    @@ -332,7 +332,7 @@

    getWorkTime

    @@ -355,7 +355,7 @@

    run

    diff --git a/docs/classes/_utils_authconverter_.authconverter.html b/docs/classes/_utils_authconverter_.authconverter.html index 6177f854..b3c162ea 100644 --- a/docs/classes/_utils_authconverter_.authconverter.html +++ b/docs/classes/_utils_authconverter_.authconverter.html @@ -112,7 +112,7 @@

    Static userField: string[] = ["customClaims","disabled","displayName","email","emailVerified","metadata","multiFactor","passwordHash","passwordSalt","phoneNumber","photoURL","providerData","tenantId","uid",]

    @@ -130,13 +130,13 @@

    Methods

    Static fromString

      -
    • fromString(d: string): { uid: string }
    • +
    • fromString(d: string, restorePassword?: boolean): { uid: string }

    Returns { uid: string }

      @@ -175,7 +178,7 @@

      Static toString

    • diff --git a/docs/classes/_utils_firestoreconverter_.firestoreconverter.html b/docs/classes/_utils_firestoreconverter_.firestoreconverter.html index 255a69a5..9d89dbef 100644 --- a/docs/classes/_utils_firestoreconverter_.firestoreconverter.html +++ b/docs/classes/_utils_firestoreconverter_.firestoreconverter.html @@ -112,7 +112,7 @@

      Static
      @@ -143,7 +143,7 @@

      Static fromString

    • @@ -174,7 +174,7 @@

      Static
      @@ -213,7 +213,7 @@

      Static toString

    • diff --git a/docs/classes/_utils_initialization_.writer.html b/docs/classes/_utils_initialization_.writer.html index 3fdf27ac..51b37124 100644 --- a/docs/classes/_utils_initialization_.writer.html +++ b/docs/classes/_utils_initialization_.writer.html @@ -117,7 +117,7 @@

      constructor

    • @@ -149,7 +149,7 @@

      compress

      compress: boolean = false
      @@ -164,7 +164,7 @@

      fileStream

      fileStream: WriteStream
      @@ -179,7 +179,7 @@

      Optional gzipStream

      gzipStream: Gzip
      diff --git a/docs/classes/_utils_logger_.logger.html b/docs/classes/_utils_logger_.logger.html index 4402b7c0..d9308bb4 100644 --- a/docs/classes/_utils_logger_.logger.html +++ b/docs/classes/_utils_logger_.logger.html @@ -112,7 +112,7 @@

      Static error

    • @@ -140,7 +140,7 @@

      Static log

    • @@ -168,7 +168,7 @@

      Static table

    • @@ -196,7 +196,7 @@

      Static warn

    • diff --git a/docs/classes/_utils_storageconverter_.storageconverter.html b/docs/classes/_utils_storageconverter_.storageconverter.html index c808a54f..eebed1b2 100644 --- a/docs/classes/_utils_storageconverter_.storageconverter.html +++ b/docs/classes/_utils_storageconverter_.storageconverter.html @@ -110,7 +110,7 @@

      Static fromString

    • @@ -141,7 +141,7 @@

      Static toString

    • diff --git a/docs/classes/_utils_template_.jobbackupservicetemplate.html b/docs/classes/_utils_template_.jobbackupservicetemplate.html index 9f762927..bd3e55c8 100644 --- a/docs/classes/_utils_template_.jobbackupservicetemplate.html +++ b/docs/classes/_utils_template_.jobbackupservicetemplate.html @@ -144,7 +144,7 @@

      constructor

      @@ -182,7 +182,7 @@

      admin

      @@ -198,7 +198,7 @@

      counter

      @@ -214,7 +214,7 @@

      settings

      @@ -230,7 +230,7 @@

      startTimestamp

      @@ -245,7 +245,7 @@

      stringiferStream

      stringiferStream: Transform
      @@ -260,7 +260,7 @@

      writer

      writer: Writer
      @@ -283,7 +283,7 @@

      getWorkTime

      @@ -306,7 +306,7 @@

      run

      diff --git a/docs/classes/_utils_template_.jobbackupsrestoretemplate.html b/docs/classes/_utils_template_.jobbackupsrestoretemplate.html index 2700cf66..f3d81b16 100644 --- a/docs/classes/_utils_template_.jobbackupsrestoretemplate.html +++ b/docs/classes/_utils_template_.jobbackupsrestoretemplate.html @@ -145,7 +145,7 @@

      constructor

      @@ -183,7 +183,7 @@

      admin

      @@ -199,7 +199,7 @@

      counter

      @@ -214,7 +214,7 @@

      fileStream

      fileStream: ReadStream
      @@ -229,7 +229,7 @@

      Optional gunzipStream

      gunzipStream: Gunzip
      @@ -244,7 +244,7 @@

      parserStream

      parserStream: Transform
      @@ -260,7 +260,7 @@

      settings

      @@ -276,7 +276,7 @@

      startTimestamp

      @@ -299,7 +299,7 @@

      getWorkTime

      @@ -322,7 +322,7 @@

      run

      diff --git a/docs/classes/_utils_template_.joboneservicetemplate.html b/docs/classes/_utils_template_.joboneservicetemplate.html index 90c08aeb..d698ef2e 100644 --- a/docs/classes/_utils_template_.joboneservicetemplate.html +++ b/docs/classes/_utils_template_.joboneservicetemplate.html @@ -148,7 +148,7 @@

      constructor

      @@ -186,7 +186,7 @@

      admin

      @@ -201,7 +201,7 @@

      counter

      counter: number = 0
      @@ -217,7 +217,7 @@

      settings

      @@ -232,7 +232,7 @@

      startTimestamp

      startTimestamp: number
      @@ -254,7 +254,7 @@

      getWorkTime

    • @@ -276,7 +276,7 @@

      run

    • diff --git a/docs/classes/_utils_template_.jobonetemplate.html b/docs/classes/_utils_template_.jobonetemplate.html index 6708dae5..9dfdc021 100644 --- a/docs/classes/_utils_template_.jobonetemplate.html +++ b/docs/classes/_utils_template_.jobonetemplate.html @@ -141,7 +141,7 @@

      constructor

      @@ -179,7 +179,7 @@

      admin

      @@ -195,7 +195,7 @@

      settings

      @@ -217,7 +217,7 @@

      auth

    • @@ -239,7 +239,7 @@

      firestore

    • @@ -261,7 +261,7 @@

      storage

    • diff --git a/docs/classes/_utils_template_.jobtemplate.html b/docs/classes/_utils_template_.jobtemplate.html index ec3b9d79..8eee1720 100644 --- a/docs/classes/_utils_template_.jobtemplate.html +++ b/docs/classes/_utils_template_.jobtemplate.html @@ -127,7 +127,7 @@

      constructor

    • @@ -164,7 +164,7 @@

      admin

      admin: App
      @@ -179,7 +179,7 @@

      settings

      settings: Settings
      diff --git a/docs/index.html b/docs/index.html index 441482e5..8389ac5c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -114,6 +114,43 @@

      Launch parameters

      Do not use data compression + +

      Launch parameters (only for password recovery for users in Firebase.Auth)

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      NameShort nameDescription
      algorithmalgThe password hashing information (algorithm, only SCRYPT). Default: SCRYPT
      base64_signer_keybskThe password hashing information (key in base64 encoding). Default: user passwords are not restored if not set.
      base64_salt_separatorbssThe password hashing information (salt separator in base64). Default: Bw==
      roundsrndThe password hashing information (rounds). Default: 8
      mem_costmcThe password hashing information (memory cost). Default: 14

      Use

      @@ -121,6 +158,8 @@

      Use

          firebase-engine operations="clean, restore" path="./test.json" services="firestore, storage" backup="test.backup"

      With short names

          firebase-engine o="b, c" p="./test.json" b="test.backup"
      +

      With password recovery for users

      +
          firebase-engine operations="restore" path="./test.json" services="firestore, auth" backup="test.backup" bsk="nMyNs6sFWp0GZ/JSW2tsNGvGZ70oiv13gxO7ub7rxPwK271P945BiZmjrdsBRbgZmzPPgwATLR6FaXq3rUspVg=="

      Open Source

      diff --git a/docs/interfaces/_utils_initialization_.parsedsettings.html b/docs/interfaces/_utils_initialization_.parsedsettings.html index 9947e491..332cad94 100644 --- a/docs/interfaces/_utils_initialization_.parsedsettings.html +++ b/docs/interfaces/_utils_initialization_.parsedsettings.html @@ -93,6 +93,7 @@

      Properties

      • backup
      • compress
      • +
      • hash_config
      • operations
      • path
      • services
      • @@ -109,7 +110,7 @@

        Optional backup

        backup: undefined | string
        @@ -124,7 +125,7 @@

        compress

        compress: boolean
        @@ -133,13 +134,48 @@

        compress

        +
        + +

        hash_config

        +
        hash_config: { algorithm?: auth.HashAlgorithmType; base64_salt_separator?: Buffer; base64_signer_key?: Buffer; mem_cost?: undefined | number; rounds?: undefined | number }
        + +
        +
        +

        password hash config

        +
        +
        +
        +

        Type declaration

        +
          +
        • +
          Optional algorithm?: auth.HashAlgorithmType
          +
        • +
        • +
          Optional base64_salt_separator?: Buffer
          +
        • +
        • +
          Optional base64_signer_key?: Buffer
          +
        • +
        • +
          Optional mem_cost?: undefined | number
          +
        • +
        • +
          Optional rounds?: undefined | number
          +
        • +
        +
        +

        operations

        operations: ("backup" | "clean" | "restore")[]
        @@ -154,7 +190,7 @@

        Optional path

        path: undefined | string
        @@ -169,7 +205,7 @@

        services

        services: ("firestore" | "auth" | "storage")[]
        @@ -261,6 +297,9 @@

        services

      • compress
      • +
      • + hash_config +
      • operations
      • diff --git a/docs/interfaces/_utils_initialization_.settings.html b/docs/interfaces/_utils_initialization_.settings.html index 9f3af2e5..3eb49e93 100644 --- a/docs/interfaces/_utils_initialization_.settings.html +++ b/docs/interfaces/_utils_initialization_.settings.html @@ -93,6 +93,7 @@

        Properties

        @@ -108,7 +109,7 @@

        backup

        backup: string
        @@ -123,7 +124,7 @@

        compress

        compress: boolean
        @@ -132,13 +133,28 @@

        compress

        +
        + +

        Optional hash_config

        +
        hash_config: undefined | { algorithm: auth.HashAlgorithmType; key: Buffer; memoryCost: number; rounds: number; saltSeparator: Buffer }
        + +
        +
        +

        password hash config

        +
        +
        +

        path

        path: string
        @@ -153,7 +169,7 @@

        serviceAccount

        serviceAccount: {}
        @@ -256,6 +272,9 @@
        [key: compress +
      • + hash_config +
      • path
      • diff --git a/docs/interfaces/_utils_initialization_.settingsbeforeinitialization.html b/docs/interfaces/_utils_initialization_.settingsbeforeinitialization.html index fe5cef48..1d7d5dd4 100644 --- a/docs/interfaces/_utils_initialization_.settingsbeforeinitialization.html +++ b/docs/interfaces/_utils_initialization_.settingsbeforeinitialization.html @@ -93,6 +93,7 @@

        Properties

        @@ -107,7 +108,7 @@

        Optional backup

        backup: undefined | string
        @@ -122,7 +123,7 @@

        compress

        compress: boolean
        @@ -131,13 +132,28 @@

        compress

        +
        + +

        Optional hash_config

        +
        hash_config: undefined | { algorithm?: auth.HashAlgorithmType; base64_salt_separator?: Buffer; base64_signer_key?: Buffer; mem_cost?: undefined | number; rounds?: undefined | number }
        + +
        +
        +

        password hash config

        +
        +
        +

        Optional path

        path: undefined | string
        @@ -235,6 +251,9 @@

        Optional path

      • compress
      • +
      • + hash_config +
      • path
      • diff --git a/docs/interfaces/_utils_template_.datamodel.html b/docs/interfaces/_utils_template_.datamodel.html index 481472ab..ea9749cf 100644 --- a/docs/interfaces/_utils_template_.datamodel.html +++ b/docs/interfaces/_utils_template_.datamodel.html @@ -107,7 +107,7 @@

        data

        data: string
        @@ -122,7 +122,7 @@

        path

        path: string
        @@ -137,7 +137,7 @@

        service

        service: "firestore" | "auth" | "storage"
        diff --git a/docs/modules/_bin_firebase_engine_.html b/docs/modules/_bin_firebase_engine_.html index 662774b7..29943253 100644 --- a/docs/modules/_bin_firebase_engine_.html +++ b/docs/modules/_bin_firebase_engine_.html @@ -90,10 +90,10 @@

        Variables

        Const arg

        -
        arg: { Description: string; Name: string; Short name: string }[] = [{"Name": "operations","Short name": "o","Description": "backup (b), restore (r) or clean (c). Default: backup"},{"Name": "path","Short name": "p","Description": "Path to service account JSON file"},{"Name": "services","Short name": "s","Description": "firestore (f), storage (s), auth (a), can be separated by commas. Default: all"},{"Name": "backup","Short name": "b","Description": "Path to backup or restore file. Default: ./{$PROJECT_ID + $TIMESTAMP}.backup"},{"Name": "--nocompress","Short name": "-nc","Description": "Do not use data compression"}]
        +
        arg: { Description: string; Name: string; Short name: string }[] = [{"Name": "operations","Short name": "o","Description": "backup (b), restore (r) or clean (c). Default: backup"},{"Name": "path","Short name": "p","Description": "Path to service account JSON file"},{"Name": "services","Short name": "s","Description": "firestore (f), storage (s), auth (a), can be separated by commas. Default: all"},{"Name": "backup","Short name": "b","Description": "Path to backup or restore file. Default: ./{$PROJECT_ID + $TIMESTAMP}.backup"},{"Name": "--nocompress","Short name": "-nc","Description": "Do not use data compression"},{"Name": "algorithm","Short name": "alg","Description": "The password hashing information (algorithm). Default: SCRYPT"},{"Name": "base64_signer_key","Short name": "bsk","Description": "The password hashing information (key in base64 encoding). Default: user passwords are not restored if not set."},{"Name": "base64_salt_separator","Short name": "bss","Description": "The password hashing information (salt separator in base64). Default: Bw=="},{"Name": "rounds","Short name": "rnd","Description": "The password hashing information (rounds). Default: 8"},{"Name": "mem_cost","Short name": "mc","Description": "The password hashing information (memory cost). Default: 14"}]
        @@ -115,7 +115,7 @@

        errorHandler

      • diff --git a/docs/modules/_utils_initialization_.html b/docs/modules/_utils_initialization_.html index 3f02a11d..05d32d25 100644 --- a/docs/modules/_utils_initialization_.html +++ b/docs/modules/_utils_initialization_.html @@ -110,7 +110,7 @@

        Const store

        store: { admin?: app.App; settings?: Settings }
        @@ -146,7 +146,7 @@

        Const writers

        writers: {}
        @@ -176,7 +176,7 @@

        Const cmdParser

      • @@ -204,7 +204,7 @@

        Const createWriteFile
        @@ -240,7 +240,7 @@

        Const initialization

      • diff --git a/docs/modules/_utils_template_.html b/docs/modules/_utils_template_.html index 2bd059d4..14ee1a3d 100644 --- a/docs/modules/_utils_template_.html +++ b/docs/modules/_utils_template_.html @@ -103,7 +103,7 @@

        Const Objectstream

        Objectstream: any = require("@sergdudko/objectstream")
      • diff --git a/lib/bin/firebase-engine.js b/lib/bin/firebase-engine.js index 78d6694d..04edee0b 100644 --- a/lib/bin/firebase-engine.js +++ b/lib/bin/firebase-engine.js @@ -32,6 +32,31 @@ const arg = [ "Name": "--nocompress", "Short name": "-nc", "Description": "Do not use data compression" + }, + { + "Name": "algorithm", + "Short name": "alg", + "Description": "The password hashing information (algorithm). Default: SCRYPT" + }, + { + "Name": "base64_signer_key", + "Short name": "bsk", + "Description": "The password hashing information (key in base64 encoding). Default: user passwords are not restored if not set." + }, + { + "Name": "base64_salt_separator", + "Short name": "bss", + "Description": "The password hashing information (salt separator in base64). Default: Bw==" + }, + { + "Name": "rounds", + "Short name": "rnd", + "Description": "The password hashing information (rounds). Default: 8" + }, + { + "Name": "mem_cost", + "Short name": "mc", + "Description": "The password hashing information (memory cost). Default: 14" } ]; /** diff --git a/lib/bin/firebase-engine.js.map b/lib/bin/firebase-engine.js.map index 965e9b34..c3b8febd 100644 --- a/lib/bin/firebase-engine.js.map +++ b/lib/bin/firebase-engine.js.map @@ -1 +1 @@ -{"version":3,"file":"firebase-engine.js","sourceRoot":"","sources":["../../src/bin/firebase-engine.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"firebase-engine.js","sourceRoot":"","sources":["../../src/bin/firebase-engine.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/jobs/restore/auth.js b/lib/jobs/restore/auth.js index 50aa2abb..7cbff069 100644 --- a/lib/jobs/restore/auth.js +++ b/lib/jobs/restore/auth.js @@ -40,7 +40,13 @@ class JobRestoreAuth extends template_1.JobBackupSRestoreTemplate { * write this buffer to project and clean it */ commit: async () => { - const res = await this.auth.importUsers(this.writeBuffer.batch); + let res; + if (this.settings.hash_config) + res = await this.auth.importUsers(this.writeBuffer.batch, { + hash: this.settings.hash_config + }); + else + res = await this.auth.importUsers(this.writeBuffer.batch); if (res.failureCount !== 0) { this.counter -= res.failureCount; Logger_1.Logger.warn(JSON.stringify(res.errors)); @@ -100,7 +106,11 @@ class JobRestoreAuth extends template_1.JobBackupSRestoreTemplate { (typeof (object.data) !== "string")) return; const userRef = object.path; - const userData = AuthConverter_1.AuthConverter.fromString(object.data); + let userData; + if (self.settings.hash_config) + userData = AuthConverter_1.AuthConverter.fromString(object.data, true); + else + userData = AuthConverter_1.AuthConverter.fromString(object.data, false); await self.writeBuffer.set(userRef, userData); return; })().then(() => { diff --git a/lib/jobs/restore/auth.js.map b/lib/jobs/restore/auth.js.map index 03619a25..ff802382 100644 --- a/lib/jobs/restore/auth.js.map +++ b/lib/jobs/restore/auth.js.map @@ -1 +1 @@ -{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/jobs/restore/auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/jobs/restore/auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/utils/AuthConverter.js b/lib/utils/AuthConverter.js index 707ef3d5..9964df74 100644 --- a/lib/utils/AuthConverter.js +++ b/lib/utils/AuthConverter.js @@ -23,8 +23,20 @@ let AuthConverter = /** @class */ (() => { * Convert string to object * @param d - String to convert */ - static fromString(d) { + static fromString(d, restorePassword = false) { const _obj = JSON.parse(d); + if (restorePassword) { + if (_obj.passwordHash) + _obj.passwordHash = Buffer.from(_obj.passwordHash, "base64"); + if (_obj.passwordSalt) + _obj.passwordSalt = Buffer.from(_obj.passwordSalt, "base64"); + } + else { + if (_obj.passwordHash) + _obj.passwordHash = undefined; + if (_obj.passwordSalt) + _obj.passwordSalt = undefined; + } return _obj; } } diff --git a/lib/utils/AuthConverter.js.map b/lib/utils/AuthConverter.js.map index f74703fb..565ffaf9 100644 --- a/lib/utils/AuthConverter.js.map +++ b/lib/utils/AuthConverter.js.map @@ -1 +1 @@ -{"version":3,"file":"AuthConverter.js","sourceRoot":"","sources":["../../src/utils/AuthConverter.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH;IAAA,MAAa,aAAa;QAsBtB;;;WAGG;QACI,MAAM,CAAC,QAAQ,CAAE,CAAkB;YACtC,MAAM,GAAG,GAAwB,CAAC,CAAC,MAAM,EAAE,CAAA;YAC3C,MAAM,IAAI,GAAwB,EAAE,CAAA;YACpC,KAAI,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,EAAC;gBACrC,IAAG,GAAG,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;aACpC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QACD;;;WAGG;QACI,MAAM,CAAC,UAAU,CAAC,CAAS;YAC9B,MAAM,IAAI,GAAyB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAChD,OAAO,IAAyC,CAAA;QACpD,CAAC;;IAxCD;;;;OAIG;IACY,uBAAS,GAAG;QACvB,cAAc;QACd,UAAU;QACV,aAAa;QACb,OAAO;QACP,eAAe;QACf,UAAU;QACV,aAAa;QACb,cAAc;QACd,cAAc;QACd,aAAa;QACb,UAAU;QACV,cAAc;QACd,UAAU;QACV,KAAK;KACR,CAAA;IAqBL,oBAAC;KAAA;AA1CY,sCAAa"} \ No newline at end of file +{"version":3,"file":"AuthConverter.js","sourceRoot":"","sources":["../../src/utils/AuthConverter.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH;IAAA,MAAa,aAAa;QAsBtB;;;WAGG;QACI,MAAM,CAAC,QAAQ,CAAE,CAAkB;YACtC,MAAM,GAAG,GAAwB,CAAC,CAAC,MAAM,EAAE,CAAA;YAC3C,MAAM,IAAI,GAAwB,EAAE,CAAA;YACpC,KAAI,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,EAAC;gBACrC,IAAG,GAAG,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;aACpC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QACD;;;WAGG;QACI,MAAM,CAAC,UAAU,CAAC,CAAS,EAAE,kBAA2B,KAAK;YAChE,MAAM,IAAI,GAAyB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAChD,IAAG,eAAe,EAAC;gBACf,IAAG,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;gBAClF,IAAG,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;aACrF;iBAAM;gBACH,IAAG,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;gBACnD,IAAG,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;aACtD;YACD,OAAO,IAAyC,CAAA;QACpD,CAAC;;IA/CD;;;;OAIG;IACY,uBAAS,GAAG;QACvB,cAAc;QACd,UAAU;QACV,aAAa;QACb,OAAO;QACP,eAAe;QACf,UAAU;QACV,aAAa;QACb,cAAc;QACd,cAAc;QACd,aAAa;QACb,UAAU;QACV,cAAc;QACd,UAAU;QACV,KAAK;KACR,CAAA;IA4BL,oBAAC;KAAA;AAjDY,sCAAa"} \ No newline at end of file diff --git a/lib/utils/initialization.js b/lib/utils/initialization.js index 80e4943f..5c202a23 100644 --- a/lib/utils/initialization.js +++ b/lib/utils/initialization.js @@ -71,7 +71,8 @@ exports.cmdParser = (arg) => { path: undefined, backup: undefined, services: [], - compress: true + compress: true, + hash_config: {} }; arg.forEach((val) => { if (val.match(/^path=/i) || val.match(/^p=/i)) @@ -129,6 +130,26 @@ exports.cmdParser = (arg) => { } if (val.match(/^--nocompress/i) || val.match(/^-nc/i)) settings.compress = false; + if (val.match(/^algorithm=/i) || val.match(/^alg=/i)) + settings.hash_config.algorithm = val.replace(/^alg=/i, "") + .replace(/^algorithm=/i, "") + .replace(/"/g, "").toUpperCase(); + if (val.match(/^base64_signer_key=/i) || val.match(/^bsk=/i)) + settings.hash_config.base64_signer_key = Buffer.from(val.replace(/^bsk=/i, "") + .replace(/^base64_signer_key=/i, "") + .replace(/"/g, ""), "base64"); + if (val.match(/^base64_salt_separator=/i) || val.match(/^bss=/i)) + settings.hash_config.base64_salt_separator = Buffer.from(val.replace(/^bss=/i, "") + .replace(/^base64_salt_separator=/i, "") + .replace(/"/g, ""), "base64"); + if (val.match(/^rounds=/i) || val.match(/^rnd=/i)) + settings.hash_config.rounds = Number.parseInt(val.replace(/^rnd=/i, "") + .replace(/^rounds=/i, "") + .replace(/"/g, "")); + if (val.match(/^mem_cost=/i) || val.match(/^mc=/i)) + settings.hash_config.mem_cost = Number.parseInt(val.replace(/^mc=/i, "") + .replace(/^mem_cost=/i, "") + .replace(/"/g, "")); }); if (settings.operations.length === 0) settings.operations.push("backup"); @@ -150,6 +171,10 @@ exports.initialization = (settings = { backup: undefined, compress: true }) => { + if (settings.hash_config && + settings.hash_config.algorithm && + (settings.hash_config.algorithm !== "SCRYPT")) + throw new Error("Only SCRYPT algorithm implemented."); if (store.settings && store.admin) return store; const _settings = { @@ -165,6 +190,24 @@ exports.initialization = (settings = { if (typeof (_settings.compress) !== "boolean") throw new Error("Invalid backup argument."); store.settings = Object.assign(Object.assign({}, _settings), { serviceAccount: JSON.parse(fs_1.readFileSync(_settings.path).toString()) }); + if ((typeof (settings.hash_config) === "object") && + (settings.hash_config.base64_signer_key instanceof Buffer)) { + store.settings.hash_config = { + algorithm: "SCRYPT", + key: settings.hash_config.base64_signer_key, + saltSeparator: Buffer.from("Bw==", "base64"), + rounds: 8, + memoryCost: 14 + }; + if (typeof (settings.hash_config.algorithm) === "string") + store.settings.hash_config.algorithm = settings.hash_config.algorithm; + if (settings.hash_config.base64_salt_separator instanceof Buffer) + store.settings.hash_config.saltSeparator = settings.hash_config.base64_salt_separator; + if (typeof (settings.hash_config.rounds) === "number") + store.settings.hash_config.rounds = settings.hash_config.rounds; + if (typeof (settings.hash_config.mem_cost) === "number") + store.settings.hash_config.memoryCost = settings.hash_config.mem_cost; + } if (!store.settings.backup) store.settings.backup = store.settings.serviceAccount.project_id + "_" + Date.now().toString() + ".backup"; if (!store.admin) { diff --git a/lib/utils/initialization.js.map b/lib/utils/initialization.js.map index f9622802..b76bf716 100644 --- a/lib/utils/initialization.js.map +++ b/lib/utils/initialization.js.map @@ -1 +1 @@ -{"version":3,"file":"initialization.js","sourceRoot":"","sources":["../../src/utils/initialization.ts"],"names":[],"mappings":";;;AAAA,2BAAiE;AACjE,mDAAqE;AACrE,+BAAuC;AACvC,4CAAwC;AACxC,mCAAmD;AAEnD;;GAEG;AACH,MAAM,KAAK,GASP,EAAE,CAAA;AAEN;;GAEG;AACU,QAAA,OAAO,GAA4B,EAAE,CAAA;AAClD;;;;GAIG;AACU,QAAA,qBAAqB,GAAG,CAAC,IAAY,EAAE,QAAiB,EAAE,EAAE;IACrE,MAAM,IAAI,GAAG,mBAAU,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,IACI,CAAC,eAAO,CAAC,GAAG,CAAC;QACb,eAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS;QAEjC,eAAO,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,OAAO,eAAO,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC,CAAA;AACD;;GAEG;AACH,MAAa,MAAM;IACf;;;OAGG;IACH,YAAY,IAAY,EAAE,QAAiB;QAiB3C;;WAEG;QACI,aAAQ,GAAY,KAAK,CAAA;QAnB5B,IAAI,CAAC,UAAU,GAAG,sBAAiB,CAAC,IAAI,EAAE;YACtC,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,KAAK;SACd,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAChC,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;QACF,IAAG,QAAQ,EAAC;YACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;YACpB,IAAI,CAAC,UAAU,GAAG,iBAAU,EAAE,CAAA;YAC9B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChC,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;SACxC;IACL,CAAC;CAaJ;AAlCD,wBAkCC;AAkED;;GAEG;AACU,QAAA,SAAS,GAAG,CAAC,GAAa,EAAE,EAAE;IACvC;;OAEG;IACH,MAAM,QAAQ,GAAmB;QAC7B,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,IAAI;KACjB,CAAA;IACD,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAChB,IAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YACxC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACpF,IAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1C,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACxF,IAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAC;YAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvH,KAAI,MAAM,EAAE,IAAI,UAAU;gBAAE,QAAO,EAAE,EAAC;oBAClC,KAAK,QAAQ,CAAC;oBACd,KAAK,OAAO,CAAC;oBACb,KAAK,SAAS;wBACV,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;wBAC5B,MAAK;oBACT,KAAK,GAAG;wBACJ,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;wBAClC,MAAK;oBACT,KAAK,GAAG;wBACJ,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBACjC,MAAK;oBACT,KAAK,GAAG;wBACJ,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;wBACnC,MAAK;oBACT;wBACI,MAAK;iBACZ;SACJ;QACD,IAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAC;YAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACnH,KAAI,MAAM,EAAE,IAAI,QAAQ;gBAAE,QAAO,EAAE,EAAC;oBAChC,KAAK,WAAW,CAAC;oBACjB,KAAK,MAAM,CAAC;oBACZ,KAAK,SAAS;wBACV,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;wBAC1B,MAAK;oBACT,KAAK,GAAG;wBACJ,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;wBACnC,MAAK;oBACT,KAAK,GAAG;wBACJ,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBAC9B,MAAK;oBACT,KAAK,GAAG;wBACJ,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;wBACjC,MAAK;oBACT,KAAK,KAAK;wBACN,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;wBACnC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;wBACjC,MAAK;oBACT;wBACI,MAAK;iBACZ;SACJ;QACD,IAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YAChD,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAA;IACjC,CAAC,CAAC,CAAA;IACF,IAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAC/B,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtC,IAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC7B,QAAQ,CAAC,QAAQ,GAAG;YAChB,MAAM;YACN,WAAW;YACX,SAAS;SACZ,CAAA;IACL,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA;AAED;;;;GAIG;AACU,QAAA,cAAc,GAAG,CAAC,WAAyC;IACpE,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,IAAI;CACjB,EAAE,EAAE;IACD,IAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK;QAC5B,OAAO,KAGN,CAAA;IACL,MAAM,SAAS,GAAiC;QAC5C,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC9B,CAAA;IACD,IAAG,OAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,QAAQ;QAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IACpD,IACI,CAAC,OAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC;QAC1C,CAAC,OAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;QAEvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC/C,IAAG,OAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAS;QACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC/C,KAAK,CAAC,QAAQ,GAAG,gCACV,SAAS,KACZ,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,GAC1D,CAAA;IACb,IAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;QACrB,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAC,GAAG,GAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAC,SAAS,CAAA;IACxG,IAAG,CAAC,KAAK,CAAC,KAAK,EAAC;QACZ,MAAM,oBAAoB,GAAG;YACzB,WAAW,EAAE,UAAU,GAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAC,iBAAiB;YAClF,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAC,cAAc;YACtE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU;YACnD,UAAU,EAAE,2BAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;SAC7D,CAAA;QACD,IAAG,qBAAI,CAAC,MAAM,GAAG,CAAC,EAAC;YACf,MAAM,OAAO,GAAG,uBAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAChE,KAAK,CAAC,KAAK,GAAG,8BAAa,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;SAC7D;aAAM;YACH,KAAK,CAAC,KAAK,GAAG,8BAAa,CAAC,oBAAoB,CAAC,CAAA;SACpD;KACJ;IACD,OAAO,KAGN,CAAA;AACL,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"initialization.js","sourceRoot":"","sources":["../../src/utils/initialization.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 1cda5752..d9b40b00 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "firebase-engine", - "version": "1.0.0", + "version": "1.1.0", "description": "Tools for firebase (backup, clean, restore)", "main": "./lib/index.js", "scripts": { @@ -28,7 +28,9 @@ "clean", "restore", "copy", - "move" + "move", + "cli", + "mobile" ], "author": "Siarhei Dudko ", "license": "Apache-2.0", diff --git a/src/bin/firebase-engine.ts b/src/bin/firebase-engine.ts index e8e9ca2a..d447cf76 100644 --- a/src/bin/firebase-engine.ts +++ b/src/bin/firebase-engine.ts @@ -37,6 +37,31 @@ const arg: { "Name": "--nocompress", "Short name": "-nc", "Description": "Do not use data compression" + }, + { + "Name": "algorithm", + "Short name": "alg", + "Description": "The password hashing information (algorithm). Default: SCRYPT" + }, + { + "Name": "base64_signer_key", + "Short name": "bsk", + "Description": "The password hashing information (key in base64 encoding). Default: user passwords are not restored if not set." + }, + { + "Name": "base64_salt_separator", + "Short name": "bss", + "Description": "The password hashing information (salt separator in base64). Default: Bw==" + }, + { + "Name": "rounds", + "Short name": "rnd", + "Description": "The password hashing information (rounds). Default: 8" + }, + { + "Name": "mem_cost", + "Short name": "mc", + "Description": "The password hashing information (memory cost). Default: 14" } ] diff --git a/src/jobs/restore/auth.ts b/src/jobs/restore/auth.ts index 35190e8a..168b9f65 100644 --- a/src/jobs/restore/auth.ts +++ b/src/jobs/restore/auth.ts @@ -24,7 +24,11 @@ export class JobRestoreAuth extends JobBackupSRestoreTemplate { ) return const userRef = object.path - const userData = AuthConverter.fromString(object.data) + let userData + if(self.settings.hash_config) + userData = AuthConverter.fromString(object.data, true) + else + userData = AuthConverter.fromString(object.data, false) await self.writeBuffer.set(userRef, userData) return })().then(() => { @@ -77,7 +81,13 @@ export class JobRestoreAuth extends JobBackupSRestoreTemplate { * write this buffer to project and clean it */ commit: async () => { - const res = await this.auth.importUsers(this.writeBuffer.batch) + let res + if(this.settings.hash_config) + res = await this.auth.importUsers(this.writeBuffer.batch, { + hash: this.settings.hash_config + }) + else + res = await this.auth.importUsers(this.writeBuffer.batch) if(res.failureCount !== 0){ this.counter -= res.failureCount Logger.warn(JSON.stringify(res.errors)) diff --git a/src/utils/AuthConverter.ts b/src/utils/AuthConverter.ts index c7ca2315..463f2088 100644 --- a/src/utils/AuthConverter.ts +++ b/src/utils/AuthConverter.ts @@ -41,8 +41,15 @@ export class AuthConverter { * Convert string to object * @param d - String to convert */ - public static fromString(d: string){ + public static fromString(d: string, restorePassword: boolean = false){ const _obj: {[key: string]: any} = JSON.parse(d) + if(restorePassword){ + if(_obj.passwordHash) _obj.passwordHash = Buffer.from(_obj.passwordHash, "base64") + if(_obj.passwordSalt) _obj.passwordSalt = Buffer.from(_obj.passwordSalt, "base64") + } else { + if(_obj.passwordHash) _obj.passwordHash = undefined + if(_obj.passwordSalt) _obj.passwordSalt = undefined + } return _obj as {uid: string, [key: string]: any} } } \ No newline at end of file diff --git a/src/utils/initialization.ts b/src/utils/initialization.ts index 6ec196d7..8bcd0a4c 100644 --- a/src/utils/initialization.ts +++ b/src/utils/initialization.ts @@ -1,5 +1,5 @@ import { readFileSync, createWriteStream, WriteStream } from "fs" -import { initializeApp, app, credential, apps } from "firebase-admin" +import { initializeApp, app, credential, apps, auth } from "firebase-admin" import { createGzip, Gzip } from "zlib" import { Logger } from "../utils/Logger" import { createHash, randomFillSync } from "crypto" @@ -101,6 +101,16 @@ export interface ParsedSettings { * use compress */ compress: boolean + /** + * password hash config + */ + hash_config: { + algorithm?: auth.HashAlgorithmType, + base64_signer_key?: Buffer, + base64_salt_separator?: Buffer, + rounds?: number, + mem_cost?: number + } } /** * settings object before initialization @@ -118,6 +128,16 @@ export interface SettingsBeforeInitialization { * use compress */ compress: boolean + /** + * password hash config + */ + hash_config?: { + algorithm?: auth.HashAlgorithmType, + base64_signer_key?: Buffer, + base64_salt_separator?: Buffer, + rounds?: number, + mem_cost?: number + } } /** * settings object after initialization @@ -139,6 +159,16 @@ export interface Settings { * use compress */ compress: boolean + /** + * password hash config + */ + hash_config?: { + algorithm: auth.HashAlgorithmType, + key: Buffer, + saltSeparator: Buffer, + rounds: number, + memoryCost: number + } } /** @@ -153,7 +183,8 @@ export const cmdParser = (arg: string[]) => { path: undefined, backup: undefined, services: [], - compress: true + compress: true, + hash_config: {} } arg.forEach((val) => { if(val.match(/^path=/i) || val.match(/^p=/i)) @@ -209,6 +240,32 @@ export const cmdParser = (arg: string[]) => { } if(val.match(/^--nocompress/i) || val.match(/^-nc/i)) settings.compress = false + if(val.match(/^algorithm=/i) || val.match(/^alg=/i)) + settings.hash_config.algorithm = val.replace(/^alg=/i, "") + .replace(/^algorithm=/i, "") + .replace(/"/g, "").toUpperCase() as auth.HashAlgorithmType + if(val.match(/^base64_signer_key=/i) || val.match(/^bsk=/i)) + settings.hash_config.base64_signer_key = Buffer.from( + val.replace(/^bsk=/i, "") + .replace(/^base64_signer_key=/i, "") + .replace(/"/g, ""), + "base64") + if(val.match(/^base64_salt_separator=/i) || val.match(/^bss=/i)) + settings.hash_config.base64_salt_separator = Buffer.from( + val.replace(/^bss=/i, "") + .replace(/^base64_salt_separator=/i, "") + .replace(/"/g, ""), + "base64") + if(val.match(/^rounds=/i) || val.match(/^rnd=/i)) + settings.hash_config.rounds = Number.parseInt( + val.replace(/^rnd=/i, "") + .replace(/^rounds=/i, "") + .replace(/"/g, "")) + if(val.match(/^mem_cost=/i) || val.match(/^mc=/i)) + settings.hash_config.mem_cost = Number.parseInt( + val.replace(/^mc=/i, "") + .replace(/^mem_cost=/i, "") + .replace(/"/g, "")) }) if(settings.operations.length === 0) settings.operations.push("backup") @@ -231,6 +288,12 @@ export const initialization = (settings: SettingsBeforeInitialization = { backup: undefined, compress: true }) => { + if( + settings.hash_config && + settings.hash_config.algorithm && + (settings.hash_config.algorithm !== "SCRYPT") + ) + throw new Error("Only SCRYPT algorithm implemented.") if(store.settings && store.admin) return store as { settings: Settings, @@ -254,6 +317,26 @@ export const initialization = (settings: SettingsBeforeInitialization = { ..._settings, serviceAccount: JSON.parse(readFileSync(_settings.path).toString()) } as Settings + if( + (typeof(settings.hash_config) === "object") && + (settings.hash_config.base64_signer_key instanceof Buffer) + ){ + store.settings.hash_config = { + algorithm: "SCRYPT", + key: settings.hash_config.base64_signer_key, + saltSeparator: Buffer.from("Bw==", "base64"), + rounds: 8, + memoryCost: 14 + } + if(typeof(settings.hash_config.algorithm) === "string") + store.settings.hash_config.algorithm = settings.hash_config.algorithm + if(settings.hash_config.base64_salt_separator instanceof Buffer) + store.settings.hash_config.saltSeparator = settings.hash_config.base64_salt_separator + if(typeof(settings.hash_config.rounds) === "number") + store.settings.hash_config.rounds = settings.hash_config.rounds + if(typeof(settings.hash_config.mem_cost) === "number") + store.settings.hash_config.memoryCost = settings.hash_config.mem_cost + } if(!store.settings.backup) store.settings.backup = store.settings.serviceAccount.project_id+"_"+Date.now().toString()+".backup" if(!store.admin){ diff --git a/test/modular/command-line-parser.test.js b/test/modular/command-line-parser.test.js index 90dc04cd..d827faab 100644 --- a/test/modular/command-line-parser.test.js +++ b/test/modular/command-line-parser.test.js @@ -119,4 +119,81 @@ describe("CLI parser", function() { throw new Error("error") return }) + it('firebase-engine o="restore" path="./serviceAccount.json" bsk="c2pibmtqa2pua25ubg=="', async () => { + const o = cmdParser([ + 'firebase-engine', + 'o="restore"', + 'path="./serviceAccount.json"', + 'bsk="c2pibmtqa2pua25ubg=="' + ]) + if( + (typeof(o) !== "object") || + (!Array.isArray(o.operations)) || + (o.operations[0] !== "restore") || + (!Array.isArray(o.services)) || + (o.services.indexOf("auth") === -1) || + (o.services.indexOf("firestore") === -1) || + (o.services.indexOf("storage") === -1) || + (o.path !== "./serviceAccount.json") || + (o.compress !== true) || + (typeof(o.hash_config) !== "object") || + (o.hash_config.base64_signer_key.toString("base64") !== "c2pibmtqa2pua25ubg==") + ) + throw new Error("error") + return + }) + it('firebase-engine o="restore" path="./serviceAccount.json" algorithm="BCRYPT"', async () => { + const o = cmdParser([ + 'firebase-engine', + 'o="restore"', + 'path="./serviceAccount.json"', + 'algorithm="BCRYPT"', + ]) + if( + (typeof(o) !== "object") || + (!Array.isArray(o.operations)) || + (o.operations[0] !== "restore") || + (!Array.isArray(o.services)) || + (o.services.indexOf("auth") === -1) || + (o.services.indexOf("firestore") === -1) || + (o.services.indexOf("storage") === -1) || + (o.path !== "./serviceAccount.json") || + (o.compress !== true) || + (typeof(o.hash_config) !== "object") || + (o.hash_config.algorithm !== "BCRYPT") + ) + throw new Error("error") + return + }) + it('firebase-engine o="restore" path="./serviceAccount.json" bsk="c2pibmtqa2pua25ubg==" bss="ZHNmZHNkc2Zkc2ZzZHNmc2Q=" alg="SCRYPT" rnd=9 mc=13', async () => { + const o = cmdParser([ + 'firebase-engine', + 'o="restore"', + 'path="./serviceAccount.json"', + 'bsk="c2pibmtqa2pua25ubg=="', + 'bss="ZHNmZHNkc2Zkc2ZzZHNmc2Q="', + 'alg="SCRYPT"', + 'rnd=9', + 'mc=13' + ]) + if( + (typeof(o) !== "object") || + (!Array.isArray(o.operations)) || + (o.operations[0] !== "restore") || + (!Array.isArray(o.services)) || + (o.services.indexOf("auth") === -1) || + (o.services.indexOf("firestore") === -1) || + (o.services.indexOf("storage") === -1) || + (o.path !== "./serviceAccount.json") || + (o.compress !== true) || + (typeof(o.hash_config) !== "object") || + (o.hash_config.algorithm !== "SCRYPT") || + (o.hash_config.base64_signer_key.toString("base64") !== "c2pibmtqa2pua25ubg==") || + (o.hash_config.base64_salt_separator.toString("base64") !== "ZHNmZHNkc2Zkc2ZzZHNmc2Q=") || + (o.hash_config.rounds !== 9) || + (o.hash_config.mem_cost !== 13) + ) + throw new Error("error") + return + }) }) \ No newline at end of file