@solidstarters/solid-core 1.2.125 → 1.2.127
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/cli.js.map +1 -1
- package/dist/commands/helper.js.map +1 -1
- package/dist/commands/refresh-model.command.js.map +1 -1
- package/dist/commands/refresh-module.command.js.map +1 -1
- package/dist/commands/remove-fields.command.js.map +1 -1
- package/dist/commands/seed.command.js.map +1 -1
- package/dist/config/app-builder.config.js.map +1 -1
- package/dist/config/cache.options.js.map +1 -1
- package/dist/config/common.config.js.map +1 -1
- package/dist/config/iam.config.js.map +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/controllers/action-metadata.controller.js.map +1 -1
- package/dist/controllers/authentication.controller.js.map +1 -1
- package/dist/controllers/chatter-message-details.controller.js.map +1 -1
- package/dist/controllers/chatter-message.controller.js.map +1 -1
- package/dist/controllers/email-template.controller.js.map +1 -1
- package/dist/controllers/export-template.controller.js.map +1 -1
- package/dist/controllers/export-transaction.controller.js.map +1 -1
- package/dist/controllers/field-metadata.controller.js.map +1 -1
- package/dist/controllers/google-authentication.controller.js.map +1 -1
- package/dist/controllers/import-transaction-error-log.controller.js.map +1 -1
- package/dist/controllers/import-transaction.controller.js.map +1 -1
- package/dist/controllers/list-of-values.controller.js.map +1 -1
- package/dist/controllers/locale.controller.js.map +1 -1
- package/dist/controllers/media-storage-provider-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/media-storage-provider-metadata.controller.js +3 -0
- package/dist/controllers/media-storage-provider-metadata.controller.js.map +1 -1
- package/dist/controllers/media.controller.js.map +1 -1
- package/dist/controllers/menu-item-metadata.controller.js.map +1 -1
- package/dist/controllers/model-metadata.controller.js.map +1 -1
- package/dist/controllers/module-metadata.controller.js.map +1 -1
- package/dist/controllers/mq-message-queue.controller.js.map +1 -1
- package/dist/controllers/mq-message.controller.js.map +1 -1
- package/dist/controllers/otp-authentication.controller.js.map +1 -1
- package/dist/controllers/permission-metadata.controller.js.map +1 -1
- package/dist/controllers/role-metadata.controller.js.map +1 -1
- package/dist/controllers/saved-filters.controller.js.map +1 -1
- package/dist/controllers/scheduled-job.controller.d.ts +43 -0
- package/dist/controllers/scheduled-job.controller.d.ts.map +1 -0
- package/dist/controllers/scheduled-job.controller.js +179 -0
- package/dist/controllers/scheduled-job.controller.js.map +1 -0
- package/dist/controllers/security-rule.controller.js.map +1 -1
- package/dist/controllers/service.controller.js.map +1 -1
- package/dist/controllers/setting.controller.js.map +1 -1
- package/dist/controllers/sms-template.controller.js.map +1 -1
- package/dist/controllers/test-queue.controller.d.ts +7 -0
- package/dist/controllers/test-queue.controller.d.ts.map +1 -0
- package/dist/controllers/{queues-test.controller.js → test-queue.controller.js} +12 -20
- package/dist/controllers/test-queue.controller.js.map +1 -0
- package/dist/controllers/test.controller.js.map +1 -1
- package/dist/controllers/user-activity-history.controller.js.map +1 -1
- package/dist/controllers/user-view-metadata.controller.js.map +1 -1
- package/dist/controllers/user.controller.js.map +1 -1
- package/dist/controllers/view-metadata.controller.js.map +1 -1
- package/dist/decorators/active-user.decorator.js.map +1 -1
- package/dist/decorators/auth.decorator.js.map +1 -1
- package/dist/decorators/computed-field-provider.decorator.js.map +1 -1
- package/dist/decorators/disallow-in-production.decorator.js.map +1 -1
- package/dist/decorators/is-not-in-enum.decorator.js.map +1 -1
- package/dist/decorators/protocol.decorator.js.map +1 -1
- package/dist/decorators/public.decorator.js.map +1 -1
- package/dist/decorators/roles.decorator.js.map +1 -1
- package/dist/decorators/scheduled-job-provider.decorator.d.ts +3 -0
- package/dist/decorators/scheduled-job-provider.decorator.d.ts.map +1 -0
- package/dist/decorators/scheduled-job-provider.decorator.js +11 -0
- package/dist/decorators/scheduled-job-provider.decorator.js.map +1 -0
- package/dist/decorators/selection-provider.decorator.js.map +1 -1
- package/dist/decorators/solid-database-module.decorator.js.map +1 -1
- package/dist/decorators/solid-request-context.decorator.js.map +1 -1
- package/dist/decorators/solid-service.decorator.js.map +1 -1
- package/dist/dtos/basic-filters.dto.js.map +1 -1
- package/dist/dtos/change-password.dto.js.map +1 -1
- package/dist/dtos/confirm-forgot-password.dto.js.map +1 -1
- package/dist/dtos/create-action-metadata.dto.js.map +1 -1
- package/dist/dtos/create-chatter-message-details.dto.js.map +1 -1
- package/dist/dtos/create-chatter-message.dto.js.map +1 -1
- package/dist/dtos/create-email-attachment.dto.js.map +1 -1
- package/dist/dtos/create-email-template.dto.js.map +1 -1
- package/dist/dtos/create-export-template.dto.js.map +1 -1
- package/dist/dtos/create-export-transaction.dto.js.map +1 -1
- package/dist/dtos/create-field-metadata.dto.js.map +1 -1
- package/dist/dtos/create-import-transaction-error-log.dto.js.map +1 -1
- package/dist/dtos/create-import-transaction.dto.js.map +1 -1
- package/dist/dtos/create-list-of-values.dto.js.map +1 -1
- package/dist/dtos/create-locale.dto.js.map +1 -1
- package/dist/dtos/create-media-storage-provider-metadata.dto.d.ts +1 -0
- package/dist/dtos/create-media-storage-provider-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-media-storage-provider-metadata.dto.js +6 -1
- package/dist/dtos/create-media-storage-provider-metadata.dto.js.map +1 -1
- package/dist/dtos/create-media.dto.js.map +1 -1
- package/dist/dtos/create-menu-item-metadata.dto.js.map +1 -1
- package/dist/dtos/create-message.dto.js.map +1 -1
- package/dist/dtos/create-model-metadata.dto.js.map +1 -1
- package/dist/dtos/create-module-metadata.dto.js.map +1 -1
- package/dist/dtos/create-mq-message-queue.dto.js.map +1 -1
- package/dist/dtos/create-mq-message.dto.js.map +1 -1
- package/dist/dtos/create-permission-metadata.dto.js.map +1 -1
- package/dist/dtos/create-role-metadata.dto.js.map +1 -1
- package/dist/dtos/create-saved-filters.dto.js.map +1 -1
- package/dist/dtos/create-scheduled-job.dto.d.ts +15 -0
- package/dist/dtos/create-scheduled-job.dto.d.ts.map +1 -0
- package/dist/dtos/create-scheduled-job.dto.js +98 -0
- package/dist/dtos/create-scheduled-job.dto.js.map +1 -0
- package/dist/dtos/create-security-rule.dto.js.map +1 -1
- package/dist/dtos/create-setting.dto.js.map +1 -1
- package/dist/dtos/create-short-url.dto.js.map +1 -1
- package/dist/dtos/create-sms-template.dto.js.map +1 -1
- package/dist/dtos/create-user-activity-history.dto.js.map +1 -1
- package/dist/dtos/create-user-view-metadata.dto.js.map +1 -1
- package/dist/dtos/create-user.dto.js.map +1 -1
- package/dist/dtos/create-view-metadata.dto.js.map +1 -1
- package/dist/dtos/export.dto.js.map +1 -1
- package/dist/dtos/fetch-roles.dto.js.map +1 -1
- package/dist/dtos/import-instructions.dto.js.map +1 -1
- package/dist/dtos/initiate-forgot-password.dto.js.map +1 -1
- package/dist/dtos/mutate-role-permissions.dto.js.map +1 -1
- package/dist/dtos/mutate-user-roles-list.dto.js.map +1 -1
- package/dist/dtos/mutate-user-roles.dto.js.map +1 -1
- package/dist/dtos/oauth-user-dto.js.map +1 -1
- package/dist/dtos/otp-confirm-otp.dto.js.map +1 -1
- package/dist/dtos/otp-sign-in.dto.js.map +1 -1
- package/dist/dtos/otp-sign-up.dto.js.map +1 -1
- package/dist/dtos/pagination-query.dto.js.map +1 -1
- package/dist/dtos/post-chatter-message.dto.js.map +1 -1
- package/dist/dtos/query.dto.js.map +1 -1
- package/dist/dtos/refresh-token.dto.js.map +1 -1
- package/dist/dtos/register-private.dto.js.map +1 -1
- package/dist/dtos/security-rule-config.dto.js.map +1 -1
- package/dist/dtos/selection-dynamic-query.dto.js.map +1 -1
- package/dist/dtos/sign-in.dto.js.map +1 -1
- package/dist/dtos/sign-up.dto.js.map +1 -1
- package/dist/dtos/solid-request-context.dto.js.map +1 -1
- package/dist/dtos/sort-filter.dto.js.map +1 -1
- package/dist/dtos/update-action-metadata.dto.js.map +1 -1
- package/dist/dtos/update-chatter-message-details.dto.js.map +1 -1
- package/dist/dtos/update-chatter-message.dto.js.map +1 -1
- package/dist/dtos/update-email-attachment.dto.js.map +1 -1
- package/dist/dtos/update-email-template.dto.js.map +1 -1
- package/dist/dtos/update-export-template.dto.js.map +1 -1
- package/dist/dtos/update-export-transaction.dto.js.map +1 -1
- package/dist/dtos/update-field-metadata.dto.js.map +1 -1
- package/dist/dtos/update-import-transaction-error-log.dto.js.map +1 -1
- package/dist/dtos/update-import-transaction.dto.js.map +1 -1
- package/dist/dtos/update-list-of-values.dto.js.map +1 -1
- package/dist/dtos/update-locale.dto.js.map +1 -1
- package/dist/dtos/update-media-storage-provider.dto.js.map +1 -1
- package/dist/dtos/update-media.dto.js.map +1 -1
- package/dist/dtos/update-menu-item-metadata.dto.js.map +1 -1
- package/dist/dtos/update-message.dto.js.map +1 -1
- package/dist/dtos/update-model-metadata.dto.js.map +1 -1
- package/dist/dtos/update-module-metadata.dto.js.map +1 -1
- package/dist/dtos/update-mq-message-queue.dto.js.map +1 -1
- package/dist/dtos/update-mq-message.dto.js.map +1 -1
- package/dist/dtos/update-permission-metadata.dto.js.map +1 -1
- package/dist/dtos/update-role-metadata.dto.js.map +1 -1
- package/dist/dtos/update-saved-filters.dto.js.map +1 -1
- package/dist/dtos/update-scheduled-job.dto.d.ts +16 -0
- package/dist/dtos/update-scheduled-job.dto.d.ts.map +1 -0
- package/dist/dtos/update-scheduled-job.dto.js +103 -0
- package/dist/dtos/update-scheduled-job.dto.js.map +1 -0
- package/dist/dtos/update-security-rule.dto.js.map +1 -1
- package/dist/dtos/update-setting.dto.js.map +1 -1
- package/dist/dtos/update-settings.dto.js.map +1 -1
- package/dist/dtos/update-sms-template.dto.js.map +1 -1
- package/dist/dtos/update-user-activity-history.dto.js.map +1 -1
- package/dist/dtos/update-user-profile.dto.js.map +1 -1
- package/dist/dtos/update-user-view-metadata.dto.js.map +1 -1
- package/dist/dtos/update-user.dto.js.map +1 -1
- package/dist/dtos/update-view-metadata.dto.js.map +1 -1
- package/dist/dtos/upsert-user-view-metadata.dto.js.map +1 -1
- package/dist/entities/action-metadata.entity.js.map +1 -1
- package/dist/entities/chatter-message-details.entity.js.map +1 -1
- package/dist/entities/chatter-message.entity.js.map +1 -1
- package/dist/entities/common.entity.js.map +1 -1
- package/dist/entities/email-attachment.entity.js.map +1 -1
- package/dist/entities/email-template.entity.js.map +1 -1
- package/dist/entities/export-template.entity.js.map +1 -1
- package/dist/entities/export-transaction.entity.js.map +1 -1
- package/dist/entities/field-metadata.entity.js.map +1 -1
- package/dist/entities/import-transaction-error-log.entity.js.map +1 -1
- package/dist/entities/import-transaction.entity.js.map +1 -1
- package/dist/entities/list-of-values.entity.js.map +1 -1
- package/dist/entities/locale.entity.js.map +1 -1
- package/dist/entities/media-storage-provider-metadata.entity.d.ts +1 -0
- package/dist/entities/media-storage-provider-metadata.entity.d.ts.map +1 -1
- package/dist/entities/media-storage-provider-metadata.entity.js +5 -1
- package/dist/entities/media-storage-provider-metadata.entity.js.map +1 -1
- package/dist/entities/media.entity.js.map +1 -1
- package/dist/entities/menu-item-metadata.entity.js.map +1 -1
- package/dist/entities/model-metadata.entity.js.map +1 -1
- package/dist/entities/module-metadata.entity.js.map +1 -1
- package/dist/entities/mq-message-queue.entity.js.map +1 -1
- package/dist/entities/mq-message.entity.js.map +1 -1
- package/dist/entities/permission-metadata.entity.js.map +1 -1
- package/dist/entities/role-metadata.entity.js.map +1 -1
- package/dist/entities/saved-filters.entity.js.map +1 -1
- package/dist/entities/scheduled-job.entity.d.ts +16 -0
- package/dist/entities/scheduled-job.entity.d.ts.map +1 -0
- package/dist/entities/scheduled-job.entity.js +77 -0
- package/dist/entities/scheduled-job.entity.js.map +1 -0
- package/dist/entities/security-rule.entity.js.map +1 -1
- package/dist/entities/setting.entity.js.map +1 -1
- package/dist/entities/sms-template.entity.js.map +1 -1
- package/dist/entities/user-activity-history.entity.js.map +1 -1
- package/dist/entities/user-password-history.entity.js.map +1 -1
- package/dist/entities/user-view-metadata.entity.js.map +1 -1
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/view-metadata.entity.js.map +1 -1
- package/dist/enums/auth-type.enum.js.map +1 -1
- package/dist/filters/http-exception.filter.js.map +1 -1
- package/dist/guards/access-token.guard.js.map +1 -1
- package/dist/guards/authentication.guard.js.map +1 -1
- package/dist/guards/permissions.guard.js.map +1 -1
- package/dist/guards/roles.guard.js.map +1 -1
- package/dist/helpers/command.service.js.map +1 -1
- package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/BooleanFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/ComputedFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/DateFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/DecimalFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/EmailFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/IntFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/JsonFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/LongTextFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/NoOpsFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/RichTextFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/SelectionStaticFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/ShortTextFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/UUIDFieldCrudManager.js.map +1 -1
- package/dist/helpers/google-oauth.helper.js.map +1 -1
- package/dist/helpers/model-metadata-helper.service.js.map +1 -1
- package/dist/helpers/module-metadata-helper.service.js.map +1 -1
- package/dist/helpers/module.helper.js.map +1 -1
- package/dist/helpers/schematic.service.js.map +1 -1
- package/dist/helpers/solid-registry.d.ts +5 -0
- package/dist/helpers/solid-registry.d.ts.map +1 -1
- package/dist/helpers/solid-registry.js +16 -0
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/interceptors/logging.interceptor.js.map +1 -1
- package/dist/interceptors/wrap-response.interceptor.js.map +1 -1
- package/dist/interfaces/active-user-data.interface.js.map +1 -1
- package/dist/interfaces/mq.js.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/api-email-publisher.service.js.map +1 -1
- package/dist/jobs/api-email-queue-options.js.map +1 -1
- package/dist/jobs/api-email-subscriber.service.js.map +1 -1
- package/dist/jobs/database/api-email-publisher-database.service.d.ts +11 -0
- package/dist/jobs/database/api-email-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/api-email-publisher-database.service.js +39 -0
- package/dist/jobs/database/api-email-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/api-email-queue-options-database.d.ts +8 -0
- package/dist/jobs/database/api-email-queue-options-database.d.ts.map +1 -0
- package/dist/jobs/database/api-email-queue-options-database.js +10 -0
- package/dist/jobs/database/api-email-queue-options-database.js.map +1 -0
- package/dist/jobs/database/api-email-subscriber-database.service.d.ts +15 -0
- package/dist/jobs/database/api-email-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/api-email-subscriber-database.service.js +45 -0
- package/dist/jobs/database/api-email-subscriber-database.service.js.map +1 -0
- package/dist/jobs/database/computed-field-evaluation-publisher.service.js.map +1 -1
- package/dist/jobs/database/computed-field-evaluation-queue-options.js.map +1 -1
- package/dist/jobs/database/computed-field-evaluation-subscriber.service.js.map +1 -1
- package/dist/jobs/database/email-publisher-database.service.d.ts +11 -0
- package/dist/jobs/database/email-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/email-publisher-database.service.js +39 -0
- package/dist/jobs/database/email-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/email-queue-options-database.d.ts +8 -0
- package/dist/jobs/database/email-queue-options-database.d.ts.map +1 -0
- package/dist/jobs/database/email-queue-options-database.js +10 -0
- package/dist/jobs/database/email-queue-options-database.js.map +1 -0
- package/dist/jobs/database/email-subscriber-database.service.d.ts +15 -0
- package/dist/jobs/database/email-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/email-subscriber-database.service.js +45 -0
- package/dist/jobs/database/email-subscriber-database.service.js.map +1 -0
- package/dist/jobs/database/{generate-code-publisher.service.d.ts → generate-code-publisher-database.service.d.ts} +2 -2
- package/dist/jobs/database/generate-code-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/generate-code-publisher-database.service.js +39 -0
- package/dist/jobs/database/generate-code-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/{test-queue-db-options.d.ts → generate-code-queue-options-database.d.ts} +1 -1
- package/dist/jobs/database/generate-code-queue-options-database.d.ts.map +1 -0
- package/dist/jobs/database/{generate-code-queue-options.js → generate-code-queue-options-database.js} +1 -1
- package/dist/jobs/database/generate-code-queue-options-database.js.map +1 -0
- package/dist/jobs/database/{generate-code-subscriber.service.d.ts → generate-code-subscriber-database.service.d.ts} +2 -2
- package/dist/jobs/database/generate-code-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/{generate-code-subscriber.service.js → generate-code-subscriber-database.service.js} +10 -10
- package/dist/jobs/database/generate-code-subscriber-database.service.js.map +1 -0
- package/dist/jobs/database/otp-publisher-database.service.d.ts +11 -0
- package/dist/jobs/database/otp-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/{generate-code-publisher.service.js → otp-publisher-database.service.js} +8 -8
- package/dist/jobs/database/otp-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/otp-queue-options-database.d.ts +8 -0
- package/dist/jobs/database/otp-queue-options-database.d.ts.map +1 -0
- package/dist/jobs/database/otp-queue-options-database.js +10 -0
- package/dist/jobs/database/otp-queue-options-database.js.map +1 -0
- package/dist/jobs/database/otp-subscriber-database.service.d.ts +15 -0
- package/dist/jobs/database/otp-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/otp-subscriber-database.service.js +45 -0
- package/dist/jobs/database/otp-subscriber-database.service.js.map +1 -0
- package/dist/jobs/database/sms-publisher-database.service.d.ts +11 -0
- package/dist/jobs/database/sms-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/{queue-test-db-publisher.service.js → sms-publisher-database.service.js} +8 -8
- package/dist/jobs/database/sms-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/sms-queue-database-options.d.ts +8 -0
- package/dist/jobs/database/sms-queue-database-options.d.ts.map +1 -0
- package/dist/jobs/database/sms-queue-database-options.js +10 -0
- package/dist/jobs/database/sms-queue-database-options.js.map +1 -0
- package/dist/jobs/database/sms-subscriber-database.service.d.ts +15 -0
- package/dist/jobs/database/sms-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/sms-subscriber-database.service.js +45 -0
- package/dist/jobs/database/sms-subscriber-database.service.js.map +1 -0
- package/dist/jobs/database/{generate-code-queue-options.d.ts → test-queue-options-database.d.ts} +1 -1
- package/dist/jobs/database/test-queue-options-database.d.ts.map +1 -0
- package/dist/jobs/database/{test-queue-db-options.js → test-queue-options-database.js} +1 -1
- package/dist/jobs/database/test-queue-options-database.js.map +1 -0
- package/dist/jobs/database/{queue-test-db-publisher.service.d.ts → test-queue-publisher-database.service.d.ts} +2 -2
- package/dist/jobs/database/test-queue-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/test-queue-publisher-database.service.js +39 -0
- package/dist/jobs/database/test-queue-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/{queue-test-db-subscriber.service.d.ts → test-queue-subscriber-database.service.d.ts} +2 -2
- package/dist/jobs/database/test-queue-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/{queue-test-db-subscriber.service.js → test-queue-subscriber-database.service.js} +10 -10
- package/dist/jobs/database/test-queue-subscriber-database.service.js.map +1 -0
- package/dist/jobs/database/whatsapp-publisher-database.service.d.ts +11 -0
- package/dist/jobs/database/whatsapp-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/whatsapp-publisher-database.service.js +39 -0
- package/dist/jobs/database/whatsapp-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/whatsapp-queue-options-database.d.ts +8 -0
- package/dist/jobs/database/whatsapp-queue-options-database.d.ts.map +1 -0
- package/dist/jobs/database/whatsapp-queue-options-database.js +10 -0
- package/dist/jobs/database/whatsapp-queue-options-database.js.map +1 -0
- package/dist/jobs/database/whatsapp-subscriber-database.service.d.ts +15 -0
- package/dist/jobs/database/whatsapp-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/whatsapp-subscriber-database.service.js +45 -0
- package/dist/jobs/database/whatsapp-subscriber-database.service.js.map +1 -0
- package/dist/jobs/email-publisher.service.js.map +1 -1
- package/dist/jobs/email-queue-options.js.map +1 -1
- package/dist/jobs/email-subscriber.service.js.map +1 -1
- package/dist/jobs/otp-publisher.service.js.map +1 -1
- package/dist/jobs/otp-queue-options.js.map +1 -1
- package/dist/jobs/otp-subscriber.service.js.map +1 -1
- package/dist/jobs/sms-publisher.service.js.map +1 -1
- package/dist/jobs/sms-queue-options.js.map +1 -1
- package/dist/jobs/sms-subscriber.service.js.map +1 -1
- package/dist/jobs/test-queue-options.d.ts.map +1 -1
- package/dist/jobs/test-queue-options.js.map +1 -1
- package/dist/jobs/{queue-test-publisher.service.d.ts → test-queue-publisher.service.d.ts} +1 -1
- package/dist/jobs/{queue-test-publisher.service.d.ts.map → test-queue-publisher.service.d.ts.map} +1 -1
- package/dist/jobs/{queue-test-publisher.service.js → test-queue-publisher.service.js} +1 -1
- package/dist/jobs/test-queue-publisher.service.js.map +1 -0
- package/dist/jobs/{queue-test-subscriber.service.d.ts → test-queue-subscriber.service.d.ts} +1 -1
- package/dist/jobs/{queue-test-subscriber.service.d.ts.map → test-queue-subscriber.service.d.ts.map} +1 -1
- package/dist/jobs/{queue-test-subscriber.service.js → test-queue-subscriber.service.js} +1 -1
- package/dist/jobs/test-queue-subscriber.service.js.map +1 -0
- package/dist/jobs/whatsapp-publisher.service.js.map +1 -1
- package/dist/jobs/whatsapp-queue-options.js.map +1 -1
- package/dist/jobs/whatsapp-subscriber.service.js.map +1 -1
- package/dist/listeners/user-registration.listener.js.map +1 -1
- package/dist/passport-strategies/google-oauth.strategy.js.map +1 -1
- package/dist/passport-strategies/local.strategy.js.map +1 -1
- package/dist/providers/list-of-values-selection-providers.service.js.map +1 -1
- package/dist/repository/field-metadata.repository.js.map +1 -1
- package/dist/repository/field.repository.js.map +1 -1
- package/dist/repository/media.repository.js.map +1 -1
- package/dist/repository/security-rule.repository.js.map +1 -1
- package/dist/repository/solid-base.repository.js.map +1 -1
- package/dist/seeders/email-template-seeder.service.js.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +20 -2
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +545 -0
- package/dist/seeders/sms-template-seeder.service.js.map +1 -1
- package/dist/seeders/system-fields-seeder.service.js.map +1 -1
- package/dist/seeders/user-seeder.service.js.map +1 -1
- package/dist/services/access-token-storage.service.js.map +1 -1
- package/dist/services/action-metadata.service.js +1 -1
- package/dist/services/action-metadata.service.js.map +1 -1
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/bcrypt.service.js.map +1 -1
- package/dist/services/chatter-message-details.service.js.map +1 -1
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/computed-fields/concat-computed-field-provider.service.js.map +1 -1
- package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.js.map +1 -1
- package/dist/services/computed-fields/uuid-external-id-computed-field-provider.service.js.map +1 -1
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/csv.service.js.map +1 -1
- package/dist/services/email-template.service.js.map +1 -1
- package/dist/services/excel.service.js.map +1 -1
- package/dist/services/export-template.service.js.map +1 -1
- package/dist/services/export-transaction.service.js.map +1 -1
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/file.service.d.ts +1 -0
- package/dist/services/file.service.d.ts.map +1 -1
- package/dist/services/file.service.js +8 -0
- package/dist/services/file.service.js.map +1 -1
- package/dist/services/hashing.service.js.map +1 -1
- package/dist/services/import-transaction-error-log.service.js.map +1 -1
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/list-of-values.service.js.map +1 -1
- package/dist/services/locale.service.js.map +1 -1
- package/dist/services/mail/ElasticEmailService.d.ts +3 -3
- package/dist/services/mail/ElasticEmailService.d.ts.map +1 -1
- package/dist/services/mail/ElasticEmailService.js +5 -5
- package/dist/services/mail/ElasticEmailService.js.map +1 -1
- package/dist/services/mail/SMTPEmailService.d.ts +3 -3
- package/dist/services/mail/SMTPEmailService.d.ts.map +1 -1
- package/dist/services/mail/SMTPEmailService.js +5 -5
- package/dist/services/mail/SMTPEmailService.js.map +1 -1
- package/dist/services/media-storage-provider-metadata-seeder.service.js.map +1 -1
- package/dist/services/media-storage-provider-metadata.service.js.map +1 -1
- package/dist/services/media.service.d.ts.map +1 -1
- package/dist/services/media.service.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +4 -2
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +23 -7
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
- package/dist/services/mediaStorageProviders/index.js.map +1 -1
- package/dist/services/menu-item-metadata.service.js +1 -1
- package/dist/services/menu-item-metadata.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts +1 -3
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +13 -15
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/module-metadata.service.js.map +1 -1
- package/dist/services/mq-message-queue.service.js +1 -1
- package/dist/services/mq-message-queue.service.js.map +1 -1
- package/dist/services/mq-message.service.js +1 -1
- package/dist/services/mq-message.service.js.map +1 -1
- package/dist/services/pdf.service.js.map +1 -1
- package/dist/services/permission-metadata.service.js.map +1 -1
- package/dist/services/queues/database-publisher.service.js.map +1 -1
- package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/database-subscriber.service.js +1 -1
- package/dist/services/queues/database-subscriber.service.js.map +1 -1
- package/dist/services/queues/publisher-factory.service.d.ts +9 -0
- package/dist/services/queues/publisher-factory.service.d.ts.map +1 -0
- package/dist/services/queues/publisher-factory.service.js +45 -0
- package/dist/services/queues/publisher-factory.service.js.map +1 -0
- package/dist/services/queues/rabbitmq-publisher.service.js.map +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.js +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
- package/dist/services/queues/redis-publisher.service.js.map +1 -1
- package/dist/services/queues/redis-subscriber.service.js.map +1 -1
- package/dist/services/refresh-token-ids-storage.service.js.map +1 -1
- package/dist/services/request-context.service.js.map +1 -1
- package/dist/services/role-metadata.service.js.map +1 -1
- package/dist/services/saved-filters.service.js.map +1 -1
- package/dist/services/scheduled-job.service.d.ts +23 -0
- package/dist/services/scheduled-job.service.d.ts.map +1 -0
- package/dist/services/scheduled-job.service.js +59 -0
- package/dist/services/scheduled-job.service.js.map +1 -0
- package/dist/services/scheduled-jobs/scheduled-job.interface.d.ts +5 -0
- package/dist/services/scheduled-jobs/scheduled-job.interface.d.ts.map +1 -0
- package/dist/services/scheduled-jobs/scheduled-job.interface.js +3 -0
- package/dist/services/scheduled-jobs/scheduled-job.interface.js.map +1 -0
- package/dist/services/scheduled-jobs/scheduler.interface.d.ts +4 -0
- package/dist/services/scheduled-jobs/scheduler.interface.d.ts.map +1 -0
- package/dist/services/scheduled-jobs/scheduler.interface.js +3 -0
- package/dist/services/scheduled-jobs/scheduler.interface.js.map +1 -0
- package/dist/services/scheduled-jobs/scheduler.service.d.ts +14 -0
- package/dist/services/scheduled-jobs/scheduler.service.d.ts.map +1 -0
- package/dist/services/scheduled-jobs/scheduler.service.js +124 -0
- package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -0
- package/dist/services/security-rule.service.js.map +1 -1
- package/dist/services/selection-providers/list-of-models-selection-provider.service.js.map +1 -1
- package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.d.ts +11 -0
- package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.d.ts.map +1 -0
- package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.js +46 -0
- package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.js.map +1 -0
- package/dist/services/selection-providers/locale-list-selection-provider.service.js.map +1 -1
- package/dist/services/setting.service.js.map +1 -1
- package/dist/services/short-url/tiny-url.service.js.map +1 -1
- package/dist/services/sms/Msg91BaseSMSService.d.ts +4 -3
- package/dist/services/sms/Msg91BaseSMSService.d.ts.map +1 -1
- package/dist/services/sms/Msg91BaseSMSService.js +3 -2
- package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
- package/dist/services/sms/Msg91OTPService.d.ts +2 -2
- package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
- package/dist/services/sms/Msg91OTPService.js +4 -4
- package/dist/services/sms/Msg91OTPService.js.map +1 -1
- package/dist/services/sms/Msg91SMSService.d.ts +2 -2
- package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
- package/dist/services/sms/Msg91SMSService.js +4 -4
- package/dist/services/sms/Msg91SMSService.js.map +1 -1
- package/dist/services/sms-template.service.js.map +1 -1
- package/dist/services/solid-introspect.service.d.ts +1 -0
- package/dist/services/solid-introspect.service.d.ts.map +1 -1
- package/dist/services/solid-introspect.service.js +14 -0
- package/dist/services/solid-introspect.service.js.map +1 -1
- package/dist/services/user-activity-history.service.js.map +1 -1
- package/dist/services/user-view-metadata.service.js.map +1 -1
- package/dist/services/user.service.js.map +1 -1
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +7 -8
- package/dist/services/view-metadata.service.js.map +1 -1
- package/dist/services/whatsapp/Msg91WhatsappService.d.ts +2 -2
- package/dist/services/whatsapp/Msg91WhatsappService.d.ts.map +1 -1
- package/dist/services/whatsapp/Msg91WhatsappService.js +4 -4
- package/dist/services/whatsapp/Msg91WhatsappService.js.map +1 -1
- package/dist/solid-core-cli-db.module.js.map +1 -1
- package/dist/solid-core-cli.module.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +48 -15
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.js.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
- package/dist/subscribers/created-by-updated-by.subscriber.js.map +1 -1
- package/dist/subscribers/field-metadata.subscriber.js.map +1 -1
- package/dist/subscribers/model-metadata.subscriber.js.map +1 -1
- package/dist/subscribers/security-rule.subscriber.js.map +1 -1
- package/dist/subscribers/soft-delete-aware-event.subscriber.js.map +1 -1
- package/dist/subscribers/view-metadata.subscriber.js.map +1 -1
- package/dist/transformers/array-transformer.js.map +1 -1
- package/dist/transformers/boolean-transformer.js.map +1 -1
- package/dist/transformers/datetime-transformer.js.map +1 -1
- package/dist/transformers/integer-transformer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/validators/is-parsable-int.js.map +1 -1
- package/dist/winston.logger.js.map +1 -1
- package/package.json +3 -1
- package/src/controllers/media-storage-provider-metadata.controller.ts +4 -1
- package/src/controllers/scheduled-job.controller.ts +93 -0
- package/src/controllers/{queues-test.controller.ts → test-queue.controller.ts} +12 -11
- package/src/decorators/scheduled-job-provider.decorator.ts +7 -0
- package/src/dtos/create-media-storage-provider-metadata.dto.ts +12 -7
- package/src/dtos/create-scheduled-job.dto.ts +65 -0
- package/src/dtos/update-scheduled-job.dto.ts +72 -0
- package/src/entities/media-storage-provider-metadata.entity.ts +5 -1
- package/src/entities/scheduled-job.entity.ts +30 -0
- package/src/helpers/solid-registry.ts +21 -1
- package/src/index.ts +8 -0
- package/src/jobs/database/api-email-publisher-database.service.ts +24 -0
- package/src/jobs/database/api-email-queue-options-database.ts +9 -0
- package/src/jobs/database/api-email-subscriber-database.service.ts +30 -0
- package/src/jobs/database/email-publisher-database.service.ts +23 -0
- package/src/jobs/database/email-queue-options-database.ts +10 -0
- package/src/jobs/database/email-subscriber-database.service.ts +30 -0
- package/src/jobs/database/{generate-code-publisher.service.ts → generate-code-publisher-database.service.ts} +2 -2
- package/src/jobs/database/{generate-code-subscriber.service.ts → generate-code-subscriber-database.service.ts} +3 -3
- package/src/jobs/database/otp-publisher-database.service.ts +23 -0
- package/src/jobs/database/otp-queue-options-database.ts +8 -0
- package/src/jobs/database/otp-subscriber-database.service.ts +30 -0
- package/src/jobs/database/sms-publisher-database.service.ts +23 -0
- package/src/jobs/database/sms-queue-database-options.ts +8 -0
- package/src/jobs/database/sms-subscriber-database.service.ts +30 -0
- package/src/jobs/database/test-queue-options-database.ts +9 -0
- package/src/jobs/database/{queue-test-db-publisher.service.ts → test-queue-publisher-database.service.ts} +2 -2
- package/src/jobs/database/{queue-test-db-subscriber.service.ts → test-queue-subscriber-database.service.ts} +3 -3
- package/src/jobs/database/whatsapp-publisher-database.service.ts +23 -0
- package/src/jobs/database/whatsapp-queue-options-database.ts +9 -0
- package/src/jobs/database/whatsapp-subscriber-database.service.ts +31 -0
- package/src/jobs/test-queue-options.ts +0 -1
- package/src/seeders/module-metadata-seeder.service.ts +30 -3
- package/src/seeders/seed-data/solid-core-metadata.json +545 -0
- package/src/services/action-metadata.service.ts +1 -1
- package/src/services/crud.service.ts +6 -5
- package/src/services/file.service.ts +13 -6
- package/src/services/mail/ElasticEmailService.ts +6 -4
- package/src/services/mail/SMTPEmailService.ts +11 -5
- package/src/services/media.service.ts +9 -10
- package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +30 -9
- package/src/services/mediaStorageProviders/file-storage-provider.ts +5 -5
- package/src/services/mediaStorageProviders/index.ts +3 -3
- package/src/services/menu-item-metadata.service.ts +2 -2
- package/src/services/model-metadata.service.ts +14 -13
- package/src/services/mq-message-queue.service.ts +1 -1
- package/src/services/mq-message.service.ts +1 -1
- package/src/services/queues/database-subscriber.service.ts +1 -2
- package/src/services/queues/publisher-factory.service.ts +41 -0
- package/src/services/queues/rabbitmq-subscriber.service.ts +1 -1
- package/src/services/scheduled-job.service.ts +34 -0
- package/src/services/scheduled-jobs/scheduled-job.interface.ts +5 -0
- package/src/services/scheduled-jobs/scheduler.interface.ts +3 -0
- package/src/services/scheduled-jobs/scheduler.service.ts +165 -0
- package/src/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.ts +40 -0
- package/src/services/sms/Msg91BaseSMSService.ts +5 -4
- package/src/services/sms/Msg91OTPService.ts +7 -7
- package/src/services/sms/Msg91SMSService.ts +5 -4
- package/src/services/solid-introspect.service.ts +23 -0
- package/src/services/view-metadata.service.ts +48 -50
- package/src/services/whatsapp/Msg91WhatsappService.ts +4 -3
- package/src/solid-core.module.ts +46 -13
- package/tsconfig.json +1 -0
- package/dist/controllers/queues-test.controller.d.ts +0 -9
- package/dist/controllers/queues-test.controller.d.ts.map +0 -1
- package/dist/controllers/queues-test.controller.js.map +0 -1
- package/dist/jobs/database/generate-code-publisher.service.d.ts.map +0 -1
- package/dist/jobs/database/generate-code-publisher.service.js.map +0 -1
- package/dist/jobs/database/generate-code-queue-options.d.ts.map +0 -1
- package/dist/jobs/database/generate-code-queue-options.js.map +0 -1
- package/dist/jobs/database/generate-code-subscriber.service.d.ts.map +0 -1
- package/dist/jobs/database/generate-code-subscriber.service.js.map +0 -1
- package/dist/jobs/database/queue-test-db-publisher.service.d.ts.map +0 -1
- package/dist/jobs/database/queue-test-db-publisher.service.js.map +0 -1
- package/dist/jobs/database/queue-test-db-subscriber.service.d.ts.map +0 -1
- package/dist/jobs/database/queue-test-db-subscriber.service.js.map +0 -1
- package/dist/jobs/database/test-queue-db-options.d.ts.map +0 -1
- package/dist/jobs/database/test-queue-db-options.js.map +0 -1
- package/dist/jobs/queue-test-publisher.service.js.map +0 -1
- package/dist/jobs/queue-test-subscriber.service.js.map +0 -1
- package/src/jobs/database/test-queue-db-options.ts +0 -13
- package/src/services/user.service.ts.bkp +0 -311
- /package/src/jobs/database/{generate-code-queue-options.ts → generate-code-queue-options-database.ts} +0 -0
- /package/src/jobs/{queue-test-publisher.service.ts → test-queue-publisher.service.ts} +0 -0
- /package/src/jobs/{queue-test-subscriber.service.ts → test-queue-subscriber.service.ts} +0 -0
|
@@ -63,12 +63,11 @@ const crud_helper_service_1 = require("./crud-helper.service");
|
|
|
63
63
|
const field_metadata_service_1 = require("./field-metadata.service");
|
|
64
64
|
const media_storage_provider_metadata_service_1 = require("./media-storage-provider-metadata.service");
|
|
65
65
|
const role_metadata_service_1 = require("./role-metadata.service");
|
|
66
|
-
const generate_code_publisher_service_1 = require("../jobs/database/generate-code-publisher.service");
|
|
67
66
|
const permission_metadata_entity_1 = require("../entities/permission-metadata.entity");
|
|
68
67
|
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
69
68
|
const disallow_in_production_decorator_1 = require("../decorators/disallow-in-production.decorator");
|
|
70
69
|
let ModelMetadataService = class ModelMetadataService {
|
|
71
|
-
constructor(modelMetadataRepo, fieldMetadataRepo, schematicService, dataSource, crudHelperService, mediaStorageProviderMetadataService, fieldMetadataService, roleService, moduleMetadataHelperService
|
|
70
|
+
constructor(modelMetadataRepo, fieldMetadataRepo, schematicService, dataSource, crudHelperService, mediaStorageProviderMetadataService, fieldMetadataService, roleService, moduleMetadataHelperService) {
|
|
72
71
|
this.modelMetadataRepo = modelMetadataRepo;
|
|
73
72
|
this.fieldMetadataRepo = fieldMetadataRepo;
|
|
74
73
|
this.schematicService = schematicService;
|
|
@@ -78,7 +77,6 @@ let ModelMetadataService = class ModelMetadataService {
|
|
|
78
77
|
this.fieldMetadataService = fieldMetadataService;
|
|
79
78
|
this.roleService = roleService;
|
|
80
79
|
this.moduleMetadataHelperService = moduleMetadataHelperService;
|
|
81
|
-
this.generateCodePublihser = generateCodePublihser;
|
|
82
80
|
this.logger = new common_1.Logger('ModelMetadataService');
|
|
83
81
|
}
|
|
84
82
|
async findMany(basicFilterDto) {
|
|
@@ -215,7 +213,7 @@ let ModelMetadataService = class ModelMetadataService {
|
|
|
215
213
|
if (fieldMetadata.isUserKey) {
|
|
216
214
|
userKeyField = affectedField;
|
|
217
215
|
}
|
|
218
|
-
listViewLayout.push({ type: "field", attrs: { name: `${affectedField.name}
|
|
216
|
+
listViewLayout.push({ type: "field", attrs: { name: `${affectedField.name}` } });
|
|
219
217
|
formViewLayout.push({ type: "field", attrs: { name: `${affectedField.name}` } });
|
|
220
218
|
}
|
|
221
219
|
if (userKeyField) {
|
|
@@ -588,13 +586,13 @@ let ModelMetadataService = class ModelMetadataService {
|
|
|
588
586
|
try {
|
|
589
587
|
const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(model.module.name);
|
|
590
588
|
const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);
|
|
591
|
-
const listViewLayoutFields = [{ type: "field", attrs: { name: `id
|
|
589
|
+
const listViewLayoutFields = [{ type: "field", attrs: { name: `id` } }];
|
|
592
590
|
const formViewLayoutFields = [];
|
|
593
591
|
for (let i = 0; i < model.fields.length; i++) {
|
|
594
592
|
const field = model.fields[i];
|
|
595
593
|
if (field.isSystem)
|
|
596
594
|
continue;
|
|
597
|
-
listViewLayoutFields.push({ type: "field", attrs: { name: `${field.name}
|
|
595
|
+
listViewLayoutFields.push({ type: "field", attrs: { name: `${field.name}` } });
|
|
598
596
|
formViewLayoutFields.push({ type: "field", attrs: { name: `${field.name}` } });
|
|
599
597
|
}
|
|
600
598
|
this.populateVAMConfigInFileInternal(formViewLayoutFields, model, listViewLayoutFields, metaData);
|
|
@@ -617,32 +615,33 @@ let ModelMetadataService = class ModelMetadataService {
|
|
|
617
615
|
column2Fields.push(formViewLayoutFields[i]);
|
|
618
616
|
}
|
|
619
617
|
}
|
|
618
|
+
const actionName = `${model.singularName}-list-action`;
|
|
620
619
|
const viewName = `${model.singularName}-list-view`;
|
|
621
620
|
const formViewName = `${model.singularName}-form-view`;
|
|
622
621
|
const menuName = `${model.singularName}-menu-item`;
|
|
623
622
|
const action = {
|
|
624
|
-
displayName: `${model.displayName} List
|
|
625
|
-
name:
|
|
623
|
+
displayName: `${model.displayName} List Action`,
|
|
624
|
+
name: actionName,
|
|
626
625
|
type: "solid",
|
|
627
626
|
domain: "",
|
|
628
627
|
context: "",
|
|
629
628
|
customComponent: `/admin/address-master/${model.singularName}/all`,
|
|
630
629
|
customIsModal: true,
|
|
631
630
|
serverEndpoint: "",
|
|
632
|
-
viewUserKey:
|
|
631
|
+
viewUserKey: viewName,
|
|
633
632
|
moduleUserKey: `${model.module.name}`,
|
|
634
633
|
modelUserKey: `${model.singularName}`
|
|
635
634
|
};
|
|
636
635
|
const menu = {
|
|
637
636
|
displayName: `${model.displayName}`,
|
|
638
|
-
name:
|
|
637
|
+
name: menuName,
|
|
639
638
|
sequenceNumber: 1,
|
|
640
|
-
actionUserKey:
|
|
639
|
+
actionUserKey: actionName,
|
|
641
640
|
moduleUserKey: `${model.module.name}`,
|
|
642
641
|
parentMenuItemUserKey: ""
|
|
643
642
|
};
|
|
644
643
|
const modelListview = {
|
|
645
|
-
name:
|
|
644
|
+
name: viewName,
|
|
646
645
|
displayName: `${model.displayName}`,
|
|
647
646
|
type: "list",
|
|
648
647
|
context: "{}",
|
|
@@ -666,7 +665,7 @@ let ModelMetadataService = class ModelMetadataService {
|
|
|
666
665
|
}
|
|
667
666
|
};
|
|
668
667
|
const modelFormView = {
|
|
669
|
-
name:
|
|
668
|
+
name: formViewName,
|
|
670
669
|
displayName: `${model.displayName}`,
|
|
671
670
|
type: "form",
|
|
672
671
|
context: "{}",
|
|
@@ -987,7 +986,6 @@ exports.ModelMetadataService = ModelMetadataService = __decorate([
|
|
|
987
986
|
media_storage_provider_metadata_service_1.MediaStorageProviderMetadataService,
|
|
988
987
|
field_metadata_service_1.FieldMetadataService,
|
|
989
988
|
role_metadata_service_1.RoleMetadataService,
|
|
990
|
-
module_metadata_helper_service_1.ModuleMetadataHelperService
|
|
991
|
-
generate_code_publisher_service_1.GenerateCodePublisher])
|
|
989
|
+
module_metadata_helper_service_1.ModuleMetadataHelperService])
|
|
992
990
|
], ModelMetadataService);
|
|
993
991
|
//# sourceMappingURL=model-metadata.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-metadata.service.js","sourceRoot":"","sources":["../../src/services/model-metadata.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model-metadata.service.js","sourceRoot":"","sources":["../../src/services/model-metadata.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BadRequestException, Injectable, Logger, NotFoundException } from '@nestjs/common';\nimport { InjectDataSource, InjectRepository } from '@nestjs/typeorm';\nimport * as fs from 'fs/promises'; // Use the Promise-based version of fs for async/await\nimport { DataSource, EntityManager, In, Repository, SelectQueryBuilder } from 'typeorm';\nimport { CreateModelMetadataDto } from '../dtos/create-model-metadata.dto';\nimport { ModelMetadata } from '../entities/model-metadata.entity';\nimport { ModuleMetadata } from '../entities/module-metadata.entity';\n\nimport { SolidFieldType } from 'src/dtos/create-field-metadata.dto';\nimport { ModuleMetadataHelperService } from 'src/helpers/module-metadata-helper.service';\nimport { BasicFilterDto } from '../dtos/basic-filters.dto';\nimport { UpdateModelMetaDataDto } from '../dtos/update-model-metadata.dto';\nimport { ActionMetadata } from '../entities/action-metadata.entity';\nimport { FieldMetadata } from '../entities/field-metadata.entity';\nimport { MenuItemMetadata } from '../entities/menu-item-metadata.entity';\nimport { ViewMetadata } from '../entities/view-metadata.entity';\nimport {\n REFRESH_MODEL_COMMAND,\n REMOVE_FIELDS_COMMAND,\n SchematicService\n} from '../helpers/schematic.service';\nimport { CodeGenerationOptions } from '../interfaces';\nimport { CrudHelperService } from './crud-helper.service';\nimport { FieldMetadataService } from './field-metadata.service';\nimport { MediaStorageProviderMetadataService } from './media-storage-provider-metadata.service';\nimport { RoleMetadataService } from './role-metadata.service';\nimport { PermissionMetadata } from 'src/entities/permission-metadata.entity';\nimport { classify, dasherize } from '@angular-devkit/core/src/utils/strings';\nimport { DisallowInProduction } from 'src/decorators/disallow-in-production.decorator';\n\n@Injectable()\nexport class ModelMetadataService {\n private logger = new Logger('ModelMetadataService');\n constructor(\n @InjectRepository(ModelMetadata)\n private readonly modelMetadataRepo: Repository<ModelMetadata>,\n @InjectRepository(FieldMetadata)\n private readonly fieldMetadataRepo: Repository<FieldMetadata>,\n private readonly schematicService: SchematicService,\n @InjectDataSource()\n private readonly dataSource: DataSource,\n private readonly crudHelperService: CrudHelperService,\n private readonly mediaStorageProviderMetadataService: MediaStorageProviderMetadataService,\n private readonly fieldMetadataService: FieldMetadataService,\n private readonly roleService: RoleMetadataService,\n private readonly moduleMetadataHelperService: ModuleMetadataHelperService,\n // No longer used. \n // private readonly generateCodePublihser: GenerateCodePublisherDatabase,\n ) { }\n\n async findMany(basicFilterDto: BasicFilterDto) {\n const alias = 'modelMetadata';\n // Extract the required keys from the input query\n let { limit, offset } = basicFilterDto;\n\n // Create above query on pincode table using query builder\n var qb: SelectQueryBuilder<ModelMetadata> = this.modelMetadataRepo.createQueryBuilder(alias)\n qb = await this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias);\n\n // Get the records and the count\n const [entities, count] = await qb.getManyAndCount();\n\n const currentPage = Math.floor(offset / limit) + 1;\n const totalPages = Math.ceil(count / limit);\n\n const nextPage = currentPage < totalPages ? currentPage + 1 : null;\n const prevPage = currentPage > 1 ? currentPage - 1 : null;\n\n const r = {\n meta: {\n totalRecords: count,\n currentPage: currentPage,\n nextPage: nextPage,\n prevPage: prevPage,\n totalPages: totalPages,\n perPage: +limit,\n },\n records: entities\n };\n return r\n }\n\n async findOne(id: any, query?: any) {\n // const { fields, filters, populate } = basicFilterDto;\n const entity = await this.modelMetadataRepo.findOne({\n where: {\n id: id,\n },\n relations: query?.populate, //FIXME: Check with jenender and change to relations to avoid confusion\n });\n if (!entity) {\n throw new NotFoundException(`entity #${id} not found`);\n }\n return entity;\n }\n\n async findOneBySingularName(singularName: string, relations = {}) {\n const entity = await this.modelMetadataRepo.findOne({\n where: {\n singularName: singularName,\n },\n relations: relations,\n });\n if (!entity) {\n throw new NotFoundException(`entity #${singularName} not found`);\n }\n return entity;\n }\n\n async findOneByUserKey(singularName: string, relations = {}) {\n const entity = await this.modelMetadataRepo.findOne({\n where: {\n singularName: singularName,\n },\n relations: relations,\n });\n if (!entity) {\n throw new NotFoundException(`entity #${singularName} not found`);\n }\n return entity;\n }\n\n async create(createDto: CreateModelMetadataDto) {\n\n try {\n return await this.dataSource.transaction(async (manager: EntityManager) => {\n const modelRepository = manager.getRepository(ModelMetadata);\n const fieldRepository = manager.getRepository(FieldMetadata);\n\n // Step 1: Write initial data to the database\n const model = await this.createInDB(manager, createDto);\n await this.createInFile(model.id, modelRepository);\n\n await this.handleInverseRelationFieldsUpdates(model, fieldRepository, modelRepository);\n\n return model\n });\n } catch (error) {\n // console.error('Transaction failed:', error);\n this.logger.error('Transaction failed:', error);\n throw error;\n }\n }\n\n // Iterate through the fields in the createDto & get all the relation fields which have create inverse as true\n private async handleInverseRelationFieldsUpdates(model: ModelMetadata, fieldRepository: Repository<FieldMetadata>, modelRepository: Repository<ModelMetadata>) {\n const fields: FieldMetadata[] = await this.getRelationInverseFields(model.id, fieldRepository);\n\n // Call a function which will iterate through each field and create an inverse field entry for the respective model i.e call updateInverseField on the related model\n for (const field of fields) {\n await this.fieldMetadataService.updateInverseField(field, fieldRepository, modelRepository);\n }\n }\n\n async update(id: number, updateModelMetaDataDto: UpdateModelMetaDataDto) {\n //To DO start the transaction \n // call create In db\n // call createInfile\n\n try {\n return await this.dataSource.transaction(async (manager: EntityManager) => {\n const modelRepository = manager.getRepository(ModelMetadata);\n const fieldRepository = manager.getRepository(FieldMetadata);\n\n // Step 1: Write initial data to the database\n const model = await this.updateInDb(manager, id, updateModelMetaDataDto)\n await this.updateInFile(model.id, modelRepository);\n\n await this.handleInverseRelationFieldsUpdates(model, fieldRepository, modelRepository);\n\n // return model\n });\n } catch (error) {\n // console.error('Transaction failed:', error);\n this.logger.error('Transaction failed:', error);\n throw error;\n }\n }\n\n async createInDB(manager: EntityManager, createDto: CreateModelMetadataDto) {\n\n //Save the model\n const resolvedModule = await this.dataSource\n .getRepository(ModuleMetadata)\n .findOne({\n where: {\n id: createDto['moduleId'],\n },\n relations: {},\n });\n createDto['module'] = resolvedModule;\n\n if (createDto['parentModelId']) {\n const resolvedParentModel = await this.dataSource\n .getRepository(ModelMetadata)\n .findOne({\n where: {\n id: createDto['parentModelId'],\n },\n relations: {},\n });\n createDto['parentModel'] = resolvedParentModel;\n }\n\n const { fields: fieldsMetadata, ...modelMetaDataWithoutFields } = createDto;\n const modelMetadata = this.modelMetadataRepo.create(modelMetaDataWithoutFields);\n let model = await manager.save(modelMetadata);\n\n // iterate over all fields and upsert. \n let userKeyField = null;\n const listViewLayout = [];\n const formViewLayout = [];\n\n for (let k = 0; k < fieldsMetadata.length; k++) {\n const fieldMetadata = fieldsMetadata[k];\n\n // TODO: resolve model & mediaStorageProvider. \n fieldMetadata['model'] = model;\n if (fieldMetadata.mediaStorageProviderId) {\n fieldMetadata['mediaStorageProvider'] = await this.mediaStorageProviderMetadataService.findOne(fieldMetadata.mediaStorageProviderId);\n }\n // console.log(fieldMetadata.displayName);\n // this.logger.debug(fieldMetadata.displayName);\n\n const fieldMetadataObject = this.fieldMetadataRepo.create(fieldMetadata);\n const affectedField = await manager.save(fieldMetadataObject);\n\n if (fieldMetadata.isUserKey) {\n userKeyField = affectedField;\n }\n listViewLayout.push({ type: \"field\", attrs: { name: `${affectedField.name}` } })\n formViewLayout.push({ type: \"field\", attrs: { name: `${affectedField.name}` } })\n\n }\n\n // Now that we have created fields & model update the model to stamp the userKeyField. \n if (userKeyField) {\n modelMetaDataWithoutFields['userKeyField'] = userKeyField;\n const updatedModelMetadataDto = this.modelMetadataRepo.merge(model, modelMetaDataWithoutFields);\n model = await manager.save(updatedModelMetadataDto);\n }\n\n return model;\n }\n\n async createInFile(modelId: any, repo: Repository<ModelMetadata>) {\n try {\n const model = await repo.findOne({\n where: {\n id: modelId,\n },\n relations: [\"fields\", \"fields.mediaStorageProvider\", \"module\", \"parentModel\"], //FIXME: Check with jenender and change to relations to avoid confusion\n });\n\n const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(model.module.name);\n const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);\n\n const modelMetaData = {\n singularName: model.singularName,\n pluralName: model.pluralName,\n displayName: model.displayName,\n description: model.description,\n dataSource: model.dataSource,\n dataSourceType: model.dataSourceType,\n tableName: model.tableName,\n userKeyFieldUserKey: model.fields.find(field => field.isUserKey)?.name,\n isChild: model?.isChild,\n parentModelUserKey: model?.parentModel?.singularName,\n enableAuditTracking: model?.enableAuditTracking,\n enableSoftDelete: model?.enableSoftDelete,\n draftPublishWorkflow: model?.draftPublishWorkflow,\n internationalisation: model?.internationalisation,\n fields: []\n }\n\n for (let i = 0; i < model.fields.length; i++) {\n const field = model.fields[i];\n if (field.isSystem) continue;\n const fieldObject: Record<string, any> = await this.fieldMetadataService.createFieldConfig(field);\n modelMetaData.fields.push(fieldObject);\n }\n // Update the `models` array\n metaData.moduleMetadata.models.push(modelMetaData);\n\n // Write the updated object back to the file\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n\n } catch (error) {\n // console.error('File creation failed:', error);\n this.logger.error('File creation failed:', error);\n throw new Error('File creation failed, rolling back transaction'); // Trigger rollback\n }\n }\n\n async updateInDb(manager: EntityManager, id: number, updateModelMetaDataDto: UpdateModelMetaDataDto) {\n\n const { fields: fieldsMetadata, ...modelMetaDataWithoutFields } = updateModelMetaDataDto;\n const modelRepo = manager.getRepository(ModelMetadata);\n const fieldRepo = manager.getRepository(FieldMetadata);\n // 1. Update the model metadata without fields\n let existingModel = await modelRepo.findOne({\n where: {\n singularName: updateModelMetaDataDto.singularName\n },\n relations: [\"fields\", \"module\"], //FIXME: Check with jenender and change to relations to avoid confusion\n });\n\n if (!existingModel) {\n throw new Error(`Model with singular name \"${updateModelMetaDataDto.singularName}\" not found.`);\n }\n\n const updatedModel = modelRepo.merge(existingModel, modelMetaDataWithoutFields);\n await modelRepo.save(updatedModel);\n\n const existingFields = existingModel.fields || [];\n const existingFieldIds = existingFields.map((field) => field.id);\n\n // 2. Synchronize fields\n // const userKeyFieldName = updateModelMetaDataDto.userKeyFieldUserKey;\n let userKeyField = null;\n\n const fieldsToSave: FieldMetadata[] = [];\n const fieldsToDelete: FieldMetadata[] = [];\n\n for (const fieldMetadata of fieldsMetadata) {\n if (fieldMetadata.id) {\n // Existing field\n const existingField = existingFields.find((field) => field.id === fieldMetadata.id);\n if (existingField) {\n if (fieldMetadata.mediaStorageProviderId) {\n fieldMetadata['mediaStorageProvider'] = await this.mediaStorageProviderMetadataService.findOne(fieldMetadata.mediaStorageProviderId);\n }\n Object.assign(existingField, fieldMetadata);\n fieldsToSave.push(existingField);\n }\n } else {\n // New field\n fieldMetadata['model'] = updatedModel;\n\n if (fieldMetadata.mediaStorageProviderId) {\n fieldMetadata['mediaStorageProvider'] = await this.mediaStorageProviderMetadataService.findOne(fieldMetadata.mediaStorageProviderId);\n }\n const createdField = fieldRepo.create(fieldMetadata);\n fieldsToSave.push(createdField);\n }\n\n // Check for userKeyField\n // if (fieldMetadata.isUserKey) {\n // userKeyField = fieldMetadata;\n // }\n }\n\n // Fields to delete (not in the payload)\n fieldsToDelete.push(...existingFields.filter((field) => !fieldsMetadata.some((f) => f.id === field.id)));\n\n // Save and remove fields\n if (fieldsToSave.length > 0) {\n await fieldRepo.save(fieldsToSave);\n }\n if (fieldsToDelete.length > 0) {\n fieldsToDelete.forEach(field => { field.isMarkedForRemoval = true })\n await fieldRepo.save(fieldsToDelete);\n\n // await this.fieldMetadataRepo.remove(fieldsToDelete);\n }\n\n const finalModel = await modelRepo.findOne({\n where: { id: updatedModel.id },\n relations: [\"fields\", \"userKeyField\"]\n });\n\n // 3. Update model with userKeyField if specified\n const userKeyFields = fieldsMetadata.filter(field => field.isUserKey);\n\n if (userKeyFields.length > 0) {\n const newUserKeyField = userKeyFields[userKeyFields.length - 1];\n const savedUserKeyField = await fieldRepo.findOne({ where: { id: newUserKeyField.id } });\n\n if (savedUserKeyField) {\n finalModel.userKeyField = savedUserKeyField;\n await modelRepo.save(finalModel);\n }\n\n const otherUserKeyFields = userKeyFields.filter(field => field.id !== newUserKeyField.id);\n\n for (const field of otherUserKeyFields) {\n const existingField = await fieldRepo.findOne({ where: { id: field.id } });\n if (existingField) {\n existingField.isUserKey = false;\n await fieldRepo.save(existingField);\n }\n }\n } else {\n if (finalModel.userKeyField) {\n finalModel.userKeyField = null;\n await modelRepo.save(finalModel);\n }\n }\n\n return updatedModel;\n\n }\n\n async updateInFile(modelId: any, repo: Repository<ModelMetadata>) {\n try {\n\n const model = await repo.findOne({\n where: {\n id: modelId,\n },\n relations: [\"fields\", \"fields.mediaStorageProvider\", \"module\", \"parentModel\"], //FIXME: Check with jenender and change to relations to avoid confusion\n order: {\n fields: {\n id: \"ASC\",\n },\n },\n });\n\n const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(model.module.name);\n const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);\n\n const modelMetaData = {\n singularName: model.singularName,\n pluralName: model.pluralName,\n displayName: model.displayName,\n description: model.description,\n dataSource: model.dataSource,\n dataSourceType: model.dataSourceType,\n tableName: model.tableName,\n userKeyFieldUserKey: model.fields.find(field => field.isUserKey)?.name,\n isChild: model?.isChild,\n parentModelUserKey: model?.parentModel?.singularName,\n enableAuditTracking: model?.enableAuditTracking,\n enableSoftDelete: model?.enableSoftDelete,\n draftPublishWorkflow: model?.draftPublishWorkflow,\n internationalisation: model?.internationalisation,\n fields: []\n }\n\n for (let i = 0; i < model.fields.length; i++) {\n const field = model.fields[i];\n if (!field.isSystem) {\n\n const fieldObject: Record<string, any> = await this.fieldMetadataService.createFieldConfig(field);\n if (field.isMarkedForRemoval) {\n fieldObject.isMarkedForRemoval = true;\n }\n modelMetaData.fields.push(fieldObject);\n }\n }\n\n // Check if the model already exists in `models`\n const existingModelIndex = metaData.moduleMetadata.models.findIndex(\n (existingModel: any) => existingModel.singularName === modelMetaData.singularName\n );\n\n if (existingModelIndex !== -1) {\n // Update the existing model\n metaData.moduleMetadata.models[existingModelIndex] = modelMetaData;\n } else {\n // Add the new model\n metaData.moduleMetadata.models.push(modelMetaData);\n }\n\n // Write the updated object back to the file\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n\n } catch (error) {\n // console.error('File creation failed:', error);\n this.logger.error('File creation failed:', error);\n throw new Error('File creation failed, rolling back transaction'); // Trigger rollback\n }\n }\n\n async upsert(updateDto: UpdateModelMetaDataDto) {\n // First check if module already exists using name\n const existingModelMetadata = await this.modelMetadataRepo.findOne({\n where: {\n singularName: updateDto.singularName\n }\n })\n\n // if found\n if (existingModelMetadata) {\n const updatedModelMetadata = { ...existingModelMetadata, ...updateDto };\n const updatedModel = await this.modelMetadataRepo.save(updatedModelMetadata);\n return updatedModel\n }\n // if not found - create new \n else {\n const modelMetadata = this.modelMetadataRepo.create(updateDto);\n return this.modelMetadataRepo.save(modelMetadata);\n }\n }\n\n async removeBySingularName(singularName: string) {\n try {\n const entity = await this.findOneBySingularName(singularName);\n await this.cleanupOnDelete(entity.id);\n const r = await this.modelMetadataRepo.remove(entity);\n return r;\n } catch (error) {\n }\n }\n\n async deleteMany(ids: number[]): Promise<any> {\n if (!ids || ids.length === 0) {\n throw new Error('At least one ID is required for deletion');\n }\n const removedEntities = [];\n for (let i = 0; i < ids.length; i++) {\n const id = ids[i]\n const entity = await this.modelMetadataRepo.findOne({\n where: {\n //@ts-ignore\n id: id,\n }\n });\n // if (!entity) {\n // throw new Error(`Entity with id ${ id } not found`);\n // }\n await this.cleanupOnDelete(entity.id);\n const r = await this.modelMetadataRepo.remove(entity);\n removedEntities.push(r);\n }\n\n return removedEntities\n }\n\n async remove(id: number) {\n const entity = await this.findOne(id);\n await this.cleanupOnDelete(entity.id);\n const r = await this.modelMetadataRepo.remove(entity);\n return r\n }\n\n async cleanupOnDelete(modelEntityId: number) {\n const modelEntity = await this.modelMetadataRepo.findOne({\n where: {\n // @ts-ignore\n id: modelEntityId,\n },\n relations: ['module']\n });\n\n if (!modelEntity) {\n this.logger.log(`Invalid modelEntityId: ${modelEntityId} unable to resolve model metadata`);\n return;\n }\n if (modelEntity.id !== modelEntityId) {\n this.logger.log(`Invalid modelEntityId: ${modelEntityId} unable to resolve model metadata id ${modelEntity.id} not matching with the one passed as argument ${modelEntityId}`);\n return;\n }\n\n this.logger.log(`Cleaning up for model: ${modelEntity.singularName} belonging to module: ${modelEntity.module.name}`);\n\n const modulePath = await this.moduleMetadataHelperService.getModulePath(modelEntity.module.name);\n // /Users/harishpatel/Code/javascript/school-fees-portal/solid-api/src/solid-core\n this.logger.log(`Module path: ${modulePath}`);\n\n const filesToDelete = [];\n // <singularName>.entity.ts | The TypeORM model that needs to be deleted. | Automatic\n const entityFilePath = `${modulePath}/entities/${dasherize(modelEntity.singularName)}.entity.ts`;\n filesToDelete.push(entityFilePath);\n this.logger.log(`About to delete entity file path: ${entityFilePath}`);\n\n // <singularName>.create.dto.ts | The TypeORM model that needs to be deleted. | Automatic\n const createDtoFilePath = `${modulePath}/dtos/create-${dasherize(modelEntity.singularName)}.dto.ts`;\n filesToDelete.push(createDtoFilePath);\n this.logger.log(`About to delete create DTO file path: ${createDtoFilePath}`);\n\n // <singularName>.update.dto.ts | The TypeORM model that needs to be deleted. | Automatic\n const updateDtoFilePath = `${modulePath}/dtos/update-${dasherize(modelEntity.singularName)}.dto.ts`;\n filesToDelete.push(updateDtoFilePath);\n this.logger.log(`About to delete update DTO file path: ${updateDtoFilePath}`);\n\n // <singularName>.repository.ts | The TypeORM model that needs to be deleted. | Automatic\n const repositoryFilePath = `${modulePath}/repositories/${dasherize(modelEntity.singularName)}.repository.ts`;\n filesToDelete.push(repositoryFilePath);\n this.logger.log(`About to delete repository file path: ${repositoryFilePath}`);\n\n // <singularName>.service.ts | The TypeORM model that needs to be deleted. | Automatic\n const serviceFilePath = `${modulePath}/services/${dasherize(modelEntity.singularName)}.service.ts`;\n filesToDelete.push(serviceFilePath);\n this.logger.log(`About to delete service file path: ${serviceFilePath}`);\n\n // <singularName>.controller.ts | The TypeORM model that needs to be deleted. | Automatic\n const controllerFilePath = `${modulePath}/controllers/${dasherize(modelEntity.singularName)}.controller.ts`;\n filesToDelete.push(controllerFilePath);\n this.logger.log(`About to delete controller file path: ${controllerFilePath}`);\n\n for (let i = 0; i < filesToDelete.length; i++) {\n const fileToDelete = filesToDelete[i];\n try {\n await fs.unlink(fileToDelete);\n this.logger.log(`Deleted file: ${fileToDelete}`);\n } catch (error) {\n this.logger.error(`Error deleting file: ${fileToDelete}`, error);\n }\n }\n\n // Delete the permissions, menu, actions & views related to this model.\n const controllerName = `${classify(modelEntity.singularName)}Controller`;\n const permissionNames = [\n `${controllerName}.delete`,\n `${controllerName}.deleteMany`,\n `${controllerName}.findOne`,\n `${controllerName}.findMany`,\n `${controllerName}.recover`,\n `${controllerName}.recoverMany`,\n `${controllerName}.partialUpdate`,\n `${controllerName}.update`,\n `${controllerName}.insertMany`,\n `${controllerName}.create`,\n ];\n const permissionsRepo = this.dataSource.getRepository(PermissionMetadata);\n const permissionsToDelete = await permissionsRepo.find({\n where: { name: In(permissionNames) },\n relations: ['roles'],\n });\n\n // Remove role associations first\n for (const permission of permissionsToDelete) {\n if (permission.roles?.length) {\n await this.dataSource\n .createQueryBuilder()\n .relation(PermissionMetadata, 'roles')\n .of(permission) // permission instance or its ID\n .remove(permission.roles); // remove all linked roles\n }\n }\n\n await permissionsRepo.remove(permissionsToDelete);\n\n // Delete actions\n const actionRepo = this.dataSource.getRepository(ActionMetadata);\n const action = await actionRepo.findOne({ where: { model: { id: modelEntity.id } } });\n await actionRepo.delete({ model: { id: modelEntity.id } });\n\n // Delete menu items\n const menuItemRepo = this.dataSource.getRepository(MenuItemMetadata);\n if (action) {\n const menuItems = await menuItemRepo.find({ where: { action: { id: action.id } } });\n for (let i = 0; i < menuItems.length; i++) {\n const menuItem = menuItems[i];\n await menuItemRepo.remove(menuItem);\n }\n }\n\n // Delete view \n const viewRepo = this.dataSource.getRepository(ViewMetadata);\n await viewRepo.delete({ model: { id: modelEntity.id } })\n\n // <moduleName>-metadata.json | Remove references to this model in the model metadata, menu, action & view sections. | Automatic\n const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(modelEntity.module.name);\n const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);\n const existingModelIndex = metaData.moduleMetadata.models.findIndex(\n (existingModel: any) => existingModel.singularName === modelEntity.singularName\n );\n if (existingModelIndex !== -1) {\n metaData.moduleMetadata.models.splice(existingModelIndex, 1);\n }\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n\n // <moduleName>.module.ts | Remove all references and imports of the above files. | Manual (X)\n // const moduleFilePath = path.resolve(modulePath, `${dasherize(modelEntity.module.name)}.module.ts`);\n\n // this.logger.log(`Working on module file ${moduleFilePath}`);\n // const project = new Project();\n // const sourceFile = project.addSourceFileAtPath(moduleFilePath);\n\n // // Remove import declarations related to deleted files\n // sourceFile.getImportDeclarations().forEach(importDecl => {\n // const moduleSpecifier = importDecl.getModuleSpecifierValue();\n // const resolvedPath = importDecl.getModuleSpecifierSourceFile()?.getFilePath() || '';\n // if (filesToDelete.some(file => resolvedPath.endsWith(file))) {\n // importDecl.remove();\n // }\n // });\n\n // // Remove identifiers from `@Module` metadata (imports, providers, controllers)\n // const moduleDecorator = sourceFile.getFirstDescendantByKind(SyntaxKind.Decorator);\n // const objectLiteral = moduleDecorator?.getCallExpression()?.getArguments()?.[0];\n\n // if (objectLiteral && objectLiteral.getKind() === SyntaxKind.ObjectLiteralExpression) {\n // const objectLiteralExpr = objectLiteral.asKindOrThrow(SyntaxKind.ObjectLiteralExpression);\n\n // for (const propName of ['imports', 'providers', 'controllers', 'exports']) {\n // const prop = objectLiteralExpr.getProperty(propName);\n // if (prop && prop.getKind() === SyntaxKind.PropertyAssignment) {\n // const elements = prop.getFirstDescendantByKind(SyntaxKind.ArrayLiteralExpression);\n // elements?.getElements().forEach(el => {\n // const text = el.getText();\n // if (filesToDelete.some(file => text.toLowerCase().includes(file.split('.')[0]))) {\n // // @ts-ignore\n // el.remove();\n // }\n // });\n // }\n // }\n // }\n\n // // Save changes\n // sourceFile.saveSync();\n\n // Run seeder to reflect the removal. \n\n // - | Drop database table | Removes the database table from the DB, this is a very risky step. Best to review all relations to other models etc and then do this manually | Manual (X)\n\n }\n\n @DisallowInProduction()\n async handleGenerateCode(options: CodeGenerationOptions): Promise<any> {\n // // see if the model record exists. \n // const model = await this.modelMetadataRepo.findOne({\n // where: {\n // id: options.modelId,\n // },\n // });\n // if (!model) {\n // throw new NotFoundException(`Model record with #${options.modelId} not found`);\n // }\n\n // const m = {\n // payload: options,\n // parentEntity: model.singularName,\n // parentEntityId: options.modelId,\n // };\n\n // const messageId = await this.generateCodePublihser.publish(m);\n\n // return { messageId: messageId };\n\n const { model, removeFieldCodeOuput, refreshModelCodeOutput } = await this.generateCode(options);\n\n // Generate the code for models which are linked to fields having an inverse relation\n const coModelSingularNames = model.fields.\n filter(field => field.type === SolidFieldType.relation && field.relationCreateInverse === true)\n .map(field => field.relationCoModelSingularName);\n\n for (const singularName of coModelSingularNames) {\n const coModel = await this.findOneBySingularName(singularName);\n const inverseOptions: CodeGenerationOptions = {\n modelId: coModel.id,\n dryRun: options.dryRun\n };\n await this.generateCode(inverseOptions);\n }\n await this.generateVAMConfig(model.id);\n\n return `${removeFieldCodeOuput} \\n ${refreshModelCodeOutput}`;\n }\n\n // Generate the View, Action and Menu configuration for the model\n async generateVAMConfig(modelId: number) {\n try {\n return await this.dataSource.transaction(async (manager: EntityManager) => {\n const modelRepository = manager.getRepository(ModelMetadata);\n const model = await modelRepository.findOne({\n where: {\n id: modelId\n },\n relations: [\"fields\", \"module\"]\n });\n await this.populateVAMConfigInDb(model);\n await this.populateVAMConfigInFile(model);\n });\n } catch (error) {\n this.logger.error('generateVAMConfig Transaction failed:', error);\n throw error;\n }\n }\n\n private async populateVAMConfigInFile(model: ModelMetadata) {\n try {\n const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(model.module.name);\n const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);\n\n const listViewLayoutFields = [{ type: \"field\", attrs: { name: `id` } }];\n const formViewLayoutFields = [];\n\n for (let i = 0; i < model.fields.length; i++) {\n const field = model.fields[i];\n if (field.isSystem) continue;\n listViewLayoutFields.push({ type: \"field\", attrs: { name: `${field.name}` } })\n formViewLayoutFields.push({ type: \"field\", attrs: { name: `${field.name}` } })\n }\n this.populateVAMConfigInFileInternal(formViewLayoutFields, model, listViewLayoutFields, metaData);\n // Write the updated object back to the file\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n\n } catch (error) {\n // console.error('File creation failed:', error);\n this.logger.error('File updation failed for View, action, menus config:', error);\n throw new Error('File updation failed for View, action, menus config'); // Trigger rollback\n }\n }\n\n // Populate the View, Actions and Menus in the config file\n private populateVAMConfigInFileInternal(formViewLayoutFields: any[], model: ModelMetadata, listViewLayoutFields: { type: string; attrs: { name: string; }; }[], metaData: any) {\n const column1Fields = [];\n const column2Fields = [];\n\n // Distribute fields between two columns\n for (let i = 0; i < formViewLayoutFields.length; i++) {\n if (i % 2 === 0) {\n column1Fields.push(formViewLayoutFields[i]);\n } else {\n column2Fields.push(formViewLayoutFields[i]);\n }\n }\n const actionName = `${model.singularName}-list-action`;\n const viewName = `${model.singularName}-list-view`;\n const formViewName = `${model.singularName}-form-view`;\n const menuName = `${model.singularName}-menu-item`;\n\n const action = {\n displayName: `${model.displayName} List Action`,\n name: actionName,\n type: \"solid\",\n domain: \"\",\n context: \"\",\n customComponent: `/admin/address-master/${model.singularName}/all`,\n customIsModal: true,\n serverEndpoint: \"\",\n viewUserKey: viewName,\n moduleUserKey: `${model.module.name}`,\n modelUserKey: `${model.singularName}`\n };\n\n const menu = {\n displayName: `${model.displayName}`,\n name: menuName,\n sequenceNumber: 1,\n actionUserKey: actionName,\n moduleUserKey: `${model.module.name}`,\n parentMenuItemUserKey: \"\"\n };\n\n const modelListview = {\n name: viewName,\n displayName: `${model.displayName}`,\n type: \"list\",\n context: \"{}\",\n moduleUserKey: `${model.module.name}`,\n modelUserKey: `${model.singularName}`,\n layout: {\n type: \"list\",\n attrs: {\n pagination: true,\n pageSizeOptions: [\n 10,\n 25,\n 50\n ],\n enableGlobalSearch: true,\n create: true,\n edit: true,\n delete: true\n },\n children: listViewLayoutFields\n }\n };\n\n\n const modelFormView = {\n name: formViewName,\n displayName: `${model.displayName}`,\n type: \"form\",\n context: \"{}\",\n moduleUserKey: `${model.module.name}`,\n modelUserKey: `${model.singularName}`,\n layout: {\n type: \"form\",\n attrs: { name: \"form-1\", label: `${model.displayName}`, className: \"grid\" },\n children: [\n {\n type: \"sheet\",\n attrs: { name: \"sheet-1\" },\n children: [\n {\n type: \"row\",\n attrs: { name: \"sheet-1\" },\n children: [\n {\n type: \"column\",\n attrs: { name: \"group-1\", label: \"\", className: \"col-6\" },\n children: column1Fields\n },\n {\n type: \"column\",\n attrs: { name: \"group-2\", label: \"\", className: \"col-6\" },\n children: column2Fields\n }\n ]\n },\n ]\n }\n ]\n }\n };\n\n // Utility function to check if an item with the same name already exists\n const notExists = (arr: any[], name: string) => !arr.some(item => item.name === name);\n\n if (notExists(metaData.menus, menuName)) {\n metaData.menus.push(menu);\n }\n\n if (notExists(metaData.actions, viewName)) {\n metaData.actions.push(action);\n }\n\n if (notExists(metaData.views, viewName)) {\n metaData.views.push(modelListview);\n }\n\n if (notExists(metaData.views, formViewName)) {\n metaData.views.push(modelFormView);\n }\n // metaData.menus.push(menu);\n // metaData.actions.push(action);\n // metaData.views.push(modelListview);\n // metaData.views.push(modelFormView);\n }\n\n //Populate the View, Actions and Menus in the database\n private async populateVAMConfigInDb(model: ModelMetadata) {\n const jsonFieldsList = model.fields.filter((field: FieldMetadata) => field.isSystem !== true);\n\n const listViewLayout = jsonFieldsList.map(field => ({\n type: \"field\",\n attrs: {\n name: `${field.name}`,\n isSearchable: true,\n }\n }));\n\n const formViewLayout = jsonFieldsList.map(field => ({\n type: \"field\",\n attrs: {\n name: `${field.name}`\n }\n }));\n\n const midIndex = Math.ceil(formViewLayout.length / 2);\n const firstHalf = formViewLayout.slice(0, midIndex);\n const secondHalf = formViewLayout.slice(midIndex);\n\n const resolvedModule = await this.dataSource.getRepository(ModuleMetadata).findOne({\n where: { id: model.module.id }\n });\n\n const viewRepo = this.dataSource.getRepository(ViewMetadata);\n const actionRepo = this.dataSource.getRepository(ActionMetadata);\n const menuRepo = this.dataSource.getRepository(MenuItemMetadata);\n\n const modelViews = [\n {\n name: `${model.singularName}-list-view`,\n displayName: `${model.displayName}`,\n type: 'list',\n context: \"{}\",\n module: resolvedModule,\n model: model,\n layout: JSON.stringify({\n type: \"list\",\n attrs: {\n pagination: true,\n pageSizeOptions: [10, 25, 50],\n enableGlobalSearch: true,\n create: true,\n edit: true,\n delete: true\n },\n children: listViewLayout\n }, null, 3)\n },\n {\n name: `${model.singularName}-form-view`,\n displayName: `${model.displayName}`,\n type: 'form',\n context: \"{}\",\n module: resolvedModule,\n model: model,\n layout: JSON.stringify({\n type: \"form\",\n attrs: { name: \"form-1\", label: `${model.displayName}`, className: \"grid\" },\n children: [\n {\n type: \"sheet\",\n attrs: { name: \"sheet-1\" },\n children: [\n {\n type: \"row\",\n attrs: { name: \"group-1\", label: \"\", className: \"\" },\n children: [\n {\n type: \"column\",\n attrs: { name: \"group-1\", label: \"\", className: \"col-6\" },\n children: firstHalf\n },\n {\n type: \"column\",\n attrs: { name: \"group-2\", label: \"\", className: \"col-6\" },\n children: secondHalf\n }\n ]\n }\n ]\n }\n ]\n }, null, 3)\n }\n ];\n\n for (const view of modelViews) {\n const existingView = await viewRepo.findOne({ where: { name: view.name } });\n\n if (!existingView) {\n const createdView = viewRepo.create(view);\n await viewRepo.save(createdView);\n }\n }\n\n let view = await viewRepo.findOne({ where: { name: `${model.singularName}-list-view` } });\n\n const actionData = {\n displayName: `${model.displayName} List View`,\n name: `${model.singularName}-list-view`,\n type: \"solid\",\n domain: \"\" as any,\n context: \"\" as any,\n customComponent: `/admin/address-master/${model.singularName}/all`,\n customIsModal: true,\n serverEndpoint: \"\",\n view: view,\n module: resolvedModule,\n model: model\n };\n\n let existingAction = await actionRepo.findOne({ where: { name: actionData.name } });\n\n if (!existingAction) {\n const createdAction = actionRepo.create(actionData);\n existingAction = await actionRepo.save(createdAction);\n }\n\n const adminRole = await this.roleService.findRoleByName('Admin');\n\n const menuData = {\n displayName: `${model.displayName}`,\n name: `${model.singularName}-menu-item`,\n sequenceNumber: 1,\n action: existingAction,\n module: resolvedModule,\n roles: [adminRole],\n parentMenuItemUserKey: \"\"\n };\n\n let existingMenu = await menuRepo.findOne({ where: { name: menuData.name } });\n\n if (!existingMenu) {\n const createdMenu = menuRepo.create(menuData);\n await menuRepo.save(createdMenu);\n }\n }\n\n async generateCode(options: CodeGenerationOptions) {\n const query = {\n populate: [\"module\", \"fields\"]\n };\n\n const model = options.modelId\n ? await this.findOne(options.modelId, query)\n : await this.findOneByUserKey(options.modelUserKey, query.populate);\n\n options.fieldIdsForRemoval = model.fields\n .filter(field => field.isMarkedForRemoval)\n .map(field => field.id);\n\n const refreshModelCodeOutput = await this.generateModelCode(options);\n const removeFieldCodeOuput = await this.generateRemoveFieldsCode(options);\n return { model, removeFieldCodeOuput, refreshModelCodeOutput };\n }\n\n async generateRemoveFieldsCode(options: CodeGenerationOptions): Promise<string> {\n if (!options.modelId && !options.modelUserKey) {\n throw new BadRequestException('Model ID or Model Name is required for generating code');\n }\n\n if (!options.fieldIdsForRemoval || options.fieldIdsForRemoval.length === 0) {\n return \"\";\n }\n\n const query = {\n populate: [\"module\", \"fields\"]\n };\n const model = options.modelId ? await this.findOne(options.modelId, query) : await this.findOneByUserKey(options.modelUserKey, query.populate);\n\n //Filter out the fields by id\n const fieldsForRemoval = model.fields.filter((field) => options.fieldIdsForRemoval.includes(+field.id));\n const removeOutput = await this.executeRemoveFieldsCommand(model, fieldsForRemoval, options.dryRun);\n\n // Remove the fields from the database as well. This also checks, if the field is marked for removal\n fieldsForRemoval.forEach((field: FieldMetadata) => {\n if (field.isMarkedForRemoval) {\n this.fieldMetadataService.delete(field.id);\n }\n });\n\n // Remove the fields from metadata json file \n\n const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(model.module.name);\n const metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);\n\n // Check if the model already exists in `models`\n const existingModelIndex = metaData.moduleMetadata.models.findIndex(\n (existingModel: any) => existingModel.singularName === model.singularName\n );\n\n const modelMetaData = metaData.moduleMetadata.models[existingModelIndex];\n\n // Remove fields marked for removal from modelMetaData.fields\n modelMetaData.fields = modelMetaData.fields.filter((field: any) => field.isMarkedForRemoval !== true);\n\n if (existingModelIndex !== -1) {\n // Update the existing model\n metaData.moduleMetadata.models[existingModelIndex] = modelMetaData;\n } else {\n // Add the new model\n metaData.moduleMetadata.models.push(modelMetaData);\n }\n\n // Write the updated object back to the file\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n\n return removeOutput;\n }\n\n async generateModelCode(options: CodeGenerationOptions): Promise<string> {\n if (!options.modelId && !options.modelUserKey) {\n throw new BadRequestException('Model ID or Model Name is required for generating code');\n }\n\n const query = {\n populate: [\"module\", \"fields\", \"parentModel\", \"parentModel.module\"]\n };\n const model = options.modelId ? await this.findOne(options.modelId, query) : await this.findOneByUserKey(options.modelUserKey, query.populate);\n\n //Execute the schematic command to refresh the model\n const refreshOuput = await this.executeRefreshModelCommand(model, options.dryRun);\n\n return `${refreshOuput}`;\n }\n\n\n private async executeRefreshModelCommand(model: ModelMetadata, dryRun: boolean = false): Promise<string> {\n const fieldsForRefresh = model.fields.filter((field) => !field.isMarkedForRemoval);\n const output = await this.schematicService.executeSchematicCommand(\n REFRESH_MODEL_COMMAND,\n {\n module: model.module.name,\n model: model.singularName,\n moduleDisplayName: model.module.displayName,\n dataSource: model.dataSource,\n table: model.tableName,\n fields: fieldsForRefresh,\n modelEnableSoftDelete: model.enableSoftDelete,\n parentModel: model.parentModel?.singularName,\n parentModule: model.parentModel?.module?.name,\n draftPublishWorkflowEnabled: model.draftPublishWorkflow,\n },\n dryRun\n );\n this.logger.debug(`Schematic output : ${output}`);\n return output;\n }\n\n private async executeRemoveFieldsCommand(model: ModelMetadata, fieldsForRemoval: FieldMetadata[], dryRun: boolean = false): Promise<string> {\n if (!fieldsForRemoval || fieldsForRemoval.length === 0) {\n return \"\";\n }\n const output = await this.schematicService.executeSchematicCommand(\n REMOVE_FIELDS_COMMAND,\n {\n module: model.module.name,\n model: model.singularName,\n fields: fieldsForRemoval,\n },\n dryRun\n );\n\n this.logger.debug(`Schematic output : ${output}`);\n return output;\n }\n\n async updateUserKey(data: any) {\n const { modelName, fieldName } = data;\n\n const model = await this.modelMetadataRepo.findOne({\n where: { singularName: modelName },\n relations: ['fields', 'userKeyField'],\n });\n\n if (!model) {\n throw new Error(`Model with name ${modelName} not found`);\n }\n\n if (model.userKeyField) {\n throw new Error(`User key is already set to ${model.userKeyField.name}. No changes were made.`);\n }\n\n const fieldToUpdate = model.fields.find(field => field.name === fieldName);\n if (!fieldToUpdate) {\n throw new Error(`Field with name ${fieldName} not found in model ${modelName}`);\n }\n\n fieldToUpdate.isUserKey = true;\n\n model.userKeyField = fieldToUpdate;\n\n await this.modelMetadataRepo.save(model);\n\n return {\n message: `User key has been successfully updated to ${fieldName}.`,\n success: true\n };\n }\n\n private async getRelationInverseFields(modelId: number, repo: Repository<FieldMetadata>): Promise<FieldMetadata[]> {\n return await repo.find({\n where: {\n model: {\n id: modelId\n },\n type: SolidFieldType.relation,\n relationCreateInverse: true\n },\n relations: {\n model: {\n module: true\n }\n }\n });\n }\n\n}\n\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-metadata.service.js","sourceRoot":"","sources":["../../src/services/module-metadata.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module-metadata.service.js","sourceRoot":"","sources":["../../src/services/module-metadata.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BadRequestException, forwardRef, Inject, Injectable, Logger, NotFoundException } from '@nestjs/common';\nimport { InjectDataSource, InjectRepository } from '@nestjs/typeorm';\nimport { DataSource, EntityManager, Repository, SelectQueryBuilder } from 'typeorm';\nimport { CreateModuleMetadataDto } from '../dtos/create-module-metadata.dto';\nimport { ModuleMetadata } from '../entities/module-metadata.entity';\n\nimport { classify } from '@angular-devkit/core/src/utils/strings';\nimport { ConfigService } from '@nestjs/config';\nimport * as fs from 'fs/promises'; // Use the Promise-based version of fs for async/await\nimport * as path from 'path'; // To handle file paths\nimport { PermissionMetadataSeederService } from 'src/seeders/permission-metadata-seeder.service';\nimport { FileService } from 'src/services/file.service';\nimport { BasicFilterDto } from '../dtos/basic-filters.dto';\nimport { UpdateModuleMetadataDto } from '../dtos/update-module-metadata.dto';\nimport {\n ADD_MODULE_COMMAND,\n SchematicService,\n} from '../helpers/schematic.service';\nimport { SolidRegistry } from '../helpers/solid-registry';\nimport { CodeGenerationOptions, ModuleMetadataConfiguration } from '../interfaces';\nimport { CrudHelperService } from './crud-helper.service';\nimport { ModelMetadataService } from './model-metadata.service';\nimport { ModuleMetadataHelperService } from 'src/helpers/module-metadata-helper.service';\nimport { DisallowInProduction } from 'src/decorators/disallow-in-production.decorator';\n\n@Injectable()\nexport class ModuleMetadataService {\n private readonly logger = new Logger(ModuleMetadataService.name);\n\n constructor(\n @InjectDataSource()\n private readonly dataSource: DataSource,\n @InjectRepository(ModuleMetadata)\n private readonly moduleMetadataRepo: Repository<ModuleMetadata>,\n private readonly crudHelperService: CrudHelperService,\n private readonly schematicService: SchematicService,\n private readonly configService: ConfigService,\n private readonly fileService: FileService,\n private readonly permissionsSeederService: PermissionMetadataSeederService,\n @Inject(forwardRef(() => ModelMetadataService))\n private readonly modelMetadataService: ModelMetadataService,\n private readonly solidRegistry: SolidRegistry,\n private readonly moduleMetadataHelperService: ModuleMetadataHelperService,\n ) { }\n\n async findMany(basicFilterDto: BasicFilterDto) {\n const alias = 'moduleMetadata';\n // Extract the required keys from the input query\n let { limit, offset } = basicFilterDto;\n\n // Create above query on pincode table using query builder\n var qb: SelectQueryBuilder<ModuleMetadata> = this.moduleMetadataRepo.createQueryBuilder(alias)\n qb = await this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias);\n\n // Get the records and the count\n const [entities, count] = await qb.getManyAndCount();\n\n const currentPage = Math.floor(offset / limit) + 1;\n const totalPages = Math.ceil(count / limit);\n\n const nextPage = currentPage < totalPages ? currentPage + 1 : null;\n const prevPage = currentPage > 1 ? currentPage - 1 : null;\n\n const r = {\n meta: {\n totalRecords: count,\n currentPage: currentPage,\n nextPage: nextPage,\n prevPage: prevPage,\n totalPages: totalPages,\n perPage: +limit,\n },\n records: entities\n };\n return r\n }\n\n async findOneByUserKey(name: string, relations = {}) {\n if (!name) {\n throw new BadRequestException('name is required for finding entity');\n }\n const entity = await this.moduleMetadataRepo.findOne({\n where: {\n name: name,\n },\n relations: relations,\n });\n return entity;\n }\n\n async findOne(id: number, relations = {}) {\n if (!id) {\n throw new BadRequestException('ID is required for finding entity');\n }\n const entity = await this.moduleMetadataRepo.findOne({\n where: {\n id: id,\n },\n relations: relations,\n });\n if (!entity) {\n throw new NotFoundException(`entity #${id} not found`);\n }\n return entity;\n }\n\n async create(createDto: CreateModuleMetadataDto, files: Express.Multer.File[] = []) {\n try {\n return await this.dataSource.transaction(async (manager: EntityManager) => {\n // Step 1: Write initial data to the database\n const module = await this.createInDB(manager, createDto, files);\n await this.createInFile(module);\n return module\n });\n } catch (error) {\n // console.error('Transaction failed:', error);\n this.logger.error('Transaction failed:', error);\n throw error;\n }\n }\n async createInDB(manager: EntityManager, createDto: CreateModuleMetadataDto, files: Express.Multer.File[] = []) {\n if (files.length > 0) {\n const fileStoragePath = this.getFileSysytemFullFilePath(this.getFileName(files[0]));\n this.fileService.copyFile(files[0].path, fileStoragePath);\n this.fileService.deleteFile(files[0].path);\n createDto.menuIconUrl = fileStoragePath;\n }\n const moduleMetadata = this.moduleMetadataRepo.create(createDto);\n return manager.save(moduleMetadata); // Use the provided manager to perform DB operations\n }\n\n async createInFile(module: ModuleMetadata) {\n try {\n // Prepare the metadata JSON structure\n\n const moduleMetaDataJson: ModuleMetadataConfiguration = {\n moduleMetadata: {\n name: module?.name,\n displayName: module?.displayName,\n description: module?.description,\n defaultDataSource: module?.defaultDataSource,\n menuIconUrl: module?.menuIconUrl,\n menuSequenceNumber: module?.menuSequenceNumber,\n isSystem: module?.isSystem,\n models: [],\n },\n roles: [],\n users: [],\n actions: [\n {\n displayName: `${module?.name} Home`,\n name: `${module?.name}-home-action`,\n type: \"custom\",\n domain: \"\",\n context: \"\",\n customComponent: `/admin/core/${module?.name}/home`,\n customIsModal: true,\n serverEndpoint: \"\",\n viewUserKey: \"\",\n moduleUserKey: module?.name,\n modelUserKey: \"\"\n }\n ],\n menus: [\n {\n displayName: \"Home\",\n name: `${module?.name}-home-menu`,\n sequenceNumber: 1,\n actionUserKey: `${module?.name}-home-action`,\n moduleUserKey: module?.name,\n parentMenuItemUserKey: \"\"\n }\n ],\n views: [],\n emailTemplates: [],\n smsTemplates: [],\n mediaStorageProviders: [],\n securityRules: [],\n };\n\n // Convert the object to JSON string\n const metadataJson = JSON.stringify(moduleMetaDataJson, null, 2);\n\n // Create the folder path inside 'module-metadata'\n const folderPath = path.resolve(process.cwd(), 'module-metadata', module.name);\n const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(module.name);\n\n // Ensure the folder exists\n await fs.mkdir(folderPath, { recursive: true });\n\n // Write the JSON to the file\n await fs.writeFile(filePath, metadataJson);\n\n } catch (error) {\n // console.error('File creation failed:', error);\n this.logger.error('File creation failed:', error);\n throw new Error('File creation failed, rolling back transaction'); // Trigger rollback\n }\n }\n\n async update(id: number, updateModuleMetadataDto: UpdateModuleMetadataDto, files: Express.Multer.File[] = []) {\n try {\n return await this.dataSource.transaction(async (manager: EntityManager) => {\n // Step 1: Write initial data to the database\n const module = await this.updateInDB(manager, id, updateModuleMetadataDto, files);\n await this.updateInFile(module);\n return module\n });\n } catch (error) {\n // console.error('Transaction failed:', error);\n this.logger.error('Transaction failed:', error);\n throw error;\n }\n }\n\n\n async updateInDB(manager: EntityManager, id: number, updateModuleMetadataDto: UpdateModuleMetadataDto, files: Express.Multer.File[] = []) {\n\n const module = await this.moduleMetadataRepo.preload({\n id,\n ...updateModuleMetadataDto,\n });\n\n if (!module) {\n throw new NotFoundException(`Module ${id} not found`);\n }\n if (files.length > 0) {\n\n const fileStoragePath = this.getFileSysytemFullFilePath(this.getFileName(files[0]));\n this.fileService.copyFile(files[0].path, fileStoragePath);\n this.fileService.deleteFile(files[0].path);\n module.menuIconUrl = fileStoragePath;\n }\n return manager.save(ModuleMetadata, module);\n }\n\n async updateInFile(module: ModuleMetadata) {\n try {\n const filePath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(module.name);\n\n // Read the existing JSON file\n let metaData;\n try {\n metaData = await this.moduleMetadataHelperService.getModuleMetadataConfiguration(filePath);\n\n } catch (error) {\n metaData = {\n moduleMetadata: {\n name: null,\n displayName: null,\n description: null,\n defaultDataSource: null,\n menuIconUrl: null,\n menuSequenceNumber: null,\n isSystem: null,\n models: [],\n },\n roles: [],\n users: [],\n actions: [],\n menus: [],\n views: [],\n emailTemplates: [],\n smsTemplates: [],\n mediaStorageProviders: [],\n };\n }\n\n\n metaData.moduleMetadata.name = module?.name;\n metaData.moduleMetadata.displayName = module?.displayName;\n metaData.moduleMetadata.description = module?.description;\n metaData.moduleMetadata.defaultDataSource = module?.defaultDataSource;\n metaData.moduleMetadata.menuIconUrl = module?.menuIconUrl;\n metaData.moduleMetadata.menuSequenceNumber = module?.menuSequenceNumber;\n metaData.moduleMetadata.isSystem = module?.isSystem;\n\n // Write the JSON to the file\n const updatedContent = JSON.stringify(metaData, null, 2);\n await fs.writeFile(filePath, updatedContent);\n\n } catch (error) {\n // console.error('File creation failed:', error);\n this.logger.error('File creation failed:', error);\n throw new Error('File creation failed, rolling back transaction'); // Trigger rollback\n }\n }\n\n\n async upsert(updateModuleMetadataDto: UpdateModuleMetadataDto) {\n this.logger.log(`Module Upsert called for : ${updateModuleMetadataDto.name}`);\n // First check if module already exists using name\n const existingModuleMetadata = await this.moduleMetadataRepo.findOne({\n where: {\n name: updateModuleMetadataDto.name\n }\n })\n const { models, ...restUpdateModuleMetadataDto } = updateModuleMetadataDto;\n // if found\n if (existingModuleMetadata) {\n const updatedModuleMetadata = { ...existingModuleMetadata, ...restUpdateModuleMetadataDto };\n return this.moduleMetadataRepo.save(updatedModuleMetadata);\n }\n // if not found - create new \n else {\n const moduleMetadata = this.moduleMetadataRepo.create(restUpdateModuleMetadataDto);\n return this.moduleMetadataRepo.save(moduleMetadata);\n }\n }\n\n\n\n\n async removeByName(name: string) {\n const entity = await this.findOneByUserKey(name);\n if (entity) {\n await this.moduleMetadataRepo.remove(entity);\n }\n }\n\n async remove(id: number) {\n const entity = await this.findOne(id);\n return this.moduleMetadataRepo.remove(entity);\n }\n\n async deleteMany(ids: number[]): Promise<any> {\n if (!ids || ids.length === 0) {\n throw new Error('At least one ID is required for deletion');\n }\n const removedEntities = [];\n for (let i = 0; i < ids.length; i++) {\n const id = ids[i]\n const entity = await this.moduleMetadataRepo.findOne({\n where: {\n //@ts-ignore\n id: id,\n }\n });\n // if (!entity) {\n // throw new Error(`Entity with id ${id} not found`);\n // }\n removedEntities.push(await this.moduleMetadataRepo.remove(entity));\n }\n\n return removedEntities\n }\n\n async refreshPermission() {\n await this.permissionsSeederService.seed();\n return true\n }\n\n @DisallowInProduction()\n async generateCode(options: CodeGenerationOptions): Promise<string> {\n if (!options.moduleId && !options.moduleUserKey) {\n throw new BadRequestException('Module ID or Module Name is required for generating code');\n }\n const module = options.moduleId ? await this.findOne(options.moduleId) : await this.findOneByUserKey(options.moduleUserKey);\n\n // Check if the module exists\n if (!module) {\n throw new NotFoundException(`Module ${options.moduleId} not found`);\n }\n\n // Check if the module name already exists and is loaded\n const moduleInstance = this.solidRegistry.getModule(`${classify(module.name)}Module`);\n\n if (!moduleInstance) {\n const addModuleOutput = await this.generateAddModuleCode(options);\n const refreshModuleOutput = await this.generateRefreshModuleCode(options);\n return `${addModuleOutput}\\n${refreshModuleOutput}`;\n } else {\n return await this.generateRefreshModuleCode(options);\n }\n }\n\n private async generateAddModuleCode(options: CodeGenerationOptions = { dryRun: false }): Promise<string> {\n if (!options.moduleId && !options.moduleUserKey) {\n throw new BadRequestException('Module ID or Module Name is required for generating code');\n }\n const module = options.moduleId ? await this.findOne(options.moduleId) : await this.findOneByUserKey(options.moduleUserKey);\n\n //Generate the module\n const output = await this.schematicService.executeSchematicCommand(\n ADD_MODULE_COMMAND,\n { module: module.name },\n options.dryRun ?? false\n );\n this.logger.debug(`Schematic output : ${output}`);\n return output;\n }\n\n private async generateRefreshModuleCode(options: CodeGenerationOptions): Promise<string> {\n const query = {\n relations: { models: { fields: true } },\n };\n const module = options.moduleId ? await this.findOne(options.moduleId, query.relations) : await this.findOneByUserKey(options.moduleUserKey, query.relations);\n const outputLines = []\n for (const model of module.models) {\n const codeGenerationOptions = {\n modelId: model.id,\n dryRun: options.dryRun,\n };\n const output = await this.modelMetadataService.handleGenerateCode(codeGenerationOptions);\n this.logger.debug(`Schematic output : ${output}`);\n outputLines.push(output)\n }\n return outputLines.join('\\n');\n }\n\n private getFileSysytemFullFilePath(fileName: string): string {\n return `${this.configService.get('app-builder.fileStorageDir')}/${fileName}`;\n }\n\n\n\n private getFileName(file: Express.Multer.File): string {\n return `${file.filename}-${file.originalname}`;\n }\n\n}\n"]}
|
|
@@ -26,7 +26,7 @@ const crud_helper_service_1 = require("./crud-helper.service");
|
|
|
26
26
|
const mq_message_queue_entity_1 = require("../entities/mq-message-queue.entity");
|
|
27
27
|
let MqMessageQueueService = class MqMessageQueueService extends crud_service_1.CRUDService {
|
|
28
28
|
constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, moduleRef) {
|
|
29
|
-
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'mqMessageQueue', '
|
|
29
|
+
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'mqMessageQueue', 'solid-core', moduleRef);
|
|
30
30
|
this.modelMetadataService = modelMetadataService;
|
|
31
31
|
this.moduleMetadataService = moduleMetadataService;
|
|
32
32
|
this.configService = configService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mq-message-queue.service.js","sourceRoot":"","sources":["../../src/services/mq-message-queue.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAgE;AAChE,6CAAwE;AACxE,uCAA2D;AAC3D,qCAAoD;AACpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAGrE,iFAAqE;AAG9D,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAA2B;IACpE,YAEW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAAgC,EAChC,SAAoB;QAG7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"mq-message-queue.service.js","sourceRoot":"","sources":["../../src/services/mq-message-queue.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAgE;AAChE,6CAAwE;AACxE,uCAA2D;AAC3D,qCAAoD;AACpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAGrE,iFAAqE;AAG9D,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAA2B;IACpE,YAEW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAAgC,EAChC,SAAoB;QAG7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAb3K,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAA4B;QAChC,cAAS,GAAT,SAAS,CAAW;IAI/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;aAChB;SACF,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACrD,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAhCY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,6CAAoB,CAAC,CAAC,CAAA;IAO9C,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,wCAAc,CAAC,CAAA;qCARF,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAbpB,qBAAqB,CAgCjC","sourcesContent":["import { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, Repository } from 'typeorm';\nimport { CRUDService } from 'src/services/crud.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { ConfigService } from '@nestjs/config';\nimport { FileService } from \"src/services/file.service\";\nimport { CrudHelperService } from \"src/services/crud-helper.service\";\n\n\nimport { MqMessageQueue } from '../entities/mq-message-queue.entity';\n\n@Injectable()\nexport class MqMessageQueueService extends CRUDService<MqMessageQueue> {\n constructor(\n @Inject(forwardRef(() => ModelMetadataService))\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(MqMessageQueue)\n readonly repo: Repository<MqMessageQueue>,\n readonly moduleRef: ModuleRef\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'mqMessageQueue', 'solid-core', moduleRef);\n }\n\n async resolveQueue(queueName: string): Promise<MqMessageQueue> {\n let queue = await this.repo.findOne({\n where: {\n name: queueName\n }\n });\n if (!queue) {\n const entity = this.repo.create({ name: queueName });\n queue = await this.repo.save(entity);\n }\n\n return queue;\n }\n}\n"]}
|
|
@@ -28,7 +28,7 @@ const mq_message_entity_1 = require("../entities/mq-message.entity");
|
|
|
28
28
|
const common_2 = require("@nestjs/common");
|
|
29
29
|
let MqMessageService = MqMessageService_1 = class MqMessageService extends crud_service_1.CRUDService {
|
|
30
30
|
constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, moduleRef) {
|
|
31
|
-
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'mqMessage', '
|
|
31
|
+
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'mqMessage', 'solid-core', moduleRef);
|
|
32
32
|
this.modelMetadataService = modelMetadataService;
|
|
33
33
|
this.moduleMetadataService = moduleMetadataService;
|
|
34
34
|
this.configService = configService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mq-message.service.js","sourceRoot":"","sources":["../../src/services/mq-message.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAgE;AAChE,6CAAwE;AACxE,uCAA2D;AAC3D,qCAAoD;AACpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AACrE,qEAA0D;AAC1D,2CAAwC;AAGjC,IAAM,gBAAgB,wBAAtB,MAAM,gBAAiB,SAAQ,0BAAsB;IAG1D,YAEE,oBAAmD,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAE7C,aAAqC,EAErC,IAAoC,EAC3B,SAAoB;QAE7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"mq-message.service.js","sourceRoot":"","sources":["../../src/services/mq-message.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAgE;AAChE,6CAAwE;AACxE,uCAA2D;AAC3D,qCAAoD;AACpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AACrE,qEAA0D;AAC1D,2CAAwC;AAGjC,IAAM,gBAAgB,wBAAtB,MAAM,gBAAiB,SAAQ,0BAAsB;IAG1D,YAEE,oBAAmD,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAE7C,aAAqC,EAErC,IAAoC,EAC3B,SAAoB;QAE7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAZtK,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAAuB;QAC3B,cAAS,GAAT,SAAS,CAAW;QAdd,WAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAiB5D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QAG5C,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YAE1D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;;;;;;;;mBAQtB,EACX,CAAC,SAAS,CAAC,CACZ,CAAC;YAGF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAEnC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,6BAAS,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC3H,IAAI,GAAG,EAAE,CAAC;gBAGR,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC;gBACxB,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAExB,OAAO,GAAG,CAAC;YACb,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CAEF,CAAA;AAxDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,6CAAoB,CAAC,CAAC,CAAA;IAO9C,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,6BAAS,CAAC,CAAA;qCARG,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAfpB,gBAAgB,CAwD5B","sourcesContent":["import { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, Repository } from 'typeorm';\nimport { CRUDService } from 'src/services/crud.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { ConfigService } from '@nestjs/config';\nimport { FileService } from \"src/services/file.service\";\nimport { CrudHelperService } from \"src/services/crud-helper.service\";\nimport { MqMessage } from '../entities/mq-message.entity';\nimport { Logger } from '@nestjs/common';\n\n@Injectable()\nexport class MqMessageService extends CRUDService<MqMessage> {\n private readonly logger = new Logger(MqMessageService.name);\n\n constructor(\n @Inject(forwardRef(() => ModelMetadataService))\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(MqMessage)\n readonly repo: Repository<MqMessage>,\n readonly moduleRef: ModuleRef\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'mqMessage', 'solid-core', moduleRef);\n }\n\n async lockNextPendingMessage(queueName: string): Promise<MqMessage | null> {\n // this.logger.debug(`Locking next pending message for queue: ${queueName}`);\n\n return await this.entityManager.transaction(async manager => {\n // Use raw SQL to skip locked rows (FOR UPDATE SKIP LOCKED)\n const rawJob = await manager.query(`\n SELECT ss_mq_message.id\n FROM ss_mq_message\n left join ss_mq_message_queue on ss_mq_message.mq_message_queue_id = ss_mq_message_queue.id\n WHERE ss_mq_message_queue.\"name\" = $1\n AND ss_mq_message.stage = 'pending'\n ORDER BY ss_mq_message.created_at ASC\n FOR UPDATE SKIP LOCKED\n LIMIT 1`,\n [queueName]\n );\n\n // this.logger.debug(`Raw job fetched: ${JSON.stringify(rawJob)}`);\n if (!rawJob || rawJob.length === 0) {\n // this.logger.debug(`No pending job found for queue: ${queueName}`);\n return null;\n }\n const job = await manager.getRepository(MqMessage).findOne({ where: { id: rawJob[0].id }, relations: ['mqMessageQueue'] });\n if (job) {\n // this.logger.debug(`Locked job id: ${job.id}, queue: ${job.mqMessageQueue.name}, stage: ${job.stage}`);\n\n job.stage = 'scheduled';\n await manager.save(job);\n\n return job;\n }\n\n return null;\n });\n }\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.service.js","sourceRoot":"","sources":["../../src/services/pdf.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qDAAuC;AAGhC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,KAAK,CAAC,WAAW,CAAC,IAAY;QAE5B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;YACrC,IAAI,EAAE,CAAC,cAAc,EAAE,0BAA0B,CAAC;SACnD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAGrC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAG5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAGnD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAOtB,OAAO,SAAS,CAAA;IAClB,CAAC;CACF,CAAA;AAxBY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;GACA,UAAU,CAwBtB"}
|
|
1
|
+
{"version":3,"file":"pdf.service.js","sourceRoot":"","sources":["../../src/services/pdf.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qDAAuC;AAGhC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,KAAK,CAAC,WAAW,CAAC,IAAY;QAE5B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;YACrC,IAAI,EAAE,CAAC,cAAc,EAAE,0BAA0B,CAAC;SACnD,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAGrC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAG5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAGnD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAOtB,OAAO,SAAS,CAAA;IAClB,CAAC;CACF,CAAA;AAxBY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;GACA,UAAU,CAwBtB","sourcesContent":["import { Injectable } from '@nestjs/common';\nimport * as puppeteer from 'puppeteer';\n\n@Injectable()\nexport class PdfService {\n async generatePdf(html: string): Promise<Uint8Array> {\n // Launch a new browser instance\n const browser = await puppeteer.launch({\n args: ['--no-sandbox', '--disable-setuid-sandbox'],\n });\n const page = await browser.newPage();\n \n // Set the HTML content\n await page.setContent(html);\n \n // Generate the PDF and store it in a buffer\n const pdfBuffer = await page.pdf({ format: 'A4' });\n \n // Close the browser\n await browser.close();\n \n // Convert the Uint8Array to a Buffer\n // const buffer = Buffer.from(pdfBuffer);\n \n // Return the generated PDF as a buffer\n // return buffer;\n return pdfBuffer\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-metadata.service.js","sourceRoot":"","sources":["../../src/services/permission-metadata.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAwE;AACxE,uCAA2D;AAC3D,qCAAwD;AACxD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAGrE,uFAA4E;AAKrE,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,0BAA+B;IAC5E,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAAoC,EAClC,SAAoB;QAG/B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAG,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAC,SAAS,CAAC,CAAC;QAb/K,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAAgC;QAClC,cAAS,GAAT,SAAS,CAAW;IAIjC,CAAC;IAGD,iBAAiB,CAAC,KAAe;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC;iBAChB;aACF;YACD,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,IAAY,EAAE,UAAkB;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE;oBACL,IAAI,EAAE,IAAI;iBACX;aACF;YACD,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IACL,CAAC;CAEF,CAAA;AA1CY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,+CAAkB,EAAE,SAAS,CAAC,CAAA;qCARjB,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACH,gBAAS;GAZtB,yBAAyB,CA0CrC"}
|
|
1
|
+
{"version":3,"file":"permission-metadata.service.js","sourceRoot":"","sources":["../../src/services/permission-metadata.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAwE;AACxE,uCAA2D;AAC3D,qCAAwD;AACxD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAGrE,uFAA4E;AAKrE,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,0BAA+B;IAC5E,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAAoC,EAClC,SAAoB;QAG/B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAG,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAC,SAAS,CAAC,CAAC;QAb/K,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAAgC;QAClC,cAAS,GAAT,SAAS,CAAW;IAIjC,CAAC;IAGD,iBAAiB,CAAC,KAAe;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC;iBAChB;aACF;YACD,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,IAAY,EAAE,UAAkB;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE;oBACL,IAAI,EAAE,IAAI;iBACX;aACF;YACD,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IACL,CAAC;CAEF,CAAA;AA1CY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,+CAAkB,EAAE,SAAS,CAAC,CAAA;qCARjB,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACH,gBAAS;GAZtB,yBAAyB,CA0CrC","sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, In, Repository } from 'typeorm';\nimport { CRUDService } from 'src/services/crud.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { ConfigService } from '@nestjs/config';\nimport { FileService } from \"src/services/file.service\";\nimport { CrudHelperService } from \"src/services/crud-helper.service\";\n\n\nimport { PermissionMetadata } from '../entities/permission-metadata.entity';\nimport { ActiveUserData } from '../interfaces/active-user-data.interface';\nimport { classify } from '@angular-devkit/core/src/utils/strings';\n\n@Injectable()\nexport class PermissionMetadataService extends CRUDService<PermissionMetadata> {\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(PermissionMetadata, 'default')\n readonly repo: Repository<PermissionMetadata>,\n readonly moduleRef: ModuleRef\n \n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'permissionMetadata', 'solid-core',moduleRef);\n }\n\n\n findAllUsingRoles(roles: string[]) {\n return this.repo.find({\n where: {\n roles: {\n name: In(roles)\n }\n },\n relations: {}\n });\n }\n\n permissionExistsInRole(role: string, permission: string,) {\n return this.repo.find({\n where: {\n name: permission,\n roles: {\n name: role\n }\n },\n relations: {}\n });\n }\n\n}\n\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-publisher.service.js","sourceRoot":"","sources":["../../../src/services/queues/database-publisher.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database-publisher.service.js","sourceRoot":"","sources":["../../../src/services/queues/database-publisher.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Logger } from '@nestjs/common';\nimport { v4 as uuidv4 } from 'uuid';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport { QueueMessage, QueuePublisher } from '../../interfaces/mq';\nimport { MqMessageQueueService } from '../mq-message-queue.service';\nimport { MqMessageService } from '../mq-message.service';\n\nexport abstract class DatabasePublisher<T> implements QueuePublisher<T> {\n private readonly logger = new Logger(DatabasePublisher.name);\n private readonly url: string;\n private readonly serviceRole: string;\n\n constructor(\n protected readonly mqMessageService: MqMessageService,\n protected readonly mqMessageQueueService: MqMessageQueueService,\n ) {\n this.serviceRole = process.env.QUEUES_SERVICE_ROLE;\n if (!this.serviceRole) {\n this.logger.debug('Queue service Role is not defined in the environment variables');\n }\n this.logger.debug(`DatabasePublisher instance created with options: ${JSON.stringify(this.options())} and url: ${this.url}`);\n }\n\n abstract options(): QueuesModuleOptions;\n\n async publish(message: QueueMessage<T>): Promise<string> {\n if (!this.serviceRole) {\n this.logger.error('Queue service Role is not defined in the environment variables');\n throw new Error('Queue service Role is not defined in the environment variables');\n }\n if (this.serviceRole === 'subscriber') {\n this.logger.error('Queue service Role is subscriber, cannot publish messages');\n throw new Error('Queue service Role is subscriber, cannot publish messages');\n }\n\n this.logger.debug(`DatabasePublisher publishing with options: ${JSON.stringify(this.options())} and url: ${this.url}`);\n\n const options = this.options();\n\n const queueName = options.queueName;\n if (!message.retryCount) message.retryCount = 0;\n if (!message.retryInterval) message.retryInterval = 1000;\n\n // generate a new message id \n message.messageId = uuidv4();\n\n // Save the message to the DB so that we can then change its status in the subscriber...\n await this.persistToDatabase(queueName, message);\n\n // return the newly created message id.\n return message.messageId;\n }\n\n private async persistToDatabase(queueName: string, message: QueueMessage<T>) {\n // make an entry in the relevant database table, generate a unique id earlier.\n try {\n // 1. resolve the queue first\n const mqMessageQueue = await this.mqMessageQueueService.resolveQueue(queueName);\n\n // 2. Next create an entry in the mqMessage table. \n await this.mqMessageService.create({\n messageBroker: this.options().type,\n messageId: message.messageId,\n retryCount: message.retryCount,\n retryInterval: message.retryInterval,\n stage: 'pending',\n startedAt: new Date(),\n input: JSON.stringify(message, null, 2),\n parentEntityId: message.parentEntityId,\n parentEntity: message.parentEntity,\n mqMessageQueueId: mqMessageQueue.id,\n });\n }\n catch (error) {\n this.logger.error(error.message, error.stack);\n }\n\n }\n}\n"]}
|