UNPKG

event-driven

Version:

makes building event-driven-architecture easy

59 lines (58 loc) 2.8 kB
"use strict"; 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()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.streamRouter = void 0; const express_1 = __importDefault(require("express")); const models_1 = require("../models"); const streamRouter = (jsm) => { const router = express_1.default.Router(); router.get('/', (req, res) => __awaiter(void 0, void 0, void 0, function* () { const streams = yield jsm.streams.list().next(); res.send(streams); })); // router.delete('/:streamName', async (req, res) => { // try { // // prevent stream delete if consumers, messages exist // const result = await jsm.streams.delete(req.params.streamName) // res.json(result) // } catch (err) { // res.status(500).send(err) // } // }) router.get('/:stream', (req, res) => __awaiter(void 0, void 0, void 0, function* () { const { stream } = req.params; const [streamSummary, streamInfo, consumers] = yield Promise.all([ models_1.StreamSummary.findOne({ stream }), jsm.streams.info(stream), jsm.consumers.list(stream).next(), ]); res.send({ streamSummary, streamInfo, consumers }); })); // router.post('/:streamName', async (req, res) => { // const { streamName } = req.params // const streamInfo = await jsm.streams.info(streamName) // streamInfo.config.subjects.push(req.body.subject) // await jsm.streams.update(streamName, streamInfo.config) // res.json(streamInfo) // }) // router.delete('/:streamName/subject/:subject', async (req, res) => { // const { streamName, subject } = req.params // const streamInfo = await jsm.streams.info(streamName) // streamInfo.config.subjects = streamInfo.config.subjects!.filter((s) => s !== subject) // await jsm.streams.update(streamName, streamInfo.config) // res.json(streamInfo) // }) return router; }; exports.streamRouter = streamRouter;