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');
      });
    }
  });
}