@solidxai/core 0.1.12-beta.0 → 0.1.12-beta.10
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/commands/seed.command.d.ts.map +1 -1
- package/dist/commands/seed.command.js +10 -2
- package/dist/commands/seed.command.js.map +1 -1
- package/dist/constants/error-messages.d.ts +1 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +1 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/constants/media-file-types.d.ts +5 -0
- package/dist/constants/media-file-types.d.ts.map +1 -0
- package/dist/constants/media-file-types.js +27 -0
- package/dist/constants/media-file-types.js.map +1 -0
- package/dist/controllers/media.controller.d.ts +14 -11
- package/dist/controllers/media.controller.d.ts.map +1 -1
- package/dist/controllers/media.controller.js +72 -33
- package/dist/controllers/media.controller.js.map +1 -1
- package/dist/dtos/create-chatter-message.dto.d.ts +1 -0
- package/dist/dtos/create-chatter-message.dto.d.ts.map +1 -1
- package/dist/dtos/create-chatter-message.dto.js +7 -1
- package/dist/dtos/create-chatter-message.dto.js.map +1 -1
- package/dist/dtos/create-media.dto.d.ts +1 -0
- package/dist/dtos/create-media.dto.d.ts.map +1 -1
- package/dist/dtos/create-media.dto.js +7 -1
- package/dist/dtos/create-media.dto.js.map +1 -1
- package/dist/dtos/create-role-metadata.dto.d.ts +2 -0
- package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-role-metadata.dto.js +3 -1
- package/dist/dtos/create-role-metadata.dto.js.map +1 -1
- package/dist/dtos/post-chatter-message.dto.d.ts +1 -0
- package/dist/dtos/post-chatter-message.dto.d.ts.map +1 -1
- package/dist/dtos/post-chatter-message.dto.js +6 -1
- package/dist/dtos/post-chatter-message.dto.js.map +1 -1
- package/dist/dtos/update-chatter-message.dto.d.ts +1 -0
- package/dist/dtos/update-chatter-message.dto.d.ts.map +1 -1
- package/dist/dtos/update-chatter-message.dto.js +8 -1
- package/dist/dtos/update-chatter-message.dto.js.map +1 -1
- package/dist/dtos/update-chatter-note-message.dto.d.ts +1 -0
- package/dist/dtos/update-chatter-note-message.dto.d.ts.map +1 -1
- package/dist/dtos/update-chatter-note-message.dto.js +7 -1
- package/dist/dtos/update-chatter-note-message.dto.js.map +1 -1
- package/dist/dtos/update-media.dto.d.ts +1 -0
- package/dist/dtos/update-media.dto.d.ts.map +1 -1
- package/dist/dtos/update-media.dto.js +7 -1
- package/dist/dtos/update-media.dto.js.map +1 -1
- package/dist/entities/chatter-message.entity.d.ts +1 -0
- package/dist/entities/chatter-message.entity.d.ts.map +1 -1
- package/dist/entities/chatter-message.entity.js +5 -1
- package/dist/entities/chatter-message.entity.js.map +1 -1
- package/dist/entities/media.entity.js.map +1 -1
- package/dist/enums/auth-type.enum.d.ts +2 -1
- package/dist/enums/auth-type.enum.d.ts.map +1 -1
- package/dist/enums/auth-type.enum.js +1 -0
- package/dist/enums/auth-type.enum.js.map +1 -1
- package/dist/guards/authentication.guard.d.ts +3 -1
- package/dist/guards/authentication.guard.d.ts.map +1 -1
- package/dist/guards/authentication.guard.js +5 -1
- package/dist/guards/authentication.guard.js.map +1 -1
- package/dist/guards/media-signed-url.guard.d.ts +9 -0
- package/dist/guards/media-signed-url.guard.d.ts.map +1 -0
- package/dist/guards/media-signed-url.guard.js +49 -0
- package/dist/guards/media-signed-url.guard.js.map +1 -0
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +10 -13
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
- package/dist/helpers/solid-core-error-codes-provider.service.d.ts.map +1 -1
- package/dist/helpers/solid-core-error-codes-provider.service.js +9 -0
- package/dist/helpers/solid-core-error-codes-provider.service.js.map +1 -1
- package/dist/interfaces/chatter-mention-notification.interface.d.ts +27 -0
- package/dist/interfaces/chatter-mention-notification.interface.d.ts.map +1 -0
- package/dist/interfaces/chatter-mention-notification.interface.js +3 -0
- package/dist/interfaces/chatter-mention-notification.interface.js.map +1 -0
- package/dist/interfaces.d.ts +19 -1
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +2 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/chatter-mention-notification-email-queue-handler.service.d.ts +17 -0
- package/dist/jobs/chatter-mention-notification-email-queue-handler.service.d.ts.map +1 -0
- package/dist/jobs/chatter-mention-notification-email-queue-handler.service.js +106 -0
- package/dist/jobs/chatter-mention-notification-email-queue-handler.service.js.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.d.ts +12 -0
- package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.js +39 -0
- package/dist/jobs/database/chatter-mention-notification-email-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.d.ts +8 -0
- package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.d.ts.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.js +10 -0
- package/dist/jobs/database/chatter-mention-notification-email-queue-options-database.js.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.d.ts +20 -0
- package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.js +48 -0
- package/dist/jobs/database/chatter-mention-notification-email-subscriber-database.service.js.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.d.ts +12 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.d.ts.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.js +39 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.js.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.d.ts +8 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.d.ts.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.js +10 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-queue-options.js.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.d.ts +18 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.d.ts.map +1 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.js +45 -0
- package/dist/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.js.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.d.ts +12 -0
- package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.d.ts.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.js +39 -0
- package/dist/jobs/redis/chatter-mention-notification-email-publisher-redis.service.js.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.d.ts +8 -0
- package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.d.ts.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.js +10 -0
- package/dist/jobs/redis/chatter-mention-notification-email-queue-options-redis.js.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.d.ts +18 -0
- package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.d.ts.map +1 -0
- package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.js +45 -0
- package/dist/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.js.map +1 -0
- package/dist/repository/media.repository.d.ts.map +1 -1
- package/dist/repository/media.repository.js.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts +7 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +87 -3
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/permission-metadata-seeder.service.d.ts +1 -0
- package/dist/seeders/permission-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/permission-metadata-seeder.service.js +6 -1
- package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +95 -13
- package/dist/services/authentication.service.d.ts +2 -2
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +52 -43
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts +7 -1
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +85 -4
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/media-download-url.service.d.ts +22 -0
- package/dist/services/media-download-url.service.d.ts.map +1 -0
- package/dist/services/media-download-url.service.js +70 -0
- package/dist/services/media-download-url.service.js.map +1 -0
- package/dist/services/media-storage.utils.d.ts +24 -0
- package/dist/services/media-storage.utils.d.ts.map +1 -0
- package/dist/services/media-storage.utils.js +73 -0
- package/dist/services/media-storage.utils.js.map +1 -0
- package/dist/services/media.service.d.ts +20 -4
- package/dist/services/media.service.d.ts.map +1 -1
- package/dist/services/media.service.js +155 -55
- package/dist/services/media.service.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +4 -4
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +34 -63
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +5 -5
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.js +34 -38
- package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
- package/dist/services/role-metadata.service.d.ts +1 -0
- package/dist/services/role-metadata.service.d.ts.map +1 -1
- package/dist/services/role-metadata.service.js +8 -5
- package/dist/services/role-metadata.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +25 -1
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.js +1 -1
- package/dist/subscribers/audit.subscriber.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/seed.command.ts +12 -3
- package/src/constants/error-messages.ts +1 -0
- package/src/constants/media-file-types.ts +44 -0
- package/src/controllers/media.controller.ts +44 -24
- package/src/dtos/create-chatter-message.dto.ts +5 -0
- package/src/dtos/create-media.dto.ts +8 -3
- package/src/dtos/create-role-metadata.dto.ts +2 -0
- package/src/dtos/post-chatter-message.dto.ts +4 -0
- package/src/dtos/update-chatter-message.dto.ts +6 -0
- package/src/dtos/update-chatter-note-message.dto.ts +5 -0
- package/src/dtos/update-media.dto.ts +8 -3
- package/src/entities/chatter-message.entity.ts +3 -0
- package/src/entities/media.entity.ts +1 -1
- package/src/enums/auth-type.enum.ts +1 -0
- package/src/guards/authentication.guard.ts +3 -0
- package/src/guards/media-signed-url.guard.ts +41 -0
- package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +12 -24
- package/src/helpers/solid-core-error-codes-provider.service.ts +9 -0
- package/src/interfaces/chatter-mention-notification.interface.ts +29 -0
- package/src/interfaces.ts +20 -0
- package/src/jobs/chatter-mention-notification-email-queue-handler.service.ts +114 -0
- package/src/jobs/database/chatter-mention-notification-email-publisher-database.service.ts +23 -0
- package/src/jobs/database/chatter-mention-notification-email-queue-options-database.ts +9 -0
- package/src/jobs/database/chatter-mention-notification-email-subscriber-database.service.ts +32 -0
- package/src/jobs/rabbitmq/chatter-mention-notification-email-publisher.service.ts +23 -0
- package/src/jobs/rabbitmq/chatter-mention-notification-email-queue-options.ts +9 -0
- package/src/jobs/rabbitmq/chatter-mention-notification-email-subscriber.service.ts +30 -0
- package/src/jobs/redis/chatter-mention-notification-email-publisher-redis.service.ts +23 -0
- package/src/jobs/redis/chatter-mention-notification-email-queue-options-redis.ts +9 -0
- package/src/jobs/redis/chatter-mention-notification-email-subscriber-redis.service.ts +30 -0
- package/src/repository/media.repository.ts +1 -0
- package/src/seeders/module-metadata-seeder.service.ts +109 -3
- package/src/seeders/permission-metadata-seeder.service.ts +6 -1
- package/src/seeders/seed-data/email-templates/chatter-mention-notification.handlebars.html +200 -0
- package/src/seeders/seed-data/solid-core-metadata.json +95 -13
- package/src/services/authentication.service.ts +66 -55
- package/src/services/chatter-message.service.ts +97 -2
- package/src/services/media-download-url.service.ts +74 -0
- package/src/services/media-storage.utils.ts +70 -0
- package/src/services/media.service.ts +187 -59
- package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +49 -76
- package/src/services/mediaStorageProviders/file-storage-provider.ts +41 -48
- package/src/services/role-metadata.service.ts +17 -5
- package/src/solid-core.module.ts +35 -2
- package/src/subscribers/audit.subscriber.ts +1 -1
|
@@ -6,6 +6,7 @@ export declare class PermissionMetadataSeederService {
|
|
|
6
6
|
private readonly solidRegistry;
|
|
7
7
|
private readonly roleService;
|
|
8
8
|
private readonly logger;
|
|
9
|
+
private readonly adminPermissionExclusionPrefixes;
|
|
9
10
|
constructor(permissionRepo: PermissionMetadataRepository, solidRegistry: SolidRegistry, roleService: RoleMetadataService);
|
|
10
11
|
seed(): Promise<void>;
|
|
11
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/permission-metadata-seeder.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,qBACa,+BAA+B;
|
|
1
|
+
{"version":3,"file":"permission-metadata-seeder.service.d.ts","sourceRoot":"","sources":["../../src/seeders/permission-metadata-seeder.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,qBACa,+BAA+B;IAWxC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAb9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoD;IAC3E,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAI/C;gBAKiB,cAAc,EAAE,4BAA4B,EAC5C,aAAa,EAAE,aAAa,EAE5B,WAAW,EAAE,mBAAmB;IAG7C,IAAI;CA4CX"}
|
|
@@ -24,6 +24,11 @@ let PermissionMetadataSeederService = PermissionMetadataSeederService_1 = class
|
|
|
24
24
|
this.solidRegistry = solidRegistry;
|
|
25
25
|
this.roleService = roleService;
|
|
26
26
|
this.logger = new common_1.Logger(PermissionMetadataSeederService_1.name);
|
|
27
|
+
this.adminPermissionExclusionPrefixes = [
|
|
28
|
+
'ImportTransactionController.',
|
|
29
|
+
'ExportTemplateController.',
|
|
30
|
+
'ExportTransactionController.',
|
|
31
|
+
];
|
|
27
32
|
}
|
|
28
33
|
async seed() {
|
|
29
34
|
const controllers = this.solidRegistry.getControllers();
|
|
@@ -55,7 +60,7 @@ let PermissionMetadataSeederService = PermissionMetadataSeederService_1 = class
|
|
|
55
60
|
this.logger.error(error);
|
|
56
61
|
}
|
|
57
62
|
}
|
|
58
|
-
await this.roleService.
|
|
63
|
+
await this.roleService.addAllPermissionsToRoleExceptPrefixes("Admin", this.adminPermissionExclusionPrefixes);
|
|
59
64
|
}
|
|
60
65
|
};
|
|
61
66
|
exports.PermissionMetadataSeederService = PermissionMetadataSeederService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-metadata-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/permission-metadata-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwE;AACxE,8DAA2D;AAC3D,iGAA6F;AAC7F,6EAAwE;AAGjE,IAAM,+BAA+B,uCAArC,MAAM,+BAA+B;
|
|
1
|
+
{"version":3,"file":"permission-metadata-seeder.service.js","sourceRoot":"","sources":["../../src/seeders/permission-metadata-seeder.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwE;AACxE,8DAA2D;AAC3D,iGAA6F;AAC7F,6EAAwE;AAGjE,IAAM,+BAA+B,uCAArC,MAAM,+BAA+B;IAQ1C,YAGmB,cAA4C,EAC5C,aAA4B,EAE7C,WAAiD;QAHhC,mBAAc,GAAd,cAAc,CAA8B;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAE5B,gBAAW,GAAX,WAAW,CAAqB;QAblC,WAAM,GAAG,IAAI,eAAM,CAAC,iCAA+B,CAAC,IAAI,CAAC,CAAC;QAC1D,qCAAgC,GAAG;YAClD,8BAA8B;YAC9B,2BAA2B;YAC3B,8BAA8B;SAC/B,CAAC;IASE,CAAC;IAEL,KAAK,CAAC,IAAI;QAER,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAGxD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;gBAGnC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;oBAE9C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBAChC,MAAM,cAAc,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;oBAE1D,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;wBAC3D,KAAK,EAAE;4BACL,IAAI,EAAE,cAAc;yBACrB;qBACF,CAAC,CAAC;oBAEH,IAAI,kBAAkB,EAAE,CAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,cAAc,kBAAkB,CAAC,CAAC;oBAClE,CAAC;yBACI,CAAC;wBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,cAAc,gCAAgC,CAAC,CAAC;wBAE9E,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;4BAC/C,IAAI,EAAE,cAAc;yBACrB,CAAC,CAAC;wBACH,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAEhD,CAAC;gBACH,CAAC;YAEH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAGD,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,CAAC,OAAO,EAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC/G,CAAC;CACF,CAAA;AA7DY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;IAcR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC,CAAC,CAAA;qCAFb,6DAA4B;QAC7B,8BAAa;QAEf,2CAAmB;GAdxC,+BAA+B,CA6D3C","sourcesContent":["import { forwardRef, Inject, Injectable, Logger } from '@nestjs/common';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { PermissionMetadataRepository } from 'src/repository/permission-metadata.repository';\nimport { RoleMetadataService } from '../services/role-metadata.service';\n\n@Injectable()\nexport class PermissionMetadataSeederService {\n private readonly logger = new Logger(PermissionMetadataSeederService.name);\n private readonly adminPermissionExclusionPrefixes = [\n 'ImportTransactionController.',\n 'ExportTemplateController.',\n 'ExportTransactionController.',\n ];\n\n constructor(\n // @InjectRepository(PermissionMetadata)\n // private readonly permissionRepo: Repository<PermissionMetadata>,\n private readonly permissionRepo: PermissionMetadataRepository,\n private readonly solidRegistry: SolidRegistry,\n @Inject(forwardRef(() => RoleMetadataService))\n private readonly roleService: RoleMetadataService,\n ) { }\n\n async seed() {\n\n const controllers = this.solidRegistry.getControllers();\n\n // Loop over the countries and create them.\n for (let id = 0; id < controllers.length; id++) {\n try {\n const controller = controllers[id];\n // this.logger.log(`Resolving controller: ${controller.name}`);\n\n const methods = controller.methods;\n for (let mId = 0; mId < methods.length; mId++) {\n\n const methodName = methods[mId];\n const permissionName = `${controller.name}.${methodName}`;\n\n const existingPermission = await this.permissionRepo.findOne({\n where: {\n name: permissionName\n }\n });\n\n if (existingPermission) {\n this.logger.log(`Permission ${permissionName} already exists.`);\n }\n else {\n this.logger.log(`Permission ${permissionName} does not exist, creating new.`);\n\n const newPermission = this.permissionRepo.create({\n name: permissionName\n });\n await this.permissionRepo.save(newPermission);\n\n }\n }\n\n } catch (error: any) {\n this.logger.error(error);\n }\n }\n\n // Associate the Admin role with all existing permissions. \n await this.roleService.addAllPermissionsToRoleExceptPrefixes(\"Admin\", this.adminPermissionExclusionPrefixes);\n }\n}"]}
|
|
@@ -3911,6 +3911,18 @@
|
|
|
3911
3911
|
"encrypt": false,
|
|
3912
3912
|
"isSystem": false
|
|
3913
3913
|
},
|
|
3914
|
+
{
|
|
3915
|
+
"name": "messageBodyMentions",
|
|
3916
|
+
"displayName": "Message Body Mentions",
|
|
3917
|
+
"type": "longText",
|
|
3918
|
+
"ormType": "text",
|
|
3919
|
+
"required": false,
|
|
3920
|
+
"unique": false,
|
|
3921
|
+
"index": false,
|
|
3922
|
+
"private": false,
|
|
3923
|
+
"encrypt": false,
|
|
3924
|
+
"isSystem": false
|
|
3925
|
+
},
|
|
3914
3926
|
{
|
|
3915
3927
|
"name": "coModelEntityId",
|
|
3916
3928
|
"displayName": "CoModel Entity Id",
|
|
@@ -5294,6 +5306,9 @@
|
|
|
5294
5306
|
"FieldMetadataController.getSelectionDynamicValues",
|
|
5295
5307
|
"FieldMetadataController.getSelectionDynamicValue",
|
|
5296
5308
|
"FieldMetadataController.findFieldDefaultMetaData",
|
|
5309
|
+
"MediaController.findMany",
|
|
5310
|
+
"MediaController.findOne",
|
|
5311
|
+
"MediaController.download",
|
|
5297
5312
|
"SavedFiltersController.delete",
|
|
5298
5313
|
"SavedFiltersController.deleteMany",
|
|
5299
5314
|
"SavedFiltersController.findOne",
|
|
@@ -5309,14 +5324,6 @@
|
|
|
5309
5324
|
"ChatterMessageController.findMany",
|
|
5310
5325
|
"ChatterMessageController.markCompleted",
|
|
5311
5326
|
"ChatterMessageController.updateCustomNoteMessage",
|
|
5312
|
-
"ImportTransactionController.getImportTemplate",
|
|
5313
|
-
"ImportTransactionController.getImportInstructions",
|
|
5314
|
-
"ImportTransactionController.getImportMappingInfo",
|
|
5315
|
-
"ImportTransactionController.startImportSync",
|
|
5316
|
-
"ImportTransactionController.startImportAsync",
|
|
5317
|
-
"ImportTransactionController.exportFailedImportedImports",
|
|
5318
|
-
"ExportTemplateController.startExportSync",
|
|
5319
|
-
"ExportTemplateController.startExportAsync",
|
|
5320
5327
|
"ListOfValuesController.findMany",
|
|
5321
5328
|
"ListOfValuesController.findOne",
|
|
5322
5329
|
"SettingController.getAllSettings",
|
|
@@ -5336,6 +5343,31 @@
|
|
|
5336
5343
|
"agent:invoke"
|
|
5337
5344
|
]
|
|
5338
5345
|
},
|
|
5346
|
+
{
|
|
5347
|
+
"name": "Allowed To Import",
|
|
5348
|
+
"permissions": [
|
|
5349
|
+
"ImportTransactionController.create",
|
|
5350
|
+
"ImportTransactionController.delete",
|
|
5351
|
+
"ImportTransactionController.deleteMany",
|
|
5352
|
+
"ImportTransactionController.getImportTemplate",
|
|
5353
|
+
"ImportTransactionController.getImportInstructions",
|
|
5354
|
+
"ImportTransactionController.getImportMappingInfo",
|
|
5355
|
+
"ImportTransactionController.partialUpdate",
|
|
5356
|
+
"ImportTransactionController.startImportSync",
|
|
5357
|
+
"ImportTransactionController.startImportAsync",
|
|
5358
|
+
"ImportTransactionController.exportFailedImportedImports"
|
|
5359
|
+
]
|
|
5360
|
+
},
|
|
5361
|
+
{
|
|
5362
|
+
"name": "Allowed To Export",
|
|
5363
|
+
"permissions": [
|
|
5364
|
+
"ExportTemplateController.create",
|
|
5365
|
+
"ExportTemplateController.delete",
|
|
5366
|
+
"ExportTemplateController.findMany",
|
|
5367
|
+
"ExportTemplateController.startExportSync",
|
|
5368
|
+
"ExportTemplateController.startExportAsync"
|
|
5369
|
+
]
|
|
5370
|
+
},
|
|
5339
5371
|
{
|
|
5340
5372
|
"name": "Public",
|
|
5341
5373
|
"permissions": [
|
|
@@ -8595,16 +8627,15 @@
|
|
|
8595
8627
|
"attrs": {
|
|
8596
8628
|
"name": "roles",
|
|
8597
8629
|
"widget": "checkbox",
|
|
8598
|
-
"inlineCreateAutoSave": "
|
|
8630
|
+
"inlineCreateAutoSave": "false",
|
|
8599
8631
|
"renderModeCheckboxPreprocessor": "MenuItemMetadataRolesFormFieldPreprocessor",
|
|
8600
|
-
"inlineCreate": "
|
|
8632
|
+
"inlineCreate": "false",
|
|
8601
8633
|
"inlineCreateLayout": {
|
|
8602
8634
|
"type": "form",
|
|
8603
8635
|
"attrs": {
|
|
8604
8636
|
"name": "form-1",
|
|
8605
8637
|
"label": "User",
|
|
8606
|
-
"className": "grid"
|
|
8607
|
-
"width": "20vw"
|
|
8638
|
+
"className": "grid"
|
|
8608
8639
|
},
|
|
8609
8640
|
"children": [
|
|
8610
8641
|
{
|
|
@@ -14461,6 +14492,15 @@
|
|
|
14461
14492
|
"description": "Welcome email sent to users after signup.",
|
|
14462
14493
|
"active": true,
|
|
14463
14494
|
"type": "text"
|
|
14495
|
+
},
|
|
14496
|
+
{
|
|
14497
|
+
"name": "chatter-mention-notification",
|
|
14498
|
+
"displayName": "Default: Chatter Mention Notification",
|
|
14499
|
+
"body": "chatter-mention-notification.handlebars.html",
|
|
14500
|
+
"subject": "{{mentionedByDisplayName}} mentioned you in {{entityDisplayName}}",
|
|
14501
|
+
"description": "This template notifies users when they are mentioned in a custom chatter note.",
|
|
14502
|
+
"active": true,
|
|
14503
|
+
"type": "text"
|
|
14464
14504
|
}
|
|
14465
14505
|
],
|
|
14466
14506
|
"smsTemplates": [
|
|
@@ -14504,7 +14544,8 @@
|
|
|
14504
14544
|
"mediaStorageProviders": [
|
|
14505
14545
|
{
|
|
14506
14546
|
"name": "default-filesystem",
|
|
14507
|
-
"type": "filesystem"
|
|
14547
|
+
"type": "filesystem",
|
|
14548
|
+
"isPublic": true
|
|
14508
14549
|
},
|
|
14509
14550
|
{
|
|
14510
14551
|
"name": "default-aws-s3",
|
|
@@ -14540,6 +14581,47 @@
|
|
|
14540
14581
|
}
|
|
14541
14582
|
}
|
|
14542
14583
|
}
|
|
14584
|
+
},
|
|
14585
|
+
{
|
|
14586
|
+
"name": "model:Media-role:Internal User-own",
|
|
14587
|
+
"description": "Show Media records owned by the current user",
|
|
14588
|
+
"roleUserKey": "Internal User",
|
|
14589
|
+
"modelMetadataUserKey": "media",
|
|
14590
|
+
"securityRuleConfig": {
|
|
14591
|
+
"filters": {
|
|
14592
|
+
"createdBy": {
|
|
14593
|
+
"$eq": "$activeUserId"
|
|
14594
|
+
}
|
|
14595
|
+
}
|
|
14596
|
+
}
|
|
14597
|
+
},
|
|
14598
|
+
{
|
|
14599
|
+
"name": "model:Media-role:Internal User-public",
|
|
14600
|
+
"description": "Show public Media records",
|
|
14601
|
+
"roleUserKey": "Internal User",
|
|
14602
|
+
"modelMetadataUserKey": "media",
|
|
14603
|
+
"securityRuleConfig": {
|
|
14604
|
+
"filters": {
|
|
14605
|
+
"mediaStorageProviderMetadata": {
|
|
14606
|
+
"isPublic": {
|
|
14607
|
+
"$eq": true
|
|
14608
|
+
}
|
|
14609
|
+
}
|
|
14610
|
+
}
|
|
14611
|
+
}
|
|
14612
|
+
},
|
|
14613
|
+
{
|
|
14614
|
+
"name": "model:Media-role:Admin",
|
|
14615
|
+
"description": "Show All Media records",
|
|
14616
|
+
"roleUserKey": "Admin",
|
|
14617
|
+
"modelMetadataUserKey": "media",
|
|
14618
|
+
"securityRuleConfig": {
|
|
14619
|
+
"filters": {
|
|
14620
|
+
"id": {
|
|
14621
|
+
"$ne": "0"
|
|
14622
|
+
}
|
|
14623
|
+
}
|
|
14624
|
+
}
|
|
14543
14625
|
}
|
|
14544
14626
|
],
|
|
14545
14627
|
"modelSequences": [],
|
|
@@ -48,6 +48,7 @@ export declare class AuthenticationService {
|
|
|
48
48
|
constructor(userService: UserService, userRepository: UserRepository, hashingService: HashingService, jwtService: JwtService, activeSessionStorage: ActiveSessionStorageService, refreshTokenIdsStorage: RefreshTokenIdsStorageService, httpService: HttpService, mailServiceFactory: MailFactory, smsFactory: SmsFactory, whatsAppFactory: WhatsAppFactory, eventEmitter: EventEmitter2, settingService: SettingService, roleMetadataService: RoleMetadataService, userActivityHistoryService: UserActivityHistoryService, ssoCodeStorage: SsoCodeStorageService, dataSource: DataSource, solidRegistry: SolidRegistry);
|
|
49
49
|
private getCompanyLogo;
|
|
50
50
|
resolveUser(username: string, email: string): Promise<User>;
|
|
51
|
+
private resolveUserForPasswordSignIn;
|
|
51
52
|
updatePasswordDetails(user: User, newPassword: string): Promise<User>;
|
|
52
53
|
resolveUserByVerificationToken(token: string): Promise<User>;
|
|
53
54
|
private validateUserForPasswordLogin;
|
|
@@ -113,11 +114,10 @@ export declare class AuthenticationService {
|
|
|
113
114
|
};
|
|
114
115
|
}>;
|
|
115
116
|
private resolveLoginType;
|
|
117
|
+
private resolveUserForOtpEmailSignIn;
|
|
116
118
|
private findUserForLogin;
|
|
117
|
-
private findUserForLoginOrNull;
|
|
118
119
|
private assignLoginOtp;
|
|
119
120
|
private buildLoginOtpResponse;
|
|
120
|
-
private buildMaskedLoginIdentifier;
|
|
121
121
|
private notifyUserOnOtpInititateLogin;
|
|
122
122
|
otpConfirmLogin(confirmSignInDto: OTPConfirmOTPDto): Promise<{
|
|
123
123
|
accessToken: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.service.d.ts","sourceRoot":"","sources":["../../src/services/authentication.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"authentication.service.d.ts","sourceRoot":"","sources":["../../src/services/authentication.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,6 +79,24 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
|
|
|
79
79
|
},
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
+
async resolveUserForPasswordSignIn(username, email) {
|
|
83
|
+
const normalizedEmail = email?.trim().toLowerCase();
|
|
84
|
+
const query = (await this.userRepository
|
|
85
|
+
.createSecurityRuleAwareQueryBuilder("u"))
|
|
86
|
+
.leftJoinAndSelect("u.roles", "roles");
|
|
87
|
+
if (username) {
|
|
88
|
+
query.where("u.username = :username", { username });
|
|
89
|
+
}
|
|
90
|
+
if (normalizedEmail) {
|
|
91
|
+
if (username) {
|
|
92
|
+
query.orWhere("LOWER(u.email) = :email", { email: normalizedEmail });
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
query.where("LOWER(u.email) = :email", { email: normalizedEmail });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return await query.getOne();
|
|
99
|
+
}
|
|
82
100
|
async updatePasswordDetails(user, newPassword) {
|
|
83
101
|
user.password = await this.hashingService.hash(newPassword);
|
|
84
102
|
user.passwordScheme = this.hashingService.name();
|
|
@@ -123,18 +141,19 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
|
|
|
123
141
|
}
|
|
124
142
|
const entity = await provider.buildExtensionEntity(signUpDto);
|
|
125
143
|
const effectiveDto = { ...signUpDto, roles: provider.roles(signUpDto) };
|
|
126
|
-
return this.performSignUp(effectiveDto, entity, provider.repo);
|
|
144
|
+
return this.performSignUp(effectiveDto, entity, provider.repo, true);
|
|
127
145
|
}
|
|
128
146
|
return this.performSignUp(signUpDto, new user_entity_1.User(), this.userRepository);
|
|
129
147
|
}
|
|
130
|
-
async performSignUp(signUpDto, entity, repo) {
|
|
148
|
+
async performSignUp(signUpDto, entity, repo, preferEntityApiKeyFlag = false) {
|
|
131
149
|
try {
|
|
132
150
|
const onForcePasswordChange = this.settingService.getConfigValue("forceChangePasswordOnFirstLogin");
|
|
133
151
|
const activateUserOnRegistration = this.settingService.getConfigValue("activateUserOnRegistration");
|
|
134
152
|
const defaultRole = this.settingService.getConfigValue("defaultRole");
|
|
135
153
|
var { user, pwd, autoGeneratedPwd } = await this.populateForSignup(entity, signUpDto, activateUserOnRegistration, onForcePasswordChange);
|
|
136
154
|
const privateDto = signUpDto;
|
|
137
|
-
if (
|
|
155
|
+
if (!preferEntityApiKeyFlag &&
|
|
156
|
+
privateDto.isAllowedToGenerateApiKeys !== undefined) {
|
|
138
157
|
user.isAllowedToGenerateApiKeys = privateDto.isAllowedToGenerateApiKeys;
|
|
139
158
|
}
|
|
140
159
|
const savedUser = await repo.save(user);
|
|
@@ -590,7 +609,7 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
|
|
|
590
609
|
.filter(Boolean));
|
|
591
610
|
}
|
|
592
611
|
async signIn(signInDto) {
|
|
593
|
-
const user = await this.
|
|
612
|
+
const user = await this.resolveUserForPasswordSignIn(signInDto.username, signInDto.email);
|
|
594
613
|
if (!user) {
|
|
595
614
|
throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_CREDENTIALS);
|
|
596
615
|
}
|
|
@@ -637,15 +656,13 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
|
|
|
637
656
|
throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.PASSWORDLESS_REGISTRATION_DISABLED);
|
|
638
657
|
}
|
|
639
658
|
const type = this.resolveLoginType(signInDto);
|
|
640
|
-
const user = await this.
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
await this.notifyUserOnOtpInititateLogin(user, type);
|
|
646
|
-
}
|
|
659
|
+
const user = await this.findUserForLogin(type, signInDto.identifier);
|
|
660
|
+
const dummyOtp = this.getDummyOtpForUser(user);
|
|
661
|
+
if (!dummyOtp) {
|
|
662
|
+
await this.assignLoginOtp(user, type);
|
|
663
|
+
await this.notifyUserOnOtpInititateLogin(user, type);
|
|
647
664
|
}
|
|
648
|
-
return this.buildLoginOtpResponse(
|
|
665
|
+
return this.buildLoginOtpResponse(user, type);
|
|
649
666
|
}
|
|
650
667
|
resolveLoginType(signInDto) {
|
|
651
668
|
const setting = this.settingService.getConfigValue("passwordlessLoginValidateWhat");
|
|
@@ -662,14 +679,25 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
|
|
|
662
679
|
}
|
|
663
680
|
throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.INVALID_VERIFICATION_TYPE);
|
|
664
681
|
}
|
|
682
|
+
async resolveUserForOtpEmailSignIn(identifier, options = {}) {
|
|
683
|
+
const normalizedEmail = identifier?.trim().toLowerCase();
|
|
684
|
+
const query = await this.userRepository.createSecurityRuleAwareQueryBuilder("u");
|
|
685
|
+
if (options.withRoles) {
|
|
686
|
+
query.leftJoinAndSelect("u.roles", "roles");
|
|
687
|
+
}
|
|
688
|
+
query.where("u.username = :username", { username: identifier });
|
|
689
|
+
if (normalizedEmail) {
|
|
690
|
+
query.orWhere("LOWER(u.email) = :email", { email: normalizedEmail });
|
|
691
|
+
}
|
|
692
|
+
return await query.getOne();
|
|
693
|
+
}
|
|
665
694
|
async findUserForLogin(type, identifier, options = {}) {
|
|
666
|
-
const
|
|
667
|
-
?
|
|
668
|
-
: {
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
});
|
|
695
|
+
const user = type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL
|
|
696
|
+
? await this.resolveUserForOtpEmailSignIn(identifier, options)
|
|
697
|
+
: await this.userRepository.findOne({
|
|
698
|
+
where: [{ username: identifier }, { mobile: identifier }],
|
|
699
|
+
...(options.withRoles ? { relations: { roles: true } } : {}),
|
|
700
|
+
});
|
|
673
701
|
if (!user) {
|
|
674
702
|
throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND);
|
|
675
703
|
}
|
|
@@ -678,19 +706,6 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
|
|
|
678
706
|
}
|
|
679
707
|
return user;
|
|
680
708
|
}
|
|
681
|
-
async findUserForLoginOrNull(type, identifier, options = {}) {
|
|
682
|
-
try {
|
|
683
|
-
return await this.findUserForLogin(type, identifier, options);
|
|
684
|
-
}
|
|
685
|
-
catch (error) {
|
|
686
|
-
if (error instanceof common_1.UnauthorizedException &&
|
|
687
|
-
(error.message === error_messages_1.ERROR_MESSAGES.USER_NOT_FOUND ||
|
|
688
|
-
error.message === error_messages_1.ERROR_MESSAGES.USER_INACTIVE)) {
|
|
689
|
-
return null;
|
|
690
|
-
}
|
|
691
|
-
throw error;
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
709
|
async assignLoginOtp(user, type) {
|
|
695
710
|
const { token, expiresAt } = await this.otp();
|
|
696
711
|
if (type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL) {
|
|
@@ -710,18 +725,15 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
|
|
|
710
725
|
});
|
|
711
726
|
}
|
|
712
727
|
}
|
|
713
|
-
buildLoginOtpResponse(
|
|
714
|
-
const maskedIdentifier =
|
|
728
|
+
buildLoginOtpResponse(user, type) {
|
|
729
|
+
const maskedIdentifier = type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL
|
|
730
|
+
? { email: this.maskEmail(user.email) }
|
|
731
|
+
: { mobile: this.maskMobile(user.mobile) };
|
|
715
732
|
return {
|
|
716
733
|
message: success_messages_1.SUCCESS_MESSAGES.OTP_SENT_SUCCESS_LOGIN,
|
|
717
734
|
user: maskedIdentifier,
|
|
718
735
|
};
|
|
719
736
|
}
|
|
720
|
-
buildMaskedLoginIdentifier(type, identifier) {
|
|
721
|
-
return type === constants_1.PasswordlessLoginValidateWhatSources.EMAIL
|
|
722
|
-
? { email: this.maskEmail(identifier) }
|
|
723
|
-
: { mobile: this.maskMobile(identifier) };
|
|
724
|
-
}
|
|
725
737
|
async notifyUserOnOtpInititateLogin(user, loginType) {
|
|
726
738
|
const companyLogo = await this.getCompanyLogo();
|
|
727
739
|
const dummyOtp = this.getDummyOtpForUser(user);
|
|
@@ -798,12 +810,9 @@ let AuthenticationService = AuthenticationService_1 = class AuthenticationServic
|
|
|
798
810
|
type !== constants_1.PasswordlessLoginValidateWhatSources.MOBILE) {
|
|
799
811
|
throw new common_1.BadRequestException(error_messages_1.ERROR_MESSAGES.INVALID_VERIFICATION_TYPE);
|
|
800
812
|
}
|
|
801
|
-
const user = await this.
|
|
813
|
+
const user = await this.findUserForLogin(type, identifier, {
|
|
802
814
|
withRoles: true,
|
|
803
815
|
});
|
|
804
|
-
if (!user) {
|
|
805
|
-
throw new common_1.UnauthorizedException(error_messages_1.ERROR_MESSAGES.INVALID_OTP);
|
|
806
|
-
}
|
|
807
816
|
this.checkAccountBlocked(user);
|
|
808
817
|
const dummyOtp = this.getDummyOtpForUser(user);
|
|
809
818
|
if (dummyOtp) {
|