Skip to content

Cloud Storage ​

CloudStorage provides cloud-based key-value storage that syncs across all of the user's devices. Accessed via aiaxchat.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
aiaxchat.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
aiaxchat.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
aiaxchat.WebApp.CloudStorage.getItem(key, callback)

Reads the value of a specified key from cloud storage.

ParameterTypeRequiredDescription
keyStringYesKey name
callbackFunctionYesCallback with (error, value) parameters
javascript
aiaxchat.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
aiaxchat.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
aiaxchat.WebApp.CloudStorage.getItems(['key1', 'key2', 'key3'], (error, values) => {
  if (!error) {
    console.log('key1:', values.key1);
    console.log('key2:', values.key2);
  }
});

removeItem ​

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

Removes a specified key from cloud storage.

ParameterTypeRequiredDescription
keyStringYesKey name
callbackFunctionNoCallback with (error, success) parameters

removeItems ​

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

Removes multiple keys in batch.

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

getKeys ​

javascript
aiaxchat.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
aiaxchat.WebApp.CloudStorage.getKeys((error, keys) => {
  if (!error) {
    console.log('All keys:', keys);
    console.log('Used:', keys.length, '/ 1024');
  }
});

Usage Example ​

javascript
const storage = aiaxchat.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');
      });
    }
  });
}