@nu-art/push-pub-sub-backend 0.500.0 → 0.500.6

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.
@@ -1,3 +1,3 @@
1
- export declare const ModulePackBE_PushPubSub: (import("../modules/ModuleBE_PushSessionDB.js").ModuleBE_PushSessionDB_Class | import("../modules/ModuleBE_PushSubscriptionDB.js").ModuleBE_PushSubscriptionDB_Class | import("@nu-art/db-api-backend").ModuleBE_BaseApi_Class<import("@nu-art/push-pub-sub-shared/push-subscription/types").DatabaseDef_PushSubscription & import("@nu-art/db-api-shared").DB_Prototype> | import("../modules/ModuleBE_PushMessagesHistoryDB.js").ModuleBE_PushMessagesHistoryDB_Class | import("../modules/ModuleBE_PushPubSub.js").ModuleBE_PushPubSub_Class)[];
1
+ export declare const ModulePackBE_PushPubSub: (import("../modules/ModuleBE_PushSessionDB.js").ModuleBE_PushSessionDB_Class | import("../modules/ModuleBE_PushSubscriptionDB.js").ModuleBE_PushSubscriptionDB_Class | import("@nu-art/db-api-backend").ModuleBE_BaseApi_Class<import("@nu-art/push-pub-sub-shared/push-subscription/types").DatabaseDef_PushSubscription & import("@nu-art/db-api-shared").DB_Prototype, any> | import("../modules/ModuleBE_PushMessagesHistoryDB.js").ModuleBE_PushMessagesHistoryDB_Class | import("../modules/ModuleBE_PushPubSub.js").ModuleBE_PushPubSub_Class)[];
2
2
  export * from '../modules/ModuleBE_PushPubSub.js';
3
3
  export * from '../modules/PushKey.js';
@@ -1,5 +1 @@
1
- import { DefaultDef_Group } from '@nu-art/permissions-shared';
2
- import { DefaultDef_Domain, DefaultDef_Package } from '@nu-art/permissions-backend';
3
- export declare const PermissionsDomain_PushMessages: Readonly<DefaultDef_Domain>;
4
- export declare const PermissionsGroup_PushMessanger: Readonly<DefaultDef_Group>;
5
- export declare const PermissionsPackage_PushMessages: DefaultDef_Package;
1
+ export {};
@@ -1,45 +1,2 @@
1
- import { CreateDefaultAccessLevels, DefaultAccessLevel_Admin, toPermissionAccessLevelId, toPermissionDomainId, toPermissionGroupId } from '@nu-art/permissions-shared';
2
- import { ApiDef_PushMessages } from '@nu-art/push-pub-sub-shared';
3
- import { Domain_Developer } from '@nu-art/permissions-backend';
4
- import { ModuleBE_PushSubscriptionAPI } from '../modules/ModuleBE_PushSubscriptionDB.js';
5
- import { _values } from '@nu-art/ts-common';
6
- const Domain_PushMessages_ID = 'ce2e840bb639c34887ae19c2c7c82c11';
7
- const DefaultAccessLevel_Passive = Object.freeze({ name: 'Passive', value: 0 });
8
- const DefaultAccessLevel_Active = Object.freeze({ name: 'Active', value: 0 });
9
- const DefaultAccessLevel_Tester = Object.freeze({ name: 'Tester', value: 600 });
10
- const accessLevels = [{ ...DefaultAccessLevel_Passive }, { ...DefaultAccessLevel_Active }, { ...DefaultAccessLevel_Tester }];
11
- const _PermissionsDomain_PushMessages = {
12
- _id: toPermissionDomainId(Domain_PushMessages_ID),
13
- namespace: 'Push Messages',
14
- dbNames: [],
15
- levels: CreateDefaultAccessLevels(Domain_PushMessages_ID, accessLevels).map(level => ({ ...level, _id: toPermissionAccessLevelId(level._id) })),
16
- customApis: [
17
- ..._values(ModuleBE_PushSubscriptionAPI.crudApiDef).map(api => {
18
- return {
19
- path: api.path,
20
- accessLevel: DefaultAccessLevel_Admin.name,
21
- domainId: Domain_Developer._id
22
- };
23
- }),
24
- { path: ApiDef_PushMessages.test.path, accessLevel: DefaultAccessLevel_Admin.name, domainId: Domain_Developer._id },
25
- { path: ApiDef_PushMessages.register.path, accessLevel: DefaultAccessLevel_Active.name },
26
- { path: ApiDef_PushMessages.registerAll.path, accessLevel: DefaultAccessLevel_Active.name },
27
- { path: ApiDef_PushMessages.unregister.path, accessLevel: DefaultAccessLevel_Active.name },
28
- ]
29
- };
30
- export const PermissionsDomain_PushMessages = Object.freeze(_PermissionsDomain_PushMessages);
31
- const PermissionsGroupId_ProactivePushMessanger = '7f2c8925a6fdd2bcb9be3c1c0932deef';
32
- const _PermissionsGroup_ProactivePushMessanger = {
33
- _id: toPermissionGroupId(PermissionsGroupId_ProactivePushMessanger),
34
- name: 'Push Messanger',
35
- uiLabel: 'Push Messenger',
36
- accessLevels: {
37
- [PermissionsDomain_PushMessages.namespace]: DefaultAccessLevel_Tester.name,
38
- }
39
- };
40
- export const PermissionsGroup_PushMessanger = Object.freeze(_PermissionsGroup_ProactivePushMessanger);
41
- export const PermissionsPackage_PushMessages = {
42
- name: PermissionsDomain_PushMessages.namespace,
43
- domains: [PermissionsDomain_PushMessages],
44
- groups: [PermissionsGroup_PushMessanger]
45
- };
1
+ export {};
2
+ // Legacy domain-level permissions removed; use scope-based permissions.
@@ -1,6 +1,6 @@
1
1
  import type { DB_Prototype } from '@nu-art/db-api-shared';
2
2
  import { ModuleBE_BaseDB } from '@nu-art/db-api-backend';
3
- import { DatabaseDef_PushMessagesHistory } from '@nu-art/push-pub-sub-shared/push-messages-history/index';
3
+ import { DatabaseDef_PushMessagesHistory } from '@nu-art/push-pub-sub-shared/push-messages-history/types';
4
4
  export declare class ModuleBE_PushMessagesHistoryDB_Class extends ModuleBE_BaseDB<DatabaseDef_PushMessagesHistory & DB_Prototype, object> {
5
5
  constructor();
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { ModuleBE_BaseDB } from '@nu-art/db-api-backend';
2
- import { DBDef_PushMessagesHistory } from '@nu-art/push-pub-sub-shared/push-messages-history/index';
2
+ import { DBDef_PushMessagesHistory } from '@nu-art/push-pub-sub-shared/push-messages-history/db-def';
3
3
  export class ModuleBE_PushMessagesHistoryDB_Class extends ModuleBE_BaseDB {
4
4
  constructor() {
5
5
  super(DBDef_PushMessagesHistory);
@@ -52,7 +52,7 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
52
52
  import { arrayToMap, batchActionParallel, compare, currentTimeMillis, Day, filterDuplicates, filterKeys, KB, LogLevel, Module } from '@nu-art/ts-common';
53
53
  import { ModuleBE_Firebase } from '@nu-art/firebase-backend';
54
54
  import { ApiDef_PushMessages } from '@nu-art/push-pub-sub-shared';
55
- import { ApiHandler, HttpServer } from '@nu-art/http-server';
55
+ import { ApiHandler } from '@nu-art/http-server';
56
56
  import { MemKey_AccountId } from '@nu-art/user-account-backend';
57
57
  import { ModuleBE_PushSessionDB } from './ModuleBE_PushSessionDB.js';
58
58
  import { ModuleBE_PushSubscriptionDB } from './ModuleBE_PushSubscriptionDB.js';
@@ -68,10 +68,10 @@ let ModuleBE_PushPubSub_Class = (() => {
68
68
  return class ModuleBE_PushPubSub_Class extends _classSuper {
69
69
  static {
70
70
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
71
- _test_decorators = [ApiHandler(ApiDef_PushMessages.test, { httpServer: () => HttpServer.getDefault() })];
72
- _register_decorators = [ApiHandler(ApiDef_PushMessages.register, { httpServer: () => HttpServer.getDefault() })];
73
- _unregister_decorators = [ApiHandler(ApiDef_PushMessages.unregister, { httpServer: () => HttpServer.getDefault() })];
74
- _registerAll_decorators = [ApiHandler(ApiDef_PushMessages.registerAll, { httpServer: () => HttpServer.getDefault() })];
71
+ _test_decorators = [ApiHandler(ApiDef_PushMessages.test)];
72
+ _register_decorators = [ApiHandler(ApiDef_PushMessages.register)];
73
+ _unregister_decorators = [ApiHandler(ApiDef_PushMessages.unregister)];
74
+ _registerAll_decorators = [ApiHandler(ApiDef_PushMessages.registerAll)];
75
75
  __esDecorate(this, null, _test_decorators, { kind: "method", name: "test", static: false, private: false, access: { has: obj => "test" in obj, get: obj => obj.test }, metadata: _metadata }, null, _instanceExtraInitializers);
76
76
  __esDecorate(this, null, _register_decorators, { kind: "method", name: "register", static: false, private: false, access: { has: obj => "register" in obj, get: obj => obj.register }, metadata: _metadata }, null, _instanceExtraInitializers);
77
77
  __esDecorate(this, null, _unregister_decorators, { kind: "method", name: "unregister", static: false, private: false, access: { has: obj => "unregister" in obj, get: obj => obj.unregister }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -121,13 +121,13 @@ let ModuleBE_PushPubSub_Class = (() => {
121
121
  ...subscription
122
122
  });
123
123
  });
124
- await ModuleBE_PushSubscriptionDB.runTransaction(async (transaction) => {
125
- const data = await ModuleBE_PushSubscriptionDB.query.where({ pushSessionId: body.pushSessionId }, transaction);
124
+ await ModuleBE_PushSubscriptionDB.runTransaction(async () => {
125
+ const data = await ModuleBE_PushSubscriptionDB.query.where({ pushSessionId: body.pushSessionId });
126
126
  const toInsert = subscriptions.filter(s => !data.find(d => d.topic === s.topic && compare(s.filter, d.filter)));
127
127
  if (toInsert.length === 0)
128
128
  return;
129
129
  this.logWarning(`Subscribe on: `, toInsert);
130
- return ModuleBE_PushSubscriptionDB.create.all(toInsert, transaction);
130
+ return ModuleBE_PushSubscriptionDB.create.all(toInsert);
131
131
  });
132
132
  };
133
133
  // ---------------------------
@@ -137,8 +137,8 @@ let ModuleBE_PushPubSub_Class = (() => {
137
137
  if (messageLength > this.config.messageLengthLimit)
138
138
  throw HttpCodes._4XX.BAD_REQUEST(`Message content too long, ${messageLength} > ${this.config.messageLengthLimit}`);
139
139
  const messageSubscription = { topic: message.topic, props: message.filter };
140
- const newVar = async (transaction) => {
141
- let subscriptions = await ModuleBE_PushSubscriptionDB.query.where({ topic: message.topic }, transaction);
140
+ const newVar = async () => {
141
+ let subscriptions = await ModuleBE_PushSubscriptionDB.query.where({ topic: message.topic });
142
142
  this.logVerbose(`Found ${subscriptions.length} subscribers for message: `, messageSubscription);
143
143
  if (message.filter)
144
144
  subscriptions = subscriptions.filter(subscription => !subscription.filter || compare(subscription.filter, message.filter));
@@ -147,7 +147,7 @@ let ModuleBE_PushPubSub_Class = (() => {
147
147
  const sessionsIds = subscriptions.map(d => d.pushSessionId);
148
148
  // I get the tokens relative to those sessions (query)
149
149
  this.logDebug(`Sending push to:`, ` -- Sessions:`, sessionsIds, ` -- Message: `, message);
150
- const pushSessions = await batchActionParallel(sessionsIds, 10, async (elements) => ModuleBE_PushSessionDB.query.where({ pushSessionId: { $in: elements } }, transaction));
150
+ const pushSessions = await batchActionParallel(sessionsIds, 10, async (elements) => ModuleBE_PushSessionDB.query.where({ pushSessionId: { $in: elements } }));
151
151
  const map_sessionIdToSession = arrayToMap(pushSessions, session => session.pushSessionId);
152
152
  subscriptions = subscriptions.filter(subscription => map_sessionIdToSession[subscription.pushSessionId]);
153
153
  const messagesToCreate = subscriptions.map((subscription) => {
@@ -1,6 +1,6 @@
1
1
  import type { DB_Prototype } from '@nu-art/db-api-shared';
2
2
  import { ModuleBE_BaseDB } from '@nu-art/db-api-backend';
3
- import { DatabaseDef_PushSession } from '@nu-art/push-pub-sub-shared/push-session/index';
3
+ import { DatabaseDef_PushSession } from '@nu-art/push-pub-sub-shared/push-session/types';
4
4
  export declare class ModuleBE_PushSessionDB_Class extends ModuleBE_BaseDB<DatabaseDef_PushSession & DB_Prototype, object> {
5
5
  constructor();
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { ModuleBE_BaseDB } from '@nu-art/db-api-backend';
2
- import { DBDef_PushSession } from '@nu-art/push-pub-sub-shared/push-session/index';
2
+ import { DBDef_PushSession } from '@nu-art/push-pub-sub-shared/push-session/db-def';
3
3
  export class ModuleBE_PushSessionDB_Class extends ModuleBE_BaseDB {
4
4
  constructor() {
5
5
  super(DBDef_PushSession);
@@ -1,8 +1,8 @@
1
1
  import type { DB_Prototype } from '@nu-art/db-api-shared';
2
2
  import { ModuleBE_BaseDB } from '@nu-art/db-api-backend';
3
- import { DatabaseDef_PushSubscription } from '@nu-art/push-pub-sub-shared/push-subscription/index';
3
+ import { DatabaseDef_PushSubscription } from '@nu-art/push-pub-sub-shared/push-subscription/types';
4
4
  export declare class ModuleBE_PushSubscriptionDB_Class extends ModuleBE_BaseDB<DatabaseDef_PushSubscription & DB_Prototype, object> {
5
5
  constructor();
6
6
  }
7
7
  export declare const ModuleBE_PushSubscriptionDB: ModuleBE_PushSubscriptionDB_Class;
8
- export declare const ModuleBE_PushSubscriptionAPI: import("@nu-art/db-api-backend").ModuleBE_BaseApi_Class<DatabaseDef_PushSubscription & DB_Prototype>;
8
+ export declare const ModuleBE_PushSubscriptionAPI: import("@nu-art/db-api-backend").ModuleBE_BaseApi_Class<DatabaseDef_PushSubscription & DB_Prototype, any>;
@@ -1,5 +1,5 @@
1
1
  import { createApisForDBModule, ModuleBE_BaseDB } from '@nu-art/db-api-backend';
2
- import { DBDef_PushSubscription } from '@nu-art/push-pub-sub-shared/push-subscription/index';
2
+ import { DBDef_PushSubscription } from '@nu-art/push-pub-sub-shared/push-subscription/db-def';
3
3
  export class ModuleBE_PushSubscriptionDB_Class extends ModuleBE_BaseDB {
4
4
  constructor() {
5
5
  super(DBDef_PushSubscription);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nu-art/push-pub-sub-backend",
3
- "version": "0.500.0",
3
+ "version": "0.500.6",
4
4
  "description": "push-pub-sub Backend",
5
5
  "keywords": [
6
6
  "TacB0sS",
@@ -23,17 +23,17 @@
23
23
  "author": "TacB0sS",
24
24
  "scripts": {},
25
25
  "dependencies": {
26
- "@nu-art/push-pub-sub-shared": "0.500.0",
27
- "@nu-art/firebase-backend": "0.500.0",
28
- "@nu-art/firebase-shared": "0.500.0",
29
- "@nu-art/permissions-backend": "0.500.0",
30
- "@nu-art/permissions-shared": "0.500.0",
31
- "@nu-art/db-api-backend": "0.500.0",
32
- "@nu-art/db-api-shared": "0.500.0",
33
- "@nu-art/http-server": "{{THUNDERSTORM_VERSION}}",
34
- "@nu-art/ts-common": "0.500.0",
35
- "@nu-art/user-account-backend": "0.500.0",
36
- "@nu-art/user-account-shared": "0.500.0",
26
+ "@nu-art/push-pub-sub-shared": "0.500.6",
27
+ "@nu-art/firebase-backend": "0.500.6",
28
+ "@nu-art/firebase-shared": "0.500.6",
29
+ "@nu-art/permissions-backend": "0.500.6",
30
+ "@nu-art/permissions-shared": "0.500.6",
31
+ "@nu-art/db-api-backend": "0.500.6",
32
+ "@nu-art/db-api-shared": "0.500.6",
33
+ "@nu-art/http-server": "0.500.6",
34
+ "@nu-art/ts-common": "0.500.6",
35
+ "@nu-art/user-account-backend": "0.500.6",
36
+ "@nu-art/user-account-shared": "0.500.6",
37
37
  "firebase": "^11.9.0",
38
38
  "firebase-admin": "13.4.0",
39
39
  "moment": "^2.29.4",