@dudousxd/nestjs-notifications-database 0.7.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 +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/notifications-query.service.d.ts +11 -3
- package/dist/notifications-query.service.d.ts.map +1 -1
- package/dist/notifications-query.service.js +7 -3
- package/dist/notifications-query.service.js.map +1 -1
- package/package.json +1 -1
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|
-
/**
|
|
13
|
-
export interface
|
|
14
|
-
|
|
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,
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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":";;;;;;;;;;;;;;;AAAA,mFAI6C;AAC7C,2CAAoD;AAEpD,qCAA8C;
|
|
1
|
+
{"version":3,"file":"notifications-query.service.js","sourceRoot":"","sources":["../src/notifications-query.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED