@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computed-entity-field.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelize } from \"@angular-devkit/core/src/utils/strings\";\nimport { Delete } from \"@aws-sdk/client-s3\";\nimport { forwardRef, Inject, Injectable, InternalServerErrorException, Logger, Scope } from \"@nestjs/common\";\nimport { model } from \"mongoose\";\nimport { ComputedFieldTriggerOperation } from \"src/dtos/create-field-metadata.dto\";\nimport { ComputedFieldMetadata, SolidRegistry, TypeOrmEventContext } from \"src/helpers/solid-registry\";\nimport { IEntityPreComputeFieldProvider } from \"src/interfaces\";\nimport { PublisherFactory } from \"src/services/queues/publisher-factory.service\";\nimport { DataSource, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from \"typeorm\";\n\n// Create an interface i.e ComputedFieldEvaluationPayload which has same fields as the ComputedFieldMetadata and an additional field for the database entity\nexport interface ComputedFieldEvaluationPayload extends ComputedFieldMetadata {\n databaseEntity: any;\n}\n\n@Injectable({ scope: Scope.TRANSIENT })\n// @EventSubscriber()\nexport class ComputedEntityFieldSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(this.constructor.name);\n private dataSource: DataSource;\n constructor(\n // @InjectDataSource()\n // private readonly dataSource: DataSource,\n private readonly solidRegistry: SolidRegistry,\n @Inject(forwardRef(() => PublisherFactory))\n private readonly publisherFactory: PublisherFactory<ComputedFieldEvaluationPayload>\n // private readonly computedFieldPublisher: ComputedFieldEvaluationPublisherDatabase,\n ) {\n // this.dataSource.subscribers.push(this);\n }\n\n bindToDataSource(dataSource: DataSource) {\n this.dataSource = dataSource;\n this.dataSource.subscribers.push(this);\n }\n\n async beforeInsert(event: InsertEvent<any>): Promise<any> {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeInsert');\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeInsert, modelName, eventContext);\n }\n\n async beforeUpdate(event: UpdateEvent<any>): Promise<any> {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeUpdate');\n // await this.handleComputedFieldEvaluation(event.databaseEntity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n }\n\n afterInsert(event: InsertEvent<any>) {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterInsert');\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterInsert, modelName, eventContext);\n }\n\n afterUpdate(event: UpdateEvent<any>) {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterUpdate');\n // this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n }\n\n afterRemove(event: RemoveEvent<any>) {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterRemove');\n this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterRemove, modelName, eventContext);\n }\n\n //FIXME: Need to add support for beforeRemove, beforeSoftRemove, afterSoftRemove, beforeRecover, afterRecover\n\n private async handleComputedFieldEvaluation(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext): Promise<void> {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n await this.evaluateComputedField(this.attachContext(computedField, eventContext), entity, currentOperation);\n }\n }\n\n private handleComputedFieldEvaluationJob(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext) {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n this.enqueueComputedFieldEvaluationJob(this.attachContext(computedField, eventContext), entity, eventContext);\n }\n }\n\n // Based on the current model name and current operation, identify all the computed providers that need to be evaluated\n // Pass the database entity and the context to the provider of type IEntityComputedFieldProvider\n private getComputedFieldsForEvaluation(computedFieldMetadata: ComputedFieldMetadata[] = [], currentOperation: ComputedFieldTriggerOperation, currentModelName: string) {\n return computedFieldMetadata.filter(\n (computedField) => computedField.computedFieldTriggerConfig.some(\n (trigger) => trigger.operations.includes(currentOperation) &&\n trigger.modelName === currentModelName\n )\n );\n }\n\n private async evaluateComputedField(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation) {\n // Skip pre-compute on insert when the payload already supplies the target field value.\n if (this.shouldSkipPreComputeOnInsert(computedFieldMetadata, entity, currentOperation)) {\n return;\n }\n const computedValue = await this.preComputeValue(computedFieldMetadata, entity);\n if (computedValue) {\n entity[computedFieldMetadata.fieldName] = computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n }\n }\n\n private shouldSkipPreComputeOnInsert(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation): boolean {\n if (currentOperation !== ComputedFieldTriggerOperation.beforeInsert) {\n return false;\n }\n if (!entity) {\n return false;\n }\n const fieldName = computedFieldMetadata.fieldName;\n if (!fieldName) {\n return false;\n }\n const hasValue = Object.prototype.hasOwnProperty.call(entity, fieldName) && entity[fieldName] !== undefined && entity[fieldName] !== null;\n return hasValue;\n }\n\n private async preComputeValue(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any) {\n try {\n const provider = this.solidRegistry.getComputedFieldProvider(computedFieldMetadata.computedFieldValueProviderName);\n // Get the instance of the provider and assert it is of type IEntityComputedFieldProvider\n const providerInstance = provider.instance as IEntityPreComputeFieldProvider<any, any, any>; // IEntityComputedFieldProvider\n const computedValue = await providerInstance.preComputeValue(entity, computedFieldMetadata); //FIXME There should some way to check/assert if the provider actually has a postComputeAndSaveValue\n return computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n } catch (error) {\n throw new InternalServerErrorException(`Error evaluating computed field ${computedFieldMetadata.fieldName} for model ${computedFieldMetadata.modelName} for triggered entity ${entity.constructor.name}: ${error.message}`);\n }\n }\n\n private enqueueComputedFieldEvaluationJob(computedField: ComputedFieldMetadata<any>, databaseEntity: any, eventContext?: any) {\n const payload = {\n ...computedField,\n databaseEntity,\n // eventContext,\n };\n this.publisherFactory.publish({ payload }, 'ComputedFieldEvaluationPublisher')\n // this.computedFieldPublisher.publish({\n // payload\n // });\n }\n\n private attachContext<T extends ComputedFieldMetadata<any>>(computedField: T, eventContext?: any): T {\n if (!eventContext) return computedField;\n return {\n ...computedField,\n computedFieldValueProviderCtxt: {\n ...(computedField.computedFieldValueProviderCtxt || {}),\n },\n eventContext,\n };\n }\n\n private sanitizeEventContext(event: InsertEvent<any> | UpdateEvent<any> | RemoveEvent<any>, eventType: string): TypeOrmEventContext {\n if (!event) return undefined;\n const base: TypeOrmEventContext = {\n metadataName: event.metadata?.name,\n eventType: eventType,\n };\n if (\"entityId\" in event && event.entityId) {\n base.entityId = event.entityId;\n } else if (event.entity && (event.entity as any).id != null) {\n base.entityId = (event.entity as any).id;\n } else if (\"databaseEntity\" in event && (event.databaseEntity as any)?.id != null) {\n base.entityId = (event.databaseEntity as any).id;\n }\n if (\"updatedColumns\" in event && event.updatedColumns) {\n base.updatedColumns = event.updatedColumns.map((c: any) => c.propertyName);\n }\n if (\"updatedRelations\" in event && event.updatedRelations) {\n base.updatedRelations = event.updatedRelations.map((r: any) => r.propertyName);\n }\n if (event.entity) base.entity = event.entity;\n if (\"databaseEntity\" in event && event.databaseEntity) {\n base.databaseEntity = event.databaseEntity;\n }\n return base;\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"computed-entity-field.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelCase } from 'lodash';\nimport { Delete } from \"@aws-sdk/client-s3\";\nimport { forwardRef, Inject, Injectable, InternalServerErrorException, Logger, Scope } from \"@nestjs/common\";\nimport { model } from \"mongoose\";\nimport { ComputedFieldTriggerOperation } from \"src/dtos/create-field-metadata.dto\";\nimport { ComputedFieldMetadata, SolidRegistry, TypeOrmEventContext } from \"src/helpers/solid-registry\";\nimport { IEntityPreComputeFieldProvider } from \"src/interfaces\";\nimport { PublisherFactory } from \"src/services/queues/publisher-factory.service\";\nimport { DataSource, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from \"typeorm\";\n\n// Create an interface i.e ComputedFieldEvaluationPayload which has same fields as the ComputedFieldMetadata and an additional field for the database entity\nexport interface ComputedFieldEvaluationPayload extends ComputedFieldMetadata {\n databaseEntity: any;\n}\n\n@Injectable({ scope: Scope.TRANSIENT })\n// @EventSubscriber()\nexport class ComputedEntityFieldSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(this.constructor.name);\n private dataSource: DataSource;\n constructor(\n // @InjectDataSource()\n // private readonly dataSource: DataSource,\n private readonly solidRegistry: SolidRegistry,\n @Inject(forwardRef(() => PublisherFactory))\n private readonly publisherFactory: PublisherFactory<ComputedFieldEvaluationPayload>\n // private readonly computedFieldPublisher: ComputedFieldEvaluationPublisherDatabase,\n ) {\n // this.dataSource.subscribers.push(this);\n }\n\n bindToDataSource(dataSource: DataSource) {\n this.dataSource = dataSource;\n this.dataSource.subscribers.push(this);\n }\n\n async beforeInsert(event: InsertEvent<any>): Promise<any> {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeInsert');\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeInsert, modelName, eventContext);\n }\n\n async beforeUpdate(event: UpdateEvent<any>): Promise<any> {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeUpdate');\n // await this.handleComputedFieldEvaluation(event.databaseEntity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n }\n\n afterInsert(event: InsertEvent<any>) {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterInsert');\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterInsert, modelName, eventContext);\n }\n\n afterUpdate(event: UpdateEvent<any>) {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterUpdate');\n // this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n }\n\n afterRemove(event: RemoveEvent<any>) {\n const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterRemove');\n this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterRemove, modelName, eventContext);\n }\n\n //FIXME: Need to add support for beforeRemove, beforeSoftRemove, afterSoftRemove, beforeRecover, afterRecover\n\n private async handleComputedFieldEvaluation(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext): Promise<void> {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n await this.evaluateComputedField(this.attachContext(computedField, eventContext), entity, currentOperation);\n }\n }\n\n private handleComputedFieldEvaluationJob(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext) {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n this.enqueueComputedFieldEvaluationJob(this.attachContext(computedField, eventContext), entity, eventContext);\n }\n }\n\n // Based on the current model name and current operation, identify all the computed providers that need to be evaluated\n // Pass the database entity and the context to the provider of type IEntityComputedFieldProvider\n private getComputedFieldsForEvaluation(computedFieldMetadata: ComputedFieldMetadata[] = [], currentOperation: ComputedFieldTriggerOperation, currentModelName: string) {\n return computedFieldMetadata.filter(\n (computedField) => computedField.computedFieldTriggerConfig.some(\n (trigger) => trigger.operations.includes(currentOperation) &&\n trigger.modelName === currentModelName\n )\n );\n }\n\n private async evaluateComputedField(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation) {\n // Skip pre-compute on insert when the payload already supplies the target field value.\n if (this.shouldSkipPreComputeOnInsert(computedFieldMetadata, entity, currentOperation)) {\n return;\n }\n const computedValue = await this.preComputeValue(computedFieldMetadata, entity);\n if (computedValue) {\n entity[computedFieldMetadata.fieldName] = computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n }\n }\n\n private shouldSkipPreComputeOnInsert(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation): boolean {\n if (currentOperation !== ComputedFieldTriggerOperation.beforeInsert) {\n return false;\n }\n if (!entity) {\n return false;\n }\n const fieldName = computedFieldMetadata.fieldName;\n if (!fieldName) {\n return false;\n }\n const hasValue = Object.prototype.hasOwnProperty.call(entity, fieldName) && entity[fieldName] !== undefined && entity[fieldName] !== null;\n return hasValue;\n }\n\n private async preComputeValue(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any) {\n try {\n const provider = this.solidRegistry.getComputedFieldProvider(computedFieldMetadata.computedFieldValueProviderName);\n // Get the instance of the provider and assert it is of type IEntityComputedFieldProvider\n const providerInstance = provider.instance as IEntityPreComputeFieldProvider<any, any, any>; // IEntityComputedFieldProvider\n const computedValue = await providerInstance.preComputeValue(entity, computedFieldMetadata); //FIXME There should some way to check/assert if the provider actually has a postComputeAndSaveValue\n return computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n } catch (error) {\n throw new InternalServerErrorException(`Error evaluating computed field ${computedFieldMetadata.fieldName} for model ${computedFieldMetadata.modelName} for triggered entity ${entity.constructor.name}: ${error.message}`);\n }\n }\n\n private enqueueComputedFieldEvaluationJob(computedField: ComputedFieldMetadata<any>, databaseEntity: any, eventContext?: any) {\n const payload = {\n ...computedField,\n databaseEntity,\n // eventContext,\n };\n this.publisherFactory.publish({ payload }, 'ComputedFieldEvaluationPublisher')\n // this.computedFieldPublisher.publish({\n // payload\n // });\n }\n\n private attachContext<T extends ComputedFieldMetadata<any>>(computedField: T, eventContext?: any): T {\n if (!eventContext) return computedField;\n return {\n ...computedField,\n computedFieldValueProviderCtxt: {\n ...(computedField.computedFieldValueProviderCtxt || {}),\n },\n eventContext,\n };\n }\n\n private sanitizeEventContext(event: InsertEvent<any> | UpdateEvent<any> | RemoveEvent<any>, eventType: string): TypeOrmEventContext {\n if (!event) return undefined;\n const base: TypeOrmEventContext = {\n metadataName: event.metadata?.name,\n eventType: eventType,\n };\n if (\"entityId\" in event && event.entityId) {\n base.entityId = event.entityId;\n } else if (event.entity && (event.entity as any).id != null) {\n base.entityId = (event.entity as any).id;\n } else if (\"databaseEntity\" in event && (event.databaseEntity as any)?.id != null) {\n base.entityId = (event.databaseEntity as any).id;\n }\n if (\"updatedColumns\" in event && event.updatedColumns) {\n base.updatedColumns = event.updatedColumns.map((c: any) => c.propertyName);\n }\n if (\"updatedRelations\" in event && event.updatedRelations) {\n base.updatedRelations = event.updatedRelations.map((r: any) => r.propertyName);\n }\n if (event.entity) base.entity = event.entity;\n if (\"databaseEntity\" in event && event.databaseEntity) {\n base.databaseEntity = event.databaseEntity;\n }\n return base;\n }\n\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RequestContextService } from "
|
|
1
|
+
import { RequestContextService } from "../services/request-context.service";
|
|
2
2
|
import { DataSource, EntitySubscriberInterface, InsertEvent, UpdateEvent } from "typeorm";
|
|
3
3
|
export declare class CreatedByUpdatedBySubscriber implements EntitySubscriberInterface {
|
|
4
4
|
private readonly defaultDataSource;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DashboardQuestionSqlDatasetConfig } from "
|
|
2
|
-
import { ModuleMetadataHelperService } from "
|
|
3
|
-
import { DashboardService } from "
|
|
1
|
+
import { DashboardQuestionSqlDatasetConfig } from "../entities/dashboard-question-sql-dataset-config.entity";
|
|
2
|
+
import { ModuleMetadataHelperService } from "../helpers/module-metadata-helper.service";
|
|
3
|
+
import { DashboardService } from "../services/dashboard.service";
|
|
4
4
|
import { DataSource, EntitySubscriberInterface, InsertEvent, UpdateEvent } from "typeorm";
|
|
5
5
|
export declare class DashboardQuestionSqlDatasetConfigSubscriber implements EntitySubscriberInterface<DashboardQuestionSqlDatasetConfig> {
|
|
6
6
|
private readonly dataSource;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DashboardQuestion } from "
|
|
2
|
-
import { ModuleMetadataHelperService } from "
|
|
3
|
-
import { DashboardService } from "
|
|
1
|
+
import { DashboardQuestion } from "../entities/dashboard-question.entity";
|
|
2
|
+
import { ModuleMetadataHelperService } from "../helpers/module-metadata-helper.service";
|
|
3
|
+
import { DashboardService } from "../services/dashboard.service";
|
|
4
4
|
import { DataSource, EntitySubscriberInterface, InsertEvent, UpdateEvent } from "typeorm";
|
|
5
5
|
export declare class DashboardQuestionSubscriber implements EntitySubscriberInterface<DashboardQuestion> {
|
|
6
6
|
private readonly dataSource;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DashboardVariable } from "
|
|
2
|
-
import { ModuleMetadataHelperService } from "
|
|
3
|
-
import { DashboardService } from "
|
|
1
|
+
import { DashboardVariable } from "../entities/dashboard-variable.entity";
|
|
2
|
+
import { ModuleMetadataHelperService } from "../helpers/module-metadata-helper.service";
|
|
3
|
+
import { DashboardService } from "../services/dashboard.service";
|
|
4
4
|
import { EntitySubscriberInterface, DataSource, InsertEvent, UpdateEvent } from "typeorm";
|
|
5
5
|
export declare class DashboardVariableSubscriber implements EntitySubscriberInterface<DashboardVariable> {
|
|
6
6
|
private readonly dataSource;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Dashboard } from '
|
|
2
|
-
import { ModuleMetadataHelperService } from "
|
|
3
|
-
import { DashboardService } from '
|
|
1
|
+
import { Dashboard } from '../entities/dashboard.entity';
|
|
2
|
+
import { ModuleMetadataHelperService } from "../helpers/module-metadata-helper.service";
|
|
3
|
+
import { DashboardService } from '../services/dashboard.service';
|
|
4
4
|
import { DataSource, EntitySubscriberInterface, InsertEvent, UpdateEvent } from "typeorm";
|
|
5
5
|
export declare class DashboardSubscriber implements EntitySubscriberInterface<Dashboard> {
|
|
6
6
|
private readonly dataSource;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ListOfValues } from '
|
|
2
|
-
import { ModuleMetadataHelperService } from "
|
|
3
|
-
import { ListOfValuesService } from '
|
|
1
|
+
import { ListOfValues } from '../entities/list-of-values.entity';
|
|
2
|
+
import { ModuleMetadataHelperService } from "../helpers/module-metadata-helper.service";
|
|
3
|
+
import { ListOfValuesService } from '../services/list-of-values.service';
|
|
4
4
|
import { DataSource, EntitySubscriberInterface, InsertEvent, UpdateEvent } from "typeorm";
|
|
5
5
|
export declare class ListOfValuesSubscriber implements EntitySubscriberInterface<ListOfValues> {
|
|
6
6
|
private readonly dataSource;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ModelMetadataHelperService } from '
|
|
1
|
+
import { ModelMetadataHelperService } from '../helpers/model-metadata-helper.service';
|
|
2
2
|
import { DataSource, EntitySubscriberInterface, InsertEvent } from 'typeorm';
|
|
3
3
|
import { ModelMetadata } from '../entities/model-metadata.entity';
|
|
4
4
|
export declare class ModelMetadataSubscriber implements EntitySubscriberInterface<ModelMetadata> {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ScheduledJob } from "
|
|
2
|
-
import { ModuleMetadataHelperService } from "
|
|
3
|
-
import { ScheduledJobRepository } from "
|
|
1
|
+
import { ScheduledJob } from "../entities/scheduled-job.entity";
|
|
2
|
+
import { ModuleMetadataHelperService } from "../helpers/module-metadata-helper.service";
|
|
3
|
+
import { ScheduledJobRepository } from "../repository/scheduled-job.repository";
|
|
4
4
|
import { DataSource, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from "typeorm";
|
|
5
5
|
export declare class ScheduledJobSubscriber implements EntitySubscriberInterface<ScheduledJob> {
|
|
6
6
|
private readonly dataSource;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SecurityRule } from '
|
|
2
|
-
import { ModuleMetadataHelperService } from "
|
|
3
|
-
import { SecurityRuleRepository } from '
|
|
1
|
+
import { SecurityRule } from '../entities/security-rule.entity';
|
|
2
|
+
import { ModuleMetadataHelperService } from "../helpers/module-metadata-helper.service";
|
|
3
|
+
import { SecurityRuleRepository } from '../repository/security-rule.repository';
|
|
4
4
|
import { DataSource, EntitySubscriberInterface, InsertEvent, UpdateEvent } from "typeorm";
|
|
5
5
|
export declare class SecurityRuleSubscriber implements EntitySubscriberInterface<SecurityRule> {
|
|
6
6
|
private readonly dataSource;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ViewMetadata } from "
|
|
2
|
-
import { ModuleMetadataHelperService } from "
|
|
1
|
+
import { ViewMetadata } from "../entities/view-metadata.entity";
|
|
2
|
+
import { ModuleMetadataHelperService } from "../helpers/module-metadata-helper.service";
|
|
3
3
|
import { DataSource, EntitySubscriberInterface, UpdateEvent } from "typeorm";
|
|
4
4
|
export declare class ViewMetadataSubsciber implements EntitySubscriberInterface<ViewMetadata> {
|
|
5
5
|
private readonly dataSource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing-metadata.types.d.ts","sourceRoot":"","sources":["../../../src/testing/contracts/testing-metadata.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"testing-metadata.types.d.ts","sourceRoot":"","sources":["../../../src/testing/contracts/testing-metadata.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;QAC1B,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC3B,SAAS,EAAE,YAAY,EAAE,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAKD,MAAM,MAAM,SAAS,GACjB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,GAC3B;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACf,MAAM,CAAC;AAEX,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing-metadata.types.js","sourceRoot":"","sources":["../../../src/testing/contracts/testing-metadata.types.ts"],"names":[],"mappings":"","sourcesContent":["export type ScenarioType = \"api\" | \"ui\" | \"mixed\";\n\nexport interface TestingDataRecord {\n modelUserKey: string;\n recUserKeyValue: string;\n data: Record<string, any>;\n}\n\nexport interface TestingRoleSpec {\n name: string;\n permissions?: string[];\n}\n\nexport interface TestingUserSpec {\n username: string;\n email: string;\n password: string;\n fullName?: string;\n mobile?: string;\n roles?: string[];\n}\n\nexport interface TestingMetadata {\n testing: {\n specs?: string[];\n roles?: TestingRoleSpec[];\n users?: TestingUserSpec[];\n data?: TestingDataRecord[];\n scenarios: ScenarioSpec[];\n };\n}\n\nexport interface ScenarioSpec {\n id: string;\n name?: string;\n type: ScenarioType;\n params?: Record<string, any>;\n tags?: string[];\n timeoutMs?: number;\n retries?: number;\n steps: StepBlock[];\n}\n\n/**\n * A step can be written in a phase block (Given/When/Then/And) or as a flat op step.\n */\nexport type StepBlock =\n | { given: OpStep }\n | { when: OpStep }\n | { then: OpStep | OpStep[] }\n | { and: OpStep }\n | OpStep;\n\nexport interface OpStep {\n op: string;\n with?: Record<string, any>;\n saveAs?: string;\n name?: string;\n // spec is used by op \"test.spec\" to point to a registered custom spec implementation.\n spec?: string;\n timeoutMs?: number;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"testing-metadata.types.js","sourceRoot":"","sources":["../../../src/testing/contracts/testing-metadata.types.ts"],"names":[],"mappings":"","sourcesContent":["export type ScenarioType = \"api\" | \"ui\" | \"mixed\";\n\nexport interface TestingDataRecord {\n modelUserKey: string;\n recUserKeyValue: string;\n data: Record<string, any>;\n}\n\nexport interface TestingRoleSpec {\n name: string;\n permissions?: string[];\n}\n\nexport interface TestingUserSpec {\n username: string;\n email: string;\n password: string;\n fullName?: string;\n mobile?: string;\n roles?: string[];\n [key: string]: any;\n}\n\nexport interface TestingMetadata {\n testing: {\n specs?: string[];\n roles?: TestingRoleSpec[];\n users?: TestingUserSpec[];\n data?: TestingDataRecord[];\n scenarios: ScenarioSpec[];\n };\n}\n\nexport interface ScenarioSpec {\n id: string;\n name?: string;\n type: ScenarioType;\n params?: Record<string, any>;\n tags?: string[];\n timeoutMs?: number;\n retries?: number;\n steps: StepBlock[];\n}\n\n/**\n * A step can be written in a phase block (Given/When/Then/And) or as a flat op step.\n */\nexport type StepBlock =\n | { given: OpStep }\n | { when: OpStep }\n | { then: OpStep | OpStep[] }\n | { and: OpStep }\n | OpStep;\n\nexport interface OpStep {\n op: string;\n with?: Record<string, any>;\n saveAs?: string;\n name?: string;\n // spec is used by op \"test.spec\" to point to a registered custom spec implementation.\n spec?: string;\n timeoutMs?: number;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertions.step.d.ts","sourceRoot":"","sources":["../../../../src/testing/steps/ui/assertions.step.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAYxD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"assertions.step.d.ts","sourceRoot":"","sources":["../../../../src/testing/steps/ui/assertions.step.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAYxD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAgDnE"}
|
|
@@ -16,6 +16,14 @@ function registerAssertionSteps(registry) {
|
|
|
16
16
|
}
|
|
17
17
|
await page.waitForSelector(input.selector, { state: "visible" });
|
|
18
18
|
});
|
|
19
|
+
registry.register("ui.expectHidden", async (ctx, step) => {
|
|
20
|
+
const page = requirePage(ctx, "ui.expectHidden");
|
|
21
|
+
const input = (step.with ?? {});
|
|
22
|
+
if (!input.selector) {
|
|
23
|
+
throw new Error('Missing "selector" in step.with for op "ui.expectHidden"');
|
|
24
|
+
}
|
|
25
|
+
await page.waitForSelector(input.selector, { state: "hidden" });
|
|
26
|
+
});
|
|
19
27
|
registry.register("ui.expectText", async (ctx, step) => {
|
|
20
28
|
const page = requirePage(ctx, "ui.expectText");
|
|
21
29
|
const input = (step.with ?? {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertions.step.js","sourceRoot":"","sources":["../../../../src/testing/steps/ui/assertions.step.ts"],"names":[],"mappings":";;AAcA,
|
|
1
|
+
{"version":3,"file":"assertions.step.js","sourceRoot":"","sources":["../../../../src/testing/steps/ui/assertions.step.ts"],"names":[],"mappings":";;AAcA,wDAgDC;AAvDD,SAAS,WAAW,CAAC,GAAgB,EAAE,EAAU;IAC/C,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAgB,sBAAsB,CAAC,QAAsB;IAC3D,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAgB,EAAE,IAAY,EAAE,EAAE;QAC7E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAiB,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAgB,EAAE,IAAY,EAAE,EAAE;QAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAiB,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,GAAgB,EAAE,IAAY,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAoB,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,CAAC,MAAM,cAAc,IAAI,GAAG,CAC7D,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,CAAC,QAAQ,cAAc,IAAI,GAAG,CACjE,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { TestContext } from \"../../contracts/runtime-context.types\";\nimport type { OpStep } from \"../../contracts/testing-metadata.types\";\nimport { StepRegistry } from \"../../core/step-registry\";\n\ntype VisibleInput = { selector: string };\ntype ExpectTextInput = { selector: string; equals?: string; contains?: string };\n\nfunction requirePage(ctx: TestContext, op: string) {\n if (!ctx.ui || !ctx.ui.page) {\n throw new Error(`Missing UI page on context for op \"${op}\"`);\n }\n return ctx.ui.page;\n}\n\nexport function registerAssertionSteps(registry: StepRegistry): void {\n registry.register(\"ui.expectVisible\", async (ctx: TestContext, step: OpStep) => {\n const page = requirePage(ctx, \"ui.expectVisible\");\n const input = (step.with ?? {}) as VisibleInput;\n if (!input.selector) {\n throw new Error('Missing \"selector\" in step.with for op \"ui.expectVisible\"');\n }\n await page.waitForSelector(input.selector, { state: \"visible\" });\n });\n\n registry.register(\"ui.expectHidden\", async (ctx: TestContext, step: OpStep) => {\n const page = requirePage(ctx, \"ui.expectHidden\");\n const input = (step.with ?? {}) as VisibleInput;\n if (!input.selector) {\n throw new Error('Missing \"selector\" in step.with for op \"ui.expectHidden\"');\n }\n await page.waitForSelector(input.selector, { state: \"hidden\" });\n });\n\n registry.register(\"ui.expectText\", async (ctx: TestContext, step: OpStep) => {\n const page = requirePage(ctx, \"ui.expectText\");\n const input = (step.with ?? {}) as ExpectTextInput;\n if (!input.selector) {\n throw new Error('Missing \"selector\" in step.with for op \"ui.expectText\"');\n }\n\n const text = await page.locator(input.selector).innerText();\n if (input.equals !== undefined) {\n if (text !== input.equals) {\n throw new Error(\n `Expected text to equal \"${input.equals}\" but got \"${text}\"`,\n );\n }\n return;\n }\n if (input.contains !== undefined) {\n if (!text.includes(input.contains)) {\n throw new Error(\n `Expected text to contain \"${input.contains}\" but got \"${text}\"`,\n );\n }\n return;\n }\n\n throw new Error(\n 'Missing \"equals\" or \"contains\" in step.with for op \"ui.expectText\"',\n );\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.step.d.ts","sourceRoot":"","sources":["../../../../src/testing/steps/ui/form.step.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"form.step.d.ts","sourceRoot":"","sources":["../../../../src/testing/steps/ui/form.step.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAaxD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAwC9D"}
|
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.registerFormSteps = registerFormSteps;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
4
38
|
function requirePage(ctx, op) {
|
|
5
39
|
if (!ctx.ui || !ctx.ui.page) {
|
|
6
40
|
throw new Error(`Missing UI page on context for op "${op}"`);
|
|
@@ -30,5 +64,20 @@ function registerFormSteps(registry) {
|
|
|
30
64
|
}
|
|
31
65
|
await page.selectOption(input.selector, String(input.value));
|
|
32
66
|
});
|
|
67
|
+
registry.register("ui.uploadFile", async (ctx, step) => {
|
|
68
|
+
const page = requirePage(ctx, "ui.uploadFile");
|
|
69
|
+
const input = (step.with ?? {});
|
|
70
|
+
if (!input.selector) {
|
|
71
|
+
throw new Error('Missing "selector" in step.with for op "ui.uploadFile"');
|
|
72
|
+
}
|
|
73
|
+
if (input.filePath === undefined || input.filePath === null) {
|
|
74
|
+
throw new Error('Missing "filePath" in step.with for op "ui.uploadFile"');
|
|
75
|
+
}
|
|
76
|
+
const cwd = process.cwd();
|
|
77
|
+
const resolved = Array.isArray(input.filePath)
|
|
78
|
+
? input.filePath.map((p) => path.resolve(cwd, String(p)))
|
|
79
|
+
: path.resolve(cwd, String(input.filePath));
|
|
80
|
+
await page.setInputFiles(input.selector, resolved);
|
|
81
|
+
});
|
|
33
82
|
}
|
|
34
83
|
//# sourceMappingURL=form.step.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.step.js","sourceRoot":"","sources":["../../../../src/testing/steps/ui/form.step.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"form.step.js","sourceRoot":"","sources":["../../../../src/testing/steps/ui/form.step.ts"],"names":[],"mappings":"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","sourcesContent":["import * as path from \"path\";\n\nimport type { TestContext } from \"../../contracts/runtime-context.types\";\nimport type { OpStep } from \"../../contracts/testing-metadata.types\";\nimport { StepRegistry } from \"../../core/step-registry\";\n\ntype FillInput = { selector: string; value: string };\ntype SelectInput = { selector: string; value: string };\ntype UploadFileInput = { selector: string; filePath: string | string[] };\n\nfunction requirePage(ctx: TestContext, op: string) {\n if (!ctx.ui || !ctx.ui.page) {\n throw new Error(`Missing UI page on context for op \"${op}\"`);\n }\n return ctx.ui.page;\n}\n\nexport function registerFormSteps(registry: StepRegistry): void {\n registry.register(\"ui.fill\", async (ctx: TestContext, step: OpStep) => {\n const page = requirePage(ctx, \"ui.fill\");\n const input = (step.with ?? {}) as FillInput;\n if (!input.selector) {\n throw new Error('Missing \"selector\" in step.with for op \"ui.fill\"');\n }\n if (input.value === undefined) {\n throw new Error('Missing \"value\" in step.with for op \"ui.fill\"');\n }\n await page.fill(input.selector, String(input.value));\n });\n\n registry.register(\"ui.select\", async (ctx: TestContext, step: OpStep) => {\n const page = requirePage(ctx, \"ui.select\");\n const input = (step.with ?? {}) as SelectInput;\n if (!input.selector) {\n throw new Error('Missing \"selector\" in step.with for op \"ui.select\"');\n }\n if (input.value === undefined) {\n throw new Error('Missing \"value\" in step.with for op \"ui.select\"');\n }\n await page.selectOption(input.selector, String(input.value));\n });\n\n registry.register(\"ui.uploadFile\", async (ctx: TestContext, step: OpStep) => {\n const page = requirePage(ctx, \"ui.uploadFile\");\n const input = (step.with ?? {}) as UploadFileInput;\n if (!input.selector) {\n throw new Error('Missing \"selector\" in step.with for op \"ui.uploadFile\"');\n }\n if (input.filePath === undefined || input.filePath === null) {\n throw new Error('Missing \"filePath\" in step.with for op \"ui.uploadFile\"');\n }\n const cwd = process.cwd();\n const resolved = Array.isArray(input.filePath)\n ? input.filePath.map((p) => path.resolve(cwd, String(p)))\n : path.resolve(cwd, String(input.filePath));\n await page.setInputFiles(input.selector, resolved);\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-transformer.d.ts","sourceRoot":"","sources":["../../src/transformers/array-transformer.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"array-transformer.d.ts","sourceRoot":"","sources":["../../src/transformers/array-transformer.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,gBAAgB,GAAI,WAAW,GAAG,QAQvC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean-transformer.d.ts","sourceRoot":"","sources":["../../src/transformers/boolean-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,QAAA,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"boolean-transformer.d.ts","sourceRoot":"","sources":["../../src/transformers/boolean-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,QAAA,MAAM,gBAAgB,GAAI,WAAW,iBAAiB,KAAG,OAQxD,CAAC;AACF,eAAe,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datetime-transformer.d.ts","sourceRoot":"","sources":["../../src/transformers/datetime-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"datetime-transformer.d.ts","sourceRoot":"","sources":["../../src/transformers/datetime-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,QAAA,MAAM,mBAAmB,GAAI,WAAW,iBAAiB,KAAG,IAAI,GAAG,IAMlE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integer-transformer.d.ts","sourceRoot":"","sources":["../../src/transformers/integer-transformer.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"integer-transformer.d.ts","sourceRoot":"","sources":["../../src/transformers/integer-transformer.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,kBAAkB,GAAI,WAAW,GAAG,QASzC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-parsable-int.d.ts","sourceRoot":"","sources":["../../src/validators/is-parsable-int.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAE5F,wBAAgB,aAAa,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"is-parsable-int.d.ts","sourceRoot":"","sources":["../../src/validators/is-parsable-int.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAE5F,wBAAgB,aAAa,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,IAC9C,QAAQ,MAAM,EAAE,cAAc,MAAM,UAiBxD"}
|
package/dist/winston.logger.js
CHANGED
|
@@ -52,7 +52,7 @@ const nest_winston_1 = require("nest-winston");
|
|
|
52
52
|
const winston = __importStar(require("winston"));
|
|
53
53
|
const disallow_in_production_decorator_1 = require("./decorators/disallow-in-production.decorator");
|
|
54
54
|
exports.WinstonLoggerConfig = {
|
|
55
|
-
level: process.env.LOG_LEVEL || (process.env.ENV === disallow_in_production_decorator_1.Environment.Production ? '
|
|
55
|
+
level: process.env.LOG_LEVEL || (process.env.ENV === disallow_in_production_decorator_1.Environment.Production ? 'info' : 'debug'),
|
|
56
56
|
format: winston.format.combine(winston.format.timestamp(), winston.format.errors({ stack: true }), winston.format.printf(({ level, message, timestamp }) => {
|
|
57
57
|
if (!message) {
|
|
58
58
|
return `[${timestamp}] ${level.toUpperCase()}: (No message provided)`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"winston.logger.js","sourceRoot":"","sources":["../src/winston.logger.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { Logger as TypeORMLogger, QueryRunner } from 'typeorm';\nimport { Logger } from 'winston';\nimport { Inject } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport * as winston from 'winston';\nimport { Environment } from './decorators/disallow-in-production.decorator';\n\nexport const WinstonLoggerConfig = {\n level: process.env.LOG_LEVEL || (process.env.ENV === Environment.Production ? '
|
|
1
|
+
{"version":3,"file":"winston.logger.js","sourceRoot":"","sources":["../src/winston.logger.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { Logger as TypeORMLogger, QueryRunner } from 'typeorm';\nimport { Logger } from 'winston';\nimport { Inject } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport * as winston from 'winston';\nimport { Environment } from './decorators/disallow-in-production.decorator';\n\nexport const WinstonLoggerConfig = {\n level: process.env.LOG_LEVEL || (process.env.ENV === Environment.Production ? 'info' : 'debug'),\n format: winston.format.combine(\n winston.format.timestamp(),\n winston.format.errors({ stack: true }),\n winston.format.printf(({ level, message, timestamp }) => {\n if (!message) {\n return `[${timestamp}] ${level.toUpperCase()}: (No message provided)`;\n }\n return `[${timestamp}] ${level.toUpperCase()}: ${message}`;\n }),\n ),\n transports: [\n new winston.transports.Console({\n format: winston.format.combine(\n // winston.format.colorize(),\n // winston.format.timestamp(),\n winston.format.printf(({ level, message, timestamp }) => {\n return `[${timestamp}] ${level.toUpperCase()}: ${message}`;\n }),\n ),\n }),\n new winston.transports.File({\n filename: 'logs/application.log',\n // format: winston.format.json(),\n }),\n new winston.transports.File({\n filename: 'logs/error.log',\n level: 'error',\n // format: winston.format.json(),\n }),\n ],\n};\n\nexport class WinstonTypeORMLogger implements TypeORMLogger {\n constructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: Logger) { }\n\n logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): void {\n if (Boolean(process.env.DEFAULT_DATABASE_LOGGING)) {\n this.logger.info(`Query: ${query} Parameters: ${parameters}`);\n }\n }\n\n logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner): void {\n this.logger.error(`Query failed: ${error} | Query: ${query} | Parameters: ${parameters}`);\n }\n\n logQuerySlow(time: number, query: string, parameters?: any[], queryRunner?: QueryRunner): void {\n this.logger.warn(`Slow query: ${time}ms | Query: ${query} | Parameters: ${parameters}`);\n }\n\n logSchemaBuild(message: string, queryRunner?: QueryRunner): void {\n this.logger.info(`Schema Build: ${message}`);\n }\n\n logMigration(message: string, queryRunner?: QueryRunner): void {\n this.logger.info(`Migration: ${message}`);\n }\n\n log(level: 'log' | 'info' | 'warn' | 'error', message: any): void {\n this.logger[level](message);\n }\n}"]}
|
package/nest
ADDED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solidxai/core",
|
|
3
|
-
"version": "0.1.9-beta.
|
|
3
|
+
"version": "0.1.9-beta.11",
|
|
4
4
|
"description": "This module is a NestJS module containing all the required core providers required by a Solid application",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"solidCore": "dist/cli.js"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
|
-
"build": "nest build",
|
|
15
|
+
"build": "nest build && tsc-alias",
|
|
16
16
|
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
17
17
|
"start": "nest start",
|
|
18
18
|
"start:dev": "nest start --watch",
|
|
@@ -30,7 +30,6 @@
|
|
|
30
30
|
"author": "Oswald Rodrigues <oswald@logicloop.io>",
|
|
31
31
|
"license": "ISC",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@angular-devkit/core": "^18.0.3",
|
|
34
33
|
"@aws-sdk/client-s3": "^3.637.0",
|
|
35
34
|
"@aws-sdk/client-textract": "^3.873.0",
|
|
36
35
|
"@aws-sdk/s3-request-presigner": "^3.828.0",
|
|
@@ -39,9 +38,9 @@
|
|
|
39
38
|
"@nest-lab/throttler-storage-redis": "^1.1.0",
|
|
40
39
|
"@nestjs/schedule": "^6.0.0",
|
|
41
40
|
"@nestjs/throttler": "^6.4.0",
|
|
41
|
+
"@types/passport-apple": "^2.0.3",
|
|
42
42
|
"amqplib": "^0.10.4",
|
|
43
43
|
"axios": "^1.7.0",
|
|
44
|
-
"form-data": "^4.0.0",
|
|
45
44
|
"bcrypt": "^5.1.1",
|
|
46
45
|
"bson": "^6.10.1",
|
|
47
46
|
"cache-manager": "^5.5.2",
|
|
@@ -52,6 +51,7 @@
|
|
|
52
51
|
"dayjs": "^1.11.18",
|
|
53
52
|
"exceljs": "^4.4.0",
|
|
54
53
|
"fast-csv": "^5.0.2",
|
|
54
|
+
"form-data": "^4.0.0",
|
|
55
55
|
"handlebars": "^4.7.8",
|
|
56
56
|
"helmet": "^8.1.0",
|
|
57
57
|
"ioredis": "^5.4.1",
|
|
@@ -63,13 +63,16 @@
|
|
|
63
63
|
"mysql2": "^3.13.0",
|
|
64
64
|
"nodemailer": "^6.9.13",
|
|
65
65
|
"passport": "^0.7.0",
|
|
66
|
+
"passport-apple": "^2.0.2",
|
|
67
|
+
"passport-facebook": "^3.0.0",
|
|
66
68
|
"passport-google-oauth2": "^0.2.0",
|
|
67
69
|
"passport-jwt": "^4.0.1",
|
|
68
70
|
"passport-local": "^1.0.0",
|
|
71
|
+
"passport-microsoft": "^2.1.0",
|
|
69
72
|
"pg": "^8.11.3",
|
|
70
|
-
"qs": "^6.12.0",
|
|
71
73
|
"pluralize": "^8.0.0",
|
|
72
74
|
"puppeteer": "^23.2.0",
|
|
75
|
+
"qs": "^6.12.0",
|
|
73
76
|
"r2r-js": "^0.4.43",
|
|
74
77
|
"rxjs": "^7.8.1",
|
|
75
78
|
"swagger-ui-express": "^5.0.0",
|
|
@@ -84,7 +87,6 @@
|
|
|
84
87
|
}
|
|
85
88
|
},
|
|
86
89
|
"peerDependencies": {
|
|
87
|
-
"playwright": ">=1.0.0",
|
|
88
90
|
"@nestjs/axios": "^3.0.2",
|
|
89
91
|
"@nestjs/cache-manager": "^2.2.2",
|
|
90
92
|
"@nestjs/common": "^10.0.0",
|
|
@@ -102,6 +104,7 @@
|
|
|
102
104
|
"nest-commander": "^3.12.5",
|
|
103
105
|
"nest-winston": "^1.9.7",
|
|
104
106
|
"nestjs-cls": "^5.4.3",
|
|
107
|
+
"playwright": ">=1.0.0",
|
|
105
108
|
"reflect-metadata": "^0.2.2",
|
|
106
109
|
"typeorm": "^0.3.20",
|
|
107
110
|
"typeorm-naming-strategies": "^4.1.0",
|
|
@@ -135,11 +138,13 @@
|
|
|
135
138
|
"@types/multer": "^1.4.11",
|
|
136
139
|
"@types/node": "^20.3.1",
|
|
137
140
|
"@types/nodemailer": "^6.4.15",
|
|
141
|
+
"@types/passport-facebook": "^3.0.3",
|
|
138
142
|
"@types/passport-google-oauth2": "^0.1.8",
|
|
139
143
|
"@types/passport-jwt": "^4.0.1",
|
|
140
144
|
"@types/passport-local": "^1.0.38",
|
|
141
|
-
"@types/
|
|
145
|
+
"@types/passport-microsoft": "^2.1.1",
|
|
142
146
|
"@types/pluralize": "^0.0.33",
|
|
147
|
+
"@types/qs": "^6.9.15",
|
|
143
148
|
"@types/supertest": "^2.0.12",
|
|
144
149
|
"@types/uuid": "^9.0.8",
|
|
145
150
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
@@ -158,6 +163,7 @@
|
|
|
158
163
|
"ts-jest": "^29.1.0",
|
|
159
164
|
"ts-loader": "^9.4.3",
|
|
160
165
|
"ts-node": "^10.9.1",
|
|
166
|
+
"tsc-alias": "^1.8.16",
|
|
161
167
|
"tsconfig-paths": "^4.2.0",
|
|
162
168
|
"typeorm": "^0.3.20",
|
|
163
169
|
"typeorm-naming-strategies": "^4.1.0",
|
|
@@ -8,4 +8,11 @@ export const CHATTER_MESSAGE_SUBTYPE = {
|
|
|
8
8
|
AUDIT_UPDATE: 'audit_update',
|
|
9
9
|
AUDIT_DELETE: 'audit_delete',
|
|
10
10
|
CUSTOM: 'custom',
|
|
11
|
+
NOTE: 'note',
|
|
12
|
+
TASK: 'task',
|
|
13
|
+
} as const;
|
|
14
|
+
|
|
15
|
+
export const CHATTER_MESSAGE_STATUS = {
|
|
16
|
+
PENDING: 'pending',
|
|
17
|
+
COMPLETED: 'completed',
|
|
11
18
|
} as const;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Body, Controller, Get, HttpCode, HttpStatus, Logger, Param, ParseIntPipe, Patch, Post, Res, Headers } from '@nestjs/common';
|
|
2
|
-
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
|
|
2
|
+
import { ApiBearerAuth, ApiHeader, ApiTags } from '@nestjs/swagger';
|
|
3
3
|
import { Response } from 'express';
|
|
4
4
|
import { ActiveUser } from "../decorators/active-user.decorator";
|
|
5
5
|
import { Public } from '../decorators/public.decorator';
|
|
@@ -142,6 +142,13 @@ export class AuthenticationController {
|
|
|
142
142
|
return this.apiKeyService.updateKey(id, activeUser.sub, dto);
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
+
@Public()
|
|
146
|
+
@ApiHeader({ name: 'solidx-api-key', required: true, description: 'API key for authenticating the request' })
|
|
147
|
+
@Get('api-keys/me')
|
|
148
|
+
async apiKeyMe(@Headers('solidx-api-key') apiKey: string) {
|
|
149
|
+
return this.apiKeyService.apiKeyMe(apiKey);
|
|
150
|
+
}
|
|
151
|
+
|
|
145
152
|
@Post('sso/code')
|
|
146
153
|
@HttpCode(HttpStatus.OK)
|
|
147
154
|
generateSsoCode(
|
|
@@ -121,4 +121,10 @@ export class ChatterMessageController {
|
|
|
121
121
|
) {
|
|
122
122
|
return this.service.postMessage(postDto, files);
|
|
123
123
|
}
|
|
124
|
+
|
|
125
|
+
@ApiBearerAuth("jwt")
|
|
126
|
+
@Patch(':id/complete')
|
|
127
|
+
async markCompleted(@Param('id') id: string) {
|
|
128
|
+
return this.service.markCompleted(+id);
|
|
129
|
+
}
|
|
124
130
|
}
|