1.2.0 • Published 7 years ago

remotestorage-util-credentials-store v1.2.0

Weekly downloads
2
License
MIT
Repository
-
Last release
7 years ago

CredentialsStore

Kind: global class

new CredentialsStore(name, privClient)

This rs.js module utility class provides a getConfig and a setConfig function which you can directly use in your module. It also deals with optional client-side encryption, and exposes a change event for the config you store in it. It assumes your module declares a type called config using BaseClient.declareType. Other than that, you will be able to pretty much expose the three methods directly on your module.

ParamTypeDescription
nameStringthe name of the module in which you are using it, but without the "-credentials" suffix.
privClientObjectThe private BaseClient for your module. You get this from the callback call in remoteStorage.defineModule

credentialsStore.setConfig(pwd, config)

Set the config/credentials

Kind: instance method of CredentialsStore
Throws:

  • An error with one of these messages:
    • 'config should be an object'
    • 'Schema Not Found' (if you didn't call declareType first)
    • 'Please follow the config schema - (followed by the schema from your declareType)'
ParamTypeDescription
pwdStringString value of the password for client-side encryption, or undefined.
configObjectThe config/credentials to be saved.

credentialsStore.getConfig(pwd, maxAge)

Get the config/credentials

Kind: instance method of CredentialsStore
Throws:

  • An error with one of these messages:
    • 'could not decrypt (moduleName)-config with that password'
    • 'could not parse (moduleName)-config as unencrypted JSON'
    • '(moduleName)-config is encrypted, please specify a password for decryption'
    • '(moduleName)-config is not encrypted, or encrypted with a different algorithm'
ParamTypeDescription
pwdStringString value of the password for client-side encryption, or undefined.
maxAgeStringmaxAge to pass to baseClient.getFile

credentialsStore.onceConfig(pwd)

Get the config/credentials, or wait for it to become available

Kind: instance method of CredentialsStore
Throws:

  • An error with one of these messages:
    • 'could not decrypt (moduleName)-config with that password'
    • 'could not parse (moduleName)-config as unencrypted JSON'
    • '(moduleName)-config is encrypted, please specify a password for decryption'
    • '(moduleName)-config is not encrypted, or encrypted with a different algorithm'
ParamTypeDescription
pwdStringString value of the password for client-side encryption, or undefined.

credentialsStore.on(eventName, handler)

Register an event handler. Currently only used for change events.

Kind: instance method of CredentialsStore

ParamTypeDescription
eventNameStringHas to be the String 'change'
handlerfunctionThe function that should be called when the config changes. It will be called without any arguments.