@solidstarters/solid-core 1.2.192 → 1.2.200
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/mcp.command.d.ts +20 -0
- package/dist/commands/mcp.command.d.ts.map +1 -0
- package/dist/commands/mcp.command.js +208 -0
- package/dist/commands/mcp.command.js.map +1 -0
- package/dist/commands/refresh-model.command.d.ts +8 -5
- package/dist/commands/refresh-model.command.d.ts.map +1 -1
- package/dist/commands/refresh-model.command.js +32 -0
- package/dist/commands/refresh-model.command.js.map +1 -1
- package/dist/commands/remove-fields.command.js +1 -1
- package/dist/commands/remove-fields.command.js.map +1 -1
- package/dist/commands/seed.command.d.ts +2 -0
- package/dist/commands/seed.command.d.ts.map +1 -1
- package/dist/commands/seed.command.js +28 -1
- package/dist/commands/seed.command.js.map +1 -1
- package/dist/controllers/authentication.controller.js +1 -1
- package/dist/controllers/authentication.controller.js.map +1 -1
- package/dist/controllers/email-template.controller.js +1 -1
- package/dist/controllers/email-template.controller.js.map +1 -1
- package/dist/controllers/field-metadata.controller.d.ts +136 -4
- package/dist/controllers/field-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/field-metadata.controller.js +14 -1
- package/dist/controllers/field-metadata.controller.js.map +1 -1
- package/dist/controllers/media-storage-provider-metadata.controller.js +1 -1
- package/dist/controllers/media-storage-provider-metadata.controller.js.map +1 -1
- package/dist/controllers/model-metadata.controller.js +1 -1
- package/dist/controllers/model-metadata.controller.js.map +1 -1
- package/dist/controllers/module-metadata.controller.js +1 -1
- package/dist/controllers/module-metadata.controller.js.map +1 -1
- package/dist/controllers/otp-authentication.controller.js +1 -1
- package/dist/controllers/otp-authentication.controller.js.map +1 -1
- package/dist/controllers/service.controller.js +1 -1
- package/dist/controllers/service.controller.js.map +1 -1
- package/dist/controllers/sms-template.controller.js +1 -1
- package/dist/controllers/sms-template.controller.js.map +1 -1
- package/dist/controllers/test-queue.controller.js +1 -1
- package/dist/controllers/test-queue.controller.js.map +1 -1
- package/dist/controllers/test.controller.js +1 -1
- package/dist/controllers/test.controller.js.map +1 -1
- package/dist/dtos/create-ai-interaction.dto.d.ts +2 -0
- package/dist/dtos/create-ai-interaction.dto.d.ts.map +1 -1
- package/dist/dtos/create-ai-interaction.dto.js +14 -1
- package/dist/dtos/create-ai-interaction.dto.js.map +1 -1
- package/dist/dtos/create-field-metadata.dto.d.ts +22 -5
- package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-field-metadata.dto.js +33 -7
- package/dist/dtos/create-field-metadata.dto.js.map +1 -1
- package/dist/dtos/create-import-transaction.dto.d.ts +0 -1
- package/dist/dtos/create-import-transaction.dto.d.ts.map +1 -1
- package/dist/dtos/create-import-transaction.dto.js +1 -7
- package/dist/dtos/create-import-transaction.dto.js.map +1 -1
- package/dist/dtos/create-model-metadata.dto.d.ts +2 -0
- package/dist/dtos/create-model-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-model-metadata.dto.js +13 -1
- package/dist/dtos/create-model-metadata.dto.js.map +1 -1
- package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-role-metadata.dto.js +5 -1
- package/dist/dtos/create-role-metadata.dto.js.map +1 -1
- package/dist/dtos/resolve-s3-url.dto.d.ts +10 -0
- package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -0
- package/dist/dtos/resolve-s3-url.dto.js +49 -0
- package/dist/dtos/resolve-s3-url.dto.js.map +1 -0
- package/dist/dtos/update-ai-interaction.dto.d.ts +2 -0
- package/dist/dtos/update-ai-interaction.dto.d.ts.map +1 -1
- package/dist/dtos/update-ai-interaction.dto.js +13 -1
- package/dist/dtos/update-ai-interaction.dto.js.map +1 -1
- package/dist/dtos/update-field-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/update-field-metadata.dto.js.map +1 -1
- package/dist/dtos/update-import-transaction.dto.d.ts +0 -1
- package/dist/dtos/update-import-transaction.dto.d.ts.map +1 -1
- package/dist/dtos/update-import-transaction.dto.js +1 -7
- package/dist/dtos/update-import-transaction.dto.js.map +1 -1
- package/dist/entities/action-metadata.entity.js +4 -4
- package/dist/entities/action-metadata.entity.js.map +1 -1
- package/dist/entities/ai-interaction.entity.d.ts +2 -0
- package/dist/entities/ai-interaction.entity.d.ts.map +1 -1
- package/dist/entities/ai-interaction.entity.js +15 -6
- package/dist/entities/ai-interaction.entity.js.map +1 -1
- package/dist/entities/chatter-message-details.entity.d.ts.map +1 -1
- package/dist/entities/chatter-message-details.entity.js +1 -1
- package/dist/entities/chatter-message-details.entity.js.map +1 -1
- package/dist/entities/chatter-message.entity.js +1 -1
- package/dist/entities/chatter-message.entity.js.map +1 -1
- package/dist/entities/common.entity.d.ts +2 -3
- package/dist/entities/common.entity.d.ts.map +1 -1
- package/dist/entities/common.entity.js +9 -11
- package/dist/entities/common.entity.js.map +1 -1
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js +2 -2
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +1 -1
- package/dist/entities/dashboard-question.entity.js +3 -3
- package/dist/entities/dashboard-question.entity.js.map +1 -1
- package/dist/entities/dashboard-variable.entity.js +3 -3
- package/dist/entities/dashboard-variable.entity.js.map +1 -1
- package/dist/entities/dashboard.entity.js +1 -1
- package/dist/entities/dashboard.entity.js.map +1 -1
- package/dist/entities/email-template.entity.d.ts.map +1 -1
- package/dist/entities/email-template.entity.js +4 -3
- package/dist/entities/email-template.entity.js.map +1 -1
- package/dist/entities/export-template.entity.js +2 -2
- package/dist/entities/export-template.entity.js.map +1 -1
- package/dist/entities/export-transaction.entity.js +2 -2
- package/dist/entities/export-transaction.entity.js.map +1 -1
- package/dist/entities/field-metadata.entity.d.ts +1 -0
- package/dist/entities/field-metadata.entity.d.ts.map +1 -1
- package/dist/entities/field-metadata.entity.js +8 -4
- package/dist/entities/field-metadata.entity.js.map +1 -1
- package/dist/entities/import-transaction-error-log.entity.js +1 -1
- package/dist/entities/import-transaction-error-log.entity.js.map +1 -1
- package/dist/entities/import-transaction.entity.d.ts +0 -1
- package/dist/entities/import-transaction.entity.d.ts.map +1 -1
- package/dist/entities/import-transaction.entity.js +2 -7
- package/dist/entities/import-transaction.entity.js.map +1 -1
- package/dist/entities/legacy-common-with-id.entity.d.ts +5 -0
- package/dist/entities/legacy-common-with-id.entity.d.ts.map +1 -0
- package/dist/entities/legacy-common-with-id.entity.js +32 -0
- package/dist/entities/legacy-common-with-id.entity.js.map +1 -0
- package/dist/entities/legacy-common.entity.d.ts +13 -0
- package/dist/entities/legacy-common.entity.d.ts.map +1 -0
- package/dist/entities/legacy-common.entity.js +67 -0
- package/dist/entities/legacy-common.entity.js.map +1 -0
- package/dist/entities/list-of-values.entity.js +2 -2
- package/dist/entities/list-of-values.entity.js.map +1 -1
- package/dist/entities/locale.entity.js +1 -1
- package/dist/entities/locale.entity.js.map +1 -1
- package/dist/entities/media.entity.d.ts.map +1 -1
- package/dist/entities/media.entity.js +3 -3
- package/dist/entities/media.entity.js.map +1 -1
- package/dist/entities/menu-item-metadata.entity.js +4 -4
- package/dist/entities/menu-item-metadata.entity.js.map +1 -1
- package/dist/entities/model-metadata.entity.d.ts +2 -0
- package/dist/entities/model-metadata.entity.d.ts.map +1 -1
- package/dist/entities/model-metadata.entity.js +11 -3
- package/dist/entities/model-metadata.entity.js.map +1 -1
- package/dist/entities/mq-message-queue.entity.js +1 -1
- package/dist/entities/mq-message-queue.entity.js.map +1 -1
- package/dist/entities/mq-message.entity.d.ts +3 -3
- package/dist/entities/mq-message.entity.d.ts.map +1 -1
- package/dist/entities/mq-message.entity.js +10 -10
- package/dist/entities/mq-message.entity.js.map +1 -1
- package/dist/entities/saved-filters.entity.js +4 -4
- package/dist/entities/saved-filters.entity.js.map +1 -1
- package/dist/entities/scheduled-job.entity.js +4 -4
- package/dist/entities/scheduled-job.entity.js.map +1 -1
- package/dist/entities/security-rule.entity.js +2 -2
- package/dist/entities/security-rule.entity.js.map +1 -1
- package/dist/entities/setting.entity.js +2 -2
- package/dist/entities/setting.entity.js.map +1 -1
- package/dist/entities/sms-template.entity.js +2 -2
- package/dist/entities/sms-template.entity.js.map +1 -1
- package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
- package/dist/entities/user-activity-history.entity.js +1 -1
- package/dist/entities/user-activity-history.entity.js.map +1 -1
- package/dist/entities/user-view-metadata.entity.js +2 -2
- package/dist/entities/user-view-metadata.entity.js.map +1 -1
- package/dist/entities/user.entity.js +13 -15
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/view-metadata.entity.js +3 -3
- package/dist/entities/view-metadata.entity.js.map +1 -1
- package/dist/helpers/date.helper.d.ts +1 -1
- package/dist/helpers/date.helper.d.ts.map +1 -1
- package/dist/helpers/date.helper.js +24 -2
- package/dist/helpers/date.helper.js.map +1 -1
- package/dist/helpers/model-metadata-helper.service.d.ts +4 -1
- package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
- package/dist/helpers/model-metadata-helper.service.js +48 -30
- package/dist/helpers/model-metadata-helper.service.js.map +1 -1
- package/dist/helpers/module.helper.d.ts.map +1 -1
- package/dist/helpers/module.helper.js +1 -3
- package/dist/helpers/module.helper.js.map +1 -1
- package/dist/helpers/schematic.service.d.ts +9 -3
- package/dist/helpers/schematic.service.d.ts.map +1 -1
- package/dist/helpers/schematic.service.js +49 -32
- package/dist/helpers/schematic.service.js.map +1 -1
- package/dist/helpers/solid-registry.d.ts +3 -2
- package/dist/helpers/solid-registry.d.ts.map +1 -1
- package/dist/helpers/solid-registry.js +10 -0
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/helpers/typeorm-db-helper.d.ts +3 -0
- package/dist/helpers/typeorm-db-helper.d.ts.map +1 -0
- package/dist/helpers/typeorm-db-helper.js +24 -0
- package/dist/helpers/typeorm-db-helper.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +3 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +6 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +39 -17
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +53 -468
- package/dist/seeders/system-fields-seeder.service.d.ts.map +1 -1
- package/dist/seeders/system-fields-seeder.service.js +1 -1
- package/dist/seeders/system-fields-seeder.service.js.map +1 -1
- package/dist/services/ai-interaction.service.js +1 -1
- package/dist/services/ai-interaction.service.js.map +1 -1
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts.map +1 -1
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +6 -4
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
- package/dist/services/crud-helper.service.d.ts +8 -0
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +28 -5
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +4 -1
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +87 -7
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/field-metadata.service.d.ts +143 -6
- package/dist/services/field-metadata.service.d.ts.map +1 -1
- package/dist/services/field-metadata.service.js +211 -56
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/menu-item-metadata.service.d.ts +3 -1
- package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
- package/dist/services/menu-item-metadata.service.js +31 -11
- package/dist/services/menu-item-metadata.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +14 -3
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/mq-message.service.d.ts.map +1 -1
- package/dist/services/mq-message.service.js +3 -4
- package/dist/services/mq-message.service.js.map +1 -1
- package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
- package/dist/services/queues/publisher-factory.service.js +4 -0
- package/dist/services/queues/publisher-factory.service.js.map +1 -1
- package/dist/{providers → services/selection-providers}/list-of-values-selection-providers.service.d.ts +2 -2
- package/dist/services/selection-providers/list-of-values-selection-providers.service.d.ts.map +1 -0
- package/dist/{providers → services/selection-providers}/list-of-values-selection-providers.service.js +3 -3
- package/dist/services/selection-providers/list-of-values-selection-providers.service.js.map +1 -0
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.d.ts +20 -0
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.d.ts.map +1 -0
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +87 -0
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -0
- package/dist/services/setting.service.d.ts.map +1 -1
- package/dist/services/setting.service.js +2 -1
- package/dist/services/setting.service.js.map +1 -1
- package/dist/services/solid-introspect.service.d.ts +19 -3
- package/dist/services/solid-introspect.service.d.ts.map +1 -1
- package/dist/services/solid-introspect.service.js +83 -11
- package/dist/services/solid-introspect.service.js.map +1 -1
- package/dist/services/view-metadata.service.d.ts +3 -1
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +31 -5
- package/dist/services/view-metadata.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +5 -1
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.d.ts +3 -2
- package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
- package/dist/subscribers/audit.subscriber.js +6 -12
- package/dist/subscribers/audit.subscriber.js.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.d.ts +3 -2
- package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.js +7 -9
- package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
- package/dist/subscribers/created-by-updated-by.subscriber.d.ts +4 -2
- package/dist/subscribers/created-by-updated-by.subscriber.d.ts.map +1 -1
- package/dist/subscribers/created-by-updated-by.subscriber.js +10 -8
- package/dist/subscribers/created-by-updated-by.subscriber.js.map +1 -1
- package/dist/subscribers/field-metadata.subscriber.d.ts.map +1 -1
- package/dist/subscribers/field-metadata.subscriber.js +0 -1
- package/dist/subscribers/field-metadata.subscriber.js.map +1 -1
- package/dist/subscribers/model-metadata.subscriber.d.ts.map +1 -1
- package/dist/subscribers/model-metadata.subscriber.js +3 -2
- package/dist/subscribers/model-metadata.subscriber.js.map +1 -1
- package/dist/subscribers/soft-delete-aware-event.subscriber.d.ts +3 -2
- package/dist/subscribers/soft-delete-aware-event.subscriber.d.ts.map +1 -1
- package/dist/subscribers/soft-delete-aware-event.subscriber.js +6 -11
- package/dist/subscribers/soft-delete-aware-event.subscriber.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/sql/mssql/proc_CleanupModelMetadata.sql +175 -0
- package/sql/mssql/proc_CleanupModuleMetadata.sql +78 -0
- package/sql/mssql/scratchpad.sql +10 -0
- package/sql/postgres/proc_CleanupModelMetadata.sql +148 -0
- package/sql/postgres/proc_CleanupModuleMetadata.sql +50 -0
- package/sql/postgres/scratchpad.sql +12 -0
- package/sql-server-changes.txt +88 -0
- package/src/commands/mcp.command.ts +215 -0
- package/src/commands/refresh-model.command.ts +37 -5
- package/src/commands/remove-fields.command.ts +1 -1
- package/src/commands/seed.command.ts +34 -15
- package/src/controllers/authentication.controller.ts +1 -1
- package/src/controllers/email-template.controller.ts +1 -1
- package/src/controllers/field-metadata.controller.ts +7 -1
- package/src/controllers/media-storage-provider-metadata.controller.ts +1 -1
- package/src/controllers/model-metadata.controller.ts +1 -1
- package/src/controllers/module-metadata.controller.ts +1 -1
- package/src/controllers/otp-authentication.controller.ts +1 -1
- package/src/controllers/service.controller.ts +1 -1
- package/src/controllers/sms-template.controller.ts +1 -1
- package/src/controllers/test-queue.controller.ts +1 -1
- package/src/controllers/test.controller.ts +1 -1
- package/src/dtos/create-ai-interaction.dto.ts +16 -9
- package/src/dtos/create-field-metadata.dto.ts +42 -12
- package/src/dtos/create-import-transaction.dto.ts +0 -4
- package/src/dtos/create-model-metadata.dto.ts +10 -0
- package/src/dtos/create-role-metadata.dto.ts +8 -2
- package/src/dtos/resolve-s3-url.dto.ts +33 -0
- package/src/dtos/update-ai-interaction.dto.ts +16 -9
- package/src/dtos/update-field-metadata.dto.ts +1 -2
- package/src/dtos/update-import-transaction.dto.ts +0 -4
- package/src/entities/action-metadata.entity.ts +4 -4
- package/src/entities/ai-interaction.entity.ts +16 -12
- package/src/entities/chatter-message-details.entity.ts +18 -18
- package/src/entities/chatter-message.entity.ts +2 -2
- package/src/entities/common.entity.ts +19 -10
- package/src/entities/dashboard-question-sql-dataset-config.entity.ts +2 -2
- package/src/entities/dashboard-question.entity.ts +3 -3
- package/src/entities/dashboard-variable.entity.ts +3 -3
- package/src/entities/dashboard.entity.ts +1 -1
- package/src/entities/email-template.entity.ts +4 -3
- package/src/entities/export-template.entity.ts +2 -2
- package/src/entities/export-transaction.entity.ts +2 -2
- package/src/entities/field-metadata.entity.ts +6 -3
- package/src/entities/import-transaction-error-log.entity.ts +2 -2
- package/src/entities/import-transaction.entity.ts +2 -5
- package/src/entities/legacy-common-with-id.entity.ts +11 -0
- package/src/entities/legacy-common.entity.ts +57 -0
- package/src/entities/list-of-values.entity.ts +2 -2
- package/src/entities/locale.entity.ts +1 -1
- package/src/entities/media.entity.ts +25 -25
- package/src/entities/menu-item-metadata.entity.ts +4 -4
- package/src/entities/model-metadata.entity.ts +9 -2
- package/src/entities/mq-message-queue.entity.ts +1 -1
- package/src/entities/mq-message.entity.ts +34 -34
- package/src/entities/saved-filters.entity.ts +5 -5
- package/src/entities/scheduled-job.entity.ts +4 -4
- package/src/entities/security-rule.entity.ts +2 -2
- package/src/entities/setting.entity.ts +2 -2
- package/src/entities/sms-template.entity.ts +2 -2
- package/src/entities/user-activity-history.entity.ts +14 -14
- package/src/entities/user-view-metadata.entity.ts +2 -2
- package/src/entities/user.entity.ts +15 -15
- package/src/entities/view-metadata.entity.ts +3 -3
- package/src/helpers/date.helper.ts +31 -10
- package/src/helpers/model-metadata-helper.service.ts +63 -32
- package/src/helpers/module.helper.ts +4 -3
- package/src/helpers/schematic.service.ts +72 -46
- package/src/helpers/solid-registry.ts +14 -2
- package/src/helpers/typeorm-db-helper.ts +26 -0
- package/src/index.ts +5 -1
- package/src/interfaces.ts +3 -0
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +17 -21
- package/src/seeders/module-metadata-seeder.service.ts +73 -29
- package/src/seeders/seed-data/solid-core-metadata.json +55 -470
- package/src/seeders/system-fields-seeder.service.ts +34 -35
- package/src/services/ai-interaction.service.ts +1 -1
- package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +13 -9
- package/src/services/crud-helper.service.ts +32 -4
- package/src/services/crud.service.ts +158 -10
- package/src/services/field-metadata.service.ts +272 -67
- package/src/services/menu-item-metadata.service.ts +81 -50
- package/src/services/model-metadata.service.ts +18 -3
- package/src/services/mq-message.service.ts +16 -15
- package/src/services/queues/publisher-factory.service.ts +2 -1
- package/src/{providers → services/selection-providers}/list-of-values-selection-providers.service.ts +2 -2
- package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +94 -0
- package/src/services/setting.service.ts +13 -10
- package/src/services/solid-introspect.service.ts +110 -10
- package/src/services/view-metadata.service.ts +48 -18
- package/src/solid-core.module.ts +5 -1
- package/src/subscribers/audit.subscriber.ts +12 -8
- package/src/subscribers/computed-entity-field.subscriber.ts +13 -7
- package/src/subscribers/created-by-updated-by.subscriber.ts +14 -8
- package/src/subscribers/field-metadata.subscriber.ts +1 -1
- package/src/subscribers/model-metadata.subscriber.ts +4 -2
- package/src/subscribers/soft-delete-aware-event.subscriber.ts +12 -6
- package/dist/providers/list-of-values-selection-providers.service.d.ts.map +0 -1
- package/dist/providers/list-of-values-selection-providers.service.js.map +0 -1
- package/src/commands/ingest-rag-chunking-strategy-for.md +0 -224
- package/src/entities/user.entity.ts.bkp +0 -144
- package/src/services/docker exec -it mssql //" +0 -8
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
import { Injectable, Logger } from "@nestjs/common";
|
|
4
4
|
import { ModelMetadataRepository } from "src/repository/model-metadata.repository";
|
|
5
5
|
import { SolidRegistry } from "./solid-registry";
|
|
6
|
+
import {_ } from "lodash";
|
|
7
|
+
import { LEGACY_TABLE_FIELDS_PREFIX } from "src/entities/legacy-common.entity";
|
|
6
8
|
|
|
7
9
|
@Injectable()
|
|
8
10
|
export class ModelMetadataHelperService {
|
|
@@ -15,97 +17,126 @@ export class ModelMetadataHelperService {
|
|
|
15
17
|
) {
|
|
16
18
|
}
|
|
17
19
|
|
|
18
|
-
getSystemFieldsMetadata(): any[] {
|
|
19
|
-
|
|
20
|
+
getSystemFieldsMetadata(isLegacyTable: boolean=false, isLegacyTableWithId: boolean=false): any[] {
|
|
21
|
+
let systemFieldsMetadata: any[];
|
|
22
|
+
if (isLegacyTableWithId) {
|
|
23
|
+
systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(true);
|
|
24
|
+
}
|
|
25
|
+
else if (isLegacyTable) {
|
|
26
|
+
systemFieldsMetadata = this.getSystemFieldsMetadataMappingForLegacyTable(false);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
systemFieldsMetadata = this.getSystemFieldsMetadataMapping();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
this.checkWithRegistry(systemFieldsMetadata);
|
|
33
|
+
|
|
34
|
+
return systemFieldsMetadata;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// TODO: Do an additional check and add a warning if the common entity keys and system field metadata keys don't match exactly
|
|
38
|
+
// Ideally this should be reflection based code
|
|
39
|
+
private checkWithRegistry(systemFieldsMetadata: ({ name: string; displayName: string; type: string; ormType: string; isSystem: boolean; relationType?: undefined; relationCoModelSingularName?: undefined; relationCreateInverse?: undefined; relationCascade?: undefined; relationModelModuleName?: undefined; } | { name: string; displayName: string; type: string; isSystem: boolean; ormType?: undefined; relationType?: undefined; relationCoModelSingularName?: undefined; relationCreateInverse?: undefined; relationCascade?: undefined; relationModelModuleName?: undefined; } | { name: string; displayName: string; type: string; ormType: string; isSystem: boolean; relationType: string; relationCoModelSingularName: string; relationCreateInverse: boolean; relationCascade: string; relationModelModuleName: string; })[]) {
|
|
40
|
+
const commonEntityKeys = this.registry.getCommonEntityKeys();
|
|
41
|
+
const systemFieldNames = systemFieldsMetadata.map(field => field.name);
|
|
42
|
+
const missingKeys = commonEntityKeys.filter(key => !systemFieldNames.includes(key));
|
|
43
|
+
if (missingKeys.length > 0) {
|
|
44
|
+
this.logger.warn(`Missing system fields metadata for common entity keys: ${missingKeys.join(', ')}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
private getSystemFieldsMetadataMapping() {
|
|
49
|
+
return [
|
|
20
50
|
{
|
|
21
51
|
name: "id",
|
|
22
52
|
displayName: "Id",
|
|
23
53
|
type: "int",
|
|
24
|
-
ormType: "bigint",
|
|
25
54
|
isSystem: true,
|
|
26
55
|
},
|
|
27
56
|
{
|
|
28
57
|
name: "createdAt",
|
|
29
58
|
displayName: "Created At",
|
|
30
59
|
type: "datetime",
|
|
31
|
-
ormType: "timestamp",
|
|
32
60
|
isSystem: true,
|
|
33
61
|
},
|
|
34
62
|
{
|
|
35
63
|
name: "updatedAt",
|
|
36
64
|
displayName: "Updated At",
|
|
37
65
|
type: "datetime",
|
|
38
|
-
ormType: "timestamp",
|
|
39
66
|
isSystem: true,
|
|
40
67
|
},
|
|
41
68
|
{
|
|
42
69
|
name: "deletedAt",
|
|
43
70
|
displayName: "Deleted At",
|
|
44
71
|
type: "datetime",
|
|
45
|
-
ormType: "timestamp",
|
|
46
72
|
isSystem: true,
|
|
47
73
|
},
|
|
48
74
|
{
|
|
49
75
|
name: "deletedTracker",
|
|
50
76
|
displayName: "Deleted Tracker",
|
|
51
77
|
type: "shortText",
|
|
52
|
-
ormType: "varchar",
|
|
53
78
|
isSystem: true,
|
|
54
79
|
},
|
|
55
80
|
{
|
|
56
81
|
name: "publishedAt",
|
|
57
82
|
displayName: "Published At",
|
|
58
83
|
type: "datetime",
|
|
59
|
-
ormType: "timestamp",
|
|
60
84
|
isSystem: true,
|
|
85
|
+
enableAuditTracking:true
|
|
61
86
|
},
|
|
62
87
|
{
|
|
63
88
|
name: "localeName",
|
|
64
89
|
displayName: "Locale",
|
|
65
90
|
type: "shortText",
|
|
66
|
-
ormType: "varchar",
|
|
67
91
|
isSystem: true,
|
|
68
92
|
},
|
|
69
93
|
{
|
|
70
94
|
name: "defaultEntityLocaleId",
|
|
71
95
|
displayName: "Default Entity Locale Id",
|
|
72
96
|
type: "int",
|
|
73
|
-
ormType: "integer",
|
|
74
97
|
isSystem: true,
|
|
75
98
|
},
|
|
76
99
|
{
|
|
77
100
|
name: "createdBy",
|
|
78
101
|
displayName: "Created By",
|
|
79
|
-
type: "
|
|
80
|
-
ormType: "integer",
|
|
102
|
+
type: "int",
|
|
81
103
|
isSystem: true,
|
|
82
|
-
|
|
83
|
-
relationCoModelSingularName: "user",
|
|
84
|
-
relationCreateInverse: false,
|
|
85
|
-
relationCascade: "restrict",
|
|
86
|
-
relationModelModuleName: "solid-core"
|
|
104
|
+
columnName: "created_by_id",
|
|
87
105
|
},
|
|
88
106
|
{
|
|
89
107
|
name: "updatedBy",
|
|
90
108
|
displayName: "Updated By",
|
|
91
|
-
type: "
|
|
92
|
-
ormType: "integer",
|
|
109
|
+
type: "int",
|
|
93
110
|
isSystem: true,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
relationModelModuleName: "solid-core"
|
|
99
|
-
},
|
|
100
|
-
]
|
|
111
|
+
columnName: "updated_by_id",
|
|
112
|
+
}
|
|
113
|
+
];
|
|
114
|
+
}
|
|
101
115
|
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
116
|
+
private getSystemFieldsMetadataMappingForLegacyTable(withId: boolean=true) {
|
|
117
|
+
const systemFieldsMetadata = this.getSystemFieldsMetadataMapping();
|
|
118
|
+
if (!withId) {
|
|
119
|
+
// Remove the id field metadata
|
|
120
|
+
const index = systemFieldsMetadata.findIndex(field => field.name === 'id');
|
|
121
|
+
if (index !== -1) {
|
|
122
|
+
systemFieldsMetadata.splice(index, 1);
|
|
123
|
+
}
|
|
108
124
|
}
|
|
125
|
+
|
|
126
|
+
// For legacy table, system fields, remove the ormType atribute from the metadata
|
|
127
|
+
// systemFieldsMetadata.forEach(field => {
|
|
128
|
+
// delete field.ormType;
|
|
129
|
+
// });
|
|
130
|
+
|
|
131
|
+
// Except for createdBy and updatedBy fields, for which we need to keep the columnName as created_by_id and updated_by_id respectively,
|
|
132
|
+
// we need to add a columnName attribute with legacy prefix concatenated with the kebab cased field name of the system field
|
|
133
|
+
systemFieldsMetadata.forEach(field => {
|
|
134
|
+
if (field.name === 'createdBy' || field.name === 'updatedBy') {
|
|
135
|
+
field['columnName'] = `${LEGACY_TABLE_FIELDS_PREFIX}_${_.snakeCase(field.name)}_id`;
|
|
136
|
+
} else {
|
|
137
|
+
field['columnName'] = `${LEGACY_TABLE_FIELDS_PREFIX}_${_.snakeCase(field.name)}`;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
109
140
|
return systemFieldsMetadata;
|
|
110
141
|
}
|
|
111
142
|
|
|
@@ -21,10 +21,11 @@ export const getDynamicModuleNames = (): string[] => {
|
|
|
21
21
|
|
|
22
22
|
if (!isValidDirectory) return false;
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
const
|
|
24
|
+
return true
|
|
25
|
+
// const fullPath = path.join(srcPath, dirent.name);
|
|
26
|
+
// const files = fs.readdirSync(fullPath);
|
|
26
27
|
// skip if empty directory
|
|
27
|
-
return files.length > 0;
|
|
28
|
+
// return files.length > 0;
|
|
28
29
|
})
|
|
29
30
|
.map(dirent => dirent.name);
|
|
30
31
|
|
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
import { Injectable, Logger } from '@nestjs/common';
|
|
2
|
-
import { CommandService } from './command.service';
|
|
3
2
|
import { snakeCase } from "lodash";
|
|
4
|
-
import {
|
|
3
|
+
import { FieldMetadata } from 'src/entities/field-metadata.entity';
|
|
4
|
+
import { CommandService } from './command.service';
|
|
5
5
|
import { SolidRegistry } from './solid-registry';
|
|
6
6
|
|
|
7
7
|
export const ADD_MODULE_COMMAND = 'add-module';
|
|
8
8
|
export type GenerateModuleOptions = {
|
|
9
9
|
module: string;
|
|
10
10
|
};
|
|
11
|
-
type
|
|
11
|
+
type ModelGenerationOptions = Omit<ModelAndFieldGenerationOptions, 'fields'>;
|
|
12
|
+
|
|
13
|
+
type ModelAndFieldGenerationOptions = {
|
|
12
14
|
module: string;
|
|
13
15
|
model: string;
|
|
14
16
|
moduleDisplayName: string;
|
|
15
17
|
table?: string;
|
|
16
18
|
dataSource: string;
|
|
17
|
-
fields: any[]; //FIXME This type can be improved
|
|
18
19
|
modelEnableSoftDelete?: boolean;
|
|
19
20
|
parentModel?: string;
|
|
20
21
|
parentModule?: string;
|
|
21
22
|
draftPublishWorkflowEnabled?: boolean;
|
|
23
|
+
isLegacyTable?: boolean;
|
|
24
|
+
isLegacyTableWithId?: boolean;
|
|
25
|
+
dataSourceType?: string;
|
|
26
|
+
fields: FieldMetadata[]; //FIXME This type can be improved
|
|
22
27
|
};
|
|
23
28
|
export const REMOVE_FIELDS_COMMAND = 'remove-fields';
|
|
24
29
|
export const REFRESH_MODEL_COMMAND = 'refresh-model';
|
|
@@ -32,7 +37,7 @@ export class SchematicService {
|
|
|
32
37
|
|
|
33
38
|
async executeSchematicCommand(
|
|
34
39
|
command: string,
|
|
35
|
-
options: GenerateModuleOptions |
|
|
40
|
+
options: GenerateModuleOptions | ModelAndFieldGenerationOptions,
|
|
36
41
|
debug = false,
|
|
37
42
|
): Promise<string> {
|
|
38
43
|
return await this.commandService.executeCommand(
|
|
@@ -42,7 +47,7 @@ export class SchematicService {
|
|
|
42
47
|
|
|
43
48
|
private generateSchematicCommand(
|
|
44
49
|
command: string,
|
|
45
|
-
options: GenerateModuleOptions |
|
|
50
|
+
options: GenerateModuleOptions | ModelAndFieldGenerationOptions,
|
|
46
51
|
debug: boolean,
|
|
47
52
|
): string {
|
|
48
53
|
const baseCommand = `schematics ${this.SCHEMATIC_PROJECT}:${command} --debug=${debug}`;
|
|
@@ -50,55 +55,76 @@ export class SchematicService {
|
|
|
50
55
|
command === REMOVE_FIELDS_COMMAND ||
|
|
51
56
|
command === REFRESH_MODEL_COMMAND
|
|
52
57
|
) {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
modelCommand += ` --module-display-name=${snakeCase(fieldOptions.moduleDisplayName)}`;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (fieldOptions.table) {
|
|
60
|
-
modelCommand += ` --table=${fieldOptions.table}`;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (fieldOptions.dataSource) {
|
|
64
|
-
modelCommand += ` --data-source=${fieldOptions.dataSource}`;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (fieldOptions.modelEnableSoftDelete) {
|
|
68
|
-
modelCommand += ` --model-enable-soft-delete=${fieldOptions.modelEnableSoftDelete}`;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (fieldOptions.parentModel) {
|
|
72
|
-
modelCommand += ` --parent-model=${fieldOptions.parentModel}`;
|
|
73
|
-
}
|
|
74
|
-
if (fieldOptions.parentModule) {
|
|
75
|
-
modelCommand += ` --parent-module=${fieldOptions.parentModule}`;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (fieldOptions.draftPublishWorkflowEnabled) {
|
|
79
|
-
modelCommand += ` --draft-publish-workflow-enabled=${fieldOptions.draftPublishWorkflowEnabled}`;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
let fieldCommand = fieldOptions.fields
|
|
83
|
-
.filter((field) => {
|
|
84
|
-
return !this.solidRegistry.getCommonEntityKeys().includes(field.name);
|
|
85
|
-
})
|
|
86
|
-
.map((field) => {
|
|
87
|
-
return `--fields='${JSON.stringify(field).replace(/'/g, "\\'")}'`;
|
|
88
|
-
})
|
|
89
|
-
.join(' ');
|
|
58
|
+
const {fields, ...modelSpecificOptions} = options as ModelAndFieldGenerationOptions;
|
|
59
|
+
const modelCommand = this.buildModelGenerationCommand(baseCommand, modelSpecificOptions);
|
|
60
|
+
const fieldCommand = this.buildFieldGenerationCommand(fields);
|
|
90
61
|
const schematicCommand = modelCommand + ' ' + fieldCommand;
|
|
91
|
-
|
|
62
|
+
this.logger.debug('schematicCommand', schematicCommand);
|
|
92
63
|
return schematicCommand;
|
|
93
64
|
} else if (command === ADD_MODULE_COMMAND) {
|
|
94
65
|
const moduleOptions = options as GenerateModuleOptions;
|
|
95
|
-
// console.log('moduleOptions', moduleOptions);
|
|
96
66
|
const schematicCommand = ` ${baseCommand} --module=${moduleOptions.module}`;
|
|
97
|
-
// console.log('schematicCommand', schematicCommand);
|
|
98
67
|
this.logger.debug('schematicCommand', schematicCommand);
|
|
99
68
|
return schematicCommand;
|
|
100
69
|
} else {
|
|
101
70
|
throw new Error('Schematic command not supported.');
|
|
102
71
|
}
|
|
103
72
|
}
|
|
73
|
+
|
|
74
|
+
private buildFieldGenerationCommand(fields: FieldMetadata[]) {
|
|
75
|
+
return fields
|
|
76
|
+
.filter((field) => {
|
|
77
|
+
return !this.solidRegistry.getCommonEntityKeys().map(key => key.toString()).includes(field.name);
|
|
78
|
+
})
|
|
79
|
+
.map((field) => {
|
|
80
|
+
return `--fields='${JSON.stringify(field).replace(/'/g, "\\'")}'`;
|
|
81
|
+
})
|
|
82
|
+
.join(' ');
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
private buildModelGenerationCommand(baseCommand: string, modelSpecificOptions: ModelGenerationOptions): string {
|
|
86
|
+
let modelCommand = `${baseCommand} --module=${modelSpecificOptions.module} --model=${modelSpecificOptions.model}`;
|
|
87
|
+
|
|
88
|
+
// Make below options code generate i.e if option exists then add to command with proper casing
|
|
89
|
+
if (modelSpecificOptions.moduleDisplayName) {
|
|
90
|
+
modelCommand += ` --module-display-name=${snakeCase(modelSpecificOptions.moduleDisplayName)}`;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (modelSpecificOptions.table) {
|
|
94
|
+
modelCommand += ` --table=${modelSpecificOptions.table}`;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (modelSpecificOptions.dataSource) {
|
|
98
|
+
modelCommand += ` --data-source=${modelSpecificOptions.dataSource}`;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (modelSpecificOptions.modelEnableSoftDelete) {
|
|
102
|
+
modelCommand += ` --model-enable-soft-delete=${modelSpecificOptions.modelEnableSoftDelete}`;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (modelSpecificOptions.parentModel) {
|
|
106
|
+
modelCommand += ` --parent-model=${modelSpecificOptions.parentModel}`;
|
|
107
|
+
}
|
|
108
|
+
if (modelSpecificOptions.parentModule) {
|
|
109
|
+
modelCommand += ` --parent-module=${modelSpecificOptions.parentModule}`;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (modelSpecificOptions.draftPublishWorkflowEnabled) {
|
|
113
|
+
modelCommand += ` --draft-publish-workflow-enabled=${modelSpecificOptions.draftPublishWorkflowEnabled}`;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (modelSpecificOptions.isLegacyTable) {
|
|
117
|
+
modelCommand += ` --is-legacy-table=${modelSpecificOptions.isLegacyTable}`;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (modelSpecificOptions.isLegacyTableWithId) {
|
|
121
|
+
modelCommand += ` --is-legacy-table-with-id=${modelSpecificOptions.isLegacyTableWithId}`;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (modelSpecificOptions.dataSourceType) {
|
|
125
|
+
modelCommand += ` --data-source-type=${modelSpecificOptions.dataSourceType}`;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return modelCommand;
|
|
129
|
+
}
|
|
104
130
|
}
|
|
@@ -5,7 +5,8 @@ import { CommonEntity } from 'src/entities/common.entity';
|
|
|
5
5
|
import { Locale } from 'src/entities/locale.entity';
|
|
6
6
|
import { SecurityRule } from 'src/entities/security-rule.entity';
|
|
7
7
|
import { IScheduledJob } from 'src/services/scheduled-jobs/scheduled-job.interface';
|
|
8
|
-
import { IDashboardQuestionDataProvider, IDashboardVariableSelectionProvider, IErrorCodeProvider, ISecurityRuleConfigProvider, ISelectionProvider, ISelectionProviderContext } from "../interfaces";
|
|
8
|
+
import { IDashboardQuestionDataProvider, IDashboardVariableSelectionProvider, IErrorCodeProvider, ISecurityRuleConfigProvider, ISelectionProvider, ISelectionProviderContext, ISolidDatabaseModule } from "../interfaces";
|
|
9
|
+
import { DatasourceType } from 'src/dtos/create-model-metadata.dto';
|
|
9
10
|
|
|
10
11
|
type ControllerMetadata = {
|
|
11
12
|
name: string;
|
|
@@ -247,6 +248,17 @@ export class SolidRegistry {
|
|
|
247
248
|
return Array.from(this.solidDatabaseModules);
|
|
248
249
|
}
|
|
249
250
|
|
|
251
|
+
getDefaultSolidDatabaseModule(): ISolidDatabaseModule {
|
|
252
|
+
const solidDatabaseModulesAsArray = Array.from(this.solidDatabaseModules);
|
|
253
|
+
for (let i = 0; i < solidDatabaseModulesAsArray.length; i++) {
|
|
254
|
+
const solidDatabaseModule = solidDatabaseModulesAsArray[i];
|
|
255
|
+
const solidDatabaseModuleInstance: ISolidDatabaseModule = solidDatabaseModule.instance;
|
|
256
|
+
if (solidDatabaseModuleInstance.name() === 'default') {
|
|
257
|
+
return solidDatabaseModuleInstance;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
250
262
|
getModules(): Array<InstanceWrapper> {
|
|
251
263
|
return Array.from(this.modules);
|
|
252
264
|
}
|
|
@@ -288,7 +300,7 @@ export class SolidRegistry {
|
|
|
288
300
|
});
|
|
289
301
|
}
|
|
290
302
|
|
|
291
|
-
getCommonEntityKeys(): (keyof CommonEntity)[] {
|
|
303
|
+
getCommonEntityKeys(): (keyof CommonEntity | 'createdBy' | 'updatedBy')[] {
|
|
292
304
|
return ['id', 'createdAt', 'updatedAt', 'deletedAt', 'createdBy', 'updatedBy', 'deletedTracker', 'localeName', 'defaultEntityLocaleId', 'publishedAt'];
|
|
293
305
|
// return Reflect.getMetadataKeys(CommonEntity.prototype) as (keyof CommonEntity)[];
|
|
294
306
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ColumnOptions } from "typeorm";
|
|
2
|
+
import { DatasourceType } from "src/dtos/create-model-metadata.dto";
|
|
3
|
+
|
|
4
|
+
const LONG_TEXT_MAP: Record<DatasourceType, ColumnOptions> = {
|
|
5
|
+
[DatasourceType.postgres]: { type: "text" },
|
|
6
|
+
[DatasourceType.mssql]: { type: "nvarchar", length: "max" },
|
|
7
|
+
[DatasourceType.mysql]: { type: "longtext" },
|
|
8
|
+
[DatasourceType.mariadb]: { type: "longtext" },
|
|
9
|
+
[DatasourceType.oracle]: { type: "clob" },
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const solidCoreDbType: DatasourceType =
|
|
13
|
+
Object.values(DatasourceType).includes(process.env.SOLID_CORE_DB_TYPE as DatasourceType)
|
|
14
|
+
? (process.env.SOLID_CORE_DB_TYPE as DatasourceType)
|
|
15
|
+
: DatasourceType.postgres;
|
|
16
|
+
|
|
17
|
+
export function getColumnType(solidType: string): ColumnOptions {
|
|
18
|
+
switch (solidType) {
|
|
19
|
+
case "longText":
|
|
20
|
+
case "richText":
|
|
21
|
+
return LONG_TEXT_MAP[solidCoreDbType];
|
|
22
|
+
|
|
23
|
+
default:
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -23,8 +23,10 @@ export * from './decorators/error-codes-provider.decorator'
|
|
|
23
23
|
export * from './decorators/solid-database-module.decorator'
|
|
24
24
|
export * from './decorators/solid-service.decorator'
|
|
25
25
|
export * from './decorators/mail-provider.decorator'
|
|
26
|
+
export * from './decorators/security-rule-config-provider.decorator'
|
|
26
27
|
|
|
27
28
|
export * from './dtos/post-chatter-message.dto'
|
|
29
|
+
export * from './dtos/security-rule-config.dto'
|
|
28
30
|
export * from './dtos/basic-filters.dto'
|
|
29
31
|
export * from './dtos/solid-request-context.dto'
|
|
30
32
|
export * from './dtos/change-password.dto'
|
|
@@ -98,6 +100,8 @@ export * from './dtos/update-user-activity-history.dto'
|
|
|
98
100
|
|
|
99
101
|
export * from './entities/action-metadata.entity'
|
|
100
102
|
export * from './entities/common.entity'
|
|
103
|
+
export * from './entities/legacy-common.entity'
|
|
104
|
+
export * from './entities/legacy-common-with-id.entity'
|
|
101
105
|
export * from './entities/email-attachment.entity'
|
|
102
106
|
export * from './entities/email-template.entity'
|
|
103
107
|
export * from './entities/field-metadata.entity'
|
|
@@ -204,7 +208,7 @@ export * from './listeners/user-registration.listener'
|
|
|
204
208
|
export * from './passport-strategies/google-oauth.strategy'
|
|
205
209
|
export * from './passport-strategies/local.strategy'
|
|
206
210
|
|
|
207
|
-
export * from './providers/list-of-values-selection-providers.service'
|
|
211
|
+
export * from './services/selection-providers/list-of-values-selection-providers.service'
|
|
208
212
|
|
|
209
213
|
// seed-data
|
|
210
214
|
export * from './seeders/email-template-seeder.service'
|
package/src/interfaces.ts
CHANGED
|
@@ -64,7 +64,10 @@ export interface CodeGenerationOptions {
|
|
|
64
64
|
modelId?: number;
|
|
65
65
|
modelUserKey?: string;
|
|
66
66
|
fieldIdsForRemoval?: number[];
|
|
67
|
+
fieldNamesForRemoval?: string[];
|
|
67
68
|
dryRun?: boolean;
|
|
69
|
+
fieldIdsForRefresh?: number[];
|
|
70
|
+
fieldNamesForRefresh?: string[];
|
|
68
71
|
}
|
|
69
72
|
|
|
70
73
|
export interface TriggerMcpClientOptions {
|
|
@@ -144,7 +144,7 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
|
|
|
144
144
|
|
|
145
145
|
const existingControllerAndTheirMethods = this.solidRegistry.getControllers();
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
|
|
148
148
|
|
|
149
149
|
// Build markdown sections using template interpolation
|
|
150
150
|
const modulesSection = (existingModules ?? [])
|
|
@@ -170,7 +170,7 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
|
|
|
170
170
|
`- name: ${d.name}`,
|
|
171
171
|
`- description: ${d.description ?? ""}`,
|
|
172
172
|
].join('\n'))
|
|
173
|
-
.join('\n\n');
|
|
173
|
+
.join('\n\n');
|
|
174
174
|
|
|
175
175
|
const computationProvidersSection = (existingComputationProviders ?? [])
|
|
176
176
|
.map(m => [
|
|
@@ -183,7 +183,7 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
|
|
|
183
183
|
const controllersAndTheirMethods = (existingControllerAndTheirMethods ?? [])
|
|
184
184
|
.map(m => [
|
|
185
185
|
`### ${m.name}`,
|
|
186
|
-
`- methods: ${m.methods.length ? m.methods.map(m => `- ${m}`).join('\n'): '- No methods found'}`,
|
|
186
|
+
`- methods: ${m.methods.length ? m.methods.map(m => `- ${m}`).join('\n') : '- No methods found'}`,
|
|
187
187
|
].join('\n'))
|
|
188
188
|
.join('\n\n');
|
|
189
189
|
|
|
@@ -224,11 +224,10 @@ Use the below list of computed field providers to infer which provider the user
|
|
|
224
224
|
${computationProvidersSection}
|
|
225
225
|
`.trim();
|
|
226
226
|
|
|
227
|
+
// ## LIST OF EXISTING CONTROLLERS AND THEIR METHODS
|
|
228
|
+
// Use the below list of controllers and their methods to infer whether the api call being made to a particular controller exists or not.
|
|
227
229
|
|
|
228
|
-
//
|
|
229
|
-
// Use the below list of controllers and their methods to infer whether the api call being made to a particular controller exists or not.
|
|
230
|
-
|
|
231
|
-
// ${controllersAndTheirMethods}
|
|
230
|
+
// ${controllersAndTheirMethods}
|
|
232
231
|
|
|
233
232
|
const aiResponse = await this.aiInteractionService.runMcpPrompt(finalPrompt);
|
|
234
233
|
this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);
|
|
@@ -247,7 +246,7 @@ ${computationProvidersSection}
|
|
|
247
246
|
// role: 'gen-ai',
|
|
248
247
|
// message: '-',
|
|
249
248
|
// contentType: aiResponse.content_type,
|
|
250
|
-
// errorMessage: errorsStr
|
|
249
|
+
// errorMessage: `${errorsStr}\n\n${errorTrace}`,
|
|
251
250
|
// modelUsed: aiResponse.model,
|
|
252
251
|
// responseTimeMs: aiResponse.duration_ms,
|
|
253
252
|
// metadata: JSON.stringify(aiResponse, null, 2),
|
|
@@ -257,7 +256,7 @@ ${computationProvidersSection}
|
|
|
257
256
|
|
|
258
257
|
// TODO: Update the previously created genAiInteraction record with the respective error fields and save to DB
|
|
259
258
|
await this.aiInteractionService.update(genAiInteraction.id, {
|
|
260
|
-
|
|
259
|
+
contentType: aiResponse.content_type,
|
|
261
260
|
errorMessage: `${errorsStr}\n\n${errorTrace}`,
|
|
262
261
|
modelUsed: aiResponse.model,
|
|
263
262
|
responseTimeMs: aiResponse.duration_ms,
|
|
@@ -271,6 +270,10 @@ ${computationProvidersSection}
|
|
|
271
270
|
else {
|
|
272
271
|
let nestedResponse = this.cleanNestedResponse(aiResponse);
|
|
273
272
|
|
|
273
|
+
// TODO: Update the previously created genAiInteraction record with the respective success fields and save to DB
|
|
274
|
+
const errorsStr = nestedResponse?.status == "error" && nestedResponse?.errors.join('\n ');
|
|
275
|
+
const errorTrace = nestedResponse?.status == "error" && nestedResponse?.error_trace?.join('\n');
|
|
276
|
+
|
|
274
277
|
// const genAiInteraction = await this.aiInteractionService.create({
|
|
275
278
|
// userId: aiInteraction.user.id,
|
|
276
279
|
// threadId: aiInteraction.threadId,
|
|
@@ -278,7 +281,7 @@ ${computationProvidersSection}
|
|
|
278
281
|
// role: 'gen-ai',
|
|
279
282
|
// message: nestedResponse,
|
|
280
283
|
// contentType: aiResponse.content_type,
|
|
281
|
-
// errorMessage:
|
|
284
|
+
// errorMessage: `${errorsStr}\n\n${errorTrace}`,
|
|
282
285
|
// modelUsed: aiResponse.model,
|
|
283
286
|
// responseTimeMs: aiResponse.duration_ms,
|
|
284
287
|
// metadata: JSON.stringify(aiResponse, null, 2),
|
|
@@ -286,21 +289,14 @@ ${computationProvidersSection}
|
|
|
286
289
|
// status: aiResponse.success ? 'succeeded' : 'failed'
|
|
287
290
|
// });
|
|
288
291
|
|
|
289
|
-
// TODO: Update the previously created genAiInteraction record with the respective success fields and save to DB
|
|
290
|
-
const errorsStr = nestedResponse?.status == "error" && nestedResponse?.errors.join('\n ');
|
|
291
|
-
// const errorTrace = nestedResponse?.status == "error" && nestedResponse?.error_trace?.join('\n');
|
|
292
|
-
|
|
293
|
-
|
|
294
292
|
await this.aiInteractionService.update(genAiInteraction.id, {
|
|
295
|
-
errorMessage: nestedResponse.status == "error" ? `${errorsStr}` : "",
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
// message: nestedResponse,
|
|
293
|
+
errorMessage: nestedResponse.status == "error" ? `${errorsStr}\n\n${errorTrace}` : "",
|
|
294
|
+
contentType: aiResponse.content_type,
|
|
295
|
+
message: JSON.stringify(nestedResponse),
|
|
299
296
|
modelUsed: aiResponse.model,
|
|
300
297
|
responseTimeMs: aiResponse.duration_ms,
|
|
298
|
+
metadata: JSON.stringify(aiResponse, null, 2),
|
|
301
299
|
isApplied: aiInteraction.isApplied,
|
|
302
|
-
|
|
303
|
-
// status: aiResponse.success ? 'succeeded' : 'failed'
|
|
304
300
|
status: aiResponse.success && nestedResponse.status == "success" ? 'succeeded' : 'failed'
|
|
305
301
|
}, [], true);
|
|
306
302
|
|