@solidxai/core 0.1.10-beta.26 → 0.1.10-beta.28
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/.claude/settings.local.json +15 -0
- package/CLAUDE.md +26 -0
- package/MICROSOFT_ACTIVE_DIRECTORY_OAUTH_FLOW.md +616 -0
- package/ai-interaction-cleanup.sql +53 -0
- 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/controllers/microsoft-active-directory-authentication.controller.d.ts +28 -0
- package/dist/controllers/microsoft-active-directory-authentication.controller.d.ts.map +1 -0
- package/dist/controllers/microsoft-active-directory-authentication.controller.js +122 -0
- package/dist/controllers/microsoft-active-directory-authentication.controller.js.map +1 -0
- package/dist/controllers/service.controller.d.ts +1 -5
- package/dist/controllers/service.controller.d.ts.map +1 -1
- package/dist/controllers/service.controller.js +6 -11
- package/dist/controllers/service.controller.js.map +1 -1
- package/dist/controllers/test.controller.d.ts +1 -6
- package/dist/controllers/test.controller.d.ts.map +1 -1
- package/dist/controllers/test.controller.js +2 -20
- package/dist/controllers/test.controller.js.map +1 -1
- package/dist/dtos/create-permission-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-permission-metadata.dto.js +2 -0
- package/dist/dtos/create-permission-metadata.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 +13 -1
- package/dist/dtos/create-role-metadata.dto.js.map +1 -1
- package/dist/dtos/import-instructions.dto.d.ts +2 -0
- package/dist/dtos/import-instructions.dto.d.ts.map +1 -1
- package/dist/dtos/import-instructions.dto.js +15 -1
- package/dist/dtos/import-instructions.dto.js.map +1 -1
- package/dist/dtos/update-permission-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/update-permission-metadata.dto.js +3 -1
- package/dist/dtos/update-permission-metadata.dto.js.map +1 -1
- package/dist/dtos/update-role-metadata.dto.d.ts +2 -0
- package/dist/dtos/update-role-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/update-role-metadata.dto.js +13 -1
- package/dist/dtos/update-role-metadata.dto.js.map +1 -1
- package/dist/entities/action-metadata.entity.d.ts.map +1 -1
- package/dist/entities/action-metadata.entity.js +1 -0
- package/dist/entities/action-metadata.entity.js.map +1 -1
- package/dist/entities/agent-event.entity.d.ts.map +1 -1
- package/dist/entities/agent-event.entity.js +1 -0
- package/dist/entities/agent-event.entity.js.map +1 -1
- package/dist/entities/agent-session.entity.d.ts.map +1 -1
- package/dist/entities/agent-session.entity.js +1 -0
- package/dist/entities/agent-session.entity.js.map +1 -1
- package/dist/entities/chatter-message.entity.d.ts.map +1 -1
- package/dist/entities/chatter-message.entity.js +2 -0
- package/dist/entities/chatter-message.entity.js.map +1 -1
- package/dist/entities/email-template.entity.d.ts.map +1 -1
- package/dist/entities/email-template.entity.js +1 -0
- package/dist/entities/email-template.entity.js.map +1 -1
- package/dist/entities/field-metadata.entity.d.ts.map +1 -1
- package/dist/entities/field-metadata.entity.js +4 -0
- package/dist/entities/field-metadata.entity.js.map +1 -1
- package/dist/entities/list-of-values.entity.d.ts.map +1 -1
- package/dist/entities/list-of-values.entity.js +4 -0
- package/dist/entities/list-of-values.entity.js.map +1 -1
- package/dist/entities/locale.entity.d.ts.map +1 -1
- package/dist/entities/locale.entity.js +1 -0
- package/dist/entities/locale.entity.js.map +1 -1
- package/dist/entities/media.entity.d.ts.map +1 -1
- package/dist/entities/media.entity.js +1 -0
- package/dist/entities/media.entity.js.map +1 -1
- package/dist/entities/menu-item-metadata.entity.d.ts.map +1 -1
- package/dist/entities/menu-item-metadata.entity.js +2 -0
- package/dist/entities/menu-item-metadata.entity.js.map +1 -1
- package/dist/entities/model-metadata.entity.d.ts.map +1 -1
- package/dist/entities/model-metadata.entity.js +3 -0
- package/dist/entities/model-metadata.entity.js.map +1 -1
- package/dist/entities/module-metadata.entity.d.ts.map +1 -1
- package/dist/entities/module-metadata.entity.js +2 -0
- package/dist/entities/module-metadata.entity.js.map +1 -1
- package/dist/entities/permission-metadata.entity.d.ts.map +1 -1
- package/dist/entities/permission-metadata.entity.js.map +1 -1
- package/dist/entities/role-metadata.entity.d.ts +2 -0
- package/dist/entities/role-metadata.entity.d.ts.map +1 -1
- package/dist/entities/role-metadata.entity.js +10 -2
- package/dist/entities/role-metadata.entity.js.map +1 -1
- package/dist/entities/saved-filters.entity.d.ts.map +1 -1
- package/dist/entities/saved-filters.entity.js +3 -0
- package/dist/entities/saved-filters.entity.js.map +1 -1
- package/dist/entities/scheduled-job.entity.d.ts.map +1 -1
- package/dist/entities/scheduled-job.entity.js +2 -0
- package/dist/entities/scheduled-job.entity.js.map +1 -1
- package/dist/entities/security-rule.entity.d.ts.map +1 -1
- package/dist/entities/security-rule.entity.js +1 -0
- package/dist/entities/security-rule.entity.js.map +1 -1
- package/dist/entities/sms-template.entity.d.ts.map +1 -1
- package/dist/entities/sms-template.entity.js +2 -0
- package/dist/entities/sms-template.entity.js.map +1 -1
- package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
- package/dist/entities/user-activity-history.entity.js +1 -0
- package/dist/entities/user-activity-history.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts +3 -0
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +15 -1
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/view-metadata.entity.d.ts.map +1 -1
- package/dist/entities/view-metadata.entity.js +2 -0
- package/dist/entities/view-metadata.entity.js.map +1 -1
- package/dist/helpers/microsoft-active-directory-oauth.helper.d.ts +34 -0
- package/dist/helpers/microsoft-active-directory-oauth.helper.d.ts.map +1 -0
- package/dist/helpers/microsoft-active-directory-oauth.helper.js +43 -0
- package/dist/helpers/microsoft-active-directory-oauth.helper.js.map +1 -0
- package/dist/helpers/module.helper.js +0 -5
- package/dist/helpers/module.helper.js.map +1 -1
- package/dist/helpers/user-helper.d.ts.map +1 -1
- package/dist/helpers/user-helper.js +4 -0
- package/dist/helpers/user-helper.js.map +1 -1
- package/dist/index.d.ts +1 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +0 -8
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.d.ts +14 -0
- package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.d.ts.map +1 -0
- package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.js +67 -0
- package/dist/passport-strategies/microsoft-active-directory-oauth.strategy.js.map +1 -0
- package/dist/seeders/seed-data/solid-core-metadata.json +317 -814
- package/dist/services/authentication.service.d.ts +12 -0
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +64 -0
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +11 -3
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +6 -0
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/settings/default-settings-provider.service.d.ts +100 -0
- package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
- package/dist/services/settings/default-settings-provider.service.js +56 -0
- package/dist/services/settings/default-settings-provider.service.js.map +1 -1
- package/dist/services/user.service.d.ts +2 -0
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +46 -0
- package/dist/services/user.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +4 -29
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/scheduled-job.subscriber.js +1 -1
- package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
- package/dist/subscribers/security-rule.subscriber.js +1 -1
- package/dist/subscribers/security-rule.subscriber.js.map +1 -1
- package/package.json +4 -4
- package/src/constants/error-messages.ts +2 -1
- package/src/controllers/microsoft-active-directory-authentication.controller.ts +104 -0
- package/src/controllers/service.controller.ts +4 -7
- package/src/controllers/test.controller.ts +0 -9
- package/src/dtos/create-permission-metadata.dto.ts +3 -0
- package/src/dtos/create-role-metadata.dto.ts +11 -1
- package/src/dtos/import-instructions.dto.ts +11 -1
- package/src/dtos/update-permission-metadata.dto.ts +4 -1
- package/src/dtos/update-role-metadata.dto.ts +21 -1
- package/src/entities/action-metadata.entity.ts +1 -0
- package/src/entities/agent-event.entity.ts +1 -0
- package/src/entities/agent-session.entity.ts +1 -0
- package/src/entities/chatter-message.entity.ts +2 -0
- package/src/entities/email-template.entity.ts +1 -0
- package/src/entities/field-metadata.entity.ts +4 -1
- package/src/entities/list-of-values.entity.ts +5 -1
- package/src/entities/locale.entity.ts +1 -0
- package/src/entities/media.entity.ts +1 -0
- package/src/entities/menu-item-metadata.entity.ts +2 -0
- package/src/entities/model-metadata.entity.ts +3 -0
- package/src/entities/module-metadata.entity.ts +2 -0
- package/src/entities/permission-metadata.entity.ts +2 -2
- package/src/entities/role-metadata.entity.ts +11 -3
- package/src/entities/saved-filters.entity.ts +3 -0
- package/src/entities/scheduled-job.entity.ts +2 -0
- package/src/entities/security-rule.entity.ts +1 -0
- package/src/entities/sms-template.entity.ts +2 -0
- package/src/entities/user-activity-history.entity.ts +1 -0
- package/src/entities/user.entity.ts +15 -1
- package/src/entities/view-metadata.entity.ts +2 -0
- package/src/helpers/microsoft-active-directory-oauth.helper.ts +83 -0
- package/src/helpers/module.helper.ts +5 -5
- package/src/helpers/user-helper.ts +5 -1
- package/src/index.ts +1 -5
- package/src/interfaces.ts +0 -8
- package/src/passport-strategies/microsoft-active-directory-oauth.strategy.ts +63 -0
- package/src/seeders/seed-data/solid-core-metadata.json +317 -814
- package/src/services/1.js +6 -0
- package/src/services/authentication.service.ts +78 -0
- package/src/services/crud-helper.service.ts +9 -3
- package/src/services/import-transaction.service.ts +11 -1
- package/src/services/settings/default-settings-provider.service.ts +59 -0
- package/src/services/user.service.ts +61 -0
- package/src/solid-core.module.ts +4 -31
- package/src/subscribers/scheduled-job.subscriber.ts +1 -1
- package/src/subscribers/security-rule.subscriber.ts +1 -1
- package/dist/commands/ingest.command.d.ts +0 -16
- package/dist/commands/ingest.command.d.ts.map +0 -1
- package/dist/commands/ingest.command.js +0 -50
- package/dist/commands/ingest.command.js.map +0 -1
- package/dist/controllers/ai-interaction.controller.d.ts +0 -29
- package/dist/controllers/ai-interaction.controller.d.ts.map +0 -1
- package/dist/controllers/ai-interaction.controller.js +0 -218
- package/dist/controllers/ai-interaction.controller.js.map +0 -1
- package/dist/dtos/create-ai-interaction.dto.d.ts +0 -23
- package/dist/dtos/create-ai-interaction.dto.d.ts.map +0 -1
- package/dist/dtos/create-ai-interaction.dto.js +0 -149
- package/dist/dtos/create-ai-interaction.dto.js.map +0 -1
- package/dist/dtos/invoke-ai-prompt.dto.d.ts +0 -5
- package/dist/dtos/invoke-ai-prompt.dto.d.ts.map +0 -1
- package/dist/dtos/invoke-ai-prompt.dto.js +0 -30
- package/dist/dtos/invoke-ai-prompt.dto.js.map +0 -1
- package/dist/dtos/update-ai-interaction.dto.d.ts +0 -24
- package/dist/dtos/update-ai-interaction.dto.d.ts.map +0 -1
- package/dist/dtos/update-ai-interaction.dto.js +0 -150
- package/dist/dtos/update-ai-interaction.dto.js.map +0 -1
- package/dist/entities/ai-interaction.entity.d.ts +0 -24
- package/dist/entities/ai-interaction.entity.d.ts.map +0 -1
- package/dist/entities/ai-interaction.entity.js +0 -116
- package/dist/entities/ai-interaction.entity.js.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +0 -11
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js +0 -39
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +0 -8
- package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-queue-options.js +0 -10
- package/dist/jobs/database/trigger-mcp-client-queue-options.js.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +0 -25
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +0 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +0 -222
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +0 -11
- package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js +0 -39
- package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.js.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts +0 -8
- package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.d.ts.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js +0 -10
- package/dist/jobs/rabbitmq/trigger-mcp-client-queue-options.js.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +0 -18
- package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts.map +0 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js +0 -103
- package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.js.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +0 -11
- package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js +0 -39
- package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.js.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts +0 -8
- package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.d.ts.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js +0 -10
- package/dist/jobs/redis/trigger-mcp-client-queue-options-redis.js.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +0 -18
- package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts.map +0 -1
- package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js +0 -103
- package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.js.map +0 -1
- package/dist/repository/ai-interaction.repository.d.ts +0 -12
- package/dist/repository/ai-interaction.repository.d.ts.map +0 -1
- package/dist/repository/ai-interaction.repository.js +0 -34
- package/dist/repository/ai-interaction.repository.js.map +0 -1
- package/dist/services/ai-interaction.service.d.ts +0 -23
- package/dist/services/ai-interaction.service.d.ts.map +0 -1
- package/dist/services/ai-interaction.service.js +0 -217
- package/dist/services/ai-interaction.service.js.map +0 -1
- package/dist/services/genai/ingest-metadata.service.d.ts +0 -38
- package/dist/services/genai/ingest-metadata.service.d.ts.map +0 -1
- package/dist/services/genai/ingest-metadata.service.js +0 -542
- package/dist/services/genai/ingest-metadata.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +0 -9
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +0 -39
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +0 -1
- package/dist/services/genai/r2r-helper.service.d.ts +0 -9
- package/dist/services/genai/r2r-helper.service.d.ts.map +0 -1
- package/dist/services/genai/r2r-helper.service.js +0 -40
- package/dist/services/genai/r2r-helper.service.js.map +0 -1
- package/dist-tests/api/authenticate.spec.js +0 -119
- package/dist-tests/api/authenticate.spec.js.map +0 -1
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +0 -97
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +0 -1
- package/dist-tests/api/ping.spec.js +0 -21
- package/dist-tests/api/ping.spec.js.map +0 -1
- package/dist-tests/helpers/auth.js +0 -41
- package/dist-tests/helpers/auth.js.map +0 -1
- package/dist-tests/helpers/env.js +0 -11
- package/dist-tests/helpers/env.js.map +0 -1
- package/docs/dashboards/AGENTIC_DASHBOARD_IMPLEMENTATION_PLAN.md +0 -438
- package/docs/dashboards/dashboard-curl-smoke-tests.txt +0 -146
- package/docs/dashboards/delete-legacy-dashboard-metadata.sql +0 -172
- package/docs/grouping-enhancements.md +0 -89
- package/docs/java-spring/README.md +0 -3
- package/docs/java-spring/solid-core-module-deep-dive-report.md +0 -1317
- package/docs/module-package-import-handoff.md +0 -691
- package/docs/seed-changes.md +0 -65
- package/docs/test-data-workflow.md +0 -200
- package/docs/type-declaration-import-issue.md +0 -24
- package/src/commands/ingest.command.ts +0 -36
- package/src/controllers/ai-interaction.controller.ts +0 -112
- package/src/dtos/create-ai-interaction.dto.ts +0 -89
- package/src/dtos/invoke-ai-prompt.dto.ts +0 -10
- package/src/dtos/update-ai-interaction.dto.ts +0 -93
- package/src/entities/ai-interaction.entity.ts +0 -71
- package/src/jobs/database/trigger-mcp-client-publisher-database.service.ts +0 -22
- package/src/jobs/database/trigger-mcp-client-queue-options.ts +0 -9
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +0 -278
- package/src/jobs/rabbitmq/trigger-mcp-client-publisher.service.ts +0 -22
- package/src/jobs/rabbitmq/trigger-mcp-client-queue-options.ts +0 -9
- package/src/jobs/rabbitmq/trigger-mcp-client-subscriber.service.ts +0 -104
- package/src/jobs/redis/trigger-mcp-client-publisher-redis.service.ts +0 -23
- package/src/jobs/redis/trigger-mcp-client-queue-options-redis.ts +0 -9
- package/src/jobs/redis/trigger-mcp-client-subscriber-redis.service.ts +0 -98
- package/src/repository/ai-interaction.repository.ts +0 -17
- package/src/services/ai-interaction.service.ts +0 -239
- package/src/services/genai/ingest-metadata.service.ts +0 -798
- package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +0 -33
- package/src/services/genai/r2r-helper.service.ts +0 -37
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
1. Do i need to create a storeStreams method for aws service too?
|
|
2
|
+
- Handle later
|
|
3
|
+
2. queues handling -> if queues is enabled by default, i.e triggerExport(exportTransactionEntity.id).
|
|
4
|
+
- startExport should either return the data or return the transaction id
|
|
5
|
+
3. How to handle scenarios wherein, nested related exist.(do i need to only get the userkey)
|
|
6
|
+
- show the userKey
|
|
@@ -1997,6 +1997,84 @@ export class AuthenticationService {
|
|
|
1997
1997
|
};
|
|
1998
1998
|
}
|
|
1999
1999
|
|
|
2000
|
+
async validateUserUsingMicrosoftActiveDirectory(user: User) {
|
|
2001
|
+
if (
|
|
2002
|
+
!user.microsoftActiveDirectoryAccessToken ||
|
|
2003
|
+
!user.microsoftActiveDirectoryId
|
|
2004
|
+
) {
|
|
2005
|
+
throw new UnauthorizedException(ERROR_MESSAGES.USER_NOT_FOUND);
|
|
2006
|
+
}
|
|
2007
|
+
|
|
2008
|
+
try {
|
|
2009
|
+
const response = await this.httpService.axiosRef.get(
|
|
2010
|
+
`https://graph.microsoft.com/v1.0/me?$select=id,displayName,mail,userPrincipalName`,
|
|
2011
|
+
{
|
|
2012
|
+
headers: {
|
|
2013
|
+
Authorization: `Bearer ${user.microsoftActiveDirectoryAccessToken}`,
|
|
2014
|
+
},
|
|
2015
|
+
},
|
|
2016
|
+
);
|
|
2017
|
+
const userProfile = response.data;
|
|
2018
|
+
const profileEmail = (userProfile.mail || userProfile.userPrincipalName)
|
|
2019
|
+
?.trim()
|
|
2020
|
+
.toLowerCase();
|
|
2021
|
+
const userEmail = user.email?.trim().toLowerCase();
|
|
2022
|
+
|
|
2023
|
+
if (
|
|
2024
|
+
userProfile.id === user.microsoftActiveDirectoryId &&
|
|
2025
|
+
(!userEmail || profileEmail === userEmail)
|
|
2026
|
+
) {
|
|
2027
|
+
return userProfile;
|
|
2028
|
+
} else {
|
|
2029
|
+
throw new UnauthorizedException(ERROR_MESSAGES.INVALID_USER_PROFILE);
|
|
2030
|
+
}
|
|
2031
|
+
} catch (error: any) {
|
|
2032
|
+
if (error instanceof UnauthorizedException) {
|
|
2033
|
+
throw error;
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
throw new UnauthorizedException(
|
|
2037
|
+
ERROR_MESSAGES.MICROSOFT_ACTIVE_DIRECTORY_OAUTH_PROFILE_FETCH_FAILED,
|
|
2038
|
+
);
|
|
2039
|
+
}
|
|
2040
|
+
}
|
|
2041
|
+
|
|
2042
|
+
async signInUsingMicrosoftActiveDirectory(accessCode: string) {
|
|
2043
|
+
const user = await this.userRepository.findOne({
|
|
2044
|
+
where: {
|
|
2045
|
+
accessCode: accessCode,
|
|
2046
|
+
},
|
|
2047
|
+
relations: {
|
|
2048
|
+
roles: true,
|
|
2049
|
+
},
|
|
2050
|
+
});
|
|
2051
|
+
|
|
2052
|
+
if (!user) {
|
|
2053
|
+
throw new UnauthorizedException(ERROR_MESSAGES.USER_NOT_FOUND);
|
|
2054
|
+
}
|
|
2055
|
+
this.checkAccountBlocked(user);
|
|
2056
|
+
|
|
2057
|
+
try {
|
|
2058
|
+
await this.validateUserUsingMicrosoftActiveDirectory(user);
|
|
2059
|
+
} catch (e) {
|
|
2060
|
+
await this.incrementFailedAttempts(user);
|
|
2061
|
+
throw e;
|
|
2062
|
+
}
|
|
2063
|
+
|
|
2064
|
+
await this.resetFailedAttempts(user);
|
|
2065
|
+
const tokens = await this.generateTokens(user);
|
|
2066
|
+
return {
|
|
2067
|
+
user: {
|
|
2068
|
+
email: user.email,
|
|
2069
|
+
mobile: user.mobile,
|
|
2070
|
+
username: user.username,
|
|
2071
|
+
id: user.id,
|
|
2072
|
+
roles: user.roles.map((role) => role.name),
|
|
2073
|
+
},
|
|
2074
|
+
...tokens,
|
|
2075
|
+
};
|
|
2076
|
+
}
|
|
2077
|
+
|
|
2000
2078
|
async signInUsingApple(accessCode: string) {
|
|
2001
2079
|
const user = await this.userRepository.findOne({
|
|
2002
2080
|
where: {
|
|
@@ -284,8 +284,10 @@ export class CrudHelperService {
|
|
|
284
284
|
const value = orderOptions[key] as 'ASC' | 'DESC';
|
|
285
285
|
const field = String(key);
|
|
286
286
|
if (field.includes('.')) {
|
|
287
|
-
const { alias, property } = this.ensureRelationPathJoined(qb, entityAlias, field.split('.'));
|
|
288
|
-
|
|
287
|
+
const { alias, property, created } = this.ensureRelationPathJoined(qb, entityAlias, field.split('.'));
|
|
288
|
+
const orderColumn = `${alias}.${property}`;
|
|
289
|
+
qb.addOrderBy(orderColumn, value);
|
|
290
|
+
if (created) qb.addSelect(orderColumn);
|
|
289
291
|
} else {
|
|
290
292
|
qb.addOrderBy(`${entityAlias}.${field}`, value);
|
|
291
293
|
}
|
|
@@ -347,6 +349,7 @@ export class CrudHelperService {
|
|
|
347
349
|
qb.expressionMap?.aliases?.find(a => a.metadata)?.name ||
|
|
348
350
|
qb.expressionMap?.aliases?.[0]?.name;
|
|
349
351
|
let parentAlias = mainAlias || rootAlias;
|
|
352
|
+
let leafJoinCreated = false;
|
|
350
353
|
for (let i = 0; i < pathParts.length - 1; i++) {
|
|
351
354
|
const part = pathParts[i];
|
|
352
355
|
const joinProperty = `${parentAlias}.${part}`;
|
|
@@ -354,10 +357,13 @@ export class CrudHelperService {
|
|
|
354
357
|
const joinAlias = existingAlias ?? this.sanitizeAlias(`${parentAlias}_${part}`);
|
|
355
358
|
if (!existingAlias && !this.isRelationJoined(qb, joinProperty) && !this.isAliasJoined(qb, joinAlias)) {
|
|
356
359
|
qb.leftJoin(joinProperty, joinAlias);
|
|
360
|
+
leafJoinCreated = true;
|
|
361
|
+
} else {
|
|
362
|
+
leafJoinCreated = false;
|
|
357
363
|
}
|
|
358
364
|
parentAlias = joinAlias;
|
|
359
365
|
}
|
|
360
|
-
return { alias: parentAlias, property: pathParts[pathParts.length - 1] };
|
|
366
|
+
return { alias: parentAlias, property: pathParts[pathParts.length - 1], created: leafJoinCreated };
|
|
361
367
|
}
|
|
362
368
|
|
|
363
369
|
private getDriver(qb: SelectQueryBuilder<any>) {
|
|
@@ -27,6 +27,7 @@ import { getUserExcludedFields } from 'src/helpers/user-helper';
|
|
|
27
27
|
import { ActiveUserData } from 'src/interfaces/active-user-data.interface';
|
|
28
28
|
import { upperFirst, camelCase } from 'lodash';
|
|
29
29
|
import { classify } from '../helpers/string.helper';
|
|
30
|
+
import type { SolidCoreSetting } from './settings/default-settings-provider.service';
|
|
30
31
|
|
|
31
32
|
interface ImportTemplateFileInfo {
|
|
32
33
|
stream: NodeJS.ReadableStream;
|
|
@@ -180,11 +181,20 @@ export class ImportTransactionService extends CRUDService<ImportTransaction> {
|
|
|
180
181
|
// Replace modelMetadata.fields with combined (child + parent) fields
|
|
181
182
|
// modelMetadata.fields = allFields;
|
|
182
183
|
|
|
184
|
+
const dateFieldFormat =
|
|
185
|
+
(this.settingService.getConfigValue<SolidCoreSetting>('dateFormat') as string | null) ??
|
|
186
|
+
'YYYY-MM-DD';
|
|
187
|
+
const dateTimeFieldFormat =
|
|
188
|
+
(this.settingService.getConfigValue<SolidCoreSetting>('dateTimeFormat') as string | null) ??
|
|
189
|
+
'YYYY-MM-DD HH:mm:ss';
|
|
190
|
+
|
|
183
191
|
// Create the standard import instructions
|
|
184
192
|
const standardInstructions: StandardImportInstructionsResponseDto = {
|
|
185
193
|
requiredFields: [],
|
|
186
194
|
dateFields: [],
|
|
195
|
+
dateFieldFormat,
|
|
187
196
|
dateTimeFields: [],
|
|
197
|
+
dateTimeFieldFormat,
|
|
188
198
|
numberFields: [],
|
|
189
199
|
emailFields: [],
|
|
190
200
|
regexFields: [],
|
|
@@ -792,4 +802,4 @@ export class ImportTransactionService extends CRUDService<ImportTransaction> {
|
|
|
792
802
|
const relatedRecordsIds = relatedRecordsResult.records.map(record => record.id);
|
|
793
803
|
return relatedRecordsIds;
|
|
794
804
|
}
|
|
795
|
-
}
|
|
805
|
+
}
|
|
@@ -43,6 +43,16 @@ const getSolidCoreSettings = (isProd: boolean) =>
|
|
|
43
43
|
sortOrder: 50,
|
|
44
44
|
controlType: "boolean",
|
|
45
45
|
},
|
|
46
|
+
{
|
|
47
|
+
moduleName: "solid-core",
|
|
48
|
+
key: "iamMicrosoftActiveDirectoryOAuthEnabled",
|
|
49
|
+
value: false,
|
|
50
|
+
level: SettingLevel.SystemAdminEditable,
|
|
51
|
+
label: "Allow Login / Signup With Microsoft Active Directory",
|
|
52
|
+
group: "authentication-settings",
|
|
53
|
+
sortOrder: 50,
|
|
54
|
+
controlType: "boolean",
|
|
55
|
+
},
|
|
46
56
|
{
|
|
47
57
|
moduleName: "solid-core",
|
|
48
58
|
key: "authPagesLayout",
|
|
@@ -703,6 +713,55 @@ const getSolidCoreSettings = (isProd: boolean) =>
|
|
|
703
713
|
level: SettingLevel.SystemAdminReadonly,
|
|
704
714
|
},
|
|
705
715
|
|
|
716
|
+
// microsoft-active-directory-oauth-settings-provider.service.ts
|
|
717
|
+
{
|
|
718
|
+
moduleName: "solid-core",
|
|
719
|
+
key: "MICROSOFT_ACTIVE_DIRECTORY_CLIENT_ID",
|
|
720
|
+
value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CLIENT_ID,
|
|
721
|
+
level: SettingLevel.SystemAdminReadonly,
|
|
722
|
+
label: "Microsoft Active Directory OAuth Client ID",
|
|
723
|
+
group: "oauth-settings",
|
|
724
|
+
sortOrder: 70,
|
|
725
|
+
controlType: "shortText",
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
moduleName: "solid-core",
|
|
729
|
+
key: "MICROSOFT_ACTIVE_DIRECTORY_CLIENT_SECRET",
|
|
730
|
+
value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CLIENT_SECRET,
|
|
731
|
+
level: SettingLevel.SystemEnv,
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
moduleName: "solid-core",
|
|
735
|
+
key: "MICROSOFT_ACTIVE_DIRECTORY_TENANT_ID",
|
|
736
|
+
value:
|
|
737
|
+
process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_TENANT_ID || "common",
|
|
738
|
+
level: SettingLevel.SystemAdminReadonly,
|
|
739
|
+
label: "Microsoft Active Directory OAuth Tenant ID",
|
|
740
|
+
group: "oauth-settings",
|
|
741
|
+
sortOrder: 80,
|
|
742
|
+
controlType: "shortText",
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
moduleName: "solid-core",
|
|
746
|
+
key: "MICROSOFT_ACTIVE_DIRECTORY_CALLBACK_URL",
|
|
747
|
+
value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_CALLBACK_URL,
|
|
748
|
+
level: SettingLevel.SystemAdminReadonly,
|
|
749
|
+
label: "Microsoft Active Directory OAuth Callback URL",
|
|
750
|
+
group: "oauth-settings",
|
|
751
|
+
sortOrder: 90,
|
|
752
|
+
controlType: "shortText",
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
moduleName: "solid-core",
|
|
756
|
+
key: "MICROSOFT_ACTIVE_DIRECTORY_REDIRECT_URL",
|
|
757
|
+
value: process.env.IAM_MICROSOFT_ACTIVE_DIRECTORY_OAUTH_REDIRECT_URL,
|
|
758
|
+
level: SettingLevel.SystemAdminReadonly,
|
|
759
|
+
label: "Microsoft Active Directory OAuth Redirect URL",
|
|
760
|
+
group: "oauth-settings",
|
|
761
|
+
sortOrder: 100,
|
|
762
|
+
controlType: "shortText",
|
|
763
|
+
},
|
|
764
|
+
|
|
706
765
|
// iam-settings-provider.service.ts
|
|
707
766
|
{
|
|
708
767
|
moduleName: "solid-core",
|
|
@@ -30,6 +30,23 @@ export class UserService extends CRUDService<User> {
|
|
|
30
30
|
return normalized || "facebook_user";
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
private buildMicrosoftActiveDirectoryUsernameBase(
|
|
34
|
+
email?: string,
|
|
35
|
+
providerId?: string,
|
|
36
|
+
name?: string,
|
|
37
|
+
): string {
|
|
38
|
+
const source =
|
|
39
|
+
email ||
|
|
40
|
+
name ||
|
|
41
|
+
(providerId ? `microsoft_active_directory_${providerId}` : "");
|
|
42
|
+
const normalized = source
|
|
43
|
+
.trim()
|
|
44
|
+
.toLowerCase()
|
|
45
|
+
.replace(/[^a-z0-9@._-]+/g, "_")
|
|
46
|
+
.replace(/^_+|_+$/g, "");
|
|
47
|
+
return normalized || "microsoft_active_directory_user";
|
|
48
|
+
}
|
|
49
|
+
|
|
33
50
|
private async resolveUniqueUsername(
|
|
34
51
|
preferredUsername: string,
|
|
35
52
|
// fallbackUsername: string,
|
|
@@ -397,6 +414,50 @@ export class UserService extends CRUDService<User> {
|
|
|
397
414
|
return user;
|
|
398
415
|
}
|
|
399
416
|
|
|
417
|
+
async resolveUserOnOauthMicrosoftActiveDirectory(
|
|
418
|
+
oauthUserDto: OauthUserDto,
|
|
419
|
+
): Promise<User> {
|
|
420
|
+
const user = await this.repo.findOne({
|
|
421
|
+
where: {
|
|
422
|
+
email: oauthUserDto.email,
|
|
423
|
+
},
|
|
424
|
+
relations: {
|
|
425
|
+
roles: true,
|
|
426
|
+
},
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
if (!user) {
|
|
430
|
+
const newUser = new User();
|
|
431
|
+
newUser.username = oauthUserDto.email;
|
|
432
|
+
newUser.email = oauthUserDto.email;
|
|
433
|
+
newUser.fullName = oauthUserDto.name;
|
|
434
|
+
newUser.lastLoginProvider = oauthUserDto.provider;
|
|
435
|
+
newUser.accessCode = oauthUserDto.accessCode;
|
|
436
|
+
newUser.microsoftActiveDirectoryAccessToken = oauthUserDto.accessToken;
|
|
437
|
+
newUser.microsoftActiveDirectoryId = oauthUserDto.providerId;
|
|
438
|
+
newUser.microsoftActiveDirectoryProfilePicture = oauthUserDto.picture;
|
|
439
|
+
|
|
440
|
+
const savedUser = await this.repo.save(newUser);
|
|
441
|
+
|
|
442
|
+
await this.initializeRolesForNewUser(
|
|
443
|
+
[this.settingService.getConfigValue<SolidCoreSetting>("defaultRole")],
|
|
444
|
+
savedUser,
|
|
445
|
+
);
|
|
446
|
+
} else {
|
|
447
|
+
const entity = await this.repo.preload({
|
|
448
|
+
id: user.id,
|
|
449
|
+
lastLoginProvider: oauthUserDto.provider,
|
|
450
|
+
accessCode: oauthUserDto.accessCode,
|
|
451
|
+
microsoftActiveDirectoryAccessToken: oauthUserDto.accessToken,
|
|
452
|
+
microsoftActiveDirectoryId: oauthUserDto.providerId,
|
|
453
|
+
microsoftActiveDirectoryProfilePicture: oauthUserDto.picture,
|
|
454
|
+
});
|
|
455
|
+
|
|
456
|
+
await this.repo.save(entity);
|
|
457
|
+
}
|
|
458
|
+
return user;
|
|
459
|
+
}
|
|
460
|
+
|
|
400
461
|
async findUsersByRole(
|
|
401
462
|
roleName: string,
|
|
402
463
|
relations: any = {},
|
package/src/solid-core.module.ts
CHANGED
|
@@ -66,8 +66,10 @@ import { ActionMetadataService } from "./services/action-metadata.service";
|
|
|
66
66
|
|
|
67
67
|
import { FacebookAuthenticationController } from "./controllers/facebook-authentication.controller";
|
|
68
68
|
import { MicrosoftAuthenticationController } from "./controllers/microsoft-authentication.controller";
|
|
69
|
+
import { MicrosoftActiveDirectoryAuthenticationController } from "./controllers/microsoft-active-directory-authentication.controller";
|
|
69
70
|
import { FacebookOAuthStrategy } from "./passport-strategies/facebook-oauth.strategy";
|
|
70
71
|
import { MicrosoftOAuthStrategy } from "./passport-strategies/microsoft-oauth.strategy";
|
|
72
|
+
import { MicrosoftActiveDirectoryOAuthStrategy } from "./passport-strategies/microsoft-active-directory-oauth.strategy";
|
|
71
73
|
|
|
72
74
|
import { GupshupOtpWhatsappService } from "./services/whatsapp/GupshupOtpWhatsappService";
|
|
73
75
|
import { MetaCloudWhatsappService } from "./services/whatsapp/MetaCloudWhatsappService";
|
|
@@ -140,8 +142,6 @@ import { SmtpEmailQueuePublisherRedis } from "./jobs/redis/smtp-email-publisher-
|
|
|
140
142
|
import { SmtpEmailQueueSubscriberRedis } from "./jobs/redis/smtp-email-subscriber-redis.service";
|
|
141
143
|
import { Three60WhatsappQueuePublisherRedis } from "./jobs/redis/three60-whatsapp-publisher-redis.service";
|
|
142
144
|
import { Three60WhatsappQueueSubscriberRedis } from "./jobs/redis/three60-whatsapp-subscriber-redis.service";
|
|
143
|
-
import { TriggerMcpClientPublisherRedis } from "./jobs/redis/trigger-mcp-client-publisher-redis.service";
|
|
144
|
-
import { TriggerMcpClientSubscriberRedis } from "./jobs/redis/trigger-mcp-client-subscriber-redis.service";
|
|
145
145
|
import { TwilioSmsQueuePublisherRedis } from "./jobs/redis/twilio-sms-publisher-redis.service";
|
|
146
146
|
import { TwilioSmsQueueSubscriberRedis } from "./jobs/redis/twilio-sms-subscriber-redis.service";
|
|
147
147
|
import { UserRegistrationListener } from "./listeners/user-registration.listener";
|
|
@@ -184,7 +184,6 @@ import { PermissionMetadataService } from "./services/permission-metadata.servic
|
|
|
184
184
|
|
|
185
185
|
import { ScheduleModule } from "@nestjs/schedule";
|
|
186
186
|
import { ClsModule } from "nestjs-cls";
|
|
187
|
-
import { AiInteractionController } from "./controllers/ai-interaction.controller";
|
|
188
187
|
import { ChatterMessageDetailsController } from "./controllers/chatter-message-details.controller";
|
|
189
188
|
import { ChatterMessageController } from "./controllers/chatter-message.controller";
|
|
190
189
|
|
|
@@ -207,7 +206,6 @@ import { InfoService } from './services/info.service';
|
|
|
207
206
|
import { UserActivityHistoryController } from './controllers/user-activity-history.controller';
|
|
208
207
|
import { UserViewMetadataController } from './controllers/user-view-metadata.controller';
|
|
209
208
|
import { UserController } from './controllers/user.controller';
|
|
210
|
-
import { AiInteraction } from './entities/ai-interaction.entity';
|
|
211
209
|
import { ChatterMessageDetails } from './entities/chatter-message-details.entity';
|
|
212
210
|
import { ChatterMessage } from './entities/chatter-message.entity';
|
|
213
211
|
|
|
@@ -248,7 +246,6 @@ import { TwilioSmsQueuePublisherDatabase } from "./jobs/database/twilio-sms-publ
|
|
|
248
246
|
import { TwilioSmsQueueSubscriberDatabase } from "./jobs/database/twilio-sms-subscriber-database.service";
|
|
249
247
|
|
|
250
248
|
// import { ThrottlerModule } from '@nestjs/throttler';
|
|
251
|
-
import { IngestCommand } from "./commands/ingest.command";
|
|
252
249
|
import { MailFactory } from "./factories/mail.factory";
|
|
253
250
|
import { ErrorMapperService } from "./helpers/error-mapper.service";
|
|
254
251
|
import { SolidCoreErrorCodesProvider } from "./helpers/solid-core-error-codes-provider.service";
|
|
@@ -258,19 +255,14 @@ import { Msg91WhatsappQueuePublisherDatabase } from "./jobs/database/msg91-whats
|
|
|
258
255
|
import { Msg91WhatsappQueueSubscriberDatabase } from "./jobs/database/msg91-whatsapp-subscriber-database.service";
|
|
259
256
|
import { Three60WhatsappQueuePublisherDatabase } from "./jobs/database/three60-whatsapp-publisher-database.service";
|
|
260
257
|
import { Three60WhatsappQueueSubscriberDatabase } from "./jobs/database/three60-whatsapp-subscriber-database.service";
|
|
261
|
-
import { TriggerMcpClientPublisherDatabase } from "./jobs/database/trigger-mcp-client-publisher-database.service";
|
|
262
|
-
import { TriggerMcpClientSubscriberDatabase } from "./jobs/database/trigger-mcp-client-subscriber-database.service";
|
|
263
258
|
import { GenerateCodePublisherRabbitmq } from "./jobs/rabbitmq/generate-code-publisher.service";
|
|
264
259
|
import { GenerateCodeSubscriberRabbitmq } from "./jobs/rabbitmq/generate-code-subscriber.service";
|
|
265
260
|
import { Three60WhatsappQueuePublisher } from "./jobs/rabbitmq/three60-whatsapp-publisher.service";
|
|
266
261
|
import { Three60WhatsappQueueSubscriber } from "./jobs/rabbitmq/three60-whatsapp-subscriber.service";
|
|
267
|
-
import { TriggerMcpClientPublisherRabbitmq } from "./jobs/rabbitmq/trigger-mcp-client-publisher.service";
|
|
268
|
-
import { TriggerMcpClientSubscriberRabbitmq } from "./jobs/rabbitmq/trigger-mcp-client-subscriber.service";
|
|
269
262
|
import { TwilioSmsQueuePublisherRabbitmq } from "./jobs/rabbitmq/twilio-sms-publisher.service";
|
|
270
263
|
import { TwilioSmsQueueSubscriberRabbitmq } from "./jobs/rabbitmq/twilio-sms-subscriber.service";
|
|
271
264
|
import { ListOfValuesMapper } from "./mappers/list-of-values-mapper";
|
|
272
265
|
import { ActionMetadataRepository } from "./repository/action-metadata.repository";
|
|
273
|
-
import { AiInteractionRepository } from "./repository/ai-interaction.repository";
|
|
274
266
|
import { ChatterMessageDetailsRepository } from "./repository/chatter-message-details.repository";
|
|
275
267
|
import { ChatterMessageRepository } from "./repository/chatter-message.repository";
|
|
276
268
|
|
|
@@ -305,7 +297,6 @@ import { UserRepository } from './repository/user.repository';
|
|
|
305
297
|
import { ViewMetadataRepository } from './repository/view-metadata.repository';
|
|
306
298
|
import { PermissionMetadataSeederService } from './seeders/permission-metadata-seeder.service';
|
|
307
299
|
import { SystemFieldsSeederService } from './seeders/system-fields-seeder.service';
|
|
308
|
-
import { AiInteractionService } from './services/ai-interaction.service';
|
|
309
300
|
import { ChatterMessageDetailsService } from './services/chatter-message-details.service';
|
|
310
301
|
import { ChatterMessageService } from './services/chatter-message.service';
|
|
311
302
|
import { ConcatComputedFieldProvider } from './services/computed-fields/concat-computed-field-provider.service';
|
|
@@ -331,9 +322,6 @@ import { CsvService } from './services/csv.service';
|
|
|
331
322
|
import { ExcelService } from './services/excel.service';
|
|
332
323
|
import { ExportTemplateService } from './services/export-template.service';
|
|
333
324
|
import { ExportTransactionService } from './services/export-transaction.service';
|
|
334
|
-
import { IngestMetadataService } from './services/genai/ingest-metadata.service';
|
|
335
|
-
import { McpHandlerFactory } from './services/genai/mcp-handlers/mcp-handler-factory.service';
|
|
336
|
-
import { R2RHelperService } from './services/genai/r2r-helper.service';
|
|
337
325
|
import { ImportTransactionErrorLogService } from './services/import-transaction-error-log.service';
|
|
338
326
|
import { ImportTransactionService } from './services/import-transaction.service';
|
|
339
327
|
import { LocaleService } from './services/locale.service';
|
|
@@ -397,7 +385,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
397
385
|
imports: [
|
|
398
386
|
TypeOrmModule.forFeature([
|
|
399
387
|
ActionMetadata,
|
|
400
|
-
AiInteraction,
|
|
401
388
|
ChatterMessage,
|
|
402
389
|
ChatterMessageDetails,
|
|
403
390
|
EmailAttachment,
|
|
@@ -468,7 +455,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
468
455
|
],
|
|
469
456
|
controllers: [
|
|
470
457
|
ActionMetadataController,
|
|
471
|
-
AiInteractionController,
|
|
472
458
|
AuthenticationController,
|
|
473
459
|
ChatterMessageController,
|
|
474
460
|
ChatterMessageDetailsController,
|
|
@@ -480,6 +466,7 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
480
466
|
GoogleAuthenticationController,
|
|
481
467
|
FacebookAuthenticationController,
|
|
482
468
|
MicrosoftAuthenticationController,
|
|
469
|
+
MicrosoftActiveDirectoryAuthenticationController,
|
|
483
470
|
ImportTransactionController,
|
|
484
471
|
ImportTransactionErrorLogController,
|
|
485
472
|
ListOfValuesController,
|
|
@@ -553,7 +540,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
553
540
|
InfoService,
|
|
554
541
|
SolidIntrospectService,
|
|
555
542
|
DiscoveryService,
|
|
556
|
-
R2RHelperService,
|
|
557
543
|
CrudHelperService,
|
|
558
544
|
CRUDService,
|
|
559
545
|
Reflector,
|
|
@@ -590,8 +576,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
590
576
|
TestDataCommand,
|
|
591
577
|
TestRunCommand,
|
|
592
578
|
McpCommand,
|
|
593
|
-
IngestCommand,
|
|
594
|
-
IngestMetadataService,
|
|
595
579
|
SMTPEMailService,
|
|
596
580
|
ElasticEmailService,
|
|
597
581
|
Msg91SMSService,
|
|
@@ -607,11 +591,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
607
591
|
ErrorMapperService,
|
|
608
592
|
SolidCoreErrorCodesProvider,
|
|
609
593
|
|
|
610
|
-
TriggerMcpClientPublisherDatabase,
|
|
611
|
-
TriggerMcpClientSubscriberDatabase,
|
|
612
|
-
TriggerMcpClientPublisherRabbitmq,
|
|
613
|
-
TriggerMcpClientSubscriberRabbitmq,
|
|
614
|
-
|
|
615
594
|
SmtpEmailQueuePublisherRabbitmq,
|
|
616
595
|
SmtpEmailQueueSubscriberRabbitmq,
|
|
617
596
|
SmtpEmailQueuePublisherDatabase,
|
|
@@ -661,6 +640,7 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
661
640
|
GoogleOauthStrategy,
|
|
662
641
|
FacebookOAuthStrategy,
|
|
663
642
|
MicrosoftOAuthStrategy,
|
|
643
|
+
MicrosoftActiveDirectoryOAuthStrategy,
|
|
664
644
|
UserRegistrationListener,
|
|
665
645
|
TestQueuePublisher,
|
|
666
646
|
TestQueueSubscriber,
|
|
@@ -692,8 +672,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
692
672
|
SmtpEmailQueueSubscriberRedis,
|
|
693
673
|
Three60WhatsappQueuePublisherRedis,
|
|
694
674
|
Three60WhatsappQueueSubscriberRedis,
|
|
695
|
-
TriggerMcpClientPublisherRedis,
|
|
696
|
-
TriggerMcpClientSubscriberRedis,
|
|
697
675
|
TwilioSmsQueuePublisherRedis,
|
|
698
676
|
TwilioSmsQueueSubscriberRedis,
|
|
699
677
|
GenerateCodePublisherDatabase,
|
|
@@ -758,11 +736,8 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
758
736
|
ComputedFieldEvaluationSubscriberRabbitmq,
|
|
759
737
|
ConcatEntityComputedFieldProvider,
|
|
760
738
|
UserActivityHistoryService,
|
|
761
|
-
AiInteractionService,
|
|
762
739
|
NoopsEntityComputedFieldProviderService,
|
|
763
740
|
|
|
764
|
-
McpHandlerFactory,
|
|
765
|
-
|
|
766
741
|
SolidTsMorphService,
|
|
767
742
|
|
|
768
743
|
ViewMetadataRepository,
|
|
@@ -782,7 +757,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
782
757
|
SmsFactory,
|
|
783
758
|
ChatterMessageRepository,
|
|
784
759
|
ChatterMessageDetailsRepository,
|
|
785
|
-
AiInteractionRepository,
|
|
786
760
|
EmailTemplateRepository,
|
|
787
761
|
ExportTemplateRepository,
|
|
788
762
|
ExportTransactionRepository,
|
|
@@ -818,7 +792,6 @@ import { DashboardUserLayoutRepository } from './repositories/dashboard-user-lay
|
|
|
818
792
|
DashboardUserLayoutRepository,
|
|
819
793
|
],
|
|
820
794
|
exports: [
|
|
821
|
-
AiInteractionService,
|
|
822
795
|
AuthenticationService,
|
|
823
796
|
ChatterMessageDetailsRepository,
|
|
824
797
|
ChatterMessageDetailsService,
|
|
@@ -83,7 +83,7 @@ export class ScheduledJobSubscriber
|
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
const moduleMetadataRepo =
|
|
86
|
+
const moduleMetadataRepo = event.queryRunner.manager.getRepository(ModuleMetadata);
|
|
87
87
|
const populatedModuleMetadata = await moduleMetadataRepo.findOne({
|
|
88
88
|
where: { id: moduleMetadata.id },
|
|
89
89
|
});
|
|
@@ -40,7 +40,7 @@ export class SecurityRuleSubscriber implements EntitySubscriberInterface<Securit
|
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
const modelMetadataRepo =
|
|
43
|
+
const modelMetadataRepo = event.manager.getRepository(ModelMetadata);
|
|
44
44
|
const populatedModelMetadata = await modelMetadataRepo.findOne({
|
|
45
45
|
where: {
|
|
46
46
|
id: modelMetadata.id
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CommandRunner } from 'nest-commander';
|
|
2
|
-
import { SolidRegistry } from '../helpers/solid-registry';
|
|
3
|
-
import { IngestMetadataService } from '../services/genai/ingest-metadata.service';
|
|
4
|
-
interface IngestCommandOptions {
|
|
5
|
-
module?: string;
|
|
6
|
-
}
|
|
7
|
-
export declare class IngestCommand extends CommandRunner {
|
|
8
|
-
private readonly solidRegistry;
|
|
9
|
-
private readonly ingestMetadataService;
|
|
10
|
-
private readonly logger;
|
|
11
|
-
constructor(solidRegistry: SolidRegistry, ingestMetadataService: IngestMetadataService);
|
|
12
|
-
run(passedParam: string[], options?: IngestCommandOptions): Promise<void>;
|
|
13
|
-
parseString(val: string): string;
|
|
14
|
-
}
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=ingest.command.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.command.d.ts","sourceRoot":"","sources":["../../src/commands/ingest.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CAEjB;AAED,qBACa,aAAc,SAAQ,aAAa;IAI5C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAJxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;gBAGtC,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB;IAKzD,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/E,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGjC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var IngestCommand_1;
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.IngestCommand = void 0;
|
|
14
|
-
const common_1 = require("@nestjs/common");
|
|
15
|
-
const nest_commander_1 = require("nest-commander");
|
|
16
|
-
const solid_registry_1 = require("../helpers/solid-registry");
|
|
17
|
-
const ingest_metadata_service_1 = require("../services/genai/ingest-metadata.service");
|
|
18
|
-
let IngestCommand = IngestCommand_1 = class IngestCommand extends nest_commander_1.CommandRunner {
|
|
19
|
-
constructor(solidRegistry, ingestMetadataService) {
|
|
20
|
-
super();
|
|
21
|
-
this.solidRegistry = solidRegistry;
|
|
22
|
-
this.ingestMetadataService = ingestMetadataService;
|
|
23
|
-
this.logger = new common_1.Logger(IngestCommand_1.name);
|
|
24
|
-
}
|
|
25
|
-
async run(passedParam, options) {
|
|
26
|
-
this.logger.log(`Running the solid ingest for module ${options.module} at ${new Date()}`);
|
|
27
|
-
await this.ingestMetadataService.ingest();
|
|
28
|
-
}
|
|
29
|
-
parseString(val) {
|
|
30
|
-
return val;
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
exports.IngestCommand = IngestCommand;
|
|
34
|
-
__decorate([
|
|
35
|
-
(0, nest_commander_1.Option)({
|
|
36
|
-
flags: '-m, --module [module name]',
|
|
37
|
-
description: 'The seeder to run.',
|
|
38
|
-
required: false,
|
|
39
|
-
defaultValue: ''
|
|
40
|
-
}),
|
|
41
|
-
__metadata("design:type", Function),
|
|
42
|
-
__metadata("design:paramtypes", [String]),
|
|
43
|
-
__metadata("design:returntype", String)
|
|
44
|
-
], IngestCommand.prototype, "parseString", null);
|
|
45
|
-
exports.IngestCommand = IngestCommand = IngestCommand_1 = __decorate([
|
|
46
|
-
(0, nest_commander_1.Command)({ name: 'ingest', description: 'Ingests solid metadata json for all modules deployed in the consuming project' }),
|
|
47
|
-
__metadata("design:paramtypes", [solid_registry_1.SolidRegistry,
|
|
48
|
-
ingest_metadata_service_1.IngestMetadataService])
|
|
49
|
-
], IngestCommand);
|
|
50
|
-
//# sourceMappingURL=ingest.command.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.command.js","sourceRoot":"","sources":["../../src/commands/ingest.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwC;AACxC,mDAAgE;AAChE,8DAA2D;AAC3D,uFAAmF;AAQ5E,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,8BAAa;IAG9C,YACmB,aAA4B,EAC5B,qBAA4C;QAE7D,KAAK,EAAE,CAAC;QAHS,kBAAa,GAAb,aAAa,CAAe;QAC5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAJ9C,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IAOzD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAAqB,EAAE,OAA8B;QAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,OAAO,CAAC,MAAM,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAQD,WAAW,CAAC,GAAW;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAA;AAxBY,sCAAa;AAqBxB;IANC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,oBAAoB;QACjC,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,EAAE;KACjB,CAAC;;;;gDAGD;wBAvBU,aAAa;IADzB,IAAA,wBAAO,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+EAA+E,EAAE,CAAC;qCAKtF,8BAAa;QACL,+CAAqB;GALpD,aAAa,CAwBzB","sourcesContent":["import { Logger } from '@nestjs/common';\nimport { Command, CommandRunner, Option } from 'nest-commander';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { IngestMetadataService } from 'src/services/genai/ingest-metadata.service';\n\ninterface IngestCommandOptions {\n module?: string;\n // seeder?: string;\n}\n\n@Command({ name: 'ingest', description: 'Ingests solid metadata json for all modules deployed in the consuming project' })\nexport class IngestCommand extends CommandRunner {\n private readonly logger = new Logger(IngestCommand.name);\n\n constructor(\n private readonly solidRegistry: SolidRegistry,\n private readonly ingestMetadataService: IngestMetadataService,\n ) {\n super();\n }\n\n async run(passedParam: string[], options?: IngestCommandOptions): Promise<void> {\n this.logger.log(`Running the solid ingest for module ${options.module} at ${new Date()}`);\n await this.ingestMetadataService.ingest();\n }\n\n @Option({\n flags: '-m, --module [module name]',\n description: 'The seeder to run.',\n required: false,\n defaultValue: ''\n })\n parseString(val: string): string {\n return val;\n }\n}\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { AiInteractionService } from '../services/ai-interaction.service';
|
|
2
|
-
import { CreateAiInteractionDto } from '../dtos/create-ai-interaction.dto';
|
|
3
|
-
import { UpdateAiInteractionDto } from '../dtos/update-ai-interaction.dto';
|
|
4
|
-
import { InvokeAiPromptDto } from '../dtos/invoke-ai-prompt.dto';
|
|
5
|
-
import { ActiveUserData } from '../interfaces/active-user-data.interface';
|
|
6
|
-
export declare class AiInteractionController {
|
|
7
|
-
private readonly service;
|
|
8
|
-
constructor(service: AiInteractionService);
|
|
9
|
-
create(createDto: CreateAiInteractionDto, files: Array<Express.Multer.File>): Promise<import("..").AiInteraction>;
|
|
10
|
-
insertMany(createDtos: CreateAiInteractionDto[], filesArray?: Express.Multer.File[][]): Promise<import("..").AiInteraction[]>;
|
|
11
|
-
update(id: number, updateDto: UpdateAiInteractionDto, files: Array<Express.Multer.File>): Promise<import("..").AiInteraction>;
|
|
12
|
-
partialUpdate(id: number, updateDto: UpdateAiInteractionDto, files: Array<Express.Multer.File>): Promise<import("..").AiInteraction>;
|
|
13
|
-
recoverMany(ids: number[]): Promise<{
|
|
14
|
-
message: string;
|
|
15
|
-
recoveredIds: number[];
|
|
16
|
-
}>;
|
|
17
|
-
recover(id: number): Promise<{
|
|
18
|
-
message: string;
|
|
19
|
-
data: import("..").AiInteraction;
|
|
20
|
-
}>;
|
|
21
|
-
findMany(query: any): Promise<any>;
|
|
22
|
-
findOne(id: string, query: any): Promise<import("..").AiInteraction>;
|
|
23
|
-
deleteMany(ids: number[]): Promise<any>;
|
|
24
|
-
delete(id: number): Promise<import("..").AiInteraction>;
|
|
25
|
-
triggerMcpClientJob(dto: InvokeAiPromptDto, activeUser: ActiveUserData): Promise<any>;
|
|
26
|
-
applySolidAiInteraction(id: number): Promise<any>;
|
|
27
|
-
runMcpPrompt(dto: InvokeAiPromptDto): Promise<import("..").McpResponse>;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=ai-interaction.controller.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-interaction.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/ai-interaction.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAO3E,qBAEa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,oBAAoB;IAK1D,MAAM,CAAS,SAAS,EAAE,sBAAsB,EAAmB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAOpG,UAAU,CAAS,UAAU,EAAE,sBAAsB,EAAE,EAAmB,UAAU,GAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAO;IAQlH,MAAM,CAAc,EAAE,EAAE,MAAM,EAAU,SAAS,EAAE,sBAAsB,EAAmB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAO7H,aAAa,CAAc,EAAE,EAAE,MAAM,EAAU,SAAS,EAAE,sBAAsB,EAAmB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAM9H,WAAW,CAAS,GAAG,EAAE,MAAM,EAAE;;;;IAMjC,OAAO,CAAc,EAAE,EAAE,MAAM;;;;IAe/B,QAAQ,CAAU,KAAK,EAAE,GAAG;IAM5B,OAAO,CAAc,EAAE,EAAE,MAAM,EAAW,KAAK,EAAE,GAAG;IAMpD,UAAU,CAAS,GAAG,EAAE,MAAM,EAAE;IAMhC,MAAM,CAAc,EAAE,EAAE,MAAM;IAM9B,mBAAmB,CAAS,GAAG,EAAE,iBAAiB,EAAgB,UAAU,EAAE,cAAc;IAM5F,uBAAuB,CAAc,EAAE,EAAE,MAAM;IAM/C,YAAY,CAAS,GAAG,EAAE,iBAAiB;CAGlD"}
|