@nmshd/consumption 3.4.0 → 3.4.2

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.
@@ -6,10 +6,10 @@ const content_1 = require("@nmshd/content");
6
6
  const crypto_1 = require("@nmshd/crypto");
7
7
  const transport_1 = require("@nmshd/transport");
8
8
  exports.buildInformation = {
9
- version: "3.4.0",
10
- build: "108",
11
- date: "2023-10-12T08:52:05+00:00",
12
- commit: "1e0773419339aba523c2dd14c4bda254a880e4b7",
9
+ version: "3.4.2",
10
+ build: "110",
11
+ date: "2023-10-17T05:41:49+00:00",
12
+ commit: "40d88048ab6ca06125a903f680a965a17b952850",
13
13
  dependencies: {"@js-soft/docdb-querytranslator":"^1.1.1","@nmshd/iql":"^0.0.4","ts-simple-nameof":"^1.3.1"},
14
14
  libraries: {
15
15
  transport: transport_1.buildInformation,
@@ -12,9 +12,12 @@ export declare class NotificationsController extends ConsumptionBaseController {
12
12
  constructor(localNotifications: SynchronizedCollection, processorRegistry: NotificationItemProcessorRegistry, parent: ConsumptionController, eventBus: EventBus, device: {
13
13
  id: CoreId;
14
14
  });
15
+ getNotifications(query?: any): Promise<LocalNotification[]>;
16
+ getNotification(id: CoreId): Promise<LocalNotification>;
15
17
  sent(message: Message): Promise<LocalNotification>;
16
18
  received(message: Message): Promise<LocalNotification>;
17
19
  private extractNotificationFromMessage;
18
20
  processOpenNotifactionsReceivedByCurrentDevice(): Promise<void>;
19
- process(notification: LocalNotification): Promise<LocalNotification>;
21
+ processNotificationById(notificationId: CoreId): Promise<LocalNotification>;
22
+ private process;
20
23
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NotificationsController = void 0;
4
4
  const content_1 = require("@nmshd/content");
5
+ const transport_1 = require("@nmshd/transport");
5
6
  const ConsumptionBaseController_1 = require("../../consumption/ConsumptionBaseController");
6
7
  const ConsumptionControllerName_1 = require("../../consumption/ConsumptionControllerName");
7
8
  const LocalNotification_1 = require("./local/LocalNotification");
@@ -14,6 +15,17 @@ class NotificationsController extends ConsumptionBaseController_1.ConsumptionBas
14
15
  this.eventBus = eventBus;
15
16
  this.device = device;
16
17
  }
18
+ async getNotifications(query) {
19
+ const notifications = await this.localNotifications.find(query);
20
+ return notifications.map((notification) => LocalNotification_1.LocalNotification.from(notification));
21
+ }
22
+ async getNotification(id) {
23
+ const notification = await this.localNotifications.findOne({ id: id.toString() });
24
+ if (!notification) {
25
+ throw transport_1.CoreErrors.general.recordNotFound(LocalNotification_1.LocalNotification, id.toString());
26
+ }
27
+ return LocalNotification_1.LocalNotification.from(notification);
28
+ }
17
29
  async sent(message) {
18
30
  if (!message.isOwn)
19
31
  throw new Error("Cannot send a Notification from a foreign message.");
@@ -62,12 +74,20 @@ class NotificationsController extends ConsumptionBaseController_1.ConsumptionBas
62
74
  isOwn: false,
63
75
  status: LocalNotification_1.LocalNotificationStatus.Open
64
76
  });
65
- const parsed = this.parseArray(notifications, LocalNotification_1.LocalNotification);
66
- for (const notification of parsed) {
67
- await this.process(notification);
77
+ for (const notificationDoc of notifications) {
78
+ const notification = LocalNotification_1.LocalNotification.from(notificationDoc);
79
+ await this.process(notificationDoc, notification);
80
+ }
81
+ }
82
+ async processNotificationById(notificationId) {
83
+ const notificationDoc = await this.localNotifications.findOne({ id: notificationId.toString() });
84
+ if (!notificationDoc) {
85
+ throw transport_1.CoreErrors.general.recordNotFound(LocalNotification_1.LocalNotification, notificationId.toString());
68
86
  }
87
+ const parsed = LocalNotification_1.LocalNotification.from(notificationDoc);
88
+ return await this.process(notificationDoc, parsed);
69
89
  }
70
- async process(notification) {
90
+ async process(oldDoc, notification) {
71
91
  if (notification.isOwn)
72
92
  throw new Error("Cannot process own notification.");
73
93
  if (!notification.receivedByDevice?.equals(this.device.id)) {
@@ -76,7 +96,6 @@ class NotificationsController extends ConsumptionBaseController_1.ConsumptionBas
76
96
  if (![LocalNotification_1.LocalNotificationStatus.Open, LocalNotification_1.LocalNotificationStatus.Error].includes(notification.status)) {
77
97
  throw new Error(`Cannot process notification with status ${notification.status}.`);
78
98
  }
79
- const oldDoc = await this.localNotifications.findOne({ id: notification.id.toString() });
80
99
  const processedItems = [];
81
100
  const events = [];
82
101
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsController.js","sourceRoot":"","sources":["../../../src/modules/notifications/NotificationsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotificationsController.js","sourceRoot":"","sources":["../../../src/modules/notifications/NotificationsController.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,10 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
17
17
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
18
18
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
19
19
  exports.buildInformation = {
20
- version: "3.4.0",
21
- build: "108",
22
- date: "2023-10-12T08:52:05+00:00",
23
- commit: "1e0773419339aba523c2dd14c4bda254a880e4b7",
20
+ version: "3.4.2",
21
+ build: "110",
22
+ date: "2023-10-17T05:41:49+00:00",
23
+ commit: "40d88048ab6ca06125a903f680a965a17b952850",
24
24
  dependencies: {"@js-soft/docdb-querytranslator":"^1.1.1","@nmshd/iql":"^0.0.4","ts-simple-nameof":"^1.3.1"},
25
25
  libraries: {
26
26
  transport: transport_1.buildInformation,
@@ -1804,6 +1804,7 @@ __exportStar(__webpack_require__(/*! ./settings */ "./dist/modules/settings/inde
1804
1804
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1805
1805
  exports.NotificationsController = void 0;
1806
1806
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
1807
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1807
1808
  const ConsumptionBaseController_1 = __webpack_require__(/*! ../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
1808
1809
  const ConsumptionControllerName_1 = __webpack_require__(/*! ../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
1809
1810
  const LocalNotification_1 = __webpack_require__(/*! ./local/LocalNotification */ "./dist/modules/notifications/local/LocalNotification.js");
@@ -1816,6 +1817,17 @@ class NotificationsController extends ConsumptionBaseController_1.ConsumptionBas
1816
1817
  this.eventBus = eventBus;
1817
1818
  this.device = device;
1818
1819
  }
1820
+ async getNotifications(query) {
1821
+ const notifications = await this.localNotifications.find(query);
1822
+ return notifications.map((notification) => LocalNotification_1.LocalNotification.from(notification));
1823
+ }
1824
+ async getNotification(id) {
1825
+ const notification = await this.localNotifications.findOne({ id: id.toString() });
1826
+ if (!notification) {
1827
+ throw transport_1.CoreErrors.general.recordNotFound(LocalNotification_1.LocalNotification, id.toString());
1828
+ }
1829
+ return LocalNotification_1.LocalNotification.from(notification);
1830
+ }
1819
1831
  async sent(message) {
1820
1832
  if (!message.isOwn)
1821
1833
  throw new Error("Cannot send a Notification from a foreign message.");
@@ -1864,12 +1876,20 @@ class NotificationsController extends ConsumptionBaseController_1.ConsumptionBas
1864
1876
  isOwn: false,
1865
1877
  status: LocalNotification_1.LocalNotificationStatus.Open
1866
1878
  });
1867
- const parsed = this.parseArray(notifications, LocalNotification_1.LocalNotification);
1868
- for (const notification of parsed) {
1869
- await this.process(notification);
1879
+ for (const notificationDoc of notifications) {
1880
+ const notification = LocalNotification_1.LocalNotification.from(notificationDoc);
1881
+ await this.process(notificationDoc, notification);
1882
+ }
1883
+ }
1884
+ async processNotificationById(notificationId) {
1885
+ const notificationDoc = await this.localNotifications.findOne({ id: notificationId.toString() });
1886
+ if (!notificationDoc) {
1887
+ throw transport_1.CoreErrors.general.recordNotFound(LocalNotification_1.LocalNotification, notificationId.toString());
1870
1888
  }
1889
+ const parsed = LocalNotification_1.LocalNotification.from(notificationDoc);
1890
+ return await this.process(notificationDoc, parsed);
1871
1891
  }
1872
- async process(notification) {
1892
+ async process(oldDoc, notification) {
1873
1893
  if (notification.isOwn)
1874
1894
  throw new Error("Cannot process own notification.");
1875
1895
  if (!notification.receivedByDevice?.equals(this.device.id)) {
@@ -1878,7 +1898,6 @@ class NotificationsController extends ConsumptionBaseController_1.ConsumptionBas
1878
1898
  if (![LocalNotification_1.LocalNotificationStatus.Open, LocalNotification_1.LocalNotificationStatus.Error].includes(notification.status)) {
1879
1899
  throw new Error(`Cannot process notification with status ${notification.status}.`);
1880
1900
  }
1881
- const oldDoc = await this.localNotifications.findOne({ id: notification.id.toString() });
1882
1901
  const processedItems = [];
1883
1902
  const events = [];
1884
1903
  try {