@angstone/monostone
Version:
monolitic event-sourced framework
44 lines • 1.99 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const store_1 = require("../../../store");
exports.view = {
watchEvents: [
"auth login",
],
renderInitial: () => __awaiter(this, void 0, void 0, function* () {
const authentications = yield store_1.db().collection("authentication").find();
const sessions = [];
if (authentications) {
while (yield authentications.hasNext()) {
const authentication = yield authentications.next();
sessions.push({
deviceType: authentication.deviceType,
loggedSince: authentication.createdAt,
userId: authentication.userId,
});
}
}
return { sessions };
}),
renderUpdate: (lastData, event) => __awaiter(this, void 0, void 0, function* () {
const sessionNew = {
deviceType: event.request.deviceType,
loggedSince: event.request.createdAt,
userId: event.request.userId,
};
lastData.sessions = [...lastData.sessions, sessionNew];
return lastData;
}),
renderPrivate: (data, token) => __awaiter(this, void 0, void 0, function* () {
return data.sessions.filter((session) => session.userId === token.uId);
}),
};
//# sourceMappingURL=session.view.js.map
;