@brontosaurus/db
Version:
:ocean: Schema for brontosaurus
59 lines (58 loc) • 2.56 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.setSinglePreference = exports.getMultiplePreference = exports.addMultiplePreference = exports.getSinglePreference = void 0;
const preference_1 = require("../model/preference");
const getSinglePreference = (name) => __awaiter(void 0, void 0, void 0, function* () {
const preference = yield preference_1.PreferenceModel.findOne({
name,
}).lean();
if (!preference) {
return null;
}
return JSON.parse(preference.value);
});
exports.getSinglePreference = getSinglePreference;
const addMultiplePreference = (name, value) => __awaiter(void 0, void 0, void 0, function* () {
const castedValue = JSON.stringify(value);
const newPreference = new preference_1.PreferenceModel({
name,
value: castedValue,
});
yield newPreference.save();
});
exports.addMultiplePreference = addMultiplePreference;
const getMultiplePreference = (name) => __awaiter(void 0, void 0, void 0, function* () {
const preferences = yield preference_1.PreferenceModel.find({
name,
}).lean();
return preferences.map((model) => JSON.parse(model.value));
});
exports.getMultiplePreference = getMultiplePreference;
const setSinglePreference = (name, value) => __awaiter(void 0, void 0, void 0, function* () {
const preference = yield preference_1.PreferenceModel.findOne({
name,
});
const castedValue = JSON.stringify(value);
if (preference) {
preference.value = castedValue;
yield preference.save();
}
else {
const newPreference = new preference_1.PreferenceModel({
name,
value: castedValue,
});
yield newPreference.save();
}
return;
});
exports.setSinglePreference = setSinglePreference;