@nu-art/ts-messaging-backend 0.401.8 → 0.500.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/ModuleBE_MessageDB.d.ts +4 -21
- package/ModuleBE_MessageDB.js +4 -20
- package/ModuleBE_TopicDB.d.ts +3 -13
- package/ModuleBE_TopicDB.js +1 -5
- package/consts.d.ts +1 -1
- package/consts.js +6 -5
- package/module-pack.d.ts +1 -1
- package/module-pack.js +5 -3
- package/package.json +9 -9
package/ModuleBE_MessageDB.d.ts
CHANGED
|
@@ -1,24 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Backend database module for managing messages
|
|
6
|
-
* Handles CRUD operations and database access for messages with auditing support
|
|
7
|
-
*/
|
|
8
|
-
export declare class ModuleBE_MessageDB_Class extends ModuleBE_BaseDB<DBProto_Message, Config> {
|
|
9
|
-
/**
|
|
10
|
-
* Initializes the message database module
|
|
11
|
-
* Registers version upgrade processor to convert email-based auditorIds to account _ids
|
|
12
|
-
*/
|
|
1
|
+
import { ModuleBE_BaseDB } from '@nu-art/db-api-backend';
|
|
2
|
+
import { DatabaseDef_Message } from '@nu-art/ts-messaging-shared';
|
|
3
|
+
export declare class ModuleBE_MessageDB_Class extends ModuleBE_BaseDB<DatabaseDef_Message> {
|
|
13
4
|
constructor();
|
|
14
|
-
|
|
15
|
-
* Pre-write hook that ensures auditor ID is set before saving message
|
|
16
|
-
*
|
|
17
|
-
* @param dbInstance - The message instance to be written
|
|
18
|
-
* @param originalDbInstance - The original message instance from database
|
|
19
|
-
* @param transaction - Optional Firestore transaction
|
|
20
|
-
*/
|
|
21
|
-
protected preWriteProcessing(dbInstance: DBProto_Message['uiType'], originalDbInstance: DBProto_Message['dbType'], transaction?: FirebaseFirestore.Transaction): Promise<void>;
|
|
5
|
+
protected preWriteProcessing(dbInstance: DatabaseDef_Message['uiType'], originalDbInstance: DatabaseDef_Message['dbType'], transaction?: FirebaseFirestore.Transaction): Promise<void>;
|
|
22
6
|
}
|
|
23
7
|
export declare const ModuleBE_MessageDB: ModuleBE_MessageDB_Class;
|
|
24
|
-
export {};
|
package/ModuleBE_MessageDB.js
CHANGED
|
@@ -1,36 +1,20 @@
|
|
|
1
|
-
import { ModuleBE_BaseDB
|
|
1
|
+
import { ModuleBE_BaseDB } from '@nu-art/db-api-backend';
|
|
2
2
|
import { DBDef_message } from '@nu-art/ts-messaging-shared';
|
|
3
3
|
import { getAuditorId, ModuleBE_AccountDB } from '@nu-art/user-account-backend';
|
|
4
4
|
import { arrayToMap } from '@nu-art/ts-common';
|
|
5
|
-
/**
|
|
6
|
-
* Backend database module for managing messages
|
|
7
|
-
* Handles CRUD operations and database access for messages with auditing support
|
|
8
|
-
*/
|
|
9
5
|
export class ModuleBE_MessageDB_Class extends ModuleBE_BaseDB {
|
|
10
|
-
/**
|
|
11
|
-
* Initializes the message database module
|
|
12
|
-
* Registers version upgrade processor to convert email-based auditorIds to account _ids
|
|
13
|
-
*/
|
|
14
6
|
constructor() {
|
|
15
7
|
super(DBDef_message);
|
|
16
|
-
//Convert existing auditorIds, emails, to be _id instead.
|
|
17
8
|
this.registerVersionUpgradeProcessor('1.0.0', async (items) => {
|
|
18
9
|
const emailToAccountMap = arrayToMap(await ModuleBE_AccountDB.query.where({}), _acc => _acc.email);
|
|
19
10
|
items.forEach(_item => {
|
|
20
|
-
|
|
11
|
+
const auditorId = _item._auditorId;
|
|
12
|
+
if (auditorId == null || !emailToAccountMap[auditorId])
|
|
21
13
|
return;
|
|
22
|
-
|
|
23
|
-
return _item._auditorId = emailToAccountMap[_item._auditorId]._id;
|
|
14
|
+
_item._auditorId = emailToAccountMap[auditorId]._id;
|
|
24
15
|
});
|
|
25
16
|
});
|
|
26
17
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Pre-write hook that ensures auditor ID is set before saving message
|
|
29
|
-
*
|
|
30
|
-
* @param dbInstance - The message instance to be written
|
|
31
|
-
* @param originalDbInstance - The original message instance from database
|
|
32
|
-
* @param transaction - Optional Firestore transaction
|
|
33
|
-
*/
|
|
34
18
|
async preWriteProcessing(dbInstance, originalDbInstance, transaction) {
|
|
35
19
|
if (!dbInstance._auditorId)
|
|
36
20
|
dbInstance._auditorId = await getAuditorId();
|
package/ModuleBE_TopicDB.d.ts
CHANGED
|
@@ -2,22 +2,12 @@
|
|
|
2
2
|
* Database module for managing topics in the messaging system
|
|
3
3
|
* Provides CRUD operations and database access for topics
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
* Configuration type for the Topic database module
|
|
9
|
-
* Extends the base database config with topic-specific settings
|
|
10
|
-
*/
|
|
11
|
-
type Config = DBApiConfigV3<DBProto_Topic> & {};
|
|
12
|
-
/**
|
|
13
|
-
* Backend database module class for topic management
|
|
14
|
-
* Handles database operations for topics using the base DB functionality
|
|
15
|
-
*/
|
|
16
|
-
export declare class ModuleBE_TopicDB_Class extends ModuleBE_BaseDB<DBProto_Topic, Config> {
|
|
5
|
+
import { ModuleBE_BaseDB } from '@nu-art/db-api-backend';
|
|
6
|
+
import { DatabaseDef_Topic } from '@nu-art/ts-messaging-shared';
|
|
7
|
+
export declare class ModuleBE_TopicDB_Class extends ModuleBE_BaseDB<DatabaseDef_Topic> {
|
|
17
8
|
constructor();
|
|
18
9
|
}
|
|
19
10
|
/**
|
|
20
11
|
* Singleton instance of the Topic database module
|
|
21
12
|
*/
|
|
22
13
|
export declare const ModuleBE_TopicDB: ModuleBE_TopicDB_Class;
|
|
23
|
-
export {};
|
package/ModuleBE_TopicDB.js
CHANGED
|
@@ -2,12 +2,8 @@
|
|
|
2
2
|
* Database module for managing topics in the messaging system
|
|
3
3
|
* Provides CRUD operations and database access for topics
|
|
4
4
|
*/
|
|
5
|
-
import { ModuleBE_BaseDB
|
|
5
|
+
import { ModuleBE_BaseDB } from '@nu-art/db-api-backend';
|
|
6
6
|
import { DBDef_Topic } from '@nu-art/ts-messaging-shared';
|
|
7
|
-
/**
|
|
8
|
-
* Backend database module class for topic management
|
|
9
|
-
* Handles database operations for topics using the base DB functionality
|
|
10
|
-
*/
|
|
11
7
|
export class ModuleBE_TopicDB_Class extends ModuleBE_BaseDB {
|
|
12
8
|
constructor() {
|
|
13
9
|
super(DBDef_Topic);
|
package/consts.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { DefaultDef_Group } from '@nu-art/permissions-shared';
|
|
|
2
2
|
import { DefaultDef_Package } from '@nu-art/permissions-backend';
|
|
3
3
|
export declare const DomainNamespace_Messaging = "Messaging";
|
|
4
4
|
export declare const Domain_Messaging: Readonly<{
|
|
5
|
-
_id: "
|
|
5
|
+
_id: import("@nu-art/db-api-shared").DB_UniqueId<"permissions--domain">;
|
|
6
6
|
namespace: "Messaging";
|
|
7
7
|
}>;
|
|
8
8
|
export declare const Permissions_Messaging: DefaultDef_Package;
|
package/consts.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { filterInstances } from '@nu-art/ts-common';
|
|
2
2
|
import { ModulePackBE_Messaging } from './module-pack.js';
|
|
3
3
|
import { DefaultAccessLevel_Admin, DefaultAccessLevel_Delete, DefaultAccessLevel_Read, DefaultAccessLevel_Write, DuplicateDefaultAccessLevels } from '@nu-art/permissions-shared';
|
|
4
|
+
import { asBrandedId } from '@nu-art/db-api-shared';
|
|
4
5
|
export const DomainNamespace_Messaging = 'Messaging';
|
|
5
6
|
export const Domain_Messaging = Object.freeze({
|
|
6
|
-
_id: '2de76d8ea55ba2fc8a7833520ab11339',
|
|
7
|
+
_id: asBrandedId('2de76d8ea55ba2fc8a7833520ab11339'),
|
|
7
8
|
namespace: DomainNamespace_Messaging
|
|
8
9
|
});
|
|
9
10
|
export const Permissions_Messaging = {
|
|
@@ -21,7 +22,7 @@ export const Permissions_Messaging = {
|
|
|
21
22
|
]
|
|
22
23
|
};
|
|
23
24
|
export const PermissionGroups_Messaging_Viewer = {
|
|
24
|
-
_id: 'e6bfc302f7ac81b8c61c97c4e0983b0f',
|
|
25
|
+
_id: asBrandedId('e6bfc302f7ac81b8c61c97c4e0983b0f'),
|
|
25
26
|
name: `${Domain_Messaging.namespace}/Read`,
|
|
26
27
|
uiLabel: `${Domain_Messaging.namespace}/Read`,
|
|
27
28
|
accessLevels: {
|
|
@@ -29,7 +30,7 @@ export const PermissionGroups_Messaging_Viewer = {
|
|
|
29
30
|
},
|
|
30
31
|
};
|
|
31
32
|
export const PermissionGroups_Messaging_Editor = {
|
|
32
|
-
_id: 'd9505032de4ae9f1036525676d689e1f',
|
|
33
|
+
_id: asBrandedId('d9505032de4ae9f1036525676d689e1f'),
|
|
33
34
|
name: `${Domain_Messaging.namespace}/Editor`,
|
|
34
35
|
uiLabel: `${Domain_Messaging.namespace}/Editor`,
|
|
35
36
|
accessLevels: {
|
|
@@ -37,7 +38,7 @@ export const PermissionGroups_Messaging_Editor = {
|
|
|
37
38
|
},
|
|
38
39
|
};
|
|
39
40
|
export const PermissionGroups_Messaging_Delete = {
|
|
40
|
-
_id: 'e0550d1113874a31e2e3223f258e1340',
|
|
41
|
+
_id: asBrandedId('e0550d1113874a31e2e3223f258e1340'),
|
|
41
42
|
name: `${Domain_Messaging.namespace}/Delete`,
|
|
42
43
|
uiLabel: `${Domain_Messaging.namespace}/Delete`,
|
|
43
44
|
accessLevels: {
|
|
@@ -45,7 +46,7 @@ export const PermissionGroups_Messaging_Delete = {
|
|
|
45
46
|
},
|
|
46
47
|
};
|
|
47
48
|
export const PermissionGroups_Messaging_Admin = {
|
|
48
|
-
_id: '89ebc208e794028ebbbf9ea91c508603',
|
|
49
|
+
_id: asBrandedId('89ebc208e794028ebbbf9ea91c508603'),
|
|
49
50
|
name: `${Domain_Messaging.namespace}/Admin`,
|
|
50
51
|
uiLabel: `${Domain_Messaging.namespace}/Admin`,
|
|
51
52
|
accessLevels: {
|
package/module-pack.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const ModulePackBE_Messaging: (import("./ModuleBE_MessageDB.js").ModuleBE_MessageDB_Class | import("./ModuleBE_TopicDB.js").ModuleBE_TopicDB_Class | import("@nu-art/
|
|
1
|
+
export declare const ModulePackBE_Messaging: (import("./ModuleBE_MessageDB.js").ModuleBE_MessageDB_Class | import("./ModuleBE_TopicDB.js").ModuleBE_TopicDB_Class | import("@nu-art/db-api-backend").ModuleBE_BaseApi_Class<import("@nu-art/ts-messaging-shared").DatabaseDef_Message> | import("@nu-art/db-api-backend").ModuleBE_BaseApi_Class<import("@nu-art/ts-messaging-shared").DatabaseDef_Topic>)[];
|
package/module-pack.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createApisForDBModule } from '@nu-art/db-api-backend';
|
|
2
2
|
import { ModuleBE_MessageDB } from './ModuleBE_MessageDB.js';
|
|
3
3
|
import { ModuleBE_TopicDB } from './ModuleBE_TopicDB.js';
|
|
4
4
|
export const ModulePackBE_Messaging = [
|
|
5
|
-
ModuleBE_MessageDB,
|
|
6
|
-
|
|
5
|
+
ModuleBE_MessageDB,
|
|
6
|
+
createApisForDBModule(ModuleBE_MessageDB),
|
|
7
|
+
ModuleBE_TopicDB,
|
|
8
|
+
createApisForDBModule(ModuleBE_TopicDB),
|
|
7
9
|
];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nu-art/ts-messaging-backend",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.500.0",
|
|
4
4
|
"description": "Backend module for Thunderstorm messaging system that handles topics, discussions and messages management with Firebase integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"TacB0sS",
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
"build": "tsc"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@nu-art/ts-common": "0.
|
|
35
|
-
"@nu-art/
|
|
36
|
-
"@nu-art/
|
|
37
|
-
"@nu-art/user-account-backend": "0.
|
|
38
|
-
"@nu-art/user-account-shared": "0.
|
|
39
|
-
"@nu-art/permissions-backend": "0.
|
|
40
|
-
"@nu-art/permissions-shared": "0.
|
|
41
|
-
"@nu-art/ts-messaging-shared": "0.
|
|
34
|
+
"@nu-art/ts-common": "0.500.0",
|
|
35
|
+
"@nu-art/db-api-backend": "0.500.0",
|
|
36
|
+
"@nu-art/db-api-shared": "0.500.0",
|
|
37
|
+
"@nu-art/user-account-backend": "0.500.0",
|
|
38
|
+
"@nu-art/user-account-shared": "0.500.0",
|
|
39
|
+
"@nu-art/permissions-backend": "0.500.0",
|
|
40
|
+
"@nu-art/permissions-shared": "0.500.0",
|
|
41
|
+
"@nu-art/ts-messaging-shared": "0.500.0",
|
|
42
42
|
"firebase": "^11.9.0",
|
|
43
43
|
"firebase-admin": "13.4.0",
|
|
44
44
|
"firebase-functions": "6.3.2",
|