53 lines
1.7 KiB
TypeScript
53 lines
1.7 KiB
TypeScript
import { AESKey } from '../src/crypto/aes-key.js';
|
|
import { StorageMemory, EncryptedStorage } from '../src/storage/index.js';
|
|
|
|
const storage = StorageMemory.from();
|
|
// const storageSynced = StorageMemorySynced.from(storage);
|
|
|
|
const currentDate = new Date();
|
|
|
|
const data = {
|
|
id: 'test',
|
|
name: 'test',
|
|
age: 20,
|
|
email: 'test@test.com',
|
|
password: 'test',
|
|
createdAt: currentDate,
|
|
updatedAt: new Date(currentDate.getTime() + 1000),
|
|
}
|
|
|
|
const storageEncryptedBase = StorageMemory.from()
|
|
const storageEncrypted = EncryptedStorage.from(storageEncryptedBase, await AESKey.fromSeed('test'));
|
|
|
|
storageEncryptedBase.on('insert', (event) => {
|
|
console.log('insert', event);
|
|
});
|
|
|
|
// Store data in storage
|
|
await storage.insertOne(data);
|
|
// storageSynced.insertOne('test', data);
|
|
await storageEncrypted.insertOne(data);
|
|
|
|
// Retrieve data from storage
|
|
const retrievedData = await storage.findOne({ name: 'test' });
|
|
// const retrievedDataSynced = await storageSynced.findOne('test');
|
|
const retrievedDataEncrypted = await storageEncrypted.findOne({ name: 'test' });
|
|
|
|
console.log(retrievedData);
|
|
// console.log(retrievedDataSynced);
|
|
console.log(retrievedDataEncrypted);
|
|
|
|
// Update data in storage
|
|
await storage.updateOne({ id: 'test' }, { name: 'test2' });
|
|
await storageEncrypted.updateOne({ id: 'test' }, { name: 'test2' });
|
|
|
|
// Retrieve data from storage
|
|
const retrievedDataUpdated = await storage.findOne({ name: 'test2' });
|
|
// const retrievedDataSynced = await storageSynced.findOne('test');
|
|
const retrievedDataEncryptedUpdated = await storageEncrypted.findOne({ name: 'test2' });
|
|
|
|
console.log(retrievedDataUpdated);
|
|
// console.log(retrievedDataSynced);
|
|
console.log(retrievedDataEncryptedUpdated);
|
|
|