Skip to content

Cloud Storage

CloudStorage provides cloud-based key-value storage that syncs across all of the user's devices. Accessed via Safew.WebApp.CloudStorage.

Limits

ItemLimit
Maximum number of keys1024
Maximum key length128 characters
Maximum value length4096 characters
Key charactersA-Z, a-z, 0-9, _, -

Methods

setItem

javascript
Safew.WebApp.CloudStorage.setItem(key, value, callback)

Stores a key-value pair in cloud storage.

ParameterTypeRequiredDescription
keyStringYesKey name, 1-128 characters
valueStringYesValue, 0-4096 characters
callbackFunctionNoCallback with (error, success) parameters
javascript
Safew.WebApp.CloudStorage.setItem('user_settings', JSON.stringify({
  theme: 'dark',
  language: 'en'
}), (error, success) => {
  if (error) {
    console.error('Storage failed:', error);
  } else {
    console.log('Stored successfully');
  }
});

getItem

javascript
Safew.WebApp.CloudStorage.getItem(key, callback)

Reads the value of a specified key from cloud storage.

ParameterTypeRequiredDescription
keyStringYesKey name
callbackFunctionYesCallback with (error, value) parameters
javascript
Safew.WebApp.CloudStorage.getItem('user_settings', (error, value) => {
  if (error) {
    console.error('Read failed:', error);
  } else {
    const settings = JSON.parse(value);
    console.log('User settings:', settings);
  }
});

getItems

javascript
Safew.WebApp.CloudStorage.getItems(keys, callback)

Reads values for multiple keys in batch.

ParameterTypeRequiredDescription
keysArray of StringYesArray of key names
callbackFunctionYesCallback with (error, values) parameters, where values is a key-value object
javascript
Safew.WebApp.CloudStorage.getItems(['key1', 'key2', 'key3'], (error, values) => {
  if (!error) {
    console.log('key1:', values.key1);
    console.log('key2:', values.key2);
  }
});

removeItem

javascript
Safew.WebApp.CloudStorage.removeItem(key, callback)

Removes a specified key from cloud storage.

ParameterTypeRequiredDescription
keyStringYesKey name
callbackFunctionNoCallback with (error, success) parameters

removeItems

javascript
Safew.WebApp.CloudStorage.removeItems(keys, callback)

Removes multiple keys in batch.

ParameterTypeRequiredDescription
keysArray of StringYesArray of key names
callbackFunctionNoCallback with (error, success) parameters

getKeys

javascript
Safew.WebApp.CloudStorage.getKeys(callback)

Gets all key names in cloud storage.

ParameterTypeRequiredDescription
callbackFunctionYesCallback with (error, keys) parameters, where keys is an array of key names
javascript
Safew.WebApp.CloudStorage.getKeys((error, keys) => {
  if (!error) {
    console.log('All keys:', keys);
    console.log('Used:', keys.length, '/ 1024');
  }
});

Usage Example

javascript
const storage = Safew.WebApp.CloudStorage;

// Save user preferences
function savePreferences(prefs) {
  storage.setItem('preferences', JSON.stringify(prefs), (err) => {
    if (err) console.error('Save failed:', err);
  });
}

// Load user preferences
function loadPreferences(callback) {
  storage.getItem('preferences', (err, value) => {
    if (err || !value) {
      callback(null);
    } else {
      callback(JSON.parse(value));
    }
  });
}

// Clear all data
function clearAll() {
  storage.getKeys((err, keys) => {
    if (!err && keys.length > 0) {
      storage.removeItems(keys, (err) => {
        if (!err) console.log('All data cleared');
      });
    }
  });
}