Example 1: Managing a User Profile
This example creates a master file, adds a user profile as a content file, updates it, and sets up real-time updates.
import { Ulda } from '@zeroam/ulda';
async function manageUserProfile() {
const ulda = new Ulda('your_api_key', 'https://api.0am.ch', true);
const masterFileName = 'userVault'; // Unique per API key
const password = 'securePass123';
try {
// Create and connect to master file
await ulda.createMasterFile(masterFileName, password);
await ulda.connect(masterFileName, password);
// Create user profile (content file)
const profileData = { username: 'Bob', email: 'bob@example.com' };
await ulda.createContentFile(profileData, 'bobProfile'); // Unique in master file
console.log('Profile created:', ulda.data['bobProfile'].content);
// Update user profile
await ulda.data['bobProfile'].update({ email: 'bob.new@example.com', role: 'user' });
console.log('Updated profile:', ulda.data['bobProfile'].content);
// Set up real-time updates
await ulda.connectToUpdateContentFile((response) => {
console.log('Profile updated in real-time:', response);
});
} catch (error) {
console.error('Error:', error.message);
}
}
manageUserProfile().catch(console.error);
Success Output:
Profile created: { username: 'Bob', email: 'bob@example.com' }
Updated profile: { username: 'Bob', email: 'bob.new@example.com', role: 'user' }
Notes:
- Real-time update output is omitted as it depends on external
content:updateevents. - Outputs reflect successful
createContentFileandupdateoperations.