@dudousxd/nestjs-notifications-database 0.6.0 → 0.8.0

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.
package/dist/index.d.ts CHANGED
@@ -5,6 +5,6 @@ export { InMemoryStore } from './in-memory.store';
5
5
  export { DatabaseChannelModule, type DatabaseChannelOptions, type DatabaseChannelFeatureOptions, type InboxControllerOptions, } from './database.module';
6
6
  export { NotificationPruner, type PruneOptions } from './notification-pruner';
7
7
  export { SchemaInitializer } from './schema-initializer';
8
- export { NotificationsQueryService, type NotifiableTarget, type PaginateOptions, type PaginatedNotifications, } from './notifications-query.service';
8
+ export { NotificationsQueryService, type NotifiableTarget, type PaginateOptions, type PaginatedNotifications, type PaginationMeta, } from './notifications-query.service';
9
9
  export { createNotificationsController, type NotificationsControllerOptions, } from './notifications.controller';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,6BAA6B,EAC7B,KAAK,8BAA8B,GACpC,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,6BAA6B,EAC7B,KAAK,8BAA8B,GACpC,MAAM,4BAA4B,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,mCAAiF;AAAxE,4GAAA,kBAAkB,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,uGAAA,aAAa,OAAA;AAC9D,uDAA+D;AAAtD,4GAAA,QAAQ,OAAA;AAAE,mHAAA,eAAe,OAAA;AAClC,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,qDAK2B;AAJzB,wHAAA,qBAAqB,OAAA;AAKvB,6DAA8E;AAArE,yHAAA,kBAAkB,OAAA;AAC3B,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,6EAKuC;AAJrC,wIAAA,yBAAyB,OAAA;AAK3B,uEAGoC;AAFlC,yIAAA,6BAA6B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,mCAAiF;AAAxE,4GAAA,kBAAkB,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,uGAAA,aAAa,OAAA;AAC9D,uDAA+D;AAAtD,4GAAA,QAAQ,OAAA;AAAE,mHAAA,eAAe,OAAA;AAClC,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,qDAK2B;AAJzB,wHAAA,qBAAqB,OAAA;AAKvB,6DAA8E;AAArE,yHAAA,kBAAkB,OAAA;AAC3B,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,6EAMuC;AALrC,wIAAA,yBAAyB,OAAA;AAM3B,uEAGoC;AAFlC,yIAAA,6BAA6B,OAAA"}
@@ -9,12 +9,20 @@ export interface PaginateOptions {
9
9
  /** Page size. Default 20. */
10
10
  perPage?: number;
11
11
  }
12
- /** A page of stored notifications. */
13
- export interface PaginatedNotifications {
14
- items: StoredNotification[];
12
+ /** Pagination metadata for a {@link PaginatedNotifications} page. */
13
+ export interface PaginationMeta {
14
+ /** 1-based current page. */
15
15
  page: number;
16
16
  perPage: number;
17
+ /** Total matching notifications across all pages. */
17
18
  total: number;
19
+ /** Number of the last page (`max(1, ceil(total / perPage))`). */
20
+ lastPage: number;
21
+ }
22
+ /** A page of stored notifications. `meta` follows the conventional `{ page, lastPage, … }` shape. */
23
+ export interface PaginatedNotifications {
24
+ items: StoredNotification[];
25
+ meta: PaginationMeta;
18
26
  }
19
27
  /** Tenant-scoped read API — same methods as {@link NotificationsQueryService}. */
20
28
  export interface ScopedNotificationsQuery {
@@ -1 +1 @@
1
- {"version":3,"file":"notifications-query.service.d.ts","sourceRoot":"","sources":["../src/notifications-query.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,aAAa,EAEnB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAG1E,uFAAuF;AACvF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,aAAa,CAAC;AAE1D,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,sCAAsC;AACtC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kFAAkF;AAClF,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/F,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,qBACa,yBAA0B,YAAW,wBAAwB;IAGtE,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,iBAAiB;IAG3C,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI5D,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI/D,QAAQ,CACN,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAIlC,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,yDAAyD;IACzD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB;YAYrC,SAAS;YAQT,YAAY;YAQZ,cAAc;YAiBd,iBAAiB;YAIjB,mBAAmB;IAKjC,6FAA6F;IAC7F,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"notifications-query.service.d.ts","sourceRoot":"","sources":["../src/notifications-query.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,aAAa,EAEnB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAG1E,uFAAuF;AACvF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,aAAa,CAAC;AAE1D,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qGAAqG;AACrG,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,kFAAkF;AAClF,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/F,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,qBACa,yBAA0B,YAAW,wBAAwB;IAGtE,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,iBAAiB;IAG3C,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI5D,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI/D,QAAQ,CACN,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAIlC,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,yDAAyD;IACzD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB;YAYrC,SAAS;YAQT,YAAY;YAQZ,cAAc;YAqBd,iBAAiB;YAIjB,mBAAmB;IAKjC,6FAA6F;IAC7F,OAAO,CAAC,KAAK;CAGd"}
@@ -76,12 +76,16 @@ let NotificationsQueryService = class NotificationsQueryService {
76
76
  const safePage = Math.max(1, Math.floor(page));
77
77
  const safePerPage = Math.max(1, Math.floor(perPage));
78
78
  const items = await this.allScoped(target, tenant);
79
+ const total = items.length;
79
80
  const start = (safePage - 1) * safePerPage;
80
81
  return {
81
82
  items: items.slice(start, start + safePerPage),
82
- page: safePage,
83
- perPage: safePerPage,
84
- total: items.length,
83
+ meta: {
84
+ page: safePage,
85
+ perPage: safePerPage,
86
+ total,
87
+ lastPage: Math.max(1, Math.ceil(total / safePerPage)),
88
+ },
85
89
  };
86
90
  }
87
91
  async unreadCountScoped(target, tenant) {
@@ -1 +1 @@
1
- {"version":3,"file":"notifications-query.service.js","sourceRoot":"","sources":["../src/notifications-query.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifications-query.service.js","sourceRoot":"","sources":["../src/notifications-query.service.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
1
  import type { NotifiableRef } from '@dudousxd/nestjs-notifications-core';
2
- import { type Type } from '@nestjs/common';
2
+ import { type CanActivate, type Type } from '@nestjs/common';
3
3
  /** Options for {@link createNotificationsController}. */
4
4
  export interface NotificationsControllerOptions {
5
5
  /**
6
6
  * Resolves the current notifiable from the request (e.g. from `req.user`). May be async.
7
7
  */
8
8
  resolveRef: (req: any) => NotifiableRef | Promise<NotifiableRef>;
9
+ /** Controller base path. Default `'notifications'`. */
10
+ path?: string;
11
+ /**
12
+ * Guards to protect the endpoints with (e.g. your auth guard). Applied via `@UseGuards` — the
13
+ * inbox is per-user, so it should almost always be authenticated.
14
+ */
15
+ guards?: Array<Type<CanActivate> | CanActivate>;
9
16
  }
10
17
  /**
11
18
  * Builds a `@Controller('notifications')` exposing the in-app inbox endpoints:
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.controller.d.ts","sourceRoot":"","sources":["../src/notifications.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAoD,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI7F,yDAAyD;AACzD,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,IAAI,CAAC,OAAO,CAAC,CAgDf"}
1
+ {"version":3,"file":"notifications.controller.d.ts","sourceRoot":"","sources":["../src/notifications.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EACL,KAAK,WAAW,EAQhB,KAAK,IAAI,EAEV,MAAM,gBAAgB,CAAC;AAIxB,yDAAyD;AACzD,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjE,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,IAAI,CAAC,OAAO,CAAC,CAoDf"}
@@ -117,9 +117,12 @@ function createNotificationsController(options) {
117
117
  __metadata("design:returntype", Promise)
118
118
  ], NotificationsController.prototype, "remove", null);
119
119
  NotificationsController = __decorate([
120
- (0, common_1.Controller)('notifications'),
120
+ (0, common_1.Controller)(options.path ?? 'notifications'),
121
121
  __metadata("design:paramtypes", [notifications_query_service_1.NotificationsQueryService])
122
122
  ], NotificationsController);
123
+ if (options.guards && options.guards.length > 0) {
124
+ (0, common_1.UseGuards)(...options.guards)(NotificationsController);
125
+ }
123
126
  return NotificationsController;
124
127
  }
125
128
  //# sourceMappingURL=notifications.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.controller.js","sourceRoot":"","sources":["../src/notifications.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAsCA,sEAkDC;AAvFD,2CAA6F;AAE7F,+EAA0E;AAU1E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,6BAA6B,CAC3C,OAAuC;IAEvC,IACM,uBAAuB,GAD7B,MACM,uBAAuB;QACE;QAA7B,YAA6B,aAAwC;YAAxC,kBAAa,GAAb,aAAa,CAA2B;QAAG,CAAC;QAGnE,AAAN,KAAK,CAAC,IAAI,CACD,GAAQ,EACA,IAAa,EACV,OAAgB;YAElC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE;gBACtC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aAC/C,CAAC,CAAC;QACL,CAAC;QAGK,AAAN,KAAK,CAAC,MAAM,CAAQ,GAAQ;YAC1B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAGK,AAAN,KAAK,CAAC,WAAW,CAAQ,GAAQ;YAC/B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,CAAC;QAGK,AAAN,KAAK,CAAC,UAAU,CAAc,EAAU;YACtC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QAGK,AAAN,KAAK,CAAC,aAAa,CAAQ,GAAQ;YACjC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QAGK,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU;YAClC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;KACF,CAAA;IAvCO;QADL,IAAA,YAAG,GAAE;QAEH,WAAA,IAAA,YAAG,GAAE,CAAA;QACL,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;QACb,WAAA,IAAA,cAAK,EAAC,SAAS,CAAC,CAAA;;;;uDAOlB;IAGK;QADL,IAAA,YAAG,EAAC,QAAQ,CAAC;QACA,WAAA,IAAA,YAAG,GAAE,CAAA;;;;yDAGlB;IAGK;QADL,IAAA,YAAG,EAAC,cAAc,CAAC;QACD,WAAA,IAAA,YAAG,GAAE,CAAA;;;;8DAGvB;IAGK;QADL,IAAA,aAAI,EAAC,UAAU,CAAC;QACC,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;6DAE5B;IAGK;QADL,IAAA,aAAI,EAAC,UAAU,CAAC;QACI,WAAA,IAAA,YAAG,GAAE,CAAA;;;;gEAGzB;IAGK;QADL,IAAA,eAAM,EAAC,KAAK,CAAC;QACA,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;yDAExB;IA1CG,uBAAuB;QAD5B,IAAA,mBAAU,EAAC,eAAe,CAAC;yCAEkB,uDAAyB;OADjE,uBAAuB,CA2C5B;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"notifications.controller.js","sourceRoot":"","sources":["../src/notifications.controller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dudousxd/nestjs-notifications-database",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Database channel for nestjs-notifications — persist notifications for in-app display",
5
5
  "license": "MIT",
6
6
  "author": "Davide Carvalho",