@omniconvert/server-side-testing-sdk
Version:
TypeScript SDK for server-side A/B testing and experimentation
45 lines • 1.22 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserStorage = void 0;
const User_1 = require("../entities/User");
/**
* User storage implementation
* Handles persistence and retrieval of user data
*/
class UserStorage {
constructor(driver) {
this.driver = driver;
}
/**
* Find a user by ID
*/
find(id) {
const userData = this.driver.get(id);
if (!userData) {
return null;
}
try {
const userObj = typeof userData === 'string' ? JSON.parse(userData) : userData;
return User_1.User.fromObject(userObj);
}
catch (error) {
console.error('UserStorage::find - Failed to deserialize user data:', error);
return null;
}
}
/**
* Save a user
*/
save(user) {
try {
const userData = user.toObject();
return this.driver.save(user.getId(), userData);
}
catch (error) {
console.error('UserStorage::save - Failed to serialize user data:', error);
return false;
}
}
}
exports.UserStorage = UserStorage;
//# sourceMappingURL=UserStorage.js.map
;