lisa-box
Version:
Home automation system L.I.S.A.
39 lines • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const common_1 = require("@fabrix/fabrix/dist/common");
class FavoritesService extends common_1.FabrixService {
populateFavorite(userId, devices) {
return this.getFavorites(userId)
.then(favorites => {
devices.forEach(device => {
if (favorites.filter(fav => fav.id === device.id).length === 1) {
device.favorite = true;
}
});
return devices;
});
}
getFavorites(userId) {
return this.app.services.FootprintService.findAssociation('user', userId, 'favorites').then(devices => {
devices.forEach(device => {
device.favorite = true;
});
return devices;
});
}
getFavoritesAndSyncData(userId) {
return this.getFavorites(userId).then(devices => this.app.services.DeviceService.aggregateDevicesData(devices));
}
putFavorite(userId, deviceId) {
return this.app.orm.User.findById(userId).then(user => {
return user.addFavorite(deviceId);
});
}
destroyFavorite(userId, deviceId) {
return this.app.orm.User.findById(userId).then(user => {
return user.removeFavorite(deviceId);
});
}
}
exports.FavoritesService = FavoritesService;
//# sourceMappingURL=FavoritesService.js.map