@solidxai/core 0.1.9-beta.1 → 0.1.9-beta.11
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/fixtures/fixtures-setup.command.d.ts +1 -1
- package/dist/commands/fixtures/fixtures-tear-down.command.d.ts +1 -1
- package/dist/commands/info.command.d.ts +3 -3
- package/dist/commands/ingest.command.d.ts +2 -2
- package/dist/commands/mcp.command.d.ts +1 -1
- package/dist/commands/refresh-model.command.d.ts +1 -1
- package/dist/commands/remove-fields.command.d.ts +1 -1
- package/dist/commands/run-tests.command.d.ts +1 -1
- package/dist/commands/seed.command.d.ts +1 -1
- package/dist/commands/test-data.command.d.ts +1 -1
- package/dist/constants/chatter-message.constants.d.ts +6 -0
- package/dist/constants/chatter-message.constants.d.ts.map +1 -1
- package/dist/constants/chatter-message.constants.js +7 -1
- package/dist/constants/chatter-message.constants.js.map +1 -1
- package/dist/controllers/action-metadata.controller.d.ts +1 -1
- package/dist/controllers/agent-event.controller.d.ts +3 -3
- package/dist/controllers/agent-session.controller.d.ts +3 -3
- package/dist/controllers/ai-interaction.controller.d.ts +1 -1
- package/dist/controllers/authentication.controller.d.ts +12 -0
- package/dist/controllers/authentication.controller.d.ts.map +1 -1
- package/dist/controllers/authentication.controller.js +13 -0
- package/dist/controllers/authentication.controller.js.map +1 -1
- package/dist/controllers/chatter-message.controller.d.ts +1 -0
- package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
- package/dist/controllers/chatter-message.controller.js +12 -0
- package/dist/controllers/chatter-message.controller.js.map +1 -1
- package/dist/controllers/dashboard-layout.controller.d.ts +3 -3
- package/dist/controllers/dashboard-question.controller.d.ts +1 -1
- package/dist/controllers/dashboard.controller.d.ts +1 -1
- package/dist/controllers/export-template.controller.d.ts +2 -2
- package/dist/controllers/facebook-authentication.controller.d.ts +27 -0
- package/dist/controllers/facebook-authentication.controller.d.ts.map +1 -0
- package/dist/controllers/facebook-authentication.controller.js +117 -0
- package/dist/controllers/facebook-authentication.controller.js.map +1 -0
- package/dist/controllers/field-metadata.controller.d.ts +1 -1
- package/dist/controllers/google-authentication.controller.d.ts +1 -1
- package/dist/controllers/import-transaction.controller.d.ts +1 -1
- package/dist/controllers/locale.controller.d.ts +3 -3
- package/dist/controllers/media.controller.d.ts +3 -3
- package/dist/controllers/menu-item-metadata.controller.d.ts +3 -2
- package/dist/controllers/menu-item-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/menu-item-metadata.controller.js +15 -0
- package/dist/controllers/menu-item-metadata.controller.js.map +1 -1
- package/dist/controllers/microsoft-authentication.controller.d.ts +27 -0
- package/dist/controllers/microsoft-authentication.controller.d.ts.map +1 -0
- package/dist/controllers/microsoft-authentication.controller.js +118 -0
- package/dist/controllers/microsoft-authentication.controller.js.map +1 -0
- package/dist/controllers/model-metadata.controller.d.ts +1 -1
- package/dist/controllers/mq-message-queue.controller.d.ts +1 -1
- package/dist/controllers/mq-message.controller.d.ts +1 -1
- package/dist/controllers/otp-authentication.controller.js.map +1 -1
- package/dist/controllers/permission-metadata.controller.d.ts +1 -1
- package/dist/controllers/role-metadata.controller.d.ts +1 -1
- package/dist/controllers/scheduled-job.controller.d.ts +3 -3
- package/dist/controllers/service.controller.d.ts +4 -4
- package/dist/controllers/setting.controller.d.ts +3 -3
- package/dist/controllers/setting.controller.js +4 -4
- package/dist/controllers/setting.controller.js.map +1 -1
- package/dist/controllers/test-queue.controller.d.ts +1 -1
- package/dist/controllers/test.controller.d.ts +2 -2
- package/dist/controllers/user-view-metadata.controller.d.ts +2 -2
- package/dist/controllers/user.controller.d.ts +2 -2
- package/dist/controllers/view-metadata.controller.d.ts +2 -2
- package/dist/decorators/auth.decorator.d.ts.map +1 -1
- package/dist/decorators/computed-field-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/dashboard-question-data-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/dashboard-selection-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/disallow-in-production.decorator.d.ts.map +1 -1
- package/dist/decorators/error-codes-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/extension-user-creation-provider.decorator.d.ts +3 -0
- package/dist/decorators/extension-user-creation-provider.decorator.d.ts.map +1 -0
- package/dist/decorators/extension-user-creation-provider.decorator.js +7 -0
- package/dist/decorators/extension-user-creation-provider.decorator.js.map +1 -0
- package/dist/decorators/is-not-in-enum.decorator.d.ts.map +1 -1
- package/dist/decorators/mail-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/roles.decorator.d.ts.map +1 -1
- package/dist/decorators/scheduled-job-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/security-rule-config-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/selection-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/sms-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/solid-database-module.decorator.d.ts.map +1 -1
- package/dist/decorators/solid-password.decorator.d.ts +1 -1
- package/dist/decorators/whatsapp-provider.decorator.d.ts.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-dashboard-question.dto.d.ts +1 -1
- package/dist/dtos/create-dashboard.dto.d.ts +2 -2
- package/dist/dtos/create-field-metadata.dto.js +1 -2
- package/dist/dtos/create-field-metadata.dto.js.map +1 -1
- package/dist/dtos/create-import-transaction.dto.d.ts +1 -1
- package/dist/dtos/create-menu-item-metadata.dto.d.ts +1 -1
- package/dist/dtos/create-mq-message-queue.dto.d.ts +1 -1
- package/dist/dtos/create-permission-metadata.dto.d.ts +1 -1
- package/dist/dtos/create-role-metadata.dto.d.ts +3 -3
- package/dist/dtos/create-user.dto.d.ts +3 -2
- package/dist/dtos/create-user.dto.d.ts.map +1 -1
- package/dist/dtos/create-user.dto.js +8 -1
- package/dist/dtos/create-user.dto.js.map +1 -1
- package/dist/dtos/create-view-metadata.dto.d.ts +1 -1
- package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts +1 -1
- package/dist/dtos/fetch-roles.dto.d.ts +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/selection-dynamic-query.dto.d.ts +1 -1
- package/dist/dtos/solid-request-context.dto.d.ts +1 -1
- package/dist/dtos/sort-filter.dto.d.ts +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 +7 -1
- package/dist/dtos/update-chatter-message.dto.js.map +1 -1
- package/dist/dtos/update-dashboard-question.dto.d.ts +1 -1
- package/dist/dtos/update-dashboard.dto.d.ts +2 -2
- package/dist/dtos/update-import-transaction.dto.d.ts +1 -1
- package/dist/dtos/update-menu-item-metadata.dto.d.ts +1 -1
- package/dist/dtos/update-mq-message-queue.dto.d.ts +1 -1
- package/dist/dtos/update-permission-metadata.dto.d.ts +1 -1
- package/dist/dtos/update-role-metadata.dto.d.ts +3 -3
- package/dist/dtos/update-user.dto.d.ts +3 -2
- package/dist/dtos/update-user.dto.d.ts.map +1 -1
- package/dist/dtos/update-user.dto.js +7 -1
- package/dist/dtos/update-user.dto.js.map +1 -1
- package/dist/dtos/update-view-metadata.dto.d.ts +1 -1
- package/dist/entities/action-metadata.entity.d.ts +4 -4
- package/dist/entities/agent-event.entity.d.ts +1 -1
- package/dist/entities/agent-session.entity.d.ts +1 -1
- package/dist/entities/ai-interaction.entity.d.ts +2 -2
- package/dist/entities/chatter-message-details.entity.d.ts +2 -2
- package/dist/entities/chatter-message.entity.d.ts +3 -2
- 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/dashboard-layout.entity.d.ts +2 -2
- package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +2 -2
- package/dist/entities/dashboard-question.entity.d.ts +3 -3
- package/dist/entities/dashboard-variable.entity.d.ts +2 -2
- package/dist/entities/dashboard.entity.d.ts +4 -4
- package/dist/entities/email-template.entity.d.ts +1 -1
- package/dist/entities/export-template.entity.d.ts +2 -2
- package/dist/entities/export-transaction.entity.d.ts +2 -2
- package/dist/entities/field-metadata.entity.d.ts +2 -2
- package/dist/entities/import-transaction-error-log.entity.d.ts +2 -2
- package/dist/entities/import-transaction.entity.d.ts +3 -3
- package/dist/entities/list-of-values.entity.d.ts +2 -2
- package/dist/entities/locale.entity.d.ts +1 -1
- package/dist/entities/media-storage-provider-metadata.entity.d.ts +1 -1
- package/dist/entities/media.entity.d.ts +4 -4
- package/dist/entities/menu-item-metadata.entity.d.ts +4 -4
- package/dist/entities/model-metadata.entity.d.ts +1 -1
- package/dist/entities/model-sequence.entity.d.ts +4 -4
- package/dist/entities/module-metadata.entity.d.ts +1 -1
- package/dist/entities/mq-message-queue.entity.d.ts +2 -2
- package/dist/entities/mq-message.entity.d.ts +2 -2
- package/dist/entities/permission-metadata.entity.d.ts +2 -2
- package/dist/entities/role-metadata.entity.d.ts +4 -4
- package/dist/entities/saved-filters.entity.d.ts +4 -4
- package/dist/entities/scheduled-job.entity.d.ts +1 -1
- package/dist/entities/security-rule.entity.d.ts +3 -3
- package/dist/entities/setting.entity.d.ts +2 -2
- package/dist/entities/sms-template.entity.d.ts +1 -1
- package/dist/entities/user-activity-history.entity.d.ts +2 -2
- package/dist/entities/user-api-key.entity.d.ts +1 -1
- package/dist/entities/user-view-metadata.entity.d.ts +3 -3
- package/dist/entities/user.entity.d.ts +12 -4
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +34 -1
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/view-metadata.entity.d.ts +4 -4
- package/dist/factories/mail.factory.d.ts +3 -3
- package/dist/factories/sms.factory.d.ts +3 -3
- package/dist/factories/whatsapp.factory.d.ts +3 -3
- package/dist/filters/http-exception.filter.d.ts +1 -1
- package/dist/guards/api-key.guard.d.ts +1 -1
- package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
- package/dist/helpers/bootstrap.helper.js +4 -1
- package/dist/helpers/bootstrap.helper.js.map +1 -1
- package/dist/helpers/cors.helper.js +1 -1
- package/dist/helpers/cors.helper.js.map +1 -1
- package/dist/helpers/error-mapper.service.d.ts +2 -2
- package/dist/helpers/facebook-oauth.helper.d.ts +8 -0
- package/dist/helpers/facebook-oauth.helper.d.ts.map +1 -0
- package/dist/helpers/facebook-oauth.helper.js +11 -0
- package/dist/helpers/facebook-oauth.helper.js.map +1 -0
- package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/BooleanFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/ComputedFieldCrudManager.d.ts +2 -2
- package/dist/helpers/field-crud-managers/DateFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/DecimalFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/EmailFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/IntFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/JsonFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/LongTextFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +5 -5
- package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +2 -2
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/NoOpsFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +5 -5
- package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.d.ts +2 -2
- package/dist/helpers/field-crud-managers/RichTextFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.d.ts +2 -2
- package/dist/helpers/field-crud-managers/SelectionStaticFieldCrudManager.d.ts +2 -2
- package/dist/helpers/field-crud-managers/ShortTextFieldCrudManager.d.ts +1 -1
- package/dist/helpers/field-crud-managers/UUIDFieldCrudManager.d.ts +1 -1
- package/dist/helpers/microsoft-oauth.helper.d.ts +9 -0
- package/dist/helpers/microsoft-oauth.helper.d.ts.map +1 -0
- package/dist/helpers/microsoft-oauth.helper.js +12 -0
- package/dist/helpers/microsoft-oauth.helper.js.map +1 -0
- package/dist/helpers/model-metadata-helper.service.d.ts +1 -1
- package/dist/helpers/module-metadata-helper.service.d.ts +1 -1
- package/dist/helpers/module-metadata-helper.service.js +3 -3
- package/dist/helpers/module-metadata-helper.service.js.map +1 -1
- package/dist/helpers/security.helper.d.ts.map +1 -1
- package/dist/helpers/solid-core-error-codes-provider.service.d.ts +1 -1
- package/dist/helpers/solid-registry.d.ts +11 -5
- package/dist/helpers/solid-registry.d.ts.map +1 -1
- package/dist/helpers/solid-registry.js +15 -2
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/helpers/string.helper.d.ts +1 -0
- package/dist/helpers/string.helper.d.ts.map +1 -1
- package/dist/helpers/string.helper.js +4 -1
- package/dist/helpers/string.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 +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/mq.d.ts +1 -1
- package/dist/interfaces/mq.d.ts.map +1 -1
- package/dist/interfaces/mq.js.map +1 -1
- package/dist/interfaces.d.ts +30 -3
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/database/api-email-publisher-database.service.d.ts +4 -4
- package/dist/jobs/database/api-email-queue-options-database.d.ts +1 -1
- package/dist/jobs/database/api-email-subscriber-database.service.d.ts +8 -8
- package/dist/jobs/database/api-email-subscriber-database.service.js +1 -1
- package/dist/jobs/database/api-email-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/chatter-queue-publisher-database.service.d.ts +1 -1
- package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts +4 -4
- package/dist/jobs/database/computed-field-evaluation-publisher-database.service.d.ts +5 -5
- package/dist/jobs/database/computed-field-evaluation-subscriber-database.service.d.ts +8 -8
- package/dist/jobs/database/generate-code-publisher-database.service.d.ts +1 -1
- package/dist/jobs/database/generate-code-subscriber-database.service.d.ts +4 -4
- package/dist/jobs/database/msg91-sms-publisher-database.service.d.ts +4 -4
- package/dist/jobs/database/msg91-sms-queue-database-options.d.ts +1 -1
- package/dist/jobs/database/msg91-sms-subscriber-database.service.d.ts +7 -7
- package/dist/jobs/database/msg91-whatsapp-publisher-database.service.d.ts +4 -4
- package/dist/jobs/database/msg91-whatsapp-queue-options-database.d.ts +1 -1
- package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.d.ts +8 -8
- package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.js +1 -1
- package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/otp-publisher-database.service.d.ts +4 -4
- package/dist/jobs/database/otp-queue-options-database.d.ts +1 -1
- package/dist/jobs/database/otp-subscriber-database.service.d.ts +7 -7
- package/dist/jobs/database/smtp-email-publisher-database.service.d.ts +4 -4
- package/dist/jobs/database/smtp-email-queue-options-database.d.ts +1 -1
- package/dist/jobs/database/smtp-email-subscriber-database.service.d.ts +7 -7
- package/dist/jobs/database/test-queue-publisher-database.service.d.ts +1 -1
- package/dist/jobs/database/test-queue-subscriber-database.service.d.ts +3 -3
- package/dist/jobs/database/three60-whatsapp-publisher-database.service.d.ts +4 -4
- package/dist/jobs/database/three60-whatsapp-queue-options-database.d.ts +1 -1
- package/dist/jobs/database/three60-whatsapp-subscriber-database.service.d.ts +8 -8
- package/dist/jobs/database/three60-whatsapp-subscriber-database.service.js +1 -1
- package/dist/jobs/database/three60-whatsapp-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +4 -4
- package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +8 -8
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +2 -2
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/twilio-sms-publisher-database.service.d.ts +4 -4
- package/dist/jobs/database/twilio-sms-queue-database-options.d.ts +1 -1
- package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts +7 -7
- package/dist/jobs/rabbitmq/api-email-publisher.service.d.ts +3 -3
- package/dist/jobs/rabbitmq/api-email-subscriber.service.d.ts +5 -5
- package/dist/jobs/rabbitmq/api-email-subscriber.service.js +1 -1
- package/dist/jobs/rabbitmq/api-email-subscriber.service.js.map +1 -1
- package/dist/jobs/rabbitmq/chatter-queue-publisher.service.d.ts +1 -1
- package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts +3 -3
- package/dist/jobs/rabbitmq/computed-field-evaluation-publisher.service.d.ts +5 -5
- package/dist/jobs/rabbitmq/computed-field-evaluation-subscriber.service.d.ts +8 -8
- package/dist/jobs/rabbitmq/generate-code-publisher.service.d.ts +1 -1
- package/dist/jobs/rabbitmq/generate-code-subscriber.service.d.ts +7 -7
- package/dist/jobs/rabbitmq/msg91-otp-publisher.service.d.ts +3 -3
- package/dist/jobs/rabbitmq/msg91-otp-subscriber.service.d.ts +5 -5
- package/dist/jobs/rabbitmq/msg91-sms-publisher.service.d.ts +3 -3
- package/dist/jobs/rabbitmq/msg91-sms-subscriber.service.d.ts +5 -5
- package/dist/jobs/rabbitmq/msg91-whatsapp-publisher.service.d.ts +3 -3
- package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.d.ts +5 -5
- package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.js +1 -1
- package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.js.map +1 -1
- package/dist/jobs/rabbitmq/smtp-email-publisher.service.d.ts +3 -3
- package/dist/jobs/rabbitmq/smtp-email-subscriber.service.d.ts +4 -4
- package/dist/jobs/rabbitmq/test-queue-publisher.service.d.ts +1 -1
- package/dist/jobs/rabbitmq/test-queue-subscriber.service.d.ts +3 -3
- package/dist/jobs/rabbitmq/test-queue-subscriber.service.d.ts.map +1 -1
- package/dist/jobs/rabbitmq/test-queue-subscriber.service.js +6 -3
- package/dist/jobs/rabbitmq/test-queue-subscriber.service.js.map +1 -1
- package/dist/jobs/rabbitmq/three60-whatsapp-publisher.service.d.ts +3 -3
- package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.d.ts +6 -6
- package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.js +1 -1
- package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.js.map +1 -1
- package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +3 -3
- package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +6 -6
- package/dist/jobs/rabbitmq/twilio-sms-publisher.service.d.ts +3 -3
- package/dist/jobs/rabbitmq/twilio-sms-subscriber.service.d.ts +6 -6
- package/dist/jobs/redis/api-email-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/api-email-subscriber-redis.service.d.ts +3 -3
- package/dist/jobs/redis/api-email-subscriber-redis.service.js +1 -1
- package/dist/jobs/redis/api-email-subscriber-redis.service.js.map +1 -1
- package/dist/jobs/redis/chatter-queue-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts +2 -2
- package/dist/jobs/redis/computed-field-evaluation-publisher-redis.service.d.ts +2 -2
- package/dist/jobs/redis/computed-field-evaluation-subscriber-redis.service.d.ts +4 -4
- package/dist/jobs/redis/generate-code-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/generate-code-subscriber-redis.service.d.ts +3 -3
- package/dist/jobs/redis/msg91-otp-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/msg91-otp-subscriber-redis.service.d.ts +3 -3
- package/dist/jobs/redis/msg91-sms-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/msg91-sms-subscriber-redis.service.d.ts +3 -3
- package/dist/jobs/redis/msg91-whatsapp-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.d.ts +3 -3
- package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.js +1 -1
- package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.js.map +1 -1
- package/dist/jobs/redis/smtp-email-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/smtp-email-subscriber-redis.service.d.ts +2 -2
- package/dist/jobs/redis/test-queue-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/test-queue-subscriber-redis.service.d.ts +2 -2
- package/dist/jobs/redis/three60-whatsapp-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.d.ts +3 -3
- package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.js +1 -1
- package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.js.map +1 -1
- package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +2 -2
- package/dist/jobs/redis/twilio-sms-publisher-redis.service.d.ts +1 -1
- package/dist/jobs/redis/twilio-sms-subscriber-redis.service.d.ts +3 -3
- package/dist/mappers/dashboard-mapper.d.ts +1 -1
- package/dist/mappers/list-of-values-mapper.d.ts +1 -1
- package/dist/passport-strategies/facebook-oauth.strategy.d.ts +16 -0
- package/dist/passport-strategies/facebook-oauth.strategy.d.ts.map +1 -0
- package/dist/passport-strategies/facebook-oauth.strategy.js +96 -0
- package/dist/passport-strategies/facebook-oauth.strategy.js.map +1 -0
- package/dist/passport-strategies/microsoft-oauth.strategy.d.ts +14 -0
- package/dist/passport-strategies/microsoft-oauth.strategy.d.ts.map +1 -0
- package/dist/passport-strategies/microsoft-oauth.strategy.js +77 -0
- package/dist/passport-strategies/microsoft-oauth.strategy.js.map +1 -0
- package/dist/repository/action-metadata.repository.d.ts +2 -2
- package/dist/repository/agent-event.repository.d.ts +2 -2
- package/dist/repository/agent-session.repository.d.ts +2 -2
- package/dist/repository/ai-interaction.repository.d.ts +2 -2
- package/dist/repository/chatter-message-details.repository.d.ts +2 -2
- package/dist/repository/chatter-message-details.repository.d.ts.map +1 -1
- package/dist/repository/chatter-message-details.repository.js +7 -6
- package/dist/repository/chatter-message-details.repository.js.map +1 -1
- package/dist/repository/chatter-message.repository.d.ts +2 -2
- package/dist/repository/chatter-message.repository.d.ts.map +1 -1
- package/dist/repository/chatter-message.repository.js +4 -4
- package/dist/repository/chatter-message.repository.js.map +1 -1
- package/dist/repository/dashboard-layout.repository.d.ts +2 -2
- package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts +2 -2
- package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts.map +1 -1
- package/dist/repository/dashboard-question-sql-dataset-config.repository.js +2 -2
- package/dist/repository/dashboard-question-sql-dataset-config.repository.js.map +1 -1
- package/dist/repository/dashboard-question.repository.d.ts +2 -2
- package/dist/repository/dashboard-question.repository.d.ts.map +1 -1
- package/dist/repository/dashboard-question.repository.js +2 -2
- package/dist/repository/dashboard-question.repository.js.map +1 -1
- package/dist/repository/dashboard-variable.repository.d.ts +2 -2
- package/dist/repository/dashboard-variable.repository.d.ts.map +1 -1
- package/dist/repository/dashboard-variable.repository.js +2 -2
- package/dist/repository/dashboard-variable.repository.js.map +1 -1
- package/dist/repository/dashboard.repository.d.ts +2 -2
- package/dist/repository/email-template.repository.d.ts +2 -2
- package/dist/repository/email-template.repository.d.ts.map +1 -1
- package/dist/repository/email-template.repository.js +2 -2
- package/dist/repository/email-template.repository.js.map +1 -1
- package/dist/repository/export-template.repository.d.ts +2 -2
- package/dist/repository/export-template.repository.d.ts.map +1 -1
- package/dist/repository/export-template.repository.js +2 -2
- package/dist/repository/export-template.repository.js.map +1 -1
- package/dist/repository/export-transaction.repository.d.ts +2 -2
- package/dist/repository/export-transaction.repository.d.ts.map +1 -1
- package/dist/repository/export-transaction.repository.js +2 -2
- package/dist/repository/export-transaction.repository.js.map +1 -1
- package/dist/repository/field-metadata.repository.d.ts +1 -1
- package/dist/repository/import-transaction-error-log.repository.d.ts +2 -2
- package/dist/repository/import-transaction-error-log.repository.d.ts.map +1 -1
- package/dist/repository/import-transaction-error-log.repository.js +2 -2
- package/dist/repository/import-transaction-error-log.repository.js.map +1 -1
- package/dist/repository/import-transaction.repository.d.ts +2 -2
- package/dist/repository/import-transaction.repository.d.ts.map +1 -1
- package/dist/repository/import-transaction.repository.js +2 -2
- package/dist/repository/import-transaction.repository.js.map +1 -1
- package/dist/repository/list-of-values.repository.d.ts +2 -2
- package/dist/repository/list-of-values.repository.d.ts.map +1 -1
- package/dist/repository/list-of-values.repository.js +2 -2
- package/dist/repository/list-of-values.repository.js.map +1 -1
- package/dist/repository/locale.repository.d.ts +2 -2
- package/dist/repository/locale.repository.d.ts.map +1 -1
- package/dist/repository/locale.repository.js +2 -2
- package/dist/repository/locale.repository.js.map +1 -1
- package/dist/repository/media-storage-provider-metadata.repository.d.ts +1 -1
- package/dist/repository/media.repository.d.ts +2 -2
- package/dist/repository/menu-item-metadata.repository.d.ts +2 -2
- package/dist/repository/menu-item-metadata.repository.d.ts.map +1 -1
- package/dist/repository/menu-item-metadata.repository.js +2 -2
- package/dist/repository/menu-item-metadata.repository.js.map +1 -1
- package/dist/repository/model-metadata.repository.d.ts +1 -1
- package/dist/repository/model-metadata.repository.d.ts.map +1 -1
- package/dist/repository/model-metadata.repository.js +2 -2
- package/dist/repository/model-metadata.repository.js.map +1 -1
- package/dist/repository/model-sequence.repository.d.ts +3 -3
- package/dist/repository/module-metadata.repository.d.ts +1 -1
- package/dist/repository/module-metadata.repository.d.ts.map +1 -1
- package/dist/repository/module-metadata.repository.js +2 -2
- package/dist/repository/module-metadata.repository.js.map +1 -1
- package/dist/repository/mq-message-queue.repository.d.ts +2 -2
- package/dist/repository/mq-message-queue.repository.d.ts.map +1 -1
- package/dist/repository/mq-message-queue.repository.js +2 -2
- package/dist/repository/mq-message-queue.repository.js.map +1 -1
- package/dist/repository/mq-message.repository.d.ts +2 -2
- package/dist/repository/mq-message.repository.d.ts.map +1 -1
- package/dist/repository/mq-message.repository.js +2 -2
- package/dist/repository/mq-message.repository.js.map +1 -1
- package/dist/repository/permission-metadata.repository.d.ts +2 -2
- package/dist/repository/permission-metadata.repository.d.ts.map +1 -1
- package/dist/repository/permission-metadata.repository.js +2 -2
- package/dist/repository/permission-metadata.repository.js.map +1 -1
- package/dist/repository/role-metadata.repository.d.ts +2 -2
- package/dist/repository/role-metadata.repository.d.ts.map +1 -1
- package/dist/repository/role-metadata.repository.js +2 -2
- package/dist/repository/role-metadata.repository.js.map +1 -1
- package/dist/repository/saved-filters.repository.d.ts +2 -2
- package/dist/repository/scheduled-job.repository.d.ts +3 -3
- package/dist/repository/security-rule.repository.d.ts +7 -7
- package/dist/repository/setting.repository.d.ts +2 -2
- package/dist/repository/setting.repository.d.ts.map +1 -1
- package/dist/repository/setting.repository.js +2 -2
- package/dist/repository/setting.repository.js.map +1 -1
- package/dist/repository/sms-template.repository.d.ts +2 -2
- package/dist/repository/sms-template.repository.d.ts.map +1 -1
- package/dist/repository/sms-template.repository.js +2 -2
- package/dist/repository/sms-template.repository.js.map +1 -1
- package/dist/repository/solid-base.repository.d.ts +2 -2
- package/dist/repository/solid-base.repository.js +2 -2
- package/dist/repository/solid-base.repository.js.map +1 -1
- package/dist/repository/user-activity-history.repository.d.ts +2 -2
- package/dist/repository/user-activity-history.repository.d.ts.map +1 -1
- package/dist/repository/user-activity-history.repository.js +2 -2
- package/dist/repository/user-activity-history.repository.js.map +1 -1
- package/dist/repository/user-api-key.repository.d.ts +2 -2
- package/dist/repository/user-view-metadata.repository.d.ts +2 -2
- package/dist/repository/user-view-metadata.repository.d.ts.map +1 -1
- package/dist/repository/user-view-metadata.repository.js +2 -2
- package/dist/repository/user-view-metadata.repository.js.map +1 -1
- package/dist/repository/user.repository.d.ts +2 -2
- package/dist/repository/view-metadata.repository.d.ts +2 -2
- package/dist/seeders/module-metadata-seeder.service.d.ts +17 -14
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +65 -38
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/module-test-data.service.d.ts +1 -1
- package/dist/seeders/module-test-data.service.d.ts.map +1 -1
- package/dist/seeders/module-test-data.service.js +5 -12
- package/dist/seeders/module-test-data.service.js.map +1 -1
- package/dist/seeders/permission-metadata-seeder.service.d.ts +2 -2
- package/dist/seeders/seed-data/solid-core-metadata.json +40 -89
- package/dist/seeders/system-fields-seeder.service.d.ts +3 -3
- package/dist/services/action-metadata.service.d.ts +2 -2
- package/dist/services/agent-event.service.d.ts +2 -2
- package/dist/services/agent-session.service.d.ts +2 -2
- package/dist/services/ai-interaction.service.d.ts +4 -4
- package/dist/services/api-key.service.d.ts +23 -7
- package/dist/services/api-key.service.d.ts.map +1 -1
- package/dist/services/api-key.service.js +38 -2
- package/dist/services/api-key.service.js.map +1 -1
- package/dist/services/authentication.service.d.ts +66 -28
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +377 -180
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message-details.service.d.ts +2 -2
- package/dist/services/chatter-message.service.d.ts +8 -7
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +17 -0
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts +3 -3
- package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts +3 -3
- package/dist/services/computed-fields/entity/noops-entity-computed-field-provider.service.d.ts +2 -2
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts +3 -3
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -1
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +2 -2
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -1
- package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.d.ts +2 -2
- package/dist/services/crud-helper.service.d.ts +1 -1
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +9 -9
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +4 -1
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +52 -3
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/dashboard-layout.service.d.ts +4 -4
- package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +2 -2
- package/dist/services/dashboard-question.service.d.ts +3 -3
- package/dist/services/dashboard-question.service.js.map +1 -1
- package/dist/services/dashboard-variable.service.d.ts +2 -2
- package/dist/services/dashboard.service.d.ts +7 -7
- package/dist/services/email-template.service.d.ts +1 -1
- package/dist/services/export-template.service.d.ts +5 -5
- package/dist/services/export-transaction.service.d.ts +7 -7
- package/dist/services/export-transaction.service.d.ts.map +1 -1
- package/dist/services/export-transaction.service.js +4 -3
- package/dist/services/export-transaction.service.js.map +1 -1
- package/dist/services/field-metadata.service.d.ts +5 -5
- package/dist/services/field-metadata.service.d.ts.map +1 -1
- package/dist/services/field-metadata.service.js +7 -7
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/fixtures.service.d.ts +1 -1
- package/dist/services/fixtures.service.js +2 -2
- package/dist/services/fixtures.service.js.map +1 -1
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +1 -1
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +1 -1
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +2 -2
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +1 -1
- package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts +1 -1
- package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts +2 -2
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts +1 -1
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts +1 -1
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts +1 -1
- package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts +1 -1
- package/dist/services/import-transaction-error-log.service.d.ts +2 -2
- package/dist/services/import-transaction.service.d.ts +6 -6
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +2 -2
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/list-of-values.service.d.ts +4 -4
- package/dist/services/locale.service.d.ts +4 -4
- package/dist/services/mail/elastic-email.service.d.ts +1 -1
- package/dist/services/mail/smtp-email.service.d.ts +1 -1
- package/dist/services/media-storage-provider-metadata.service.d.ts +1 -1
- package/dist/services/media.service.d.ts +8 -8
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +5 -5
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +5 -5
- package/dist/services/menu-item-metadata.service.d.ts +4 -4
- package/dist/services/menu-item-metadata.service.js +2 -2
- package/dist/services/menu-item-metadata.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts +4 -4
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +12 -11
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/model-sequence.service.d.ts +1 -1
- package/dist/services/module-metadata.service.d.ts +4 -4
- package/dist/services/module-metadata.service.d.ts.map +1 -1
- package/dist/services/module-metadata.service.js +2 -2
- package/dist/services/module-metadata.service.js.map +1 -1
- package/dist/services/mq-message-queue.service.d.ts +2 -2
- package/dist/services/mq-message.service.d.ts +2 -2
- package/dist/services/permission-metadata.service.d.ts +2 -2
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +2 -2
- package/dist/services/question-data-providers/helpers.d.ts +1 -1
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +2 -2
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +2 -2
- package/dist/services/queues/database-subscriber.service.d.ts +1 -1
- package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/database-subscriber.service.js.map +1 -1
- package/dist/services/queues/publisher-factory.service.d.ts +1 -1
- package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
- package/dist/services/queues/publisher-factory.service.js +2 -2
- package/dist/services/queues/publisher-factory.service.js.map +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.d.ts +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.js +3 -1
- package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
- package/dist/services/queues/redis-subscriber.service.d.ts +1 -1
- package/dist/services/queues/redis-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/redis-subscriber.service.js.map +1 -1
- package/dist/services/request-context.service.d.ts +2 -2
- package/dist/services/role-metadata.service.d.ts +3 -3
- package/dist/services/saved-filters.service.d.ts +2 -2
- package/dist/services/scheduled-job.service.d.ts +3 -3
- package/dist/services/scheduled-jobs/scheduled-job.interface.d.ts +1 -1
- package/dist/services/scheduled-jobs/scheduler.interface.d.ts +1 -1
- package/dist/services/scheduled-jobs/scheduler.service.d.ts +3 -3
- package/dist/services/security-rule.service.d.ts +3 -3
- package/dist/services/security-rule.service.d.ts.map +1 -1
- package/dist/services/security-rule.service.js +3 -3
- package/dist/services/security-rule.service.js.map +1 -1
- package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts +1 -1
- package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts +1 -1
- package/dist/services/selection-providers/list-of-models-selection-provider.service.d.ts +1 -1
- package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.d.ts +1 -1
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +3 -3
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -1
- package/dist/services/setting.service.d.ts +10 -7
- package/dist/services/setting.service.d.ts.map +1 -1
- package/dist/services/setting.service.js +52 -7
- package/dist/services/setting.service.js.map +1 -1
- package/dist/services/settings/default-settings-provider.service.d.ts +845 -9
- package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
- package/dist/services/settings/default-settings-provider.service.js +1096 -118
- package/dist/services/settings/default-settings-provider.service.js.map +1 -1
- package/dist/services/short-url/tiny-url.service.d.ts +1 -1
- package/dist/services/sms/Msg91BaseSMSService.d.ts +1 -1
- package/dist/services/sms/Msg91OTPService.d.ts +1 -1
- package/dist/services/sms/Msg91SMSService.d.ts +1 -1
- package/dist/services/sms/TwilioSMSService.d.ts +1 -1
- package/dist/services/sms-template.service.d.ts +1 -1
- package/dist/services/solid-introspect.service.d.ts +9 -8
- package/dist/services/solid-introspect.service.d.ts.map +1 -1
- package/dist/services/solid-introspect.service.js +13 -2
- package/dist/services/solid-introspect.service.js.map +1 -1
- package/dist/services/user-activity-history.service.d.ts +3 -3
- package/dist/services/user-view-metadata.service.d.ts +4 -4
- package/dist/services/user.service.d.ts +12 -8
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +143 -32
- package/dist/services/user.service.js.map +1 -1
- package/dist/services/view-metadata.service.d.ts +4 -4
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +2 -2
- package/dist/services/view-metadata.service.js.map +1 -1
- package/dist/services/whatsapp/Msg91WhatsappService.d.ts +1 -1
- package/dist/services/whatsapp/Three60WhatsappService.d.ts +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +11 -3
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.d.ts +4 -4
- package/dist/subscribers/computed-entity-field.subscriber.d.ts +2 -2
- package/dist/subscribers/computed-entity-field.subscriber.js +6 -6
- package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
- package/dist/subscribers/created-by-updated-by.subscriber.d.ts +1 -1
- package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts +3 -3
- package/dist/subscribers/dashboard-question.subscriber.d.ts +3 -3
- package/dist/subscribers/dashboard-variable.subscriber.d.ts +3 -3
- package/dist/subscribers/dashboard.subscriber.d.ts +3 -3
- package/dist/subscribers/list-of-values.subscriber.d.ts +3 -3
- package/dist/subscribers/model-metadata.subscriber.d.ts +1 -1
- package/dist/subscribers/scheduled-job.subscriber.d.ts +3 -3
- package/dist/subscribers/security-rule.subscriber.d.ts +3 -3
- package/dist/subscribers/view-metadata.subscriber.d.ts +2 -2
- package/dist/testing/contracts/testing-metadata.types.d.ts +1 -0
- package/dist/testing/contracts/testing-metadata.types.d.ts.map +1 -1
- package/dist/testing/contracts/testing-metadata.types.js.map +1 -1
- package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -1
- package/dist/testing/steps/ui/assertions.step.js +8 -0
- package/dist/testing/steps/ui/assertions.step.js.map +1 -1
- package/dist/testing/steps/ui/form.step.d.ts.map +1 -1
- package/dist/testing/steps/ui/form.step.js +49 -0
- package/dist/testing/steps/ui/form.step.js.map +1 -1
- package/dist/transformers/array-transformer.d.ts.map +1 -1
- package/dist/transformers/boolean-transformer.d.ts.map +1 -1
- package/dist/transformers/datetime-transformer.d.ts.map +1 -1
- package/dist/transformers/integer-transformer.d.ts.map +1 -1
- package/dist/validators/is-parsable-int.d.ts.map +1 -1
- package/dist/winston.logger.js +1 -1
- package/dist/winston.logger.js.map +1 -1
- package/nest +0 -0
- package/package.json +13 -7
- package/src/constants/chatter-message.constants.ts +7 -0
- package/src/controllers/authentication.controller.ts +8 -1
- package/src/controllers/chatter-message.controller.ts +6 -0
- package/src/controllers/facebook-authentication.controller.ts +113 -0
- package/src/controllers/menu-item-metadata.controller.ts +21 -15
- package/src/controllers/microsoft-authentication.controller.ts +116 -0
- package/src/controllers/otp-authentication.controller.ts +2 -2
- package/src/controllers/setting.controller.ts +2 -2
- package/src/decorators/extension-user-creation-provider.decorator.ts +5 -0
- package/src/dtos/create-chatter-message.dto.ts +11 -0
- package/src/dtos/create-field-metadata.dto.ts +1 -1
- package/src/dtos/create-user.dto.ts +4 -0
- package/src/dtos/post-chatter-message.dto.ts +4 -0
- package/src/dtos/update-chatter-message.dto.ts +13 -1
- package/src/dtos/update-user.dto.ts +4 -0
- package/src/entities/chatter-message.entity.ts +4 -1
- package/src/entities/user.entity.ts +33 -0
- package/src/helpers/bootstrap.helper.ts +5 -2
- package/src/helpers/cors.helper.ts +1 -1
- package/src/helpers/facebook-oauth.helper.ts +17 -0
- package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +1 -1
- package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +1 -2
- package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +1 -1
- package/src/helpers/microsoft-oauth.helper.ts +19 -0
- package/src/helpers/module-metadata-helper.service.ts +3 -3
- package/src/helpers/solid-registry.ts +19 -1
- package/src/helpers/string.helper.ts +3 -0
- package/src/helpers/user-helper.ts +4 -0
- package/src/index.ts +3 -0
- package/src/interfaces/mq.ts +2 -2
- package/src/interfaces.ts +41 -1
- package/src/jobs/database/api-email-subscriber-database.service.ts +1 -1
- package/src/jobs/database/msg91-whatsapp-subscriber-database.service.ts +1 -1
- package/src/jobs/database/three60-whatsapp-subscriber-database.service.ts +1 -1
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +1 -1
- package/src/jobs/rabbitmq/api-email-subscriber.service.ts +1 -1
- package/src/jobs/rabbitmq/msg91-whatsapp-subscriber.service.ts +1 -1
- package/src/jobs/rabbitmq/test-queue-subscriber.service.ts +6 -7
- package/src/jobs/rabbitmq/three60-whatsapp-subscriber.service.ts +1 -1
- package/src/jobs/redis/api-email-subscriber-redis.service.ts +1 -1
- package/src/jobs/redis/msg91-whatsapp-subscriber-redis.service.ts +1 -1
- package/src/jobs/redis/three60-whatsapp-subscriber-redis.service.ts +1 -1
- package/src/passport-strategies/facebook-oauth.strategy.ts +115 -0
- package/src/passport-strategies/microsoft-oauth.strategy.ts +70 -0
- package/src/repository/chatter-message-details.repository.ts +4 -3
- package/src/repository/chatter-message.repository.ts +4 -4
- package/src/repository/dashboard-question-sql-dataset-config.repository.ts +1 -1
- package/src/repository/dashboard-question.repository.ts +1 -1
- package/src/repository/dashboard-variable.repository.ts +1 -1
- package/src/repository/email-template.repository.ts +1 -1
- package/src/repository/export-template.repository.ts +2 -1
- package/src/repository/export-transaction.repository.ts +1 -1
- package/src/repository/import-transaction-error-log.repository.ts +1 -1
- package/src/repository/import-transaction.repository.ts +1 -1
- package/src/repository/list-of-values.repository.ts +1 -1
- package/src/repository/locale.repository.ts +1 -1
- package/src/repository/menu-item-metadata.repository.ts +1 -1
- package/src/repository/model-metadata.repository.ts +1 -1
- package/src/repository/module-metadata.repository.ts +1 -1
- package/src/repository/mq-message-queue.repository.ts +2 -1
- package/src/repository/mq-message.repository.ts +1 -1
- package/src/repository/permission-metadata.repository.ts +1 -1
- package/src/repository/role-metadata.repository.ts +1 -1
- package/src/repository/setting.repository.ts +1 -1
- package/src/repository/sms-template.repository.ts +1 -1
- package/src/repository/solid-base.repository.ts +2 -2
- package/src/repository/user-activity-history.repository.ts +1 -1
- package/src/repository/user-view-metadata.repository.ts +1 -1
- package/src/seeders/module-metadata-seeder.service.ts +50 -25
- package/src/seeders/module-test-data.service.ts +2 -9
- package/src/seeders/seed-data/solid-core-metadata.json +40 -89
- package/src/services/api-key.service.ts +77 -35
- package/src/services/authentication.service.ts +1947 -1434
- package/src/services/chatter-message.service.ts +22 -4
- package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +1 -2
- package/src/services/crud-helper.service.ts +1 -4
- package/src/services/crud.service.ts +22 -2
- package/src/services/dashboard-question.service.ts +1 -1
- package/src/services/export-transaction.service.ts +3 -4
- package/src/services/field-metadata.service.ts +1 -4
- package/src/services/fixtures.service.ts +1 -1
- package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +1 -2
- package/src/services/import-transaction.service.ts +1 -1
- package/src/services/menu-item-metadata.service.ts +2 -2
- package/src/services/model-metadata.service.ts +11 -13
- package/src/services/module-metadata.service.ts +1 -2
- package/src/services/queues/database-subscriber.service.ts +1 -1
- package/src/services/queues/publisher-factory.service.ts +1 -2
- package/src/services/queues/rabbitmq-subscriber.service.ts +13 -11
- package/src/services/queues/redis-subscriber.service.ts +2 -2
- package/src/services/security-rule.service.ts +1 -1
- package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +1 -1
- package/src/services/setting.service.ts +64 -8
- package/src/services/settings/default-settings-provider.service.ts +1168 -155
- package/src/services/solid-introspect.service.ts +14 -1
- package/src/services/user.service.ts +220 -61
- package/src/services/view-metadata.service.ts +1 -5
- package/src/solid-core.module.ts +25 -8
- package/src/subscribers/computed-entity-field.subscriber.ts +6 -6
- package/src/testing/contracts/testing-metadata.types.ts +1 -0
- package/src/testing/steps/ui/assertions.step.ts +9 -0
- package/src/testing/steps/ui/form.step.ts +19 -0
- package/src/winston.logger.ts +1 -1
- package/tsconfig.json +3 -0
- package/dev-grooming-docs/ozzy-prompts.txt +0 -70
- package/docs/grouping-enhancements.md +0 -89
- package/docs/seed-changes.md +0 -65
- package/docs/test-data-workflow.md +0 -200
- package/docs/type-declaration-import-issue.md +0 -24
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { classify } from '
|
|
1
|
+
import { classify } from '../helpers/string.helper';
|
|
2
2
|
import { Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common';
|
|
3
3
|
import { DiscoveryService, MetadataScanner, ModuleRef, Reflector } from '@nestjs/core';
|
|
4
4
|
import { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';
|
|
@@ -13,6 +13,7 @@ import { IS_MAIL_PROVIDER } from 'src/decorators/mail-provider.decorator';
|
|
|
13
13
|
import { IS_SCHEDULED_JOB_PROVIDER } from 'src/decorators/scheduled-job-provider.decorator';
|
|
14
14
|
import { IS_SECURITY_RULE_CONFIG_PROVIDER } from 'src/decorators/security-rule-config-provider.decorator';
|
|
15
15
|
import { IS_SELECTION_PROVIDER } from 'src/decorators/selection-provider.decorator';
|
|
16
|
+
import { IS_EXTENSION_USER_CREATION_PROVIDER } from 'src/decorators/extension-user-creation-provider.decorator';
|
|
16
17
|
import { IS_SOLID_DATABASE_MODULE } from 'src/decorators/solid-database-module.decorator';
|
|
17
18
|
import { IS_WA_PROVIDER } from 'src/decorators/whatsapp-provider.decorator';
|
|
18
19
|
import { SolidRegistry } from 'src/helpers/solid-registry';
|
|
@@ -144,6 +145,12 @@ export class SolidIntrospectService implements OnApplicationBootstrap {
|
|
|
144
145
|
this.solidRegistry.registerSecurityRuleConfigProvider(securityRuleConfigProvider);
|
|
145
146
|
});
|
|
146
147
|
|
|
148
|
+
// Register IExtensionUserCreationProvider implementation (at most one per project)
|
|
149
|
+
const extensionUserCreationProviders = this.discoveryService.getProviders().filter((provider) => this.isExtensionUserCreationProvider(provider));
|
|
150
|
+
extensionUserCreationProviders.forEach((provider) => {
|
|
151
|
+
this.solidRegistry.registerExtensionUserCreationProvider(provider);
|
|
152
|
+
});
|
|
153
|
+
|
|
147
154
|
// Register the core subscribers against all the configured database modules / datasources
|
|
148
155
|
await this.bootstrapCoreTypeOrmSubscribers(solidDatabaseModules);
|
|
149
156
|
await this.cacheAuditableModels();
|
|
@@ -287,6 +294,12 @@ export class SolidIntrospectService implements OnApplicationBootstrap {
|
|
|
287
294
|
return !!isSelectionProvider;
|
|
288
295
|
}
|
|
289
296
|
|
|
297
|
+
private isExtensionUserCreationProvider(provider: InstanceWrapper): boolean {
|
|
298
|
+
const { instance } = provider;
|
|
299
|
+
if (!instance) return false;
|
|
300
|
+
return !!this.reflector.get<boolean>(IS_EXTENSION_USER_CREATION_PROVIDER, instance.constructor);
|
|
301
|
+
}
|
|
302
|
+
|
|
290
303
|
private isSettingsProvider(provider: InstanceWrapper) {
|
|
291
304
|
const { instance } = provider;
|
|
292
305
|
if (!instance) return false;
|
|
@@ -1,37 +1,68 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
BadRequestException,
|
|
3
|
+
forwardRef,
|
|
4
|
+
Inject,
|
|
5
|
+
Injectable,
|
|
6
|
+
} from "@nestjs/common";
|
|
2
7
|
import { ModuleRef } from "@nestjs/core";
|
|
3
|
-
import { InjectEntityManager, InjectRepository } from
|
|
4
|
-
import { CRUDService } from
|
|
5
|
-
import { EntityManager, Repository } from
|
|
8
|
+
import { InjectEntityManager, InjectRepository } from "@nestjs/typeorm";
|
|
9
|
+
import { CRUDService } from "src/services/crud.service";
|
|
10
|
+
import { EntityManager, Repository } from "typeorm";
|
|
6
11
|
import type { SolidCoreSetting } from "src/services/settings/default-settings-provider.service";
|
|
7
12
|
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { HashingService } from './hashing.service';
|
|
13
|
+
import { OauthUserDto } from "../dtos/oauth-user-dto";
|
|
14
|
+
import { RoleMetadata } from "../entities/role-metadata.entity";
|
|
15
|
+
import { User } from "../entities/user.entity";
|
|
16
|
+
import { ActiveUserData } from "../interfaces/active-user-data.interface";
|
|
17
|
+
import { ERROR_MESSAGES } from "src/constants/error-messages";
|
|
18
|
+
import { UserRepository } from "src/repository/user.repository";
|
|
19
|
+
import { RoleMetadataRepository } from "src/repository/role-metadata.repository";
|
|
20
|
+
import { HashingService } from "./hashing.service";
|
|
17
21
|
|
|
18
22
|
@Injectable()
|
|
19
23
|
export class UserService extends CRUDService<User> {
|
|
24
|
+
private buildFacebookUsernameBase(name?: string): string {
|
|
25
|
+
const normalized = (name || "")
|
|
26
|
+
.trim()
|
|
27
|
+
.toLowerCase()
|
|
28
|
+
.replace(/[^a-z0-9]+/g, "_")
|
|
29
|
+
.replace(/^_+|_+$/g, "");
|
|
30
|
+
return normalized || "facebook_user";
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
private async resolveUniqueUsername(
|
|
34
|
+
preferredUsername: string,
|
|
35
|
+
// fallbackUsername: string,
|
|
36
|
+
): Promise<string> {
|
|
37
|
+
let candidate = preferredUsername;
|
|
38
|
+
let suffix = 0;
|
|
39
|
+
|
|
40
|
+
while (await this.repo.findOne({ where: { username: candidate } })) {
|
|
41
|
+
suffix += 1;
|
|
42
|
+
candidate = `${preferredUsername}_${suffix}`;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (candidate) {
|
|
46
|
+
return candidate;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// return fallbackUsername;
|
|
50
|
+
}
|
|
51
|
+
|
|
20
52
|
constructor(
|
|
21
53
|
readonly hashingService: HashingService,
|
|
22
54
|
@InjectEntityManager()
|
|
23
55
|
readonly entityManager: EntityManager,
|
|
24
56
|
// @InjectRepository(User, 'default')
|
|
25
57
|
readonly repo: UserRepository,
|
|
26
|
-
@InjectRepository(User,
|
|
58
|
+
@InjectRepository(User, "default")
|
|
27
59
|
readonly nonSecurityRuleAwareRepo: Repository<User>,
|
|
28
60
|
// @InjectRepository(RoleMetadata)
|
|
29
61
|
// private readonly roleRepository: Repository<RoleMetadata>,
|
|
30
62
|
private readonly roleRepository: RoleMetadataRepository,
|
|
31
63
|
readonly moduleRef: ModuleRef,
|
|
32
|
-
|
|
33
64
|
) {
|
|
34
|
-
super(entityManager, repo,
|
|
65
|
+
super(entityManager, repo, "user", "solid-core", moduleRef);
|
|
35
66
|
}
|
|
36
67
|
|
|
37
68
|
override async delete(id: number, solidRequestContext: any = {}) {
|
|
@@ -44,13 +75,19 @@ export class UserService extends CRUDService<User> {
|
|
|
44
75
|
return super.delete(id, solidRequestContext);
|
|
45
76
|
}
|
|
46
77
|
|
|
47
|
-
override async deleteMany(
|
|
78
|
+
override async deleteMany(
|
|
79
|
+
ids: number[],
|
|
80
|
+
solidRequestContext: any = {},
|
|
81
|
+
): Promise<any> {
|
|
48
82
|
if (!ids || ids.length === 0) {
|
|
49
83
|
throw new Error(ERROR_MESSAGES.DELETE_IDS_REQUIRED);
|
|
50
84
|
}
|
|
51
85
|
|
|
52
86
|
// ❌ If the active user is trying to delete themselves
|
|
53
|
-
if (
|
|
87
|
+
if (
|
|
88
|
+
solidRequestContext?.activeUser?.sub &&
|
|
89
|
+
ids.includes(solidRequestContext.activeUser.id)
|
|
90
|
+
) {
|
|
54
91
|
throw new BadRequestException(ERROR_MESSAGES.DELETE_SELF_NOT_ALLOWED);
|
|
55
92
|
}
|
|
56
93
|
|
|
@@ -60,9 +97,9 @@ export class UserService extends CRUDService<User> {
|
|
|
60
97
|
async findOneByEmail(email: string): Promise<User> {
|
|
61
98
|
return await this.repo.findOne({
|
|
62
99
|
where: {
|
|
63
|
-
email: email
|
|
100
|
+
email: email,
|
|
64
101
|
},
|
|
65
|
-
relations: {}
|
|
102
|
+
relations: {},
|
|
66
103
|
});
|
|
67
104
|
// if (!entity) {
|
|
68
105
|
// throw new NotFoundException(`user with email #${email} not found`);
|
|
@@ -73,18 +110,18 @@ export class UserService extends CRUDService<User> {
|
|
|
73
110
|
async findOneByAccessCode(accessCode: string): Promise<User> {
|
|
74
111
|
return await this.repo.findOne({
|
|
75
112
|
where: {
|
|
76
|
-
accessCode: accessCode
|
|
113
|
+
accessCode: accessCode,
|
|
77
114
|
},
|
|
78
|
-
relations: {}
|
|
115
|
+
relations: {},
|
|
79
116
|
});
|
|
80
117
|
}
|
|
81
118
|
|
|
82
119
|
async findOneByUsername(username: string): Promise<User> {
|
|
83
120
|
return await this.repo.findOne({
|
|
84
121
|
where: {
|
|
85
|
-
username: username
|
|
122
|
+
username: username,
|
|
86
123
|
},
|
|
87
|
-
relations: {}
|
|
124
|
+
relations: {},
|
|
88
125
|
});
|
|
89
126
|
// if (!entity) {
|
|
90
127
|
// throw new NotFoundException(`user with username ${username} not found`);
|
|
@@ -96,8 +133,8 @@ export class UserService extends CRUDService<User> {
|
|
|
96
133
|
const user = await this.repo.findOne({
|
|
97
134
|
where: { id: id },
|
|
98
135
|
relations: {
|
|
99
|
-
roles: true
|
|
100
|
-
}
|
|
136
|
+
roles: true,
|
|
137
|
+
},
|
|
101
138
|
});
|
|
102
139
|
if (!user) {
|
|
103
140
|
throw new Error(ERROR_MESSAGES.USER_NOT_FOUND);
|
|
@@ -113,21 +150,22 @@ export class UserService extends CRUDService<User> {
|
|
|
113
150
|
const user = await this.repo.findOne({
|
|
114
151
|
where: { username: username },
|
|
115
152
|
relations: {
|
|
116
|
-
roles: true
|
|
117
|
-
}
|
|
153
|
+
roles: true,
|
|
154
|
+
},
|
|
118
155
|
});
|
|
119
156
|
if (!user) {
|
|
120
157
|
throw new Error(ERROR_MESSAGES.USER_NOT_FOUND_BY_USERNAME(username));
|
|
121
158
|
}
|
|
122
|
-
const role = await this.roleRepository.findOne({
|
|
159
|
+
const role = await this.roleRepository.findOne({
|
|
160
|
+
where: { name: roleName },
|
|
161
|
+
});
|
|
123
162
|
if (!role) {
|
|
124
163
|
throw new Error(ERROR_MESSAGES.ROLE_NOT_FOUND(roleName));
|
|
125
164
|
}
|
|
126
165
|
|
|
127
166
|
if (user.roles && user.roles.length > 0) {
|
|
128
167
|
user.roles.push(role);
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
168
|
+
} else {
|
|
131
169
|
user.roles = [role];
|
|
132
170
|
}
|
|
133
171
|
|
|
@@ -137,7 +175,7 @@ export class UserService extends CRUDService<User> {
|
|
|
137
175
|
async addRolesToUser(username: string, roleNames: string[]): Promise<User> {
|
|
138
176
|
const user = await this.nonSecurityRuleAwareRepo.findOne({
|
|
139
177
|
where: { username: username },
|
|
140
|
-
relations: { roles: true }
|
|
178
|
+
relations: { roles: true },
|
|
141
179
|
});
|
|
142
180
|
|
|
143
181
|
if (!user) {
|
|
@@ -145,43 +183,47 @@ export class UserService extends CRUDService<User> {
|
|
|
145
183
|
}
|
|
146
184
|
|
|
147
185
|
const roles = await this.roleRepository.find({
|
|
148
|
-
where: roleNames.map(roleName => ({ name: roleName }))
|
|
186
|
+
where: roleNames.map((roleName) => ({ name: roleName })),
|
|
149
187
|
});
|
|
150
188
|
|
|
151
189
|
if (roles.length !== roleNames.length) {
|
|
152
|
-
const foundRoleNames = roles.map(role => role.name);
|
|
153
|
-
const missingRoles = roleNames.filter(
|
|
190
|
+
const foundRoleNames = roles.map((role) => role.name);
|
|
191
|
+
const missingRoles = roleNames.filter(
|
|
192
|
+
(roleName) => !foundRoleNames.includes(roleName),
|
|
193
|
+
);
|
|
154
194
|
throw new Error(ERROR_MESSAGES.ROLES_NOT_FOUND(missingRoles));
|
|
155
195
|
}
|
|
156
196
|
|
|
157
|
-
const currentRoles = user.roles.map(role => role.name);
|
|
197
|
+
const currentRoles = user.roles.map((role) => role.name);
|
|
158
198
|
|
|
159
|
-
const rolesToAdd = roles.filter(
|
|
199
|
+
const rolesToAdd = roles.filter(
|
|
200
|
+
(role) => !currentRoles.includes(role.name),
|
|
201
|
+
);
|
|
160
202
|
|
|
161
|
-
const rolesToRemove = user.roles.filter(
|
|
203
|
+
const rolesToRemove = user.roles.filter(
|
|
204
|
+
(role) => !roleNames.includes(role.name),
|
|
205
|
+
);
|
|
162
206
|
|
|
163
207
|
if (rolesToAdd.length > 0) {
|
|
164
208
|
user.roles.push(...rolesToAdd);
|
|
165
209
|
}
|
|
166
210
|
|
|
167
211
|
if (rolesToRemove.length > 0) {
|
|
168
|
-
user.roles = user.roles.filter(role => !rolesToRemove.includes(role));
|
|
212
|
+
user.roles = user.roles.filter((role) => !rolesToRemove.includes(role));
|
|
169
213
|
}
|
|
170
214
|
|
|
171
215
|
return await this.nonSecurityRuleAwareRepo.save(user);
|
|
172
216
|
}
|
|
173
217
|
|
|
174
|
-
|
|
175
218
|
async removeRoleFromUser(username: string, roleName: string): Promise<User> {
|
|
176
|
-
|
|
177
219
|
// load the role with the respective permissions.
|
|
178
220
|
const user = await this.repo.findOne({
|
|
179
221
|
where: {
|
|
180
|
-
username: username
|
|
222
|
+
username: username,
|
|
181
223
|
},
|
|
182
224
|
relations: {
|
|
183
|
-
roles: true
|
|
184
|
-
}
|
|
225
|
+
roles: true,
|
|
226
|
+
},
|
|
185
227
|
});
|
|
186
228
|
|
|
187
229
|
if (!user) {
|
|
@@ -189,7 +231,7 @@ export class UserService extends CRUDService<User> {
|
|
|
189
231
|
}
|
|
190
232
|
|
|
191
233
|
// modify the permissions array.
|
|
192
|
-
user.roles = user.roles.filter(role => role.name !== roleName);
|
|
234
|
+
user.roles = user.roles.filter((role) => role.name !== roleName);
|
|
193
235
|
|
|
194
236
|
return await this.repo.save(user);
|
|
195
237
|
}
|
|
@@ -201,11 +243,11 @@ export class UserService extends CRUDService<User> {
|
|
|
201
243
|
email: oauthUserDto.email,
|
|
202
244
|
},
|
|
203
245
|
relations: {
|
|
204
|
-
roles: true
|
|
205
|
-
}
|
|
246
|
+
roles: true,
|
|
247
|
+
},
|
|
206
248
|
});
|
|
207
249
|
|
|
208
|
-
// if we are unable to find a user then we need to create one.
|
|
250
|
+
// if we are unable to find a user then we need to create one.
|
|
209
251
|
if (!user) {
|
|
210
252
|
const user = new User();
|
|
211
253
|
user.username = oauthUserDto.email;
|
|
@@ -220,9 +262,12 @@ export class UserService extends CRUDService<User> {
|
|
|
220
262
|
const savedUser = await this.repo.save(user);
|
|
221
263
|
|
|
222
264
|
// Initialize the user roles
|
|
223
|
-
await this.initializeRolesForNewUser(
|
|
265
|
+
await this.initializeRolesForNewUser(
|
|
266
|
+
[this.settingService.getConfigValue<SolidCoreSetting>("defaultRole")],
|
|
267
|
+
savedUser,
|
|
268
|
+
);
|
|
224
269
|
}
|
|
225
|
-
// else we update the user and store the generated code & access token.
|
|
270
|
+
// else we update the user and store the generated code & access token.
|
|
226
271
|
else {
|
|
227
272
|
const entity = await this.repo.preload({
|
|
228
273
|
id: user.id,
|
|
@@ -239,21 +284,138 @@ export class UserService extends CRUDService<User> {
|
|
|
239
284
|
return user;
|
|
240
285
|
}
|
|
241
286
|
|
|
242
|
-
async
|
|
287
|
+
async resolveUserOnOauthFacebook(oauthUserDto: OauthUserDto): Promise<User> {
|
|
288
|
+
const normalizedEmail = oauthUserDto.email?.trim().toLowerCase() || null;
|
|
289
|
+
let user: User | null = null;
|
|
290
|
+
|
|
291
|
+
if (oauthUserDto.providerId) {
|
|
292
|
+
user = await this.repo.findOne({
|
|
293
|
+
where: {
|
|
294
|
+
facebookId: oauthUserDto.providerId,
|
|
295
|
+
},
|
|
296
|
+
relations: {
|
|
297
|
+
roles: true,
|
|
298
|
+
},
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
if (!user) {
|
|
303
|
+
const facebookProviderFallback = `facebook_${oauthUserDto.providerId}`;
|
|
304
|
+
const facebookNameUsername = this.buildFacebookUsernameBase(
|
|
305
|
+
oauthUserDto.name,
|
|
306
|
+
);
|
|
307
|
+
// let username = normalizedEmail || facebookNameUsername;
|
|
308
|
+
let username = facebookNameUsername;
|
|
309
|
+
|
|
310
|
+
let email = normalizedEmail;
|
|
311
|
+
|
|
312
|
+
// Avoid clashing with local users that already own the same email/username.
|
|
313
|
+
if (normalizedEmail) {
|
|
314
|
+
const existingByEmail = await this.repo.findOne({
|
|
315
|
+
where: { email: normalizedEmail },
|
|
316
|
+
});
|
|
317
|
+
if (existingByEmail) {
|
|
318
|
+
username = facebookNameUsername;
|
|
319
|
+
email = null;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
username = await this.resolveUniqueUsername(
|
|
323
|
+
username,
|
|
324
|
+
// facebookProviderFallback,
|
|
325
|
+
);
|
|
326
|
+
|
|
327
|
+
const newUser = new User();
|
|
328
|
+
newUser.username = username;
|
|
329
|
+
newUser.email = email;
|
|
330
|
+
newUser.fullName = oauthUserDto.name;
|
|
331
|
+
newUser.lastLoginProvider = oauthUserDto.provider;
|
|
332
|
+
newUser.accessCode = oauthUserDto.accessCode;
|
|
333
|
+
newUser.facebookAccessToken = oauthUserDto.accessToken;
|
|
334
|
+
newUser.facebookId = oauthUserDto.providerId;
|
|
335
|
+
newUser.facebookProfilePicture = oauthUserDto.picture;
|
|
336
|
+
|
|
337
|
+
const savedUser = await this.repo.save(newUser);
|
|
338
|
+
|
|
339
|
+
await this.initializeRolesForNewUser(
|
|
340
|
+
[this.settingService.getConfigValue<SolidCoreSetting>("defaultRole")],
|
|
341
|
+
savedUser,
|
|
342
|
+
);
|
|
343
|
+
return savedUser;
|
|
344
|
+
} else {
|
|
345
|
+
const entity = await this.repo.preload({
|
|
346
|
+
id: user.id,
|
|
347
|
+
lastLoginProvider: oauthUserDto.provider,
|
|
348
|
+
accessCode: oauthUserDto.accessCode,
|
|
349
|
+
facebookAccessToken: oauthUserDto.accessToken,
|
|
350
|
+
facebookId: oauthUserDto.providerId,
|
|
351
|
+
facebookProfilePicture: oauthUserDto.picture,
|
|
352
|
+
});
|
|
353
|
+
await this.repo.save(entity);
|
|
354
|
+
return entity;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
async resolveUserOnOauthMicrosoft(oauthUserDto: OauthUserDto): Promise<User> {
|
|
359
|
+
const user = await this.repo.findOne({
|
|
360
|
+
where: {
|
|
361
|
+
email: oauthUserDto.email,
|
|
362
|
+
},
|
|
363
|
+
relations: {
|
|
364
|
+
roles: true,
|
|
365
|
+
},
|
|
366
|
+
});
|
|
367
|
+
|
|
368
|
+
if (!user) {
|
|
369
|
+
const newUser = new User();
|
|
370
|
+
newUser.username = oauthUserDto.email;
|
|
371
|
+
newUser.email = oauthUserDto.email;
|
|
372
|
+
newUser.fullName = oauthUserDto.name;
|
|
373
|
+
newUser.lastLoginProvider = oauthUserDto.provider;
|
|
374
|
+
newUser.accessCode = oauthUserDto.accessCode;
|
|
375
|
+
newUser.microsoftAccessToken = oauthUserDto.accessToken;
|
|
376
|
+
newUser.microsoftId = oauthUserDto.providerId;
|
|
377
|
+
newUser.microsoftProfilePicture = oauthUserDto.picture;
|
|
378
|
+
|
|
379
|
+
const savedUser = await this.repo.save(newUser);
|
|
380
|
+
|
|
381
|
+
await this.initializeRolesForNewUser(
|
|
382
|
+
[this.settingService.getConfigValue<SolidCoreSetting>("defaultRole")],
|
|
383
|
+
savedUser,
|
|
384
|
+
);
|
|
385
|
+
} else {
|
|
386
|
+
const entity = await this.repo.preload({
|
|
387
|
+
id: user.id,
|
|
388
|
+
lastLoginProvider: oauthUserDto.provider,
|
|
389
|
+
accessCode: oauthUserDto.accessCode,
|
|
390
|
+
microsoftAccessToken: oauthUserDto.accessToken,
|
|
391
|
+
microsoftId: oauthUserDto.providerId,
|
|
392
|
+
microsoftProfilePicture: oauthUserDto.picture,
|
|
393
|
+
});
|
|
394
|
+
|
|
395
|
+
await this.repo.save(entity);
|
|
396
|
+
}
|
|
397
|
+
return user;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
async findUsersByRole(
|
|
401
|
+
roleName: string,
|
|
402
|
+
relations: any = {},
|
|
403
|
+
): Promise<User[]> {
|
|
243
404
|
return await this.repo.find({
|
|
244
405
|
where: {
|
|
245
406
|
roles: {
|
|
246
|
-
name: roleName
|
|
247
|
-
}
|
|
407
|
+
name: roleName,
|
|
408
|
+
},
|
|
248
409
|
},
|
|
249
|
-
relations: relations
|
|
410
|
+
relations: relations,
|
|
250
411
|
});
|
|
251
412
|
}
|
|
252
413
|
|
|
253
414
|
async checkIfPermissionExists(query: any, activeUser: ActiveUserData) {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
415
|
+
const matchingPermssions = activeUser.permissions.filter((p) =>
|
|
416
|
+
query.permissionNames.includes(p),
|
|
417
|
+
);
|
|
418
|
+
return matchingPermssions;
|
|
257
419
|
}
|
|
258
420
|
|
|
259
421
|
async initializeRolesForNewUser(roles: string[], user: User) {
|
|
@@ -261,7 +423,7 @@ export class UserService extends CRUDService<User> {
|
|
|
261
423
|
throw new BadRequestException(ERROR_MESSAGES.USER_MISSING_ID);
|
|
262
424
|
}
|
|
263
425
|
let userRoles = [];
|
|
264
|
-
// Default Internal user role assigned
|
|
426
|
+
// Default Internal user role assigned
|
|
265
427
|
userRoles.push("Internal User");
|
|
266
428
|
if (roles) {
|
|
267
429
|
userRoles = [...userRoles, ...roles];
|
|
@@ -285,7 +447,4 @@ export class UserService extends CRUDService<User> {
|
|
|
285
447
|
passwordSchemeVersion: this.hashingService.currentVersion(),
|
|
286
448
|
};
|
|
287
449
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
450
|
}
|
|
291
|
-
|
|
@@ -4,8 +4,7 @@ import { InjectEntityManager } from '@nestjs/typeorm';
|
|
|
4
4
|
import { CRUDService } from 'src/services/crud.service';
|
|
5
5
|
import { EntityManager } from 'typeorm';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
import { classify } from '@angular-devkit/core/src/utils/strings';
|
|
7
|
+
import { classify } from '../helpers/string.helper';
|
|
9
8
|
import { Locale } from 'src/entities/locale.entity';
|
|
10
9
|
import { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';
|
|
11
10
|
import { SolidRegistry } from 'src/helpers/solid-registry';
|
|
@@ -111,7 +110,6 @@ export class ViewMetadataService extends CRUDService<ViewMetadata> {
|
|
|
111
110
|
async getLayout(query, activeUser) {
|
|
112
111
|
let { modelName, moduleName, viewType, id, populate, menuItemId, menuItemName, actionId, actionName } = query;
|
|
113
112
|
|
|
114
|
-
|
|
115
113
|
// 1. Fetch the action based on actionId.
|
|
116
114
|
const solidRequestContext = {
|
|
117
115
|
activeUser: activeUser
|
|
@@ -156,7 +154,6 @@ export class ViewMetadataService extends CRUDService<ViewMetadata> {
|
|
|
156
154
|
}));
|
|
157
155
|
}
|
|
158
156
|
|
|
159
|
-
|
|
160
157
|
const viewId = action?.view?.id
|
|
161
158
|
// 3. Fetch the view based on module, model & view name.
|
|
162
159
|
const entity = await this.repo.findOne({
|
|
@@ -203,7 +200,6 @@ export class ViewMetadataService extends CRUDService<ViewMetadata> {
|
|
|
203
200
|
entity.layout = JSON.parse(entity.layout);
|
|
204
201
|
}
|
|
205
202
|
|
|
206
|
-
|
|
207
203
|
// 6. We are resolving the create & edit actions if specified in the layout.
|
|
208
204
|
if (entity?.layout?.attrs?.createAction) {
|
|
209
205
|
const actionName: string = entity.layout.attrs.createAction;
|
package/src/solid-core.module.ts
CHANGED
|
@@ -26,7 +26,7 @@ import { ModuleMetadata } from './entities/module-metadata.entity';
|
|
|
26
26
|
import { CommandService } from './helpers/command.service';
|
|
27
27
|
import { SchematicService } from './helpers/schematic.service';
|
|
28
28
|
import { ListOfValuesSelectionProvider } from './services/selection-providers/list-of-values-selection-providers.service';
|
|
29
|
-
import { PseudoForeignKeySelectionProvider } from './services/selection-providers/pseudo-foreign-key-selection-provider.service'
|
|
29
|
+
import { PseudoForeignKeySelectionProvider } from './services/selection-providers/pseudo-foreign-key-selection-provider.service';
|
|
30
30
|
import { ModuleMetadataSeederService } from './seeders/module-metadata-seeder.service';
|
|
31
31
|
import { ModuleTestDataService } from './seeders/module-test-data.service';
|
|
32
32
|
import { CrudHelperService } from './services/crud-helper.service';
|
|
@@ -55,6 +55,11 @@ import { ActionMetadataController } from './controllers/action-metadata.controll
|
|
|
55
55
|
import { ActionMetadata } from './entities/action-metadata.entity';
|
|
56
56
|
import { ActionMetadataService } from './services/action-metadata.service';
|
|
57
57
|
|
|
58
|
+
import { FacebookAuthenticationController } from './controllers/facebook-authentication.controller';
|
|
59
|
+
import { MicrosoftAuthenticationController } from './controllers/microsoft-authentication.controller';
|
|
60
|
+
import { FacebookOAuthStrategy } from './passport-strategies/facebook-oauth.strategy';
|
|
61
|
+
import { MicrosoftOAuthStrategy } from './passport-strategies/microsoft-oauth.strategy';
|
|
62
|
+
|
|
58
63
|
import { HttpModule } from '@nestjs/axios';
|
|
59
64
|
import { JwtModule } from '@nestjs/jwt';
|
|
60
65
|
import { SeedCommand } from './commands/seed.command';
|
|
@@ -133,7 +138,14 @@ import { BcryptService } from './services/bcrypt.service';
|
|
|
133
138
|
import { UuidExternalIdEntityComputedFieldProvider } from './services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service';
|
|
134
139
|
import { UuidExternalIdComputedFieldProvider } from './services/computed-fields/uuid-external-id-computed-field-provider.service';
|
|
135
140
|
import { EmailTemplateService } from './services/email-template.service';
|
|
136
|
-
import {
|
|
141
|
+
import {
|
|
142
|
+
DiskFileService,
|
|
143
|
+
S3FileService,
|
|
144
|
+
FileServiceFactory,
|
|
145
|
+
DiskStoragePathBuilder,
|
|
146
|
+
S3StoragePathBuilder,
|
|
147
|
+
StoragePathBuilderFactory,
|
|
148
|
+
} from './services/file';
|
|
137
149
|
import { HashingService } from './services/hashing.service';
|
|
138
150
|
import { ElasticEmailService } from './services/mail/elastic-email.service';
|
|
139
151
|
import { SMTPEMailService } from './services/mail/smtp-email.service';
|
|
@@ -229,7 +241,6 @@ import { SmtpEmailQueueSubscriberDatabase } from './jobs/database/smtp-email-sub
|
|
|
229
241
|
import { TwilioSmsQueuePublisherDatabase } from './jobs/database/twilio-sms-publisher-database.service';
|
|
230
242
|
import { TwilioSmsQueueSubscriberDatabase } from './jobs/database/twilio-sms-subscriber-database.service';
|
|
231
243
|
|
|
232
|
-
|
|
233
244
|
// import { ThrottlerModule } from '@nestjs/throttler';
|
|
234
245
|
import { IngestCommand } from './commands/ingest.command';
|
|
235
246
|
import { MailFactory } from './factories/mail.factory';
|
|
@@ -380,7 +391,6 @@ import { InfoCommand } from './commands/info.command';
|
|
|
380
391
|
import { ListOfRolesSelectionProvider } from './services/selection-providers/list-of-roles-selectionproviders.service';
|
|
381
392
|
import { Entity } from 'typeorm';
|
|
382
393
|
|
|
383
|
-
|
|
384
394
|
@Global()
|
|
385
395
|
@Module({
|
|
386
396
|
imports: [
|
|
@@ -442,12 +452,12 @@ import { Entity } from 'typeorm';
|
|
|
442
452
|
// you can also expose CORS here (not needed for simple <img>):
|
|
443
453
|
// res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000');
|
|
444
454
|
},
|
|
445
|
-
}
|
|
455
|
+
},
|
|
446
456
|
}),
|
|
447
457
|
MulterModule.registerAsync({
|
|
448
458
|
imports: [ConfigModule],
|
|
449
459
|
useFactory: async (configService: ConfigService) => ({
|
|
450
|
-
dest: process.env.AB_MEDIA_UPLOAD_DIR ??
|
|
460
|
+
dest: process.env.AB_MEDIA_UPLOAD_DIR ?? 'media-uploads',
|
|
451
461
|
}),
|
|
452
462
|
inject: [ConfigService],
|
|
453
463
|
}),
|
|
@@ -474,6 +484,8 @@ import { Entity } from 'typeorm';
|
|
|
474
484
|
ExportTransactionController,
|
|
475
485
|
FieldMetadataController,
|
|
476
486
|
GoogleAuthenticationController,
|
|
487
|
+
FacebookAuthenticationController,
|
|
488
|
+
MicrosoftAuthenticationController,
|
|
477
489
|
ImportTransactionController,
|
|
478
490
|
ImportTransactionErrorLogController,
|
|
479
491
|
ListOfValuesController,
|
|
@@ -524,7 +536,7 @@ import { Entity } from 'typeorm';
|
|
|
524
536
|
},
|
|
525
537
|
{
|
|
526
538
|
provide: APP_FILTER,
|
|
527
|
-
useClass: HttpExceptionFilter
|
|
539
|
+
useClass: HttpExceptionFilter,
|
|
528
540
|
},
|
|
529
541
|
ModuleMetadataService,
|
|
530
542
|
ModuleMetadataHelperService,
|
|
@@ -640,6 +652,8 @@ import { Entity } from 'typeorm';
|
|
|
640
652
|
RefreshTokenIdsStorageService,
|
|
641
653
|
SsoCodeStorageService,
|
|
642
654
|
GoogleOauthStrategy,
|
|
655
|
+
FacebookOAuthStrategy,
|
|
656
|
+
MicrosoftOAuthStrategy,
|
|
643
657
|
UserRegistrationListener,
|
|
644
658
|
TestQueuePublisher,
|
|
645
659
|
TestQueueSubscriber,
|
|
@@ -873,7 +887,10 @@ import { Entity } from 'typeorm';
|
|
|
873
887
|
export class SolidCoreModule implements NestModule {
|
|
874
888
|
configure(consumer: MiddlewareConsumer) {
|
|
875
889
|
consumer
|
|
876
|
-
.apply(
|
|
890
|
+
.apply(
|
|
891
|
+
express.json({ limit: '10mb' }),
|
|
892
|
+
express.urlencoded({ limit: '10mb', extended: true }),
|
|
893
|
+
)
|
|
877
894
|
.forRoutes('*');
|
|
878
895
|
}
|
|
879
896
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { camelCase } from 'lodash';
|
|
2
2
|
import { Delete } from "@aws-sdk/client-s3";
|
|
3
3
|
import { forwardRef, Inject, Injectable, InternalServerErrorException, Logger, Scope } from "@nestjs/common";
|
|
4
4
|
import { model } from "mongoose";
|
|
@@ -35,33 +35,33 @@ export class ComputedEntityFieldSubscriber implements EntitySubscriberInterface
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
async beforeInsert(event: InsertEvent<any>): Promise<any> {
|
|
38
|
-
const modelName =
|
|
38
|
+
const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
|
|
39
39
|
const eventContext = this.sanitizeEventContext(event, 'beforeInsert');
|
|
40
40
|
await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeInsert, modelName, eventContext);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
async beforeUpdate(event: UpdateEvent<any>): Promise<any> {
|
|
44
|
-
const modelName =
|
|
44
|
+
const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
|
|
45
45
|
const eventContext = this.sanitizeEventContext(event, 'beforeUpdate');
|
|
46
46
|
// await this.handleComputedFieldEvaluation(event.databaseEntity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);
|
|
47
47
|
await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
afterInsert(event: InsertEvent<any>) {
|
|
51
|
-
const modelName =
|
|
51
|
+
const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
|
|
52
52
|
const eventContext = this.sanitizeEventContext(event, 'afterInsert');
|
|
53
53
|
this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterInsert, modelName, eventContext);
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
afterUpdate(event: UpdateEvent<any>) {
|
|
57
|
-
const modelName =
|
|
57
|
+
const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');
|
|
58
58
|
const eventContext = this.sanitizeEventContext(event, 'afterUpdate');
|
|
59
59
|
// this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);
|
|
60
60
|
this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
afterRemove(event: RemoveEvent<any>) {
|
|
64
|
-
const modelName =
|
|
64
|
+
const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');
|
|
65
65
|
const eventContext = this.sanitizeEventContext(event, 'afterRemove');
|
|
66
66
|
this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterRemove, modelName, eventContext);
|
|
67
67
|
}
|