podverse-mq 5.1.3-develop → 5.1.4-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +2 -2
  2. package/dist/functions/mq/rss/add.d.ts +9 -0
  3. package/dist/functions/mq/rss/add.d.ts.map +1 -0
  4. package/dist/functions/{queue → mq}/rss/add.js +3 -3
  5. package/dist/functions/mq/rss/addAll.d.ts +6 -0
  6. package/dist/functions/mq/rss/addAll.d.ts.map +1 -0
  7. package/dist/functions/{queue → mq}/rss/addAll.js +3 -3
  8. package/dist/functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex.d.ts +9 -0
  9. package/dist/functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex.d.ts.map +1 -0
  10. package/dist/functions/{queue → mq}/rss/addRecentlyUpdatedFeedsFromPodcastIndex.js +3 -3
  11. package/dist/functions/mq/rss/runLiveItemListener.d.ts +3 -0
  12. package/dist/functions/mq/rss/runLiveItemListener.d.ts.map +1 -0
  13. package/dist/functions/mq/rss/runLiveItemListener.js +138 -0
  14. package/dist/functions/mq/rss/runParser.d.ts +3 -0
  15. package/dist/functions/mq/rss/runParser.d.ts.map +1 -0
  16. package/dist/functions/{queue → mq}/rss/runParser.js +4 -4
  17. package/dist/index.d.ts +5 -5
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +11 -11
  20. package/dist/services/activeMQArtemis/index.d.ts +2 -2
  21. package/dist/services/activeMQArtemis/index.d.ts.map +1 -1
  22. package/package.json +8 -6
  23. package/dist/functions/queue/rss/add.d.ts +0 -9
  24. package/dist/functions/queue/rss/add.d.ts.map +0 -1
  25. package/dist/functions/queue/rss/addAll.d.ts +0 -6
  26. package/dist/functions/queue/rss/addAll.d.ts.map +0 -1
  27. package/dist/functions/queue/rss/addRecentlyUpdatedFeedsFromPodcastIndex.d.ts +0 -9
  28. package/dist/functions/queue/rss/addRecentlyUpdatedFeedsFromPodcastIndex.d.ts.map +0 -1
  29. package/dist/functions/queue/rss/addTrendingPodcastsFromPodcastIndex.d.ts +0 -9
  30. package/dist/functions/queue/rss/addTrendingPodcastsFromPodcastIndex.d.ts.map +0 -1
  31. package/dist/functions/queue/rss/addTrendingPodcastsFromPodcastIndex.js +0 -36
  32. package/dist/functions/queue/rss/runParser.d.ts +0 -3
  33. package/dist/functions/queue/rss/runParser.d.ts.map +0 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # podverse-queue
1
+ # podverse-mq
2
2
 
3
3
  A module for handling Podverse Queue (ActiveMQArtemis / AMQP) interactions.
4
4
 
@@ -6,7 +6,7 @@ A module for handling Podverse Queue (ActiveMQArtemis / AMQP) interactions.
6
6
 
7
7
  ### Environment Variables
8
8
 
9
- The environment variables for this module must be set within the app that consumes this module (ex. `podverse-api` or `podverse-workers`). See `podverse-queue/config/index.ts` for a list of the env vars expected.
9
+ The environment variables for this module must be set within the app that consumes this module (ex. `podverse-api` or `podverse-workers`). See `podverse-mq/config/index.ts` for a list of the env vars expected.
10
10
 
11
11
  ### Local Dev Workflow
12
12
 
@@ -0,0 +1,9 @@
1
+ import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
2
+ import { MQQueueConfig } from "podverse-helpers";
3
+ type MQRSSAddOptions = MQQueueConfig & {
4
+ feedUrl: string;
5
+ podcastIndexId: number;
6
+ };
7
+ export declare const mqRSSAdd: (activeMQArtemisService: ActiveMQArtemisService, options: MQRSSAddOptions) => Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,eAAe,GAAG,aAAa,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,eAAO,MAAM,QAAQ,GACnB,wBAAwB,sBAAsB,EAC9C,SAAS,eAAe,kBAezB,CAAC"}
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.queueRSSAdd = void 0;
13
- const queueRSSAdd = (activeMQArtemisService, options) => __awaiter(void 0, void 0, void 0, function* () {
12
+ exports.mqRSSAdd = void 0;
13
+ const mqRSSAdd = (activeMQArtemisService, options) => __awaiter(void 0, void 0, void 0, function* () {
14
14
  yield activeMQArtemisService.initialize();
15
15
  const message = {
16
16
  url: options.feedUrl,
@@ -23,4 +23,4 @@ const queueRSSAdd = (activeMQArtemisService, options) => __awaiter(void 0, void
23
23
  dedupeCacheTimeMS: options.dedupeCacheTimeMS
24
24
  });
25
25
  });
26
- exports.queueRSSAdd = queueRSSAdd;
26
+ exports.mqRSSAdd = mqRSSAdd;
@@ -0,0 +1,6 @@
1
+ import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
2
+ import { MQQueueConfig } from "podverse-helpers";
3
+ type MQRSSAddAllConfig = MQQueueConfig;
4
+ export declare const mqRSSAddAll: (activeMQArtemisService: ActiveMQArtemisService, config: MQRSSAddAllConfig) => Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=addAll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addAll.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/addAll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,iBAAiB,GAAG,aAAa,CAAC;AAEvC,eAAO,MAAM,WAAW,GACtB,wBAAwB,sBAAsB,EAC9C,QAAQ,iBAAiB,kBAoB1B,CAAC"}
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.queueRSSAddAll = void 0;
12
+ exports.mqRSSAddAll = void 0;
13
13
  const podverse_orm_1 = require("podverse-orm");
14
- const queueRSSAddAll = (activeMQArtemisService, config) => __awaiter(void 0, void 0, void 0, function* () {
14
+ const mqRSSAddAll = (activeMQArtemisService, config) => __awaiter(void 0, void 0, void 0, function* () {
15
15
  const feedService = new podverse_orm_1.FeedService();
16
16
  const feeds = yield feedService.getAll();
17
17
  yield activeMQArtemisService.initialize();
@@ -28,4 +28,4 @@ const queueRSSAddAll = (activeMQArtemisService, config) => __awaiter(void 0, voi
28
28
  });
29
29
  }
30
30
  });
31
- exports.queueRSSAddAll = queueRSSAddAll;
31
+ exports.mqRSSAddAll = mqRSSAddAll;
@@ -0,0 +1,9 @@
1
+ import { PodcastIndexService } from 'podverse-external-services';
2
+ import { MQQueueConfig } from 'podverse-helpers';
3
+ import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
4
+ type MQRSSAddAllRecentlyUpdatedFeedsOptions = MQQueueConfig & {
5
+ sinceRange: number;
6
+ };
7
+ export declare const mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex: (activeMQArtemisService: ActiveMQArtemisService, podcastIndexService: PodcastIndexService, options: MQRSSAddAllRecentlyUpdatedFeedsOptions) => Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=addRecentlyUpdatedFeedsFromPodcastIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addRecentlyUpdatedFeedsFromPodcastIndex.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,KAAK,sCAAsC,GAAG,aAAa,GAAG;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB,CAAA;AAED,eAAO,MAAM,4CAA4C,GACvD,wBAAwB,sBAAsB,EAC9C,qBAAqB,mBAAmB,EACxC,SAAS,sCAAsC,kBA0BhD,CAAC"}
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex = void 0;
12
+ exports.mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex = void 0;
13
13
  const podverse_orm_1 = require("podverse-orm");
14
- const queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex = (activeMQArtemisService, podcastIndexService, options) => __awaiter(void 0, void 0, void 0, function* () {
14
+ const mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex = (activeMQArtemisService, podcastIndexService, options) => __awaiter(void 0, void 0, void 0, function* () {
15
15
  const sinceRange = options.sinceRange;
16
16
  const recentlyUpdatedFeeds = yield podcastIndexService.recentGetData(sinceRange);
17
17
  yield activeMQArtemisService.initialize();
@@ -33,4 +33,4 @@ const queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex = (activeMQArtemisService,
33
33
  }
34
34
  }
35
35
  });
36
- exports.queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex = queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex;
36
+ exports.mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex = mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex;
@@ -0,0 +1,3 @@
1
+ import { ActiveMQArtemisService } from '@queue/services/activeMQArtemis';
2
+ export declare const mqRSSRunLiveItemListener: (activeMQArtemisService: ActiveMQArtemisService) => void;
3
+ //# sourceMappingURL=runLiveItemListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runLiveItemListener.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/runLiveItemListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAe,MAAM,iCAAiC,CAAC;AAMtF,eAAO,MAAM,wBAAwB,GACnC,wBAAwB,sBAAsB,SAoI/C,CAAC"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.mqRSSRunLiveItemListener = void 0;
16
+ const podverse_helpers_1 = require("podverse-helpers");
17
+ const podverse_orm_1 = require("podverse-orm");
18
+ const ws_1 = __importDefault(require("ws"));
19
+ const add_1 = require("./add");
20
+ const mqRSSRunLiveItemListener = (activeMQArtemisService) => {
21
+ console.info('starting runLiveItemListener');
22
+ const feedService = new podverse_orm_1.FeedService();
23
+ /*
24
+ Run an interval to keep the node script running forever.
25
+ */
26
+ setInterval(() => {
27
+ console.info('runLiveItemListener interval');
28
+ }, 100000000);
29
+ let openedSocket = null;
30
+ const timeInterval = 5000;
31
+ const url = 'wss://api.livewire.io/ws/podping';
32
+ let connectionIdCount = 0;
33
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+ const hiveBlocksHandled = {};
35
+ function connect() {
36
+ const client = new ws_1.default(url);
37
+ return new Promise((resolve, reject) => {
38
+ console.info('client try to connect...');
39
+ let connectionId = connectionIdCount;
40
+ client.on('open', () => {
41
+ connectionId = connectionIdCount + 1;
42
+ connectionIdCount++;
43
+ console.info(`WEBSOCKET_OPEN: client connected to server at ${url}, connectionId: ${connectionId}`);
44
+ openedSocket = true;
45
+ resolve(openedSocket);
46
+ });
47
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
+ client.on('message', function message(data) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ try {
51
+ const msg = JSON.parse(data);
52
+ // If the hiveBlock was already processed by our listener, then skip the message.
53
+ if (hiveBlocksHandled[msg.n])
54
+ return;
55
+ const prodPodpingLiveIdRegex = new RegExp('^pp_(.*)_(live|liveEnd)$', 'i');
56
+ if (msg.t === 'podping') {
57
+ hiveBlocksHandled[msg.n] = true;
58
+ for (const p of msg.p) {
59
+ if (prodPodpingLiveIdRegex.test(p.i) &&
60
+ p.p.reason &&
61
+ (p.p.reason.toLowerCase() === 'live' || p.p.reason.toLowerCase() === 'liveend')) {
62
+ console.info(`p.p ${JSON.stringify(p.p)}, p.n Hive block number ${p.n}, connectionId: ${connectionId}`);
63
+ const addRSSObjs = [];
64
+ for (const url of p.p.iris) {
65
+ try {
66
+ if (url === null || url === void 0 ? void 0 : url.startsWith('http')) {
67
+ let feed = null;
68
+ try {
69
+ feed = yield feedService.getByUrl(url);
70
+ }
71
+ catch (error) {
72
+ console.info(`p.p.iris error ${error}, connectionId: ${connectionId}`);
73
+ }
74
+ if (feed === null || feed === void 0 ? void 0 : feed.channel) {
75
+ const { podcast_index_id } = feed.channel;
76
+ const numPodcastIndexId = Number(podcast_index_id);
77
+ if (podcast_index_id)
78
+ addRSSObjs.push({ url, podcast_index_id: numPodcastIndexId });
79
+ }
80
+ else {
81
+ console.info('feed url not found');
82
+ }
83
+ }
84
+ }
85
+ catch (err) {
86
+ console.info(`p.p.iris error ${err}, connectionId: ${connectionId}`);
87
+ }
88
+ }
89
+ const queueType = 'rss-live';
90
+ const mqConstantMessageOptions = podverse_helpers_1.MQ_QUEUES[queueType];
91
+ for (const addRSSObj of addRSSObjs) {
92
+ yield (0, add_1.mqRSSAdd)(activeMQArtemisService, Object.assign(Object.assign({}, mqConstantMessageOptions), { feedUrl: addRSSObj.url, podcastIndexId: addRSSObj.podcast_index_id }));
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ catch (err) {
99
+ console.info(`message error: ${err}, connectionId: ${connectionId}`);
100
+ }
101
+ });
102
+ });
103
+ client.on('close', (err) => {
104
+ console.info(`WEBSOCKET_CLOSE: connection closed ${err}, connectionId: ${connectionId}`);
105
+ openedSocket = false;
106
+ reject(err);
107
+ });
108
+ client.on('error', (err) => {
109
+ console.info(`WEBSOCKET_ERROR: Error ${new Error(err.message)}, connectionId: ${connectionId}`);
110
+ openedSocket = false;
111
+ reject(err);
112
+ });
113
+ });
114
+ }
115
+ function reconnect() {
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ try {
118
+ yield connect();
119
+ }
120
+ catch (err) {
121
+ if (err instanceof Error) {
122
+ console.error(`reconnect error: ${err.message}`);
123
+ }
124
+ else {
125
+ console.error(`reconnect error: ${String(err)}`);
126
+ }
127
+ }
128
+ });
129
+ }
130
+ reconnect();
131
+ // repeat every 5 seconds
132
+ setInterval(() => {
133
+ if (!openedSocket) {
134
+ reconnect();
135
+ }
136
+ }, timeInterval);
137
+ };
138
+ exports.mqRSSRunLiveItemListener = mqRSSRunLiveItemListener;
@@ -0,0 +1,3 @@
1
+ import { MQQueueName, ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
2
+ export declare const mqRSSRunParser: (activeMQArtemisService: ActiveMQArtemisService, queueName: MQQueueName) => Promise<void>;
3
+ //# sourceMappingURL=runParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runParser.d.ts","sourceRoot":"","sources":["../../../../src/functions/mq/rss/runParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,cAAc,GACzB,wBAAwB,sBAAsB,EAC9C,WAAW,WAAW,kBAmBvB,CAAC"}
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.queueRSSRunParser = void 0;
12
+ exports.mqRSSRunParser = void 0;
13
13
  const podverse_parser_1 = require("podverse-parser");
14
- const queueRSSRunParser = (activeMQArtemisService, queueName) => __awaiter(void 0, void 0, void 0, function* () {
14
+ const mqRSSRunParser = (activeMQArtemisService, queueName) => __awaiter(void 0, void 0, void 0, function* () {
15
15
  yield activeMQArtemisService.initialize();
16
16
  yield activeMQArtemisService.consumeMessages(queueName, (message) => __awaiter(void 0, void 0, void 0, function* () {
17
17
  try {
@@ -22,7 +22,7 @@ const queueRSSRunParser = (activeMQArtemisService, queueName) => __awaiter(void
22
22
  yield (0, podverse_parser_1.parseRSSFeedAndSaveToDatabase)(url, podcast_index_id);
23
23
  }
24
24
  else {
25
- throw new Error(`queueRSSRunParser: url or podcast_index_id not found in message ${receivedMessage === null || receivedMessage === void 0 ? void 0 : receivedMessage.toString()}`);
25
+ throw new Error(`mqRSSRunParser: url or podcast_index_id not found in message ${receivedMessage === null || receivedMessage === void 0 ? void 0 : receivedMessage.toString()}`);
26
26
  }
27
27
  }
28
28
  catch (error) {
@@ -30,4 +30,4 @@ const queueRSSRunParser = (activeMQArtemisService, queueName) => __awaiter(void
30
30
  }
31
31
  }));
32
32
  });
33
- exports.queueRSSRunParser = queueRSSRunParser;
33
+ exports.mqRSSRunParser = mqRSSRunParser;
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import './module-alias-config';
2
- export { queueRSSAdd } from './functions/queue/rss/add';
3
- export { queueRSSAddAll } from './functions/queue/rss/addAll';
4
- export { queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex } from './functions/queue/rss/addRecentlyUpdatedFeedsFromPodcastIndex';
5
- export { queueRSSAddTrendingPodcastsFromPodcastIndex } from './functions/queue/rss/addTrendingPodcastsFromPodcastIndex';
6
- export { queueRSSRunParser } from './functions/queue/rss/runParser';
2
+ export { mqRSSAdd } from './functions/mq/rss/add';
3
+ export { mqRSSAddAll } from './functions/mq/rss/addAll';
4
+ export { mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex } from './functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex';
5
+ export { mqRSSRunParser } from './functions/mq/rss/runParser';
6
+ export { mqRSSRunLiveItemListener } from './functions/mq/rss/runLiveItemListener';
7
7
  export { ActiveMQArtemisService, ActiveMQArtemisServiceParams } from './services/activeMQArtemis';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,+CAA+C,EAAE,MAAM,+DAA+D,CAAC;AAChI,OAAO,EAAE,2CAA2C,EAAE,MAAM,2DAA2D,CAAC;AACxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,4CAA4C,EAAE,MAAM,4DAA4D,CAAC;AAC1H,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActiveMQArtemisService = exports.queueRSSRunParser = exports.queueRSSAddTrendingPodcastsFromPodcastIndex = exports.queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex = exports.queueRSSAddAll = exports.queueRSSAdd = void 0;
3
+ exports.ActiveMQArtemisService = exports.mqRSSRunLiveItemListener = exports.mqRSSRunParser = exports.mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex = exports.mqRSSAddAll = exports.mqRSSAdd = void 0;
4
4
  require("./module-alias-config");
5
- var add_1 = require("./functions/queue/rss/add");
6
- Object.defineProperty(exports, "queueRSSAdd", { enumerable: true, get: function () { return add_1.queueRSSAdd; } });
7
- var addAll_1 = require("./functions/queue/rss/addAll");
8
- Object.defineProperty(exports, "queueRSSAddAll", { enumerable: true, get: function () { return addAll_1.queueRSSAddAll; } });
9
- var addRecentlyUpdatedFeedsFromPodcastIndex_1 = require("./functions/queue/rss/addRecentlyUpdatedFeedsFromPodcastIndex");
10
- Object.defineProperty(exports, "queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex", { enumerable: true, get: function () { return addRecentlyUpdatedFeedsFromPodcastIndex_1.queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex; } });
11
- var addTrendingPodcastsFromPodcastIndex_1 = require("./functions/queue/rss/addTrendingPodcastsFromPodcastIndex");
12
- Object.defineProperty(exports, "queueRSSAddTrendingPodcastsFromPodcastIndex", { enumerable: true, get: function () { return addTrendingPodcastsFromPodcastIndex_1.queueRSSAddTrendingPodcastsFromPodcastIndex; } });
13
- var runParser_1 = require("./functions/queue/rss/runParser");
14
- Object.defineProperty(exports, "queueRSSRunParser", { enumerable: true, get: function () { return runParser_1.queueRSSRunParser; } });
5
+ var add_1 = require("./functions/mq/rss/add");
6
+ Object.defineProperty(exports, "mqRSSAdd", { enumerable: true, get: function () { return add_1.mqRSSAdd; } });
7
+ var addAll_1 = require("./functions/mq/rss/addAll");
8
+ Object.defineProperty(exports, "mqRSSAddAll", { enumerable: true, get: function () { return addAll_1.mqRSSAddAll; } });
9
+ var addRecentlyUpdatedFeedsFromPodcastIndex_1 = require("./functions/mq/rss/addRecentlyUpdatedFeedsFromPodcastIndex");
10
+ Object.defineProperty(exports, "mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex", { enumerable: true, get: function () { return addRecentlyUpdatedFeedsFromPodcastIndex_1.mqRSSAddRecentlyUpdatedFeedsFromPodcastIndex; } });
11
+ var runParser_1 = require("./functions/mq/rss/runParser");
12
+ Object.defineProperty(exports, "mqRSSRunParser", { enumerable: true, get: function () { return runParser_1.mqRSSRunParser; } });
13
+ var runLiveItemListener_1 = require("./functions/mq/rss/runLiveItemListener");
14
+ Object.defineProperty(exports, "mqRSSRunLiveItemListener", { enumerable: true, get: function () { return runLiveItemListener_1.mqRSSRunLiveItemListener; } });
15
15
  var activeMQArtemis_1 = require("./services/activeMQArtemis");
16
16
  Object.defineProperty(exports, "ActiveMQArtemisService", { enumerable: true, get: function () { return activeMQArtemis_1.ActiveMQArtemisService; } });
@@ -1,11 +1,11 @@
1
1
  import { Delivery } from 'rhea';
2
2
  import { LoggerService } from 'podverse-helpers/dist/lib/backend/logger';
3
3
  export type MQQueueName = 'rss-normal' | 'rss-on-demand' | 'rss-live';
4
- type QueueRSSMessage = {
4
+ type MQRSSMessage = {
5
5
  url: string;
6
6
  podcast_index_id: number | null;
7
7
  };
8
- type Message = QueueRSSMessage;
8
+ type Message = MQRSSMessage;
9
9
  type SendMessageParams = {
10
10
  queueName: MQQueueName;
11
11
  message: Message;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/activeMQArtemis/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,QAAQ,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAIzE,MAAM,MAAM,WAAW,GAAG,YAAY,GAAI,eAAe,GAAG,UAAU,CAAC;AAEvE,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,KAAK,OAAO,GAAG,eAAe,CAAC;AAE/B,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,WAAW,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC,CAAA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,aAAa;IAKjE,UAAU;YASF,OAAO;YAwDP,YAAY;YAaZ,cAAc;IAa5B,OAAO,CAAC,kBAAkB;IAQpB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCrD,UAAU,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA8B3D,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CA2BpJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/activeMQArtemis/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,QAAQ,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAIzE,MAAM,MAAM,WAAW,GAAG,YAAY,GAAI,eAAe,GAAG,UAAU,CAAC;AAEvE,KAAK,YAAY,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,KAAK,OAAO,GAAG,YAAY,CAAC;AAE5B,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,WAAW,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC,CAAA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,aAAa;IAKjE,UAAU;YASF,OAAO;YAwDP,YAAY;YAaZ,cAAc;IAa5B,OAAO,CAAC,kBAAkB;IAQpB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCrD,UAAU,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA8B3D,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CA2BpJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "podverse-mq",
3
- "version": "5.1.3-develop",
3
+ "version": "5.1.4-alpha.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,17 +17,19 @@
17
17
  "license": "AGPLv3",
18
18
  "dependencies": {
19
19
  "module-alias": "^2.2.3",
20
- "podverse-external-services": "^5.0.3",
21
- "podverse-helpers": "^5.1.0",
22
- "podverse-orm": "^5.0.5",
23
- "podverse-parser": "^5.0.9",
24
- "rhea": "^2.0.6"
20
+ "podverse-external-services": "^5.1.4-alpha.0",
21
+ "podverse-helpers": "^5.1.4-alpha.1",
22
+ "podverse-orm": "^5.1.4-alpha.1",
23
+ "podverse-parser": "^5.1.4-alpha.0",
24
+ "rhea": "^2.0.6",
25
+ "ws": "^8.18.3"
25
26
  },
26
27
  "devDependencies": {
27
28
  "@eslint/config-array": "^0.21.0",
28
29
  "@eslint/eslintrc": "^3.3.1",
29
30
  "@eslint/js": "^9.35.0",
30
31
  "@types/node": "^24.4.0",
32
+ "@types/ws": "^8.18.1",
31
33
  "eslint": "^9.35.0",
32
34
  "nodemon": "^3.1.10",
33
35
  "ts-node": "^10.9.2",
@@ -1,9 +0,0 @@
1
- import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
2
- import { MQQueueConfig } from "podverse-helpers";
3
- type QueueRSSAddOptions = MQQueueConfig & {
4
- feedUrl: string;
5
- podcastIndexId: number;
6
- };
7
- export declare const queueRSSAdd: (activeMQArtemisService: ActiveMQArtemisService, options: QueueRSSAddOptions) => Promise<void>;
8
- export {};
9
- //# sourceMappingURL=add.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/functions/queue/rss/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,kBAAkB,GAAG,aAAa,GAAG;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,eAAO,MAAM,WAAW,GACtB,wBAAwB,sBAAsB,EAC9C,SAAS,kBAAkB,kBAe5B,CAAC"}
@@ -1,6 +0,0 @@
1
- import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
2
- import { MQQueueConfig } from "podverse-helpers";
3
- type QueueRSSAddAllConfig = MQQueueConfig;
4
- export declare const queueRSSAddAll: (activeMQArtemisService: ActiveMQArtemisService, config: QueueRSSAddAllConfig) => Promise<void>;
5
- export {};
6
- //# sourceMappingURL=addAll.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addAll.d.ts","sourceRoot":"","sources":["../../../../src/functions/queue/rss/addAll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,oBAAoB,GAAG,aAAa,CAAC;AAE1C,eAAO,MAAM,cAAc,GACzB,wBAAwB,sBAAsB,EAC9C,QAAQ,oBAAoB,kBAoB7B,CAAC"}
@@ -1,9 +0,0 @@
1
- import { PodcastIndexService } from 'podverse-external-services';
2
- import { MQQueueConfig } from 'podverse-helpers';
3
- import { ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
4
- type QueueRSSAddAllRecentlyUpdatedFeedsOptions = MQQueueConfig & {
5
- sinceRange: number;
6
- };
7
- export declare const queueRSSAddRecentlyUpdatedFeedsFromPodcastIndex: (activeMQArtemisService: ActiveMQArtemisService, podcastIndexService: PodcastIndexService, options: QueueRSSAddAllRecentlyUpdatedFeedsOptions) => Promise<void>;
8
- export {};
9
- //# sourceMappingURL=addRecentlyUpdatedFeedsFromPodcastIndex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addRecentlyUpdatedFeedsFromPodcastIndex.d.ts","sourceRoot":"","sources":["../../../../src/functions/queue/rss/addRecentlyUpdatedFeedsFromPodcastIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,KAAK,yCAAyC,GAAG,aAAa,GAAG;IAC/D,UAAU,EAAE,MAAM,CAAC;CACpB,CAAA;AAED,eAAO,MAAM,+CAA+C,GAC1D,wBAAwB,sBAAsB,EAC9C,qBAAqB,mBAAmB,EACxC,SAAS,yCAAyC,kBA0BnD,CAAC"}
@@ -1,9 +0,0 @@
1
- import { PodcastIndexService } from 'podverse-external-services';
2
- import { MQQueueConfig } from 'podverse-helpers';
3
- import { ActiveMQArtemisService } from '@queue/services/activeMQArtemis';
4
- type AddTrendingPodcastsOptions = MQQueueConfig & {
5
- maxFeeds?: number;
6
- };
7
- export declare const queueRSSAddTrendingPodcastsFromPodcastIndex: (activeMQArtemisService: ActiveMQArtemisService, podcastIndexService: PodcastIndexService, options: AddTrendingPodcastsOptions) => Promise<void>;
8
- export {};
9
- //# sourceMappingURL=addTrendingPodcastsFromPodcastIndex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addTrendingPodcastsFromPodcastIndex.d.ts","sourceRoot":"","sources":["../../../../src/functions/queue/rss/addTrendingPodcastsFromPodcastIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,KAAK,0BAA0B,GAAG,aAAa,GAAG;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,2CAA2C,GACtD,wBAAwB,sBAAsB,EAC9C,qBAAqB,mBAAmB,EACxC,SAAS,0BAA0B,KAClC,OAAO,CAAC,IAAI,CAyBd,CAAC"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.queueRSSAddTrendingPodcastsFromPodcastIndex = void 0;
13
- const queueRSSAddTrendingPodcastsFromPodcastIndex = (activeMQArtemisService, podcastIndexService, options) => __awaiter(void 0, void 0, void 0, function* () {
14
- const { queueName, maxFeeds = 1000 } = options;
15
- try {
16
- const { feeds } = yield podcastIndexService.trendingGetPodcasts(maxFeeds);
17
- yield activeMQArtemisService.initialize();
18
- for (const feed of feeds) {
19
- const message = {
20
- url: feed.url,
21
- podcast_index_id: feed.id
22
- };
23
- yield activeMQArtemisService.sendMessage({
24
- queueName,
25
- message,
26
- priority: options.priority,
27
- dedupeCacheTimeMS: options.dedupeCacheTimeMS
28
- });
29
- }
30
- }
31
- catch (error) {
32
- console.error('[queueRSSAddTrendingPodcastsFromPodcastIndex] Error adding trending podcasts:', error);
33
- throw error;
34
- }
35
- });
36
- exports.queueRSSAddTrendingPodcastsFromPodcastIndex = queueRSSAddTrendingPodcastsFromPodcastIndex;
@@ -1,3 +0,0 @@
1
- import { MQQueueName, ActiveMQArtemisService } from "@queue/services/activeMQArtemis";
2
- export declare const queueRSSRunParser: (activeMQArtemisService: ActiveMQArtemisService, queueName: MQQueueName) => Promise<void>;
3
- //# sourceMappingURL=runParser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runParser.d.ts","sourceRoot":"","sources":["../../../../src/functions/queue/rss/runParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,iBAAiB,GAC5B,wBAAwB,sBAAsB,EAC9C,WAAW,WAAW,kBAmBvB,CAAC"}