@solidstarters/solid-core 1.2.203 → 1.2.206
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/info.command.d.ts +19 -0
- package/dist/commands/info.command.d.ts.map +1 -0
- package/dist/commands/info.command.js +98 -0
- package/dist/commands/info.command.js.map +1 -0
- package/dist/commands/mcp.command.d.ts.map +1 -1
- package/dist/commands/mcp.command.js +2 -10
- package/dist/commands/mcp.command.js.map +1 -1
- package/dist/commands/seed.command.d.ts.map +1 -1
- package/dist/commands/seed.command.js +2 -11
- package/dist/commands/seed.command.js.map +1 -1
- package/dist/controllers/email-template.controller.d.ts +3 -1
- package/dist/controllers/email-template.controller.d.ts.map +1 -1
- package/dist/controllers/email-template.controller.js +7 -4
- package/dist/controllers/email-template.controller.js.map +1 -1
- package/dist/controllers/google-authentication.controller.d.ts +4 -5
- package/dist/controllers/google-authentication.controller.d.ts.map +1 -1
- package/dist/controllers/google-authentication.controller.js +21 -14
- package/dist/controllers/google-authentication.controller.js.map +1 -1
- package/dist/controllers/otp-authentication.controller.d.ts +10 -0
- package/dist/controllers/otp-authentication.controller.d.ts.map +1 -1
- package/dist/controllers/otp-authentication.controller.js +1 -1
- package/dist/controllers/setting.controller.d.ts +2 -34
- package/dist/controllers/setting.controller.d.ts.map +1 -1
- package/dist/controllers/setting.controller.js +4 -130
- package/dist/controllers/setting.controller.js.map +1 -1
- package/dist/decorators/settings-provider.decorator.d.ts +3 -0
- package/dist/decorators/settings-provider.decorator.d.ts.map +1 -0
- package/dist/decorators/settings-provider.decorator.js +8 -0
- package/dist/decorators/settings-provider.decorator.js.map +1 -0
- package/dist/decorators/solid-password.decorator.d.ts.map +1 -1
- package/dist/decorators/solid-password.decorator.js +3 -3
- package/dist/decorators/solid-password.decorator.js.map +1 -1
- package/dist/dtos/create-role-metadata.dto.d.ts +3 -4
- package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-role-metadata.dto.js +4 -51
- package/dist/dtos/create-role-metadata.dto.js.map +1 -1
- package/dist/dtos/create-setting.dto.d.ts +3 -0
- package/dist/dtos/create-setting.dto.d.ts.map +1 -1
- package/dist/dtos/create-setting.dto.js +20 -2
- package/dist/dtos/create-setting.dto.js.map +1 -1
- package/dist/dtos/update-setting.dto.d.ts +3 -0
- package/dist/dtos/update-setting.dto.d.ts.map +1 -1
- package/dist/dtos/update-setting.dto.js +19 -1
- package/dist/dtos/update-setting.dto.js.map +1 -1
- package/dist/entities/setting.entity.d.ts +3 -0
- package/dist/entities/setting.entity.d.ts.map +1 -1
- package/dist/entities/setting.entity.js +13 -1
- package/dist/entities/setting.entity.js.map +1 -1
- package/dist/factories/mail.factory.d.ts +3 -4
- package/dist/factories/mail.factory.d.ts.map +1 -1
- package/dist/factories/mail.factory.js +6 -12
- package/dist/factories/mail.factory.js.map +1 -1
- package/dist/factories/sms.factory.d.ts +3 -4
- package/dist/factories/sms.factory.d.ts.map +1 -1
- package/dist/factories/sms.factory.js +6 -12
- package/dist/factories/sms.factory.js.map +1 -1
- package/dist/factories/whatsapp.factory.d.ts +3 -4
- package/dist/factories/whatsapp.factory.d.ts.map +1 -1
- package/dist/factories/whatsapp.factory.js +6 -12
- package/dist/factories/whatsapp.factory.js.map +1 -1
- package/dist/guards/access-token.guard.d.ts +3 -4
- package/dist/guards/access-token.guard.d.ts.map +1 -1
- package/dist/guards/access-token.guard.js +14 -9
- package/dist/guards/access-token.guard.js.map +1 -1
- package/dist/helpers/cors.helper.d.ts +1 -2
- package/dist/helpers/cors.helper.d.ts.map +1 -1
- package/dist/helpers/cors.helper.js +2 -2
- package/dist/helpers/cors.helper.js.map +1 -1
- package/dist/helpers/error-mapper.service.d.ts.map +1 -1
- package/dist/helpers/error-mapper.service.js.map +1 -1
- package/dist/helpers/google-oauth.helper.d.ts +7 -3
- package/dist/helpers/google-oauth.helper.d.ts.map +1 -1
- package/dist/helpers/google-oauth.helper.js +1 -2
- package/dist/helpers/google-oauth.helper.js.map +1 -1
- package/dist/helpers/module.helper.js +0 -2
- package/dist/helpers/module.helper.js.map +1 -1
- package/dist/helpers/solid-registry.d.ts +8 -3
- package/dist/helpers/solid-registry.d.ts.map +1 -1
- package/dist/helpers/solid-registry.js +32 -9
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -6
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +21 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +8 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/passport-strategies/google-oauth.strategy.d.ts +1 -4
- package/dist/passport-strategies/google-oauth.strategy.d.ts.map +1 -1
- package/dist/passport-strategies/google-oauth.strategy.js +12 -12
- package/dist/passport-strategies/google-oauth.strategy.js.map +1 -1
- package/dist/seeders/email-template-seeder.service.d.ts +3 -4
- package/dist/seeders/email-template-seeder.service.d.ts.map +1 -1
- package/dist/seeders/email-template-seeder.service.js +7 -12
- package/dist/seeders/email-template-seeder.service.js.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts +1 -5
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +23 -23
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +98 -4
- package/dist/seeders/sms-template-seeder.service.d.ts +3 -4
- package/dist/seeders/sms-template-seeder.service.d.ts.map +1 -1
- package/dist/seeders/sms-template-seeder.service.js +7 -12
- package/dist/seeders/sms-template-seeder.service.js.map +1 -1
- package/dist/services/action-metadata.service.d.ts +2 -13
- package/dist/services/action-metadata.service.d.ts.map +1 -1
- package/dist/services/action-metadata.service.js +4 -22
- package/dist/services/action-metadata.service.js.map +1 -1
- package/dist/services/ai-interaction.service.d.ts +2 -13
- package/dist/services/ai-interaction.service.d.ts.map +1 -1
- package/dist/services/ai-interaction.service.js +6 -24
- package/dist/services/ai-interaction.service.js.map +1 -1
- package/dist/services/authentication.service.d.ts +14 -10
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +159 -114
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/bcrypt.service.d.ts +3 -5
- package/dist/services/bcrypt.service.d.ts.map +1 -1
- package/dist/services/bcrypt.service.js +10 -14
- package/dist/services/bcrypt.service.js.map +1 -1
- package/dist/services/chatter-message-details.service.d.ts +2 -13
- package/dist/services/chatter-message-details.service.d.ts.map +1 -1
- package/dist/services/chatter-message-details.service.js +4 -22
- package/dist/services/chatter-message-details.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts +2 -13
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +5 -23
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +12 -12
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +25 -17
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +2 -13
- package/dist/services/dashboard-question-sql-dataset-config.service.d.ts.map +1 -1
- package/dist/services/dashboard-question-sql-dataset-config.service.js +4 -21
- package/dist/services/dashboard-question-sql-dataset-config.service.js.map +1 -1
- package/dist/services/dashboard-question.service.d.ts +2 -13
- package/dist/services/dashboard-question.service.d.ts.map +1 -1
- package/dist/services/dashboard-question.service.js +4 -21
- package/dist/services/dashboard-question.service.js.map +1 -1
- package/dist/services/dashboard-variable.service.d.ts +2 -13
- package/dist/services/dashboard-variable.service.d.ts.map +1 -1
- package/dist/services/dashboard-variable.service.js +4 -21
- package/dist/services/dashboard-variable.service.js.map +1 -1
- package/dist/services/dashboard.service.d.ts +2 -13
- package/dist/services/dashboard.service.d.ts.map +1 -1
- package/dist/services/dashboard.service.js +4 -21
- package/dist/services/dashboard.service.js.map +1 -1
- package/dist/services/email-template.service.d.ts +2 -13
- package/dist/services/email-template.service.d.ts.map +1 -1
- package/dist/services/email-template.service.js +4 -22
- package/dist/services/email-template.service.js.map +1 -1
- package/dist/services/export-template.service.d.ts +2 -13
- package/dist/services/export-template.service.d.ts.map +1 -1
- package/dist/services/export-template.service.js +4 -21
- package/dist/services/export-template.service.js.map +1 -1
- package/dist/services/export-transaction.service.d.ts +2 -13
- package/dist/services/export-transaction.service.d.ts.map +1 -1
- package/dist/services/export-transaction.service.js +4 -21
- package/dist/services/export-transaction.service.js.map +1 -1
- package/dist/services/field-metadata.service.d.ts +11 -0
- package/dist/services/field-metadata.service.d.ts.map +1 -1
- package/dist/services/field-metadata.service.js +3 -0
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/file/file-service.interface.d.ts +22 -0
- package/dist/services/file/file-service.interface.d.ts.map +1 -0
- package/dist/services/file/file-service.interface.js +5 -0
- package/dist/services/file/file-service.interface.js.map +1 -0
- package/dist/services/file.service.d.ts +1 -4
- package/dist/services/file.service.d.ts.map +1 -1
- package/dist/services/file.service.js +11 -12
- package/dist/services/file.service.js.map +1 -1
- package/dist/services/genai/r2r-helper.service.d.ts +3 -1
- package/dist/services/genai/r2r-helper.service.d.ts.map +1 -1
- package/dist/services/genai/r2r-helper.service.js +11 -7
- package/dist/services/genai/r2r-helper.service.js.map +1 -1
- package/dist/services/import-transaction-error-log.service.d.ts +2 -13
- package/dist/services/import-transaction-error-log.service.d.ts.map +1 -1
- package/dist/services/import-transaction-error-log.service.js +4 -22
- package/dist/services/import-transaction-error-log.service.js.map +1 -1
- package/dist/services/import-transaction.service.d.ts +2 -13
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +4 -22
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/list-of-values.service.d.ts +2 -13
- package/dist/services/list-of-values.service.d.ts.map +1 -1
- package/dist/services/list-of-values.service.js +4 -22
- package/dist/services/list-of-values.service.js.map +1 -1
- package/dist/services/locale.service.d.ts +2 -13
- package/dist/services/locale.service.d.ts.map +1 -1
- package/dist/services/locale.service.js +4 -22
- package/dist/services/locale.service.js.map +1 -1
- package/dist/services/mail/elastic-email.service.d.ts +4 -5
- package/dist/services/mail/elastic-email.service.d.ts.map +1 -1
- package/dist/services/mail/elastic-email.service.js +10 -13
- package/dist/services/mail/elastic-email.service.js.map +1 -1
- package/dist/services/mail/smtp-email.service.d.ts +3 -4
- package/dist/services/mail/smtp-email.service.d.ts.map +1 -1
- package/dist/services/mail/smtp-email.service.js +19 -17
- package/dist/services/mail/smtp-email.service.js.map +1 -1
- package/dist/services/media-storage-provider-metadata.service.d.ts +11 -0
- package/dist/services/media-storage-provider-metadata.service.d.ts.map +1 -1
- package/dist/services/media-storage-provider-metadata.service.js +3 -0
- package/dist/services/media-storage-provider-metadata.service.js.map +1 -1
- package/dist/services/media.service.d.ts +2 -9
- package/dist/services/media.service.d.ts.map +1 -1
- package/dist/services/media.service.js +17 -28
- package/dist/services/media.service.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +2 -4
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +2 -11
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +3 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.js +16 -12
- package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
- package/dist/services/mediaStorageProviders/index.d.ts +1 -1
- package/dist/services/mediaStorageProviders/index.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/index.js +1 -1
- package/dist/services/mediaStorageProviders/index.js.map +1 -1
- package/dist/services/menu-item-metadata.service.d.ts +2 -13
- package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
- package/dist/services/menu-item-metadata.service.js +4 -22
- package/dist/services/menu-item-metadata.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts +11 -0
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +3 -0
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/model-sequence.service.d.ts +2 -13
- package/dist/services/model-sequence.service.d.ts.map +1 -1
- package/dist/services/model-sequence.service.js +4 -21
- package/dist/services/model-sequence.service.js.map +1 -1
- package/dist/services/module-metadata.service.d.ts +14 -1
- package/dist/services/module-metadata.service.d.ts.map +1 -1
- package/dist/services/module-metadata.service.js +13 -6
- package/dist/services/module-metadata.service.js.map +1 -1
- package/dist/services/mq-message-queue.service.d.ts +2 -13
- package/dist/services/mq-message-queue.service.d.ts.map +1 -1
- package/dist/services/mq-message-queue.service.js +4 -22
- package/dist/services/mq-message-queue.service.js.map +1 -1
- package/dist/services/mq-message.service.d.ts +2 -13
- package/dist/services/mq-message.service.d.ts.map +1 -1
- package/dist/services/mq-message.service.js +4 -22
- package/dist/services/mq-message.service.js.map +1 -1
- package/dist/services/permission-metadata.service.d.ts +2 -13
- package/dist/services/permission-metadata.service.d.ts.map +1 -1
- package/dist/services/permission-metadata.service.js +4 -22
- package/dist/services/permission-metadata.service.js.map +1 -1
- package/dist/services/role-metadata.service.d.ts +2 -13
- package/dist/services/role-metadata.service.d.ts.map +1 -1
- package/dist/services/role-metadata.service.js +4 -23
- package/dist/services/role-metadata.service.js.map +1 -1
- package/dist/services/saved-filters.service.d.ts +2 -13
- package/dist/services/saved-filters.service.d.ts.map +1 -1
- package/dist/services/saved-filters.service.js +4 -21
- package/dist/services/saved-filters.service.js.map +1 -1
- package/dist/services/scheduled-job.service.d.ts +2 -13
- package/dist/services/scheduled-job.service.d.ts.map +1 -1
- package/dist/services/scheduled-job.service.js +4 -22
- package/dist/services/scheduled-job.service.js.map +1 -1
- package/dist/services/security-rule.service.d.ts +2 -13
- package/dist/services/security-rule.service.d.ts.map +1 -1
- package/dist/services/security-rule.service.js +5 -23
- package/dist/services/security-rule.service.js.map +1 -1
- package/dist/services/selection-providers/list-of-roles-selectionproviders.service.d.ts +15 -0
- package/dist/services/selection-providers/list-of-roles-selectionproviders.service.d.ts.map +1 -0
- package/dist/services/selection-providers/list-of-roles-selectionproviders.service.js +59 -0
- package/dist/services/selection-providers/list-of-roles-selectionproviders.service.js.map +1 -0
- package/dist/services/setting.service.d.ts +23 -30
- package/dist/services/setting.service.d.ts.map +1 -1
- package/dist/services/setting.service.js +147 -196
- package/dist/services/setting.service.js.map +1 -1
- package/dist/services/settings/default-settings-provider.service.d.ts +1058 -0
- package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -0
- package/dist/services/settings/default-settings-provider.service.js +139 -0
- package/dist/services/settings/default-settings-provider.service.js.map +1 -0
- package/dist/services/short-url/tiny-url.service.d.ts +3 -4
- package/dist/services/short-url/tiny-url.service.d.ts.map +1 -1
- package/dist/services/short-url/tiny-url.service.js +10 -13
- package/dist/services/short-url/tiny-url.service.js.map +1 -1
- package/dist/services/sms/Msg91BaseSMSService.d.ts +3 -4
- package/dist/services/sms/Msg91BaseSMSService.d.ts.map +1 -1
- package/dist/services/sms/Msg91BaseSMSService.js +3 -3
- package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
- package/dist/services/sms/Msg91OTPService.d.ts +2 -3
- package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
- package/dist/services/sms/Msg91OTPService.js +7 -13
- package/dist/services/sms/Msg91OTPService.js.map +1 -1
- package/dist/services/sms/Msg91SMSService.d.ts +2 -3
- package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
- package/dist/services/sms/Msg91SMSService.js +7 -13
- package/dist/services/sms/Msg91SMSService.js.map +1 -1
- package/dist/services/sms/TwilioSMSService.d.ts +3 -4
- package/dist/services/sms/TwilioSMSService.d.ts.map +1 -1
- package/dist/services/sms/TwilioSMSService.js +13 -16
- package/dist/services/sms/TwilioSMSService.js.map +1 -1
- package/dist/services/sms-template.service.d.ts +2 -13
- package/dist/services/sms-template.service.d.ts.map +1 -1
- package/dist/services/sms-template.service.js +4 -22
- package/dist/services/sms-template.service.js.map +1 -1
- package/dist/services/solid-introspect.service.d.ts +4 -1
- package/dist/services/solid-introspect.service.d.ts.map +1 -1
- package/dist/services/solid-introspect.service.js +33 -47
- package/dist/services/solid-introspect.service.js.map +1 -1
- package/dist/services/textract.service.d.ts +1 -4
- package/dist/services/textract.service.d.ts.map +1 -1
- package/dist/services/textract.service.js +14 -18
- package/dist/services/textract.service.js.map +1 -1
- package/dist/services/user-activity-history.service.d.ts +2 -13
- package/dist/services/user-activity-history.service.d.ts.map +1 -1
- package/dist/services/user-activity-history.service.js +4 -22
- package/dist/services/user-activity-history.service.js.map +1 -1
- package/dist/services/user-view-metadata.service.d.ts +2 -13
- package/dist/services/user-view-metadata.service.d.ts.map +1 -1
- package/dist/services/user-view-metadata.service.js +4 -22
- package/dist/services/user-view-metadata.service.js.map +1 -1
- package/dist/services/user.service.d.ts +2 -15
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +7 -28
- package/dist/services/user.service.js.map +1 -1
- package/dist/services/view-metadata.service.d.ts +2 -13
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +5 -23
- package/dist/services/view-metadata.service.js.map +1 -1
- package/dist/services/whatsapp/Msg91WhatsappService.d.ts +3 -4
- package/dist/services/whatsapp/Msg91WhatsappService.d.ts.map +1 -1
- package/dist/services/whatsapp/Msg91WhatsappService.js +12 -18
- package/dist/services/whatsapp/Msg91WhatsappService.js.map +1 -1
- package/dist/services/whatsapp/Three60WhatsappService.d.ts +1 -4
- package/dist/services/whatsapp/Three60WhatsappService.d.ts.map +1 -1
- package/dist/services/whatsapp/Three60WhatsappService.js +2 -11
- package/dist/services/whatsapp/Three60WhatsappService.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +11 -47
- package/dist/solid-core.module.js.map +1 -1
- package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -1
- package/dist/transformers/typeorm/local-date-time-transformer.js +4 -2
- package/dist/transformers/typeorm/local-date-time-transformer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/commands/info.command.ts +101 -0
- package/src/commands/mcp.command.ts +3 -17
- package/src/commands/seed.command.ts +4 -16
- package/src/controllers/email-template.controller.ts +9 -4
- package/src/controllers/google-authentication.controller.ts +19 -12
- package/src/controllers/setting.controller.ts +6 -81
- package/src/decorators/settings-provider.decorator.ts +7 -0
- package/src/decorators/solid-password.decorator.ts +43 -43
- package/src/dtos/create-role-metadata.dto.ts +4 -81
- package/src/dtos/create-setting.dto.ts +14 -1
- package/src/dtos/update-setting.dto.ts +14 -0
- package/src/entities/setting.entity.ts +15 -1
- package/src/factories/mail.factory.ts +4 -4
- package/src/factories/sms.factory.ts +9 -7
- package/src/factories/whatsapp.factory.ts +4 -4
- package/src/guards/access-token.guard.ts +12 -5
- package/src/helpers/cors.helper.ts +3 -3
- package/src/helpers/error-mapper.service.ts +0 -1
- package/src/helpers/google-oauth.helper.ts +11 -7
- package/src/helpers/module.helper.ts +2 -2
- package/src/helpers/solid-registry.ts +45 -16
- package/src/index.ts +2 -4
- package/src/interfaces.ts +29 -0
- package/src/passport-strategies/google-oauth.strategy.ts +11 -8
- package/src/seeders/email-template-seeder.service.ts +6 -4
- package/src/seeders/module-metadata-seeder.service.ts +40 -28
- package/src/seeders/seed-data/solid-core-metadata.json +99 -5
- package/src/seeders/sms-template-seeder.service.ts +6 -4
- package/src/services/action-metadata.service.ts +4 -16
- package/src/services/ai-interaction.service.ts +6 -17
- package/src/services/authentication.service.ts +173 -111
- package/src/services/bcrypt.service.ts +9 -9
- package/src/services/chatter-message-details.service.ts +5 -17
- package/src/services/chatter-message.service.ts +2 -14
- package/src/services/crud.service.ts +36 -28
- package/src/services/dashboard-question-sql-dataset-config.service.ts +4 -15
- package/src/services/dashboard-question.service.ts +4 -17
- package/src/services/dashboard-variable.service.ts +4 -16
- package/src/services/dashboard.service.ts +2 -13
- package/src/services/email-template.service.ts +3 -15
- package/src/services/export-template.service.ts +4 -18
- package/src/services/export-transaction.service.ts +4 -19
- package/src/services/field-metadata.service.ts +5 -1
- package/src/services/file/file-service.interface.ts +74 -0
- package/src/services/file.service.ts +10 -7
- package/src/services/genai/r2r-helper.service.ts +10 -6
- package/src/services/import-transaction-error-log.service.ts +5 -17
- package/src/services/import-transaction.service.ts +3 -15
- package/src/services/list-of-values.service.ts +3 -16
- package/src/services/locale.service.ts +3 -15
- package/src/services/mail/elastic-email.service.ts +7 -7
- package/src/services/mail/smtp-email.service.ts +19 -11
- package/src/services/media-storage-provider-metadata.service.ts +4 -0
- package/src/services/media.service.ts +39 -22
- package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +0 -3
- package/src/services/mediaStorageProviders/file-storage-provider.ts +24 -12
- package/src/services/mediaStorageProviders/index.ts +1 -1
- package/src/services/menu-item-metadata.service.ts +5 -17
- package/src/services/model-metadata.service.ts +4 -0
- package/src/services/model-sequence.service.ts +4 -15
- package/src/services/module-metadata.service.ts +13 -4
- package/src/services/mq-message-queue.service.ts +5 -17
- package/src/services/mq-message.service.ts +5 -17
- package/src/services/permission-metadata.service.ts +4 -16
- package/src/services/role-metadata.service.ts +3 -16
- package/src/services/saved-filters.service.ts +2 -13
- package/src/services/scheduled-job.service.ts +3 -15
- package/src/services/security-rule.service.ts +4 -16
- package/src/services/selection-providers/list-of-roles-selectionproviders.service.ts +69 -0
- package/src/services/setting.service.ts +223 -212
- package/src/services/settings/default-settings-provider.service.ts +157 -0
- package/src/services/short-url/tiny-url.service.ts +9 -7
- package/src/services/sms/Msg91BaseSMSService.ts +6 -4
- package/src/services/sms/Msg91OTPService.ts +7 -7
- package/src/services/sms/Msg91SMSService.ts +7 -6
- package/src/services/sms/TwilioSMSService.ts +18 -19
- package/src/services/sms-template.service.ts +3 -15
- package/src/services/solid-introspect.service.ts +45 -66
- package/src/services/textract.service.ts +13 -10
- package/src/services/user-activity-history.service.ts +5 -17
- package/src/services/user-view-metadata.service.ts +5 -17
- package/src/services/user.service.ts +7 -22
- package/src/services/view-metadata.service.ts +3 -15
- package/src/services/whatsapp/Msg91WhatsappService.ts +10 -11
- package/src/services/whatsapp/Three60WhatsappService.ts +0 -3
- package/src/solid-core.module.ts +19 -49
- package/src/transformers/typeorm/local-date-time-transformer.ts +10 -5
- package/dist/config/app-builder.config.d.ts +0 -11
- package/dist/config/app-builder.config.d.ts.map +0 -1
- package/dist/config/app-builder.config.js +0 -13
- package/dist/config/app-builder.config.js.map +0 -1
- package/dist/config/common.config.d.ts +0 -96
- package/dist/config/common.config.d.ts.map +0 -1
- package/dist/config/common.config.js +0 -51
- package/dist/config/common.config.js.map +0 -1
- package/dist/config/iam.config.d.ts +0 -56
- package/dist/config/iam.config.d.ts.map +0 -1
- package/dist/config/iam.config.js +0 -35
- package/dist/config/iam.config.js.map +0 -1
- package/dist/config/jwt.config.d.ts +0 -14
- package/dist/config/jwt.config.d.ts.map +0 -1
- package/dist/config/jwt.config.js +0 -15
- package/dist/config/jwt.config.js.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.d.ts +0 -16
- package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.js +0 -151
- package/dist/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.d.ts +0 -17
- package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.js +0 -80
- package/dist/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts +0 -16
- package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js +0 -74
- package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.d.ts +0 -12
- package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.js +0 -47
- package/dist/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.d.ts +0 -16
- package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.js +0 -151
- package/dist/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.d.ts +0 -16
- package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.js +0 -75
- package/dist/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.d.ts +0 -14
- package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.js +0 -73
- package/dist/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.d.ts +0 -14
- package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.js +0 -45
- package/dist/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.d.ts +0 -14
- package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.js +0 -51
- package/dist/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.js.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.d.ts +0 -12
- package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.d.ts.map +0 -1
- package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.js +0 -38
- package/dist/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.js.map +0 -1
- package/dist/services/media-storage-provider-metadata-seeder.service.d.ts +0 -8
- package/dist/services/media-storage-provider-metadata-seeder.service.d.ts.map +0 -1
- package/dist/services/media-storage-provider-metadata-seeder.service.js +0 -43
- package/dist/services/media-storage-provider-metadata-seeder.service.js.map +0 -1
- package/src/config/app-builder.config.ts +0 -12
- package/src/config/common.config.ts +0 -55
- package/src/config/iam.config.ts +0 -32
- package/src/config/jwt.config.ts +0 -13
- package/src/services/export_issues.txt +0 -10
- package/src/services/genai/mcp-handlers/solid-add-button-to-form-view-mcp-handler.service.ts +0 -137
- package/src/services/genai/mcp-handlers/solid-add-controller-handler-method-mcp-handler.service.ts +0 -81
- package/src/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.ts +0 -69
- package/src/services/genai/mcp-handlers/solid-add-fields-to-model-mcp-handler.service.ts +0 -68
- package/src/services/genai/mcp-handlers/solid-add-header-button-or-row-button-to-list-view-mcp-handler.service.ts +0 -141
- package/src/services/genai/mcp-handlers/solid-create-computed-provider-mcp-handler.service.ts +0 -71
- package/src/services/genai/mcp-handlers/solid-create-custom-form-view-widget-mcp-handler.service.ts +0 -72
- package/src/services/genai/mcp-handlers/solid-create-model-with-fields-mcp-handler.service.ts +0 -45
- package/src/services/genai/mcp-handlers/solid-create-module-mcp-handler.service.ts +0 -58
- package/src/services/genai/mcp-handlers/solid-update-layout-mcp-handler.service.ts +0 -40
- package/src/services/groupBy.json +0 -92
- package/src/services/media-storage-provider-metadata-seeder.service.ts +0 -33
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CommandRunner } from 'nest-commander';
|
|
2
|
+
import { SolidRegistry } from 'src/helpers/solid-registry';
|
|
3
|
+
import { SettingService } from 'src/services/setting.service';
|
|
4
|
+
interface InfoCommandOptions {
|
|
5
|
+
detailed?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class InfoCommand extends CommandRunner {
|
|
8
|
+
private readonly solidRegistry;
|
|
9
|
+
private readonly settingService;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
constructor(solidRegistry: SolidRegistry, settingService: SettingService);
|
|
12
|
+
run(passedParam: string[], options?: InfoCommandOptions): Promise<void>;
|
|
13
|
+
private getRegistryDetails;
|
|
14
|
+
private getWrapperNames;
|
|
15
|
+
private getDataSources;
|
|
16
|
+
parseDetached(val: string): boolean;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=info.command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.command.d.ts","sourceRoot":"","sources":["../../src/commands/info.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAKhE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,UAAU,kBAAkB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBACa,WAAY,SAAQ,aAAa;IAItC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAGlC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc;IAK7C,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7E,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;IAkBtB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAItC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var InfoCommand_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.InfoCommand = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const nest_commander_1 = require("nest-commander");
|
|
16
|
+
const module_helper_1 = require("../helpers/module.helper");
|
|
17
|
+
const solid_registry_1 = require("../helpers/solid-registry");
|
|
18
|
+
const setting_service_1 = require("../services/setting.service");
|
|
19
|
+
let InfoCommand = InfoCommand_1 = class InfoCommand extends nest_commander_1.CommandRunner {
|
|
20
|
+
constructor(solidRegistry, settingService) {
|
|
21
|
+
super();
|
|
22
|
+
this.solidRegistry = solidRegistry;
|
|
23
|
+
this.settingService = settingService;
|
|
24
|
+
this.logger = new common_1.Logger(InfoCommand_1.name);
|
|
25
|
+
}
|
|
26
|
+
async run(passedParam, options) {
|
|
27
|
+
const enabledModules = (0, module_helper_1.getDynamicModuleNames)();
|
|
28
|
+
const dataSources = this.getDataSources();
|
|
29
|
+
const output = {
|
|
30
|
+
modules: {
|
|
31
|
+
count: enabledModules.length,
|
|
32
|
+
names: enabledModules,
|
|
33
|
+
},
|
|
34
|
+
dataSources: {
|
|
35
|
+
count: dataSources.length,
|
|
36
|
+
items: dataSources,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
if (options?.detailed) {
|
|
40
|
+
output.registry = this.getRegistryDetails();
|
|
41
|
+
}
|
|
42
|
+
console.log(JSON.stringify(output, null, 2));
|
|
43
|
+
}
|
|
44
|
+
getRegistryDetails() {
|
|
45
|
+
const info = {
|
|
46
|
+
settings: this.settingService.getAllSettings(),
|
|
47
|
+
seeders: this.getWrapperNames(this.solidRegistry.getSeeders()),
|
|
48
|
+
scheduledJobProviders: this.getWrapperNames(this.solidRegistry.getScheduledJobProviders()),
|
|
49
|
+
selectionProviders: this.getWrapperNames(this.solidRegistry.getSelectionProviders()),
|
|
50
|
+
computedFieldProviders: this.getWrapperNames(this.solidRegistry.getComputedFieldProviders()),
|
|
51
|
+
solidDatabaseModules: this.getWrapperNames(this.solidRegistry.getSolidDatabaseModules()),
|
|
52
|
+
dashboardVariableSelectionProviders: this.getWrapperNames(this.solidRegistry.getDashboardVariableSelectionProviders()),
|
|
53
|
+
dashboardQuestionDataProviders: this.getWrapperNames(this.solidRegistry.getDashboardQuestionDataProviders()),
|
|
54
|
+
mailProviders: this.getWrapperNames(this.solidRegistry.getMailProviders()),
|
|
55
|
+
whatsappProviders: this.getWrapperNames(this.solidRegistry.getWhatsappProviders()),
|
|
56
|
+
smsProviders: this.getWrapperNames(this.solidRegistry.getSmsProviders()),
|
|
57
|
+
securityRuleConfigProviders: this.getWrapperNames(this.solidRegistry.getSecurityRuleConfigProviders()),
|
|
58
|
+
errorCodeProviders: this.getWrapperNames(this.solidRegistry.getErrorCodeProviders()),
|
|
59
|
+
controllers: this.solidRegistry.getControllers().map((controller) => controller.name),
|
|
60
|
+
};
|
|
61
|
+
return info;
|
|
62
|
+
}
|
|
63
|
+
getWrapperNames(wrappers) {
|
|
64
|
+
return wrappers
|
|
65
|
+
.map((wrapper) => wrapper.name || wrapper.instance?.constructor?.name)
|
|
66
|
+
.filter((name) => !!name);
|
|
67
|
+
}
|
|
68
|
+
getDataSources() {
|
|
69
|
+
const fromRegistry = this.solidRegistry
|
|
70
|
+
.getSolidDatabaseModules()
|
|
71
|
+
.map((wrapper) => wrapper.instance)
|
|
72
|
+
.filter((module) => !!module)
|
|
73
|
+
.map((module) => ({
|
|
74
|
+
name: module.name?.(),
|
|
75
|
+
type: module.type?.() ?? null,
|
|
76
|
+
}))
|
|
77
|
+
.filter((item) => !!item.name);
|
|
78
|
+
return fromRegistry;
|
|
79
|
+
}
|
|
80
|
+
parseDetached(val) {
|
|
81
|
+
if (val === undefined)
|
|
82
|
+
return false;
|
|
83
|
+
return val === 'true' || val === '1';
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
exports.InfoCommand = InfoCommand;
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, nest_commander_1.Option)({ flags: '-d, --detailed [boolean]', description: 'Print more details about the consuming project', required: false, defaultValue: false }),
|
|
89
|
+
__metadata("design:type", Function),
|
|
90
|
+
__metadata("design:paramtypes", [String]),
|
|
91
|
+
__metadata("design:returntype", Boolean)
|
|
92
|
+
], InfoCommand.prototype, "parseDetached", null);
|
|
93
|
+
exports.InfoCommand = InfoCommand = InfoCommand_1 = __decorate([
|
|
94
|
+
(0, nest_commander_1.Command)({ name: 'info', description: 'Prints information about the consuming project' }),
|
|
95
|
+
__metadata("design:paramtypes", [solid_registry_1.SolidRegistry,
|
|
96
|
+
setting_service_1.SettingService])
|
|
97
|
+
], InfoCommand);
|
|
98
|
+
//# sourceMappingURL=info.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.command.js","sourceRoot":"","sources":["../../src/commands/info.command.ts"],"names":[],"mappings":"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","sourcesContent":["import { Logger } from '@nestjs/common';\nimport { Command, CommandRunner, Option } from 'nest-commander';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { ISolidDatabaseModule } from 'src/interfaces';\nimport { getDynamicModuleNames } from 'src/helpers/module.helper';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { SettingService } from 'src/services/setting.service';\n\ninterface InfoCommandOptions {\n detailed?: boolean;\n}\n\n@Command({ name: 'info', description: 'Prints information about the consuming project' })\nexport class InfoCommand extends CommandRunner {\n private readonly logger = new Logger(InfoCommand.name);\n\n constructor(\n private readonly solidRegistry: SolidRegistry,\n private readonly settingService: SettingService,\n ) {\n super();\n }\n\n async run(passedParam: string[], options?: InfoCommandOptions): Promise<void> {\n const enabledModules = getDynamicModuleNames();\n const dataSources = this.getDataSources();\n\n const output: Record<string, any> = {\n modules: {\n count: enabledModules.length,\n names: enabledModules,\n },\n dataSources: {\n count: dataSources.length,\n items: dataSources,\n },\n };\n\n if (options?.detailed) {\n output.registry = this.getRegistryDetails();\n }\n\n console.log(JSON.stringify(output, null, 2));\n }\n\n private getRegistryDetails(): Record<string, unknown> {\n const info = {\n settings: this.settingService.getAllSettings(),\n seeders: this.getWrapperNames(this.solidRegistry.getSeeders()),\n scheduledJobProviders: this.getWrapperNames(this.solidRegistry.getScheduledJobProviders()),\n selectionProviders: this.getWrapperNames(this.solidRegistry.getSelectionProviders()),\n computedFieldProviders: this.getWrapperNames(this.solidRegistry.getComputedFieldProviders()),\n solidDatabaseModules: this.getWrapperNames(this.solidRegistry.getSolidDatabaseModules()),\n dashboardVariableSelectionProviders: this.getWrapperNames(this.solidRegistry.getDashboardVariableSelectionProviders()),\n dashboardQuestionDataProviders: this.getWrapperNames(this.solidRegistry.getDashboardQuestionDataProviders()),\n mailProviders: this.getWrapperNames(this.solidRegistry.getMailProviders()),\n whatsappProviders: this.getWrapperNames(this.solidRegistry.getWhatsappProviders()),\n smsProviders: this.getWrapperNames(this.solidRegistry.getSmsProviders()),\n securityRuleConfigProviders: this.getWrapperNames(this.solidRegistry.getSecurityRuleConfigProviders()),\n errorCodeProviders: this.getWrapperNames(this.solidRegistry.getErrorCodeProviders()),\n controllers: this.solidRegistry.getControllers().map((controller) => controller.name),\n // modules: this.getWrapperNames(this.solidRegistry.getModules()),\n // computedFieldMetadata: {\n // count: this.solidRegistry.getComputedFieldMetadata().length,\n // },\n // defaultLocale: this.solidRegistry.getDefaultLocale()?.locale ?? null,\n };\n\n return info;\n }\n\n private getWrapperNames(wrappers: Array<{ name?: string; instance?: any }>): string[] {\n return wrappers\n .map((wrapper) => wrapper.name || wrapper.instance?.constructor?.name)\n .filter((name): name is string => !!name);\n }\n\n private getDataSources(): Array<{ name: string; type: string | null }> {\n const fromRegistry = this.solidRegistry\n .getSolidDatabaseModules()\n .map((wrapper) => wrapper.instance as ISolidDatabaseModule)\n .filter((module): module is ISolidDatabaseModule => !!module)\n .map((module) => ({\n name: module.name?.(),\n type: module.type?.() ?? null,\n }))\n .filter((item) => !!item.name);\n\n\n return fromRegistry;\n\n }\n\n // Flags\n @Option({ flags: '-d, --detailed [boolean]', description: 'Print more details about the consuming project', required: false, defaultValue: false })\n parseDetached(val: string): boolean {\n if (val === undefined) return false;\n return val === 'true' || val === '1';\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.command.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAKhE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,UAAU,iBAAiB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAIa,UAAW,SAAQ,aAAa;IAIrC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAHlC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAGjC,aAAa,EAAE,aAAa;IAK3C,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAoB/D,eAAe;YA0Ff,cAAc;IAyB5B,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"mcp.command.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAKhE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,UAAU,iBAAiB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAIa,UAAW,SAAQ,aAAa;IAIrC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAHlC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAGjC,aAAa,EAAE,aAAa;IAK3C,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAoB/D,eAAe;YA0Ff,cAAc;IAyB5B,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,gBAAgB;IAsBxB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAMnC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGrC"}
|
|
@@ -179,21 +179,13 @@ let McpCommand = McpCommand_1 = class McpCommand extends nest_commander_1.Comman
|
|
|
179
179
|
};
|
|
180
180
|
exports.McpCommand = McpCommand;
|
|
181
181
|
__decorate([
|
|
182
|
-
(0, nest_commander_1.Option)({
|
|
183
|
-
flags: '-d, --detached [boolean]',
|
|
184
|
-
description: 'Run containers in detached mode (only for start, default: false)',
|
|
185
|
-
required: false,
|
|
186
|
-
}),
|
|
182
|
+
(0, nest_commander_1.Option)({ flags: '-d, --detached [boolean]', description: 'Run containers in detached mode (only for start, default: false)', required: false, }),
|
|
187
183
|
__metadata("design:type", Function),
|
|
188
184
|
__metadata("design:paramtypes", [String]),
|
|
189
185
|
__metadata("design:returntype", Boolean)
|
|
190
186
|
], McpCommand.prototype, "parseDetached", null);
|
|
191
187
|
__decorate([
|
|
192
|
-
(0, nest_commander_1.Option)({
|
|
193
|
-
flags: '-p, --repo-path [path]',
|
|
194
|
-
description: 'Path to the SolidX MCP Server repo containing docker-compose.yml',
|
|
195
|
-
required: false,
|
|
196
|
-
}),
|
|
188
|
+
(0, nest_commander_1.Option)({ flags: '-p, --repo-path [path]', description: 'Path to the SolidX MCP Server repo containing docker-compose.yml', required: false, }),
|
|
197
189
|
__metadata("design:type", Function),
|
|
198
190
|
__metadata("design:paramtypes", [String]),
|
|
199
191
|
__metadata("design:returntype", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.command.js","sourceRoot":"","sources":["../../src/commands/mcp.command.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command, CommandRunner, Option } from 'nest-commander';\nimport { Logger } from '@nestjs/common';\nimport { spawn } from 'child_process';\nimport * as path from 'path';\nimport * as fs from 'fs';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { ISolidDatabaseModule } from 'src/interfaces';\nimport { DatasourceType } from 'src/dtos/create-model-metadata.dto';\n\ninterface McpCommandOptions {\n repoPath?: string;\n detached?: boolean;\n}\n\n@Command({\n name: 'mcp',\n description: 'Manage the SolidX MCP server and Celery worker docker containers (start/stop)',\n})\nexport class McpCommand extends CommandRunner {\n private readonly logger = new Logger(McpCommand.name);\n\n constructor(\n private readonly solidRegistry: SolidRegistry\n ) {\n super();\n }\n\n async run(passedParams: string[], options?: McpCommandOptions): Promise<void> {\n const mode = (passedParams[0] || 'start').toLowerCase();\n\n if (mode === 'stop') {\n await this.stopContainers(options);\n } else if (mode === 'start') {\n await this.startContainers(options);\n } else {\n this.logger.error(\n `Unknown mode \"${mode}\". Supported modes are: start, stop.\\n` +\n 'Examples:\\n' +\n ' solid mcp start -p ~/mcp/servers/solidx_mcp_server\\n' +\n ' solid mcp stop -p ~/mcp/servers/solidx_mcp_server\\n'\n );\n }\n }\n\n // ---------------------------------------------------------------\n // START\n // ---------------------------------------------------------------\n private async startContainers(options?: McpCommandOptions): Promise<void> {\n // 1. Validate license key\n const apiKey = process.env.MCP_API_KEY;\n\n // Form the Database url to be used by the MCP server based on the consuming projects details. \n const defaultDatabaseUser = process.env.DEFAULT_DATABASE_USER;\n const defaultDatabasePwd = process.env.DEFAULT_DATABASE_PASSWORD\n ? encodeURIComponent(process.env.DEFAULT_DATABASE_PASSWORD)\n : '';\n const defaultDatabaseHost = process.env.DEFAULT_DATABASE_HOST === 'localhost' ? 'host.docker.internal' : process.env.DEFAULT_DATABASE_HOST;\n const defaultDatabaseName = process.env.DEFAULT_DATABASE_NAME;\n const databaseDialect = process.env.DEFAULT_DATABASE_TYPE?.toLowerCase() === 'mssql' ? 'mssql+pyodbc' : 'postgresql';\n // const databaseUrl = `${databaseDialect}://${defaultDatabaseUser}:${defaultDatabasePwd}@${defaultDatabaseHost}/${defaultDatabaseName}`;\n\n const defaultDatasource: ISolidDatabaseModule = this.solidRegistry.getDefaultSolidDatabaseModule()\n\n let databaseUrl: string;\n if (defaultDatasource.type() === DatasourceType.mssql) {\n const base = `mssql+pyodbc://${defaultDatabaseUser}:${defaultDatabasePwd}@${defaultDatabaseHost}/${defaultDatabaseName}`;\n const driver = encodeURIComponent('ODBC Driver 18 for SQL Server');\n databaseUrl = `${base}?driver=${driver}&TrustServerCertificate=yes`;\n }\n if (defaultDatasource.type() === DatasourceType.postgres) {\n databaseUrl = `postgresql://${defaultDatabaseUser}:${defaultDatabasePwd}@${defaultDatabaseHost}/${defaultDatabaseName}`;\n }\n\n if (!apiKey || apiKey.trim() === '') {\n this.logger.error(\n '❌ MCP_API_KEY environment variable is missing.\\n' +\n 'Set it before running:\\n' +\n ' export MCP_API_KEY=\"your_license_key\"\\n'\n );\n return;\n }\n\n this.logger.log('✔ MCP_API_KEY found.');\n\n // 2. Resolve paths\n const repoPath = options?.repoPath ? this.resolvePath(options.repoPath) : process.cwd();\n const consumingProjectPath = path.resolve(process.cwd(), '..');\n const composeFile = path.join(repoPath, 'docker-compose.yml');\n\n if (!fs.existsSync(composeFile)) {\n this.logger.error(`docker-compose.yml not found at ${composeFile}`);\n return;\n }\n\n const detached = options?.detached ?? false;\n\n this.logger.log(`Mode: start`);\n this.logger.log(`Using repo path: ${repoPath}`);\n this.logger.log(`Detached mode: ${detached}`);\n this.logger.log(`Consuming project root: ${consumingProjectPath}`);\n\n // 3. Build docker compose args\n const cmd = 'docker';\n const args = ['compose', '-f', composeFile, 'up'];\n\n if (detached) {\n args.push('-d');\n }\n\n // Service names as defined in docker-compose.yml\n args.push('mcp_redis', 'mcp_server', 'mcp_celery_worker');\n\n const env: NodeJS.ProcessEnv = {\n ...process.env,\n MCP_API_KEY: apiKey,\n HOST_SOLIDX_CONSUMING_PROJECT_ROOT: consumingProjectPath,\n DATABASE_URL: databaseUrl,\n };\n\n this.logger.log(`Running: ${cmd} ${args.join(' ')}`);\n // const envLog = Object.entries(env)\n // .map(([key, value]) => `${key}=${value ?? ''}`)\n // .join('\\n');\n // this.logger.log(`Using env overrides:\\n${envLog}`);\n\n await this.runDockerCommand(cmd, args, repoPath, env);\n\n this.logger.log(\n detached\n ? 'MCP containers started in detached mode.'\n : 'MCP containers started in foreground.'\n );\n }\n\n // ---------------------------------------------------------------\n // STOP\n // ---------------------------------------------------------------\n private async stopContainers(options?: McpCommandOptions): Promise<void> {\n const repoPath = options?.repoPath ? this.resolvePath(options.repoPath) : process.cwd();\n const composeFile = path.join(repoPath, 'docker-compose.yml');\n\n if (!fs.existsSync(composeFile)) {\n this.logger.error(`docker-compose.yml not found at ${composeFile}`);\n return;\n }\n\n this.logger.log(`Mode: stop`);\n this.logger.log(`Using repo path: ${repoPath}`);\n\n const cmd = 'docker';\n const args = ['compose', '-f', composeFile, 'down'];\n\n this.logger.log(`Running: ${cmd} ${args.join(' ')}`);\n\n await this.runDockerCommand(cmd, args, repoPath, process.env);\n\n this.logger.log('MCP containers stopped (docker compose down).');\n }\n\n // ---------------------------------------------------------------\n // Helpers\n // ---------------------------------------------------------------\n private resolvePath(inputPath: string): string {\n if (inputPath.startsWith('~')) {\n return path.join(process.env.HOME!, inputPath.slice(1));\n }\n return path.resolve(inputPath);\n }\n\n private runDockerCommand(\n cmd: string,\n args: string[],\n cwd: string,\n env: NodeJS.ProcessEnv,\n ): Promise<void> {\n return new Promise((resolve, reject) => {\n const child = spawn(cmd, args, {\n cwd,\n env,\n stdio: 'inherit',\n });\n\n child.on('error', (err) => {\n this.logger.error(`Docker error: ${err.message}`);\n reject(err);\n });\n\n child.on('close', (code) => {\n if (code === 0) resolve();\n else reject(new Error(`Docker exited with code ${code}`));\n });\n });\n }\n\n // Flags\n\n @Option({\n flags: '-d, --detached [boolean]',\n description: 'Run containers in detached mode (only for start, default: false)',\n required: false,\n })\n parseDetached(val: string): boolean {\n if (val === undefined) return false;\n return val === 'true' || val === '1';\n }\n\n @Option({\n flags: '-p, --repo-path [path]',\n description: 'Path to the SolidX MCP Server repo containing docker-compose.yml',\n required: false,\n })\n parseRepoPath(val: string): string {\n return val;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mcp.command.js","sourceRoot":"","sources":["../../src/commands/mcp.command.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command, CommandRunner, Option } from 'nest-commander';\nimport { Logger } from '@nestjs/common';\nimport { spawn } from 'child_process';\nimport * as path from 'path';\nimport * as fs from 'fs';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { ISolidDatabaseModule } from 'src/interfaces';\nimport { DatasourceType } from 'src/dtos/create-model-metadata.dto';\n\ninterface McpCommandOptions {\n repoPath?: string;\n detached?: boolean;\n}\n\n@Command({\n name: 'mcp',\n description: 'Manage the SolidX MCP server and Celery worker docker containers (start/stop)',\n})\nexport class McpCommand extends CommandRunner {\n private readonly logger = new Logger(McpCommand.name);\n\n constructor(\n private readonly solidRegistry: SolidRegistry\n ) {\n super();\n }\n\n async run(passedParams: string[], options?: McpCommandOptions): Promise<void> {\n const mode = (passedParams[0] || 'start').toLowerCase();\n\n if (mode === 'stop') {\n await this.stopContainers(options);\n } else if (mode === 'start') {\n await this.startContainers(options);\n } else {\n this.logger.error(\n `Unknown mode \"${mode}\". Supported modes are: start, stop.\\n` +\n 'Examples:\\n' +\n ' solid mcp start -p ~/mcp/servers/solidx_mcp_server\\n' +\n ' solid mcp stop -p ~/mcp/servers/solidx_mcp_server\\n'\n );\n }\n }\n\n // ---------------------------------------------------------------\n // START\n // ---------------------------------------------------------------\n private async startContainers(options?: McpCommandOptions): Promise<void> {\n // 1. Validate license key\n const apiKey = process.env.MCP_API_KEY;\n\n // Form the Database url to be used by the MCP server based on the consuming projects details. \n const defaultDatabaseUser = process.env.DEFAULT_DATABASE_USER;\n const defaultDatabasePwd = process.env.DEFAULT_DATABASE_PASSWORD\n ? encodeURIComponent(process.env.DEFAULT_DATABASE_PASSWORD)\n : '';\n const defaultDatabaseHost = process.env.DEFAULT_DATABASE_HOST === 'localhost' ? 'host.docker.internal' : process.env.DEFAULT_DATABASE_HOST;\n const defaultDatabaseName = process.env.DEFAULT_DATABASE_NAME;\n const databaseDialect = process.env.DEFAULT_DATABASE_TYPE?.toLowerCase() === 'mssql' ? 'mssql+pyodbc' : 'postgresql';\n // const databaseUrl = `${databaseDialect}://${defaultDatabaseUser}:${defaultDatabasePwd}@${defaultDatabaseHost}/${defaultDatabaseName}`;\n\n const defaultDatasource: ISolidDatabaseModule = this.solidRegistry.getDefaultSolidDatabaseModule()\n\n let databaseUrl: string;\n if (defaultDatasource.type() === DatasourceType.mssql) {\n const base = `mssql+pyodbc://${defaultDatabaseUser}:${defaultDatabasePwd}@${defaultDatabaseHost}/${defaultDatabaseName}`;\n const driver = encodeURIComponent('ODBC Driver 18 for SQL Server');\n databaseUrl = `${base}?driver=${driver}&TrustServerCertificate=yes`;\n }\n if (defaultDatasource.type() === DatasourceType.postgres) {\n databaseUrl = `postgresql://${defaultDatabaseUser}:${defaultDatabasePwd}@${defaultDatabaseHost}/${defaultDatabaseName}`;\n }\n\n if (!apiKey || apiKey.trim() === '') {\n this.logger.error(\n '❌ MCP_API_KEY environment variable is missing.\\n' +\n 'Set it before running:\\n' +\n ' export MCP_API_KEY=\"your_license_key\"\\n'\n );\n return;\n }\n\n this.logger.log('✔ MCP_API_KEY found.');\n\n // 2. Resolve paths\n const repoPath = options?.repoPath ? this.resolvePath(options.repoPath) : process.cwd();\n const consumingProjectPath = path.resolve(process.cwd(), '..');\n const composeFile = path.join(repoPath, 'docker-compose.yml');\n\n if (!fs.existsSync(composeFile)) {\n this.logger.error(`docker-compose.yml not found at ${composeFile}`);\n return;\n }\n\n const detached = options?.detached ?? false;\n\n this.logger.log(`Mode: start`);\n this.logger.log(`Using repo path: ${repoPath}`);\n this.logger.log(`Detached mode: ${detached}`);\n this.logger.log(`Consuming project root: ${consumingProjectPath}`);\n\n // 3. Build docker compose args\n const cmd = 'docker';\n const args = ['compose', '-f', composeFile, 'up'];\n\n if (detached) {\n args.push('-d');\n }\n\n // Service names as defined in docker-compose.yml\n args.push('mcp_redis', 'mcp_server', 'mcp_celery_worker');\n\n const env: NodeJS.ProcessEnv = {\n ...process.env,\n MCP_API_KEY: apiKey,\n HOST_SOLIDX_CONSUMING_PROJECT_ROOT: consumingProjectPath,\n DATABASE_URL: databaseUrl,\n };\n\n this.logger.log(`Running: ${cmd} ${args.join(' ')}`);\n // const envLog = Object.entries(env)\n // .map(([key, value]) => `${key}=${value ?? ''}`)\n // .join('\\n');\n // this.logger.log(`Using env overrides:\\n${envLog}`);\n\n await this.runDockerCommand(cmd, args, repoPath, env);\n\n this.logger.log(\n detached\n ? 'MCP containers started in detached mode.'\n : 'MCP containers started in foreground.'\n );\n }\n\n // ---------------------------------------------------------------\n // STOP\n // ---------------------------------------------------------------\n private async stopContainers(options?: McpCommandOptions): Promise<void> {\n const repoPath = options?.repoPath ? this.resolvePath(options.repoPath) : process.cwd();\n const composeFile = path.join(repoPath, 'docker-compose.yml');\n\n if (!fs.existsSync(composeFile)) {\n this.logger.error(`docker-compose.yml not found at ${composeFile}`);\n return;\n }\n\n this.logger.log(`Mode: stop`);\n this.logger.log(`Using repo path: ${repoPath}`);\n\n const cmd = 'docker';\n const args = ['compose', '-f', composeFile, 'down'];\n\n this.logger.log(`Running: ${cmd} ${args.join(' ')}`);\n\n await this.runDockerCommand(cmd, args, repoPath, process.env);\n\n this.logger.log('MCP containers stopped (docker compose down).');\n }\n\n // ---------------------------------------------------------------\n // Helpers\n // ---------------------------------------------------------------\n private resolvePath(inputPath: string): string {\n if (inputPath.startsWith('~')) {\n return path.join(process.env.HOME!, inputPath.slice(1));\n }\n return path.resolve(inputPath);\n }\n\n private runDockerCommand(cmd: string, args: string[], cwd: string, env: NodeJS.ProcessEnv): Promise<void> {\n return new Promise((resolve, reject) => {\n const child = spawn(cmd, args, {\n cwd,\n env,\n stdio: 'inherit',\n });\n\n child.on('error', (err) => {\n this.logger.error(`Docker error: ${err.message}`);\n reject(err);\n });\n\n child.on('close', (code) => {\n if (code === 0) resolve();\n else reject(new Error(`Docker exited with code ${code}`));\n });\n });\n }\n\n // Flags\n @Option({ flags: '-d, --detached [boolean]', description: 'Run containers in detached mode (only for start, default: false)', required: false, })\n parseDetached(val: string): boolean {\n if (val === undefined) return false;\n return val === 'true' || val === '1';\n }\n\n @Option({ flags: '-p, --repo-path [path]', description: 'Path to the SolidX MCP Server repo containing docker-compose.yml', required: false, })\n parseRepoPath(val: string): string {\n return val;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.command.d.ts","sourceRoot":"","sources":["../../src/commands/seed.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,WAAY,SAAQ,aAAa;IAGhC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAE1B,aAAa,EAAE,aAAa;IAInD,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"seed.command.d.ts","sourceRoot":"","sources":["../../src/commands/seed.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,WAAY,SAAQ,aAAa;IAGhC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAE1B,aAAa,EAAE,aAAa;IAInD,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC7E,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAK9B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGjC"}
|
|
@@ -56,22 +56,13 @@ let SeedCommand = SeedCommand_1 = class SeedCommand extends nest_commander_1.Com
|
|
|
56
56
|
};
|
|
57
57
|
exports.SeedCommand = SeedCommand;
|
|
58
58
|
__decorate([
|
|
59
|
-
(0, nest_commander_1.Option)({
|
|
60
|
-
flags: '-c, --conf [configuration json]',
|
|
61
|
-
description: 'A configuration json, pass a valid json string.',
|
|
62
|
-
required: false
|
|
63
|
-
}),
|
|
59
|
+
(0, nest_commander_1.Option)({ flags: '-c, --conf [configuration json]', description: 'A configuration json, pass a valid json string.', required: false }),
|
|
64
60
|
__metadata("design:type", Function),
|
|
65
61
|
__metadata("design:paramtypes", [String]),
|
|
66
62
|
__metadata("design:returntype", String)
|
|
67
63
|
], SeedCommand.prototype, "parseConf", null);
|
|
68
64
|
__decorate([
|
|
69
|
-
(0, nest_commander_1.Option)({
|
|
70
|
-
flags: '-s, --seeder [seeder name]',
|
|
71
|
-
description: 'The seeder to run.',
|
|
72
|
-
required: true,
|
|
73
|
-
defaultValue: 'ModuleMetadataSeederService'
|
|
74
|
-
}),
|
|
65
|
+
(0, nest_commander_1.Option)({ flags: '-s, --seeder [seeder name]', description: 'The seeder to run.', required: true, defaultValue: 'ModuleMetadataSeederService' }),
|
|
75
66
|
__metadata("design:type", Function),
|
|
76
67
|
__metadata("design:paramtypes", [String]),
|
|
77
68
|
__metadata("design:returntype", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.command.js","sourceRoot":"","sources":["../../src/commands/seed.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwC;AACxC,mDAAgE;AAChE,8DAA2D;AAQpD,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,8BAAa;IAG5C,YAA6B,aAA4B;QACvD,KAAK,EAAE,CAAC;QADmB,kBAAa,GAAb,aAAa,CAAe;QAFxC,WAAM,GAAG,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAIvD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAAqB,EAAE,OAA4B;QAG3D,IAAI,UAAU,GAAQ,IAAI,CAAC;QAG3B,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;
|
|
1
|
+
{"version":3,"file":"seed.command.js","sourceRoot":"","sources":["../../src/commands/seed.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwC;AACxC,mDAAgE;AAChE,8DAA2D;AAQpD,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,8BAAa;IAG5C,YAA6B,aAA4B;QACvD,KAAK,EAAE,CAAC;QADmB,kBAAa,GAAb,aAAa,CAAe;QAFxC,WAAM,GAAG,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAIvD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAAqB,EAAE,OAA4B;QAG3D,IAAI,UAAU,GAAQ,IAAI,CAAC;QAG3B,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa;aAC9B,UAAU,EAAE;aACZ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC;aAClD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;aAChC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,OAAO,CAAC,MAAM,qDAAqD,CAAC,CAAC;YACzG,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAOD,SAAS,CAAC,GAAW;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAGD,WAAW,CAAC,GAAW;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAA;AAnDY,kCAAW;AA2CtB;IADC,IAAA,uBAAM,EAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,WAAW,EAAE,iDAAiD,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;;;4CAGrI;AAGD;IADC,IAAA,uBAAM,EAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAAC;;;;8CAG/I;sBAlDU,WAAW;IADvB,IAAA,wBAAO,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;qCAIjC,8BAAa;GAH9C,WAAW,CAmDvB","sourcesContent":["import { Logger } from '@nestjs/common';\nimport { Command, CommandRunner, Option } from 'nest-commander';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\n\ninterface SeedCommandOptions {\n conf?: string;\n seeder?: string;\n}\n\n@Command({ name: 'seed', description: 'Install seed data for a given module' })\nexport class SeedCommand extends CommandRunner {\n private readonly logger = new Logger(SeedCommand.name);\n\n constructor(private readonly solidRegistry: SolidRegistry) {\n super();\n }\n\n async run(passedParam: string[], options?: SeedCommandOptions): Promise<void> {\n // check if options.conf is non empty and a valid json string only is -c flag is passed.\n // convert to json object JSON.parse\n let parsedConf: any = null;\n\n // Parse conf only if provided\n if (options?.conf !== undefined) {\n try {\n parsedConf = JSON.parse(options.conf);\n this.logger.log(`Parsed conf: ${JSON.stringify(parsedConf, null, 2)}`);\n } catch (err) {\n this.logger.error('Failed to parse --conf. Please provide valid JSON.');\n return;\n }\n } else {\n this.logger.log('No --conf flag provided. Running with default seeder behavior.');\n }\n\n const seeder = this.solidRegistry\n .getSeeders()\n .filter((seeder) => seeder.name === options.seeder)\n .map((seeder) => seeder.instance)\n .pop();\n if (!seeder) {\n this.logger.error(`Seeder service ${options.seeder} not found. Does your service have a seed() method?`);\n return;\n }\n this.logger.log(`Running the seed() method for seeder :${seeder.constructor.name}`);\n await seeder.seed(parsedConf);\n }\n\n /**\n * This parameter will be useful, to support seeders with the same name in different modules\n * Currently the seeder service won't support seeder with same classname within a module\n **/\n @Option({ flags: '-c, --conf [configuration json]', description: 'A configuration json, pass a valid json string.', required: false })\n parseConf(val: string): string {\n return val;\n }\n\n @Option({ flags: '-s, --seeder [seeder name]', description: 'The seeder to run.', required: true, defaultValue: 'ModuleMetadataSeederService' })\n parseString(val: string): string {\n return val;\n }\n}\n"]}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { CreateEmailTemplateDto } from '../dtos/create-email-template.dto';
|
|
2
2
|
import { UpdateEmailTemplateDto } from '../dtos/update-email-template.dto';
|
|
3
3
|
import { EmailTemplateService } from '../services/email-template.service';
|
|
4
|
+
import { SettingService } from '../services/setting.service';
|
|
4
5
|
export declare class EmailTemplateController {
|
|
5
6
|
private readonly service;
|
|
6
|
-
|
|
7
|
+
private readonly settingService;
|
|
8
|
+
constructor(service: EmailTemplateService, settingService: SettingService);
|
|
7
9
|
create(createDto: CreateEmailTemplateDto, files: Array<Express.Multer.File>): Promise<import("..").EmailTemplate>;
|
|
8
10
|
insertMany(createDtos: CreateEmailTemplateDto[], filesArray?: Express.Multer.File[][]): Promise<import("..").EmailTemplate[]>;
|
|
9
11
|
update(id: number, updateDto: UpdateEmailTemplateDto, files: Array<Express.Multer.File>): Promise<import("..").EmailTemplate>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/email-template.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"email-template.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/email-template.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAO7D,qBAEa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,OAAO,EAAE,oBAAoB,EAC7B,cAAc,EAAE,cAAc;IAMjD,MAAM,CAAS,SAAS,EAAE,sBAAsB,EAAmB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAOpG,UAAU,CAAS,UAAU,EAAE,sBAAsB,EAAE,EAAmB,UAAU,GAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAO;IAOlH,MAAM,CAAc,EAAE,EAAE,MAAM,EAAU,SAAS,EAAE,sBAAsB,EAAmB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAgBvH,QAAQ,CAAU,KAAK,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;IAM5B,OAAO,CAAc,EAAE,EAAE,MAAM,EAAW,KAAK,EAAE,GAAG;IAMpD,UAAU,CAAS,GAAG,EAAE,MAAM,EAAE;IAMhC,MAAM,CAAc,EAAE,EAAE,MAAM;IAOpC,uBAAuB,CAAwB,YAAY,EAAE,MAAM;CAuFpE"}
|
|
@@ -20,10 +20,12 @@ const swagger_1 = require("@nestjs/swagger");
|
|
|
20
20
|
const create_email_template_dto_1 = require("../dtos/create-email-template.dto");
|
|
21
21
|
const update_email_template_dto_1 = require("../dtos/update-email-template.dto");
|
|
22
22
|
const email_template_service_1 = require("../services/email-template.service");
|
|
23
|
+
const setting_service_1 = require("../services/setting.service");
|
|
23
24
|
const Mailgen = require("mailgen");
|
|
24
25
|
let EmailTemplateController = class EmailTemplateController {
|
|
25
|
-
constructor(service) {
|
|
26
|
+
constructor(service, settingService) {
|
|
26
27
|
this.service = service;
|
|
28
|
+
this.settingService = settingService;
|
|
27
29
|
}
|
|
28
30
|
create(createDto, files) {
|
|
29
31
|
return this.service.create(createDto, files);
|
|
@@ -47,8 +49,8 @@ let EmailTemplateController = class EmailTemplateController {
|
|
|
47
49
|
return this.service.delete(id);
|
|
48
50
|
}
|
|
49
51
|
generateMailgenTemplate(templateType) {
|
|
50
|
-
const appName =
|
|
51
|
-
const appUrl =
|
|
52
|
+
const appName = this.settingService.getConfigValue('appTitle');
|
|
53
|
+
const appUrl = this.settingService.getConfigValue('solidAppWebsiteUrl');
|
|
52
54
|
var mailGenerator = new Mailgen({
|
|
53
55
|
theme: 'default',
|
|
54
56
|
product: {
|
|
@@ -207,6 +209,7 @@ __decorate([
|
|
|
207
209
|
exports.EmailTemplateController = EmailTemplateController = __decorate([
|
|
208
210
|
(0, common_1.Controller)('email-template'),
|
|
209
211
|
(0, swagger_1.ApiTags)("Solid Core"),
|
|
210
|
-
__metadata("design:paramtypes", [email_template_service_1.EmailTemplateService
|
|
212
|
+
__metadata("design:paramtypes", [email_template_service_1.EmailTemplateService,
|
|
213
|
+
setting_service_1.SettingService])
|
|
211
214
|
], EmailTemplateController);
|
|
212
215
|
//# sourceMappingURL=email-template.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template.controller.js","sourceRoot":"","sources":["../../src/controllers/email-template.controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { Body, Controller, Delete, Get, Header, Param, Post, Put, Query, UploadedFiles, UseInterceptors } from '@nestjs/common';\nimport { AnyFilesInterceptor } from '@nestjs/platform-express';\nimport { ApiBearerAuth, ApiQuery, ApiTags } from '@nestjs/swagger';\nimport { CreateEmailTemplateDto } from '../dtos/create-email-template.dto';\nimport { UpdateEmailTemplateDto } from '../dtos/update-email-template.dto';\nimport { EmailTemplateService } from '../services/email-template.service';\n\n// TODO: esInterop not working somehow, defaulted to using the require syntax to import Mailgen. Figure a better way to do this. \nimport Mailgen = require('mailgen');\n\n\n@Controller('email-template')\n@ApiTags(\"Solid Core\")\nexport class EmailTemplateController {\n constructor(private readonly service: EmailTemplateService) { }\n\n @ApiBearerAuth(\"jwt\")\n @Post()\n @UseInterceptors(AnyFilesInterceptor())\n create(@Body() createDto: CreateEmailTemplateDto, @UploadedFiles() files: Array<Express.Multer.File>) {\n return this.service.create(createDto, files);\n }\n\n @ApiBearerAuth(\"jwt\")\n @Post('/bulk')\n @UseInterceptors(AnyFilesInterceptor())\n insertMany(@Body() createDtos: CreateEmailTemplateDto[], @UploadedFiles() filesArray: Express.Multer.File[][] = []) {\n return this.service.insertMany(createDtos, filesArray);\n }\n\n @ApiBearerAuth(\"jwt\")\n @Put(':id')\n @UseInterceptors(AnyFilesInterceptor())\n update(@Param('id') id: number, @Body() updateDto: UpdateEmailTemplateDto, @UploadedFiles() files: Array<Express.Multer.File>) {\n return this.service.update(id, updateDto, files);\n }\n\n @ApiBearerAuth(\"jwt\")\n @ApiQuery({ name: 'showSoftDeleted', required: false, type: Boolean })\n @ApiQuery({ name: 'showOnlySoftDeleted', required: false, type: Boolean })\n @ApiQuery({ name: 'limit', required: false, type: Number })\n @ApiQuery({ name: 'offset', required: false, type: Number })\n @ApiQuery({ name: 'fields', required: false, type: Array })\n @ApiQuery({ name: 'sort', required: false, type: Array })\n @ApiQuery({ name: 'groupBy', required: false, type: Array })\n @ApiQuery({ name: 'populate', required: false, type: Array })\n @ApiQuery({ name: 'populateMedia', required: false, type: Array })\n @ApiQuery({ name: 'filters', required: false, type: Array })\n @Get()\n async findMany(@Query() query: any) {\n return this.service.find(query);\n }\n\n @ApiBearerAuth(\"jwt\")\n @Get(':id')\n async findOne(@Param('id') id: string, @Query() query: any) {\n return this.service.findOne(+id, query);\n }\n\n @ApiBearerAuth(\"jwt\")\n @Delete('/bulk')\n async deleteMany(@Body() ids: number[]) {\n return this.service.deleteMany(ids);\n }\n\n @ApiBearerAuth(\"jwt\")\n @Delete(':id')\n async delete(@Param('id') id: number) {\n return this.service.delete(id);\n }\n \n @ApiBearerAuth(\"jwt\")\n @Get('mailgen-template/:templateType')\n @Header('content-type', 'text/html')\n generateMailgenTemplate(@Param('templateType') templateType: string) {\n const appName = process.env.SOLID_APP_NAME;\n const appUrl = process.env.SOLID_APP_WEBSITE_URL;\n\n // Configure mailgen by setting a theme and your product info\n var mailGenerator = new Mailgen({\n theme: 'default',\n product: {\n // Appears in header & footer of e-mails\n name: appName,\n link: appUrl\n // Optional product logo\n // logo: 'https://mailgen.js/img/logo.png'\n }\n });\n\n let email = null;\n if (templateType === 'otp-on-register') {\n email = {\n body: {\n name: 'John Appleseed',\n intro: `Welcome to ${appName}! We\\'re very excited to have you on board.`,\n action: {\n instructions: `To get started with ${appName}, please verify your account using the below verification code.`,\n button: {\n color: '#22BC66', // Optional action button color\n text: `321455`,\n link: null\n }\n },\n outro: 'Need help, or have questions? Just reply to this email, we\\'d love to help.'\n }\n };\n }\n if (templateType === 'otp-on-login') {\n email = {\n body: {\n name: 'John Appleseed',\n intro: `Welcome to ${appName}!`,\n action: {\n instructions: `Login to ${appName}, using the below verification code.`,\n button: {\n color: '#22BC66', // Optional action button color\n text: `321455`,\n link: null\n }\n },\n outro: 'Need help, or have questions? Just reply to this email, we\\'d love to help.'\n }\n };\n }\n if (templateType === 'forgot-password') {\n email = {\n body: {\n name: 'John Appleseed',\n intro: `Welcome to ${appName}!`,\n action: {\n instructions: `Click on the below link to reset your password. Please note that this link will expire in 10 minutes.`,\n button: {\n color: '#22BC66', // Optional action button color\n text: `Reset Password`,\n link: `https://example.com`\n }\n },\n outro: 'Need help, or have questions? Just reply to this email, we\\'d love to help.'\n }\n };\n }\n\n // Generate an HTML email with the provided contents\n var emailBody = mailGenerator.generate(email);\n\n // Generate the plaintext version of the e-mail (for clients that do not support HTML)\n // var emailText = mailGenerator.generatePlaintext(email);\n\n // Optionally, preview the generated HTML e-mail by writing it to a local file\n // require('fs').writeFileSync('preview.html', emailBody, 'utf8');\n\n // `emailBody` now contains the HTML body,\n // and `emailText` contains the textual version.\n //\n // It's up to you to send the e-mail.\n // Check out nodemailer to accomplish this:\n // https://nodemailer.com/\n return emailBody;\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"email-template.controller.js","sourceRoot":"","sources":["../../src/controllers/email-template.controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { Body, Controller, Delete, Get, Header, Param, Post, Put, Query, UploadedFiles, UseInterceptors } from '@nestjs/common';\nimport { AnyFilesInterceptor } from '@nestjs/platform-express';\nimport { ApiBearerAuth, ApiQuery, ApiTags } from '@nestjs/swagger';\nimport { CreateEmailTemplateDto } from '../dtos/create-email-template.dto';\nimport { UpdateEmailTemplateDto } from '../dtos/update-email-template.dto';\nimport { EmailTemplateService } from '../services/email-template.service';\nimport { SettingService } from '../services/setting.service';\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\n// TODO: esInterop not working somehow, defaulted to using the require syntax to import Mailgen. Figure a better way to do this.\nimport Mailgen = require('mailgen');\n\n\n@Controller('email-template')\n@ApiTags(\"Solid Core\")\nexport class EmailTemplateController {\n constructor(\n private readonly service: EmailTemplateService,\n private readonly settingService: SettingService,\n ) { }\n\n @ApiBearerAuth(\"jwt\")\n @Post()\n @UseInterceptors(AnyFilesInterceptor())\n create(@Body() createDto: CreateEmailTemplateDto, @UploadedFiles() files: Array<Express.Multer.File>) {\n return this.service.create(createDto, files);\n }\n\n @ApiBearerAuth(\"jwt\")\n @Post('/bulk')\n @UseInterceptors(AnyFilesInterceptor())\n insertMany(@Body() createDtos: CreateEmailTemplateDto[], @UploadedFiles() filesArray: Express.Multer.File[][] = []) {\n return this.service.insertMany(createDtos, filesArray);\n }\n\n @ApiBearerAuth(\"jwt\")\n @Put(':id')\n @UseInterceptors(AnyFilesInterceptor())\n update(@Param('id') id: number, @Body() updateDto: UpdateEmailTemplateDto, @UploadedFiles() files: Array<Express.Multer.File>) {\n return this.service.update(id, updateDto, files);\n }\n\n @ApiBearerAuth(\"jwt\")\n @ApiQuery({ name: 'showSoftDeleted', required: false, type: Boolean })\n @ApiQuery({ name: 'showOnlySoftDeleted', required: false, type: Boolean })\n @ApiQuery({ name: 'limit', required: false, type: Number })\n @ApiQuery({ name: 'offset', required: false, type: Number })\n @ApiQuery({ name: 'fields', required: false, type: Array })\n @ApiQuery({ name: 'sort', required: false, type: Array })\n @ApiQuery({ name: 'groupBy', required: false, type: Array })\n @ApiQuery({ name: 'populate', required: false, type: Array })\n @ApiQuery({ name: 'populateMedia', required: false, type: Array })\n @ApiQuery({ name: 'filters', required: false, type: Array })\n @Get()\n async findMany(@Query() query: any) {\n return this.service.find(query);\n }\n\n @ApiBearerAuth(\"jwt\")\n @Get(':id')\n async findOne(@Param('id') id: string, @Query() query: any) {\n return this.service.findOne(+id, query);\n }\n\n @ApiBearerAuth(\"jwt\")\n @Delete('/bulk')\n async deleteMany(@Body() ids: number[]) {\n return this.service.deleteMany(ids);\n }\n\n @ApiBearerAuth(\"jwt\")\n @Delete(':id')\n async delete(@Param('id') id: number) {\n return this.service.delete(id);\n }\n \n @ApiBearerAuth(\"jwt\")\n @Get('mailgen-template/:templateType')\n @Header('content-type', 'text/html')\n generateMailgenTemplate(@Param('templateType') templateType: string) {\n const appName = this.settingService.getConfigValue<SolidCoreSetting>('appTitle');\n const appUrl = this.settingService.getConfigValue<SolidCoreSetting>('solidAppWebsiteUrl');\n\n // Configure mailgen by setting a theme and your product info\n var mailGenerator = new Mailgen({\n theme: 'default',\n product: {\n // Appears in header & footer of e-mails\n name: appName,\n link: appUrl\n // Optional product logo\n // logo: 'https://mailgen.js/img/logo.png'\n }\n });\n\n let email = null;\n if (templateType === 'otp-on-register') {\n email = {\n body: {\n name: 'John Appleseed',\n intro: `Welcome to ${appName}! We\\'re very excited to have you on board.`,\n action: {\n instructions: `To get started with ${appName}, please verify your account using the below verification code.`,\n button: {\n color: '#22BC66', // Optional action button color\n text: `321455`,\n link: null\n }\n },\n outro: 'Need help, or have questions? Just reply to this email, we\\'d love to help.'\n }\n };\n }\n if (templateType === 'otp-on-login') {\n email = {\n body: {\n name: 'John Appleseed',\n intro: `Welcome to ${appName}!`,\n action: {\n instructions: `Login to ${appName}, using the below verification code.`,\n button: {\n color: '#22BC66', // Optional action button color\n text: `321455`,\n link: null\n }\n },\n outro: 'Need help, or have questions? Just reply to this email, we\\'d love to help.'\n }\n };\n }\n if (templateType === 'forgot-password') {\n email = {\n body: {\n name: 'John Appleseed',\n intro: `Welcome to ${appName}!`,\n action: {\n instructions: `Click on the below link to reset your password. Please note that this link will expire in 10 minutes.`,\n button: {\n color: '#22BC66', // Optional action button color\n text: `Reset Password`,\n link: `https://example.com`\n }\n },\n outro: 'Need help, or have questions? Just reply to this email, we\\'d love to help.'\n }\n };\n }\n\n // Generate an HTML email with the provided contents\n var emailBody = mailGenerator.generate(email);\n\n // Generate the plaintext version of the e-mail (for clients that do not support HTML)\n // var emailText = mailGenerator.generatePlaintext(email);\n\n // Optionally, preview the generated HTML e-mail by writing it to a local file\n // require('fs').writeFileSync('preview.html', emailBody, 'utf8');\n\n // `emailBody` now contains the HTML body,\n // and `emailText` contains the textual version.\n //\n // It's up to you to send the e-mail.\n // Check out nodemailer to accomplish this:\n // https://nodemailer.com/\n return emailBody;\n }\n\n}\n"]}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { ConfigType } from '@nestjs/config';
|
|
2
1
|
import { Request, Response } from 'express';
|
|
3
|
-
import { iamConfig } from '../config/iam.config';
|
|
4
2
|
import { AuthenticationService } from '../services/authentication.service';
|
|
5
3
|
import { UserService } from '../services/user.service';
|
|
4
|
+
import { SettingService } from 'src/services/setting.service';
|
|
6
5
|
export declare class GoogleAuthenticationController {
|
|
7
|
-
private iamConfiguration;
|
|
8
6
|
private readonly userService;
|
|
7
|
+
private readonly settingService;
|
|
9
8
|
private readonly authService;
|
|
10
|
-
constructor(
|
|
9
|
+
constructor(userService: UserService, settingService: SettingService, authService: AuthenticationService);
|
|
11
10
|
connect(): Promise<void>;
|
|
12
11
|
private validateConfiguration;
|
|
13
|
-
googleAuthCallback(req: Request, res: Response): void
|
|
12
|
+
googleAuthCallback(req: Request, res: Response): Promise<void>;
|
|
14
13
|
dummyGoogleAuthRedirect(accessCode: any): Promise<import("..").User>;
|
|
15
14
|
googleAuth(accessCode: any): Promise<{
|
|
16
15
|
accessToken: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-authentication.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/google-authentication.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"google-authentication.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/google-authentication.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAM5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D,qBAKa,8BAA8B;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFX,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,qBAAqB;IAMjD,OAAO;YAIC,qBAAqB;IAe7B,kBAAkB,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ;IA0B5D,uBAAuB,CAAsB,UAAU,KAAA;IAkBvD,UAAU,CAAsB,UAAU,KAAA;;;;;;;;;;;CAInD"}
|
|
@@ -17,40 +17,47 @@ const openapi = require("@nestjs/swagger");
|
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
18
|
const swagger_1 = require("@nestjs/swagger");
|
|
19
19
|
const google_oauth_helper_1 = require("../helpers/google-oauth.helper");
|
|
20
|
-
const iam_config_1 = require("../config/iam.config");
|
|
21
20
|
const auth_decorator_1 = require("../decorators/auth.decorator");
|
|
22
21
|
const public_decorator_1 = require("../decorators/public.decorator");
|
|
23
22
|
const auth_type_enum_1 = require("../enums/auth-type.enum");
|
|
24
23
|
const google_oauth_strategy_1 = require("../passport-strategies/google-oauth.strategy");
|
|
25
24
|
const authentication_service_1 = require("../services/authentication.service");
|
|
26
25
|
const user_service_1 = require("../services/user.service");
|
|
26
|
+
const setting_service_1 = require("../services/setting.service");
|
|
27
27
|
let GoogleAuthenticationController = class GoogleAuthenticationController {
|
|
28
|
-
constructor(
|
|
29
|
-
this.iamConfiguration = iamConfiguration;
|
|
28
|
+
constructor(userService, settingService, authService) {
|
|
30
29
|
this.userService = userService;
|
|
30
|
+
this.settingService = settingService;
|
|
31
31
|
this.authService = authService;
|
|
32
32
|
}
|
|
33
33
|
async connect() {
|
|
34
|
-
this.validateConfiguration();
|
|
34
|
+
await this.validateConfiguration();
|
|
35
35
|
}
|
|
36
|
-
validateConfiguration() {
|
|
37
|
-
|
|
36
|
+
async validateConfiguration() {
|
|
37
|
+
const googleOauth = {
|
|
38
|
+
clientID: this.settingService.getConfigValue("clientID"),
|
|
39
|
+
clientSecret: this.settingService.getConfigValue("clientSecret"),
|
|
40
|
+
callbackURL: this.settingService.getConfigValue("callbackURL"),
|
|
41
|
+
redirectURL: this.settingService.getConfigValue("redirectURL"),
|
|
42
|
+
};
|
|
43
|
+
if (!(0, google_oauth_helper_1.isGoogleOAuthConfigured)(googleOauth)) {
|
|
38
44
|
throw new common_1.InternalServerErrorException('Google OAuth is not configured');
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
|
-
googleAuthCallback(req, res) {
|
|
42
|
-
this.validateConfiguration();
|
|
47
|
+
async googleAuthCallback(req, res) {
|
|
48
|
+
await this.validateConfiguration();
|
|
43
49
|
const user = req.user;
|
|
44
|
-
|
|
50
|
+
const googleOauthRedirectURL = await this.settingService.getConfigValue("redirectURL");
|
|
51
|
+
return res.redirect(`${googleOauthRedirectURL}?accessCode=${user['accessCode']}`);
|
|
45
52
|
}
|
|
46
53
|
async dummyGoogleAuthRedirect(accessCode) {
|
|
47
|
-
this.validateConfiguration();
|
|
54
|
+
await this.validateConfiguration();
|
|
48
55
|
const user = await this.userService.findOneByAccessCode(accessCode);
|
|
49
56
|
delete user['password'];
|
|
50
57
|
return user;
|
|
51
58
|
}
|
|
52
59
|
async googleAuth(accessCode) {
|
|
53
|
-
this.validateConfiguration();
|
|
60
|
+
await this.validateConfiguration();
|
|
54
61
|
return this.authService.signInUsingGoogle(accessCode);
|
|
55
62
|
}
|
|
56
63
|
};
|
|
@@ -73,7 +80,7 @@ __decorate([
|
|
|
73
80
|
__param(1, (0, common_1.Res)()),
|
|
74
81
|
__metadata("design:type", Function),
|
|
75
82
|
__metadata("design:paramtypes", [Object, Object]),
|
|
76
|
-
__metadata("design:returntype",
|
|
83
|
+
__metadata("design:returntype", Promise)
|
|
77
84
|
], GoogleAuthenticationController.prototype, "googleAuthCallback", null);
|
|
78
85
|
__decorate([
|
|
79
86
|
(0, public_decorator_1.Public)(),
|
|
@@ -98,8 +105,8 @@ exports.GoogleAuthenticationController = GoogleAuthenticationController = __deco
|
|
|
98
105
|
(0, auth_decorator_1.Auth)(auth_type_enum_1.AuthType.None),
|
|
99
106
|
(0, common_1.Controller)('iam/google'),
|
|
100
107
|
(0, swagger_1.ApiTags)("Iam"),
|
|
101
|
-
|
|
102
|
-
|
|
108
|
+
__metadata("design:paramtypes", [user_service_1.UserService,
|
|
109
|
+
setting_service_1.SettingService,
|
|
103
110
|
authentication_service_1.AuthenticationService])
|
|
104
111
|
], GoogleAuthenticationController);
|
|
105
112
|
//# sourceMappingURL=google-authentication.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-authentication.controller.js","sourceRoot":"","sources":["../../src/controllers/google-authentication.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAmH;AAEnH,6CAAoD;AAEpD,
|
|
1
|
+
{"version":3,"file":"google-authentication.controller.js","sourceRoot":"","sources":["../../src/controllers/google-authentication.controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { Controller, Get, Inject, InternalServerErrorException, Query, Req, Res, UseGuards } from '@nestjs/common';\nimport { ConfigType } from '@nestjs/config';\nimport { ApiQuery, ApiTags } from '@nestjs/swagger';\nimport { Request, Response } from 'express';\nimport { GoogleAuthConfiguration, isGoogleOAuthConfigured } from 'src/helpers/google-oauth.helper';\nimport { Auth } from '../decorators/auth.decorator';\nimport { Public } from '../decorators/public.decorator';\nimport { AuthType } from '../enums/auth-type.enum';\nimport { GoogleOauthGuard } from '../passport-strategies/google-oauth.strategy';\nimport { AuthenticationService } from '../services/authentication.service';\nimport { UserService } from '../services/user.service';\nimport { SettingService } from 'src/services/setting.service';\nimport type { SolidCoreSetting } from \"src/services/settings/default-settings-provider.service\";\n\n\n\n@Auth(AuthType.None)\n@Controller('iam/google')\n@ApiTags(\"Iam\")\n// @UseGuards(ThrottlerGuard)\n// @SkipThrottle({ login: false, short: false, burst: true, sustained: true }) //Enable the login throttle only \nexport class GoogleAuthenticationController {\n constructor(\n private readonly userService: UserService,\n private readonly settingService: SettingService,\n private readonly authService: AuthenticationService,\n ) { }\n\n @Public()\n @UseGuards(GoogleOauthGuard)\n @Get('connect')\n async connect() {\n await this.validateConfiguration();\n }\n\n private async validateConfiguration() {\n const googleOauth: GoogleAuthConfiguration = {\n clientID: this.settingService.getConfigValue<SolidCoreSetting>(\"clientID\"),\n clientSecret: this.settingService.getConfigValue<SolidCoreSetting>(\"clientSecret\"),\n callbackURL: this.settingService.getConfigValue<SolidCoreSetting>(\"callbackURL\"),\n redirectURL: this.settingService.getConfigValue<SolidCoreSetting>(\"redirectURL\"),\n }\n if (!isGoogleOAuthConfigured(googleOauth)) {\n throw new InternalServerErrorException('Google OAuth is not configured');\n }\n }\n\n @Public()\n @Get('connect/callback')\n @UseGuards(GoogleOauthGuard)\n async googleAuthCallback(@Req() req: Request, @Res() res: Response) {\n await this.validateConfiguration();\n const user = req.user;\n const googleOauthRedirectURL = await this.settingService.getConfigValue<SolidCoreSetting>(\"redirectURL\");\n // console.log(`Found user: ${JSON.stringify(user)}`);\n // const token = await this.authService.signIn(req.user);\n // res.cookie('access_token', token, {\n // maxAge: 2592000000,\n // sameSite: true,\n // secure: false,\n // });\n // return req.user;\n // return res;\n\n return res.redirect(`${googleOauthRedirectURL}?accessCode=${user['accessCode']}`);\n }\n\n /**\n * This is just a dummy endpoint where we are passing in the accessCode, this will be configured in the .env as an environment variable and \n * will be passed the accessCode, using the accessCode the UI code on this page will mostly invoke the /iam/google/auth endpoint which will finally generate the JWT token.\n * \n * @param accessCode \n * @returns \n */\n @Public()\n @Get('dummy-redirect')\n async dummyGoogleAuthRedirect(@Query('accessCode') accessCode) {\n await this.validateConfiguration();\n const user = await this.userService.findOneByAccessCode(accessCode);\n\n delete user['password'];\n\n return user;\n }\n\n /**\n * Use this endpoint to authenticate using an accessCode with Google.\n * \n * @param accessCode \n * @returns \n */\n @Public()\n @Get('authenticate')\n @ApiQuery({ name: 'accessCode', required: true, type: String })\n async googleAuth(@Query('accessCode') accessCode) {\n await this.validateConfiguration();\n return this.authService.signInUsingGoogle(accessCode);\n }\n}\n"]}
|
|
@@ -15,6 +15,16 @@ export declare class OTPAuthenticationController {
|
|
|
15
15
|
}>;
|
|
16
16
|
initiateLogin(signInDto: OTPSignInDto): Promise<{
|
|
17
17
|
message: string;
|
|
18
|
+
user: {
|
|
19
|
+
email: string;
|
|
20
|
+
mobile?: undefined;
|
|
21
|
+
};
|
|
22
|
+
} | {
|
|
23
|
+
message: string;
|
|
24
|
+
user: {
|
|
25
|
+
mobile: string;
|
|
26
|
+
email?: undefined;
|
|
27
|
+
};
|
|
18
28
|
}>;
|
|
19
29
|
confirmLogin(response: Response, signInDto: OTPConfirmOTPDto): Promise<{
|
|
20
30
|
accessToken: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otp-authentication.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/otp-authentication.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,qBAKa,2BAA2B;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,qBAAqB;IAI/D,oBAAoB,CAAS,SAAS,EAAE,YAAY;;;IAO9C,mBAAmB,CACO,QAAQ,EAAE,QAAQ,EACtC,SAAS,EAAE,gBAAgB;;;;IASvC,aAAa,CAAS,SAAS,EAAE,YAAY
|
|
1
|
+
{"version":3,"file":"otp-authentication.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/otp-authentication.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,qBAKa,2BAA2B;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,qBAAqB;IAI/D,oBAAoB,CAAS,SAAS,EAAE,YAAY;;;IAO9C,mBAAmB,CACO,QAAQ,EAAE,QAAQ,EACtC,SAAS,EAAE,gBAAgB;;;;IASvC,aAAa,CAAS,SAAS,EAAE,YAAY;;;;;;;;;;;;;IAOvC,YAAY,CACc,QAAQ,EAAE,QAAQ,EACtC,SAAS,EAAE,gBAAgB;;;;;;;;;;;;CAgB1C"}
|
|
@@ -64,7 +64,7 @@ __decorate([
|
|
|
64
64
|
__decorate([
|
|
65
65
|
(0, public_decorator_1.Public)(),
|
|
66
66
|
(0, common_1.Post)('login/initiate'),
|
|
67
|
-
openapi.ApiResponse({ status: 201 }),
|
|
67
|
+
openapi.ApiResponse({ status: 201, type: Object }),
|
|
68
68
|
__param(0, (0, common_1.Body)()),
|
|
69
69
|
__metadata("design:type", Function),
|
|
70
70
|
__metadata("design:paramtypes", [otp_sign_in_dto_1.OTPSignInDto]),
|