From e5c1309e8ca14e05badab4fe7b0262db0074a95a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20M?= Date: Wed, 20 Mar 2024 16:23:46 +0100 Subject: [PATCH] feat: wip server folder structure (#4573) * feat: wip server folder structure * fix: merge * fix: wrong merge * fix: remove unused file * fix: comment * fix: lint * fix: merge * fix: remove console.log * fix: metadata graphql arguments broken --- packages/twenty-server/.env.example | 1 + packages/twenty-server/package.json | 3 +- ...0.8.patch => @nestjs+graphql+12.1.1.patch} | 14 +- packages/twenty-server/src/app.module.ts | 38 ++- packages/twenty-server/src/app.service.ts | 8 - packages/twenty-server/src/command/command.ts | 2 +- .../data-seed-dev-workspace.command.ts | 4 +- .../commands/database-command.module.ts | 6 +- .../typeorm-seeds/core/feature-flags.ts | 2 +- .../typeorm-seeds/core/userWorkspaces.ts | 2 +- .../database/typeorm-seeds/core/workspaces.ts | 2 +- .../database/typeorm-seeds/workspace/views.ts | 2 +- .../workspace/workspaceMember.ts | 2 +- .../database/typeorm/core/core.datasource.ts | 2 +- .../typeorm/metadata/metadata.datasource.ts | 2 +- .../src/database/typeorm/typeorm.service.ts | 16 +- .../graphql-config.module.ts | 11 - .../field-metadata/composite-types/index.ts | 19 -- .../interfaces/field-metadata.interface.ts | 25 -- .../factories/factories.ts | 7 - .../__mocks__/object-metadata-item.mock.ts | 4 +- .../__tests__/workspace.factory.spec.ts | 14 +- .../api/graphql/core-graphql-api.module.ts | 23 +- .../factories/create-context.factory.ts | 4 +- .../graphql-config}/factories/index.ts | 0 .../graphql-config/graphql-config.module.ts | 11 + .../graphql-config}/graphql-config.service.ts | 22 +- .../graphql-config}/hooks/use-throttler.ts | 2 +- .../interfaces/graphql-context.interface.ts | 4 +- .../graphql/metadata-graphql-api.module.ts} | 21 +- .../api/graphql}/metadata.module-factory.ts | 8 +- .../workspace-query-builder-options.mock.ts | 2 +- .../factories/args-alias.factory.ts | 2 +- .../factories/args-string.factory.ts | 2 +- .../factories/field-alias.factory.ts | 2 +- .../factories/fields-string.factory.ts | 4 +- .../find-duplicates-query.factory.ts | 2 +- .../factories/relation-field-alias.factory.ts | 8 +- ...rkspace-query-builder-options.interface.ts | 4 +- .../workspace-query-builder.module.ts | 2 +- .../query-runner-args.factory.spec.ts | 4 +- .../factories/query-result-getters.factory.ts | 4 +- .../factories/query-runner-args.factory.ts | 4 +- .../query-runner-option.interface.ts | 4 +- .../jobs/call-webhook-jobs.job.ts | 6 +- .../jobs/save-event-to-db.job.ts | 2 +- .../listeners/entity-events-to-db.listener.ts | 2 +- .../listeners/record-position.listener.ts | 2 +- .../record-position-backfill-service.ts | 2 +- .../workspace-query-runner.module.ts | 6 +- .../workspace-query-runner.service.ts | 4 +- ...te-quick-action-on-one-resolver.factory.ts | 2 +- .../workspace-resolver-builder.module.ts | 2 +- .../workspace-resolver.factory.ts | 2 +- .../connection-type-definition.factory.ts | 2 +- .../factories/connection-type.factory.ts | 2 +- .../factories/edge-type-definition.factory.ts | 2 +- .../factories/edge-type.factory.ts | 2 +- .../factories/enum-type-definition.factory.ts | 8 +- .../extend-object-type-definition.factory.ts | 4 +- .../filter-type-definition.factory.ts | 2 +- .../factories/filter-type.factory.ts | 6 +- .../input-type-definition.factory.ts | 4 +- .../factories/input-type.factory.ts | 4 +- .../factories/mutation-type.factory.ts | 2 +- .../object-type-definition.factory.ts | 4 +- .../order-by-type-definition.factory.ts | 2 +- .../factories/order-by-type.factory.ts | 4 +- .../factories/output-type.factory.ts | 4 +- .../factories/query-type.factory.ts | 2 +- .../factories/relation-type.factory.ts | 6 +- .../factories/root-type.factory.ts | 2 +- .../interfaces/param-metadata.interface.ts | 2 +- ...kspace-schema-builder-context.interface.ts | 4 +- .../services/type-mapper.service.ts | 2 +- .../storages/type-definitions.storage.ts | 4 +- .../type-definitions.generator.ts | 12 +- .../__tests__/get-field-metadata-type.spec.ts | 2 +- .../utils/__tests__/get-resolver-args.spec.ts | 2 +- .../utils/get-field-metadata-type.util.ts | 2 +- .../utils/get-resolver-args.util.ts | 2 +- .../utils/object-contains-relation-field.ts | 2 +- .../workspace-graphql-schema.factory.ts | 2 +- .../workspace-schema-builder.module.ts | 4 +- .../workspace-schema-storage.module.ts | 4 +- .../workspace-schema-storage.service.ts | 4 +- ...factory.ts => workspace-schema.factory.ts} | 6 +- .../rest/__tests__/api-rest.service.spec.ts | 2 +- .../api-rest-query-builder.factory.spec.ts | 4 +- .../api-rest-query-builder.factory.ts | 6 +- .../api-rest-query-builder.module.ts | 4 +- .../format-field-values.utils.spec.ts | 2 +- .../filter-utils/format-field-values.utils.ts | 2 +- .../utils/__tests__/fields.utils.spec.ts | 2 +- .../utils/fields.utils.ts | 2 +- ...p-field-metadata-to-graphql-query.utils.ts | 4 +- .../src/engine/api/rest/api-rest.module.ts | 2 +- .../src/engine/api/rest/api-rest.service.ts | 2 +- .../engine/api/rest/metadata-rest.service.ts | 2 +- .../settings/interfaces/settings.interface.ts | 2 +- .../analytics/analytics.entity.ts | 0 .../analytics/analytics.module.ts | 0 .../analytics/analytics.resolver.spec.ts | 0 .../analytics/analytics.resolver.ts | 4 +- .../analytics/analytics.service.spec.ts | 0 .../analytics/analytics.service.ts | 4 +- .../analytics/dto/create-analytics.input.ts | 0 .../auth/auth.module.ts | 30 +-- .../auth/auth.resolver.spec.ts | 8 +- .../auth/auth.resolver.ts | 26 +- .../auth/auth.util.ts | 0 .../google-apis-auth.controller.ts | 10 +- .../controllers/google-auth.controller.ts | 14 +- .../google-gmail-auth.controller.ts | 10 +- .../verify-auth.controller.spec.ts | 4 +- .../controllers/verify-auth.controller.ts | 8 +- .../auth/dto/api-key-token.input.ts | 0 .../auth/dto/challenge.input.ts | 0 .../dto/email-password-reset-link.entity.ts | 0 .../dto/email-password-reset-link.input.ts | 0 .../auth/dto/generate-jwt.input.ts | 0 .../auth/dto/impersonate.input.ts | 0 .../auth/dto/invalidate-password.entity.ts | 0 .../auth/dto/login-token.entity.ts | 0 .../auth/dto/password-reset-token.input.ts | 0 .../auth/dto/refresh-token.input.ts | 0 .../auth/dto/save-connected-account.ts | 0 .../auth/dto/sign-up.input.ts | 0 .../auth/dto/token.entity.ts | 0 .../auth/dto/transient-token.entity.ts | 0 .../update-password-via-reset-token.input.ts | 0 .../auth/dto/update-password.entity.ts | 0 .../auth/dto/user-exists.entity.ts | 0 .../auth/dto/user-exists.input.ts | 0 .../validate-password-reset-token.entity.ts | 0 .../validate-password-reset-token.input.ts | 0 .../auth/dto/verify.entity.ts | 2 +- .../auth/dto/verify.input.ts | 0 .../dto/workspace-invite-hash-valid.entity.ts | 0 .../auth/dto/workspace-invite-hash.input.ts | 0 .../auth/guards/google-apis-oauth.guard.ts | 0 .../google-apis-provider-enabled.guard.ts | 2 +- .../google-gmail-provider-enabled.guard.ts | 2 +- .../auth/guards/google-oauth.guard.ts | 0 .../guards/google-provider-enabled.guard.ts | 2 +- .../auth/services/auth.service.spec.ts | 8 +- .../auth/services/auth.service.ts | 20 +- .../auth/services/google-apis.service.ts | 6 +- .../auth/services/sign-up.service.spec.ts | 10 +- .../auth/services/sign-up.service.ts | 12 +- .../auth/services/token.service.spec.ts | 8 +- .../auth/services/token.service.ts | 18 +- .../strategies/google-apis.auth.strategy.ts | 0 .../auth/strategies/google.auth.strategy.ts | 0 .../auth/strategies/jwt.auth.strategy.ts | 6 +- .../core-modules/auth/types/jwt-data.type.ts | 7 + .../billing/billing.controller.ts | 4 +- .../core-modules/billing/billing.module.ts | 27 +++ .../billing/billing.resolver.ts | 14 +- .../billing/billing.service.ts | 14 +- .../billing/dto/billing-session.input.ts | 0 .../billing/dto/checkout-session.input.ts | 0 .../billing/dto/product-price.entity.ts | 0 .../billing/dto/product-prices.entity.ts | 2 +- .../billing/dto/product.input.ts | 2 +- .../billing/dto/session.entity.ts | 0 .../billing-subscription-item.entity.ts | 2 +- .../entities/billing-subscription.entity.ts | 4 +- .../billing/jobs/update-subscription.job.ts | 6 +- .../billing-workspace-member.listener.ts | 2 +- .../billing/stripe/stripe.module.ts | 2 +- .../billing/stripe/stripe.service.ts | 2 +- .../calendar/constants/calendar.constants.ts | 0 .../timeline-calendar-event-attendee.dto.ts | 0 .../dtos/timeline-calendar-event.dto.ts | 2 +- ...timeline-calendar-events-with-total.dto.ts | 2 +- .../timeline-calendar-event.module.ts | 7 +- .../timeline-calendar-event.resolver.ts | 14 +- .../timeline-calendar-event.service.ts | 8 +- .../client-config/client-config.entity.ts | 0 .../client-config/client-config.module.ts | 0 .../client-config.resolver.spec.ts | 0 .../client-config/client-config.resolver.ts | 0 .../engine/core-modules/core-engine.module.ts | 44 ++++ .../feature-flag/feature-flag.entity.ts | 2 +- .../feature-flag/feature-flag.module.ts | 2 +- .../interfaces/feature-flag-map.interface.ts | 3 + .../file/controllers/file.controller.spec.ts | 4 +- .../file/controllers/file.controller.ts | 6 +- .../file/file-upload/file-upload.module.ts | 4 +- .../resolvers/file-upload.resolver.spec.ts | 2 +- .../resolvers/file-upload.resolver.ts | 4 +- .../services/file-upload.service.spec.ts | 0 .../services/file-upload.service.ts | 2 +- .../file/file.module.ts | 6 +- .../file/file.utils.ts | 0 .../file/guards/file-path-guard.ts | 2 +- .../file/interfaces/file-folder.interface.ts | 0 .../resolvers/file-upload.resolver.spec.ts | 27 +++ .../file/resolvers/file-upload.resolver.ts | 57 +++++ .../file/services/file.service.spec.ts | 0 .../file/services/file.service.ts | 0 .../health/health.controller.spec.ts | 2 +- .../health/health.controller.ts | 0 .../health/health.module.ts | 2 +- .../constants/messaging.constants.ts | 0 .../dtos/timeline-thread-participant.dto.ts | 0 .../messaging/dtos/timeline-thread.dto.ts | 2 +- .../dtos/timeline-threads-with-total.dto.ts | 2 +- .../messaging/timeline-messaging.module.ts | 6 +- .../messaging/timeline-messaging.resolver.ts | 12 +- .../messaging/timeline-messaging.service.ts | 4 +- .../open-api/open-api.controller.ts | 2 +- .../core-modules/open-api/open-api.module.ts | 13 + .../open-api/open-api.service.spec.ts | 6 +- .../open-api/open-api.service.ts | 20 +- .../utils/__tests__/components.utils.spec.ts | 4 +- .../utils/__tests__/parameters.utils.spec.ts | 2 +- .../open-api/utils/base-schema.utils.ts | 2 +- .../open-api/utils/components.utils.ts | 6 +- .../utils/compute-schema-tags.utils.ts | 2 +- .../open-api/utils/computeWebhooks.utils.ts | 2 +- .../utils/get-error-responses.utils.ts | 0 .../open-api/utils/parameters.utils.ts | 0 .../open-api/utils/path.utils.ts | 6 +- .../open-api/utils/request-body.utils.ts | 2 +- .../open-api/utils/responses.utils.ts | 2 +- .../quick-actions/intelligence.service.ts | 2 +- .../interfaces/company.interface.ts | 0 .../quick-actions/quick-actions.module.ts | 4 +- .../quick-actions/quick-actions.service.ts | 4 +- .../dtos/create-refresh-token.input.ts | 0 .../before-create-one-refresh-token.hook.ts | 2 +- .../refresh-token.auto-resolver-opts.ts | 0 .../refresh-token/refresh-token.entity.ts | 2 +- .../refresh-token/refresh-token.module.ts | 0 .../services/refresh-token.service.spec.ts | 2 +- .../services/refresh-token.service.ts | 2 +- .../user-workspace/user-workspace.entity.ts | 4 +- .../user-workspace/user-workspace.module.ts | 6 +- .../user-workspace/user-workspace.service.ts | 6 +- .../user/dtos/workspace-member.dto.ts | 0 .../user/services/user.service.spec.ts | 6 +- .../user/services/user.service.ts | 10 +- .../user/user.auto-resolver-opts.ts | 2 +- .../user/user.entity.ts | 8 +- .../user/user.module.ts | 12 +- .../user/user.resolver.ts | 10 +- .../dtos/activate-workspace-input.ts | 0 .../workspace/dtos/update-workspace-input.ts | 0 .../services/workspace.service.spec.ts | 10 +- .../workspace/services/workspace.service.ts | 12 +- .../workspace/workspace.auto-resolver-opts.ts | 2 +- .../workspace/workspace.entity.ts | 8 +- .../workspace/workspace.module.ts | 16 +- .../workspace/workspace.resolver.ts | 14 +- .../is-valid-metadata-name.decorator.ts} | 2 +- .../environment/environment-variables.ts | 21 +- .../environment/environment.default.ts | 79 ------ .../types/object-record.base.event.ts | 2 +- .../hooks/use-exception-handler.hook.ts | 4 +- .../hooks/use-sentry-tracing.ts | 2 +- .../integrations/message-queue/jobs.module.ts | 20 +- .../data-source/data-source.entity.ts | 2 +- .../data-source/data-source.module.ts | 0 .../data-source/data-source.service.ts | 0 .../currency.composite-type.ts | 8 +- .../full-name.composite-type.ts | 8 +- .../field-metadata/composite-types/index.ts | 19 ++ .../composite-types/link.composite-type.ts | 8 +- .../field-metadata/dtos/create-field.input.ts | 2 +- .../dtos/default-value.input.ts | 0 .../field-metadata/dtos/field-metadata.dto.ts | 18 +- .../field-metadata/dtos/options.input.ts | 2 +- .../dtos/relation-definition.dto.ts | 6 +- .../field-metadata/dtos/update-field.input.ts | 2 +- .../field-metadata/field-metadata.entity.ts | 12 +- .../field-metadata/field-metadata.module.ts | 16 +- .../field-metadata/field-metadata.resolver.ts | 12 +- .../field-metadata/field-metadata.service.ts | 26 +- .../hooks/before-delete-one-field.hook.ts | 4 +- .../field-metadata-default-value.interface.ts | 4 +- .../field-metadata-options.interface.ts | 4 +- ...ld-metadata-target-column-map.interface.ts | 2 +- .../interfaces/field-metadata.interface.ts | 25 ++ .../interfaces/object-metadata.interface.ts | 0 .../interfaces/relation-metadata.interface.ts | 2 +- .../utils/__tests__/generate-nullable.spec.ts | 4 +- .../generate-target-column-map.spec.ts | 4 +- .../__tests__/serialize-default-value.spec.ts | 2 +- ...lidate-default-value-based-on-type.spec.ts | 4 +- .../utils/generate-default-value.ts | 4 +- .../field-metadata/utils/generate-nullable.ts | 2 +- .../utils/generate-rating-optionts.util.ts | 2 +- .../utils/generate-target-column-map.util.ts | 6 +- .../is-composite-field-metadata-type.util.ts | 2 +- .../utils/is-enum-field-metadata-type.util.ts | 2 +- .../utils/serialize-default-value.ts | 4 +- .../serialize-type-default-value.util.ts | 2 +- .../validate-default-value-for-type.util.ts | 6 +- .../utils/validate-options-for-type.util.ts | 6 +- ...-field-metadata-default-value.validator.ts | 8 +- .../is-field-metadata-options.validator.ts | 8 +- .../is-valid-graphql-enum-name.validator.ts | 0 .../metadata-engine.module.ts | 27 +++ .../dtos/create-object.input.ts | 8 +- .../dtos/delete-object.input.ts | 2 +- .../dtos/object-metadata.dto.ts | 4 +- .../dtos/update-object.input.ts | 8 +- .../hooks/before-create-one-object.hook.ts | 2 +- .../hooks/before-delete-one-object.hook.ts | 2 +- .../hooks/before-update-one-object.hook.ts | 8 +- .../object-metadata/object-metadata.entity.ts | 8 +- .../object-metadata/object-metadata.module.ts | 10 +- .../object-metadata.resolver.ts | 8 +- .../object-metadata.service.ts | 16 +- .../dtos/create-relation.input.ts | 4 +- .../dtos/relation-metadata.dto.ts | 6 +- .../hooks/before-create-one-relation.hook.ts | 2 +- .../hooks/before-delete-one-field.hook.ts | 2 +- .../relation-metadata.entity.ts | 6 +- .../relation-metadata.module.ts | 6 +- .../relation-metadata.service.ts | 20 +- .../types/relation-to-delete.ts | 0 ...e-relation-foreign-key-column-name.util.ts | 2 +- ...on-foreign-key-field-metadata-name.util.ts | 0 .../workspace-cache-version.entity.ts | 0 .../workspace-cache-version.module.ts | 4 +- .../workspace-cache-version.service.ts | 2 +- .../factories/basic-column-action.factory.ts | 16 +- .../column-action-abstract.factory.ts | 10 +- .../factories/enum-column-action.factory.ts | 14 +- .../factories/factories.ts | 7 + ...rkspace-column-action-factory.interface.ts | 8 +- ...rkspace-column-action-options.interface.ts | 0 ...field-metadata-type-to-column-type.util.ts | 2 +- .../utils/generate-migration-name.util.ts | 0 .../workspace-migration.entity.ts | 2 +- .../workspace-migration.factory.ts | 18 +- .../workspace-migration.module.ts | 4 +- .../workspace-migration.service.ts | 0 .../modules/auth/types/jwt-data.type.ts | 7 - .../engine/modules/billing/billing.module.ts | 27 --- .../engine/modules/engine-modules.module.ts | 44 ---- .../interfaces/feature-flag-map.interface.ts | 3 - .../modules/open-api/open-api.module.ts | 13 - ...regate-by-workspace-context-id.strategy.ts | 38 +++ .../deduce-relation-direction.spec.ts | 8 +- .../utils/compute-object-target-table.util.ts | 2 +- .../utils/create-custom-column-name.util.ts | 0 .../utils/deduce-relation-direction.util.ts | 4 +- .../engine/utils/get-resolver-name.util.ts | 2 +- .../utils/global-exception-handler.util.ts | 2 +- .../utils/graphql-errors.util.ts | 0 .../is-relation-field-metadata-type.util.ts | 2 +- .../workspace-datasource.module.ts | 2 +- .../workspace-datasource.service.ts | 4 +- .../demo-objects-prefill-data.ts | 2 +- .../demo-objects-prefill-data/view.ts | 2 +- .../standard-objects-prefill-data.ts | 2 +- .../standard-objects-prefill-data/view.ts | 2 +- .../delete-incomplete-workspaces.command.ts | 6 +- .../crons/clean-inactive-workspace.job.ts | 10 +- .../workspace-cleaner.module.ts | 6 +- .../fixer/abstract-workspace.fixer.ts | 4 +- .../fixer/workspace-default-value.fixer.ts | 6 +- .../fixer/workspace-nullable.fixer.ts | 4 +- .../workspace-target-column-map.fixer.ts | 12 +- .../fixer/workspace-type.fixer.ts | 4 +- .../workspace-health-issue.interface.ts | 6 +- .../services/database-structure.service.ts | 10 +- .../services/field-metadata-health.service.ts | 18 +- .../object-metadata-health.service.ts | 2 +- .../relation-metadata.health.service.ts | 10 +- .../services/workspace-fix.service.ts | 4 +- .../compute-composite-field-metadata.util.ts | 4 +- ...p-field-metadata-type-to-data-type.util.ts | 2 +- .../workspace-health.module.ts | 4 +- .../workspace-health.service.ts | 6 +- .../workspace-manager.module.ts | 6 +- .../workspace-manager.service.ts | 8 +- .../workspace-migration-field.factory.ts | 10 +- .../workspace-migration-object.factory.ts | 10 +- .../workspace-migration-relation.factory.ts | 8 +- .../workspace-migration-builder.module.ts | 2 +- .../workspace-migration-enum.service.ts | 4 +- .../workspace-migration-type.service.ts | 2 +- ...vert-on-delete-action-to-on-delete.util.ts | 2 +- .../workspace-migration-runner.module.ts | 4 +- .../workspace-migration-runner.service.ts | 6 +- .../commands/add-standard-id.command.ts | 4 +- .../services/sync-workspace-logger.service.ts | 2 +- .../sync-workspace-metadata.command.ts | 4 +- ...workspace-sync-metadata-commands.module.ts | 4 +- .../comparators/workspace-field.comparator.ts | 4 +- .../workspace-object.comparator.ts | 2 +- .../workspace-relation.comparator.ts | 2 +- .../custom-objects/custom.object-metadata.ts | 4 +- .../dynamic-field-metadata.interface.ts | 2 +- .../decorators/field-metadata.decorator.ts | 8 +- .../decorators/relation-metadata.decorator.ts | 2 +- .../factories/feature-flags.factory.ts | 4 +- .../factories/standard-field.factory.ts | 2 +- .../factories/standard-object.factory.ts | 2 +- .../factories/standard-relation.factory.ts | 6 +- .../interfaces/comparator.interface.ts | 4 +- .../interfaces/mapped-metadata.interface.ts | 4 +- ...puted-relation-field-metadata.interface.ts | 4 +- .../reflect-field-metadata.interface.ts | 10 +- .../reflect-relation-metadata.interface.ts | 2 +- .../workspace-metadata-updater.service.ts | 8 +- .../workspace-sync-field-metadata.service.ts | 6 +- .../workspace-sync-object-metadata.service.ts | 6 +- ...orkspace-sync-relation-metadata.service.ts | 8 +- .../standard-objects/base.object-metadata.ts | 2 +- .../storage/workspace-sync.storage.ts | 6 +- .../utils/compute-standard-object.util.ts | 6 +- .../utils/sync-metadata.util.spec.ts | 4 +- .../workspace-sync-metadata.module.ts | 10 +- .../workspace-sync-metadata.service.ts | 2 +- packages/twenty-server/src/main.ts | 6 +- .../activity-target.object-metadata.ts | 2 +- .../activity.object-metadata.ts | 4 +- .../comment.object-metadata.ts | 2 +- .../api-key.object-metadata.ts | 2 +- .../attachment.object-metadata.ts | 2 +- .../google-calendar-full-sync.module.ts | 2 +- .../google-calendar-full-sync.service.ts | 2 +- ...annel-event-association.object-metadata.ts | 4 +- .../calendar-channel.object-metadata.ts | 6 +- ...calendar-event-attendee.object-metadata.ts | 2 +- .../calendar-event.object-metadata.ts | 6 +- .../company.object-metadata.ts | 8 +- .../blocklist.object-metadata.ts | 2 +- .../connected-account.object-metadata.ts | 6 +- .../standard-objects/event.object-metadata.ts | 4 +- .../favorite.object-metadata.ts | 2 +- .../fetch-all-workspaces-messages.job.ts | 4 +- .../messaging-connected-account.listener.ts | 2 +- .../src/modules/messaging/messaging.module.ts | 3 +- .../gmail-full-sync/gmail-full-sync.module.ts | 2 +- .../gmail-full-sync.service.ts | 2 +- .../gmail-partial-sync.module.ts | 2 +- .../gmail-partial-sync.service.ts | 2 +- .../services/message/message.service.ts | 10 +- ...nel-message-association.object-metadata.ts | 2 +- .../message-channel.object-metadata.ts | 4 +- .../message-participant.object-metadata.ts | 2 +- .../message-thread.object-metadata.ts | 4 +- .../message.object-metadata.ts | 4 +- .../opportunity.object-metadata.ts | 6 +- .../person.object-metadata.ts | 8 +- .../pipeline-step.object-metadata.ts | 4 +- .../view-field.object-metadata.ts | 2 +- .../view-filter.object-metadata.ts | 2 +- .../view-sort.object-metadata.ts | 2 +- .../standard-objects/view.object-metadata.ts | 4 +- .../webhook.object-metadata.ts | 2 +- .../workspace-member.object-metadata.ts | 6 +- .../src/queue-worker/queue-worker.ts | 2 +- yarn.lock | 229 ++++++++---------- 461 files changed, 1396 insertions(+), 1322 deletions(-) rename packages/twenty-server/patches/{@nestjs+graphql+12.0.8.patch => @nestjs+graphql+12.1.1.patch} (80%) delete mode 100644 packages/twenty-server/src/app.service.ts delete mode 100644 packages/twenty-server/src/engine-graphql-config/graphql-config.module.ts delete mode 100644 packages/twenty-server/src/engine-metadata/field-metadata/composite-types/index.ts delete mode 100644 packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata.interface.ts delete mode 100644 packages/twenty-server/src/engine-metadata/workspace-migration/factories/factories.ts rename packages/twenty-server/src/{engine-graphql-config => engine/api/graphql/graphql-config}/factories/create-context.factory.ts (76%) rename packages/twenty-server/src/{engine-graphql-config => engine/api/graphql/graphql-config}/factories/index.ts (100%) create mode 100644 packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.module.ts rename packages/twenty-server/src/{engine-graphql-config => engine/api/graphql/graphql-config}/graphql-config.service.ts (87%) rename packages/twenty-server/src/{engine-graphql-config => engine/api/graphql/graphql-config}/hooks/use-throttler.ts (96%) rename packages/twenty-server/src/{engine-graphql-config => engine/api/graphql/graphql-config}/interfaces/graphql-context.interface.ts (56%) rename packages/twenty-server/src/{engine-metadata/metadata.module.ts => engine/api/graphql/metadata-graphql-api.module.ts} (51%) rename packages/twenty-server/src/{engine-metadata => engine/api/graphql}/metadata.module-factory.ts (82%) rename packages/twenty-server/src/engine/api/graphql/{workspace.factory.ts => workspace-schema.factory.ts} (94%) rename packages/twenty-server/src/engine/{modules => core-modules}/analytics/analytics.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/analytics/analytics.module.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/analytics/analytics.resolver.spec.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/analytics/analytics.resolver.ts (88%) rename packages/twenty-server/src/engine/{modules => core-modules}/analytics/analytics.service.spec.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/analytics/analytics.service.ts (91%) rename packages/twenty-server/src/engine/{modules => core-modules}/analytics/dto/create-analytics.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/auth.module.ts (53%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/auth.resolver.spec.ts (77%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/auth.resolver.ts (83%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/auth.util.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/controllers/google-apis-auth.controller.ts (77%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/controllers/google-auth.controller.ts (76%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/controllers/google-gmail-auth.controller.ts (77%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/controllers/verify-auth.controller.spec.ts (80%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/controllers/verify-auth.controller.ts (61%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/api-key-token.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/challenge.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/email-password-reset-link.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/email-password-reset-link.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/generate-jwt.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/impersonate.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/invalidate-password.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/login-token.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/password-reset-token.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/refresh-token.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/save-connected-account.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/sign-up.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/token.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/transient-token.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/update-password-via-reset-token.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/update-password.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/user-exists.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/user-exists.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/validate-password-reset-token.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/validate-password-reset-token.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/verify.entity.ts (76%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/verify.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/workspace-invite-hash-valid.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/dto/workspace-invite-hash.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/guards/google-apis-oauth.guard.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/guards/google-apis-provider-enabled.guard.ts (87%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/guards/google-gmail-provider-enabled.guard.ts (86%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/guards/google-oauth.guard.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/guards/google-provider-enabled.guard.ts (87%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/services/auth.service.spec.ts (82%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/services/auth.service.ts (86%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/services/google-apis.service.ts (94%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/services/sign-up.service.spec.ts (72%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/services/sign-up.service.ts (92%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/services/token.service.spec.ts (80%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/services/token.service.ts (94%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/strategies/google-apis.auth.strategy.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/strategies/google.auth.strategy.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/auth/strategies/jwt.auth.strategy.ts (91%) create mode 100644 packages/twenty-server/src/engine/core-modules/auth/types/jwt-data.type.ts rename packages/twenty-server/src/engine/{modules => core-modules}/billing/billing.controller.ts (90%) create mode 100644 packages/twenty-server/src/engine/core-modules/billing/billing.module.ts rename packages/twenty-server/src/engine/{modules => core-modules}/billing/billing.resolver.ts (80%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/billing.service.ts (92%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/dto/billing-session.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/dto/checkout-session.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/dto/product-price.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/dto/product-prices.entity.ts (71%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/dto/product.input.ts (73%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/dto/session.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/entities/billing-subscription-item.entity.ts (92%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/entities/billing-subscription.entity.ts (87%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/jobs/update-subscription.job.ts (84%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/listeners/billing-workspace-member.listener.ts (94%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/stripe/stripe.module.ts (62%) rename packages/twenty-server/src/engine/{modules => core-modules}/billing/stripe/stripe.service.ts (97%) rename packages/twenty-server/src/engine/{modules => core-modules}/calendar/constants/calendar.constants.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/calendar/dtos/timeline-calendar-event-attendee.dto.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/calendar/dtos/timeline-calendar-event.dto.ts (88%) rename packages/twenty-server/src/engine/{modules => core-modules}/calendar/dtos/timeline-calendar-events-with-total.dto.ts (74%) rename packages/twenty-server/src/engine/{modules => core-modules}/calendar/timeline-calendar-event.module.ts (53%) rename packages/twenty-server/src/engine/{modules => core-modules}/calendar/timeline-calendar-event.resolver.ts (81%) rename packages/twenty-server/src/engine/{modules => core-modules}/calendar/timeline-calendar-event.service.ts (95%) rename packages/twenty-server/src/engine/{modules => core-modules}/client-config/client-config.entity.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/client-config/client-config.module.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/client-config/client-config.resolver.spec.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/client-config/client-config.resolver.ts (100%) create mode 100644 packages/twenty-server/src/engine/core-modules/core-engine.module.ts rename packages/twenty-server/src/engine/{modules => core-modules}/feature-flag/feature-flag.entity.ts (93%) rename packages/twenty-server/src/engine/{modules => core-modules}/feature-flag/feature-flag.module.ts (85%) create mode 100644 packages/twenty-server/src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface.ts rename packages/twenty-server/src/engine/{modules => core-modules}/file/controllers/file.controller.spec.ts (82%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/controllers/file.controller.ts (79%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/file-upload/file-upload.module.ts (58%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/file-upload/resolvers/file-upload.resolver.spec.ts (84%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/file-upload/resolvers/file-upload.resolver.ts (88%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/file-upload/services/file-upload.service.spec.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/file-upload/services/file-upload.service.ts (96%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/file.module.ts (64%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/file.utils.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/guards/file-path-guard.ts (93%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/interfaces/file-folder.interface.ts (100%) create mode 100644 packages/twenty-server/src/engine/core-modules/file/resolvers/file-upload.resolver.spec.ts create mode 100644 packages/twenty-server/src/engine/core-modules/file/resolvers/file-upload.resolver.ts rename packages/twenty-server/src/engine/{modules => core-modules}/file/services/file.service.spec.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/file/services/file.service.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/health/health.controller.spec.ts (89%) rename packages/twenty-server/src/engine/{modules => core-modules}/health/health.controller.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/health/health.module.ts (70%) rename packages/twenty-server/src/engine/{modules => core-modules}/messaging/constants/messaging.constants.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/messaging/dtos/timeline-thread-participant.dto.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/messaging/dtos/timeline-thread.dto.ts (83%) rename packages/twenty-server/src/engine/{modules => core-modules}/messaging/dtos/timeline-threads-with-total.dto.ts (74%) rename packages/twenty-server/src/engine/{modules => core-modules}/messaging/timeline-messaging.module.ts (54%) rename packages/twenty-server/src/engine/{modules => core-modules}/messaging/timeline-messaging.resolver.ts (80%) rename packages/twenty-server/src/engine/{modules => core-modules}/messaging/timeline-messaging.service.ts (98%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/open-api.controller.ts (88%) create mode 100644 packages/twenty-server/src/engine/core-modules/open-api/open-api.module.ts rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/open-api.service.spec.ts (73%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/open-api.service.ts (87%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/__tests__/components.utils.spec.ts (83%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/__tests__/parameters.utils.spec.ts (98%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/base-schema.utils.ts (93%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/components.utils.ts (97%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/compute-schema-tags.utils.ts (80%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/computeWebhooks.utils.ts (95%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/get-error-responses.utils.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/parameters.utils.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/path.utils.ts (93%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/request-body.utils.ts (77%) rename packages/twenty-server/src/engine/{modules => core-modules}/open-api/utils/responses.utils.ts (97%) rename packages/twenty-server/src/engine/{modules => core-modules}/quick-actions/intelligence.service.ts (93%) rename packages/twenty-server/src/engine/{modules => core-modules}/quick-actions/interfaces/company.interface.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/quick-actions/quick-actions.module.ts (69%) rename packages/twenty-server/src/engine/{modules => core-modules}/quick-actions/quick-actions.service.ts (95%) rename packages/twenty-server/src/engine/{modules => core-modules}/refresh-token/dtos/create-refresh-token.input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/refresh-token/hooks/before-create-one-refresh-token.hook.ts (87%) rename packages/twenty-server/src/engine/{modules => core-modules}/refresh-token/refresh-token.auto-resolver-opts.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/refresh-token/refresh-token.entity.ts (94%) rename packages/twenty-server/src/engine/{modules => core-modules}/refresh-token/refresh-token.module.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/refresh-token/services/refresh-token.service.spec.ts (88%) rename packages/twenty-server/src/engine/{modules => core-modules}/refresh-token/services/refresh-token.service.ts (62%) rename packages/twenty-server/src/engine/{modules => core-modules}/user-workspace/user-workspace.entity.ts (89%) rename packages/twenty-server/src/engine/{modules => core-modules}/user-workspace/user-workspace.module.ts (72%) rename packages/twenty-server/src/engine/{modules => core-modules}/user-workspace/user-workspace.service.ts (92%) rename packages/twenty-server/src/engine/{modules => core-modules}/user/dtos/workspace-member.dto.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/user/services/user.service.spec.ts (78%) rename packages/twenty-server/src/engine/{modules => core-modules}/user/services/user.service.ts (88%) rename packages/twenty-server/src/engine/{modules => core-modules}/user/user.auto-resolver-opts.ts (92%) rename packages/twenty-server/src/engine/{modules => core-modules}/user/user.entity.ts (84%) rename packages/twenty-server/src/engine/{modules => core-modules}/user/user.module.ts (63%) rename packages/twenty-server/src/engine/{modules => core-modules}/user/user.resolver.ts (87%) rename packages/twenty-server/src/engine/{modules => core-modules}/workspace/dtos/activate-workspace-input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/workspace/dtos/update-workspace-input.ts (100%) rename packages/twenty-server/src/engine/{modules => core-modules}/workspace/services/workspace.service.spec.ts (74%) rename packages/twenty-server/src/engine/{modules => core-modules}/workspace/services/workspace.service.ts (92%) rename packages/twenty-server/src/engine/{modules => core-modules}/workspace/workspace.auto-resolver-opts.ts (89%) rename packages/twenty-server/src/engine/{modules => core-modules}/workspace/workspace.entity.ts (84%) rename packages/twenty-server/src/engine/{modules => core-modules}/workspace/workspace.module.ts (62%) rename packages/twenty-server/src/engine/{modules => core-modules}/workspace/workspace.resolver.ts (82%) rename packages/twenty-server/src/{engine-metadata/decorators/is-valid-name.decorator.ts => engine/decorators/metadata/is-valid-metadata-name.decorator.ts} (89%) delete mode 100644 packages/twenty-server/src/engine/integrations/environment/environment.default.ts rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/data-source/data-source.entity.ts (89%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/data-source/data-source.module.ts (100%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/data-source/data-source.service.ts (100%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/composite-types/currency.composite-type.ts (81%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/composite-types/full-name.composite-type.ts (81%) create mode 100644 packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/composite-types/link.composite-type.ts (80%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/dtos/create-field.input.ts (84%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/dtos/default-value.input.ts (100%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/dtos/field-metadata.dto.ts (69%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/dtos/options.input.ts (76%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/dtos/relation-definition.dto.ts (76%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/dtos/update-field.input.ts (88%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/field-metadata.entity.ts (76%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/field-metadata.module.ts (71%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/field-metadata.resolver.ts (67%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/field-metadata.service.ts (90%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/hooks/before-delete-one-field.hook.ts (86%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/interfaces/field-metadata-default-value.interface.ts (94%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/interfaces/field-metadata-options.interface.ts (79%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/interfaces/field-metadata-target-column-map.interface.ts (91%) create mode 100644 packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface.ts rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/interfaces/object-metadata.interface.ts (100%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/interfaces/relation-metadata.interface.ts (83%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/__tests__/generate-nullable.spec.ts (85%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/__tests__/generate-target-column-map.spec.ts (81%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/__tests__/serialize-default-value.spec.ts (92%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts (95%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/generate-default-value.ts (71%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/generate-nullable.ts (75%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/generate-rating-optionts.util.ts (79%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/generate-target-column-map.util.ts (83%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/is-composite-field-metadata-type.util.ts (75%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/is-enum-field-metadata-type.util.ts (79%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/serialize-default-value.ts (85%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/serialize-type-default-value.util.ts (68%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/validate-default-value-for-type.util.ts (88%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/utils/validate-options-for-type.util.ts (82%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/validators/is-field-metadata-default-value.validator.ts (73%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/validators/is-field-metadata-options.validator.ts (72%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/field-metadata/validators/is-valid-graphql-enum-name.validator.ts (100%) create mode 100644 packages/twenty-server/src/engine/metadata-modules/metadata-engine.module.ts rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/dtos/create-object.input.ts (78%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/dtos/delete-object.input.ts (71%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/dtos/object-metadata.dto.ts (84%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/dtos/update-object.input.ts (79%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/hooks/before-create-one-object.hook.ts (90%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/hooks/before-delete-one-object.hook.ts (91%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/hooks/before-update-one-object.hook.ts (90%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/object-metadata.entity.ts (83%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/object-metadata.module.ts (79%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/object-metadata.resolver.ts (62%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/object-metadata/object-metadata.service.ts (97%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/relation-metadata/dtos/create-relation.input.ts (84%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/relation-metadata/dtos/relation-metadata.dto.ts (78%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/relation-metadata/hooks/before-create-one-relation.hook.ts (84%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/relation-metadata/hooks/before-delete-one-field.hook.ts (91%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/relation-metadata/relation-metadata.entity.ts (85%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/relation-metadata/relation-metadata.module.ts (83%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/relation-metadata/relation-metadata.service.ts (89%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/relation-metadata/types/relation-to-delete.ts (100%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/relation-metadata/utils/create-relation-foreign-key-column-name.util.ts (77%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/relation-metadata/utils/create-relation-foreign-key-field-metadata-name.util.ts (100%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-cache-version/workspace-cache-version.entity.ts (100%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-cache-version/workspace-cache-version.module.ts (55%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-cache-version/workspace-cache-version.service.ts (88%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/factories/basic-column-action.factory.ts (77%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/factories/column-action-abstract.factory.ts (76%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/factories/enum-column-action.factory.ts (82%) create mode 100644 packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/factories.ts rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/interfaces/workspace-column-action-factory.interface.ts (52%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/interfaces/workspace-column-action-options.interface.ts (100%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/utils/field-metadata-type-to-column-type.util.ts (91%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/utils/generate-migration-name.util.ts (100%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/workspace-migration.entity.ts (95%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/workspace-migration.factory.ts (83%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/workspace-migration.module.ts (70%) rename packages/twenty-server/src/{engine-metadata => engine/metadata-modules}/workspace-migration/workspace-migration.service.ts (100%) delete mode 100644 packages/twenty-server/src/engine/modules/auth/types/jwt-data.type.ts delete mode 100644 packages/twenty-server/src/engine/modules/billing/billing.module.ts delete mode 100644 packages/twenty-server/src/engine/modules/engine-modules.module.ts delete mode 100644 packages/twenty-server/src/engine/modules/feature-flag/interfaces/feature-flag-map.interface.ts delete mode 100644 packages/twenty-server/src/engine/modules/open-api/open-api.module.ts create mode 100644 packages/twenty-server/src/engine/strategies/aggregate-by-workspace-context-id.strategy.ts rename packages/twenty-server/src/{engine-metadata => engine}/utils/create-custom-column-name.util.ts (100%) rename packages/twenty-server/src/engine/{filters => }/utils/global-exception-handler.util.ts (97%) rename packages/twenty-server/src/engine/{filters => }/utils/graphql-errors.util.ts (100%) diff --git a/packages/twenty-server/.env.example b/packages/twenty-server/.env.example index d8e3f31fb0..4959f2e820 100644 --- a/packages/twenty-server/.env.example +++ b/packages/twenty-server/.env.example @@ -14,6 +14,7 @@ SIGN_IN_PREFILLED=true # ———————— Optional ———————— # PORT=3000 # DEBUG_MODE=true +# DEBUG_PORT=9000 # ACCESS_TOKEN_EXPIRES_IN=30m # LOGIN_TOKEN_EXPIRES_IN=15m # API_TOKEN_EXPIRES_IN=1000y diff --git a/packages/twenty-server/package.json b/packages/twenty-server/package.json index b5c913daee..2309ebe441 100644 --- a/packages/twenty-server/package.json +++ b/packages/twenty-server/package.json @@ -36,12 +36,13 @@ "@graphql-yoga/nestjs": "patch:@graphql-yoga/nestjs@2.1.0#./patches/@graphql-yoga+nestjs+2.1.0.patch", "@nestjs/cache-manager": "^2.2.1", "@nestjs/devtools-integration": "^0.1.6", - "@nestjs/graphql": "patch:@nestjs/graphql@12.0.8#./patches/@nestjs+graphql+12.0.8.patch", + "@nestjs/graphql": "patch:@nestjs/graphql@12.1.1#./patches/@nestjs+graphql+12.1.1.patch", "@ptc-org/nestjs-query-graphql": "patch:@ptc-org/nestjs-query-graphql@4.2.0#./patches/@ptc-org+nestjs-query-graphql+4.2.0.patch", "cache-manager": "^5.4.0", "cache-manager-redis-yet": "^4.1.2", "class-validator": "patch:class-validator@0.14.0#./patches/class-validator+0.14.0.patch", "graphql-middleware": "^6.1.35", + "jwt-decode": "^4.0.0", "passport": "^0.7.0", "psl": "^1.9.0" }, diff --git a/packages/twenty-server/patches/@nestjs+graphql+12.0.8.patch b/packages/twenty-server/patches/@nestjs+graphql+12.1.1.patch similarity index 80% rename from packages/twenty-server/patches/@nestjs+graphql+12.0.8.patch rename to packages/twenty-server/patches/@nestjs+graphql+12.1.1.patch index c69764b788..47643c5b6f 100644 --- a/packages/twenty-server/patches/@nestjs+graphql+12.0.8.patch +++ b/packages/twenty-server/patches/@nestjs+graphql+12.1.1.patch @@ -1,8 +1,8 @@ diff --git a/dist/schema-builder/graphql-schema.factory.js b/dist/schema-builder/graphql-schema.factory.js -index 787bcbc..1c825bd 100644 +index f349a6e..425815c 100644 --- a/dist/schema-builder/graphql-schema.factory.js +++ b/dist/schema-builder/graphql-schema.factory.js -@@ -32,6 +32,7 @@ let GraphQLSchemaFactory = exports.GraphQLSchemaFactory = GraphQLSchemaFactory_1 +@@ -32,6 +32,7 @@ let GraphQLSchemaFactory = GraphQLSchemaFactory_1 = class GraphQLSchemaFactory { else { options = scalarsOrOptions; } @@ -11,10 +11,10 @@ index 787bcbc..1c825bd 100644 type_metadata_storage_1.TypeMetadataStorage.compile(options.orphanedTypes); this.typeDefinitionsGenerator.generate(options); diff --git a/dist/schema-builder/storages/type-definitions.storage.js b/dist/schema-builder/storages/type-definitions.storage.js -index d100444..158c592 100644 +index a19dee7..466ee86 100644 --- a/dist/schema-builder/storages/type-definitions.storage.js +++ b/dist/schema-builder/storages/type-definitions.storage.js -@@ -81,6 +81,10 @@ let TypeDefinitionsStorage = exports.TypeDefinitionsStorage = class TypeDefiniti +@@ -81,6 +81,10 @@ let TypeDefinitionsStorage = class TypeDefinitionsStorage { } return; } @@ -23,13 +23,13 @@ index d100444..158c592 100644 + this.outputTypeDefinitionsLinks = null; + } }; + exports.TypeDefinitionsStorage = TypeDefinitionsStorage; exports.TypeDefinitionsStorage = TypeDefinitionsStorage = tslib_1.__decorate([ - (0, common_1.Injectable)() diff --git a/dist/schema-builder/type-definitions.generator.js b/dist/schema-builder/type-definitions.generator.js -index eb6bcfd..4fbc1ae 100644 +index d5423f1..701a3b2 100644 --- a/dist/schema-builder/type-definitions.generator.js +++ b/dist/schema-builder/type-definitions.generator.js -@@ -26,6 +26,9 @@ let TypeDefinitionsGenerator = exports.TypeDefinitionsGenerator = class TypeDefi +@@ -26,6 +26,9 @@ let TypeDefinitionsGenerator = class TypeDefinitionsGenerator { this.generateObjectTypeDefs(options); this.generateInputTypeDefs(options); } diff --git a/packages/twenty-server/src/app.module.ts b/packages/twenty-server/src/app.module.ts index 04025def2d..24c9e07f60 100644 --- a/packages/twenty-server/src/app.module.ts +++ b/packages/twenty-server/src/app.module.ts @@ -1,40 +1,54 @@ import { DynamicModule, Module } from '@nestjs/common'; -import { GraphQLModule } from '@nestjs/graphql'; import { ConfigModule } from '@nestjs/config'; import { ServeStaticModule } from '@nestjs/serve-static'; +import { DevtoolsModule } from '@nestjs/devtools-integration'; +import { GraphQLModule } from '@nestjs/graphql'; import { existsSync } from 'fs'; import { join } from 'path'; -import { YogaDriver, YogaDriverConfig } from '@graphql-yoga/nestjs'; +import { YogaDriverConfig, YogaDriver } from '@graphql-yoga/nestjs'; -import { GraphQLConfigService } from 'src/engine-graphql-config/graphql-config.service'; import { ApiRestModule } from 'src/engine/api/rest/api-rest.module'; import { ModulesModule } from 'src/modules/modules.module'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; +import { CoreGraphQLApiModule } from 'src/engine/api/graphql/core-graphql-api.module'; +import { MetadataGraphQLApiModule } from 'src/engine/api/graphql/metadata-graphql-api.module'; +import { GraphQLConfigModule } from 'src/engine/api/graphql/graphql-config/graphql-config.module'; +import { GraphQLConfigService } from 'src/engine/api/graphql/graphql-config/graphql-config.service'; -import { EngineModulesModule } from './engine/modules/engine-modules.module'; +import { CoreEngineModule } from './engine/core-modules/core-engine.module'; import { IntegrationsModule } from './engine/integrations/integrations.module'; -import { CoreGraphqlApiModule } from './engine/api/graphql/core-graphql-api.module'; -import { GraphQLConfigModule } from './engine-graphql-config/graphql-config.module'; @Module({ imports: [ - // DevtoolsModule.register({ - // http: process.env.NODE_ENV !== 'production', - // }), + // Nest.js devtools, use devtools.nestjs.com to debug + DevtoolsModule.registerAsync({ + useFactory: (environmentService: EnvironmentService) => ({ + http: environmentService.get('DEBUG_MODE'), + port: environmentService.get('DEBUG_PORT'), + }), + inject: [EnvironmentService], + }), ConfigModule.forRoot({ isGlobal: true, }), GraphQLModule.forRootAsync({ driver: YogaDriver, - imports: [EngineModulesModule, GraphQLConfigModule], + imports: [CoreEngineModule, GraphQLConfigModule], useClass: GraphQLConfigService, }), + // Integrations module, contains all the integrations with other services IntegrationsModule, - EngineModulesModule, + // Core engine module, contains all the core modules + CoreEngineModule, + // Modules module, contains all business logic modules ModulesModule, + // Api modules + CoreGraphQLApiModule, + MetadataGraphQLApiModule, ApiRestModule, - CoreGraphqlApiModule, + // Conditional modules ...AppModule.getConditionalModules(), ], }) diff --git a/packages/twenty-server/src/app.service.ts b/packages/twenty-server/src/app.service.ts deleted file mode 100644 index 2849c69128..0000000000 --- a/packages/twenty-server/src/app.service.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Injectable } from '@nestjs/common'; - -@Injectable() -export class AppService { - health(): string { - return 'Healthy!'; - } -} diff --git a/packages/twenty-server/src/command/command.ts b/packages/twenty-server/src/command/command.ts index b73377d6bd..2ebc22bded 100644 --- a/packages/twenty-server/src/command/command.ts +++ b/packages/twenty-server/src/command/command.ts @@ -2,7 +2,7 @@ import { ConfigService } from '@nestjs/config'; import { CommandFactory } from 'nest-commander'; -import { filterException } from 'src/engine/filters/utils/global-exception-handler.util'; +import { filterException } from 'src/engine/utils/global-exception-handler.util'; import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; import { LoggerService } from 'src/engine/integrations/logger/logger.service'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; diff --git a/packages/twenty-server/src/database/commands/data-seed-dev-workspace.command.ts b/packages/twenty-server/src/database/commands/data-seed-dev-workspace.command.ts index 97a012d18c..0a8ec622e0 100644 --- a/packages/twenty-server/src/database/commands/data-seed-dev-workspace.command.ts +++ b/packages/twenty-server/src/database/commands/data-seed-dev-workspace.command.ts @@ -1,7 +1,7 @@ import { Command, CommandRunner } from 'nest-commander'; import { DataSource } from 'typeorm'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { seedCompanies } from 'src/database/typeorm-seeds/workspace/companies'; import { seedViews } from 'src/database/typeorm-seeds/workspace/views'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; @@ -10,7 +10,7 @@ import { seedPipelineStep } from 'src/database/typeorm-seeds/workspace/pipeline- import { seedWorkspaceMember } from 'src/database/typeorm-seeds/workspace/workspaceMember'; import { seedPeople } from 'src/database/typeorm-seeds/workspace/people'; import { seedCoreSchema } from 'src/database/typeorm-seeds/core'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { WorkspaceSyncMetadataService } from 'src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service'; import { seedCalendarEvents } from 'src/database/typeorm-seeds/workspace/calendar-events'; diff --git a/packages/twenty-server/src/database/commands/database-command.module.ts b/packages/twenty-server/src/database/commands/database-command.module.ts index a99e511e67..1e85f0309a 100644 --- a/packages/twenty-server/src/database/commands/database-command.module.ts +++ b/packages/twenty-server/src/database/commands/database-command.module.ts @@ -2,13 +2,13 @@ import { Module } from '@nestjs/common'; import { ConfirmationQuestion } from 'src/database/commands/questions/confirmation.question'; import { WorkspaceManagerModule } from 'src/engine/workspace-manager/workspace-manager.module'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { WorkspaceModule } from 'src/engine/modules/workspace/workspace.module'; +import { WorkspaceModule } from 'src/engine/core-modules/workspace/workspace.module'; import { DataSeedWorkspaceCommand } from 'src/database/commands/data-seed-dev-workspace.command'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; import { WorkspaceSyncMetadataModule } from 'src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.module'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; import { StartDataSeedDemoWorkspaceCronCommand } from 'src/database/commands/data-seed-demo-workspace/crons/start-data-seed-demo-workspace.cron.command'; import { StopDataSeedDemoWorkspaceCronCommand } from 'src/database/commands/data-seed-demo-workspace/crons/stop-data-seed-demo-workspace.cron.command'; import { WorkspaceAddTotalCountCommand } from 'src/database/commands/workspace-add-total-count.command'; diff --git a/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts b/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts index 98a4ce34b4..9e5cbd7526 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/core/feature-flags.ts @@ -1,6 +1,6 @@ import { DataSource } from 'typeorm'; -import { FeatureFlagKeys } from 'src/engine/modules/feature-flag/feature-flag.entity'; +import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; const tableName = 'featureFlag'; diff --git a/packages/twenty-server/src/database/typeorm-seeds/core/userWorkspaces.ts b/packages/twenty-server/src/database/typeorm-seeds/core/userWorkspaces.ts index f3902d95c5..754f6b41f8 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/core/userWorkspaces.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/core/userWorkspaces.ts @@ -4,7 +4,7 @@ import { SeedAppleWorkspaceId, SeedTwentyWorkspaceId, } from 'src/database/typeorm-seeds/core/workspaces'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; // import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces'; diff --git a/packages/twenty-server/src/database/typeorm-seeds/core/workspaces.ts b/packages/twenty-server/src/database/typeorm-seeds/core/workspaces.ts index 75513e5ccb..83314b575a 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/core/workspaces.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/core/workspaces.ts @@ -1,6 +1,6 @@ import { DataSource } from 'typeorm'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; const tableName = 'workspace'; diff --git a/packages/twenty-server/src/database/typeorm-seeds/workspace/views.ts b/packages/twenty-server/src/database/typeorm-seeds/workspace/views.ts index db118df5f2..f3846bb2d5 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/workspace/views.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/workspace/views.ts @@ -1,6 +1,6 @@ import { DataSource } from 'typeorm'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export const seedViews = async ( workspaceDataSource: DataSource, diff --git a/packages/twenty-server/src/database/typeorm-seeds/workspace/workspaceMember.ts b/packages/twenty-server/src/database/typeorm-seeds/workspace/workspaceMember.ts index 6432388736..7d686c1305 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/workspace/workspaceMember.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/workspace/workspaceMember.ts @@ -5,7 +5,7 @@ import { SeedAppleWorkspaceId, SeedTwentyWorkspaceId, } from 'src/database/typeorm-seeds/core/workspaces'; -import { WorkspaceMember } from 'src/engine/modules/user/dtos/workspace-member.dto'; +import { WorkspaceMember } from 'src/engine/core-modules/user/dtos/workspace-member.dto'; const tableName = 'workspaceMember'; diff --git a/packages/twenty-server/src/database/typeorm/core/core.datasource.ts b/packages/twenty-server/src/database/typeorm/core/core.datasource.ts index 0d2bbbcddb..751442c657 100644 --- a/packages/twenty-server/src/database/typeorm/core/core.datasource.ts +++ b/packages/twenty-server/src/database/typeorm/core/core.datasource.ts @@ -11,7 +11,7 @@ export const typeORMCoreModuleOptions: TypeOrmModuleOptions = { type: 'postgres', logging: ['error'], schema: 'core', - entities: ['dist/src/engine/modules/**/*.entity{.ts,.js}'], + entities: ['dist/src/engine/core-modules/**/*.entity{.ts,.js}'], synchronize: false, migrationsRun: false, migrationsTableName: '_typeorm_migrations', diff --git a/packages/twenty-server/src/database/typeorm/metadata/metadata.datasource.ts b/packages/twenty-server/src/database/typeorm/metadata/metadata.datasource.ts index 408f047bea..b6fb0018dd 100644 --- a/packages/twenty-server/src/database/typeorm/metadata/metadata.datasource.ts +++ b/packages/twenty-server/src/database/typeorm/metadata/metadata.datasource.ts @@ -11,7 +11,7 @@ export const typeORMMetadataModuleOptions: TypeOrmModuleOptions = { type: 'postgres', logging: ['error'], schema: 'metadata', - entities: ['dist/src/engine-metadata/**/*.entity{.ts,.js}'], + entities: ['dist/src/engine/metadata-modules/**/*.entity{.ts,.js}'], synchronize: false, migrationsRun: false, migrationsTableName: '_typeorm_migrations', diff --git a/packages/twenty-server/src/database/typeorm/typeorm.service.ts b/packages/twenty-server/src/database/typeorm/typeorm.service.ts index 595e0a3d92..675c7c1f19 100644 --- a/packages/twenty-server/src/database/typeorm/typeorm.service.ts +++ b/packages/twenty-server/src/database/typeorm/typeorm.service.ts @@ -3,14 +3,14 @@ import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { DataSource } from 'typeorm'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; -import { User } from 'src/engine/modules/user/user.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { RefreshToken } from 'src/engine/modules/refresh-token/refresh-token.entity'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { BillingSubscription } from 'src/engine/modules/billing/entities/billing-subscription.entity'; -import { BillingSubscriptionItem } from 'src/engine/modules/billing/entities/billing-subscription-item.entity'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; +import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { RefreshToken } from 'src/engine/core-modules/refresh-token/refresh-token.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { BillingSubscription } from 'src/engine/core-modules/billing/entities/billing-subscription.entity'; +import { BillingSubscriptionItem } from 'src/engine/core-modules/billing/entities/billing-subscription-item.entity'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; @Injectable() export class TypeORMService implements OnModuleInit, OnModuleDestroy { diff --git a/packages/twenty-server/src/engine-graphql-config/graphql-config.module.ts b/packages/twenty-server/src/engine-graphql-config/graphql-config.module.ts deleted file mode 100644 index 4106ae69a2..0000000000 --- a/packages/twenty-server/src/engine-graphql-config/graphql-config.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { EngineModulesModule } from 'src/engine/modules/engine-modules.module'; -import { graphQLFactories } from 'src/engine-graphql-config/factories'; - -@Module({ - imports: [EngineModulesModule], - providers: [...graphQLFactories], - exports: [...graphQLFactories], -}) -export class GraphQLConfigModule {} diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/composite-types/index.ts b/packages/twenty-server/src/engine-metadata/field-metadata/composite-types/index.ts deleted file mode 100644 index 5ea08efd56..0000000000 --- a/packages/twenty-server/src/engine-metadata/field-metadata/composite-types/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; - -import { currencyFields } from 'src/engine-metadata/field-metadata/composite-types/currency.composite-type'; -import { fullNameFields } from 'src/engine-metadata/field-metadata/composite-types/full-name.composite-type'; -import { linkFields } from 'src/engine-metadata/field-metadata/composite-types/link.composite-type'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; - -export type CompositeFieldsDefinitionFunction = ( - fieldMetadata?: FieldMetadataInterface, -) => FieldMetadataInterface[]; - -export const compositeDefinitions = new Map< - string, - CompositeFieldsDefinitionFunction ->([ - [FieldMetadataType.LINK, linkFields], - [FieldMetadataType.CURRENCY, currencyFields], - [FieldMetadataType.FULL_NAME, fullNameFields], -]); diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata.interface.ts b/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata.interface.ts deleted file mode 100644 index 6991e11131..0000000000 --- a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata.interface.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { FieldMetadataTargetColumnMap } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-target-column-map.interface'; -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; -import { FieldMetadataOptions } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-options.interface'; - -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; - -export interface FieldMetadataInterface< - T extends FieldMetadataType | 'default' = 'default', -> { - id: string; - type: FieldMetadataType; - name: string; - label: string; - targetColumnMap: FieldMetadataTargetColumnMap; - defaultValue?: FieldMetadataDefaultValue; - options?: FieldMetadataOptions; - objectMetadataId: string; - workspaceId?: string; - description?: string; - isNullable?: boolean; - fromRelationMetadata?: RelationMetadataEntity; - toRelationMetadata?: RelationMetadataEntity; - isCustom?: boolean; -} diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/factories/factories.ts b/packages/twenty-server/src/engine-metadata/workspace-migration/factories/factories.ts deleted file mode 100644 index 9248ffcaa1..0000000000 --- a/packages/twenty-server/src/engine-metadata/workspace-migration/factories/factories.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { BasicColumnActionFactory } from 'src/engine-metadata/workspace-migration/factories/basic-column-action.factory'; -import { EnumColumnActionFactory } from 'src/engine-metadata/workspace-migration/factories/enum-column-action.factory'; - -export const workspaceColumnActionFactories = [ - BasicColumnActionFactory, - EnumColumnActionFactory, -]; diff --git a/packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts b/packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts index 04860d3820..77c1fd5f2c 100644 --- a/packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts +++ b/packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export const fieldNumberMock = { name: 'fieldNumber', diff --git a/packages/twenty-server/src/engine/api/graphql/__tests__/workspace.factory.spec.ts b/packages/twenty-server/src/engine/api/graphql/__tests__/workspace.factory.spec.ts index 3883c85e17..29fde8f18e 100644 --- a/packages/twenty-server/src/engine/api/graphql/__tests__/workspace.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/__tests__/workspace.factory.spec.ts @@ -1,20 +1,20 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; import { WorkspaceSchemaStorageService } from 'src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.service'; import { ScalarsExplorerService } from 'src/engine/api/graphql/services/scalars-explorer.service'; import { WorkspaceResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/workspace-resolver.factory'; import { WorkspaceGraphQLSchemaFactory } from 'src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory'; -import { WorkspaceFactory } from 'src/engine/api/graphql/workspace.factory'; +import { WorkspaceSchemaFactory } from 'src/engine/api/graphql/workspace-schema.factory'; -describe('WorkspaceFactory', () => { - let service: WorkspaceFactory; +describe('WorkspaceSchemaFactory', () => { + let service: WorkspaceSchemaFactory; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ providers: [ - WorkspaceFactory, + WorkspaceSchemaFactory, { provide: DataSourceService, useValue: {}, @@ -42,7 +42,7 @@ describe('WorkspaceFactory', () => { ], }).compile(); - service = module.get(WorkspaceFactory); + service = module.get(WorkspaceSchemaFactory); }); it('should be defined', () => { diff --git a/packages/twenty-server/src/engine/api/graphql/core-graphql-api.module.ts b/packages/twenty-server/src/engine/api/graphql/core-graphql-api.module.ts index 8bbcda9745..0ea069944d 100644 --- a/packages/twenty-server/src/engine/api/graphql/core-graphql-api.module.ts +++ b/packages/twenty-server/src/engine/api/graphql/core-graphql-api.module.ts @@ -1,25 +1,28 @@ import { Module } from '@nestjs/common'; -import { MetadataModule } from 'src/engine-metadata/metadata.module'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; import { WorkspaceSchemaStorageModule } from 'src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.module'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; import { ScalarsExplorerService } from 'src/engine/api/graphql/services/scalars-explorer.service'; import { WorkspaceSchemaBuilderModule } from 'src/engine/api/graphql/workspace-schema-builder/workspace-schema-builder.module'; import { WorkspaceResolverBuilderModule } from 'src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.module'; +import { MetadataEngineModule } from 'src/engine/metadata-modules/metadata-engine.module'; -import { WorkspaceFactory } from './workspace.factory'; +import { WorkspaceSchemaFactory } from './workspace-schema.factory'; @Module({ imports: [ - MetadataModule, - DataSourceModule, - ObjectMetadataModule, + // TODO: Seems like it's breaking /metadata query and mutation arguments + // we should investigate this issue + // GraphQLModule.forRootAsync({ + // driver: YogaDriver, + // imports: [CoreEngineModule, GraphQLConfigModule], + // useClass: GraphQLConfigService, + // }), + MetadataEngineModule, WorkspaceSchemaBuilderModule, WorkspaceResolverBuilderModule, WorkspaceSchemaStorageModule, ], - providers: [WorkspaceFactory, ScalarsExplorerService], - exports: [WorkspaceFactory], + providers: [WorkspaceSchemaFactory, ScalarsExplorerService], + exports: [WorkspaceSchemaFactory], }) -export class CoreGraphqlApiModule {} +export class CoreGraphQLApiModule {} diff --git a/packages/twenty-server/src/engine-graphql-config/factories/create-context.factory.ts b/packages/twenty-server/src/engine/api/graphql/graphql-config/factories/create-context.factory.ts similarity index 76% rename from packages/twenty-server/src/engine-graphql-config/factories/create-context.factory.ts rename to packages/twenty-server/src/engine/api/graphql/graphql-config/factories/create-context.factory.ts index 0e7e3e5887..0071474e0b 100644 --- a/packages/twenty-server/src/engine-graphql-config/factories/create-context.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-config/factories/create-context.factory.ts @@ -2,9 +2,9 @@ import { Injectable } from '@nestjs/common'; import { YogaDriverServerContext } from '@graphql-yoga/nestjs'; -import { GraphQLContext } from 'src/engine-graphql-config/interfaces/graphql-context.interface'; +import { GraphQLContext } from 'src/engine/api/graphql/graphql-config/interfaces/graphql-context.interface'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; @Injectable() export class CreateContextFactory { diff --git a/packages/twenty-server/src/engine-graphql-config/factories/index.ts b/packages/twenty-server/src/engine/api/graphql/graphql-config/factories/index.ts similarity index 100% rename from packages/twenty-server/src/engine-graphql-config/factories/index.ts rename to packages/twenty-server/src/engine/api/graphql/graphql-config/factories/index.ts diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.module.ts b/packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.module.ts new file mode 100644 index 0000000000..01bf03a9a3 --- /dev/null +++ b/packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.module.ts @@ -0,0 +1,11 @@ +import { Module } from '@nestjs/common'; + +import { CoreEngineModule } from 'src/engine/core-modules/core-engine.module'; +import { graphQLFactories } from 'src/engine/api/graphql/graphql-config/factories'; + +@Module({ + imports: [CoreEngineModule], + providers: [...graphQLFactories], + exports: [...graphQLFactories], +}) +export class GraphQLConfigModule {} diff --git a/packages/twenty-server/src/engine-graphql-config/graphql-config.service.ts b/packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.service.ts similarity index 87% rename from packages/twenty-server/src/engine-graphql-config/graphql-config.service.ts rename to packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.service.ts index fb9212e367..8c1044376b 100644 --- a/packages/twenty-server/src/engine-graphql-config/graphql-config.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-config/graphql-config.service.ts @@ -12,18 +12,18 @@ import { JsonWebTokenError, TokenExpiredError } from 'jsonwebtoken'; import { GraphQLSchemaWithContext, YogaInitialContext } from 'graphql-yoga'; import * as Sentry from '@sentry/node'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; -import { EngineModulesModule } from 'src/engine/modules/engine-modules.module'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { WorkspaceFactory } from 'src/engine/api/graphql/workspace.factory'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; +import { CoreEngineModule } from 'src/engine/core-modules/core-engine.module'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { WorkspaceSchemaFactory } from 'src/engine/api/graphql/workspace-schema.factory'; import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; -import { handleExceptionAndConvertToGraphQLError } from 'src/engine/filters/utils/global-exception-handler.util'; +import { handleExceptionAndConvertToGraphQLError } from 'src/engine/utils/global-exception-handler.util'; import { renderApolloPlayground } from 'src/engine/utils/render-apollo-playground.util'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { useExceptionHandler } from 'src/engine/integrations/exception-handler/hooks/use-exception-handler.hook'; -import { User } from 'src/engine/modules/user/user.entity'; -import { useThrottler } from 'src/engine-graphql-config/hooks/use-throttler'; -import { JwtData } from 'src/engine/modules/auth/types/jwt-data.type'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { useThrottler } from 'src/engine/api/graphql/graphql-config/hooks/use-throttler'; +import { JwtData } from 'src/engine/core-modules/auth/types/jwt-data.type'; import { useSentryTracing } from 'src/engine/integrations/exception-handler/hooks/use-sentry-tracing'; import { CreateContextFactory } from './factories/create-context.factory'; @@ -67,7 +67,7 @@ export class GraphQLConfigService const config: YogaDriverConfig = { context: (context) => this.createContextFactory.create(context), autoSchemaFile: true, - include: [EngineModulesModule], + include: [CoreEngineModule], conditionalSchema: async (context) => { let user: User | undefined; let workspace: Workspace | undefined; @@ -148,9 +148,9 @@ export class GraphQLConfigService // Register the request in the contextId this.moduleRef.registerRequestByContextId(context.req, contextId); - // Resolve the WorkspaceFactory for the contextId + // Resolve the WorkspaceSchemaFactory for the contextId const workspaceFactory = await this.moduleRef.resolve( - WorkspaceFactory, + WorkspaceSchemaFactory, contextId, { strict: false, diff --git a/packages/twenty-server/src/engine-graphql-config/hooks/use-throttler.ts b/packages/twenty-server/src/engine/api/graphql/graphql-config/hooks/use-throttler.ts similarity index 96% rename from packages/twenty-server/src/engine-graphql-config/hooks/use-throttler.ts rename to packages/twenty-server/src/engine/api/graphql/graphql-config/hooks/use-throttler.ts index ffafe4f810..6959ef8f2b 100644 --- a/packages/twenty-server/src/engine-graphql-config/hooks/use-throttler.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-config/hooks/use-throttler.ts @@ -3,7 +3,7 @@ import { getGraphQLRateLimiter } from 'graphql-rate-limit'; import { Plugin } from '@envelop/core'; import { useOnResolve } from '@envelop/on-resolve'; -import { GraphQLContext } from 'src/engine-graphql-config/graphql-config.service'; +import { GraphQLContext } from 'src/engine/api/graphql/graphql-config/graphql-config.service'; export class UnauthenticatedError extends Error {} diff --git a/packages/twenty-server/src/engine-graphql-config/interfaces/graphql-context.interface.ts b/packages/twenty-server/src/engine/api/graphql/graphql-config/interfaces/graphql-context.interface.ts similarity index 56% rename from packages/twenty-server/src/engine-graphql-config/interfaces/graphql-context.interface.ts rename to packages/twenty-server/src/engine/api/graphql/graphql-config/interfaces/graphql-context.interface.ts index eb7d254238..fcfd7aae5a 100644 --- a/packages/twenty-server/src/engine-graphql-config/interfaces/graphql-context.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-config/interfaces/graphql-context.interface.ts @@ -1,7 +1,7 @@ import { YogaDriverServerContext } from '@graphql-yoga/nestjs'; -import { User } from 'src/engine/modules/user/user.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; export interface GraphQLContext extends YogaDriverServerContext<'express'> { user?: User; diff --git a/packages/twenty-server/src/engine-metadata/metadata.module.ts b/packages/twenty-server/src/engine/api/graphql/metadata-graphql-api.module.ts similarity index 51% rename from packages/twenty-server/src/engine-metadata/metadata.module.ts rename to packages/twenty-server/src/engine/api/graphql/metadata-graphql-api.module.ts index 8702088754..5bfadcee74 100644 --- a/packages/twenty-server/src/engine-metadata/metadata.module.ts +++ b/packages/twenty-server/src/engine/api/graphql/metadata-graphql-api.module.ts @@ -4,17 +4,13 @@ import { GraphQLModule } from '@nestjs/graphql'; import { YogaDriverConfig, YogaDriver } from '@graphql-yoga/nestjs'; import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module'; -import { WorkspaceMigrationModule } from 'src/engine-metadata/workspace-migration/workspace-migration.module'; -import { metadataModuleFactory } from 'src/engine-metadata/metadata.module-factory'; +import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module'; +import { metadataModuleFactory } from 'src/engine/api/graphql/metadata.module-factory'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; -import { GraphQLConfigModule } from 'src/engine-graphql-config/graphql-config.module'; -import { CreateContextFactory } from 'src/engine-graphql-config/factories/create-context.factory'; - -import { DataSourceModule } from './data-source/data-source.module'; -import { FieldMetadataModule } from './field-metadata/field-metadata.module'; -import { ObjectMetadataModule } from './object-metadata/object-metadata.module'; -import { RelationMetadataModule } from './relation-metadata/relation-metadata.module'; +import { GraphQLConfigModule } from 'src/engine/api/graphql/graphql-config/graphql-config.module'; +import { CreateContextFactory } from 'src/engine/api/graphql/graphql-config/factories/create-context.factory'; +import { MetadataEngineModule } from 'src/engine/metadata-modules/metadata-engine.module'; @Module({ imports: [ @@ -28,12 +24,9 @@ import { RelationMetadataModule } from './relation-metadata/relation-metadata.mo CreateContextFactory, ], }), - DataSourceModule, - FieldMetadataModule, - ObjectMetadataModule, + MetadataEngineModule, WorkspaceMigrationRunnerModule, WorkspaceMigrationModule, - RelationMetadataModule, ], }) -export class MetadataModule {} +export class MetadataGraphQLApiModule {} diff --git a/packages/twenty-server/src/engine-metadata/metadata.module-factory.ts b/packages/twenty-server/src/engine/api/graphql/metadata.module-factory.ts similarity index 82% rename from packages/twenty-server/src/engine-metadata/metadata.module-factory.ts rename to packages/twenty-server/src/engine/api/graphql/metadata.module-factory.ts index a11c05e71d..7252a43f64 100644 --- a/packages/twenty-server/src/engine-metadata/metadata.module-factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/metadata.module-factory.ts @@ -1,12 +1,12 @@ import { YogaDriverConfig } from '@graphql-yoga/nestjs'; import GraphQLJSON from 'graphql-type-json'; -import { CreateContextFactory } from 'src/engine-graphql-config/factories/create-context.factory'; +import { CreateContextFactory } from 'src/engine/api/graphql/graphql-config/factories/create-context.factory'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; import { useExceptionHandler } from 'src/engine/integrations/exception-handler/hooks/use-exception-handler.hook'; -import { useThrottler } from 'src/engine-graphql-config/hooks/use-throttler'; -import { MetadataModule } from 'src/engine-metadata/metadata.module'; +import { useThrottler } from 'src/engine/api/graphql/graphql-config/hooks/use-throttler'; +import { MetadataGraphQLApiModule } from 'src/engine/api/graphql/metadata-graphql-api.module'; import { renderApolloPlayground } from 'src/engine/utils/render-apollo-playground.util'; export const metadataModuleFactory = async ( @@ -19,7 +19,7 @@ export const metadataModuleFactory = async ( return createContextFactory.create(context); }, autoSchemaFile: true, - include: [MetadataModule], + include: [MetadataGraphQLApiModule], renderGraphiQL() { return renderApolloPlayground({ path: 'metadata' }); }, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock.ts index 1f1f4fdb80..98ec7e5d42 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock.ts @@ -1,6 +1,6 @@ import { GraphQLResolveInfo } from 'graphql'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; import { objectMetadataItemMock } from 'src/engine/api/__mocks__/object-metadata-item.mock'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/args-alias.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/args-alias.factory.ts index a31cb422dc..ca0a8b8572 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/args-alias.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/args-alias.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; @Injectable() export class ArgsAliasFactory { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/args-string.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/args-string.factory.ts index df11f1611b..d28c124868 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/args-string.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/args-string.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { stringifyWithoutKeyQuote } from 'src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/field-alias.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/field-alias.factory.ts index ff0afdf479..547c8704a1 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/field-alias.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/field-alias.factory.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; @Injectable() export class FieldAliasFactory { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory.ts index 2dfc3eba88..e3ae2dfde3 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory.ts @@ -4,8 +4,8 @@ import { GraphQLResolveInfo } from 'graphql'; import graphqlFields from 'graphql-fields'; import isEmpty from 'lodash.isempty'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts index c8f8bff136..5da08ed1a9 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts @@ -5,7 +5,7 @@ import isEmpty from 'lodash.isempty'; import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; import { RecordFilter } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; import { FindDuplicatesResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { stringifyWithoutKeyQuote } from 'src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts index c58b071ad2..113f2af43c 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts @@ -2,17 +2,17 @@ import { forwardRef, Inject, Injectable, Logger } from '@nestjs/common'; import { GraphQLResolveInfo } from 'graphql'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { deduceRelationDirection, RelationDirection, } from 'src/engine/utils/deduce-relation-direction.util'; import { getFieldArgumentsByKey } from 'src/engine/api/graphql/workspace-query-builder/utils/get-field-arguments-by-key.util'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { FieldsStringFactory } from './fields-string.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts index 15d5af7996..4f1ace4a80 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts @@ -1,7 +1,7 @@ import { GraphQLResolveInfo } from 'graphql'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; export interface WorkspaceQueryBuilderOptions { objectMetadataItem: ObjectMetadataInterface; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.module.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.module.ts index 0325af39e0..46367dd98e 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.module.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; import { FieldsStringFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory'; import { RecordPositionQueryFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/record-position-query.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts index ea9076a2c9..7569a35728 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts @@ -1,10 +1,10 @@ import { Test, TestingModule } from '@nestjs/testing'; import { WorkspaceQueryRunnerOptions } from 'src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { QueryRunnerArgsFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RecordPositionFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/record-position.factory'; describe('QueryRunnerArgsFactory', () => { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters.factory.ts index 6ea3a300ea..5c61aeb099 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters.factory.ts @@ -3,10 +3,10 @@ import { Injectable } from '@nestjs/common'; import { addMilliseconds } from 'date-fns'; import ms from 'ms'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; @Injectable() export class QueryResultGettersFactory { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts index 8bc5df4632..f5c2d80c27 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts @@ -1,9 +1,9 @@ import { Injectable } from '@nestjs/common'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { WorkspaceQueryRunnerOptions } from 'src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RecordPositionFactory } from './record-position.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface.ts index 9a94a9d719..13b462a04c 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface.ts @@ -1,7 +1,7 @@ import { GraphQLResolveInfo } from 'graphql'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; export interface WorkspaceQueryRunnerOptions { workspaceId: string; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/call-webhook-jobs.job.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/call-webhook-jobs.job.ts index c05e094e47..46b4eed29d 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/call-webhook-jobs.job.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/call-webhook-jobs.job.ts @@ -1,11 +1,11 @@ import { Inject, Injectable, Logger } from '@nestjs/common'; import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/save-event-to-db.job.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/save-event-to-db.job.ts index 44fbad59c5..82cab4e278 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/save-event-to-db.job.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/save-event-to-db.job.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; export type SaveEventToDbJobData = { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/entity-events-to-db.listener.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/entity-events-to-db.listener.ts index 6f6b25f8d6..f13047daf9 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/entity-events-to-db.listener.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/entity-events-to-db.listener.ts @@ -14,7 +14,7 @@ import { import { FeatureFlagEntity, FeatureFlagKeys, -} from 'src/engine/modules/feature-flag/feature-flag.entity'; +} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; @Injectable() export class EntityEventsToDbListener { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/record-position.listener.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/record-position.listener.ts index 8e3a23916e..9d9ea3803f 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/record-position.listener.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/record-position.listener.ts @@ -1,7 +1,7 @@ import { Inject, Injectable } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { ObjectRecordCreateEvent } from 'src/engine/integrations/event-emitter/types/object-record-create.event'; import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service.ts index a8fb36582c..42242d0867 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module.ts index b9feb83faa..f2dcdd2039 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module.ts @@ -6,9 +6,9 @@ import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/works import { WorkspacePreQueryHookModule } from 'src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module'; import { workspaceQueryRunnerFactories } from 'src/engine/api/graphql/workspace-query-runner/factories'; import { RecordPositionListener } from 'src/engine/api/graphql/workspace-query-runner/listeners/record-position.listener'; -import { AuthModule } from 'src/engine/modules/auth/auth.module'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { AuthModule } from 'src/engine/core-modules/auth/auth.module'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { WorkspaceQueryRunnerService } from './workspace-query-runner.service'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service.ts index 1088f2ad75..dd9ae0f08b 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service.ts @@ -25,7 +25,7 @@ import { UpdateManyResolverArgs, UpdateOneResolverArgs, } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { WorkspaceQueryBuilderFactory } from 'src/engine/api/graphql/workspace-query-builder/workspace-query-builder.factory'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; @@ -43,7 +43,7 @@ import { ObjectRecordCreateEvent } from 'src/engine/integrations/event-emitter/t import { ObjectRecordUpdateEvent } from 'src/engine/integrations/event-emitter/types/object-record-update.event'; import { WorkspacePreQueryHookService } from 'src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { NotFoundError } from 'src/engine/filters/utils/graphql-errors.util'; +import { NotFoundError } from 'src/engine/utils/graphql-errors.util'; import { QueryRunnerArgsFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory'; import { QueryResultGettersFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/query-result-getters.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/execute-quick-action-on-one-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/execute-quick-action-on-one-resolver.factory.ts index 6ab4c61be6..3968ed760b 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/execute-quick-action-on-one-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/execute-quick-action-on-one-resolver.factory.ts @@ -12,7 +12,7 @@ import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql import { WorkspaceQueryRunnerOptions } from 'src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface'; import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; -import { QuickActionsService } from 'src/engine/modules/quick-actions/quick-actions.service'; +import { QuickActionsService } from 'src/engine/core-modules/quick-actions/quick-actions.service'; @Injectable() export class ExecuteQuickActionOnOneResolverFactory diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.module.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.module.ts index 3cbef4cf4c..85a84f17a6 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.module.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.module.ts @@ -1,7 +1,7 @@ import { Module } from '@nestjs/common'; import { WorkspaceQueryRunnerModule } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module'; -import { QuickActionsModule } from 'src/engine/modules/quick-actions/quick-actions.module'; +import { QuickActionsModule } from 'src/engine/core-modules/quick-actions/quick-actions.module'; import { WorkspaceResolverFactory } from './workspace-resolver.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver.factory.ts index 8e2a548d89..a0071bea7b 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver.factory.ts @@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { IResolvers } from '@graphql-tools/utils'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { getResolverName } from 'src/engine/utils/get-resolver-name.util'; import { UpdateManyResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/update-many-resolver.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts index ef9d885480..e309d4c384 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLInt, GraphQLObjectType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { pascalCase } from 'src/utils/pascal-case'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type.factory.ts index 41919c7157..d6400e7cb0 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type.factory.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { TypeMapperService, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts index 877a6e9b22..154684e97a 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { pascalCase } from 'src/utils/pascal-case'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type.factory.ts index ea1bdaafdb..30ddfd0166 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type.factory.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { TypeMapperService, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts index def7d1095a..de77733d61 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts @@ -3,15 +3,15 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLEnumType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { pascalCase } from 'src/utils/pascal-case'; import { FieldMetadataComplexOption, FieldMetadataDefaultOption, -} from 'src/engine-metadata/field-metadata/dtos/options.input'; -import { isEnumFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-enum-field-metadata-type.util'; +} from 'src/engine/metadata-modules/field-metadata/dtos/options.input'; +import { isEnumFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util'; export interface EnumTypeDefinition { target: string; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition.factory.ts index 98766740b6..1e2b9c5634 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition.factory.ts @@ -7,7 +7,7 @@ import { } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; import { objectContainsRelationField } from 'src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field'; @@ -17,7 +17,7 @@ import { RelationDirection, deduceRelationDirection, } from 'src/engine/utils/deduce-relation-direction.util'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { RelationTypeFactory } from './relation-type.factory'; import { ArgsFactory } from './args.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/filter-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/filter-type-definition.factory.ts index c2c558e5d5..5a545f0581 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/filter-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/filter-type-definition.factory.ts @@ -3,7 +3,7 @@ import { Injectable } from '@nestjs/common'; import { GraphQLInputFieldConfigMap, GraphQLInputObjectType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { pascalCase } from 'src/utils/pascal-case'; import { TypeMapperService } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/filter-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/filter-type.factory.ts index 19477e8cb3..98fd306f8b 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/filter-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/filter-type.factory.ts @@ -8,15 +8,15 @@ import { } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { TypeMapperService, TypeOptions, } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; -import { isCompositeFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util'; -import { isEnumFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-enum-field-metadata-type.util'; +import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; +import { isEnumFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util'; import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; import { InputTypeDefinitionKind } from './input-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts index 9511b44280..6908bc9f3f 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { GraphQLInputFieldConfigMap, GraphQLInputObjectType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { pascalCase } from 'src/utils/pascal-case'; import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { InputTypeFactory } from './input-type.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts index 7a5a5e10f7..d1bd5f2489 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts @@ -3,14 +3,14 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLInputType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { TypeMapperService, TypeOptions, } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; -import { isCompositeFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util'; +import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; import { InputTypeDefinitionKind } from './input-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/mutation-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/mutation-type.factory.ts index dbcb506cd7..b19e73898b 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/mutation-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/mutation-type.factory.ts @@ -4,7 +4,7 @@ import { GraphQLObjectType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { WorkspaceResolverBuilderMutationMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { ObjectTypeName, RootTypeFactory } from './root-type.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts index 343df7faae..9974139b89 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { pascalCase } from 'src/utils/pascal-case'; import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { OutputTypeFactory } from './output-type.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/order-by-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/order-by-type-definition.factory.ts index 0b10df54c1..2ea6d00c0c 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/order-by-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/order-by-type-definition.factory.ts @@ -3,7 +3,7 @@ import { Injectable } from '@nestjs/common'; import { GraphQLInputFieldConfigMap, GraphQLInputObjectType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { pascalCase } from 'src/utils/pascal-case'; import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/order-by-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/order-by-type.factory.ts index d452538a26..0ab71f5140 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/order-by-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/order-by-type.factory.ts @@ -3,14 +3,14 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLInputType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { TypeMapperService, TypeOptions, } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; -import { isCompositeFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util'; +import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; import { InputTypeDefinitionKind } from './input-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts index 7ba617ebfc..9a10ef836c 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts @@ -3,14 +3,14 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { TypeMapperService, TypeOptions, } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; -import { isCompositeFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util'; +import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; import { ObjectTypeDefinitionKind } from './object-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/query-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/query-type.factory.ts index 2275cdca34..59ce2e0f45 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/query-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/query-type.factory.ts @@ -4,7 +4,7 @@ import { GraphQLObjectType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { WorkspaceResolverBuilderQueryMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { ObjectTypeName, RootTypeFactory } from './root-type.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-type.factory.ts index c4a68a6b2d..2c5fbea0bb 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-type.factory.ts @@ -2,10 +2,10 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { RelationMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/relation-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { RelationMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-metadata.interface'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; import { RelationDirection } from 'src/engine/utils/deduce-relation-direction.util'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/root-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/root-type.factory.ts index b5ec655079..66a031420a 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/root-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/root-type.factory.ts @@ -4,7 +4,7 @@ import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; import { getResolverName } from 'src/engine/utils/get-resolver-name.util'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/param-metadata.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/param-metadata.interface.ts index d117c560ee..8a4071d6ca 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/param-metadata.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/param-metadata.interface.ts @@ -1,5 +1,5 @@ import { InputTypeDefinitionKind } from 'src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export interface ArgMetadata { kind?: InputTypeDefinitionKind; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface.ts index 8da8a2c0bf..1cbf69aef6 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface.ts @@ -1,5 +1,5 @@ -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; export interface WorkspaceSchemaBuilderContext { workspaceId: string; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service.ts index 32a8c0b7c6..6b072c2dfc 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service.ts @@ -22,7 +22,7 @@ import { NumberScalarMode, } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { UUIDFilterType, StringFilterType, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage.ts index 9e539bc5d4..2d89820e16 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage.ts @@ -6,7 +6,7 @@ import { GraphQLObjectType, } from 'graphql'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { EnumTypeDefinition } from 'src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory'; import { InputTypeDefinition, @@ -18,7 +18,7 @@ import { } from 'src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory'; // Must be scoped on REQUEST level -@Injectable({ scope: Scope.REQUEST }) +@Injectable({ scope: Scope.REQUEST, durable: true }) export class TypeDefinitionsStorage { private readonly enumTypeDefinitions = new Map(); private readonly objectTypeDefinitions = new Map< diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts index 595db1c6bd..8eb4ca3eae 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts @@ -1,13 +1,13 @@ import { Injectable, Logger } from '@nestjs/common'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { customTableDefaultColumns } from 'src/engine/workspace-manager/workspace-migration-runner/utils/custom-table-default-column.util'; -import { fullNameObjectDefinition } from 'src/engine-metadata/field-metadata/composite-types/full-name.composite-type'; -import { currencyObjectDefinition } from 'src/engine-metadata/field-metadata/composite-types/currency.composite-type'; -import { linkObjectDefinition } from 'src/engine-metadata/field-metadata/composite-types/link.composite-type'; +import { fullNameObjectDefinition } from 'src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type'; +import { currencyObjectDefinition } from 'src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type'; +import { linkObjectDefinition } from 'src/engine/metadata-modules/field-metadata/composite-types/link.composite-type'; import { EnumTypeDefinitionFactory } from 'src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory'; import { TypeDefinitionsStorage } from './storages/type-definitions.storage'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts index 459140af68..a2c311d3e7 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { getFieldMetadataType } from 'src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util'; describe('getFieldMetadataType', () => { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-resolver-args.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-resolver-args.spec.ts index 60d569aa81..3d47630540 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-resolver-args.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-resolver-args.spec.ts @@ -1,6 +1,6 @@ import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { InputTypeDefinitionKind } from 'src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory'; import { getResolverArgs } from 'src/engine/api/graphql/workspace-schema-builder/utils/get-resolver-args.util'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts index 025309f21c..4784ff27c4 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; const typeOrmTypeMapping = new Map([ ['uuid', FieldMetadataType.UUID], diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-resolver-args.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-resolver-args.util.ts index 8d1dc45379..0f99bc0db5 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-resolver-args.util.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-resolver-args.util.ts @@ -1,7 +1,7 @@ import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; import { ArgMetadata } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/param-metadata.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { InputTypeDefinitionKind } from 'src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory'; export const getResolverArgs = ( diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts index b705b2bb4b..e842e42196 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts @@ -1,4 +1,4 @@ -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts index eb25eaa1d6..6d1708db0a 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLSchema } from 'graphql'; import { WorkspaceResolverBuilderMethods } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { TypeDefinitionsGenerator } from './type-definitions.generator'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-schema-builder.module.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-schema-builder.module.ts index cdcecb83c5..f4be416d1f 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-schema-builder.module.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-schema-builder.module.ts @@ -1,7 +1,6 @@ import { Module } from '@nestjs/common'; -import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; import { TypeDefinitionsGenerator } from './type-definitions.generator'; import { WorkspaceGraphQLSchemaFactory } from './workspace-graphql-schema.factory'; @@ -18,7 +17,6 @@ import { TypeMapperService } from './services/type-mapper.service'; TypeDefinitionsStorage, TypeMapperService, WorkspaceGraphQLSchemaFactory, - JwtAuthGuard, ], exports: [WorkspaceGraphQLSchemaFactory], }) diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.module.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.module.ts index a24c410f48..bd57d9db28 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.module.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.module.ts @@ -1,7 +1,7 @@ import { Module } from '@nestjs/common'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; -import { WorkspaceCacheVersionModule } from 'src/engine-metadata/workspace-cache-version/workspace-cache-version.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; +import { WorkspaceCacheVersionModule } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.module'; import { WorkspaceSchemaStorageService } from 'src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.service'; @Module({ diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.service.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.service.ts index 0ab8433db1..6733aa8bd1 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.service.ts @@ -2,8 +2,8 @@ import { Inject, Injectable } from '@nestjs/common'; import { CacheStorageService } from 'src/engine/integrations/cache-storage/cache-storage.service'; import { CacheStorageNamespace } from 'src/engine/integrations/cache-storage/types/cache-storage-namespace.enum'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { WorkspaceCacheVersionService } from 'src/engine-metadata/workspace-cache-version/workspace-cache-version.service'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { WorkspaceCacheVersionService } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.service'; @Injectable() export class WorkspaceSchemaStorageService { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema.factory.ts similarity index 94% rename from packages/twenty-server/src/engine/api/graphql/workspace.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema.factory.ts index 2951eaf5ee..608e7a952a 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema.factory.ts @@ -4,16 +4,16 @@ import { GraphQLSchema, printSchema } from 'graphql'; import { makeExecutableSchema } from '@graphql-tools/schema'; import { gql } from 'graphql-tag'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { WorkspaceSchemaStorageService } from 'src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.service'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; import { ScalarsExplorerService } from 'src/engine/api/graphql/services/scalars-explorer.service'; import { WorkspaceGraphQLSchemaFactory } from 'src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory'; import { workspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/factories/factories'; import { WorkspaceResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/workspace-resolver.factory'; @Injectable() -export class WorkspaceFactory { +export class WorkspaceSchemaFactory { constructor( private readonly dataSourceService: DataSourceService, private readonly objectMetadataService: ObjectMetadataService, diff --git a/packages/twenty-server/src/engine/api/rest/__tests__/api-rest.service.spec.ts b/packages/twenty-server/src/engine/api/rest/__tests__/api-rest.service.spec.ts index 3427d320ed..83ed4dadfd 100644 --- a/packages/twenty-server/src/engine/api/rest/__tests__/api-rest.service.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/__tests__/api-rest.service.spec.ts @@ -3,7 +3,7 @@ import { HttpService } from '@nestjs/axios'; import { ApiRestService } from 'src/engine/api/rest/api-rest.service'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; import { ApiRestQueryBuilderFactory } from 'src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; describe('ApiRestService', () => { diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/__tests__/api-rest-query-builder.factory.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/__tests__/api-rest-query-builder.factory.spec.ts index 3ba0060919..579786a214 100644 --- a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/__tests__/api-rest-query-builder.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/__tests__/api-rest-query-builder.factory.spec.ts @@ -10,8 +10,8 @@ import { DeleteVariablesFactory } from 'src/engine/api/rest/api-rest-query-build import { CreateVariablesFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/create-variables.factory'; import { UpdateVariablesFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/update-variables.factory'; import { GetVariablesFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/get-variables.factory'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; describe('ApiRestQueryBuilderFactory', () => { diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory.ts index 74bfe7e090..e6df92853c 100644 --- a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory.ts @@ -3,8 +3,8 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { Request } from 'express'; import { DeleteQueryFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/delete-query.factory'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; import { CreateQueryFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/create-query.factory'; import { UpdateQueryFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/update-query.factory'; import { FindOneQueryFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/find-one-query.factory'; @@ -15,7 +15,7 @@ import { UpdateVariablesFactory } from 'src/engine/api/rest/api-rest-query-build import { GetVariablesFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/get-variables.factory'; import { parsePath } from 'src/engine/api/rest/api-rest-query-builder/utils/parse-path.utils'; import { computeDepth } from 'src/engine/api/rest/api-rest-query-builder/utils/compute-depth.utils'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { ApiRestQuery } from 'src/engine/api/rest/types/api-rest-query.type'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.module.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.module.ts index f647be1d63..d4c09f9015 100644 --- a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.module.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.module.ts @@ -2,8 +2,8 @@ import { Module } from '@nestjs/common'; import { ApiRestQueryBuilderFactory } from 'src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; import { apiRestQueryBuilderFactories } from 'src/engine/api/rest/api-rest-query-builder/factories/factories'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; -import { AuthModule } from 'src/engine/modules/auth/auth.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; +import { AuthModule } from 'src/engine/core-modules/auth/auth.module'; @Module({ imports: [ObjectMetadataModule, AuthModule], diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/format-field-values.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/format-field-values.utils.spec.ts index f012684d76..22ad6baa65 100644 --- a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/format-field-values.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/format-field-values.utils.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { formatFieldValue } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils'; describe('formatFieldValue', () => { diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils.ts index 5a7c1e976d..4271970ce1 100644 --- a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils.ts @@ -1,6 +1,6 @@ import { BadRequestException } from '@nestjs/common'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { FieldValue } from 'src/engine/api/rest/types/api-rest-field-value.type'; export const formatFieldValue = ( diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/fields.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/fields.utils.spec.ts index 5408accb6c..fc0e2bc44c 100644 --- a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/fields.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/fields.utils.spec.ts @@ -3,7 +3,7 @@ import { checkFields, getFieldType, } from 'src/engine/api/rest/api-rest-query-builder/utils/fields.utils'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; describe('FieldUtils', () => { describe('getFieldType', () => { diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/fields.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/fields.utils.ts index 13a28bb7c5..2e1e82ec32 100644 --- a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/fields.utils.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/fields.utils.ts @@ -1,6 +1,6 @@ import { BadRequestException } from '@nestjs/common'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; export const getFieldType = ( diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts index 6be2967c0a..ed8eeb2165 100644 --- a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; const DEFAULT_DEPTH_VALUE = 2; diff --git a/packages/twenty-server/src/engine/api/rest/api-rest.module.ts b/packages/twenty-server/src/engine/api/rest/api-rest.module.ts index f064ac0cfc..79f492733e 100644 --- a/packages/twenty-server/src/engine/api/rest/api-rest.module.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest.module.ts @@ -4,7 +4,7 @@ import { HttpModule } from '@nestjs/axios'; import { ApiRestController } from 'src/engine/api/rest/api-rest.controller'; import { ApiRestService } from 'src/engine/api/rest/api-rest.service'; import { ApiRestQueryBuilderModule } from 'src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.module'; -import { AuthModule } from 'src/engine/modules/auth/auth.module'; +import { AuthModule } from 'src/engine/core-modules/auth/auth.module'; import { ApiRestMetadataController } from 'src/engine/api/rest/metadata-rest.controller'; import { ApiRestMetadataService } from 'src/engine/api/rest/metadata-rest.service'; diff --git a/packages/twenty-server/src/engine/api/rest/api-rest.service.ts b/packages/twenty-server/src/engine/api/rest/api-rest.service.ts index 7d89c20f52..4db2893f30 100644 --- a/packages/twenty-server/src/engine/api/rest/api-rest.service.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest.service.ts @@ -5,7 +5,7 @@ import { Request } from 'express'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { ApiRestQueryBuilderFactory } from 'src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; import { ApiRestResponse } from 'src/engine/api/rest/types/api-rest-response.type'; import { ApiRestQuery } from 'src/engine/api/rest/types/api-rest-query.type'; import { getServerUrl } from 'src/utils/get-server-url'; diff --git a/packages/twenty-server/src/engine/api/rest/metadata-rest.service.ts b/packages/twenty-server/src/engine/api/rest/metadata-rest.service.ts index 8a4b61be5f..3c6ea223d4 100644 --- a/packages/twenty-server/src/engine/api/rest/metadata-rest.service.ts +++ b/packages/twenty-server/src/engine/api/rest/metadata-rest.service.ts @@ -4,7 +4,7 @@ import { HttpService } from '@nestjs/axios'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { ApiRestQueryBuilderFactory } from 'src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; import { ApiRestQuery } from 'src/engine/api/rest/types/api-rest-query.type'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; import { parseMetadataPath } from 'src/engine/api/rest/api-rest-query-builder/utils/parse-path.utils'; import { capitalize } from 'src/utils/capitalize'; import { getServerUrl } from 'src/utils/get-server-url'; diff --git a/packages/twenty-server/src/engine/constants/settings/interfaces/settings.interface.ts b/packages/twenty-server/src/engine/constants/settings/interfaces/settings.interface.ts index 9f659e0ddb..9a5ddf5d9c 100644 --- a/packages/twenty-server/src/engine/constants/settings/interfaces/settings.interface.ts +++ b/packages/twenty-server/src/engine/constants/settings/interfaces/settings.interface.ts @@ -1,4 +1,4 @@ -import { FileFolder } from 'src/engine/modules/file/interfaces/file-folder.interface'; +import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; import { ShortCropSize } from 'src/utils/image'; diff --git a/packages/twenty-server/src/engine/modules/analytics/analytics.entity.ts b/packages/twenty-server/src/engine/core-modules/analytics/analytics.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/analytics/analytics.entity.ts rename to packages/twenty-server/src/engine/core-modules/analytics/analytics.entity.ts diff --git a/packages/twenty-server/src/engine/modules/analytics/analytics.module.ts b/packages/twenty-server/src/engine/core-modules/analytics/analytics.module.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/analytics/analytics.module.ts rename to packages/twenty-server/src/engine/core-modules/analytics/analytics.module.ts diff --git a/packages/twenty-server/src/engine/modules/analytics/analytics.resolver.spec.ts b/packages/twenty-server/src/engine/core-modules/analytics/analytics.resolver.spec.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/analytics/analytics.resolver.spec.ts rename to packages/twenty-server/src/engine/core-modules/analytics/analytics.resolver.spec.ts diff --git a/packages/twenty-server/src/engine/modules/analytics/analytics.resolver.ts b/packages/twenty-server/src/engine/core-modules/analytics/analytics.resolver.ts similarity index 88% rename from packages/twenty-server/src/engine/modules/analytics/analytics.resolver.ts rename to packages/twenty-server/src/engine/core-modules/analytics/analytics.resolver.ts index 999b347dc0..c62f30e0eb 100644 --- a/packages/twenty-server/src/engine/modules/analytics/analytics.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/analytics/analytics.resolver.ts @@ -6,8 +6,8 @@ import { Request } from 'express'; import { OptionalJwtAuthGuard } from 'src/engine/guards/optional-jwt.auth.guard'; import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator'; import { AuthUser } from 'src/engine/decorators/auth/auth-user.decorator'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { User } from 'src/engine/modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { AnalyticsService } from './analytics.service'; import { Analytics } from './analytics.entity'; diff --git a/packages/twenty-server/src/engine/modules/analytics/analytics.service.spec.ts b/packages/twenty-server/src/engine/core-modules/analytics/analytics.service.spec.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/analytics/analytics.service.spec.ts rename to packages/twenty-server/src/engine/core-modules/analytics/analytics.service.spec.ts diff --git a/packages/twenty-server/src/engine/modules/analytics/analytics.service.ts b/packages/twenty-server/src/engine/core-modules/analytics/analytics.service.ts similarity index 91% rename from packages/twenty-server/src/engine/modules/analytics/analytics.service.ts rename to packages/twenty-server/src/engine/core-modules/analytics/analytics.service.ts index dfb9477a05..0992f2d1d6 100644 --- a/packages/twenty-server/src/engine/modules/analytics/analytics.service.ts +++ b/packages/twenty-server/src/engine/core-modules/analytics/analytics.service.ts @@ -5,8 +5,8 @@ import { Request } from 'express'; import { anonymize } from 'src/utils/anonymize'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { User } from 'src/engine/modules/user/user.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { CreateAnalyticsInput } from './dto/create-analytics.input'; diff --git a/packages/twenty-server/src/engine/modules/analytics/dto/create-analytics.input.ts b/packages/twenty-server/src/engine/core-modules/analytics/dto/create-analytics.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/analytics/dto/create-analytics.input.ts rename to packages/twenty-server/src/engine/core-modules/analytics/dto/create-analytics.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/auth.module.ts b/packages/twenty-server/src/engine/core-modules/auth/auth.module.ts similarity index 53% rename from packages/twenty-server/src/engine/modules/auth/auth.module.ts rename to packages/twenty-server/src/engine/core-modules/auth/auth.module.ts index a33776122b..ded002b079 100644 --- a/packages/twenty-server/src/engine/modules/auth/auth.module.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/auth.module.ts @@ -5,23 +5,23 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { HttpModule } from '@nestjs/axios'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { User } from 'src/engine/modules/user/user.entity'; -import { RefreshToken } from 'src/engine/modules/refresh-token/refresh-token.entity'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; -import { UserModule } from 'src/engine/modules/user/user.module'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { RefreshToken } from 'src/engine/core-modules/refresh-token/refresh-token.entity'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; +import { UserModule } from 'src/engine/core-modules/user/user.module'; import { WorkspaceManagerModule } from 'src/engine/workspace-manager/workspace-manager.module'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { GoogleAuthController } from 'src/engine/modules/auth/controllers/google-auth.controller'; -import { GoogleAPIsAuthController } from 'src/engine/modules/auth/controllers/google-apis-auth.controller'; -import { VerifyAuthController } from 'src/engine/modules/auth/controllers/verify-auth.controller'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; -import { GoogleAPIsService } from 'src/engine/modules/auth/services/google-apis.service'; -import { UserWorkspaceModule } from 'src/engine/modules/user-workspace/user-workspace.module'; -import { SignUpService } from 'src/engine/modules/auth/services/sign-up.service'; -import { GoogleGmailAuthController } from 'src/engine/modules/auth/controllers/google-gmail-auth.controller'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { FileUploadModule } from 'src/engine/modules/file/file-upload/file-upload.module'; +import { GoogleAuthController } from 'src/engine/core-modules/auth/controllers/google-auth.controller'; +import { GoogleAPIsAuthController } from 'src/engine/core-modules/auth/controllers/google-apis-auth.controller'; +import { VerifyAuthController } from 'src/engine/core-modules/auth/controllers/verify-auth.controller'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; +import { GoogleAPIsService } from 'src/engine/core-modules/auth/services/google-apis.service'; +import { UserWorkspaceModule } from 'src/engine/core-modules/user-workspace/user-workspace.module'; +import { SignUpService } from 'src/engine/core-modules/auth/services/sign-up.service'; +import { GoogleGmailAuthController } from 'src/engine/core-modules/auth/controllers/google-gmail-auth.controller'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FileUploadModule } from 'src/engine/core-modules/file/file-upload/file-upload.module'; import { AuthResolver } from './auth.resolver'; diff --git a/packages/twenty-server/src/engine/modules/auth/auth.resolver.spec.ts b/packages/twenty-server/src/engine/core-modules/auth/auth.resolver.spec.ts similarity index 77% rename from packages/twenty-server/src/engine/modules/auth/auth.resolver.spec.ts rename to packages/twenty-server/src/engine/core-modules/auth/auth.resolver.spec.ts index 0057cb7ea4..4edcf14796 100644 --- a/packages/twenty-server/src/engine/modules/auth/auth.resolver.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/auth.resolver.spec.ts @@ -1,10 +1,10 @@ import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { UserService } from 'src/engine/modules/user/services/user.service'; -import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; -import { User } from 'src/engine/modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { UserService } from 'src/engine/core-modules/user/services/user.service'; +import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { AuthResolver } from './auth.resolver'; diff --git a/packages/twenty-server/src/engine/modules/auth/auth.resolver.ts b/packages/twenty-server/src/engine/core-modules/auth/auth.resolver.ts similarity index 83% rename from packages/twenty-server/src/engine/modules/auth/auth.resolver.ts rename to packages/twenty-server/src/engine/core-modules/auth/auth.resolver.ts index 01eab3d856..6cd86e1354 100644 --- a/packages/twenty-server/src/engine/modules/auth/auth.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/auth.resolver.ts @@ -13,20 +13,20 @@ import { Repository } from 'typeorm'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; import { AuthUser } from 'src/engine/decorators/auth/auth-user.decorator'; import { assert } from 'src/utils/assert'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator'; -import { User } from 'src/engine/modules/user/user.entity'; -import { ApiKeyTokenInput } from 'src/engine/modules/auth/dto/api-key-token.input'; -import { ValidatePasswordResetToken } from 'src/engine/modules/auth/dto/validate-password-reset-token.entity'; -import { TransientToken } from 'src/engine/modules/auth/dto/transient-token.entity'; -import { UserService } from 'src/engine/modules/user/services/user.service'; -import { ValidatePasswordResetTokenInput } from 'src/engine/modules/auth/dto/validate-password-reset-token.input'; -import { UpdatePasswordViaResetTokenInput } from 'src/engine/modules/auth/dto/update-password-via-reset-token.input'; -import { EmailPasswordResetLink } from 'src/engine/modules/auth/dto/email-password-reset-link.entity'; -import { InvalidatePassword } from 'src/engine/modules/auth/dto/invalidate-password.entity'; -import { EmailPasswordResetLinkInput } from 'src/engine/modules/auth/dto/email-password-reset-link.input'; -import { GenerateJwtInput } from 'src/engine/modules/auth/dto/generate-jwt.input'; -import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { ApiKeyTokenInput } from 'src/engine/core-modules/auth/dto/api-key-token.input'; +import { ValidatePasswordResetToken } from 'src/engine/core-modules/auth/dto/validate-password-reset-token.entity'; +import { TransientToken } from 'src/engine/core-modules/auth/dto/transient-token.entity'; +import { UserService } from 'src/engine/core-modules/user/services/user.service'; +import { ValidatePasswordResetTokenInput } from 'src/engine/core-modules/auth/dto/validate-password-reset-token.input'; +import { UpdatePasswordViaResetTokenInput } from 'src/engine/core-modules/auth/dto/update-password-via-reset-token.input'; +import { EmailPasswordResetLink } from 'src/engine/core-modules/auth/dto/email-password-reset-link.entity'; +import { InvalidatePassword } from 'src/engine/core-modules/auth/dto/invalidate-password.entity'; +import { EmailPasswordResetLinkInput } from 'src/engine/core-modules/auth/dto/email-password-reset-link.input'; +import { GenerateJwtInput } from 'src/engine/core-modules/auth/dto/generate-jwt.input'; +import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service'; import { ApiKeyToken, AuthTokens } from './dto/token.entity'; import { TokenService } from './services/token.service'; diff --git a/packages/twenty-server/src/engine/modules/auth/auth.util.ts b/packages/twenty-server/src/engine/core-modules/auth/auth.util.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/auth.util.ts rename to packages/twenty-server/src/engine/core-modules/auth/auth.util.ts diff --git a/packages/twenty-server/src/engine/modules/auth/controllers/google-apis-auth.controller.ts b/packages/twenty-server/src/engine/core-modules/auth/controllers/google-apis-auth.controller.ts similarity index 77% rename from packages/twenty-server/src/engine/modules/auth/controllers/google-apis-auth.controller.ts rename to packages/twenty-server/src/engine/core-modules/auth/controllers/google-apis-auth.controller.ts index 7cdb6279e8..9ae6f4c707 100644 --- a/packages/twenty-server/src/engine/modules/auth/controllers/google-apis-auth.controller.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/controllers/google-apis-auth.controller.ts @@ -2,11 +2,11 @@ import { Controller, Get, Req, Res, UseGuards } from '@nestjs/common'; import { Response } from 'express'; -import { GoogleAPIsProviderEnabledGuard } from 'src/engine/modules/auth/guards/google-apis-provider-enabled.guard'; -import { GoogleAPIsOauthGuard } from 'src/engine/modules/auth/guards/google-apis-oauth.guard'; -import { GoogleAPIsRequest } from 'src/engine/modules/auth/strategies/google-apis.auth.strategy'; -import { GoogleAPIsService } from 'src/engine/modules/auth/services/google-apis.service'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { GoogleAPIsProviderEnabledGuard } from 'src/engine/core-modules/auth/guards/google-apis-provider-enabled.guard'; +import { GoogleAPIsOauthGuard } from 'src/engine/core-modules/auth/guards/google-apis-oauth.guard'; +import { GoogleAPIsRequest } from 'src/engine/core-modules/auth/strategies/google-apis.auth.strategy'; +import { GoogleAPIsService } from 'src/engine/core-modules/auth/services/google-apis.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Controller('auth/google-apis') diff --git a/packages/twenty-server/src/engine/modules/auth/controllers/google-auth.controller.ts b/packages/twenty-server/src/engine/core-modules/auth/controllers/google-auth.controller.ts similarity index 76% rename from packages/twenty-server/src/engine/modules/auth/controllers/google-auth.controller.ts rename to packages/twenty-server/src/engine/core-modules/auth/controllers/google-auth.controller.ts index df736e6fa2..99aeeefeb5 100644 --- a/packages/twenty-server/src/engine/modules/auth/controllers/google-auth.controller.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/controllers/google-auth.controller.ts @@ -4,13 +4,13 @@ import { InjectRepository } from '@nestjs/typeorm'; import { Response } from 'express'; import { Repository } from 'typeorm'; -import { GoogleRequest } from 'src/engine/modules/auth/strategies/google.auth.strategy'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; -import { GoogleProviderEnabledGuard } from 'src/engine/modules/auth/guards/google-provider-enabled.guard'; -import { GoogleOauthGuard } from 'src/engine/modules/auth/guards/google-oauth.guard'; -import { User } from 'src/engine/modules/user/user.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { AuthService } from 'src/engine/modules/auth/services/auth.service'; +import { GoogleRequest } from 'src/engine/core-modules/auth/strategies/google.auth.strategy'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; +import { GoogleProviderEnabledGuard } from 'src/engine/core-modules/auth/guards/google-provider-enabled.guard'; +import { GoogleOauthGuard } from 'src/engine/core-modules/auth/guards/google-oauth.guard'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { AuthService } from 'src/engine/core-modules/auth/services/auth.service'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; diff --git a/packages/twenty-server/src/engine/modules/auth/controllers/google-gmail-auth.controller.ts b/packages/twenty-server/src/engine/core-modules/auth/controllers/google-gmail-auth.controller.ts similarity index 77% rename from packages/twenty-server/src/engine/modules/auth/controllers/google-gmail-auth.controller.ts rename to packages/twenty-server/src/engine/core-modules/auth/controllers/google-gmail-auth.controller.ts index a5cc294aa2..03df019d60 100644 --- a/packages/twenty-server/src/engine/modules/auth/controllers/google-gmail-auth.controller.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/controllers/google-gmail-auth.controller.ts @@ -2,11 +2,11 @@ import { Controller, Get, Req, Res, UseGuards } from '@nestjs/common'; import { Response } from 'express'; -import { GoogleAPIsOauthGuard } from 'src/engine/modules/auth/guards/google-apis-oauth.guard'; -import { GoogleAPIsProviderEnabledGuard } from 'src/engine/modules/auth/guards/google-apis-provider-enabled.guard'; -import { GoogleAPIsService } from 'src/engine/modules/auth/services/google-apis.service'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; -import { GoogleAPIsRequest } from 'src/engine/modules/auth/strategies/google-apis.auth.strategy'; +import { GoogleAPIsOauthGuard } from 'src/engine/core-modules/auth/guards/google-apis-oauth.guard'; +import { GoogleAPIsProviderEnabledGuard } from 'src/engine/core-modules/auth/guards/google-apis-provider-enabled.guard'; +import { GoogleAPIsService } from 'src/engine/core-modules/auth/services/google-apis.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; +import { GoogleAPIsRequest } from 'src/engine/core-modules/auth/strategies/google-apis.auth.strategy'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Controller('auth/google-gmail') diff --git a/packages/twenty-server/src/engine/modules/auth/controllers/verify-auth.controller.spec.ts b/packages/twenty-server/src/engine/core-modules/auth/controllers/verify-auth.controller.spec.ts similarity index 80% rename from packages/twenty-server/src/engine/modules/auth/controllers/verify-auth.controller.spec.ts rename to packages/twenty-server/src/engine/core-modules/auth/controllers/verify-auth.controller.spec.ts index 8c205fc57d..0aef1bea10 100644 --- a/packages/twenty-server/src/engine/modules/auth/controllers/verify-auth.controller.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/controllers/verify-auth.controller.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { AuthService } from 'src/engine/modules/auth/services/auth.service'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { AuthService } from 'src/engine/core-modules/auth/services/auth.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; import { VerifyAuthController } from './verify-auth.controller'; diff --git a/packages/twenty-server/src/engine/modules/auth/controllers/verify-auth.controller.ts b/packages/twenty-server/src/engine/core-modules/auth/controllers/verify-auth.controller.ts similarity index 61% rename from packages/twenty-server/src/engine/modules/auth/controllers/verify-auth.controller.ts rename to packages/twenty-server/src/engine/core-modules/auth/controllers/verify-auth.controller.ts index 5bedbe9e78..68d6808450 100644 --- a/packages/twenty-server/src/engine/modules/auth/controllers/verify-auth.controller.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/controllers/verify-auth.controller.ts @@ -1,9 +1,9 @@ import { Body, Controller, Post } from '@nestjs/common'; -import { AuthService } from 'src/engine/modules/auth/services/auth.service'; -import { VerifyInput } from 'src/engine/modules/auth/dto/verify.input'; -import { Verify } from 'src/engine/modules/auth/dto/verify.entity'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { AuthService } from 'src/engine/core-modules/auth/services/auth.service'; +import { VerifyInput } from 'src/engine/core-modules/auth/dto/verify.input'; +import { Verify } from 'src/engine/core-modules/auth/dto/verify.entity'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; @Controller('auth/verify') export class VerifyAuthController { diff --git a/packages/twenty-server/src/engine/modules/auth/dto/api-key-token.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/api-key-token.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/api-key-token.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/api-key-token.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/challenge.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/challenge.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/challenge.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/challenge.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/email-password-reset-link.entity.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/email-password-reset-link.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/email-password-reset-link.entity.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/email-password-reset-link.entity.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/email-password-reset-link.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/email-password-reset-link.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/email-password-reset-link.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/email-password-reset-link.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/generate-jwt.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/generate-jwt.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/generate-jwt.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/generate-jwt.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/impersonate.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/impersonate.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/impersonate.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/impersonate.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/invalidate-password.entity.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/invalidate-password.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/invalidate-password.entity.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/invalidate-password.entity.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/login-token.entity.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/login-token.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/login-token.entity.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/login-token.entity.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/password-reset-token.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/password-reset-token.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/password-reset-token.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/password-reset-token.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/refresh-token.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/refresh-token.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/refresh-token.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/refresh-token.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/save-connected-account.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/save-connected-account.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/save-connected-account.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/save-connected-account.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/sign-up.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/sign-up.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/sign-up.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/sign-up.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/token.entity.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/token.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/token.entity.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/token.entity.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/transient-token.entity.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/transient-token.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/transient-token.entity.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/transient-token.entity.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/update-password-via-reset-token.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/update-password-via-reset-token.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/update-password-via-reset-token.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/update-password-via-reset-token.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/update-password.entity.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/update-password.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/update-password.entity.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/update-password.entity.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/user-exists.entity.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/user-exists.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/user-exists.entity.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/user-exists.entity.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/user-exists.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/user-exists.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/user-exists.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/user-exists.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/validate-password-reset-token.entity.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/validate-password-reset-token.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/validate-password-reset-token.entity.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/validate-password-reset-token.entity.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/validate-password-reset-token.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/validate-password-reset-token.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/validate-password-reset-token.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/validate-password-reset-token.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/verify.entity.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/verify.entity.ts similarity index 76% rename from packages/twenty-server/src/engine/modules/auth/dto/verify.entity.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/verify.entity.ts index 2ad7b1aa97..5dc9b2ff01 100644 --- a/packages/twenty-server/src/engine/modules/auth/dto/verify.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/dto/verify.entity.ts @@ -1,6 +1,6 @@ import { Field, ObjectType } from '@nestjs/graphql'; -import { User } from 'src/engine/modules/user/user.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { AuthTokens } from './token.entity'; diff --git a/packages/twenty-server/src/engine/modules/auth/dto/verify.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/verify.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/verify.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/verify.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/workspace-invite-hash-valid.entity.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/workspace-invite-hash-valid.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/workspace-invite-hash-valid.entity.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/workspace-invite-hash-valid.entity.ts diff --git a/packages/twenty-server/src/engine/modules/auth/dto/workspace-invite-hash.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/workspace-invite-hash.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/dto/workspace-invite-hash.input.ts rename to packages/twenty-server/src/engine/core-modules/auth/dto/workspace-invite-hash.input.ts diff --git a/packages/twenty-server/src/engine/modules/auth/guards/google-apis-oauth.guard.ts b/packages/twenty-server/src/engine/core-modules/auth/guards/google-apis-oauth.guard.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/guards/google-apis-oauth.guard.ts rename to packages/twenty-server/src/engine/core-modules/auth/guards/google-apis-oauth.guard.ts diff --git a/packages/twenty-server/src/engine/modules/auth/guards/google-apis-provider-enabled.guard.ts b/packages/twenty-server/src/engine/core-modules/auth/guards/google-apis-provider-enabled.guard.ts similarity index 87% rename from packages/twenty-server/src/engine/modules/auth/guards/google-apis-provider-enabled.guard.ts rename to packages/twenty-server/src/engine/core-modules/auth/guards/google-apis-provider-enabled.guard.ts index 50792c44d0..23b4a0b986 100644 --- a/packages/twenty-server/src/engine/modules/auth/guards/google-apis-provider-enabled.guard.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/guards/google-apis-provider-enabled.guard.ts @@ -2,7 +2,7 @@ import { Injectable, CanActivate, NotFoundException } from '@nestjs/common'; import { Observable } from 'rxjs'; -import { GoogleAPIsStrategy } from 'src/engine/modules/auth/strategies/google-apis.auth.strategy'; +import { GoogleAPIsStrategy } from 'src/engine/core-modules/auth/strategies/google-apis.auth.strategy'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Injectable() diff --git a/packages/twenty-server/src/engine/modules/auth/guards/google-gmail-provider-enabled.guard.ts b/packages/twenty-server/src/engine/core-modules/auth/guards/google-gmail-provider-enabled.guard.ts similarity index 86% rename from packages/twenty-server/src/engine/modules/auth/guards/google-gmail-provider-enabled.guard.ts rename to packages/twenty-server/src/engine/core-modules/auth/guards/google-gmail-provider-enabled.guard.ts index a6c88275d4..2956601f29 100644 --- a/packages/twenty-server/src/engine/modules/auth/guards/google-gmail-provider-enabled.guard.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/guards/google-gmail-provider-enabled.guard.ts @@ -2,7 +2,7 @@ import { Injectable, CanActivate, NotFoundException } from '@nestjs/common'; import { Observable } from 'rxjs'; -import { GoogleAPIsStrategy } from 'src/engine/modules/auth/strategies/google-apis.auth.strategy'; +import { GoogleAPIsStrategy } from 'src/engine/core-modules/auth/strategies/google-apis.auth.strategy'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Injectable() diff --git a/packages/twenty-server/src/engine/modules/auth/guards/google-oauth.guard.ts b/packages/twenty-server/src/engine/core-modules/auth/guards/google-oauth.guard.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/guards/google-oauth.guard.ts rename to packages/twenty-server/src/engine/core-modules/auth/guards/google-oauth.guard.ts diff --git a/packages/twenty-server/src/engine/modules/auth/guards/google-provider-enabled.guard.ts b/packages/twenty-server/src/engine/core-modules/auth/guards/google-provider-enabled.guard.ts similarity index 87% rename from packages/twenty-server/src/engine/modules/auth/guards/google-provider-enabled.guard.ts rename to packages/twenty-server/src/engine/core-modules/auth/guards/google-provider-enabled.guard.ts index feedac845f..f1a7eaf556 100644 --- a/packages/twenty-server/src/engine/modules/auth/guards/google-provider-enabled.guard.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/guards/google-provider-enabled.guard.ts @@ -3,7 +3,7 @@ import { Injectable, CanActivate, NotFoundException } from '@nestjs/common'; import { Observable } from 'rxjs'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { GoogleStrategy } from 'src/engine/modules/auth/strategies/google.auth.strategy'; +import { GoogleStrategy } from 'src/engine/core-modules/auth/strategies/google.auth.strategy'; @Injectable() export class GoogleProviderEnabledGuard implements CanActivate { diff --git a/packages/twenty-server/src/engine/modules/auth/services/auth.service.spec.ts b/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.spec.ts similarity index 82% rename from packages/twenty-server/src/engine/modules/auth/services/auth.service.spec.ts rename to packages/twenty-server/src/engine/core-modules/auth/services/auth.service.spec.ts index 70ce4b8ebc..4a6b6ad510 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/auth.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.spec.ts @@ -1,13 +1,13 @@ import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { UserService } from 'src/engine/modules/user/services/user.service'; +import { UserService } from 'src/engine/core-modules/user/services/user.service'; import { WorkspaceManagerService } from 'src/engine/workspace-manager/workspace-manager.service'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { User } from 'src/engine/modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { EmailService } from 'src/engine/integrations/email/email.service'; -import { SignUpService } from 'src/engine/modules/auth/services/sign-up.service'; +import { SignUpService } from 'src/engine/core-modules/auth/services/sign-up.service'; import { AuthService } from './auth.service'; import { TokenService } from './token.service'; diff --git a/packages/twenty-server/src/engine/modules/auth/services/auth.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts similarity index 86% rename from packages/twenty-server/src/engine/modules/auth/services/auth.service.ts rename to packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts index ad16d1d4f8..0a158e5dd5 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/auth.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts @@ -10,23 +10,23 @@ import { Repository } from 'typeorm'; import { render } from '@react-email/components'; import { PasswordUpdateNotifyEmail } from 'twenty-emails'; -import { ChallengeInput } from 'src/engine/modules/auth/dto/challenge.input'; +import { ChallengeInput } from 'src/engine/core-modules/auth/dto/challenge.input'; import { assert } from 'src/utils/assert'; import { PASSWORD_REGEX, compareHash, hashPassword, -} from 'src/engine/modules/auth/auth.util'; -import { Verify } from 'src/engine/modules/auth/dto/verify.entity'; -import { UserExists } from 'src/engine/modules/auth/dto/user-exists.entity'; -import { WorkspaceInviteHashValid } from 'src/engine/modules/auth/dto/workspace-invite-hash-valid.entity'; -import { User } from 'src/engine/modules/user/user.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { UserService } from 'src/engine/modules/user/services/user.service'; +} from 'src/engine/core-modules/auth/auth.util'; +import { Verify } from 'src/engine/core-modules/auth/dto/verify.entity'; +import { UserExists } from 'src/engine/core-modules/auth/dto/user-exists.entity'; +import { WorkspaceInviteHashValid } from 'src/engine/core-modules/auth/dto/workspace-invite-hash-valid.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { UserService } from 'src/engine/core-modules/user/services/user.service'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { EmailService } from 'src/engine/integrations/email/email.service'; -import { UpdatePassword } from 'src/engine/modules/auth/dto/update-password.entity'; -import { SignUpService } from 'src/engine/modules/auth/services/sign-up.service'; +import { UpdatePassword } from 'src/engine/core-modules/auth/dto/update-password.entity'; +import { SignUpService } from 'src/engine/core-modules/auth/services/sign-up.service'; import { TokenService } from './token.service'; diff --git a/packages/twenty-server/src/engine/modules/auth/services/google-apis.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts similarity index 94% rename from packages/twenty-server/src/engine/modules/auth/services/google-apis.service.ts rename to packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts index 19fd0aab17..93d0eb5027 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/google-apis.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts @@ -4,9 +4,9 @@ import { InjectRepository } from '@nestjs/typeorm'; import { v4 } from 'uuid'; import { Repository } from 'typeorm'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { SaveConnectedAccountInput } from 'src/engine/modules/auth/dto/save-connected-account'; +import { SaveConnectedAccountInput } from 'src/engine/core-modules/auth/dto/save-connected-account'; import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { @@ -21,7 +21,7 @@ import { EnvironmentService } from 'src/engine/integrations/environment/environm import { FeatureFlagEntity, FeatureFlagKeys, -} from 'src/engine/modules/feature-flag/feature-flag.entity'; +} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; @Injectable() export class GoogleAPIsService { diff --git a/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.spec.ts b/packages/twenty-server/src/engine/core-modules/auth/services/sign-up.service.spec.ts similarity index 72% rename from packages/twenty-server/src/engine/modules/auth/services/sign-up.service.spec.ts rename to packages/twenty-server/src/engine/core-modules/auth/services/sign-up.service.spec.ts index af3b2ea6cc..f453ce7f6e 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/sign-up.service.spec.ts @@ -2,12 +2,12 @@ import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; import { HttpService } from '@nestjs/axios'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { User } from 'src/engine/modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { SignUpService } from 'src/engine/modules/auth/services/sign-up.service'; -import { FileUploadService } from 'src/engine/modules/file/file-upload/services/file-upload.service'; -import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; +import { SignUpService } from 'src/engine/core-modules/auth/services/sign-up.service'; +import { FileUploadService } from 'src/engine/core-modules/file/file-upload/services/file-upload.service'; +import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service'; describe('SignUpService', () => { let service: SignUpService; diff --git a/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/sign-up.service.ts similarity index 92% rename from packages/twenty-server/src/engine/modules/auth/services/sign-up.service.ts rename to packages/twenty-server/src/engine/core-modules/auth/services/sign-up.service.ts index 9c49e61be7..71f0b390cf 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/sign-up.service.ts @@ -10,19 +10,19 @@ import { Repository } from 'typeorm'; import { v4 } from 'uuid'; import FileType from 'file-type'; -import { FileFolder } from 'src/engine/modules/file/interfaces/file-folder.interface'; +import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; import { assert } from 'src/utils/assert'; import { PASSWORD_REGEX, hashPassword, -} from 'src/engine/modules/auth/auth.util'; -import { User } from 'src/engine/modules/user/user.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { FileUploadService } from 'src/engine/modules/file/file-upload/services/file-upload.service'; +} from 'src/engine/core-modules/auth/auth.util'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { FileUploadService } from 'src/engine/core-modules/file/file-upload/services/file-upload.service'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { getImageBufferFromUrl } from 'src/utils/image'; -import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; +import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service'; export type SignUpServiceInput = { email: string; diff --git a/packages/twenty-server/src/engine/modules/auth/services/token.service.spec.ts b/packages/twenty-server/src/engine/core-modules/auth/services/token.service.spec.ts similarity index 80% rename from packages/twenty-server/src/engine/modules/auth/services/token.service.spec.ts rename to packages/twenty-server/src/engine/core-modules/auth/services/token.service.spec.ts index 697359de9a..fdcad03f6a 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/token.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/token.service.spec.ts @@ -3,11 +3,11 @@ import { JwtService } from '@nestjs/jwt'; import { getRepositoryToken } from '@nestjs/typeorm'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { RefreshToken } from 'src/engine/modules/refresh-token/refresh-token.entity'; -import { User } from 'src/engine/modules/user/user.entity'; -import { JwtAuthStrategy } from 'src/engine/modules/auth/strategies/jwt.auth.strategy'; +import { RefreshToken } from 'src/engine/core-modules/refresh-token/refresh-token.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { JwtAuthStrategy } from 'src/engine/core-modules/auth/strategies/jwt.auth.strategy'; import { EmailService } from 'src/engine/integrations/email/email.service'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { TokenService } from './token.service'; diff --git a/packages/twenty-server/src/engine/modules/auth/services/token.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/token.service.ts similarity index 94% rename from packages/twenty-server/src/engine/modules/auth/services/token.service.ts rename to packages/twenty-server/src/engine/core-modules/auth/services/token.service.ts index 76ac9e9d70..2ab049d23b 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/token.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/token.service.ts @@ -24,23 +24,23 @@ import { PasswordResetLinkEmail } from 'twenty-emails'; import { JwtAuthStrategy, JwtPayload, -} from 'src/engine/modules/auth/strategies/jwt.auth.strategy'; +} from 'src/engine/core-modules/auth/strategies/jwt.auth.strategy'; import { assert } from 'src/utils/assert'; import { ApiKeyToken, AuthToken, AuthTokens, PasswordResetToken, -} from 'src/engine/modules/auth/dto/token.entity'; +} from 'src/engine/core-modules/auth/dto/token.entity'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { User } from 'src/engine/modules/user/user.entity'; -import { RefreshToken } from 'src/engine/modules/refresh-token/refresh-token.entity'; -import { ValidatePasswordResetToken } from 'src/engine/modules/auth/dto/validate-password-reset-token.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { RefreshToken } from 'src/engine/core-modules/refresh-token/refresh-token.entity'; +import { ValidatePasswordResetToken } from 'src/engine/core-modules/auth/dto/validate-password-reset-token.entity'; import { EmailService } from 'src/engine/integrations/email/email.service'; -import { InvalidatePassword } from 'src/engine/modules/auth/dto/invalidate-password.entity'; -import { EmailPasswordResetLink } from 'src/engine/modules/auth/dto/email-password-reset-link.entity'; -import { JwtData } from 'src/engine/modules/auth/types/jwt-data.type'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { InvalidatePassword } from 'src/engine/core-modules/auth/dto/invalidate-password.entity'; +import { EmailPasswordResetLink } from 'src/engine/core-modules/auth/dto/email-password-reset-link.entity'; +import { JwtData } from 'src/engine/core-modules/auth/types/jwt-data.type'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; @Injectable() export class TokenService { diff --git a/packages/twenty-server/src/engine/modules/auth/strategies/google-apis.auth.strategy.ts b/packages/twenty-server/src/engine/core-modules/auth/strategies/google-apis.auth.strategy.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/strategies/google-apis.auth.strategy.ts rename to packages/twenty-server/src/engine/core-modules/auth/strategies/google-apis.auth.strategy.ts diff --git a/packages/twenty-server/src/engine/modules/auth/strategies/google.auth.strategy.ts b/packages/twenty-server/src/engine/core-modules/auth/strategies/google.auth.strategy.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/auth/strategies/google.auth.strategy.ts rename to packages/twenty-server/src/engine/core-modules/auth/strategies/google.auth.strategy.ts diff --git a/packages/twenty-server/src/engine/modules/auth/strategies/jwt.auth.strategy.ts b/packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts similarity index 91% rename from packages/twenty-server/src/engine/modules/auth/strategies/jwt.auth.strategy.ts rename to packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts index f097a6513b..8e1b7b6e2f 100644 --- a/packages/twenty-server/src/engine/modules/auth/strategies/jwt.auth.strategy.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts @@ -11,10 +11,10 @@ import { Repository } from 'typeorm'; import { assert } from 'src/utils/assert'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { User } from 'src/engine/modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; export type JwtPayload = { sub: string; workspaceId: string; jti?: string }; export type PassportUser = { user?: User; workspace: Workspace }; diff --git a/packages/twenty-server/src/engine/core-modules/auth/types/jwt-data.type.ts b/packages/twenty-server/src/engine/core-modules/auth/types/jwt-data.type.ts new file mode 100644 index 0000000000..3c24db8de8 --- /dev/null +++ b/packages/twenty-server/src/engine/core-modules/auth/types/jwt-data.type.ts @@ -0,0 +1,7 @@ +import { User } from 'src/engine/core-modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; + +export type JwtData = { + user?: User | undefined; + workspace: Workspace; +}; diff --git a/packages/twenty-server/src/engine/modules/billing/billing.controller.ts b/packages/twenty-server/src/engine/core-modules/billing/billing.controller.ts similarity index 90% rename from packages/twenty-server/src/engine/modules/billing/billing.controller.ts rename to packages/twenty-server/src/engine/core-modules/billing/billing.controller.ts index 0587eb45f9..775604f7d2 100644 --- a/packages/twenty-server/src/engine/modules/billing/billing.controller.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/billing.controller.ts @@ -13,8 +13,8 @@ import { Response } from 'express'; import { BillingService, WebhookEvent, -} from 'src/engine/modules/billing/billing.service'; -import { StripeService } from 'src/engine/modules/billing/stripe/stripe.service'; +} from 'src/engine/core-modules/billing/billing.service'; +import { StripeService } from 'src/engine/core-modules/billing/stripe/stripe.service'; @Controller('billing') export class BillingController { diff --git a/packages/twenty-server/src/engine/core-modules/billing/billing.module.ts b/packages/twenty-server/src/engine/core-modules/billing/billing.module.ts new file mode 100644 index 0000000000..4be921b78c --- /dev/null +++ b/packages/twenty-server/src/engine/core-modules/billing/billing.module.ts @@ -0,0 +1,27 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; + +import { BillingController } from 'src/engine/core-modules/billing/billing.controller'; +import { BillingService } from 'src/engine/core-modules/billing/billing.service'; +import { StripeModule } from 'src/engine/core-modules/billing/stripe/stripe.module'; +import { BillingSubscription } from 'src/engine/core-modules/billing/entities/billing-subscription.entity'; +import { BillingSubscriptionItem } from 'src/engine/core-modules/billing/entities/billing-subscription-item.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { BillingResolver } from 'src/engine/core-modules/billing/billing.resolver'; +import { BillingWorkspaceMemberListener } from 'src/engine/core-modules/billing/listeners/billing-workspace-member.listener'; +import { UserWorkspaceModule } from 'src/engine/core-modules/user-workspace/user-workspace.module'; + +@Module({ + imports: [ + StripeModule, + UserWorkspaceModule, + TypeOrmModule.forFeature( + [BillingSubscription, BillingSubscriptionItem, Workspace], + 'core', + ), + ], + controllers: [BillingController], + providers: [BillingService, BillingResolver, BillingWorkspaceMemberListener], + exports: [BillingService], +}) +export class BillingModule {} diff --git a/packages/twenty-server/src/engine/modules/billing/billing.resolver.ts b/packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts similarity index 80% rename from packages/twenty-server/src/engine/modules/billing/billing.resolver.ts rename to packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts index e031d6d902..0050a65766 100644 --- a/packages/twenty-server/src/engine/modules/billing/billing.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts @@ -4,16 +4,16 @@ import { UseGuards } from '@nestjs/common'; import { AvailableProduct, BillingService, -} from 'src/engine/modules/billing/billing.service'; -import { ProductInput } from 'src/engine/modules/billing/dto/product.input'; +} from 'src/engine/core-modules/billing/billing.service'; +import { ProductInput } from 'src/engine/core-modules/billing/dto/product.input'; import { assert } from 'src/utils/assert'; -import { ProductPricesEntity } from 'src/engine/modules/billing/dto/product-prices.entity'; +import { ProductPricesEntity } from 'src/engine/core-modules/billing/dto/product-prices.entity'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; import { AuthUser } from 'src/engine/decorators/auth/auth-user.decorator'; -import { User } from 'src/engine/modules/user/user.entity'; -import { CheckoutSessionInput } from 'src/engine/modules/billing/dto/checkout-session.input'; -import { SessionEntity } from 'src/engine/modules/billing/dto/session.entity'; -import { BillingSessionInput } from 'src/engine/modules/billing/dto/billing-session.input'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { CheckoutSessionInput } from 'src/engine/core-modules/billing/dto/checkout-session.input'; +import { SessionEntity } from 'src/engine/core-modules/billing/dto/session.entity'; +import { BillingSessionInput } from 'src/engine/core-modules/billing/dto/billing-session.input'; @Resolver() export class BillingResolver { diff --git a/packages/twenty-server/src/engine/modules/billing/billing.service.ts b/packages/twenty-server/src/engine/core-modules/billing/billing.service.ts similarity index 92% rename from packages/twenty-server/src/engine/modules/billing/billing.service.ts rename to packages/twenty-server/src/engine/core-modules/billing/billing.service.ts index b15c0f3d6c..f95580085c 100644 --- a/packages/twenty-server/src/engine/modules/billing/billing.service.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/billing.service.ts @@ -5,14 +5,14 @@ import Stripe from 'stripe'; import { Not, Repository } from 'typeorm'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { StripeService } from 'src/engine/modules/billing/stripe/stripe.service'; -import { BillingSubscription } from 'src/engine/modules/billing/entities/billing-subscription.entity'; -import { BillingSubscriptionItem } from 'src/engine/modules/billing/entities/billing-subscription-item.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { ProductPriceEntity } from 'src/engine/modules/billing/dto/product-price.entity'; -import { User } from 'src/engine/modules/user/user.entity'; +import { StripeService } from 'src/engine/core-modules/billing/stripe/stripe.service'; +import { BillingSubscription } from 'src/engine/core-modules/billing/entities/billing-subscription.entity'; +import { BillingSubscriptionItem } from 'src/engine/core-modules/billing/entities/billing-subscription-item.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { ProductPriceEntity } from 'src/engine/core-modules/billing/dto/product-price.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { assert } from 'src/utils/assert'; -import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; +import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service'; export enum AvailableProduct { BasePlan = 'base-plan', diff --git a/packages/twenty-server/src/engine/modules/billing/dto/billing-session.input.ts b/packages/twenty-server/src/engine/core-modules/billing/dto/billing-session.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/billing/dto/billing-session.input.ts rename to packages/twenty-server/src/engine/core-modules/billing/dto/billing-session.input.ts diff --git a/packages/twenty-server/src/engine/modules/billing/dto/checkout-session.input.ts b/packages/twenty-server/src/engine/core-modules/billing/dto/checkout-session.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/billing/dto/checkout-session.input.ts rename to packages/twenty-server/src/engine/core-modules/billing/dto/checkout-session.input.ts diff --git a/packages/twenty-server/src/engine/modules/billing/dto/product-price.entity.ts b/packages/twenty-server/src/engine/core-modules/billing/dto/product-price.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/billing/dto/product-price.entity.ts rename to packages/twenty-server/src/engine/core-modules/billing/dto/product-price.entity.ts diff --git a/packages/twenty-server/src/engine/modules/billing/dto/product-prices.entity.ts b/packages/twenty-server/src/engine/core-modules/billing/dto/product-prices.entity.ts similarity index 71% rename from packages/twenty-server/src/engine/modules/billing/dto/product-prices.entity.ts rename to packages/twenty-server/src/engine/core-modules/billing/dto/product-prices.entity.ts index 16a7011b87..02efc41749 100644 --- a/packages/twenty-server/src/engine/modules/billing/dto/product-prices.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/dto/product-prices.entity.ts @@ -1,6 +1,6 @@ import { Field, Int, ObjectType } from '@nestjs/graphql'; -import { ProductPriceEntity } from 'src/engine/modules/billing/dto/product-price.entity'; +import { ProductPriceEntity } from 'src/engine/core-modules/billing/dto/product-price.entity'; @ObjectType() export class ProductPricesEntity { diff --git a/packages/twenty-server/src/engine/modules/billing/dto/product.input.ts b/packages/twenty-server/src/engine/core-modules/billing/dto/product.input.ts similarity index 73% rename from packages/twenty-server/src/engine/modules/billing/dto/product.input.ts rename to packages/twenty-server/src/engine/core-modules/billing/dto/product.input.ts index d13058c9fe..089d18ba0e 100644 --- a/packages/twenty-server/src/engine/modules/billing/dto/product.input.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/dto/product.input.ts @@ -2,7 +2,7 @@ import { ArgsType, Field } from '@nestjs/graphql'; import { IsNotEmpty, IsString } from 'class-validator'; -import { AvailableProduct } from 'src/engine/modules/billing/billing.service'; +import { AvailableProduct } from 'src/engine/core-modules/billing/billing.service'; @ArgsType() export class ProductInput { diff --git a/packages/twenty-server/src/engine/modules/billing/dto/session.entity.ts b/packages/twenty-server/src/engine/core-modules/billing/dto/session.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/billing/dto/session.entity.ts rename to packages/twenty-server/src/engine/core-modules/billing/dto/session.entity.ts diff --git a/packages/twenty-server/src/engine/modules/billing/entities/billing-subscription-item.entity.ts b/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription-item.entity.ts similarity index 92% rename from packages/twenty-server/src/engine/modules/billing/entities/billing-subscription-item.entity.ts rename to packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription-item.entity.ts index 871f2a1b34..648d0ade5b 100644 --- a/packages/twenty-server/src/engine/modules/billing/entities/billing-subscription-item.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription-item.entity.ts @@ -8,7 +8,7 @@ import { UpdateDateColumn, } from 'typeorm'; -import { BillingSubscription } from 'src/engine/modules/billing/entities/billing-subscription.entity'; +import { BillingSubscription } from 'src/engine/core-modules/billing/entities/billing-subscription.entity'; @Entity({ name: 'billingSubscriptionItem', schema: 'core' }) @Unique('IndexOnBillingSubscriptionIdAndStripeProductIdUnique', [ diff --git a/packages/twenty-server/src/engine/modules/billing/entities/billing-subscription.entity.ts b/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription.entity.ts similarity index 87% rename from packages/twenty-server/src/engine/modules/billing/entities/billing-subscription.entity.ts rename to packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription.entity.ts index 48b47f123c..4a6a7c046d 100644 --- a/packages/twenty-server/src/engine/modules/billing/entities/billing-subscription.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription.entity.ts @@ -13,8 +13,8 @@ import { import Stripe from 'stripe'; import { IDField } from '@ptc-org/nestjs-query-graphql'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { BillingSubscriptionItem } from 'src/engine/modules/billing/entities/billing-subscription-item.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { BillingSubscriptionItem } from 'src/engine/core-modules/billing/entities/billing-subscription-item.entity'; @Entity({ name: 'billingSubscription', schema: 'core' }) @ObjectType('BillingSubscription') diff --git a/packages/twenty-server/src/engine/modules/billing/jobs/update-subscription.job.ts b/packages/twenty-server/src/engine/core-modules/billing/jobs/update-subscription.job.ts similarity index 84% rename from packages/twenty-server/src/engine/modules/billing/jobs/update-subscription.job.ts rename to packages/twenty-server/src/engine/core-modules/billing/jobs/update-subscription.job.ts index 486d289fd3..8dc74ab6c6 100644 --- a/packages/twenty-server/src/engine/modules/billing/jobs/update-subscription.job.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/jobs/update-subscription.job.ts @@ -2,9 +2,9 @@ import { Injectable, Logger } from '@nestjs/common'; import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { BillingService } from 'src/engine/modules/billing/billing.service'; -import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; -import { StripeService } from 'src/engine/modules/billing/stripe/stripe.service'; +import { BillingService } from 'src/engine/core-modules/billing/billing.service'; +import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service'; +import { StripeService } from 'src/engine/core-modules/billing/stripe/stripe.service'; export type UpdateSubscriptionJobData = { workspaceId: string }; @Injectable() export class UpdateSubscriptionJob diff --git a/packages/twenty-server/src/engine/modules/billing/listeners/billing-workspace-member.listener.ts b/packages/twenty-server/src/engine/core-modules/billing/listeners/billing-workspace-member.listener.ts similarity index 94% rename from packages/twenty-server/src/engine/modules/billing/listeners/billing-workspace-member.listener.ts rename to packages/twenty-server/src/engine/core-modules/billing/listeners/billing-workspace-member.listener.ts index e9f982c4f7..e31a7b5928 100644 --- a/packages/twenty-server/src/engine/modules/billing/listeners/billing-workspace-member.listener.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/listeners/billing-workspace-member.listener.ts @@ -8,7 +8,7 @@ import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/stan import { UpdateSubscriptionJob, UpdateSubscriptionJobData, -} from 'src/engine/modules/billing/jobs/update-subscription.job'; +} from 'src/engine/core-modules/billing/jobs/update-subscription.job'; @Injectable() export class BillingWorkspaceMemberListener { diff --git a/packages/twenty-server/src/engine/modules/billing/stripe/stripe.module.ts b/packages/twenty-server/src/engine/core-modules/billing/stripe/stripe.module.ts similarity index 62% rename from packages/twenty-server/src/engine/modules/billing/stripe/stripe.module.ts rename to packages/twenty-server/src/engine/core-modules/billing/stripe/stripe.module.ts index 83eb8ec281..31d4560083 100644 --- a/packages/twenty-server/src/engine/modules/billing/stripe/stripe.module.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/stripe/stripe.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { StripeService } from 'src/engine/modules/billing/stripe/stripe.service'; +import { StripeService } from 'src/engine/core-modules/billing/stripe/stripe.service'; @Module({ providers: [StripeService], diff --git a/packages/twenty-server/src/engine/modules/billing/stripe/stripe.service.ts b/packages/twenty-server/src/engine/core-modules/billing/stripe/stripe.service.ts similarity index 97% rename from packages/twenty-server/src/engine/modules/billing/stripe/stripe.service.ts rename to packages/twenty-server/src/engine/core-modules/billing/stripe/stripe.service.ts index c4e0cefec5..be72dda1a4 100644 --- a/packages/twenty-server/src/engine/modules/billing/stripe/stripe.service.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/stripe/stripe.service.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import Stripe from 'stripe'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { User } from 'src/engine/modules/user/user.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; @Injectable() export class StripeService { diff --git a/packages/twenty-server/src/engine/modules/calendar/constants/calendar.constants.ts b/packages/twenty-server/src/engine/core-modules/calendar/constants/calendar.constants.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/calendar/constants/calendar.constants.ts rename to packages/twenty-server/src/engine/core-modules/calendar/constants/calendar.constants.ts diff --git a/packages/twenty-server/src/engine/modules/calendar/dtos/timeline-calendar-event-attendee.dto.ts b/packages/twenty-server/src/engine/core-modules/calendar/dtos/timeline-calendar-event-attendee.dto.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/calendar/dtos/timeline-calendar-event-attendee.dto.ts rename to packages/twenty-server/src/engine/core-modules/calendar/dtos/timeline-calendar-event-attendee.dto.ts diff --git a/packages/twenty-server/src/engine/modules/calendar/dtos/timeline-calendar-event.dto.ts b/packages/twenty-server/src/engine/core-modules/calendar/dtos/timeline-calendar-event.dto.ts similarity index 88% rename from packages/twenty-server/src/engine/modules/calendar/dtos/timeline-calendar-event.dto.ts rename to packages/twenty-server/src/engine/core-modules/calendar/dtos/timeline-calendar-event.dto.ts index 3d276f72e1..1ae7f9d759 100644 --- a/packages/twenty-server/src/engine/modules/calendar/dtos/timeline-calendar-event.dto.ts +++ b/packages/twenty-server/src/engine/core-modules/calendar/dtos/timeline-calendar-event.dto.ts @@ -1,6 +1,6 @@ import { ObjectType, ID, Field, registerEnumType } from '@nestjs/graphql'; -import { TimelineCalendarEventAttendee } from 'src/engine/modules/calendar/dtos/timeline-calendar-event-attendee.dto'; +import { TimelineCalendarEventAttendee } from 'src/engine/core-modules/calendar/dtos/timeline-calendar-event-attendee.dto'; export enum TimelineCalendarEventVisibility { METADATA = 'METADATA', diff --git a/packages/twenty-server/src/engine/modules/calendar/dtos/timeline-calendar-events-with-total.dto.ts b/packages/twenty-server/src/engine/core-modules/calendar/dtos/timeline-calendar-events-with-total.dto.ts similarity index 74% rename from packages/twenty-server/src/engine/modules/calendar/dtos/timeline-calendar-events-with-total.dto.ts rename to packages/twenty-server/src/engine/core-modules/calendar/dtos/timeline-calendar-events-with-total.dto.ts index 4b879c380d..10dd32a45c 100644 --- a/packages/twenty-server/src/engine/modules/calendar/dtos/timeline-calendar-events-with-total.dto.ts +++ b/packages/twenty-server/src/engine/core-modules/calendar/dtos/timeline-calendar-events-with-total.dto.ts @@ -1,6 +1,6 @@ import { Field, Int, ObjectType } from '@nestjs/graphql'; -import { TimelineCalendarEvent } from 'src/engine/modules/calendar/dtos/timeline-calendar-event.dto'; +import { TimelineCalendarEvent } from 'src/engine/core-modules/calendar/dtos/timeline-calendar-event.dto'; @ObjectType('TimelineCalendarEventsWithTotal') export class TimelineCalendarEventsWithTotal { diff --git a/packages/twenty-server/src/engine/modules/calendar/timeline-calendar-event.module.ts b/packages/twenty-server/src/engine/core-modules/calendar/timeline-calendar-event.module.ts similarity index 53% rename from packages/twenty-server/src/engine/modules/calendar/timeline-calendar-event.module.ts rename to packages/twenty-server/src/engine/core-modules/calendar/timeline-calendar-event.module.ts index 7b658e1720..917b4ee644 100644 --- a/packages/twenty-server/src/engine/modules/calendar/timeline-calendar-event.module.ts +++ b/packages/twenty-server/src/engine/core-modules/calendar/timeline-calendar-event.module.ts @@ -1,9 +1,10 @@ import { Module } from '@nestjs/common'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { UserModule } from 'src/engine/modules/user/user.module'; -import { TimelineCalendarEventResolver } from 'src/engine/modules/calendar/timeline-calendar-event.resolver'; -import { TimelineCalendarEventService } from 'src/engine/modules/calendar/timeline-calendar-event.service'; +import { UserModule } from 'src/engine/core-modules/user/user.module'; +import { TimelineCalendarEventResolver } from 'src/engine/core-modules/calendar/timeline-calendar-event.resolver'; +import { TimelineCalendarEventService } from 'src/engine/core-modules/calendar/timeline-calendar-event.service'; + @Module({ imports: [WorkspaceDataSourceModule, UserModule], exports: [], diff --git a/packages/twenty-server/src/engine/modules/calendar/timeline-calendar-event.resolver.ts b/packages/twenty-server/src/engine/core-modules/calendar/timeline-calendar-event.resolver.ts similarity index 81% rename from packages/twenty-server/src/engine/modules/calendar/timeline-calendar-event.resolver.ts rename to packages/twenty-server/src/engine/core-modules/calendar/timeline-calendar-event.resolver.ts index 1e9e176dc6..36f88baee3 100644 --- a/packages/twenty-server/src/engine/modules/calendar/timeline-calendar-event.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/calendar/timeline-calendar-event.resolver.ts @@ -11,16 +11,16 @@ import { import { Max } from 'class-validator'; -import { User } from 'src/engine/modules/user/user.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { AuthUser } from 'src/engine/decorators/auth/auth-user.decorator'; import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; -import { TIMELINE_CALENDAR_EVENTS_MAX_PAGE_SIZE } from 'src/engine/modules/calendar/constants/calendar.constants'; -import { TimelineCalendarEventsWithTotal } from 'src/engine/modules/calendar/dtos/timeline-calendar-events-with-total.dto'; -import { TimelineCalendarEventService } from 'src/engine/modules/calendar/timeline-calendar-event.service'; -import { UserService } from 'src/engine/modules/user/services/user.service'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { NotFoundError } from 'src/engine/filters/utils/graphql-errors.util'; +import { TIMELINE_CALENDAR_EVENTS_MAX_PAGE_SIZE } from 'src/engine/core-modules/calendar/constants/calendar.constants'; +import { TimelineCalendarEventsWithTotal } from 'src/engine/core-modules/calendar/dtos/timeline-calendar-events-with-total.dto'; +import { TimelineCalendarEventService } from 'src/engine/core-modules/calendar/timeline-calendar-event.service'; +import { UserService } from 'src/engine/core-modules/user/services/user.service'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { NotFoundError } from 'src/engine/utils/graphql-errors.util'; @ArgsType() class GetTimelineCalendarEventsFromPersonIdArgs { diff --git a/packages/twenty-server/src/engine/modules/calendar/timeline-calendar-event.service.ts b/packages/twenty-server/src/engine/core-modules/calendar/timeline-calendar-event.service.ts similarity index 95% rename from packages/twenty-server/src/engine/modules/calendar/timeline-calendar-event.service.ts rename to packages/twenty-server/src/engine/core-modules/calendar/timeline-calendar-event.service.ts index 85c4b0ca66..d492cbfe25 100644 --- a/packages/twenty-server/src/engine/modules/calendar/timeline-calendar-event.service.ts +++ b/packages/twenty-server/src/engine/core-modules/calendar/timeline-calendar-event.service.ts @@ -2,13 +2,13 @@ import { Injectable } from '@nestjs/common'; import groupBy from 'lodash.groupby'; -import { TIMELINE_CALENDAR_EVENTS_DEFAULT_PAGE_SIZE } from 'src/engine/modules/calendar/constants/calendar.constants'; -import { TimelineCalendarEventAttendee } from 'src/engine/modules/calendar/dtos/timeline-calendar-event-attendee.dto'; +import { TIMELINE_CALENDAR_EVENTS_DEFAULT_PAGE_SIZE } from 'src/engine/core-modules/calendar/constants/calendar.constants'; +import { TimelineCalendarEventAttendee } from 'src/engine/core-modules/calendar/dtos/timeline-calendar-event-attendee.dto'; import { TimelineCalendarEvent, TimelineCalendarEventVisibility, -} from 'src/engine/modules/calendar/dtos/timeline-calendar-event.dto'; -import { TimelineCalendarEventsWithTotal } from 'src/engine/modules/calendar/dtos/timeline-calendar-events-with-total.dto'; +} from 'src/engine/core-modules/calendar/dtos/timeline-calendar-event.dto'; +import { TimelineCalendarEventsWithTotal } from 'src/engine/core-modules/calendar/dtos/timeline-calendar-events-with-total.dto'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; import { CalendarEventAttendeeObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata'; diff --git a/packages/twenty-server/src/engine/modules/client-config/client-config.entity.ts b/packages/twenty-server/src/engine/core-modules/client-config/client-config.entity.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/client-config/client-config.entity.ts rename to packages/twenty-server/src/engine/core-modules/client-config/client-config.entity.ts diff --git a/packages/twenty-server/src/engine/modules/client-config/client-config.module.ts b/packages/twenty-server/src/engine/core-modules/client-config/client-config.module.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/client-config/client-config.module.ts rename to packages/twenty-server/src/engine/core-modules/client-config/client-config.module.ts diff --git a/packages/twenty-server/src/engine/modules/client-config/client-config.resolver.spec.ts b/packages/twenty-server/src/engine/core-modules/client-config/client-config.resolver.spec.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/client-config/client-config.resolver.spec.ts rename to packages/twenty-server/src/engine/core-modules/client-config/client-config.resolver.spec.ts diff --git a/packages/twenty-server/src/engine/modules/client-config/client-config.resolver.ts b/packages/twenty-server/src/engine/core-modules/client-config/client-config.resolver.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/client-config/client-config.resolver.ts rename to packages/twenty-server/src/engine/core-modules/client-config/client-config.resolver.ts diff --git a/packages/twenty-server/src/engine/core-modules/core-engine.module.ts b/packages/twenty-server/src/engine/core-modules/core-engine.module.ts new file mode 100644 index 0000000000..c61f55b2f8 --- /dev/null +++ b/packages/twenty-server/src/engine/core-modules/core-engine.module.ts @@ -0,0 +1,44 @@ +import { Module } from '@nestjs/common'; + +import { WorkspaceModule } from 'src/engine/core-modules/workspace/workspace.module'; +import { UserModule } from 'src/engine/core-modules/user/user.module'; +import { RefreshTokenModule } from 'src/engine/core-modules/refresh-token/refresh-token.module'; +import { AuthModule } from 'src/engine/core-modules/auth/auth.module'; +import { FeatureFlagModule } from 'src/engine/core-modules/feature-flag/feature-flag.module'; +import { OpenApiModule } from 'src/engine/core-modules/open-api/open-api.module'; +import { TimelineMessagingModule } from 'src/engine/core-modules/messaging/timeline-messaging.module'; +import { TimelineCalendarEventModule } from 'src/engine/core-modules/calendar/timeline-calendar-event.module'; +import { BillingModule } from 'src/engine/core-modules/billing/billing.module'; +import { HealthModule } from 'src/engine/core-modules/health/health.module'; + +import { AnalyticsModule } from './analytics/analytics.module'; +import { FileModule } from './file/file.module'; +import { ClientConfigModule } from './client-config/client-config.module'; + +@Module({ + imports: [ + HealthModule, + AnalyticsModule, + AuthModule, + BillingModule, + ClientConfigModule, + FeatureFlagModule, + FileModule, + OpenApiModule, + RefreshTokenModule, + TimelineMessagingModule, + TimelineCalendarEventModule, + UserModule, + WorkspaceModule, + ], + exports: [ + AnalyticsModule, + AuthModule, + FeatureFlagModule, + TimelineMessagingModule, + TimelineCalendarEventModule, + UserModule, + WorkspaceModule, + ], +}) +export class CoreEngineModule {} diff --git a/packages/twenty-server/src/engine/modules/feature-flag/feature-flag.entity.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts similarity index 93% rename from packages/twenty-server/src/engine/modules/feature-flag/feature-flag.entity.ts rename to packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts index a3ae8c2635..ae54bcb4f9 100644 --- a/packages/twenty-server/src/engine/modules/feature-flag/feature-flag.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts @@ -11,7 +11,7 @@ import { } from 'typeorm'; import { IDField } from '@ptc-org/nestjs-query-graphql'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; export enum FeatureFlagKeys { IsBlocklistEnabled = 'IS_BLOCKLIST_ENABLED', diff --git a/packages/twenty-server/src/engine/modules/feature-flag/feature-flag.module.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.module.ts similarity index 85% rename from packages/twenty-server/src/engine/modules/feature-flag/feature-flag.module.ts rename to packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.module.ts index 7dddd338d4..0b0f9bbd25 100644 --- a/packages/twenty-server/src/engine/modules/feature-flag/feature-flag.module.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.module.ts @@ -4,7 +4,7 @@ import { NestjsQueryGraphQLModule } from '@ptc-org/nestjs-query-graphql'; import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; @Module({ imports: [ diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface.ts new file mode 100644 index 0000000000..11c8cc4bbe --- /dev/null +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface.ts @@ -0,0 +1,3 @@ +import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; + +export type FeatureFlagMap = Record<`${FeatureFlagKeys}`, boolean>; diff --git a/packages/twenty-server/src/engine/modules/file/controllers/file.controller.spec.ts b/packages/twenty-server/src/engine/core-modules/file/controllers/file.controller.spec.ts similarity index 82% rename from packages/twenty-server/src/engine/modules/file/controllers/file.controller.spec.ts rename to packages/twenty-server/src/engine/core-modules/file/controllers/file.controller.spec.ts index 7005425ab3..295c89b1b1 100644 --- a/packages/twenty-server/src/engine/modules/file/controllers/file.controller.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/file/controllers/file.controller.spec.ts @@ -1,8 +1,8 @@ import { Test, TestingModule } from '@nestjs/testing'; import { CanActivate } from '@nestjs/common'; -import { FileService } from 'src/engine/modules/file/services/file.service'; -import { FilePathGuard } from 'src/engine/modules/file/guards/file-path-guard'; +import { FileService } from 'src/engine/core-modules/file/services/file.service'; +import { FilePathGuard } from 'src/engine/core-modules/file/guards/file-path-guard'; import { FileController } from './file.controller'; diff --git a/packages/twenty-server/src/engine/modules/file/controllers/file.controller.ts b/packages/twenty-server/src/engine/core-modules/file/controllers/file.controller.ts similarity index 79% rename from packages/twenty-server/src/engine/modules/file/controllers/file.controller.ts rename to packages/twenty-server/src/engine/core-modules/file/controllers/file.controller.ts index ad3547de41..39f2b8c70c 100644 --- a/packages/twenty-server/src/engine/modules/file/controllers/file.controller.ts +++ b/packages/twenty-server/src/engine/core-modules/file/controllers/file.controller.ts @@ -2,12 +2,12 @@ import { Controller, Get, Param, Res, UseGuards } from '@nestjs/common'; import { Response } from 'express'; -import { FilePathGuard } from 'src/engine/modules/file/guards/file-path-guard'; +import { FilePathGuard } from 'src/engine/core-modules/file/guards/file-path-guard'; import { checkFilePath, checkFilename, -} from 'src/engine/modules/file/file.utils'; -import { FileService } from 'src/engine/modules/file/services/file.service'; +} from 'src/engine/core-modules/file/file.utils'; +import { FileService } from 'src/engine/core-modules/file/services/file.service'; // TODO: Add cookie authentication @Controller('files') diff --git a/packages/twenty-server/src/engine/modules/file/file-upload/file-upload.module.ts b/packages/twenty-server/src/engine/core-modules/file/file-upload/file-upload.module.ts similarity index 58% rename from packages/twenty-server/src/engine/modules/file/file-upload/file-upload.module.ts rename to packages/twenty-server/src/engine/core-modules/file/file-upload/file-upload.module.ts index 4c27162db7..5af72bd7a2 100644 --- a/packages/twenty-server/src/engine/modules/file/file-upload/file-upload.module.ts +++ b/packages/twenty-server/src/engine/core-modules/file/file-upload/file-upload.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { FileUploadResolver } from 'src/engine/modules/file/file-upload/resolvers/file-upload.resolver'; -import { FileUploadService } from 'src/engine/modules/file/file-upload/services/file-upload.service'; +import { FileUploadResolver } from 'src/engine/core-modules/file/file-upload/resolvers/file-upload.resolver'; +import { FileUploadService } from 'src/engine/core-modules/file/file-upload/services/file-upload.service'; @Module({ providers: [FileUploadService, FileUploadResolver, EnvironmentService], diff --git a/packages/twenty-server/src/engine/modules/file/file-upload/resolvers/file-upload.resolver.spec.ts b/packages/twenty-server/src/engine/core-modules/file/file-upload/resolvers/file-upload.resolver.spec.ts similarity index 84% rename from packages/twenty-server/src/engine/modules/file/file-upload/resolvers/file-upload.resolver.spec.ts rename to packages/twenty-server/src/engine/core-modules/file/file-upload/resolvers/file-upload.resolver.spec.ts index 242907bee0..5a62ebdc4f 100644 --- a/packages/twenty-server/src/engine/modules/file/file-upload/resolvers/file-upload.resolver.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/file/file-upload/resolvers/file-upload.resolver.spec.ts @@ -1,6 +1,6 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { FileUploadService } from 'src/engine/modules/file/file-upload/services/file-upload.service'; +import { FileUploadService } from 'src/engine/core-modules/file/file-upload/services/file-upload.service'; import { FileUploadResolver } from './file-upload.resolver'; diff --git a/packages/twenty-server/src/engine/modules/file/file-upload/resolvers/file-upload.resolver.ts b/packages/twenty-server/src/engine/core-modules/file/file-upload/resolvers/file-upload.resolver.ts similarity index 88% rename from packages/twenty-server/src/engine/modules/file/file-upload/resolvers/file-upload.resolver.ts rename to packages/twenty-server/src/engine/core-modules/file/file-upload/resolvers/file-upload.resolver.ts index 8b4a1f1a45..1541bb63e3 100644 --- a/packages/twenty-server/src/engine/modules/file/file-upload/resolvers/file-upload.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/file/file-upload/resolvers/file-upload.resolver.ts @@ -3,9 +3,9 @@ import { UseGuards } from '@nestjs/common'; import { GraphQLUpload, FileUpload } from 'graphql-upload'; -import { FileFolder } from 'src/engine/modules/file/interfaces/file-folder.interface'; +import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; -import { FileUploadService } from 'src/engine/modules/file/file-upload/services/file-upload.service'; +import { FileUploadService } from 'src/engine/core-modules/file/file-upload/services/file-upload.service'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; import { streamToBuffer } from 'src/utils/stream-to-buffer'; import { DemoEnvGuard } from 'src/engine/guards/demo.env.guard'; diff --git a/packages/twenty-server/src/engine/modules/file/file-upload/services/file-upload.service.spec.ts b/packages/twenty-server/src/engine/core-modules/file/file-upload/services/file-upload.service.spec.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/file/file-upload/services/file-upload.service.spec.ts rename to packages/twenty-server/src/engine/core-modules/file/file-upload/services/file-upload.service.spec.ts diff --git a/packages/twenty-server/src/engine/modules/file/file-upload/services/file-upload.service.ts b/packages/twenty-server/src/engine/core-modules/file/file-upload/services/file-upload.service.ts similarity index 96% rename from packages/twenty-server/src/engine/modules/file/file-upload/services/file-upload.service.ts rename to packages/twenty-server/src/engine/core-modules/file/file-upload/services/file-upload.service.ts index 10d70bf085..f4fd71850a 100644 --- a/packages/twenty-server/src/engine/modules/file/file-upload/services/file-upload.service.ts +++ b/packages/twenty-server/src/engine/core-modules/file/file-upload/services/file-upload.service.ts @@ -3,7 +3,7 @@ import { Injectable } from '@nestjs/common'; import sharp from 'sharp'; import { v4 as uuidV4 } from 'uuid'; -import { FileFolder } from 'src/engine/modules/file/interfaces/file-folder.interface'; +import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; import { getCropSize } from 'src/utils/image'; import { settings } from 'src/engine/constants/settings'; diff --git a/packages/twenty-server/src/engine/modules/file/file.module.ts b/packages/twenty-server/src/engine/core-modules/file/file.module.ts similarity index 64% rename from packages/twenty-server/src/engine/modules/file/file.module.ts rename to packages/twenty-server/src/engine/core-modules/file/file.module.ts index dfbed11bf1..521cde04bd 100644 --- a/packages/twenty-server/src/engine/modules/file/file.module.ts +++ b/packages/twenty-server/src/engine/core-modules/file/file.module.ts @@ -1,9 +1,9 @@ import { Module } from '@nestjs/common'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { FilePathGuard } from 'src/engine/modules/file/guards/file-path-guard'; -import { AuthModule } from 'src/engine/modules/auth/auth.module'; -import { FileUploadModule } from 'src/engine/modules/file/file-upload/file-upload.module'; +import { FilePathGuard } from 'src/engine/core-modules/file/guards/file-path-guard'; +import { AuthModule } from 'src/engine/core-modules/auth/auth.module'; +import { FileUploadModule } from 'src/engine/core-modules/file/file-upload/file-upload.module'; import { FileService } from './services/file.service'; import { FileController } from './controllers/file.controller'; diff --git a/packages/twenty-server/src/engine/modules/file/file.utils.ts b/packages/twenty-server/src/engine/core-modules/file/file.utils.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/file/file.utils.ts rename to packages/twenty-server/src/engine/core-modules/file/file.utils.ts diff --git a/packages/twenty-server/src/engine/modules/file/guards/file-path-guard.ts b/packages/twenty-server/src/engine/core-modules/file/guards/file-path-guard.ts similarity index 93% rename from packages/twenty-server/src/engine/modules/file/guards/file-path-guard.ts rename to packages/twenty-server/src/engine/core-modules/file/guards/file-path-guard.ts index 93ede5dc7c..9889164731 100644 --- a/packages/twenty-server/src/engine/modules/file/guards/file-path-guard.ts +++ b/packages/twenty-server/src/engine/core-modules/file/guards/file-path-guard.ts @@ -7,7 +7,7 @@ import { } from '@nestjs/common'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; @Injectable() export class FilePathGuard implements CanActivate { diff --git a/packages/twenty-server/src/engine/modules/file/interfaces/file-folder.interface.ts b/packages/twenty-server/src/engine/core-modules/file/interfaces/file-folder.interface.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/file/interfaces/file-folder.interface.ts rename to packages/twenty-server/src/engine/core-modules/file/interfaces/file-folder.interface.ts diff --git a/packages/twenty-server/src/engine/core-modules/file/resolvers/file-upload.resolver.spec.ts b/packages/twenty-server/src/engine/core-modules/file/resolvers/file-upload.resolver.spec.ts new file mode 100644 index 0000000000..5a62ebdc4f --- /dev/null +++ b/packages/twenty-server/src/engine/core-modules/file/resolvers/file-upload.resolver.spec.ts @@ -0,0 +1,27 @@ +import { Test, TestingModule } from '@nestjs/testing'; + +import { FileUploadService } from 'src/engine/core-modules/file/file-upload/services/file-upload.service'; + +import { FileUploadResolver } from './file-upload.resolver'; + +describe('FileUploadResolver', () => { + let resolver: FileUploadResolver; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + FileUploadResolver, + { + provide: FileUploadService, + useValue: {}, + }, + ], + }).compile(); + + resolver = module.get(FileUploadResolver); + }); + + it('should be defined', () => { + expect(resolver).toBeDefined(); + }); +}); diff --git a/packages/twenty-server/src/engine/core-modules/file/resolvers/file-upload.resolver.ts b/packages/twenty-server/src/engine/core-modules/file/resolvers/file-upload.resolver.ts new file mode 100644 index 0000000000..1541bb63e3 --- /dev/null +++ b/packages/twenty-server/src/engine/core-modules/file/resolvers/file-upload.resolver.ts @@ -0,0 +1,57 @@ +import { Args, Mutation, Resolver } from '@nestjs/graphql'; +import { UseGuards } from '@nestjs/common'; + +import { GraphQLUpload, FileUpload } from 'graphql-upload'; + +import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; + +import { FileUploadService } from 'src/engine/core-modules/file/file-upload/services/file-upload.service'; +import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; +import { streamToBuffer } from 'src/utils/stream-to-buffer'; +import { DemoEnvGuard } from 'src/engine/guards/demo.env.guard'; + +@UseGuards(JwtAuthGuard, DemoEnvGuard) +@Resolver() +export class FileUploadResolver { + constructor(private readonly fileUploadService: FileUploadService) {} + + @Mutation(() => String) + async uploadFile( + @Args({ name: 'file', type: () => GraphQLUpload }) + { createReadStream, filename, mimetype }: FileUpload, + @Args('fileFolder', { type: () => FileFolder, nullable: true }) + fileFolder: FileFolder, + ): Promise { + const stream = createReadStream(); + const buffer = await streamToBuffer(stream); + + const { path } = await this.fileUploadService.uploadFile({ + file: buffer, + filename, + mimeType: mimetype, + fileFolder, + }); + + return path; + } + + @Mutation(() => String) + async uploadImage( + @Args({ name: 'file', type: () => GraphQLUpload }) + { createReadStream, filename, mimetype }: FileUpload, + @Args('fileFolder', { type: () => FileFolder, nullable: true }) + fileFolder: FileFolder, + ): Promise { + const stream = createReadStream(); + const buffer = await streamToBuffer(stream); + + const { paths } = await this.fileUploadService.uploadImage({ + file: buffer, + filename, + mimeType: mimetype, + fileFolder, + }); + + return paths[0]; + } +} diff --git a/packages/twenty-server/src/engine/modules/file/services/file.service.spec.ts b/packages/twenty-server/src/engine/core-modules/file/services/file.service.spec.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/file/services/file.service.spec.ts rename to packages/twenty-server/src/engine/core-modules/file/services/file.service.spec.ts diff --git a/packages/twenty-server/src/engine/modules/file/services/file.service.ts b/packages/twenty-server/src/engine/core-modules/file/services/file.service.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/file/services/file.service.ts rename to packages/twenty-server/src/engine/core-modules/file/services/file.service.ts diff --git a/packages/twenty-server/src/engine/modules/health/health.controller.spec.ts b/packages/twenty-server/src/engine/core-modules/health/health.controller.spec.ts similarity index 89% rename from packages/twenty-server/src/engine/modules/health/health.controller.spec.ts rename to packages/twenty-server/src/engine/core-modules/health/health.controller.spec.ts index db20ad6a92..9ee2a50c4a 100644 --- a/packages/twenty-server/src/engine/modules/health/health.controller.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/health/health.controller.spec.ts @@ -1,7 +1,7 @@ import { HealthCheckService, HttpHealthIndicator } from '@nestjs/terminus'; import { Test, TestingModule } from '@nestjs/testing'; -import { HealthController } from 'src/engine/modules/health/health.controller'; +import { HealthController } from 'src/engine/core-modules/health/health.controller'; describe('HealthController', () => { let healthController: HealthController; diff --git a/packages/twenty-server/src/engine/modules/health/health.controller.ts b/packages/twenty-server/src/engine/core-modules/health/health.controller.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/health/health.controller.ts rename to packages/twenty-server/src/engine/core-modules/health/health.controller.ts diff --git a/packages/twenty-server/src/engine/modules/health/health.module.ts b/packages/twenty-server/src/engine/core-modules/health/health.module.ts similarity index 70% rename from packages/twenty-server/src/engine/modules/health/health.module.ts rename to packages/twenty-server/src/engine/core-modules/health/health.module.ts index ad4b13483e..fa099ef52d 100644 --- a/packages/twenty-server/src/engine/modules/health/health.module.ts +++ b/packages/twenty-server/src/engine/core-modules/health/health.module.ts @@ -1,7 +1,7 @@ import { Module } from '@nestjs/common'; import { TerminusModule } from '@nestjs/terminus'; -import { HealthController } from 'src/engine/modules/health/health.controller'; +import { HealthController } from 'src/engine/core-modules/health/health.controller'; @Module({ imports: [TerminusModule], diff --git a/packages/twenty-server/src/engine/modules/messaging/constants/messaging.constants.ts b/packages/twenty-server/src/engine/core-modules/messaging/constants/messaging.constants.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/messaging/constants/messaging.constants.ts rename to packages/twenty-server/src/engine/core-modules/messaging/constants/messaging.constants.ts diff --git a/packages/twenty-server/src/engine/modules/messaging/dtos/timeline-thread-participant.dto.ts b/packages/twenty-server/src/engine/core-modules/messaging/dtos/timeline-thread-participant.dto.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/messaging/dtos/timeline-thread-participant.dto.ts rename to packages/twenty-server/src/engine/core-modules/messaging/dtos/timeline-thread-participant.dto.ts diff --git a/packages/twenty-server/src/engine/modules/messaging/dtos/timeline-thread.dto.ts b/packages/twenty-server/src/engine/core-modules/messaging/dtos/timeline-thread.dto.ts similarity index 83% rename from packages/twenty-server/src/engine/modules/messaging/dtos/timeline-thread.dto.ts rename to packages/twenty-server/src/engine/core-modules/messaging/dtos/timeline-thread.dto.ts index 811ea2b964..f8b9e881a0 100644 --- a/packages/twenty-server/src/engine/modules/messaging/dtos/timeline-thread.dto.ts +++ b/packages/twenty-server/src/engine/core-modules/messaging/dtos/timeline-thread.dto.ts @@ -1,6 +1,6 @@ import { ObjectType, Field, ID } from '@nestjs/graphql'; -import { TimelineThreadParticipant } from 'src/engine/modules/messaging/dtos/timeline-thread-participant.dto'; +import { TimelineThreadParticipant } from 'src/engine/core-modules/messaging/dtos/timeline-thread-participant.dto'; @ObjectType('TimelineThread') export class TimelineThread { diff --git a/packages/twenty-server/src/engine/modules/messaging/dtos/timeline-threads-with-total.dto.ts b/packages/twenty-server/src/engine/core-modules/messaging/dtos/timeline-threads-with-total.dto.ts similarity index 74% rename from packages/twenty-server/src/engine/modules/messaging/dtos/timeline-threads-with-total.dto.ts rename to packages/twenty-server/src/engine/core-modules/messaging/dtos/timeline-threads-with-total.dto.ts index 0d87ed7a7f..3cdafcf232 100644 --- a/packages/twenty-server/src/engine/modules/messaging/dtos/timeline-threads-with-total.dto.ts +++ b/packages/twenty-server/src/engine/core-modules/messaging/dtos/timeline-threads-with-total.dto.ts @@ -1,6 +1,6 @@ import { Field, Int, ObjectType } from '@nestjs/graphql'; -import { TimelineThread } from 'src/engine/modules/messaging/dtos/timeline-thread.dto'; +import { TimelineThread } from 'src/engine/core-modules/messaging/dtos/timeline-thread.dto'; @ObjectType('TimelineThreadsWithTotal') export class TimelineThreadsWithTotal { diff --git a/packages/twenty-server/src/engine/modules/messaging/timeline-messaging.module.ts b/packages/twenty-server/src/engine/core-modules/messaging/timeline-messaging.module.ts similarity index 54% rename from packages/twenty-server/src/engine/modules/messaging/timeline-messaging.module.ts rename to packages/twenty-server/src/engine/core-modules/messaging/timeline-messaging.module.ts index dcfc287a91..275f7f0df1 100644 --- a/packages/twenty-server/src/engine/modules/messaging/timeline-messaging.module.ts +++ b/packages/twenty-server/src/engine/core-modules/messaging/timeline-messaging.module.ts @@ -1,9 +1,9 @@ import { Module } from '@nestjs/common'; -import { TimelineMessagingResolver } from 'src/engine/modules/messaging/timeline-messaging.resolver'; -import { TimelineMessagingService } from 'src/engine/modules/messaging/timeline-messaging.service'; +import { TimelineMessagingResolver } from 'src/engine/core-modules/messaging/timeline-messaging.resolver'; +import { TimelineMessagingService } from 'src/engine/core-modules/messaging/timeline-messaging.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { UserModule } from 'src/engine/modules/user/user.module'; +import { UserModule } from 'src/engine/core-modules/user/user.module'; @Module({ imports: [WorkspaceDataSourceModule, UserModule], exports: [], diff --git a/packages/twenty-server/src/engine/modules/messaging/timeline-messaging.resolver.ts b/packages/twenty-server/src/engine/core-modules/messaging/timeline-messaging.resolver.ts similarity index 80% rename from packages/twenty-server/src/engine/modules/messaging/timeline-messaging.resolver.ts rename to packages/twenty-server/src/engine/core-modules/messaging/timeline-messaging.resolver.ts index 299bc65ec6..5049511385 100644 --- a/packages/twenty-server/src/engine/modules/messaging/timeline-messaging.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/messaging/timeline-messaging.resolver.ts @@ -12,14 +12,14 @@ import { UseGuards } from '@nestjs/common'; import { Max } from 'class-validator'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator'; -import { TimelineMessagingService } from 'src/engine/modules/messaging/timeline-messaging.service'; -import { TIMELINE_THREADS_MAX_PAGE_SIZE } from 'src/engine/modules/messaging/constants/messaging.constants'; -import { TimelineThreadsWithTotal } from 'src/engine/modules/messaging/dtos/timeline-threads-with-total.dto'; +import { TimelineMessagingService } from 'src/engine/core-modules/messaging/timeline-messaging.service'; +import { TIMELINE_THREADS_MAX_PAGE_SIZE } from 'src/engine/core-modules/messaging/constants/messaging.constants'; +import { TimelineThreadsWithTotal } from 'src/engine/core-modules/messaging/dtos/timeline-threads-with-total.dto'; import { AuthUser } from 'src/engine/decorators/auth/auth-user.decorator'; -import { UserService } from 'src/engine/modules/user/services/user.service'; -import { User } from 'src/engine/modules/user/user.entity'; +import { UserService } from 'src/engine/core-modules/user/services/user.service'; +import { User } from 'src/engine/core-modules/user/user.entity'; @ArgsType() class GetTimelineThreadsFromPersonIdArgs { diff --git a/packages/twenty-server/src/engine/modules/messaging/timeline-messaging.service.ts b/packages/twenty-server/src/engine/core-modules/messaging/timeline-messaging.service.ts similarity index 98% rename from packages/twenty-server/src/engine/modules/messaging/timeline-messaging.service.ts rename to packages/twenty-server/src/engine/core-modules/messaging/timeline-messaging.service.ts index 542b4f5f13..9b962cae84 100644 --- a/packages/twenty-server/src/engine/modules/messaging/timeline-messaging.service.ts +++ b/packages/twenty-server/src/engine/core-modules/messaging/timeline-messaging.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { TIMELINE_THREADS_DEFAULT_PAGE_SIZE } from 'src/engine/modules/messaging/constants/messaging.constants'; -import { TimelineThreadsWithTotal } from 'src/engine/modules/messaging/dtos/timeline-threads-with-total.dto'; +import { TIMELINE_THREADS_DEFAULT_PAGE_SIZE } from 'src/engine/core-modules/messaging/constants/messaging.constants'; +import { TimelineThreadsWithTotal } from 'src/engine/core-modules/messaging/dtos/timeline-threads-with-total.dto'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; type TimelineThreadParticipant = { diff --git a/packages/twenty-server/src/engine/modules/open-api/open-api.controller.ts b/packages/twenty-server/src/engine/core-modules/open-api/open-api.controller.ts similarity index 88% rename from packages/twenty-server/src/engine/modules/open-api/open-api.controller.ts rename to packages/twenty-server/src/engine/core-modules/open-api/open-api.controller.ts index 103d0e27fe..53c6148691 100644 --- a/packages/twenty-server/src/engine/modules/open-api/open-api.controller.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/open-api.controller.ts @@ -2,7 +2,7 @@ import { Controller, Get, Req, Res } from '@nestjs/common'; import { Request, Response } from 'express'; -import { OpenApiService } from 'src/engine/modules/open-api/open-api.service'; +import { OpenApiService } from 'src/engine/core-modules/open-api/open-api.service'; @Controller('open-api') export class OpenApiController { diff --git a/packages/twenty-server/src/engine/core-modules/open-api/open-api.module.ts b/packages/twenty-server/src/engine/core-modules/open-api/open-api.module.ts new file mode 100644 index 0000000000..69cc16f97a --- /dev/null +++ b/packages/twenty-server/src/engine/core-modules/open-api/open-api.module.ts @@ -0,0 +1,13 @@ +import { Module } from '@nestjs/common'; + +import { OpenApiController } from 'src/engine/core-modules/open-api/open-api.controller'; +import { OpenApiService } from 'src/engine/core-modules/open-api/open-api.service'; +import { AuthModule } from 'src/engine/core-modules/auth/auth.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; + +@Module({ + imports: [ObjectMetadataModule, AuthModule], + controllers: [OpenApiController], + providers: [OpenApiService], +}) +export class OpenApiModule {} diff --git a/packages/twenty-server/src/engine/modules/open-api/open-api.service.spec.ts b/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.spec.ts similarity index 73% rename from packages/twenty-server/src/engine/modules/open-api/open-api.service.spec.ts rename to packages/twenty-server/src/engine/core-modules/open-api/open-api.service.spec.ts index eb277a1351..b2252b0c68 100644 --- a/packages/twenty-server/src/engine/modules/open-api/open-api.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.spec.ts @@ -1,8 +1,8 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { OpenApiService } from 'src/engine/modules/open-api/open-api.service'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; +import { OpenApiService } from 'src/engine/core-modules/open-api/open-api.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; describe('OpenApiService', () => { diff --git a/packages/twenty-server/src/engine/modules/open-api/open-api.service.ts b/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts similarity index 87% rename from packages/twenty-server/src/engine/modules/open-api/open-api.service.ts rename to packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts index bc0b9d3887..58fe617ca9 100644 --- a/packages/twenty-server/src/engine/modules/open-api/open-api.service.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts @@ -3,28 +3,28 @@ import { Injectable } from '@nestjs/common'; import { Request } from 'express'; import { OpenAPIV3_1 } from 'openapi-types'; -import { TokenService } from 'src/engine/modules/auth/services/token.service'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; -import { baseSchema } from 'src/engine/modules/open-api/utils/base-schema.utils'; +import { TokenService } from 'src/engine/core-modules/auth/services/token.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; +import { baseSchema } from 'src/engine/core-modules/open-api/utils/base-schema.utils'; import { computeManyResultPath, computeSingleResultPath, -} from 'src/engine/modules/open-api/utils/path.utils'; -import { getErrorResponses } from 'src/engine/modules/open-api/utils/get-error-responses.utils'; +} from 'src/engine/core-modules/open-api/utils/path.utils'; +import { getErrorResponses } from 'src/engine/core-modules/open-api/utils/get-error-responses.utils'; import { computeMetadataSchemaComponents, computeParameterComponents, computeSchemaComponents, -} from 'src/engine/modules/open-api/utils/components.utils'; -import { computeSchemaTags } from 'src/engine/modules/open-api/utils/compute-schema-tags.utils'; -import { computeWebhooks } from 'src/engine/modules/open-api/utils/computeWebhooks.utils'; +} from 'src/engine/core-modules/open-api/utils/components.utils'; +import { computeSchemaTags } from 'src/engine/core-modules/open-api/utils/compute-schema-tags.utils'; +import { computeWebhooks } from 'src/engine/core-modules/open-api/utils/computeWebhooks.utils'; import { capitalize } from 'src/utils/capitalize'; import { getDeleteResponse200, getManyResultResponse200, getSingleResultSuccessResponse, -} from 'src/engine/modules/open-api/utils/responses.utils'; -import { getRequestBody } from 'src/engine/modules/open-api/utils/request-body.utils'; +} from 'src/engine/core-modules/open-api/utils/responses.utils'; +import { getRequestBody } from 'src/engine/core-modules/open-api/utils/request-body.utils'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { getServerUrl } from 'src/utils/get-server-url'; diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/components.utils.spec.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/__tests__/components.utils.spec.ts similarity index 83% rename from packages/twenty-server/src/engine/modules/open-api/utils/__tests__/components.utils.spec.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/__tests__/components.utils.spec.ts index 5995f0a0e9..b4440db8eb 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/components.utils.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/__tests__/components.utils.spec.ts @@ -1,6 +1,6 @@ -import { computeSchemaComponents } from 'src/engine/modules/open-api/utils/components.utils'; +import { computeSchemaComponents } from 'src/engine/core-modules/open-api/utils/components.utils'; import { objectMetadataItemMock } from 'src/engine/api/__mocks__/object-metadata-item.mock'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; describe('computeSchemaComponents', () => { it('should compute schema components', () => { diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/parameters.utils.spec.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/__tests__/parameters.utils.spec.ts similarity index 98% rename from packages/twenty-server/src/engine/modules/open-api/utils/__tests__/parameters.utils.spec.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/__tests__/parameters.utils.spec.ts index b5d496a072..06c4684c9a 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/parameters.utils.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/__tests__/parameters.utils.spec.ts @@ -7,7 +7,7 @@ import { computeLastCursorParameters, computeLimitParameters, computeOrderByParameters, -} from 'src/engine/modules/open-api/utils/parameters.utils'; +} from 'src/engine/core-modules/open-api/utils/parameters.utils'; import { DEFAULT_ORDER_DIRECTION } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory'; import { FilterComparators } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils'; import { Conjunctions } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils'; diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/base-schema.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/base-schema.utils.ts similarity index 93% rename from packages/twenty-server/src/engine/modules/open-api/utils/base-schema.utils.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/base-schema.utils.ts index 328fcee35d..d506d6fb6c 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/base-schema.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/base-schema.utils.ts @@ -1,6 +1,6 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { computeOpenApiPath } from 'src/engine/modules/open-api/utils/path.utils'; +import { computeOpenApiPath } from 'src/engine/core-modules/open-api/utils/path.utils'; export const baseSchema = ( schemaName: 'core' | 'metadata', diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/components.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/components.utils.ts similarity index 97% rename from packages/twenty-server/src/engine/modules/open-api/utils/components.utils.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/components.utils.ts index 7fc94e5233..487156e6b9 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/components.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/components.utils.ts @@ -1,7 +1,7 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { capitalize } from 'src/utils/capitalize'; import { computeDepthParameters, @@ -10,7 +10,7 @@ import { computeLastCursorParameters, computeLimitParameters, computeOrderByParameters, -} from 'src/engine/modules/open-api/utils/parameters.utils'; +} from 'src/engine/core-modules/open-api/utils/parameters.utils'; type Property = OpenAPIV3_1.SchemaObject; diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/compute-schema-tags.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/compute-schema-tags.utils.ts similarity index 80% rename from packages/twenty-server/src/engine/modules/open-api/utils/compute-schema-tags.utils.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/compute-schema-tags.utils.ts index d18742912f..e303157a32 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/compute-schema-tags.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/compute-schema-tags.utils.ts @@ -1,6 +1,6 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { capitalize } from 'src/utils/capitalize'; export const computeSchemaTags = ( diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/computeWebhooks.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts similarity index 95% rename from packages/twenty-server/src/engine/modules/open-api/utils/computeWebhooks.utils.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts index 0f13450fa4..c7a2483c00 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/computeWebhooks.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts @@ -1,6 +1,6 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { capitalize } from 'src/utils/capitalize'; export const computeWebhooks = ( diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/get-error-responses.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/get-error-responses.utils.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/open-api/utils/get-error-responses.utils.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/get-error-responses.utils.ts diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/parameters.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/parameters.utils.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/open-api/utils/parameters.utils.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/parameters.utils.ts diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/path.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/path.utils.ts similarity index 93% rename from packages/twenty-server/src/engine/modules/open-api/utils/path.utils.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/path.utils.ts index 269219badd..497e95e778 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/path.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/path.utils.ts @@ -1,14 +1,14 @@ import { OpenAPIV3_1 } from 'openapi-types'; import { capitalize } from 'src/utils/capitalize'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { getDeleteResponse200, getJsonResponse, getManyResultResponse200, getSingleResultSuccessResponse, -} from 'src/engine/modules/open-api/utils/responses.utils'; -import { getRequestBody } from 'src/engine/modules/open-api/utils/request-body.utils'; +} from 'src/engine/core-modules/open-api/utils/responses.utils'; +import { getRequestBody } from 'src/engine/core-modules/open-api/utils/request-body.utils'; export const computeManyResultPath = ( item: ObjectMetadataEntity, diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/request-body.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/request-body.utils.ts similarity index 77% rename from packages/twenty-server/src/engine/modules/open-api/utils/request-body.utils.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/request-body.utils.ts index 250913534b..6ba3b3023f 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/request-body.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/request-body.utils.ts @@ -1,4 +1,4 @@ -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { capitalize } from 'src/utils/capitalize'; export const getRequestBody = ( diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/responses.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/responses.utils.ts similarity index 97% rename from packages/twenty-server/src/engine/modules/open-api/utils/responses.utils.ts rename to packages/twenty-server/src/engine/core-modules/open-api/utils/responses.utils.ts index e47d7cc57e..c3905e2d28 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/responses.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/responses.utils.ts @@ -1,4 +1,4 @@ -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { capitalize } from 'src/utils/capitalize'; export const getManyResultResponse200 = ( diff --git a/packages/twenty-server/src/engine/modules/quick-actions/intelligence.service.ts b/packages/twenty-server/src/engine/core-modules/quick-actions/intelligence.service.ts similarity index 93% rename from packages/twenty-server/src/engine/modules/quick-actions/intelligence.service.ts rename to packages/twenty-server/src/engine/core-modules/quick-actions/intelligence.service.ts index e56c2e2f06..860b81f857 100644 --- a/packages/twenty-server/src/engine/modules/quick-actions/intelligence.service.ts +++ b/packages/twenty-server/src/engine/core-modules/quick-actions/intelligence.service.ts @@ -1,7 +1,7 @@ import { HttpService } from '@nestjs/axios'; import { Injectable } from '@nestjs/common'; -import { CompanyInteface } from 'src/engine/modules/quick-actions/interfaces/company.interface'; +import { CompanyInteface } from 'src/engine/core-modules/quick-actions/interfaces/company.interface'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; diff --git a/packages/twenty-server/src/engine/modules/quick-actions/interfaces/company.interface.ts b/packages/twenty-server/src/engine/core-modules/quick-actions/interfaces/company.interface.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/quick-actions/interfaces/company.interface.ts rename to packages/twenty-server/src/engine/core-modules/quick-actions/interfaces/company.interface.ts diff --git a/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.module.ts b/packages/twenty-server/src/engine/core-modules/quick-actions/quick-actions.module.ts similarity index 69% rename from packages/twenty-server/src/engine/modules/quick-actions/quick-actions.module.ts rename to packages/twenty-server/src/engine/core-modules/quick-actions/quick-actions.module.ts index 14e4bc82a1..95fa48dbcd 100644 --- a/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.module.ts +++ b/packages/twenty-server/src/engine/core-modules/quick-actions/quick-actions.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; import { HttpModule } from '@nestjs/axios'; -import { IntelligenceService } from 'src/engine/modules/quick-actions/intelligence.service'; -import { QuickActionsService } from 'src/engine/modules/quick-actions/quick-actions.service'; +import { IntelligenceService } from 'src/engine/core-modules/quick-actions/intelligence.service'; +import { QuickActionsService } from 'src/engine/core-modules/quick-actions/quick-actions.service'; import { WorkspaceQueryRunnerModule } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module'; @Module({ diff --git a/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.service.ts b/packages/twenty-server/src/engine/core-modules/quick-actions/quick-actions.service.ts similarity index 95% rename from packages/twenty-server/src/engine/modules/quick-actions/quick-actions.service.ts rename to packages/twenty-server/src/engine/core-modules/quick-actions/quick-actions.service.ts index 6ec86bb1cd..ed16e678a7 100644 --- a/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.service.ts +++ b/packages/twenty-server/src/engine/core-modules/quick-actions/quick-actions.service.ts @@ -3,12 +3,12 @@ import { Injectable } from '@nestjs/common'; import { v4 as uuidv4 } from 'uuid'; import { Record as IRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { isWorkEmail } from 'src/utils/is-work-email'; import { stringifyWithoutKeyQuote } from 'src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; -import { IntelligenceService } from 'src/engine/modules/quick-actions/intelligence.service'; +import { IntelligenceService } from 'src/engine/core-modules/quick-actions/intelligence.service'; import { capitalize } from 'src/utils/capitalize'; @Injectable() diff --git a/packages/twenty-server/src/engine/modules/refresh-token/dtos/create-refresh-token.input.ts b/packages/twenty-server/src/engine/core-modules/refresh-token/dtos/create-refresh-token.input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/refresh-token/dtos/create-refresh-token.input.ts rename to packages/twenty-server/src/engine/core-modules/refresh-token/dtos/create-refresh-token.input.ts diff --git a/packages/twenty-server/src/engine/modules/refresh-token/hooks/before-create-one-refresh-token.hook.ts b/packages/twenty-server/src/engine/core-modules/refresh-token/hooks/before-create-one-refresh-token.hook.ts similarity index 87% rename from packages/twenty-server/src/engine/modules/refresh-token/hooks/before-create-one-refresh-token.hook.ts rename to packages/twenty-server/src/engine/core-modules/refresh-token/hooks/before-create-one-refresh-token.hook.ts index 509ce1d79c..f9e0f219c3 100644 --- a/packages/twenty-server/src/engine/modules/refresh-token/hooks/before-create-one-refresh-token.hook.ts +++ b/packages/twenty-server/src/engine/core-modules/refresh-token/hooks/before-create-one-refresh-token.hook.ts @@ -4,7 +4,7 @@ import { } from '@ptc-org/nestjs-query-graphql'; import { v4 as uuidv4 } from 'uuid'; -import { RefreshToken } from 'src/engine/modules/refresh-token/refresh-token.entity'; +import { RefreshToken } from 'src/engine/core-modules/refresh-token/refresh-token.entity'; export class BeforeCreateOneRefreshToken implements BeforeCreateOneHook diff --git a/packages/twenty-server/src/engine/modules/refresh-token/refresh-token.auto-resolver-opts.ts b/packages/twenty-server/src/engine/core-modules/refresh-token/refresh-token.auto-resolver-opts.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/refresh-token/refresh-token.auto-resolver-opts.ts rename to packages/twenty-server/src/engine/core-modules/refresh-token/refresh-token.auto-resolver-opts.ts diff --git a/packages/twenty-server/src/engine/modules/refresh-token/refresh-token.entity.ts b/packages/twenty-server/src/engine/core-modules/refresh-token/refresh-token.entity.ts similarity index 94% rename from packages/twenty-server/src/engine/modules/refresh-token/refresh-token.entity.ts rename to packages/twenty-server/src/engine/core-modules/refresh-token/refresh-token.entity.ts index f1174ec60e..d133aa8f9a 100644 --- a/packages/twenty-server/src/engine/modules/refresh-token/refresh-token.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/refresh-token/refresh-token.entity.ts @@ -11,7 +11,7 @@ import { } from 'typeorm'; import { BeforeCreateOne, IDField } from '@ptc-org/nestjs-query-graphql'; -import { User } from 'src/engine/modules/user/user.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { BeforeCreateOneRefreshToken } from './hooks/before-create-one-refresh-token.hook'; diff --git a/packages/twenty-server/src/engine/modules/refresh-token/refresh-token.module.ts b/packages/twenty-server/src/engine/core-modules/refresh-token/refresh-token.module.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/refresh-token/refresh-token.module.ts rename to packages/twenty-server/src/engine/core-modules/refresh-token/refresh-token.module.ts diff --git a/packages/twenty-server/src/engine/modules/refresh-token/services/refresh-token.service.spec.ts b/packages/twenty-server/src/engine/core-modules/refresh-token/services/refresh-token.service.spec.ts similarity index 88% rename from packages/twenty-server/src/engine/modules/refresh-token/services/refresh-token.service.spec.ts rename to packages/twenty-server/src/engine/core-modules/refresh-token/services/refresh-token.service.spec.ts index 926309df97..cbf7110f60 100644 --- a/packages/twenty-server/src/engine/modules/refresh-token/services/refresh-token.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/refresh-token/services/refresh-token.service.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { RefreshToken } from 'src/engine/modules/refresh-token/refresh-token.entity'; +import { RefreshToken } from 'src/engine/core-modules/refresh-token/refresh-token.entity'; import { RefreshTokenService } from './refresh-token.service'; diff --git a/packages/twenty-server/src/engine/modules/refresh-token/services/refresh-token.service.ts b/packages/twenty-server/src/engine/core-modules/refresh-token/services/refresh-token.service.ts similarity index 62% rename from packages/twenty-server/src/engine/modules/refresh-token/services/refresh-token.service.ts rename to packages/twenty-server/src/engine/core-modules/refresh-token/services/refresh-token.service.ts index 704087f235..825a33ab50 100644 --- a/packages/twenty-server/src/engine/modules/refresh-token/services/refresh-token.service.ts +++ b/packages/twenty-server/src/engine/core-modules/refresh-token/services/refresh-token.service.ts @@ -1,5 +1,5 @@ import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; -import { RefreshToken } from 'src/engine/modules/refresh-token/refresh-token.entity'; +import { RefreshToken } from 'src/engine/core-modules/refresh-token/refresh-token.entity'; export class RefreshTokenService extends TypeOrmQueryService {} diff --git a/packages/twenty-server/src/engine/modules/user-workspace/user-workspace.entity.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts similarity index 89% rename from packages/twenty-server/src/engine/modules/user-workspace/user-workspace.entity.ts rename to packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts index b167f82e84..45a83da72f 100644 --- a/packages/twenty-server/src/engine/modules/user-workspace/user-workspace.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts @@ -12,8 +12,8 @@ import { UpdateDateColumn, } from 'typeorm'; -import { User } from 'src/engine/modules/user/user.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; @Entity({ name: 'userWorkspace', schema: 'core' }) @ObjectType('UserWorkspace') diff --git a/packages/twenty-server/src/engine/modules/user-workspace/user-workspace.module.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.module.ts similarity index 72% rename from packages/twenty-server/src/engine/modules/user-workspace/user-workspace.module.ts rename to packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.module.ts index ae4445aa96..bc827d9d32 100644 --- a/packages/twenty-server/src/engine/modules/user-workspace/user-workspace.module.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.module.ts @@ -4,9 +4,9 @@ import { NestjsQueryGraphQLModule } from '@ptc-org/nestjs-query-graphql'; import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; -import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; +import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/engine/modules/user-workspace/user-workspace.service.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts similarity index 92% rename from packages/twenty-server/src/engine/modules/user-workspace/user-workspace.service.ts rename to packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts index b43afb61f1..30703d0d35 100644 --- a/packages/twenty-server/src/engine/modules/user-workspace/user-workspace.service.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts @@ -4,10 +4,10 @@ import { EventEmitter2 } from '@nestjs/event-emitter'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; import { Repository } from 'typeorm'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; -import { User } from 'src/engine/modules/user/user.entity'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { ObjectRecordCreateEvent } from 'src/engine/integrations/event-emitter/types/object-record-create.event'; import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; diff --git a/packages/twenty-server/src/engine/modules/user/dtos/workspace-member.dto.ts b/packages/twenty-server/src/engine/core-modules/user/dtos/workspace-member.dto.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/user/dtos/workspace-member.dto.ts rename to packages/twenty-server/src/engine/core-modules/user/dtos/workspace-member.dto.ts diff --git a/packages/twenty-server/src/engine/modules/user/services/user.service.spec.ts b/packages/twenty-server/src/engine/core-modules/user/services/user.service.spec.ts similarity index 78% rename from packages/twenty-server/src/engine/modules/user/services/user.service.spec.ts rename to packages/twenty-server/src/engine/core-modules/user/services/user.service.spec.ts index 9ad7b8ef41..64228c0eaf 100644 --- a/packages/twenty-server/src/engine/modules/user/services/user.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/user/services/user.service.spec.ts @@ -1,10 +1,10 @@ import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { User } from 'src/engine/modules/user/user.entity'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; import { UserService } from './user.service'; diff --git a/packages/twenty-server/src/engine/modules/user/services/user.service.ts b/packages/twenty-server/src/engine/core-modules/user/services/user.service.ts similarity index 88% rename from packages/twenty-server/src/engine/modules/user/services/user.service.ts rename to packages/twenty-server/src/engine/core-modules/user/services/user.service.ts index 59f1398753..505cb32c93 100644 --- a/packages/twenty-server/src/engine/modules/user/services/user.service.ts +++ b/packages/twenty-server/src/engine/core-modules/user/services/user.service.ts @@ -4,12 +4,12 @@ import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; import { Repository } from 'typeorm'; import { assert } from 'src/utils/assert'; -import { User } from 'src/engine/modules/user/user.entity'; -import { WorkspaceMember } from 'src/engine/modules/user/dtos/workspace-member.dto'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { WorkspaceMember } from 'src/engine/core-modules/user/dtos/workspace-member.dto'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; -import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; +import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; export class UserService extends TypeOrmQueryService { constructor( diff --git a/packages/twenty-server/src/engine/modules/user/user.auto-resolver-opts.ts b/packages/twenty-server/src/engine/core-modules/user/user.auto-resolver-opts.ts similarity index 92% rename from packages/twenty-server/src/engine/modules/user/user.auto-resolver-opts.ts rename to packages/twenty-server/src/engine/core-modules/user/user.auto-resolver-opts.ts index 6b46942179..eeb6b95bbb 100644 --- a/packages/twenty-server/src/engine/modules/user/user.auto-resolver-opts.ts +++ b/packages/twenty-server/src/engine/core-modules/user/user.auto-resolver-opts.ts @@ -4,7 +4,7 @@ import { PagingStrategies, } from '@ptc-org/nestjs-query-graphql'; -import { User } from 'src/engine/modules/user/user.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; export const userAutoResolverOpts: AutoResolverOpts< diff --git a/packages/twenty-server/src/engine/modules/user/user.entity.ts b/packages/twenty-server/src/engine/core-modules/user/user.entity.ts similarity index 84% rename from packages/twenty-server/src/engine/modules/user/user.entity.ts rename to packages/twenty-server/src/engine/core-modules/user/user.entity.ts index 6f8f681643..043c8a191b 100644 --- a/packages/twenty-server/src/engine/modules/user/user.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/user/user.entity.ts @@ -11,10 +11,10 @@ import { } from 'typeorm'; import { IDField } from '@ptc-org/nestjs-query-graphql'; -import { RefreshToken } from 'src/engine/modules/refresh-token/refresh-token.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { WorkspaceMember } from 'src/engine/modules/user/dtos/workspace-member.dto'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; +import { RefreshToken } from 'src/engine/core-modules/refresh-token/refresh-token.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { WorkspaceMember } from 'src/engine/core-modules/user/dtos/workspace-member.dto'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; @Entity({ name: 'user', schema: 'core' }) @ObjectType('User') diff --git a/packages/twenty-server/src/engine/modules/user/user.module.ts b/packages/twenty-server/src/engine/core-modules/user/user.module.ts similarity index 63% rename from packages/twenty-server/src/engine/modules/user/user.module.ts rename to packages/twenty-server/src/engine/core-modules/user/user.module.ts index 3265e620da..81b3a70834 100644 --- a/packages/twenty-server/src/engine/modules/user/user.module.ts +++ b/packages/twenty-server/src/engine/core-modules/user/user.module.ts @@ -4,14 +4,14 @@ import { Module } from '@nestjs/common'; import { NestjsQueryGraphQLModule } from '@ptc-org/nestjs-query-graphql'; import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm'; -import { User } from 'src/engine/modules/user/user.entity'; -import { UserResolver } from 'src/engine/modules/user/user.resolver'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { UserResolver } from 'src/engine/core-modules/user/user.resolver'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { UserWorkspaceModule } from 'src/engine/modules/user-workspace/user-workspace.module'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; -import { FileUploadModule } from 'src/engine/modules/file/file-upload/file-upload.module'; +import { UserWorkspaceModule } from 'src/engine/core-modules/user-workspace/user-workspace.module'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; +import { FileUploadModule } from 'src/engine/core-modules/file/file-upload/file-upload.module'; import { userAutoResolverOpts } from './user.auto-resolver-opts'; diff --git a/packages/twenty-server/src/engine/modules/user/user.resolver.ts b/packages/twenty-server/src/engine/core-modules/user/user.resolver.ts similarity index 87% rename from packages/twenty-server/src/engine/modules/user/user.resolver.ts rename to packages/twenty-server/src/engine/core-modules/user/user.resolver.ts index 9485875d40..fc505ae2bd 100644 --- a/packages/twenty-server/src/engine/modules/user/user.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/user/user.resolver.ts @@ -15,18 +15,18 @@ import { FileUpload, GraphQLUpload } from 'graphql-upload'; import { Repository } from 'typeorm'; import { SupportDriver } from 'src/engine/integrations/environment/interfaces/support.interface'; -import { FileFolder } from 'src/engine/modules/file/interfaces/file-folder.interface'; +import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; import { AuthUser } from 'src/engine/decorators/auth/auth-user.decorator'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { streamToBuffer } from 'src/utils/stream-to-buffer'; -import { FileUploadService } from 'src/engine/modules/file/file-upload/services/file-upload.service'; +import { FileUploadService } from 'src/engine/core-modules/file/file-upload/services/file-upload.service'; import { assert } from 'src/utils/assert'; import { DemoEnvGuard } from 'src/engine/guards/demo.env.guard'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; -import { User } from 'src/engine/modules/user/user.entity'; -import { WorkspaceMember } from 'src/engine/modules/user/dtos/workspace-member.dto'; -import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { WorkspaceMember } from 'src/engine/core-modules/user/dtos/workspace-member.dto'; +import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service'; import { UserService } from './services/user.service'; diff --git a/packages/twenty-server/src/engine/modules/workspace/dtos/activate-workspace-input.ts b/packages/twenty-server/src/engine/core-modules/workspace/dtos/activate-workspace-input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/workspace/dtos/activate-workspace-input.ts rename to packages/twenty-server/src/engine/core-modules/workspace/dtos/activate-workspace-input.ts diff --git a/packages/twenty-server/src/engine/modules/workspace/dtos/update-workspace-input.ts b/packages/twenty-server/src/engine/core-modules/workspace/dtos/update-workspace-input.ts similarity index 100% rename from packages/twenty-server/src/engine/modules/workspace/dtos/update-workspace-input.ts rename to packages/twenty-server/src/engine/core-modules/workspace/dtos/update-workspace-input.ts diff --git a/packages/twenty-server/src/engine/modules/workspace/services/workspace.service.spec.ts b/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.spec.ts similarity index 74% rename from packages/twenty-server/src/engine/modules/workspace/services/workspace.service.spec.ts rename to packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.spec.ts index af996f78e2..cce4de1f42 100644 --- a/packages/twenty-server/src/engine/modules/workspace/services/workspace.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.spec.ts @@ -1,12 +1,12 @@ import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; -import { User } from 'src/engine/modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { WorkspaceManagerService } from 'src/engine/workspace-manager/workspace-manager.service'; -import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; -import { BillingService } from 'src/engine/modules/billing/billing.service'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { BillingService } from 'src/engine/core-modules/billing/billing.service'; +import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service'; import { WorkspaceService } from './workspace.service'; diff --git a/packages/twenty-server/src/engine/modules/workspace/services/workspace.service.ts b/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts similarity index 92% rename from packages/twenty-server/src/engine/modules/workspace/services/workspace.service.ts rename to packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts index a87bdf26a7..7ff8309d23 100644 --- a/packages/twenty-server/src/engine/modules/workspace/services/workspace.service.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts @@ -6,13 +6,13 @@ import assert from 'assert'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; import { Repository } from 'typeorm'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; -import { User } from 'src/engine/modules/user/user.entity'; import { WorkspaceManagerService } from 'src/engine/workspace-manager/workspace-manager.service'; -import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; -import { BillingService } from 'src/engine/modules/billing/billing.service'; -import { ActivateWorkspaceInput } from 'src/engine/modules/workspace/dtos/activate-workspace-input'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { ActivateWorkspaceInput } from 'src/engine/core-modules/workspace/dtos/activate-workspace-input'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; +import { UserWorkspaceService } from 'src/engine/core-modules/user-workspace/user-workspace.service'; +import { BillingService } from 'src/engine/core-modules/billing/billing.service'; export class WorkspaceService extends TypeOrmQueryService { constructor( diff --git a/packages/twenty-server/src/engine/modules/workspace/workspace.auto-resolver-opts.ts b/packages/twenty-server/src/engine/core-modules/workspace/workspace.auto-resolver-opts.ts similarity index 89% rename from packages/twenty-server/src/engine/modules/workspace/workspace.auto-resolver-opts.ts rename to packages/twenty-server/src/engine/core-modules/workspace/workspace.auto-resolver-opts.ts index 31493337e4..50f7a0a5aa 100644 --- a/packages/twenty-server/src/engine/modules/workspace/workspace.auto-resolver-opts.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/workspace.auto-resolver-opts.ts @@ -5,7 +5,7 @@ import { } from '@ptc-org/nestjs-query-graphql'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; -import { UpdateWorkspaceInput } from 'src/engine/modules/workspace/dtos/update-workspace-input'; +import { UpdateWorkspaceInput } from 'src/engine/core-modules/workspace/dtos/update-workspace-input'; import { Workspace } from './workspace.entity'; diff --git a/packages/twenty-server/src/engine/modules/workspace/workspace.entity.ts b/packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts similarity index 84% rename from packages/twenty-server/src/engine/modules/workspace/workspace.entity.ts rename to packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts index 5142137239..e560fcf41b 100644 --- a/packages/twenty-server/src/engine/modules/workspace/workspace.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts @@ -11,10 +11,10 @@ import { } from 'typeorm'; import Stripe from 'stripe'; -import { User } from 'src/engine/modules/user/user.entity'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { BillingSubscription } from 'src/engine/modules/billing/entities/billing-subscription.entity'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { BillingSubscription } from 'src/engine/core-modules/billing/entities/billing-subscription.entity'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; @Entity({ name: 'workspace', schema: 'core' }) @ObjectType('Workspace') diff --git a/packages/twenty-server/src/engine/modules/workspace/workspace.module.ts b/packages/twenty-server/src/engine/core-modules/workspace/workspace.module.ts similarity index 62% rename from packages/twenty-server/src/engine/modules/workspace/workspace.module.ts rename to packages/twenty-server/src/engine/core-modules/workspace/workspace.module.ts index e636e051cc..60497404a6 100644 --- a/packages/twenty-server/src/engine/modules/workspace/workspace.module.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/workspace.module.ts @@ -4,15 +4,15 @@ import { NestjsQueryGraphQLModule } from '@ptc-org/nestjs-query-graphql'; import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm'; import { WorkspaceManagerModule } from 'src/engine/workspace-manager/workspace-manager.module'; -import { WorkspaceResolver } from 'src/engine/modules/workspace/workspace.resolver'; +import { WorkspaceResolver } from 'src/engine/core-modules/workspace/workspace.resolver'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { BillingModule } from 'src/engine/modules/billing/billing.module'; -import { UserWorkspace } from 'src/engine/modules/user-workspace/user-workspace.entity'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { UserWorkspaceModule } from 'src/engine/modules/user-workspace/user-workspace.module'; -import { User } from 'src/engine/modules/user/user.entity'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; -import { FileUploadModule } from 'src/engine/modules/file/file-upload/file-upload.module'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { UserWorkspaceModule } from 'src/engine/core-modules/user-workspace/user-workspace.module'; +import { BillingModule } from 'src/engine/core-modules/billing/billing.module'; +import { FileUploadModule } from 'src/engine/core-modules/file/file-upload/file-upload.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; import { workspaceAutoResolverOpts } from './workspace.auto-resolver-opts'; import { Workspace } from './workspace.entity'; diff --git a/packages/twenty-server/src/engine/modules/workspace/workspace.resolver.ts b/packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts similarity index 82% rename from packages/twenty-server/src/engine/modules/workspace/workspace.resolver.ts rename to packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts index db02e13842..5cc961469a 100644 --- a/packages/twenty-server/src/engine/modules/workspace/workspace.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts @@ -10,19 +10,19 @@ import { UseGuards } from '@nestjs/common'; import { FileUpload, GraphQLUpload } from 'graphql-upload'; -import { FileFolder } from 'src/engine/modules/file/interfaces/file-folder.interface'; +import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; import { streamToBuffer } from 'src/utils/stream-to-buffer'; -import { FileUploadService } from 'src/engine/modules/file/file-upload/services/file-upload.service'; +import { FileUploadService } from 'src/engine/core-modules/file/file-upload/services/file-upload.service'; import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator'; import { assert } from 'src/utils/assert'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; -import { UpdateWorkspaceInput } from 'src/engine/modules/workspace/dtos/update-workspace-input'; -import { User } from 'src/engine/modules/user/user.entity'; +import { UpdateWorkspaceInput } from 'src/engine/core-modules/workspace/dtos/update-workspace-input'; +import { User } from 'src/engine/core-modules/user/user.entity'; import { AuthUser } from 'src/engine/decorators/auth/auth-user.decorator'; -import { ActivateWorkspaceInput } from 'src/engine/modules/workspace/dtos/activate-workspace-input'; -import { BillingSubscription } from 'src/engine/modules/billing/entities/billing-subscription.entity'; -import { BillingService } from 'src/engine/modules/billing/billing.service'; +import { ActivateWorkspaceInput } from 'src/engine/core-modules/workspace/dtos/activate-workspace-input'; +import { BillingSubscription } from 'src/engine/core-modules/billing/entities/billing-subscription.entity'; +import { BillingService } from 'src/engine/core-modules/billing/billing.service'; import { DemoEnvGuard } from 'src/engine/guards/demo.env.guard'; import { Workspace } from './workspace.entity'; diff --git a/packages/twenty-server/src/engine-metadata/decorators/is-valid-name.decorator.ts b/packages/twenty-server/src/engine/decorators/metadata/is-valid-metadata-name.decorator.ts similarity index 89% rename from packages/twenty-server/src/engine-metadata/decorators/is-valid-name.decorator.ts rename to packages/twenty-server/src/engine/decorators/metadata/is-valid-metadata-name.decorator.ts index afbc9314d8..d58663db3d 100644 --- a/packages/twenty-server/src/engine-metadata/decorators/is-valid-name.decorator.ts +++ b/packages/twenty-server/src/engine/decorators/metadata/is-valid-metadata-name.decorator.ts @@ -4,7 +4,7 @@ import { ValidationArguments, } from 'class-validator'; -export function IsValidName(validationOptions?: ValidationOptions) { +export function IsValidMetadataName(validationOptions?: ValidationOptions) { return function (object: object, propertyName: string) { registerDecorator({ name: 'IsValidName', diff --git a/packages/twenty-server/src/engine/integrations/environment/environment-variables.ts b/packages/twenty-server/src/engine/integrations/environment/environment-variables.ts index 1afb6e784e..452c643352 100644 --- a/packages/twenty-server/src/engine/integrations/environment/environment-variables.ts +++ b/packages/twenty-server/src/engine/integrations/environment/environment-variables.ts @@ -11,6 +11,8 @@ import { IsBoolean, IsNumber, IsDefined, + Min, + Max, } from 'class-validator'; import { EmailDriver } from 'src/engine/integrations/email/interfaces/email.interface'; @@ -38,6 +40,13 @@ export class EnvironmentVariables { @IsBoolean() DEBUG_MODE: boolean = false; + @CastToPositiveNumber() + @IsOptional() + @IsNumber() + @Min(0) + @Max(65535) + DEBUG_PORT: number = 9000; + @CastToBoolean() @IsOptional() @IsBoolean() @@ -130,11 +139,12 @@ export class EnvironmentVariables { LOGIN_TOKEN_EXPIRES_IN: string = '15m'; @IsString() - FILE_TOKEN_SECRET: string; + @IsOptional() + FILE_TOKEN_SECRET: string = 'random_string'; @IsDuration() @IsOptional() - FILE_TOKEN_EXPIRES_IN: string; + FILE_TOKEN_EXPIRES_IN: string = '1d'; // Auth @IsUrl({ require_tld: false }) @@ -197,6 +207,11 @@ export class EnvironmentVariables { @IsOptional() LOGGER_DRIVER: LoggerDriverType = LoggerDriverType.Console; + @CastToBoolean() + @IsBoolean() + @IsOptional() + LOGGER_IS_BUFFER_ENABLED: boolean = true; + @IsEnum(ExceptionHandlerDriver) @IsOptional() EXCEPTION_HANDLER_DRIVER: ExceptionHandlerDriver = @@ -288,8 +303,6 @@ export class EnvironmentVariables { CALENDAR_PROVIDER_GOOGLE_ENABLED: boolean = false; AUTH_GOOGLE_APIS_CALLBACK_URL: string; - - LOGGER_IS_BUFFER_ENABLED: boolean = true; } export const validate = (config: Record) => { diff --git a/packages/twenty-server/src/engine/integrations/environment/environment.default.ts b/packages/twenty-server/src/engine/integrations/environment/environment.default.ts deleted file mode 100644 index 3b3632d4fb..0000000000 --- a/packages/twenty-server/src/engine/integrations/environment/environment.default.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { EmailDriver } from 'src/engine/integrations/email/interfaces/email.interface'; -import { SupportDriver } from 'src/engine/integrations/environment/interfaces/support.interface'; - -import { ExceptionHandlerDriver } from 'src/engine/integrations/exception-handler/interfaces'; -import { StorageDriverType } from 'src/engine/integrations/file-storage/interfaces'; -import { LoggerDriverType } from 'src/engine/integrations/logger/interfaces'; -import { MessageQueueDriverType } from 'src/engine/integrations/message-queue/interfaces'; -import { EnvironmentVariables } from 'src/engine/integrations/environment/environment-variables'; - -const EnvironmentDefault = new EnvironmentVariables(); - -EnvironmentDefault.DEBUG_MODE = false; -EnvironmentDefault.SIGN_IN_PREFILLED = false; -EnvironmentDefault.IS_BILLING_ENABLED = false; -EnvironmentDefault.BILLING_PLAN_REQUIRED_LINK = ''; -EnvironmentDefault.BILLING_STRIPE_BASE_PLAN_PRODUCT_ID = ''; -EnvironmentDefault.BILLING_FREE_TRIAL_DURATION_IN_DAYS = 7; -EnvironmentDefault.BILLING_STRIPE_API_KEY = ''; -EnvironmentDefault.BILLING_STRIPE_WEBHOOK_SECRET = ''; -EnvironmentDefault.TELEMETRY_ENABLED = true; -EnvironmentDefault.TELEMETRY_ANONYMIZATION_ENABLED = true; -EnvironmentDefault.PORT = 3000; -EnvironmentDefault.REDIS_HOST = '127.0.0.1'; -EnvironmentDefault.REDIS_PORT = 6379; -EnvironmentDefault.PG_DATABASE_URL = ''; -EnvironmentDefault.FRONT_BASE_URL = ''; -EnvironmentDefault.SERVER_URL = ''; -EnvironmentDefault.ACCESS_TOKEN_SECRET = 'random_string'; -EnvironmentDefault.ACCESS_TOKEN_EXPIRES_IN = '30m'; -EnvironmentDefault.REFRESH_TOKEN_SECRET = 'random_string'; -EnvironmentDefault.REFRESH_TOKEN_EXPIRES_IN = '30m'; -EnvironmentDefault.REFRESH_TOKEN_COOL_DOWN = '1m'; -EnvironmentDefault.LOGIN_TOKEN_SECRET = 'random_string'; -EnvironmentDefault.LOGIN_TOKEN_EXPIRES_IN = '30m'; -EnvironmentDefault.FILE_TOKEN_SECRET = 'random_string'; -EnvironmentDefault.FILE_TOKEN_EXPIRES_IN = '1d'; -EnvironmentDefault.API_TOKEN_EXPIRES_IN = '100y'; -EnvironmentDefault.SHORT_TERM_TOKEN_EXPIRES_IN = '5m'; -EnvironmentDefault.FRONT_AUTH_CALLBACK_URL = ''; -EnvironmentDefault.MESSAGING_PROVIDER_GMAIL_ENABLED = false; -EnvironmentDefault.MESSAGING_PROVIDER_GMAIL_CALLBACK_URL = ''; -EnvironmentDefault.AUTH_GOOGLE_ENABLED = false; -EnvironmentDefault.AUTH_GOOGLE_CLIENT_ID = ''; -EnvironmentDefault.AUTH_GOOGLE_CLIENT_SECRET = ''; -EnvironmentDefault.AUTH_GOOGLE_CALLBACK_URL = ''; -EnvironmentDefault.STORAGE_TYPE = StorageDriverType.Local; -EnvironmentDefault.STORAGE_S3_REGION = 'aws-east-1'; -EnvironmentDefault.STORAGE_S3_NAME = ''; -EnvironmentDefault.STORAGE_S3_ENDPOINT = ''; -EnvironmentDefault.STORAGE_LOCAL_PATH = '.local-storage'; -EnvironmentDefault.MESSAGE_QUEUE_TYPE = MessageQueueDriverType.Sync; -EnvironmentDefault.EMAIL_FROM_ADDRESS = 'noreply@yourdomain.com'; -EnvironmentDefault.EMAIL_SYSTEM_ADDRESS = 'system@yourdomain.com'; -EnvironmentDefault.EMAIL_FROM_NAME = 'John from Twenty'; -EnvironmentDefault.EMAIL_DRIVER = EmailDriver.Logger; -EnvironmentDefault.EMAIL_SMTP_HOST = ''; -EnvironmentDefault.EMAIL_SMTP_PORT = 587; -EnvironmentDefault.EMAIL_SMTP_USER = ''; -EnvironmentDefault.EMAIL_SMTP_PASSWORD = ''; -EnvironmentDefault.SUPPORT_DRIVER = SupportDriver.None; -EnvironmentDefault.SUPPORT_FRONT_CHAT_ID = ''; -EnvironmentDefault.SUPPORT_FRONT_HMAC_KEY = ''; -EnvironmentDefault.LOGGER_DRIVER = LoggerDriverType.Console; -EnvironmentDefault.EXCEPTION_HANDLER_DRIVER = ExceptionHandlerDriver.Console; -EnvironmentDefault.LOG_LEVELS = ['log', 'error', 'warn']; -EnvironmentDefault.SENTRY_DSN = ''; -EnvironmentDefault.DEMO_WORKSPACE_IDS = []; -EnvironmentDefault.OPENROUTER_API_KEY = ''; -EnvironmentDefault.PASSWORD_RESET_TOKEN_EXPIRES_IN = '5m'; -EnvironmentDefault.WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION = 30; -EnvironmentDefault.WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION = 60; -EnvironmentDefault.IS_SIGN_UP_DISABLED = false; -EnvironmentDefault.API_RATE_LIMITING_TTL = 100; -EnvironmentDefault.API_RATE_LIMITING_LIMIT = 500; -EnvironmentDefault.MUTATION_MAXIMUM_RECORD_AFFECTED = 100; -EnvironmentDefault.CACHE_STORAGE_TYPE = 'memory'; -EnvironmentDefault.CACHE_STORAGE_TTL = 3600 * 24 * 7; - -export { EnvironmentDefault }; diff --git a/packages/twenty-server/src/engine/integrations/event-emitter/types/object-record.base.event.ts b/packages/twenty-server/src/engine/integrations/event-emitter/types/object-record.base.event.ts index d926f9efa8..24b5934274 100644 --- a/packages/twenty-server/src/engine/integrations/event-emitter/types/object-record.base.event.ts +++ b/packages/twenty-server/src/engine/integrations/event-emitter/types/object-record.base.event.ts @@ -1,4 +1,4 @@ -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; export class ObjectRecordBaseEvent { workspaceId: string; diff --git a/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-exception-handler.hook.ts b/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-exception-handler.hook.ts index 76212bacac..7d8892d139 100644 --- a/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-exception-handler.hook.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-exception-handler.hook.ts @@ -6,13 +6,13 @@ import { Plugin, } from '@envelop/core'; -import { GraphQLContext } from 'src/engine-graphql-config/interfaces/graphql-context.interface'; +import { GraphQLContext } from 'src/engine/api/graphql/graphql-config/interfaces/graphql-context.interface'; import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; import { convertExceptionToGraphQLError, filterException, -} from 'src/engine/filters/utils/global-exception-handler.util'; +} from 'src/engine/utils/global-exception-handler.util'; export type ExceptionHandlerPluginOptions = { /** diff --git a/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-sentry-tracing.ts b/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-sentry-tracing.ts index a40d5547b1..3db35cca3a 100644 --- a/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-sentry-tracing.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-sentry-tracing.ts @@ -6,7 +6,7 @@ import { } from '@envelop/core'; import { OperationDefinitionNode, Kind, print } from 'graphql'; -import { GraphQLContext } from 'src/engine-graphql-config/graphql-config.service'; +import { GraphQLContext } from 'src/engine/api/graphql/graphql-config/graphql-config.service'; export const useSentryTracing = < PluginContext extends GraphQLContext, diff --git a/packages/twenty-server/src/engine/integrations/message-queue/jobs.module.ts b/packages/twenty-server/src/engine/integrations/message-queue/jobs.module.ts index d2f056b721..5e54e6dc3a 100644 --- a/packages/twenty-server/src/engine/integrations/message-queue/jobs.module.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/jobs.module.ts @@ -7,13 +7,13 @@ import { GmailFullSyncJob } from 'src/modules/messaging/jobs/gmail-full-sync.job import { CallWebhookJobsJob } from 'src/engine/api/graphql/workspace-query-runner/jobs/call-webhook-jobs.job'; import { CallWebhookJob } from 'src/engine/api/graphql/workspace-query-runner/jobs/call-webhook.job'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; import { CleanInactiveWorkspaceJob } from 'src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.job'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; import { GmailPartialSyncJob } from 'src/modules/messaging/jobs/gmail-partial-sync.job'; import { EmailSenderJob } from 'src/engine/integrations/email/email-sender.job'; -import { UserModule } from 'src/engine/modules/user/user.module'; +import { UserModule } from 'src/engine/core-modules/user/user.module'; import { EnvironmentModule } from 'src/engine/integrations/environment/environment.module'; import { FetchAllWorkspacesMessagesJob } from 'src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job'; import { MatchMessageParticipantJob } from 'src/modules/messaging/jobs/match-message-participant.job'; @@ -23,13 +23,13 @@ import { DataSeedDemoWorkspaceModule } from 'src/database/commands/data-seed-dem import { DataSeedDemoWorkspaceJob } from 'src/database/commands/data-seed-demo-workspace/jobs/data-seed-demo-workspace.job'; import { DeleteConnectedAccountAssociatedMessagingDataJob } from 'src/modules/messaging/jobs/delete-connected-account-associated-messaging-data.job'; import { ThreadCleanerModule } from 'src/modules/messaging/services/thread-cleaner/thread-cleaner.module'; -import { UpdateSubscriptionJob } from 'src/engine/modules/billing/jobs/update-subscription.job'; -import { BillingModule } from 'src/engine/modules/billing/billing.module'; -import { UserWorkspaceModule } from 'src/engine/modules/user-workspace/user-workspace.module'; -import { StripeModule } from 'src/engine/modules/billing/stripe/stripe.module'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; +import { UpdateSubscriptionJob } from 'src/engine/core-modules/billing/jobs/update-subscription.job'; +import { BillingModule } from 'src/engine/core-modules/billing/billing.module'; +import { UserWorkspaceModule } from 'src/engine/core-modules/user-workspace/user-workspace.module'; +import { StripeModule } from 'src/engine/core-modules/billing/stripe/stripe.module'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; import { GoogleCalendarFullSyncJob } from 'src/modules/calendar/jobs/google-calendar-full-sync.job'; import { CalendarEventCleanerModule } from 'src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module'; import { RecordPositionBackfillJob } from 'src/engine/api/graphql/workspace-query-runner/jobs/record-position-backfill.job'; diff --git a/packages/twenty-server/src/engine-metadata/data-source/data-source.entity.ts b/packages/twenty-server/src/engine/metadata-modules/data-source/data-source.entity.ts similarity index 89% rename from packages/twenty-server/src/engine-metadata/data-source/data-source.entity.ts rename to packages/twenty-server/src/engine/metadata-modules/data-source/data-source.entity.ts index af1904194e..7224b7542f 100644 --- a/packages/twenty-server/src/engine-metadata/data-source/data-source.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/data-source/data-source.entity.ts @@ -8,7 +8,7 @@ import { OneToMany, } from 'typeorm'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export type DataSourceType = DataSourceOptions['type']; diff --git a/packages/twenty-server/src/engine-metadata/data-source/data-source.module.ts b/packages/twenty-server/src/engine/metadata-modules/data-source/data-source.module.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/data-source/data-source.module.ts rename to packages/twenty-server/src/engine/metadata-modules/data-source/data-source.module.ts diff --git a/packages/twenty-server/src/engine-metadata/data-source/data-source.service.ts b/packages/twenty-server/src/engine/metadata-modules/data-source/data-source.service.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/data-source/data-source.service.ts rename to packages/twenty-server/src/engine/metadata-modules/data-source/data-source.service.ts diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/composite-types/currency.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type.ts similarity index 81% rename from packages/twenty-server/src/engine-metadata/field-metadata/composite-types/currency.composite-type.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type.ts index 84b2714f15..3e0194c858 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/composite-types/currency.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type.ts @@ -1,8 +1,8 @@ -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { generateTargetColumnMap } from 'src/engine-metadata/field-metadata/utils/generate-target-column-map.util'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { generateTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util'; export const currencyFields = ( fieldMetadata?: FieldMetadataInterface, diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/composite-types/full-name.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type.ts similarity index 81% rename from packages/twenty-server/src/engine-metadata/field-metadata/composite-types/full-name.composite-type.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type.ts index bb39128fef..e05939c52e 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/composite-types/full-name.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type.ts @@ -1,8 +1,8 @@ -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { generateTargetColumnMap } from 'src/engine-metadata/field-metadata/utils/generate-target-column-map.util'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { generateTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util'; export const fullNameFields = ( fieldMetadata?: FieldMetadataInterface, diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts new file mode 100644 index 0000000000..c88c50aebc --- /dev/null +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts @@ -0,0 +1,19 @@ +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; + +import { currencyFields } from 'src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type'; +import { fullNameFields } from 'src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type'; +import { linkFields } from 'src/engine/metadata-modules/field-metadata/composite-types/link.composite-type'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; + +export type CompositeFieldsDefinitionFunction = ( + fieldMetadata?: FieldMetadataInterface, +) => FieldMetadataInterface[]; + +export const compositeDefinitions = new Map< + string, + CompositeFieldsDefinitionFunction +>([ + [FieldMetadataType.LINK, linkFields], + [FieldMetadataType.CURRENCY, currencyFields], + [FieldMetadataType.FULL_NAME, fullNameFields], +]); diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/composite-types/link.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/link.composite-type.ts similarity index 80% rename from packages/twenty-server/src/engine-metadata/field-metadata/composite-types/link.composite-type.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/link.composite-type.ts index d46511482c..7776a1f8db 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/composite-types/link.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/link.composite-type.ts @@ -1,8 +1,8 @@ -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { generateTargetColumnMap } from 'src/engine-metadata/field-metadata/utils/generate-target-column-map.util'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { generateTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util'; export const linkFields = ( fieldMetadata?: FieldMetadataInterface, diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/create-field.input.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/create-field.input.ts similarity index 84% rename from packages/twenty-server/src/engine-metadata/field-metadata/dtos/create-field.input.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/create-field.input.ts index d105dfe85e..40ccd7467a 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/create-field.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/create-field.input.ts @@ -3,7 +3,7 @@ import { Field, InputType, OmitType } from '@nestjs/graphql'; import { IsUUID, ValidateNested } from 'class-validator'; import { Type } from 'class-transformer'; -import { FieldMetadataDTO } from 'src/engine-metadata/field-metadata/dtos/field-metadata.dto'; +import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto'; @InputType() export class CreateFieldInput extends OmitType( diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/default-value.input.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/default-value.input.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/field-metadata/dtos/default-value.input.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/default-value.input.ts diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/field-metadata.dto.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto.ts similarity index 69% rename from packages/twenty-server/src/engine-metadata/field-metadata/dtos/field-metadata.dto.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto.ts index 37dea5a5c1..b901fca7ae 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/field-metadata.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto.ts @@ -26,15 +26,15 @@ import { Validate, } from 'class-validator'; -import { FieldMetadataOptions } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-options.interface'; -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; -import { RelationMetadataDTO } from 'src/engine-metadata/relation-metadata/dtos/relation-metadata.dto'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { BeforeDeleteOneField } from 'src/engine-metadata/field-metadata/hooks/before-delete-one-field.hook'; -import { IsFieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/validators/is-field-metadata-default-value.validator'; -import { IsFieldMetadataOptions } from 'src/engine-metadata/field-metadata/validators/is-field-metadata-options.validator'; -import { IsValidName } from 'src/engine-metadata/decorators/is-valid-name.decorator'; +import { RelationMetadataDTO } from 'src/engine/metadata-modules/relation-metadata/dtos/relation-metadata.dto'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { BeforeDeleteOneField } from 'src/engine/metadata-modules/field-metadata/hooks/before-delete-one-field.hook'; +import { IsFieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/validators/is-field-metadata-default-value.validator'; +import { IsFieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/validators/is-field-metadata-options.validator'; +import { IsValidMetadataName } from 'src/engine/decorators/metadata/is-valid-metadata-name.decorator'; registerEnumType(FieldMetadataType, { name: 'FieldMetadataType', @@ -75,7 +75,7 @@ export class FieldMetadataDTO< @IsString() @IsNotEmpty() @Field() - @IsValidName() + @IsValidMetadataName() name: string; @IsString() diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/options.input.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/options.input.ts similarity index 76% rename from packages/twenty-server/src/engine-metadata/field-metadata/dtos/options.input.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/options.input.ts index c40baa7f56..19ab79a7fb 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/options.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/options.input.ts @@ -1,6 +1,6 @@ import { IsString, IsNumber, IsOptional, IsNotEmpty } from 'class-validator'; -import { IsValidGraphQLEnumName } from 'src/engine-metadata/field-metadata/validators/is-valid-graphql-enum-name.validator'; +import { IsValidGraphQLEnumName } from 'src/engine/metadata-modules/field-metadata/validators/is-valid-graphql-enum-name.validator'; export class FieldMetadataDefaultOption { @IsOptional() diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/relation-definition.dto.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/relation-definition.dto.ts similarity index 76% rename from packages/twenty-server/src/engine-metadata/field-metadata/dtos/relation-definition.dto.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/relation-definition.dto.ts index 96514fedec..3f97279947 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/relation-definition.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/relation-definition.dto.ts @@ -2,9 +2,9 @@ import { Field, ObjectType, registerEnumType } from '@nestjs/graphql'; import { IsEnum, IsNotEmpty } from 'class-validator'; -import { FieldMetadataDTO } from 'src/engine-metadata/field-metadata/dtos/field-metadata.dto'; -import { ObjectMetadataDTO } from 'src/engine-metadata/object-metadata/dtos/object-metadata.dto'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto'; +import { ObjectMetadataDTO } from 'src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; export enum RelationDefinitionType { ONE_TO_ONE = RelationMetadataType.ONE_TO_ONE, diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/update-field.input.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/update-field.input.ts similarity index 88% rename from packages/twenty-server/src/engine-metadata/field-metadata/dtos/update-field.input.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/update-field.input.ts index ab44d88dcc..ffa8049a67 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/dtos/update-field.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/update-field.input.ts @@ -10,7 +10,7 @@ import { import { Type } from 'class-transformer'; import { IsNotEmpty, IsUUID, ValidateNested } from 'class-validator'; -import { FieldMetadataDTO } from 'src/engine-metadata/field-metadata/dtos/field-metadata.dto'; +import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto'; @InputType() export class UpdateFieldInput extends OmitType( diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.entity.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts similarity index 76% rename from packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.entity.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts index 2ac194c4da..11bf1de227 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts @@ -10,13 +10,13 @@ import { UpdateDateColumn, } from 'typeorm'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { FieldMetadataTargetColumnMap } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-target-column-map.interface'; -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; -import { FieldMetadataOptions } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-options.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; export enum FieldMetadataType { UUID = 'UUID', diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.module.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.module.ts similarity index 71% rename from packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.module.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.module.ts index 89662c32a0..0104a59b64 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.module.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.module.ts @@ -8,16 +8,16 @@ import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm'; import { SortDirection } from '@ptc-org/nestjs-query-core'; import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module'; -import { WorkspaceMigrationModule } from 'src/engine-metadata/workspace-migration/workspace-migration.module'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; +import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { IsFieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/validators/is-field-metadata-default-value.validator'; -import { FieldMetadataResolver } from 'src/engine-metadata/field-metadata/field-metadata.resolver'; -import { FieldMetadataDTO } from 'src/engine-metadata/field-metadata/dtos/field-metadata.dto'; -import { IsFieldMetadataOptions } from 'src/engine-metadata/field-metadata/validators/is-field-metadata-options.validator'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { IsFieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/validators/is-field-metadata-default-value.validator'; +import { FieldMetadataResolver } from 'src/engine/metadata-modules/field-metadata/field-metadata.resolver'; +import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto'; +import { IsFieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/validators/is-field-metadata-options.validator'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { FieldMetadataService } from './field-metadata.service'; import { FieldMetadataEntity } from './field-metadata.entity'; diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.resolver.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts similarity index 67% rename from packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.resolver.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts index 6f465de5f6..99d145a3df 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.resolver.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts @@ -7,14 +7,14 @@ import { Resolver, } from '@nestjs/graphql'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; -import { CreateOneFieldMetadataInput } from 'src/engine-metadata/field-metadata/dtos/create-field.input'; -import { FieldMetadataDTO } from 'src/engine-metadata/field-metadata/dtos/field-metadata.dto'; -import { RelationDefinitionDTO } from 'src/engine-metadata/field-metadata/dtos/relation-definition.dto'; -import { UpdateOneFieldMetadataInput } from 'src/engine-metadata/field-metadata/dtos/update-field.input'; -import { FieldMetadataService } from 'src/engine-metadata/field-metadata/field-metadata.service'; +import { CreateOneFieldMetadataInput } from 'src/engine/metadata-modules/field-metadata/dtos/create-field.input'; +import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto'; +import { RelationDefinitionDTO } from 'src/engine/metadata-modules/field-metadata/dtos/relation-definition.dto'; +import { UpdateOneFieldMetadataInput } from 'src/engine/metadata-modules/field-metadata/dtos/update-field.input'; +import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/field-metadata.service'; @UseGuards(JwtAuthGuard) @Resolver(() => FieldMetadataDTO) diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts similarity index 90% rename from packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.service.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts index 038b0a83c5..de36dd3028 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts @@ -11,30 +11,30 @@ import { FindOneOptions, Repository } from 'typeorm'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; import { WorkspaceMigrationRunnerService } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service'; -import { WorkspaceMigrationService } from 'src/engine-metadata/workspace-migration/workspace-migration.service'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; -import { CreateFieldInput } from 'src/engine-metadata/field-metadata/dtos/create-field.input'; +import { WorkspaceMigrationService } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; +import { CreateFieldInput } from 'src/engine/metadata-modules/field-metadata/dtos/create-field.input'; import { WorkspaceMigrationColumnActionType, WorkspaceMigrationTableAction, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { generateTargetColumnMap } from 'src/engine-metadata/field-metadata/utils/generate-target-column-map.util'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; +import { generateTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; -import { UpdateFieldInput } from 'src/engine-metadata/field-metadata/dtos/update-field.input'; -import { WorkspaceMigrationFactory } from 'src/engine-metadata/workspace-migration/workspace-migration.factory'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; +import { UpdateFieldInput } from 'src/engine/metadata-modules/field-metadata/dtos/update-field.input'; +import { WorkspaceMigrationFactory } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.factory'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; -import { generateMigrationName } from 'src/engine-metadata/workspace-migration/utils/generate-migration-name.util'; -import { generateNullable } from 'src/engine-metadata/field-metadata/utils/generate-nullable'; -import { FieldMetadataDTO } from 'src/engine-metadata/field-metadata/dtos/field-metadata.dto'; +import { generateMigrationName } from 'src/engine/metadata-modules/workspace-migration/utils/generate-migration-name.util'; +import { generateNullable } from 'src/engine/metadata-modules/field-metadata/utils/generate-nullable'; +import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto'; import { RelationDefinitionDTO, RelationDefinitionType, -} from 'src/engine-metadata/field-metadata/dtos/relation-definition.dto'; +} from 'src/engine/metadata-modules/field-metadata/dtos/relation-definition.dto'; import { RelationMetadataEntity, RelationMetadataType, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { FieldMetadataEntity, diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/hooks/before-delete-one-field.hook.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/hooks/before-delete-one-field.hook.ts similarity index 86% rename from packages/twenty-server/src/engine-metadata/field-metadata/hooks/before-delete-one-field.hook.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/hooks/before-delete-one-field.hook.ts index fa85f76e26..a9f65528b6 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/hooks/before-delete-one-field.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/hooks/before-delete-one-field.hook.ts @@ -9,8 +9,8 @@ import { DeleteOneInputType, } from '@ptc-org/nestjs-query-graphql'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { FieldMetadataService } from 'src/engine-metadata/field-metadata/field-metadata.service'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/field-metadata.service'; @Injectable() export class BeforeDeleteOneField implements BeforeDeleteOneHook { diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts similarity index 94% rename from packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts index d08a8be1cf..191f077bc2 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts @@ -10,8 +10,8 @@ import { FieldMetadataDefaultValueStringArray, FieldMetadataDynamicDefaultValueNow, FieldMetadataDynamicDefaultValueUuid, -} from 'src/engine-metadata/field-metadata/dtos/default-value.input'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +} from 'src/engine/metadata-modules/field-metadata/dtos/default-value.input'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; type FieldMetadataScalarDefaultValue = | FieldMetadataDefaultValueString diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata-options.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface.ts similarity index 79% rename from packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata-options.interface.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface.ts index 5a7c966591..c6139048b5 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata-options.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface.ts @@ -1,8 +1,8 @@ import { FieldMetadataComplexOption, FieldMetadataDefaultOption, -} from 'src/engine-metadata/field-metadata/dtos/options.input'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +} from 'src/engine/metadata-modules/field-metadata/dtos/options.input'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; type FieldMetadataOptionsMapping = { [FieldMetadataType.RATING]: FieldMetadataDefaultOption[]; diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata-target-column-map.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface.ts similarity index 91% rename from packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata-target-column-map.interface.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface.ts index 39e573e183..946b0acf4d 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/field-metadata-target-column-map.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export interface FieldMetadataTargetColumnMapValue { value: string; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface.ts new file mode 100644 index 0000000000..2f276ae216 --- /dev/null +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface.ts @@ -0,0 +1,25 @@ +import { FieldMetadataTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; + +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; + +export interface FieldMetadataInterface< + T extends FieldMetadataType | 'default' = 'default', +> { + id: string; + type: FieldMetadataType; + name: string; + label: string; + targetColumnMap: FieldMetadataTargetColumnMap; + defaultValue?: FieldMetadataDefaultValue; + options?: FieldMetadataOptions; + objectMetadataId: string; + workspaceId?: string; + description?: string; + isNullable?: boolean; + fromRelationMetadata?: RelationMetadataEntity; + toRelationMetadata?: RelationMetadataEntity; + isCustom?: boolean; +} diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/object-metadata.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/field-metadata/interfaces/object-metadata.interface.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface.ts diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/relation-metadata.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/relation-metadata.interface.ts similarity index 83% rename from packages/twenty-server/src/engine-metadata/field-metadata/interfaces/relation-metadata.interface.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/relation-metadata.interface.ts index cbb094a318..b1342b4b83 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/interfaces/relation-metadata.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/relation-metadata.interface.ts @@ -1,4 +1,4 @@ -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { ObjectMetadataInterface } from './object-metadata.interface'; import { FieldMetadataInterface } from './field-metadata.interface'; diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/generate-nullable.spec.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/generate-nullable.spec.ts similarity index 85% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/generate-nullable.spec.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/generate-nullable.spec.ts index f1393dc1c1..6d4ab10319 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/generate-nullable.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/generate-nullable.spec.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { generateNullable } from 'src/engine-metadata/field-metadata/utils/generate-nullable'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { generateNullable } from 'src/engine/metadata-modules/field-metadata/utils/generate-nullable'; describe('generateNullable', () => { it('should generate a nullable value false for TEXT, EMAIL, PHONE no matter what the input is', () => { diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/generate-target-column-map.spec.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/generate-target-column-map.spec.ts similarity index 81% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/generate-target-column-map.spec.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/generate-target-column-map.spec.ts index c7e53f0fe2..578e191911 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/generate-target-column-map.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/generate-target-column-map.spec.ts @@ -1,7 +1,7 @@ import { BadRequestException } from '@nestjs/common'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { generateTargetColumnMap } from 'src/engine-metadata/field-metadata/utils/generate-target-column-map.util'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { generateTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util'; describe('generateTargetColumnMap', () => { it('should generate a target column map for a given type', () => { diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/serialize-default-value.spec.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/serialize-default-value.spec.ts similarity index 92% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/serialize-default-value.spec.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/serialize-default-value.spec.ts index 4e0489b902..160c77579c 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/serialize-default-value.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/serialize-default-value.spec.ts @@ -1,6 +1,6 @@ import { BadRequestException } from '@nestjs/common'; -import { serializeDefaultValue } from 'src/engine-metadata/field-metadata/utils/serialize-default-value'; +import { serializeDefaultValue } from 'src/engine/metadata-modules/field-metadata/utils/serialize-default-value'; describe('serializeDefaultValue', () => { it('should return null for undefined defaultValue', () => { diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts similarity index 95% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts index 83752ae8bb..bc8146b3fc 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { validateDefaultValueForType } from 'src/engine-metadata/field-metadata/utils/validate-default-value-for-type.util'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { validateDefaultValueForType } from 'src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util'; describe('validateDefaultValueForType', () => { it('should return true for null defaultValue', () => { diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-default-value.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts similarity index 71% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-default-value.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts index 02e8cff1e2..426a0c510d 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-default-value.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts @@ -1,6 +1,6 @@ -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export function generateDefaultValue( type: FieldMetadataType, diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-nullable.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-nullable.ts similarity index 75% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-nullable.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-nullable.ts index 16f7eb3527..650a01f406 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-nullable.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-nullable.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export function generateNullable( type: FieldMetadataType, diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-rating-optionts.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-rating-optionts.util.ts similarity index 79% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-rating-optionts.util.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-rating-optionts.util.ts index 665563b12a..06f4f5a9e2 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-rating-optionts.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-rating-optionts.util.ts @@ -1,6 +1,6 @@ import { v4 as uuidV4 } from 'uuid'; -import { FieldMetadataDefaultOption } from 'src/engine-metadata/field-metadata/dtos/options.input'; +import { FieldMetadataDefaultOption } from 'src/engine/metadata-modules/field-metadata/dtos/options.input'; const range = { start: 1, diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-target-column-map.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util.ts similarity index 83% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-target-column-map.util.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util.ts index 54161679ca..e1d4694399 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/generate-target-column-map.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util.ts @@ -1,9 +1,9 @@ import { BadRequestException } from '@nestjs/common'; -import { FieldMetadataTargetColumnMap } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-target-column-map.interface'; +import { FieldMetadataTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { createCustomColumnName } from 'src/engine-metadata/utils/create-custom-column-name.util'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { createCustomColumnName } from 'src/engine/utils/create-custom-column-name.util'; /** * Generate a target column map for a given type, this is used to map the field to the correct column(s) in the database. diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts similarity index 75% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts index 032617d389..c62caada5c 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export const isCompositeFieldMetadataType = ( type: FieldMetadataType, diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/is-enum-field-metadata-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util.ts similarity index 79% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/is-enum-field-metadata-type.util.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util.ts index 1262c8b5bf..2e179b45f2 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/is-enum-field-metadata-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export type EnumFieldMetadataUnionType = | FieldMetadataType.RATING diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/serialize-default-value.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/serialize-default-value.ts similarity index 85% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/serialize-default-value.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/serialize-default-value.ts index 0cb3f0e1de..6ce2b51535 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/serialize-default-value.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/serialize-default-value.ts @@ -1,8 +1,8 @@ import { BadRequestException } from '@nestjs/common'; -import { FieldMetadataDefaultSerializableValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataDefaultSerializableValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; -import { serializeTypeDefaultValue } from 'src/engine-metadata/field-metadata/utils/serialize-type-default-value.util'; +import { serializeTypeDefaultValue } from 'src/engine/metadata-modules/field-metadata/utils/serialize-type-default-value.util'; export const serializeDefaultValue = ( defaultValue?: FieldMetadataDefaultSerializableValue, diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/serialize-type-default-value.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/serialize-type-default-value.util.ts similarity index 68% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/serialize-type-default-value.util.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/serialize-type-default-value.util.ts index f31a92d9a9..02831c631e 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/serialize-type-default-value.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/serialize-type-default-value.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataDynamicDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataDynamicDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; export const serializeTypeDefaultValue = ( defaultValue?: FieldMetadataDynamicDefaultValue, diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/validate-default-value-for-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts similarity index 88% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/validate-default-value-for-type.util.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts index 9e9377e240..4c436bff8a 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/validate-default-value-for-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts @@ -1,9 +1,9 @@ import { plainToInstance } from 'class-transformer'; import { validateSync } from 'class-validator'; -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { FieldMetadataDefaultValueBoolean, FieldMetadataDefaultValueCurrency, @@ -16,7 +16,7 @@ import { FieldMetadataDefaultValueStringArray, FieldMetadataDynamicDefaultValueNow, FieldMetadataDynamicDefaultValueUuid, -} from 'src/engine-metadata/field-metadata/dtos/default-value.input'; +} from 'src/engine/metadata-modules/field-metadata/dtos/default-value.input'; export const defaultValueValidatorsMap = { [FieldMetadataType.UUID]: [ diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/utils/validate-options-for-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-options-for-type.util.ts similarity index 82% rename from packages/twenty-server/src/engine-metadata/field-metadata/utils/validate-options-for-type.util.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-options-for-type.util.ts index e68b328b00..f671d0ea0a 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/utils/validate-options-for-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-options-for-type.util.ts @@ -1,13 +1,13 @@ import { plainToInstance } from 'class-transformer'; import { validateSync } from 'class-validator'; -import { FieldMetadataOptions } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-options.interface'; +import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { FieldMetadataComplexOption, FieldMetadataDefaultOption, -} from 'src/engine-metadata/field-metadata/dtos/options.input'; +} from 'src/engine/metadata-modules/field-metadata/dtos/options.input'; import { isEnumFieldMetadataType } from './is-enum-field-metadata-type.util'; diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/validators/is-field-metadata-default-value.validator.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-default-value.validator.ts similarity index 73% rename from packages/twenty-server/src/engine-metadata/field-metadata/validators/is-field-metadata-default-value.validator.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-default-value.validator.ts index a9eaf4f699..1064f999af 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/validators/is-field-metadata-default-value.validator.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-default-value.validator.ts @@ -6,14 +6,14 @@ import { ValidatorConstraintInterface, } from 'class-validator'; -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; -import { FieldMetadataService } from 'src/engine-metadata/field-metadata/field-metadata.service'; +import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/field-metadata.service'; import { FieldMetadataEntity, FieldMetadataType, -} from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { validateDefaultValueForType } from 'src/engine-metadata/field-metadata/utils/validate-default-value-for-type.util'; +} from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { validateDefaultValueForType } from 'src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util'; @Injectable() @ValidatorConstraint({ name: 'isFieldMetadataDefaultValue', async: true }) diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/validators/is-field-metadata-options.validator.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-options.validator.ts similarity index 72% rename from packages/twenty-server/src/engine-metadata/field-metadata/validators/is-field-metadata-options.validator.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-options.validator.ts index 783bafdfb9..ecbb091539 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/validators/is-field-metadata-options.validator.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-options.validator.ts @@ -2,14 +2,14 @@ import { Injectable } from '@nestjs/common'; import { ValidationArguments, ValidatorConstraint } from 'class-validator'; -import { FieldMetadataOptions } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-options.interface'; +import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; -import { FieldMetadataService } from 'src/engine-metadata/field-metadata/field-metadata.service'; +import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/field-metadata.service'; import { FieldMetadataEntity, FieldMetadataType, -} from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { validateOptionsForType } from 'src/engine-metadata/field-metadata/utils/validate-options-for-type.util'; +} from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { validateOptionsForType } from 'src/engine/metadata-modules/field-metadata/utils/validate-options-for-type.util'; @Injectable() @ValidatorConstraint({ name: 'isFieldMetadataOptions', async: true }) diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/validators/is-valid-graphql-enum-name.validator.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-valid-graphql-enum-name.validator.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/field-metadata/validators/is-valid-graphql-enum-name.validator.ts rename to packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-valid-graphql-enum-name.validator.ts diff --git a/packages/twenty-server/src/engine/metadata-modules/metadata-engine.module.ts b/packages/twenty-server/src/engine/metadata-modules/metadata-engine.module.ts new file mode 100644 index 0000000000..9eb3ea4682 --- /dev/null +++ b/packages/twenty-server/src/engine/metadata-modules/metadata-engine.module.ts @@ -0,0 +1,27 @@ +import { Module } from '@nestjs/common'; + +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; +import { FieldMetadataModule } from 'src/engine/metadata-modules/field-metadata/field-metadata.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; +import { RelationMetadataModule } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.module'; +import { WorkspaceCacheVersionModule } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.module'; +import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module'; + +@Module({ + imports: [ + DataSourceModule, + FieldMetadataModule, + ObjectMetadataModule, + RelationMetadataModule, + WorkspaceCacheVersionModule, + WorkspaceMigrationModule, + ], + providers: [], + exports: [ + DataSourceModule, + FieldMetadataModule, + ObjectMetadataModule, + RelationMetadataModule, + ], +}) +export class MetadataEngineModule {} diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/dtos/create-object.input.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts similarity index 78% rename from packages/twenty-server/src/engine-metadata/object-metadata/dtos/create-object.input.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts index c6e031944b..7719af1d09 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/dtos/create-object.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts @@ -3,8 +3,8 @@ import { Field, HideField, InputType } from '@nestjs/graphql'; import { BeforeCreateOne } from '@ptc-org/nestjs-query-graphql'; import { IsNotEmpty, IsOptional, IsString, IsUUID } from 'class-validator'; -import { IsValidName } from 'src/engine-metadata/decorators/is-valid-name.decorator'; -import { BeforeCreateOneObject } from 'src/engine-metadata/object-metadata/hooks/before-create-one-object.hook'; +import { IsValidMetadataName } from 'src/engine/decorators/metadata/is-valid-metadata-name.decorator'; +import { BeforeCreateOneObject } from 'src/engine/metadata-modules/object-metadata/hooks/before-create-one-object.hook'; @InputType() @BeforeCreateOne(BeforeCreateOneObject) @@ -12,13 +12,13 @@ export class CreateObjectInput { @IsString() @IsNotEmpty() @Field() - @IsValidName() + @IsValidMetadataName() nameSingular: string; @IsString() @IsNotEmpty() @Field() - @IsValidName() + @IsValidMetadataName() namePlural: string; @IsString() diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/dtos/delete-object.input.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/delete-object.input.ts similarity index 71% rename from packages/twenty-server/src/engine-metadata/object-metadata/dtos/delete-object.input.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/delete-object.input.ts index ab5a433181..578f63b320 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/dtos/delete-object.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/delete-object.input.ts @@ -2,7 +2,7 @@ import { ID, InputType } from '@nestjs/graphql'; import { BeforeDeleteOne, IDField } from '@ptc-org/nestjs-query-graphql'; -import { BeforeDeleteOneObject } from 'src/engine-metadata/object-metadata/hooks/before-delete-one-object.hook'; +import { BeforeDeleteOneObject } from 'src/engine/metadata-modules/object-metadata/hooks/before-delete-one-object.hook'; @InputType() @BeforeDeleteOne(BeforeDeleteOneObject) diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/dtos/object-metadata.dto.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto.ts similarity index 84% rename from packages/twenty-server/src/engine-metadata/object-metadata/dtos/object-metadata.dto.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto.ts index 48a9ef3286..0ca4d75ae2 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/dtos/object-metadata.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto.ts @@ -9,8 +9,8 @@ import { QueryOptions, } from '@ptc-org/nestjs-query-graphql'; -import { FieldMetadataDTO } from 'src/engine-metadata/field-metadata/dtos/field-metadata.dto'; -import { BeforeDeleteOneObject } from 'src/engine-metadata/object-metadata/hooks/before-delete-one-object.hook'; +import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto'; +import { BeforeDeleteOneObject } from 'src/engine/metadata-modules/object-metadata/hooks/before-delete-one-object.hook'; @ObjectType('object') @Authorize({ diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/dtos/update-object.input.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/update-object.input.ts similarity index 79% rename from packages/twenty-server/src/engine-metadata/object-metadata/dtos/update-object.input.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/update-object.input.ts index 28f5b957d2..cb74a3a300 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/dtos/update-object.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/update-object.input.ts @@ -3,8 +3,8 @@ import { Field, InputType } from '@nestjs/graphql'; import { BeforeUpdateOne } from '@ptc-org/nestjs-query-graphql'; import { IsBoolean, IsOptional, IsString, IsUUID } from 'class-validator'; -import { IsValidName } from 'src/engine-metadata/decorators/is-valid-name.decorator'; -import { BeforeUpdateOneObject } from 'src/engine-metadata/object-metadata/hooks/before-update-one-object.hook'; +import { IsValidMetadataName } from 'src/engine/decorators/metadata/is-valid-metadata-name.decorator'; +import { BeforeUpdateOneObject } from 'src/engine/metadata-modules/object-metadata/hooks/before-update-one-object.hook'; @InputType() @BeforeUpdateOne(BeforeUpdateOneObject) @@ -22,13 +22,13 @@ export class UpdateObjectInput { @IsString() @IsOptional() @Field({ nullable: true }) - @IsValidName() + @IsValidMetadataName() nameSingular?: string; @IsString() @IsOptional() @Field({ nullable: true }) - @IsValidName() + @IsValidMetadataName() namePlural?: string; @IsString() diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/hooks/before-create-one-object.hook.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-create-one-object.hook.ts similarity index 90% rename from packages/twenty-server/src/engine-metadata/object-metadata/hooks/before-create-one-object.hook.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-create-one-object.hook.ts index b876313c77..5d9960f270 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/hooks/before-create-one-object.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-create-one-object.hook.ts @@ -9,7 +9,7 @@ import { CreateOneInputType, } from '@ptc-org/nestjs-query-graphql'; -import { CreateObjectInput } from 'src/engine-metadata/object-metadata/dtos/create-object.input'; +import { CreateObjectInput } from 'src/engine/metadata-modules/object-metadata/dtos/create-object.input'; const coreObjectNames = [ 'featureFlag', diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/hooks/before-delete-one-object.hook.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-delete-one-object.hook.ts similarity index 91% rename from packages/twenty-server/src/engine-metadata/object-metadata/hooks/before-delete-one-object.hook.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-delete-one-object.hook.ts index 9d9a440440..6c3db542dd 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/hooks/before-delete-one-object.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-delete-one-object.hook.ts @@ -9,7 +9,7 @@ import { DeleteOneInputType, } from '@ptc-org/nestjs-query-graphql'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; @Injectable() export class BeforeDeleteOneObject implements BeforeDeleteOneHook { diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/hooks/before-update-one-object.hook.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-update-one-object.hook.ts similarity index 90% rename from packages/twenty-server/src/engine-metadata/object-metadata/hooks/before-update-one-object.hook.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-update-one-object.hook.ts index 5e43f76b9b..5301878621 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/hooks/before-update-one-object.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/hooks/before-update-one-object.hook.ts @@ -11,10 +11,10 @@ import { } from '@ptc-org/nestjs-query-graphql'; import { Equal, In, Repository } from 'typeorm'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { UpdateObjectInput } from 'src/engine-metadata/object-metadata/dtos/update-object.input'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { UpdateObjectInput } from 'src/engine/metadata-modules/object-metadata/dtos/update-object.input'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; @Injectable() export class BeforeUpdateOneObject diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.entity.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts similarity index 83% rename from packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.entity.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts index 83c03536e4..d6e68baf8e 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts @@ -9,11 +9,11 @@ import { ManyToOne, } from 'typeorm'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; -import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; +import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; @Entity('objectMetadata') @Unique('IndexOnNameSingularAndWorkspaceIdUnique', [ diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.module.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.module.ts similarity index 79% rename from packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.module.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.module.ts index 54686f3f09..722835a02a 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.module.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.module.ts @@ -7,14 +7,14 @@ import { import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm'; import { SortDirection } from '@ptc-org/nestjs-query-core'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module'; -import { WorkspaceMigrationModule } from 'src/engine-metadata/workspace-migration/workspace-migration.module'; +import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; -import { ObjectMetadataResolver } from 'src/engine-metadata/object-metadata/object-metadata.resolver'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; +import { ObjectMetadataResolver } from 'src/engine/metadata-modules/object-metadata/object-metadata.resolver'; import { ObjectMetadataService } from './object-metadata.service'; import { ObjectMetadataEntity } from './object-metadata.entity'; diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.resolver.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.resolver.ts similarity index 62% rename from packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.resolver.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.resolver.ts index 37c3a46349..002ab0a2b0 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.resolver.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.resolver.ts @@ -1,12 +1,12 @@ import { UseGuards } from '@nestjs/common'; import { Args, Mutation, Resolver } from '@nestjs/graphql'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; -import { ObjectMetadataDTO } from 'src/engine-metadata/object-metadata/dtos/object-metadata.dto'; -import { DeleteOneObjectInput } from 'src/engine-metadata/object-metadata/dtos/delete-object.input'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; +import { ObjectMetadataDTO } from 'src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto'; +import { DeleteOneObjectInput } from 'src/engine/metadata-modules/object-metadata/dtos/delete-object.input'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; @UseGuards(JwtAuthGuard) @Resolver(() => ObjectMetadataDTO) diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts similarity index 97% rename from packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.service.ts rename to packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts index 6fde2aca99..87817d3c36 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts @@ -11,30 +11,30 @@ import { FindManyOptions, FindOneOptions, Repository } from 'typeorm'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; import { Query, QueryOptions } from '@ptc-org/nestjs-query-core'; -import { WorkspaceMigrationService } from 'src/engine-metadata/workspace-migration/workspace-migration.service'; +import { WorkspaceMigrationService } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.service'; import { WorkspaceMigrationRunnerService } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service'; import { WorkspaceMigrationColumnActionType, WorkspaceMigrationColumnCreate, WorkspaceMigrationColumnDrop, WorkspaceMigrationTableAction, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { FieldMetadataEntity, FieldMetadataType, -} from 'src/engine-metadata/field-metadata/field-metadata.entity'; +} from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { RelationMetadataEntity, RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { computeCustomName } from 'src/engine/utils/compute-custom-name.util'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; -import { DeleteOneObjectInput } from 'src/engine-metadata/object-metadata/dtos/delete-object.input'; -import { RelationToDelete } from 'src/engine-metadata/relation-metadata/types/relation-to-delete'; -import { generateMigrationName } from 'src/engine-metadata/workspace-migration/utils/generate-migration-name.util'; +import { DeleteOneObjectInput } from 'src/engine/metadata-modules/object-metadata/dtos/delete-object.input'; +import { RelationToDelete } from 'src/engine/metadata-modules/relation-metadata/types/relation-to-delete'; +import { generateMigrationName } from 'src/engine/metadata-modules/workspace-migration/utils/generate-migration-name.util'; import { activityTargetStandardFieldIds, attachmentStandardFieldIds, diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/dtos/create-relation.input.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/dtos/create-relation.input.ts similarity index 84% rename from packages/twenty-server/src/engine-metadata/relation-metadata/dtos/create-relation.input.ts rename to packages/twenty-server/src/engine/metadata-modules/relation-metadata/dtos/create-relation.input.ts index a37f022cbb..d420b16ce9 100644 --- a/packages/twenty-server/src/engine-metadata/relation-metadata/dtos/create-relation.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/dtos/create-relation.input.ts @@ -9,8 +9,8 @@ import { IsUUID, } from 'class-validator'; -import { BeforeCreateOneRelation } from 'src/engine-metadata/relation-metadata/hooks/before-create-one-relation.hook'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { BeforeCreateOneRelation } from 'src/engine/metadata-modules/relation-metadata/hooks/before-create-one-relation.hook'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; @InputType() @BeforeCreateOne(BeforeCreateOneRelation) diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/dtos/relation-metadata.dto.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/dtos/relation-metadata.dto.ts similarity index 78% rename from packages/twenty-server/src/engine-metadata/relation-metadata/dtos/relation-metadata.dto.ts rename to packages/twenty-server/src/engine/metadata-modules/relation-metadata/dtos/relation-metadata.dto.ts index 37928b4b7d..bdb669a224 100644 --- a/packages/twenty-server/src/engine-metadata/relation-metadata/dtos/relation-metadata.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/dtos/relation-metadata.dto.ts @@ -15,9 +15,9 @@ import { Relation, } from '@ptc-org/nestjs-query-graphql'; -import { ObjectMetadataDTO } from 'src/engine-metadata/object-metadata/dtos/object-metadata.dto'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; -import { BeforeDeleteOneRelation } from 'src/engine-metadata/relation-metadata/hooks/before-delete-one-field.hook'; +import { ObjectMetadataDTO } from 'src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; +import { BeforeDeleteOneRelation } from 'src/engine/metadata-modules/relation-metadata/hooks/before-delete-one-field.hook'; registerEnumType(RelationMetadataType, { name: 'RelationMetadataType', diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/hooks/before-create-one-relation.hook.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-create-one-relation.hook.ts similarity index 84% rename from packages/twenty-server/src/engine-metadata/relation-metadata/hooks/before-create-one-relation.hook.ts rename to packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-create-one-relation.hook.ts index f1dadd4dd2..d91d9c923d 100644 --- a/packages/twenty-server/src/engine-metadata/relation-metadata/hooks/before-create-one-relation.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-create-one-relation.hook.ts @@ -5,7 +5,7 @@ import { CreateOneInputType, } from '@ptc-org/nestjs-query-graphql'; -import { CreateRelationInput } from 'src/engine-metadata/relation-metadata/dtos/create-relation.input'; +import { CreateRelationInput } from 'src/engine/metadata-modules/relation-metadata/dtos/create-relation.input'; @Injectable() export class BeforeCreateOneRelation diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/hooks/before-delete-one-field.hook.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-delete-one-field.hook.ts similarity index 91% rename from packages/twenty-server/src/engine-metadata/relation-metadata/hooks/before-delete-one-field.hook.ts rename to packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-delete-one-field.hook.ts index 91fe67a1c1..7976185590 100644 --- a/packages/twenty-server/src/engine-metadata/relation-metadata/hooks/before-delete-one-field.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/hooks/before-delete-one-field.hook.ts @@ -9,7 +9,7 @@ import { DeleteOneInputType, } from '@ptc-org/nestjs-query-graphql'; -import { RelationMetadataService } from 'src/engine-metadata/relation-metadata/relation-metadata.service'; +import { RelationMetadataService } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.service'; @Injectable() export class BeforeDeleteOneRelation implements BeforeDeleteOneHook { diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.entity.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.entity.ts similarity index 85% rename from packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.entity.ts rename to packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.entity.ts index 8fe38dbc87..6c2f55ad33 100644 --- a/packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.entity.ts @@ -9,10 +9,10 @@ import { UpdateDateColumn, } from 'typeorm'; -import { RelationMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/relation-metadata.interface'; +import { RelationMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-metadata.interface'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export enum RelationMetadataType { ONE_TO_ONE = 'ONE_TO_ONE', diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.module.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.module.ts similarity index 83% rename from packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.module.ts rename to packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.module.ts index e00f40e4f8..f0be7bc7df 100644 --- a/packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.module.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.module.ts @@ -7,9 +7,9 @@ import { import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm'; import { JwtAuthGuard } from 'src/engine/guards/jwt.auth.guard'; -import { FieldMetadataModule } from 'src/engine-metadata/field-metadata/field-metadata.module'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; -import { WorkspaceMigrationModule } from 'src/engine-metadata/workspace-migration/workspace-migration.module'; +import { FieldMetadataModule } from 'src/engine/metadata-modules/field-metadata/field-metadata.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; +import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module'; import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module'; import { RelationMetadataService } from './relation-metadata.service'; diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts similarity index 89% rename from packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.service.ts rename to packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts index 3620989390..b502772be1 100644 --- a/packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts @@ -11,18 +11,18 @@ import { FindOneOptions, In, Repository } from 'typeorm'; import camelCase from 'lodash.camelcase'; import { v4 as uuidV4 } from 'uuid'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; -import { FieldMetadataService } from 'src/engine-metadata/field-metadata/field-metadata.service'; -import { CreateRelationInput } from 'src/engine-metadata/relation-metadata/dtos/create-relation.input'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; +import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/field-metadata.service'; +import { CreateRelationInput } from 'src/engine/metadata-modules/relation-metadata/dtos/create-relation.input'; import { WorkspaceMigrationRunnerService } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service'; -import { WorkspaceMigrationService } from 'src/engine-metadata/workspace-migration/workspace-migration.service'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { WorkspaceMigrationColumnActionType } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { createCustomColumnName } from 'src/engine-metadata/utils/create-custom-column-name.util'; +import { WorkspaceMigrationService } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.service'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { WorkspaceMigrationColumnActionType } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { createCustomColumnName } from 'src/engine/utils/create-custom-column-name.util'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; -import { createRelationForeignKeyColumnName } from 'src/engine-metadata/relation-metadata/utils/create-relation-foreign-key-column-name.util'; -import { generateMigrationName } from 'src/engine-metadata/workspace-migration/utils/generate-migration-name.util'; +import { createRelationForeignKeyColumnName } from 'src/engine/metadata-modules/relation-metadata/utils/create-relation-foreign-key-column-name.util'; +import { generateMigrationName } from 'src/engine/metadata-modules/workspace-migration/utils/generate-migration-name.util'; import { RelationMetadataEntity, diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/types/relation-to-delete.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/types/relation-to-delete.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/relation-metadata/types/relation-to-delete.ts rename to packages/twenty-server/src/engine/metadata-modules/relation-metadata/types/relation-to-delete.ts diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/utils/create-relation-foreign-key-column-name.util.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/utils/create-relation-foreign-key-column-name.util.ts similarity index 77% rename from packages/twenty-server/src/engine-metadata/relation-metadata/utils/create-relation-foreign-key-column-name.util.ts rename to packages/twenty-server/src/engine/metadata-modules/relation-metadata/utils/create-relation-foreign-key-column-name.util.ts index 40d2b0f2aa..727fcf7637 100644 --- a/packages/twenty-server/src/engine-metadata/relation-metadata/utils/create-relation-foreign-key-column-name.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/utils/create-relation-foreign-key-column-name.util.ts @@ -1,4 +1,4 @@ -import { createCustomColumnName } from 'src/engine-metadata/utils/create-custom-column-name.util'; +import { createCustomColumnName } from 'src/engine/utils/create-custom-column-name.util'; import { camelCase } from 'src/utils/camel-case'; export const createRelationForeignKeyColumnName = ( diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/utils/create-relation-foreign-key-field-metadata-name.util.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/utils/create-relation-foreign-key-field-metadata-name.util.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/relation-metadata/utils/create-relation-foreign-key-field-metadata-name.util.ts rename to packages/twenty-server/src/engine/metadata-modules/relation-metadata/utils/create-relation-foreign-key-field-metadata-name.util.ts diff --git a/packages/twenty-server/src/engine-metadata/workspace-cache-version/workspace-cache-version.entity.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.entity.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/workspace-cache-version/workspace-cache-version.entity.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.entity.ts diff --git a/packages/twenty-server/src/engine-metadata/workspace-cache-version/workspace-cache-version.module.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.module.ts similarity index 55% rename from packages/twenty-server/src/engine-metadata/workspace-cache-version/workspace-cache-version.module.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.module.ts index 621892ff58..a0df038e4e 100644 --- a/packages/twenty-server/src/engine-metadata/workspace-cache-version/workspace-cache-version.module.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { WorkspaceCacheVersionEntity } from 'src/engine-metadata/workspace-cache-version/workspace-cache-version.entity'; -import { WorkspaceCacheVersionService } from 'src/engine-metadata/workspace-cache-version/workspace-cache-version.service'; +import { WorkspaceCacheVersionEntity } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.entity'; +import { WorkspaceCacheVersionService } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.service'; @Module({ imports: [ diff --git a/packages/twenty-server/src/engine-metadata/workspace-cache-version/workspace-cache-version.service.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.service.ts similarity index 88% rename from packages/twenty-server/src/engine-metadata/workspace-cache-version/workspace-cache-version.service.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.service.ts index 7730d11e5b..347dc81a09 100644 --- a/packages/twenty-server/src/engine-metadata/workspace-cache-version/workspace-cache-version.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.service.ts @@ -3,7 +3,7 @@ import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; -import { WorkspaceCacheVersionEntity } from 'src/engine-metadata/workspace-cache-version/workspace-cache-version.entity'; +import { WorkspaceCacheVersionEntity } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.entity'; @Injectable() export class WorkspaceCacheVersionService { diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/factories/basic-column-action.factory.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/basic-column-action.factory.ts similarity index 77% rename from packages/twenty-server/src/engine-metadata/workspace-migration/factories/basic-column-action.factory.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/basic-column-action.factory.ts index 35b772d13d..795b22861d 100644 --- a/packages/twenty-server/src/engine-metadata/workspace-migration/factories/basic-column-action.factory.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/basic-column-action.factory.ts @@ -1,18 +1,18 @@ import { Injectable, Logger } from '@nestjs/common'; -import { WorkspaceColumnActionOptions } from 'src/engine-metadata/workspace-migration/interfaces/workspace-column-action-options.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { WorkspaceColumnActionOptions } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-options.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { WorkspaceMigrationColumnActionType, WorkspaceMigrationColumnAlter, WorkspaceMigrationColumnCreate, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { serializeDefaultValue } from 'src/engine-metadata/field-metadata/utils/serialize-default-value'; -import { fieldMetadataTypeToColumnType } from 'src/engine-metadata/workspace-migration/utils/field-metadata-type-to-column-type.util'; -import { ColumnActionAbstractFactory } from 'src/engine-metadata/workspace-migration/factories/column-action-abstract.factory'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; +import { serializeDefaultValue } from 'src/engine/metadata-modules/field-metadata/utils/serialize-default-value'; +import { fieldMetadataTypeToColumnType } from 'src/engine/metadata-modules/workspace-migration/utils/field-metadata-type-to-column-type.util'; +import { ColumnActionAbstractFactory } from 'src/engine/metadata-modules/workspace-migration/factories/column-action-abstract.factory'; export type BasicFieldMetadataType = | FieldMetadataType.UUID diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/factories/column-action-abstract.factory.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/column-action-abstract.factory.ts similarity index 76% rename from packages/twenty-server/src/engine-metadata/workspace-migration/factories/column-action-abstract.factory.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/column-action-abstract.factory.ts index 40a5eec244..12941e92a9 100644 --- a/packages/twenty-server/src/engine-metadata/workspace-migration/factories/column-action-abstract.factory.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/column-action-abstract.factory.ts @@ -1,17 +1,17 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import { Logger } from '@nestjs/common'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { WorkspaceColumnActionOptions } from 'src/engine-metadata/workspace-migration/interfaces/workspace-column-action-options.interface'; -import { WorkspaceColumnActionFactory } from 'src/engine-metadata/workspace-migration/interfaces/workspace-column-action-factory.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { WorkspaceColumnActionOptions } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-options.interface'; +import { WorkspaceColumnActionFactory } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface'; import { WorkspaceMigrationColumnActionType, WorkspaceMigrationColumnAction, WorkspaceMigrationColumnCreate, WorkspaceMigrationColumnAlter, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export class ColumnActionAbstractFactory< T extends FieldMetadataType | 'default', diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/factories/enum-column-action.factory.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/enum-column-action.factory.ts similarity index 82% rename from packages/twenty-server/src/engine-metadata/workspace-migration/factories/enum-column-action.factory.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/enum-column-action.factory.ts index 4f39f4959a..6829ad6aec 100644 --- a/packages/twenty-server/src/engine-metadata/workspace-migration/factories/enum-column-action.factory.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/enum-column-action.factory.ts @@ -1,17 +1,17 @@ import { Injectable, Logger } from '@nestjs/common'; -import { WorkspaceColumnActionOptions } from 'src/engine-metadata/workspace-migration/interfaces/workspace-column-action-options.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { WorkspaceColumnActionOptions } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-options.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { WorkspaceMigrationColumnActionType, WorkspaceMigrationColumnAlter, WorkspaceMigrationColumnCreate, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { serializeDefaultValue } from 'src/engine-metadata/field-metadata/utils/serialize-default-value'; -import { fieldMetadataTypeToColumnType } from 'src/engine-metadata/workspace-migration/utils/field-metadata-type-to-column-type.util'; -import { ColumnActionAbstractFactory } from 'src/engine-metadata/workspace-migration/factories/column-action-abstract.factory'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; +import { serializeDefaultValue } from 'src/engine/metadata-modules/field-metadata/utils/serialize-default-value'; +import { fieldMetadataTypeToColumnType } from 'src/engine/metadata-modules/workspace-migration/utils/field-metadata-type-to-column-type.util'; +import { ColumnActionAbstractFactory } from 'src/engine/metadata-modules/workspace-migration/factories/column-action-abstract.factory'; export type EnumFieldMetadataType = | FieldMetadataType.RATING diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/factories.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/factories.ts new file mode 100644 index 0000000000..919ead74cb --- /dev/null +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/factories.ts @@ -0,0 +1,7 @@ +import { BasicColumnActionFactory } from 'src/engine/metadata-modules/workspace-migration/factories/basic-column-action.factory'; +import { EnumColumnActionFactory } from 'src/engine/metadata-modules/workspace-migration/factories/enum-column-action.factory'; + +export const workspaceColumnActionFactories = [ + BasicColumnActionFactory, + EnumColumnActionFactory, +]; diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/interfaces/workspace-column-action-factory.interface.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface.ts similarity index 52% rename from packages/twenty-server/src/engine-metadata/workspace-migration/interfaces/workspace-column-action-factory.interface.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface.ts index 9b02f358b1..05ef6f3135 100644 --- a/packages/twenty-server/src/engine-metadata/workspace-migration/interfaces/workspace-column-action-factory.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface.ts @@ -1,11 +1,11 @@ -import { WorkspaceColumnActionOptions } from 'src/engine-metadata/workspace-migration/interfaces/workspace-column-action-options.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { WorkspaceColumnActionOptions } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-options.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { WorkspaceMigrationColumnActionType, WorkspaceMigrationColumnAction, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; export interface WorkspaceColumnActionFactory< T extends FieldMetadataType | 'default', diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/interfaces/workspace-column-action-options.interface.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-options.interface.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/workspace-migration/interfaces/workspace-column-action-options.interface.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-options.interface.ts diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/utils/field-metadata-type-to-column-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/field-metadata-type-to-column-type.util.ts similarity index 91% rename from packages/twenty-server/src/engine-metadata/workspace-migration/utils/field-metadata-type-to-column-type.util.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/field-metadata-type-to-column-type.util.ts index 36bf8c30ac..cb309c3a4b 100644 --- a/packages/twenty-server/src/engine-metadata/workspace-migration/utils/field-metadata-type-to-column-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/field-metadata-type-to-column-type.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export const fieldMetadataTypeToColumnType = ( fieldMetadataType: Type, diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/utils/generate-migration-name.util.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/generate-migration-name.util.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/workspace-migration/utils/generate-migration-name.util.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/generate-migration-name.util.ts diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.entity.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.entity.ts similarity index 95% rename from packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.entity.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.entity.ts index 856f296fe2..edb9746fd3 100644 --- a/packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.entity.ts @@ -5,7 +5,7 @@ import { PrimaryGeneratedColumn, } from 'typeorm'; -import { RelationOnDeleteAction } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { RelationOnDeleteAction } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; export enum WorkspaceMigrationColumnActionType { CREATE = 'CREATE', diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.factory.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.factory.ts similarity index 83% rename from packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.factory.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.factory.ts index 55819d2d6f..8a4faf5a6b 100644 --- a/packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.factory.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.factory.ts @@ -1,18 +1,18 @@ import { Injectable, Logger } from '@nestjs/common'; -import { WorkspaceColumnActionFactory } from 'src/engine-metadata/workspace-migration/interfaces/workspace-column-action-factory.interface'; -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { WorkspaceColumnActionOptions } from 'src/engine-metadata/workspace-migration/interfaces/workspace-column-action-options.interface'; +import { WorkspaceColumnActionFactory } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { WorkspaceColumnActionOptions } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-options.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { BasicColumnActionFactory } from 'src/engine-metadata/workspace-migration/factories/basic-column-action.factory'; -import { EnumColumnActionFactory } from 'src/engine-metadata/workspace-migration/factories/enum-column-action.factory'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { BasicColumnActionFactory } from 'src/engine/metadata-modules/workspace-migration/factories/basic-column-action.factory'; +import { EnumColumnActionFactory } from 'src/engine/metadata-modules/workspace-migration/factories/enum-column-action.factory'; import { WorkspaceMigrationColumnAction, WorkspaceMigrationColumnActionType, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { isCompositeFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util'; -import { compositeDefinitions } from 'src/engine-metadata/field-metadata/composite-types'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; +import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; +import { compositeDefinitions } from 'src/engine/metadata-modules/field-metadata/composite-types'; @Injectable() export class WorkspaceMigrationFactory { diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.module.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.module.ts similarity index 70% rename from packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.module.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.module.ts index 00592c97c8..9e0d4072c4 100644 --- a/packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.module.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { workspaceColumnActionFactories } from 'src/engine-metadata/workspace-migration/factories/factories'; -import { WorkspaceMigrationFactory } from 'src/engine-metadata/workspace-migration/workspace-migration.factory'; +import { workspaceColumnActionFactories } from 'src/engine/metadata-modules/workspace-migration/factories/factories'; +import { WorkspaceMigrationFactory } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.factory'; import { WorkspaceMigrationService } from './workspace-migration.service'; import { WorkspaceMigrationEntity } from './workspace-migration.entity'; diff --git a/packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.service.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.service.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/workspace-migration/workspace-migration.service.ts rename to packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.service.ts diff --git a/packages/twenty-server/src/engine/modules/auth/types/jwt-data.type.ts b/packages/twenty-server/src/engine/modules/auth/types/jwt-data.type.ts deleted file mode 100644 index 6117bdd02c..0000000000 --- a/packages/twenty-server/src/engine/modules/auth/types/jwt-data.type.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { User } from 'src/engine/modules/user/user.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; - -export type JwtData = { - user?: User | undefined; - workspace: Workspace; -}; diff --git a/packages/twenty-server/src/engine/modules/billing/billing.module.ts b/packages/twenty-server/src/engine/modules/billing/billing.module.ts deleted file mode 100644 index bcdb7a6d4d..0000000000 --- a/packages/twenty-server/src/engine/modules/billing/billing.module.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; - -import { BillingController } from 'src/engine/modules/billing/billing.controller'; -import { BillingService } from 'src/engine/modules/billing/billing.service'; -import { StripeModule } from 'src/engine/modules/billing/stripe/stripe.module'; -import { BillingSubscription } from 'src/engine/modules/billing/entities/billing-subscription.entity'; -import { BillingSubscriptionItem } from 'src/engine/modules/billing/entities/billing-subscription-item.entity'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { BillingResolver } from 'src/engine/modules/billing/billing.resolver'; -import { BillingWorkspaceMemberListener } from 'src/engine/modules/billing/listeners/billing-workspace-member.listener'; -import { UserWorkspaceModule } from 'src/engine/modules/user-workspace/user-workspace.module'; - -@Module({ - imports: [ - StripeModule, - UserWorkspaceModule, - TypeOrmModule.forFeature( - [BillingSubscription, BillingSubscriptionItem, Workspace], - 'core', - ), - ], - controllers: [BillingController], - providers: [BillingService, BillingResolver, BillingWorkspaceMemberListener], - exports: [BillingService], -}) -export class BillingModule {} diff --git a/packages/twenty-server/src/engine/modules/engine-modules.module.ts b/packages/twenty-server/src/engine/modules/engine-modules.module.ts deleted file mode 100644 index d0dd309739..0000000000 --- a/packages/twenty-server/src/engine/modules/engine-modules.module.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { WorkspaceModule } from 'src/engine/modules/workspace/workspace.module'; -import { UserModule } from 'src/engine/modules/user/user.module'; -import { RefreshTokenModule } from 'src/engine/modules/refresh-token/refresh-token.module'; -import { AuthModule } from 'src/engine/modules/auth/auth.module'; -import { FeatureFlagModule } from 'src/engine/modules/feature-flag/feature-flag.module'; -import { OpenApiModule } from 'src/engine/modules/open-api/open-api.module'; -import { TimelineMessagingModule } from 'src/engine/modules/messaging/timeline-messaging.module'; -import { BillingModule } from 'src/engine/modules/billing/billing.module'; -import { HealthModule } from 'src/engine/modules/health/health.module'; -import { TimelineCalendarEventModule } from 'src/engine/modules/calendar/timeline-calendar-event.module'; - -import { AnalyticsModule } from './analytics/analytics.module'; -import { FileModule } from './file/file.module'; -import { ClientConfigModule } from './client-config/client-config.module'; - -@Module({ - imports: [ - HealthModule, - AnalyticsModule, - AuthModule, - BillingModule, - ClientConfigModule, - FeatureFlagModule, - FileModule, - OpenApiModule, - RefreshTokenModule, - TimelineMessagingModule, - TimelineCalendarEventModule, - UserModule, - WorkspaceModule, - ], - exports: [ - AnalyticsModule, - AuthModule, - FeatureFlagModule, - TimelineMessagingModule, - TimelineCalendarEventModule, - UserModule, - WorkspaceModule, - ], -}) -export class EngineModulesModule {} diff --git a/packages/twenty-server/src/engine/modules/feature-flag/interfaces/feature-flag-map.interface.ts b/packages/twenty-server/src/engine/modules/feature-flag/interfaces/feature-flag-map.interface.ts deleted file mode 100644 index 29fd782520..0000000000 --- a/packages/twenty-server/src/engine/modules/feature-flag/interfaces/feature-flag-map.interface.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { FeatureFlagKeys } from 'src/engine/modules/feature-flag/feature-flag.entity'; - -export type FeatureFlagMap = Record<`${FeatureFlagKeys}`, boolean>; diff --git a/packages/twenty-server/src/engine/modules/open-api/open-api.module.ts b/packages/twenty-server/src/engine/modules/open-api/open-api.module.ts deleted file mode 100644 index 0b8c25a64f..0000000000 --- a/packages/twenty-server/src/engine/modules/open-api/open-api.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { OpenApiController } from 'src/engine/modules/open-api/open-api.controller'; -import { OpenApiService } from 'src/engine/modules/open-api/open-api.service'; -import { AuthModule } from 'src/engine/modules/auth/auth.module'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; - -@Module({ - imports: [ObjectMetadataModule, AuthModule], - controllers: [OpenApiController], - providers: [OpenApiService], -}) -export class OpenApiModule {} diff --git a/packages/twenty-server/src/engine/strategies/aggregate-by-workspace-context-id.strategy.ts b/packages/twenty-server/src/engine/strategies/aggregate-by-workspace-context-id.strategy.ts new file mode 100644 index 0000000000..0a61e7354e --- /dev/null +++ b/packages/twenty-server/src/engine/strategies/aggregate-by-workspace-context-id.strategy.ts @@ -0,0 +1,38 @@ +import { + HostComponentInfo, + ContextId, + ContextIdFactory, + ContextIdStrategy, +} from '@nestjs/core'; + +import { jwtDecode } from 'jwt-decode'; +import { Request } from 'express'; + +import { JwtPayload } from 'src/engine/core-modules/auth/strategies/jwt.auth.strategy'; + +const workspaces = new Map(); + +export class AggregateByWorkspaceContextIdStrategy + implements ContextIdStrategy +{ + attach(contextId: ContextId, request: Request) { + const token = request.header('Authorization')?.replace('Bearer ', ''); + const jwtPayload = token ? jwtDecode(token) : null; + let workspaceSubTreeId: ContextId; + + if (!jwtPayload) { + return () => contextId; + } + + if (workspaces.has(jwtPayload.workspaceId)) { + workspaceSubTreeId = workspaces.get(jwtPayload.workspaceId)!; + } else { + workspaceSubTreeId = ContextIdFactory.create(); + workspaces.set(jwtPayload.workspaceId, workspaceSubTreeId); + } + + // If tree is not durable, return the original "contextId" object + return (info: HostComponentInfo) => + info.isTreeDurable ? workspaceSubTreeId : contextId; + } +} diff --git a/packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts b/packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts index fb8261818e..19630b0ec3 100644 --- a/packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts +++ b/packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts @@ -1,8 +1,8 @@ -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { RelationMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/relation-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { RelationMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-metadata.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { deduceRelationDirection, RelationDirection, diff --git a/packages/twenty-server/src/engine/utils/compute-object-target-table.util.ts b/packages/twenty-server/src/engine/utils/compute-object-target-table.util.ts index 5f7ee91749..05e22fb171 100644 --- a/packages/twenty-server/src/engine/utils/compute-object-target-table.util.ts +++ b/packages/twenty-server/src/engine/utils/compute-object-target-table.util.ts @@ -1,4 +1,4 @@ -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { computeCustomName } from './compute-custom-name.util'; diff --git a/packages/twenty-server/src/engine-metadata/utils/create-custom-column-name.util.ts b/packages/twenty-server/src/engine/utils/create-custom-column-name.util.ts similarity index 100% rename from packages/twenty-server/src/engine-metadata/utils/create-custom-column-name.util.ts rename to packages/twenty-server/src/engine/utils/create-custom-column-name.util.ts diff --git a/packages/twenty-server/src/engine/utils/deduce-relation-direction.util.ts b/packages/twenty-server/src/engine/utils/deduce-relation-direction.util.ts index 0122752b29..1d78d049bb 100644 --- a/packages/twenty-server/src/engine/utils/deduce-relation-direction.util.ts +++ b/packages/twenty-server/src/engine/utils/deduce-relation-direction.util.ts @@ -1,5 +1,5 @@ -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { RelationMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/relation-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; +import { RelationMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-metadata.interface'; export enum RelationDirection { FROM = 'from', diff --git a/packages/twenty-server/src/engine/utils/get-resolver-name.util.ts b/packages/twenty-server/src/engine/utils/get-resolver-name.util.ts index 25ac725369..1f4d0ebc7b 100644 --- a/packages/twenty-server/src/engine/utils/get-resolver-name.util.ts +++ b/packages/twenty-server/src/engine/utils/get-resolver-name.util.ts @@ -1,5 +1,5 @@ import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; +import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; import { camelCase } from 'src/utils/camel-case'; import { pascalCase } from 'src/utils/pascal-case'; diff --git a/packages/twenty-server/src/engine/filters/utils/global-exception-handler.util.ts b/packages/twenty-server/src/engine/utils/global-exception-handler.util.ts similarity index 97% rename from packages/twenty-server/src/engine/filters/utils/global-exception-handler.util.ts rename to packages/twenty-server/src/engine/utils/global-exception-handler.util.ts index cae610a89c..12f32656f8 100644 --- a/packages/twenty-server/src/engine/filters/utils/global-exception-handler.util.ts +++ b/packages/twenty-server/src/engine/utils/global-exception-handler.util.ts @@ -9,7 +9,7 @@ import { ValidationError, NotFoundError, ConflictError, -} from 'src/engine/filters/utils/graphql-errors.util'; +} from 'src/engine/utils/graphql-errors.util'; import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; const graphQLPredefinedExceptions = { diff --git a/packages/twenty-server/src/engine/filters/utils/graphql-errors.util.ts b/packages/twenty-server/src/engine/utils/graphql-errors.util.ts similarity index 100% rename from packages/twenty-server/src/engine/filters/utils/graphql-errors.util.ts rename to packages/twenty-server/src/engine/utils/graphql-errors.util.ts diff --git a/packages/twenty-server/src/engine/utils/is-relation-field-metadata-type.util.ts b/packages/twenty-server/src/engine/utils/is-relation-field-metadata-type.util.ts index 12c119d9f3..a5ed9d644e 100644 --- a/packages/twenty-server/src/engine/utils/is-relation-field-metadata-type.util.ts +++ b/packages/twenty-server/src/engine/utils/is-relation-field-metadata-type.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export const isRelationFieldMetadataType = ( type: FieldMetadataType, diff --git a/packages/twenty-server/src/engine/workspace-datasource/workspace-datasource.module.ts b/packages/twenty-server/src/engine/workspace-datasource/workspace-datasource.module.ts index 81ba4b09c7..17d0a5cf3d 100644 --- a/packages/twenty-server/src/engine/workspace-datasource/workspace-datasource.module.ts +++ b/packages/twenty-server/src/engine/workspace-datasource/workspace-datasource.module.ts @@ -1,7 +1,7 @@ import { Module } from '@nestjs/common'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; import { WorkspaceDataSourceService } from './workspace-datasource.service'; diff --git a/packages/twenty-server/src/engine/workspace-datasource/workspace-datasource.service.ts b/packages/twenty-server/src/engine/workspace-datasource/workspace-datasource.service.ts index a0f0583e44..d4400a85e9 100644 --- a/packages/twenty-server/src/engine/workspace-datasource/workspace-datasource.service.ts +++ b/packages/twenty-server/src/engine/workspace-datasource/workspace-datasource.service.ts @@ -2,9 +2,9 @@ import { Injectable } from '@nestjs/common'; import { DataSource, EntityManager } from 'typeorm'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; +import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; @Injectable() export class WorkspaceDataSourceService { diff --git a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/demo-objects-prefill-data.ts b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/demo-objects-prefill-data.ts index 99fb806c46..6ff9900719 100644 --- a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/demo-objects-prefill-data.ts +++ b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/demo-objects-prefill-data.ts @@ -1,6 +1,6 @@ import { DataSource, EntityManager } from 'typeorm'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { viewPrefillData } from 'src/engine/workspace-manager/demo-objects-prefill-data/view'; import { companyPrefillData } from 'src/engine/workspace-manager/demo-objects-prefill-data/company'; import { personPrefillData } from 'src/engine/workspace-manager/demo-objects-prefill-data/person'; diff --git a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/view.ts b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/view.ts index f503179918..e51867aa6f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/view.ts +++ b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/view.ts @@ -1,6 +1,6 @@ import { EntityManager } from 'typeorm'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export const viewPrefillData = async ( entityManager: EntityManager, diff --git a/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/standard-objects-prefill-data.ts b/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/standard-objects-prefill-data.ts index a33bdc9d1f..5b63225bad 100644 --- a/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/standard-objects-prefill-data.ts +++ b/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/standard-objects-prefill-data.ts @@ -1,6 +1,6 @@ import { DataSource, EntityManager } from 'typeorm'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { viewPrefillData } from 'src/engine/workspace-manager/standard-objects-prefill-data/view'; import { companyPrefillData } from 'src/engine/workspace-manager/standard-objects-prefill-data/company'; import { personPrefillData } from 'src/engine/workspace-manager/standard-objects-prefill-data/person'; diff --git a/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/view.ts b/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/view.ts index f503179918..e51867aa6f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/view.ts +++ b/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/view.ts @@ -1,6 +1,6 @@ import { EntityManager } from 'typeorm'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export const viewPrefillData = async ( entityManager: EntityManager, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/delete-incomplete-workspaces.command.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/delete-incomplete-workspaces.command.ts index 71c8c2b988..27f02bcc48 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/delete-incomplete-workspaces.command.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/delete-incomplete-workspaces.command.ts @@ -4,10 +4,10 @@ import { Logger } from '@nestjs/common'; import { Command, CommandRunner, Option } from 'nest-commander'; import { FindOptionsWhere, In, Repository } from 'typeorm'; -import { WorkspaceService } from 'src/engine/modules/workspace/services/workspace.service'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { WorkspaceService } from 'src/engine/core-modules/workspace/services/workspace.service'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { getDryRunLogHeader } from 'src/utils/get-dry-run-log-header'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; type DeleteIncompleteWorkspacesCommandOptions = { dryRun?: boolean; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.job.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.job.ts index af75e69bb2..952c606f69 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.job.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.job.ts @@ -9,14 +9,14 @@ import { import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; -import { UserService } from 'src/engine/modules/user/services/user.service'; +import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; +import { UserService } from 'src/engine/core-modules/user/services/user.service'; import { EmailService } from 'src/engine/integrations/email/email.service'; import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { CleanInactiveWorkspacesCommandOptions } from 'src/engine/workspace-manager/workspace-cleaner/commands/clean-inactive-workspaces.command'; import { getDryRunLogHeader } from 'src/utils/get-dry-run-log-header'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/workspace-cleaner.module.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/workspace-cleaner.module.ts index 300d3e6dcc..6bf7eb0136 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/workspace-cleaner.module.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/workspace-cleaner.module.ts @@ -1,13 +1,13 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { WorkspaceModule } from 'src/engine/modules/workspace/workspace.module'; +import { WorkspaceModule } from 'src/engine/core-modules/workspace/workspace.module'; import { DeleteIncompleteWorkspacesCommand } from 'src/engine/workspace-manager/workspace-cleaner/commands/delete-incomplete-workspaces.command'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { CleanInactiveWorkspacesCommand } from 'src/engine/workspace-manager/workspace-cleaner/commands/clean-inactive-workspaces.command'; import { StartCleanInactiveWorkspacesCronCommand } from 'src/engine/workspace-manager/workspace-cleaner/commands/start-clean-inactive-workspaces.cron.command'; import { StopCleanInactiveWorkspacesCronCommand } from 'src/engine/workspace-manager/workspace-cleaner/commands/stop-clean-inactive-workspaces.cron.command'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; @Module({ imports: [ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/abstract-workspace.fixer.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/abstract-workspace.fixer.ts index 2757628806..73af458d76 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/abstract-workspace.fixer.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/abstract-workspace.fixer.ts @@ -6,8 +6,8 @@ import { WorkspaceIssueTypeToInterface, } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; export class CompareEntity { current: T | null; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-default-value.fixer.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-default-value.fixer.ts index c1bce7bc47..eeaf4d708f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-default-value.fixer.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-default-value.fixer.ts @@ -7,10 +7,10 @@ import { WorkspaceHealthIssueType, } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { WorkspaceMigrationFieldFactory } from 'src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory'; import { AbstractWorkspaceFixer } from './abstract-workspace.fixer'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-nullable.fixer.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-nullable.fixer.ts index da9f687b1b..639acba87f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-nullable.fixer.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-nullable.fixer.ts @@ -8,8 +8,8 @@ import { } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { WorkspaceMigrationFieldFactory } from 'src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory'; import { AbstractWorkspaceFixer } from './abstract-workspace.fixer'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-target-column-map.fixer.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-target-column-map.fixer.ts index 57286171af..5b759c2bdb 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-target-column-map.fixer.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-target-column-map.fixer.ts @@ -9,15 +9,15 @@ import { } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { generateTargetColumnMap } from 'src/engine-metadata/field-metadata/utils/generate-target-column-map.util'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { generateTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; -import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; +import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; import { DatabaseStructureService } from 'src/engine/workspace-manager/workspace-health/services/database-structure.service'; import { WorkspaceMigrationFieldFactory } from 'src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory'; -import { isCompositeFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util'; +import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; import { AbstractWorkspaceFixer, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-type.fixer.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-type.fixer.ts index 827cde3719..280cb66133 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-type.fixer.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/fixer/workspace-type.fixer.ts @@ -8,8 +8,8 @@ import { } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { FieldMetadataUpdate, WorkspaceMigrationFieldFactory, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface.ts index 62b653b72d..6c7afab3f5 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface.ts @@ -1,8 +1,8 @@ import { WorkspaceTableStructure } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-table-definition.interface'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; export enum WorkspaceHealthIssueType { MISSING_TABLE = 'MISSING_TABLE', diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts index 65a2971c7a..9ace9434ac 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts @@ -7,16 +7,16 @@ import { WorkspaceTableStructure, WorkspaceTableStructureResult, } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-table-definition.interface'; -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; import { FieldMetadataEntity, FieldMetadataType, -} from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { fieldMetadataTypeToColumnType } from 'src/engine-metadata/workspace-migration/utils/field-metadata-type-to-column-type.util'; -import { serializeTypeDefaultValue } from 'src/engine-metadata/field-metadata/utils/serialize-type-default-value.util'; -import { isCompositeFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util'; +} from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { fieldMetadataTypeToColumnType } from 'src/engine/metadata-modules/workspace-migration/utils/field-metadata-type-to-column-type.util'; +import { serializeTypeDefaultValue } from 'src/engine/metadata-modules/field-metadata/utils/serialize-type-default-value.util'; +import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; @Injectable() diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/field-metadata-health.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/field-metadata-health.service.ts index 098aac67a4..a8dc1595f8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/field-metadata-health.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/field-metadata-health.service.ts @@ -8,25 +8,25 @@ import { } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface'; import { WorkspaceTableStructure } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-table-definition.interface'; import { WorkspaceHealthOptions } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-options.interface'; -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; import { FieldMetadataEntity, FieldMetadataType, -} from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { isCompositeFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util'; +} from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; import { DatabaseStructureService } from 'src/engine/workspace-manager/workspace-health/services/database-structure.service'; import { validName } from 'src/engine/workspace-manager/workspace-health/utils/valid-name.util'; -import { compositeDefinitions } from 'src/engine-metadata/field-metadata/composite-types'; -import { validateDefaultValueForType } from 'src/engine-metadata/field-metadata/utils/validate-default-value-for-type.util'; +import { compositeDefinitions } from 'src/engine/metadata-modules/field-metadata/composite-types'; +import { validateDefaultValueForType } from 'src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util'; import { EnumFieldMetadataUnionType, isEnumFieldMetadataType, -} from 'src/engine-metadata/field-metadata/utils/is-enum-field-metadata-type.util'; -import { validateOptionsForType } from 'src/engine-metadata/field-metadata/utils/validate-options-for-type.util'; -import { serializeDefaultValue } from 'src/engine-metadata/field-metadata/utils/serialize-default-value'; +} from 'src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util'; +import { validateOptionsForType } from 'src/engine/metadata-modules/field-metadata/utils/validate-options-for-type.util'; +import { serializeDefaultValue } from 'src/engine/metadata-modules/field-metadata/utils/serialize-default-value'; import { computeCompositeFieldMetadata } from 'src/engine/workspace-manager/workspace-health/utils/compute-composite-field-metadata.util'; -import { generateTargetColumnMap } from 'src/engine-metadata/field-metadata/utils/generate-target-column-map.util'; +import { generateTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util'; import { customNamePrefix } from 'src/engine/utils/compute-custom-name.util'; import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/object-metadata-health.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/object-metadata-health.service.ts index 2d730b1ab4..aa73f2e89d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/object-metadata-health.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/object-metadata-health.service.ts @@ -6,7 +6,7 @@ import { } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface'; import { WorkspaceHealthOptions } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-options.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { validName } from 'src/engine/workspace-manager/workspace-health/utils/valid-name.util'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/relation-metadata.health.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/relation-metadata.health.service.ts index 8433cc2e54..61a45e88b1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/relation-metadata.health.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/relation-metadata.health.service.ts @@ -10,18 +10,18 @@ import { WorkspaceHealthOptions, } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-options.interface'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataEntity, RelationMetadataType, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { RelationDirection, deduceRelationDirection, } from 'src/engine/utils/deduce-relation-direction.util'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { createRelationForeignKeyColumnName } from 'src/engine-metadata/relation-metadata/utils/create-relation-foreign-key-column-name.util'; -import { createRelationForeignKeyFieldMetadataName } from 'src/engine-metadata/relation-metadata/utils/create-relation-foreign-key-field-metadata-name.util'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { createRelationForeignKeyColumnName } from 'src/engine/metadata-modules/relation-metadata/utils/create-relation-foreign-key-column-name.util'; +import { createRelationForeignKeyFieldMetadataName } from 'src/engine/metadata-modules/relation-metadata/utils/create-relation-foreign-key-field-metadata-name.util'; import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; import { convertOnDeleteActionToOnDelete } from 'src/engine/workspace-manager/workspace-migration-runner/utils/convert-on-delete-action-to-on-delete.util'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/workspace-fix.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/workspace-fix.service.ts index 1e767530de..523ba45630 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/workspace-fix.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/workspace-fix.service.ts @@ -5,8 +5,8 @@ import { EntityManager } from 'typeorm'; import { WorkspaceHealthFixKind } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-fix-kind.interface'; import { WorkspaceHealthIssue } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-issue.interface'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { WorkspaceNullableFixer } from 'src/engine/workspace-manager/workspace-health/fixer/workspace-nullable.fixer'; import { WorkspaceDefaultValueFixer } from 'src/engine/workspace-manager/workspace-health/fixer/workspace-default-value.fixer'; import { WorkspaceTypeFixer } from 'src/engine/workspace-manager/workspace-health/fixer/workspace-type.fixer'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/utils/compute-composite-field-metadata.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/utils/compute-composite-field-metadata.util.ts index f7c8f2df00..02051e1283 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/utils/compute-composite-field-metadata.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/utils/compute-composite-field-metadata.util.ts @@ -1,6 +1,6 @@ -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; +import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { camelCase } from 'src/utils/camel-case'; // Compute composite field metadata by combining the composite field metadata with the field metadata diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/utils/map-field-metadata-type-to-data-type.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/utils/map-field-metadata-type-to-data-type.util.ts index c219eeca6a..c8999c7185 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/utils/map-field-metadata-type-to-data-type.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/utils/map-field-metadata-type-to-data-type.util.ts @@ -1,6 +1,6 @@ import { ConflictException } from '@nestjs/common'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export const mapFieldMetadataTypeToDataType = ( fieldMetadataType: FieldMetadataType, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/workspace-health.module.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/workspace-health.module.ts index 575d0992e5..90e87ba941 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/workspace-health.module.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/workspace-health.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; import { DatabaseStructureService } from 'src/engine/workspace-manager/workspace-health/services/database-structure.service'; import { FieldMetadataHealthService } from 'src/engine/workspace-manager/workspace-health/services/field-metadata-health.service'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/workspace-health.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/workspace-health.service.ts index 70c3cd316a..e62b56ef9b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/workspace-health.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/workspace-health.service.ts @@ -11,15 +11,15 @@ import { import { WorkspaceHealthFixKind } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-fix-kind.interface'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { ObjectMetadataHealthService } from 'src/engine/workspace-manager/workspace-health/services/object-metadata-health.service'; import { FieldMetadataHealthService } from 'src/engine/workspace-manager/workspace-health/services/field-metadata-health.service'; import { RelationMetadataHealthService } from 'src/engine/workspace-manager/workspace-health/services/relation-metadata.health.service'; import { DatabaseStructureService } from 'src/engine/workspace-manager/workspace-health/services/database-structure.service'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { WorkspaceMigrationRunnerService } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service'; import { WorkspaceFixService } from 'src/engine/workspace-manager/workspace-health/services/workspace-fix.service'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-manager.module.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-manager.module.ts index 0a482c3838..a3afeb00cc 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-manager.module.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-manager.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; -import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; -import { WorkspaceMigrationModule } from 'src/engine-metadata/workspace-migration/workspace-migration.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; +import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; +import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; import { WorkspaceSyncMetadataModule } from 'src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.module'; import { WorkspaceHealthModule } from 'src/engine/workspace-manager/workspace-health/workspace-health.module'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-manager.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-manager.service.ts index 3210df5297..3a17901ee2 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-manager.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-manager.service.ts @@ -1,12 +1,12 @@ import { Injectable } from '@nestjs/common'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; -import { ObjectMetadataService } from 'src/engine-metadata/object-metadata/object-metadata.service'; -import { WorkspaceMigrationService } from 'src/engine-metadata/workspace-migration/workspace-migration.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; +import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; +import { WorkspaceMigrationService } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.service'; import { standardObjectsPrefillData } from 'src/engine/workspace-manager/standard-objects-prefill-data/standard-objects-prefill-data'; import { demoObjectsPrefillData } from 'src/engine/workspace-manager/demo-objects-prefill-data/demo-objects-prefill-data'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; +import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; import { WorkspaceSyncMetadataService } from 'src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service'; @Injectable() diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory.ts index 7608cbb862..ceecfef006 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory.ts @@ -5,16 +5,16 @@ import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/wo import { FieldMetadataEntity, FieldMetadataType, -} from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +} from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { WorkspaceMigrationColumnActionType, WorkspaceMigrationEntity, WorkspaceMigrationTableAction, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; -import { WorkspaceMigrationFactory } from 'src/engine-metadata/workspace-migration/workspace-migration.factory'; -import { generateMigrationName } from 'src/engine-metadata/workspace-migration/utils/generate-migration-name.util'; +import { WorkspaceMigrationFactory } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.factory'; +import { generateMigrationName } from 'src/engine/metadata-modules/workspace-migration/utils/generate-migration-name.util'; export interface FieldMetadataUpdate { current: FieldMetadataEntity; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-object.factory.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-object.factory.ts index e4118ddac0..e5839b232e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-object.factory.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-object.factory.ts @@ -2,16 +2,16 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { WorkspaceMigrationColumnActionType, WorkspaceMigrationEntity, WorkspaceMigrationTableAction, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; -import { WorkspaceMigrationFactory } from 'src/engine-metadata/workspace-migration/workspace-migration.factory'; -import { generateMigrationName } from 'src/engine-metadata/workspace-migration/utils/generate-migration-name.util'; +import { WorkspaceMigrationFactory } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.factory'; +import { generateMigrationName } from 'src/engine/metadata-modules/workspace-migration/utils/generate-migration-name.util'; @Injectable() export class WorkspaceMigrationObjectFactory { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-relation.factory.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-relation.factory.ts index 980d917234..b195479d8a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-relation.factory.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-relation.factory.ts @@ -2,19 +2,19 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { WorkspaceMigrationColumnActionType, WorkspaceMigrationEntity, WorkspaceMigrationTableAction, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { RelationMetadataEntity, RelationMetadataType, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { camelCase } from 'src/utils/camel-case'; -import { generateMigrationName } from 'src/engine-metadata/workspace-migration/utils/generate-migration-name.util'; +import { generateMigrationName } from 'src/engine/metadata-modules/workspace-migration/utils/generate-migration-name.util'; @Injectable() export class WorkspaceMigrationRelationFactory { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/workspace-migration-builder.module.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/workspace-migration-builder.module.ts index e8fdacbf8e..cdf08d16d7 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/workspace-migration-builder.module.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/workspace-migration-builder.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { WorkspaceMigrationModule } from 'src/engine-metadata/workspace-migration/workspace-migration.module'; +import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module'; import { workspaceMigrationBuilderFactories } from './factories'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/services/workspace-migration-enum.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/services/workspace-migration-enum.service.ts index f723103517..5d8692c134 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/services/workspace-migration-enum.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/services/workspace-migration-enum.service.ts @@ -2,8 +2,8 @@ import { Injectable } from '@nestjs/common'; import { QueryRunner } from 'typeorm'; -import { WorkspaceMigrationColumnAlter } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { serializeDefaultValue } from 'src/engine-metadata/field-metadata/utils/serialize-default-value'; +import { WorkspaceMigrationColumnAlter } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; +import { serializeDefaultValue } from 'src/engine/metadata-modules/field-metadata/utils/serialize-default-value'; @Injectable() export class WorkspaceMigrationEnumService { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/services/workspace-migration-type.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/services/workspace-migration-type.service.ts index d3eb7eedf7..08c6ecbdf0 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/services/workspace-migration-type.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/services/workspace-migration-type.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { QueryRunner } from 'typeorm'; -import { WorkspaceMigrationColumnAlter } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { WorkspaceMigrationColumnAlter } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; @Injectable() export class WorkspaceMigrationTypeService { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/utils/convert-on-delete-action-to-on-delete.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/utils/convert-on-delete-action-to-on-delete.util.ts index 8b391f28f3..5bdb4e08f2 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/utils/convert-on-delete-action-to-on-delete.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/utils/convert-on-delete-action-to-on-delete.util.ts @@ -1,4 +1,4 @@ -import { RelationOnDeleteAction } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { RelationOnDeleteAction } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; export const convertOnDeleteActionToOnDelete = ( onDeleteAction: RelationOnDeleteAction | undefined, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module.ts index c0642d6dee..59f0bec2e6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; -import { WorkspaceMigrationModule } from 'src/engine-metadata/workspace-migration/workspace-migration.module'; +import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.module'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { WorkspaceCacheVersionModule } from 'src/engine-metadata/workspace-cache-version/workspace-cache-version.module'; +import { WorkspaceCacheVersionModule } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.module'; import { WorkspaceMigrationEnumService } from 'src/engine/workspace-manager/workspace-migration-runner/services/workspace-migration-enum.service'; import { WorkspaceMigrationRunnerService } from './workspace-migration-runner.service'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service.ts index 63e5187245..32fa108026 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service.ts @@ -8,7 +8,7 @@ import { TableUnique, } from 'typeorm'; -import { WorkspaceMigrationService } from 'src/engine-metadata/workspace-migration/workspace-migration.service'; +import { WorkspaceMigrationService } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.service'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { WorkspaceMigrationTableAction, @@ -18,8 +18,8 @@ import { WorkspaceMigrationColumnCreateRelation, WorkspaceMigrationColumnAlter, WorkspaceMigrationColumnDropRelation, -} from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { WorkspaceCacheVersionService } from 'src/engine-metadata/workspace-cache-version/workspace-cache-version.service'; +} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; +import { WorkspaceCacheVersionService } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.service'; import { WorkspaceMigrationEnumService } from 'src/engine/workspace-manager/workspace-migration-runner/services/workspace-migration-enum.service'; import { convertOnDeleteActionToOnDelete } from 'src/engine/workspace-manager/workspace-migration-runner/utils/convert-on-delete-action-to-on-delete.util'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/add-standard-id.command.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/add-standard-id.command.ts index 8c70d3ecf8..5e7cb3151e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/add-standard-id.command.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/add-standard-id.command.ts @@ -4,8 +4,8 @@ import { InjectDataSource } from '@nestjs/typeorm'; import { Command, CommandRunner } from 'nest-commander'; import { DataSource } from 'typeorm'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { standardObjectMetadataDefinitions } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects'; import { StandardObjectFactory } from 'src/engine/workspace-manager/workspace-sync-metadata/factories/standard-object.factory'; import { computeStandardObject } from 'src/engine/workspace-manager/workspace-sync-metadata/utils/compute-standard-object.util'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/services/sync-workspace-logger.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/services/sync-workspace-logger.service.ts index 397834ff62..25f92347d9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/services/sync-workspace-logger.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/services/sync-workspace-logger.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceSyncStorage } from 'src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { CommandLogger } from 'src/command/command-logger'; @Injectable() diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/sync-workspace-metadata.command.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/sync-workspace-metadata.command.ts index a338a3aa79..c43d6f9a4b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/sync-workspace-metadata.command.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/sync-workspace-metadata.command.ts @@ -2,10 +2,10 @@ import { Logger } from '@nestjs/common'; import { Command, CommandRunner, Option } from 'nest-commander'; -import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { WorkspaceSyncMetadataService } from 'src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service'; import { WorkspaceHealthService } from 'src/engine/workspace-manager/workspace-health/workspace-health.service'; -import { WorkspaceService } from 'src/engine/modules/workspace/services/workspace.service'; +import { WorkspaceService } from 'src/engine/core-modules/workspace/services/workspace.service'; import { SyncWorkspaceLoggerService } from './services/sync-workspace-logger.service'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/workspace-sync-metadata-commands.module.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/workspace-sync-metadata-commands.module.ts index 742b944003..c9fc904233 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/workspace-sync-metadata-commands.module.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/commands/workspace-sync-metadata-commands.module.ts @@ -1,9 +1,9 @@ import { Module } from '@nestjs/common'; -import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; +import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; import { WorkspaceSyncMetadataModule } from 'src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.module'; import { WorkspaceHealthModule } from 'src/engine/workspace-manager/workspace-health/workspace-health.module'; -import { WorkspaceModule } from 'src/engine/modules/workspace/workspace.module'; +import { WorkspaceModule } from 'src/engine/core-modules/workspace/workspace.module'; import { AddStandardIdCommand } from 'src/engine/workspace-manager/workspace-sync-metadata/commands/add-standard-id.command'; import { SyncWorkspaceMetadataCommand } from './sync-workspace-metadata.command'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-field.comparator.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-field.comparator.ts index 4556b95a1f..6de6fd2332 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-field.comparator.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-field.comparator.ts @@ -9,12 +9,12 @@ import { import { ComputedPartialFieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface'; import { ComputedPartialObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-object-metadata.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { transformMetadataForComparison } from 'src/engine/workspace-manager/workspace-sync-metadata/comparators/utils/transform-metadata-for-comparison.util'; import { FieldMetadataEntity, FieldMetadataType, -} from 'src/engine-metadata/field-metadata/field-metadata.entity'; +} from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; const commonFieldPropertiesToIgnore = [ 'id', diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-object.comparator.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-object.comparator.ts index 7e2ae26d9f..40f1ad2d85 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-object.comparator.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-object.comparator.ts @@ -10,7 +10,7 @@ import { import { ComputedPartialObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-object-metadata.interface'; import { transformMetadataForComparison } from 'src/engine/workspace-manager/workspace-sync-metadata/comparators/utils/transform-metadata-for-comparison.util'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; const objectPropertiesToIgnore = [ 'id', diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-relation.comparator.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-relation.comparator.ts index 2c170e0fc0..a0baf8e534 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-relation.comparator.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-relation.comparator.ts @@ -7,7 +7,7 @@ import { RelationComparatorResult, } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/comparator.interface'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { transformMetadataForComparison } from 'src/engine/workspace-manager/workspace-sync-metadata/comparators/utils/transform-metadata-for-comparison.util'; const relationPropertiesToIgnore = ['createdAt', 'updatedAt']; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/custom-objects/custom.object-metadata.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/custom-objects/custom.object-metadata.ts index d1baad13c7..523d79b0df 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/custom-objects/custom.object-metadata.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/custom-objects/custom.object-metadata.ts @@ -1,13 +1,13 @@ import { BaseCustomObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/base-custom-object-metadata.decorator'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-nullable.decorator'; import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { ActivityTargetObjectMetadata } from 'src/modules/activity/standard-objects/activity-target.object-metadata'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; import { FavoriteObjectMetadata } from 'src/modules/favorite/standard-objects/favorite.object-metadata'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/dynamic-field-metadata.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/dynamic-field-metadata.interface.ts index 1876482b23..3d0b49ec37 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/dynamic-field-metadata.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/dynamic-field-metadata.interface.ts @@ -1,7 +1,7 @@ import { DynamicRelationFieldMetadataDecoratorParams } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-computed-relation-field-metadata.interface'; import { TypedReflect } from 'src/utils/typed-reflect'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export function DynamicRelationFieldMetadata( params: DynamicRelationFieldMetadataDecoratorParams, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator.ts index 7ff971e8b8..641c9a6616 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator.ts @@ -3,11 +3,11 @@ import { ReflectFieldMetadata, } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-field-metadata.interface'; import { GateDecoratorParams } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/gate-decorator.interface'; -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { generateTargetColumnMap } from 'src/engine-metadata/field-metadata/utils/generate-target-column-map.util'; -import { generateDefaultValue } from 'src/engine-metadata/field-metadata/utils/generate-default-value'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { generateTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util'; +import { generateDefaultValue } from 'src/engine/metadata-modules/field-metadata/utils/generate-default-value'; import { TypedReflect } from 'src/utils/typed-reflect'; import { createDeterministicUuid } from 'src/engine/workspace-manager/workspace-sync-metadata/utils/create-deterministic-uuid.util'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator.ts index ceb6ca32a7..3307f6093b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator.ts @@ -6,7 +6,7 @@ import { } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-relation-metadata.interface'; import { TypedReflect } from 'src/utils/typed-reflect'; -import { RelationOnDeleteAction } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { RelationOnDeleteAction } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; export function RelationMetadata( params: RelationMetadataDecoratorParams, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/feature-flags.factory.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/feature-flags.factory.ts index c8c3fa29ff..763f1b4370 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/feature-flags.factory.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/feature-flags.factory.ts @@ -4,9 +4,9 @@ import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { WorkspaceSyncContext } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/workspace-sync-context.interface'; -import { FeatureFlagMap } from 'src/engine/modules/feature-flag/interfaces/feature-flag-map.interface'; +import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; @Injectable() export class FeatureFlagFactory { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-field.factory.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-field.factory.ts index 56608eb87c..d665fa5562 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-field.factory.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-field.factory.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceSyncContext } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/workspace-sync-context.interface'; -import { FeatureFlagMap } from 'src/engine/modules/feature-flag/interfaces/feature-flag-map.interface'; +import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; import { PartialComputedFieldMetadata, PartialFieldMetadata, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-object.factory.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-object.factory.ts index 3d45618381..b68fd2393a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-object.factory.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-object.factory.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceSyncContext } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/workspace-sync-context.interface'; import { PartialObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-object-metadata.interface'; -import { FeatureFlagMap } from 'src/engine/modules/feature-flag/interfaces/feature-flag-map.interface'; +import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; import { TypedReflect } from 'src/utils/typed-reflect'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-relation.factory.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-relation.factory.ts index dbb4d2be00..01b1e561ae 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-relation.factory.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-relation.factory.ts @@ -1,14 +1,14 @@ import { Injectable } from '@nestjs/common'; import { WorkspaceSyncContext } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/workspace-sync-context.interface'; -import { FeatureFlagMap } from 'src/engine/modules/feature-flag/interfaces/feature-flag-map.interface'; +import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; import { TypedReflect } from 'src/utils/typed-reflect'; import { isGatedAndNotEnabled } from 'src/engine/workspace-manager/workspace-sync-metadata/utils/is-gate-and-not-enabled.util'; import { assert } from 'src/utils/assert'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { convertClassNameToObjectMetadataName } from 'src/engine/workspace-manager/workspace-sync-metadata/utils/convert-class-to-object-metadata-name.util'; interface CustomRelationFactory { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/comparator.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/comparator.interface.ts index e01fa7559c..bb83fc881d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/comparator.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/comparator.interface.ts @@ -1,5 +1,5 @@ -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { ComputedPartialFieldMetadata } from './partial-field-metadata.interface'; import { ComputedPartialObjectMetadata } from './partial-object-metadata.interface'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/mapped-metadata.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/mapped-metadata.interface.ts index c9be4f066d..fc4f329fa7 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/mapped-metadata.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/mapped-metadata.interface.ts @@ -1,8 +1,8 @@ import { PartialFieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface'; import { PartialObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-object-metadata.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; export type MappedFieldMetadata = Record; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-computed-relation-field-metadata.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-computed-relation-field-metadata.interface.ts index 4be992e1ed..01b2fd3c01 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-computed-relation-field-metadata.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-computed-relation-field-metadata.interface.ts @@ -1,7 +1,7 @@ import { GateDecoratorParams } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/gate-decorator.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export type DynamicRelationFieldMetadataDecoratorParams = ( oppositeObjectMetadata: ObjectMetadataEntity, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-field-metadata.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-field-metadata.interface.ts index 1c9d837a97..74cde90847 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-field-metadata.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-field-metadata.interface.ts @@ -1,10 +1,10 @@ -import { FieldMetadataDefaultValue } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-default-value.interface'; +import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; import { GateDecoratorParams } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/gate-decorator.interface'; -import { FieldMetadataOptions } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-options.interface'; -import { FieldMetadataTargetColumnMap } from 'src/engine-metadata/field-metadata/interfaces/field-metadata-target-column-map.interface'; +import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; +import { FieldMetadataTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; export interface FieldMetadataDecoratorParams< T extends FieldMetadataType | 'default', diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-relation-metadata.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-relation-metadata.interface.ts index abbb593c65..32282798f4 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-relation-metadata.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/reflect-relation-metadata.interface.ts @@ -5,7 +5,7 @@ import { GateDecoratorParams } from 'src/engine/workspace-manager/workspace-sync import { RelationOnDeleteAction, RelationMetadataType, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; export interface RelationMetadataDecoratorParams { type: RelationMetadataType; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts index c75309aaab..85b09148fd 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts @@ -6,13 +6,13 @@ import omit from 'lodash.omit'; import { PartialFieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { FieldMetadataEntity, FieldMetadataType, -} from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; -import { FieldMetadataComplexOption } from 'src/engine-metadata/field-metadata/dtos/options.input'; +} from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; +import { FieldMetadataComplexOption } from 'src/engine/metadata-modules/field-metadata/dtos/options.input'; import { WorkspaceSyncStorage } from 'src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage'; @Injectable() diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-field-metadata.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-field-metadata.service.ts index 7461a4d52e..049e8c6893 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-field-metadata.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-field-metadata.service.ts @@ -4,11 +4,11 @@ import { EntityManager } from 'typeorm'; import { WorkspaceSyncContext } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/workspace-sync-context.interface'; import { ComparatorAction } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/comparator.interface'; -import { FeatureFlagMap } from 'src/engine/modules/feature-flag/interfaces/feature-flag-map.interface'; +import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { WorkspaceFieldComparator } from 'src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-field.comparator'; import { WorkspaceMetadataUpdaterService } from 'src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service'; import { WorkspaceSyncStorage } from 'src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata.service.ts index 1c271e2930..4707c7c45e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata.service.ts @@ -4,12 +4,12 @@ import { EntityManager } from 'typeorm'; import { WorkspaceSyncContext } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/workspace-sync-context.interface'; import { ComparatorAction } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/comparator.interface'; -import { FeatureFlagMap } from 'src/engine/modules/feature-flag/interfaces/feature-flag-map.interface'; +import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { mapObjectMetadataByUniqueIdentifier } from 'src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { StandardObjectFactory } from 'src/engine/workspace-manager/workspace-sync-metadata/factories/standard-object.factory'; import { WorkspaceObjectComparator } from 'src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-object.comparator'; import { WorkspaceFieldComparator } from 'src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-field.comparator'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-relation-metadata.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-relation-metadata.service.ts index 5e830fea96..9f89d19498 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-relation-metadata.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-relation-metadata.service.ts @@ -3,17 +3,17 @@ import { Injectable, Logger } from '@nestjs/common'; import { EntityManager } from 'typeorm'; import { WorkspaceSyncContext } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/workspace-sync-context.interface'; -import { FeatureFlagMap } from 'src/engine/modules/feature-flag/interfaces/feature-flag-map.interface'; +import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; import { ComparatorAction } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/comparator.interface'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { mapObjectMetadataByUniqueIdentifier } from 'src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util'; import { StandardRelationFactory } from 'src/engine/workspace-manager/workspace-sync-metadata/factories/standard-relation.factory'; import { WorkspaceRelationComparator } from 'src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-relation.comparator'; import { WorkspaceMetadataUpdaterService } from 'src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { WorkspaceSyncStorage } from 'src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage'; import { WorkspaceMigrationRelationFactory } from 'src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-relation.factory'; import { standardObjectMetadataDefinitions } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata.ts index 0594befd15..5277c7c8cb 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { baseObjectStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage.ts index 4589d7e4e6..9c39040546 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage.ts @@ -2,9 +2,9 @@ import { ComputedPartialObjectMetadata } from 'src/engine/workspace-manager/work import { ComputedPartialFieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface'; import { PartialRelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-relation-metadata.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; export class WorkspaceSyncStorage { // Object metadata diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/compute-standard-object.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/compute-standard-object.util.ts index 833a63d6f7..3356023f26 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/compute-standard-object.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/compute-standard-object.util.ts @@ -4,9 +4,9 @@ import { } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-object-metadata.interface'; import { ComputedPartialFieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { generateTargetColumnMap } from 'src/engine-metadata/field-metadata/utils/generate-target-column-map.util'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { generateTargetColumnMap } from 'src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { createDeterministicUuid } from 'src/engine/workspace-manager/workspace-sync-metadata/utils/create-deterministic-uuid.util'; export const computeStandardObject = ( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.spec.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.spec.ts index 9a5e171809..3ab01cd8e3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.spec.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.spec.ts @@ -1,5 +1,5 @@ -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { mapObjectMetadataByUniqueIdentifier } from './sync-metadata.util'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.module.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.module.ts index 2441f589d2..fe2634b78e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.module.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.module.ts @@ -1,11 +1,11 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -import { RelationMetadataEntity } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; +import { RelationMetadataEntity } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module'; import { WorkspaceSyncMetadataService } from 'src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service'; import { workspaceSyncMetadataFactories } from 'src/engine/workspace-manager/workspace-sync-metadata/factories'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service.ts index f1fc5e8cdb..8f908b6375 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.service.ts @@ -11,7 +11,7 @@ import { WorkspaceSyncObjectMetadataService } from 'src/engine/workspace-manager import { WorkspaceSyncRelationMetadataService } from 'src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-relation-metadata.service'; import { WorkspaceSyncFieldMetadataService } from 'src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-field-metadata.service'; import { WorkspaceSyncStorage } from 'src/engine/workspace-manager/workspace-sync-metadata/storage/workspace-sync.storage'; -import { WorkspaceMigrationEntity } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; +import { WorkspaceMigrationEntity } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity'; interface SynchronizeOptions { applyChanges?: boolean; diff --git a/packages/twenty-server/src/main.ts b/packages/twenty-server/src/main.ts index 5e79130122..8546fabe1d 100644 --- a/packages/twenty-server/src/main.ts +++ b/packages/twenty-server/src/main.ts @@ -17,14 +17,18 @@ import { EnvironmentService } from './engine/integrations/environment/environmen const bootstrap = async () => { const environmentService = new EnvironmentService(new ConfigService()); - const app = await NestFactory.create(AppModule, { cors: true, bufferLogs: environmentService.get('LOGGER_IS_BUFFER_ENABLED'), rawBody: true, + snapshot: environmentService.get('DEBUG_MODE'), }); const logger = app.get(LoggerService); + // TODO: Double check this as it's not working for now, it's going to be heplful for durable trees in twenty "orm" + // // Apply context id strategy for durable trees + // ContextIdFactory.apply(new AggregateByWorkspaceContextIdStrategy()); + // Apply class-validator container so that we can use injection in validators useContainer(app.select(AppModule), { fallbackOnErrors: true }); diff --git a/packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts b/packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts index 1a39445b04..69986a5031 100644 --- a/packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts +++ b/packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { activityTargetStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { CustomObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/custom-objects/custom.object-metadata'; diff --git a/packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts b/packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts index d22cc6d267..f9e6bfa162 100644 --- a/packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts +++ b/packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { activityStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts b/packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts index 7fdb4595da..374751a218 100644 --- a/packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts +++ b/packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { commentStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/api-key/standard-objects/api-key.object-metadata.ts b/packages/twenty-server/src/modules/api-key/standard-objects/api-key.object-metadata.ts index 0f2757328c..cc62e90a6c 100644 --- a/packages/twenty-server/src/modules/api-key/standard-objects/api-key.object-metadata.ts +++ b/packages/twenty-server/src/modules/api-key/standard-objects/api-key.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { apiKeyStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts b/packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts index 470abe7a5c..26f410665e 100644 --- a/packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts +++ b/packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { attachmentStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { CustomObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/custom-objects/custom.object-metadata'; diff --git a/packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.module.ts b/packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.module.ts index e744f62b8b..c8e5ce0767 100644 --- a/packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.module.ts +++ b/packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.module.ts @@ -1,7 +1,7 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { ObjectMetadataRepositoryModule } from 'src/engine/object-metadata-repository/object-metadata-repository.module'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; import { GoogleCalendarFullSyncService } from 'src/modules/calendar/services/google-calendar-full-sync.service'; diff --git a/packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.service.ts b/packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.service.ts index d7a7a3abfd..fb4a0f9d48 100644 --- a/packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.service.ts +++ b/packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.service.ts @@ -8,7 +8,7 @@ import { BlocklistRepository } from 'src/modules/connected-account/repositories/ import { FeatureFlagEntity, FeatureFlagKeys, -} from 'src/engine/modules/feature-flag/feature-flag.entity'; +} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { GoogleCalendarClientProvider } from 'src/modules/calendar/services/providers/google-calendar/google-calendar.provider'; import { googleCalendarSearchFilterExcludeEmails } from 'src/modules/calendar/utils/google-calendar-search-filter.util'; import { CalendarChannelEventAssociationRepository } from 'src/modules/calendar/repositories/calendar-channel-event-association.repository'; diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts index 01557560eb..ca5d825903 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts @@ -1,5 +1,5 @@ -import { FeatureFlagKeys } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { calendarChannelEventAssociationStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts index dfeb0a2b52..8acb2b8691 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts @@ -1,9 +1,9 @@ import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; -import { FeatureFlagKeys } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; +import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { calendarChannelStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata.ts index 2ba5c28789..f346d8eb06 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { calendarEventAttendeeStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts index 968c83c3cb..fcba4feb05 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts @@ -1,10 +1,10 @@ import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; -import { FeatureFlagKeys } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/gate.decorator'; import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; diff --git a/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts b/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts index 214e80439b..9dff6ead34 100644 --- a/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts +++ b/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts @@ -1,10 +1,10 @@ -import { CurrencyMetadata } from 'src/engine-metadata/field-metadata/composite-types/currency.composite-type'; -import { LinkMetadata } from 'src/engine-metadata/field-metadata/composite-types/link.composite-type'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { CurrencyMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type'; +import { LinkMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/link.composite-type'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { companyStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts b/packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts index fb47bddfa8..089da894ef 100644 --- a/packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts +++ b/packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { blocklistStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts b/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts index 1044708e4e..7c922b6124 100644 --- a/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts +++ b/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts @@ -1,9 +1,9 @@ -import { FeatureFlagKeys } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { connectedAccountStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/event/standard-objects/event.object-metadata.ts b/packages/twenty-server/src/modules/event/standard-objects/event.object-metadata.ts index 545370acfb..78cc91bbf5 100644 --- a/packages/twenty-server/src/modules/event/standard-objects/event.object-metadata.ts +++ b/packages/twenty-server/src/modules/event/standard-objects/event.object-metadata.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { FeatureFlagKeys } from 'src/engine/modules/feature-flag/feature-flag.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { eventStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { CustomObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/custom-objects/custom.object-metadata'; diff --git a/packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts b/packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts index 3081099b96..c392575421 100644 --- a/packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts +++ b/packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { favoriteStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { CustomObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/custom-objects/custom.object-metadata'; diff --git a/packages/twenty-server/src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job.ts b/packages/twenty-server/src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job.ts index d6756626ee..804573470e 100644 --- a/packages/twenty-server/src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job.ts +++ b/packages/twenty-server/src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job.ts @@ -8,12 +8,12 @@ import { MessageQueueJob } from 'src/engine/integrations/message-queue/interface import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { ConnectedAccountRepository } from 'src/modules/connected-account/repositories/connected-account.repository'; -import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { GmailPartialSyncJobData, GmailPartialSyncJob, } from 'src/modules/messaging/jobs/gmail-partial-sync.job'; -import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; +import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; import { InjectObjectMetadataRepository } from 'src/engine/object-metadata-repository/object-metadata-repository.decorator'; import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; diff --git a/packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts b/packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts index d22bf5f367..1e363af19a 100644 --- a/packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts +++ b/packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts @@ -19,7 +19,7 @@ import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/st import { FeatureFlagEntity, FeatureFlagKeys, -} from 'src/engine/modules/feature-flag/feature-flag.entity'; +} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; @Injectable() export class MessagingConnectedAccountListener { diff --git a/packages/twenty-server/src/modules/messaging/messaging.module.ts b/packages/twenty-server/src/modules/messaging/messaging.module.ts index 9dd275e9f3..701262b2f2 100644 --- a/packages/twenty-server/src/modules/messaging/messaging.module.ts +++ b/packages/twenty-server/src/modules/messaging/messaging.module.ts @@ -5,7 +5,8 @@ import { MessagingPersonListener } from 'src/modules/messaging/listeners/messagi import { MessagingWorkspaceMemberListener } from 'src/modules/messaging/listeners/messaging-workspace-member.listener'; import { MessagingMessageChannelListener } from 'src/modules/messaging/listeners/messaging-message-channel.listener'; import { MessagingConnectedAccountListener } from 'src/modules/messaging/listeners/messaging-connected-account.listener'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; + @Module({ imports: [TypeOrmModule.forFeature([FeatureFlagEntity], 'core')], providers: [ diff --git a/packages/twenty-server/src/modules/messaging/services/gmail-full-sync/gmail-full-sync.module.ts b/packages/twenty-server/src/modules/messaging/services/gmail-full-sync/gmail-full-sync.module.ts index b9a12f9c29..eeb376b060 100644 --- a/packages/twenty-server/src/modules/messaging/services/gmail-full-sync/gmail-full-sync.module.ts +++ b/packages/twenty-server/src/modules/messaging/services/gmail-full-sync/gmail-full-sync.module.ts @@ -1,7 +1,7 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { ObjectMetadataRepositoryModule } from 'src/engine/object-metadata-repository/object-metadata-repository.module'; import { BlocklistObjectMetadata } from 'src/modules/connected-account/standard-objects/blocklist.object-metadata'; import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; diff --git a/packages/twenty-server/src/modules/messaging/services/gmail-full-sync/gmail-full-sync.service.ts b/packages/twenty-server/src/modules/messaging/services/gmail-full-sync/gmail-full-sync.service.ts index 61cd34f11a..f7dea7c245 100644 --- a/packages/twenty-server/src/modules/messaging/services/gmail-full-sync/gmail-full-sync.service.ts +++ b/packages/twenty-server/src/modules/messaging/services/gmail-full-sync/gmail-full-sync.service.ts @@ -21,7 +21,7 @@ import { SaveMessagesAndCreateContactsService } from 'src/modules/messaging/serv import { FeatureFlagEntity, FeatureFlagKeys, -} from 'src/engine/modules/feature-flag/feature-flag.entity'; +} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { InjectObjectMetadataRepository } from 'src/engine/object-metadata-repository/object-metadata-repository.decorator'; import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; import { MessageChannelObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel.object-metadata'; diff --git a/packages/twenty-server/src/modules/messaging/services/gmail-partial-sync/gmail-partial-sync.module.ts b/packages/twenty-server/src/modules/messaging/services/gmail-partial-sync/gmail-partial-sync.module.ts index 744e70295b..09358d2360 100644 --- a/packages/twenty-server/src/modules/messaging/services/gmail-partial-sync/gmail-partial-sync.module.ts +++ b/packages/twenty-server/src/modules/messaging/services/gmail-partial-sync/gmail-partial-sync.module.ts @@ -1,7 +1,7 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; +import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { ObjectMetadataRepositoryModule } from 'src/engine/object-metadata-repository/object-metadata-repository.module'; import { BlocklistObjectMetadata } from 'src/modules/connected-account/standard-objects/blocklist.object-metadata'; import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; diff --git a/packages/twenty-server/src/modules/messaging/services/gmail-partial-sync/gmail-partial-sync.service.ts b/packages/twenty-server/src/modules/messaging/services/gmail-partial-sync/gmail-partial-sync.service.ts index e202fb820d..197f383b2a 100644 --- a/packages/twenty-server/src/modules/messaging/services/gmail-partial-sync/gmail-partial-sync.service.ts +++ b/packages/twenty-server/src/modules/messaging/services/gmail-partial-sync/gmail-partial-sync.service.ts @@ -22,7 +22,7 @@ import { SaveMessagesAndCreateContactsService } from 'src/modules/messaging/serv import { FeatureFlagEntity, FeatureFlagKeys, -} from 'src/engine/modules/feature-flag/feature-flag.entity'; +} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { InjectObjectMetadataRepository } from 'src/engine/object-metadata-repository/object-metadata-repository.decorator'; import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; import { MessageChannelObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel.object-metadata'; diff --git a/packages/twenty-server/src/modules/messaging/services/message/message.service.ts b/packages/twenty-server/src/modules/messaging/services/message/message.service.ts index 7832ecefe1..9a73b7b7c3 100644 --- a/packages/twenty-server/src/modules/messaging/services/message/message.service.ts +++ b/packages/twenty-server/src/modules/messaging/services/message/message.service.ts @@ -3,21 +3,21 @@ import { Injectable, Logger } from '@nestjs/common'; import { DataSource, EntityManager } from 'typeorm'; import { v4 } from 'uuid'; -import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; -import { InjectObjectMetadataRepository } from 'src/engine/object-metadata-repository/object-metadata-repository.decorator'; +import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; +import { MessageObjectMetadata } from 'src/modules/messaging/standard-objects/message.object-metadata'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; +import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; +import { GmailMessage } from 'src/modules/messaging/types/gmail-message'; +import { InjectObjectMetadataRepository } from 'src/engine/object-metadata-repository/object-metadata-repository.decorator'; import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; import { MessageChannelMessageAssociationRepository } from 'src/modules/messaging/repositories/message-channel-message-association.repository'; import { MessageRepository } from 'src/modules/messaging/repositories/message.repository'; import { MessageChannelMessageAssociationObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel-message-association.object-metadata'; -import { MessageObjectMetadata } from 'src/modules/messaging/standard-objects/message.object-metadata'; -import { GmailMessage } from 'src/modules/messaging/types/gmail-message'; import { MessageChannelObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel.object-metadata'; import { MessageChannelRepository } from 'src/modules/messaging/repositories/message-channel.repository'; import { MessageThreadService } from 'src/modules/messaging/services/message-thread/message-thread.service'; import { MessageThreadObjectMetadata } from 'src/modules/messaging/standard-objects/message-thread.object-metadata'; import { MessageThreadRepository } from 'src/modules/messaging/repositories/message-thread.repository'; -import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; @Injectable() export class MessageService { diff --git a/packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts index 47e6169020..19e946bbc0 100644 --- a/packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { messageChannelMessageAssociationStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts index 39ee80fa60..b5167c8662 100644 --- a/packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts @@ -1,8 +1,8 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { messageChannelStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts index 49fdaf291b..c3de6e6973 100644 --- a/packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { messageParticipantStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts index d35b3aff86..a6c934c917 100644 --- a/packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts @@ -1,8 +1,8 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { messageThreadStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts index 1c2aa129ab..4b81f30ef0 100644 --- a/packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts @@ -1,8 +1,8 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { messageStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts b/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts index 73af78b735..63458e2245 100644 --- a/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts +++ b/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts @@ -1,9 +1,9 @@ -import { CurrencyMetadata } from 'src/engine-metadata/field-metadata/composite-types/currency.composite-type'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { CurrencyMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { opportunityStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts b/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts index 1461c49af6..67b0decbe5 100644 --- a/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts +++ b/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts @@ -1,10 +1,10 @@ -import { FullNameMetadata } from 'src/engine-metadata/field-metadata/composite-types/full-name.composite-type'; -import { LinkMetadata } from 'src/engine-metadata/field-metadata/composite-types/link.composite-type'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FullNameMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type'; +import { LinkMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/link.composite-type'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { personStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/pipeline-step/standard-objects/pipeline-step.object-metadata.ts b/packages/twenty-server/src/modules/pipeline-step/standard-objects/pipeline-step.object-metadata.ts index b1a6ea2533..2c99585c38 100644 --- a/packages/twenty-server/src/modules/pipeline-step/standard-objects/pipeline-step.object-metadata.ts +++ b/packages/twenty-server/src/modules/pipeline-step/standard-objects/pipeline-step.object-metadata.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { pipelineStepStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/view/standard-objects/view-field.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view-field.object-metadata.ts index e2771474c0..06b3c44c60 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view-field.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-field.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { viewFieldStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts index 8f8479893b..7e2588c85c 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { viewFilterStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts index 8380ff7ac3..d41ff278aa 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { viewSortStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts index b1055cda41..1660025a52 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; +import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { viewStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/webhook/standard-objects/webhook.object-metadata.ts b/packages/twenty-server/src/modules/webhook/standard-objects/webhook.object-metadata.ts index 9e90c63aef..5d3bdc5a26 100644 --- a/packages/twenty-server/src/modules/webhook/standard-objects/webhook.object-metadata.ts +++ b/packages/twenty-server/src/modules/webhook/standard-objects/webhook.object-metadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { webhookStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts b/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts index 6c42fd5159..512185fbaa 100644 --- a/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts +++ b/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts @@ -1,9 +1,9 @@ -import { FullNameMetadata } from 'src/engine-metadata/field-metadata/composite-types/full-name.composite-type'; -import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; +import { FullNameMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type'; +import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { RelationMetadataType, RelationOnDeleteAction, -} from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; +} from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { workspaceMemberStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator'; diff --git a/packages/twenty-server/src/queue-worker/queue-worker.ts b/packages/twenty-server/src/queue-worker/queue-worker.ts index eae85670f7..be9e6da912 100644 --- a/packages/twenty-server/src/queue-worker/queue-worker.ts +++ b/packages/twenty-server/src/queue-worker/queue-worker.ts @@ -6,7 +6,7 @@ import { MessageQueueJobData, } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { filterException } from 'src/engine/filters/utils/global-exception-handler.util'; +import { filterException } from 'src/engine/utils/global-exception-handler.util'; import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; import { LoggerService } from 'src/engine/integrations/logger/logger.service'; import { JobsModule } from 'src/engine/integrations/message-queue/jobs.module'; diff --git a/yarn.lock b/yarn.lock index 9bc8d86202..400416175a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6343,15 +6343,15 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/merge@npm:9.0.0": - version: 9.0.0 - resolution: "@graphql-tools/merge@npm:9.0.0" +"@graphql-tools/merge@npm:9.0.1, @graphql-tools/merge@npm:^9.0.1": + version: 9.0.1 + resolution: "@graphql-tools/merge@npm:9.0.1" dependencies: - "@graphql-tools/utils": "npm:^10.0.0" + "@graphql-tools/utils": "npm:^10.0.10" tslib: "npm:^2.4.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10376dbf1b64a3659dfa01d63bdafbb8addac829c0e772fc4596df4b46f249bee179692cc3f06b1157bdc3dccfe3a46caf5499786cce203eb0f7e124c88a5648 + checksum: cbfcb2c10490a11417991e8b61b8df2eba73a2c576e57cbf2d928902030d4391122536b9442bf042609ec24376b79b8bc6d9117e137dd8db2255ed90613acbc7 languageName: node linkType: hard @@ -6367,18 +6367,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/merge@npm:^9.0.0, @graphql-tools/merge@npm:^9.0.1": - version: 9.0.1 - resolution: "@graphql-tools/merge@npm:9.0.1" - dependencies: - "@graphql-tools/utils": "npm:^10.0.10" - tslib: "npm:^2.4.0" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: cbfcb2c10490a11417991e8b61b8df2eba73a2c576e57cbf2d928902030d4391122536b9442bf042609ec24376b79b8bc6d9117e137dd8db2255ed90613acbc7 - languageName: node - linkType: hard - "@graphql-tools/mock@npm:^8.1.2": version: 8.7.20 resolution: "@graphql-tools/mock@npm:8.7.20" @@ -6469,17 +6457,17 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/schema@npm:10.0.0": - version: 10.0.0 - resolution: "@graphql-tools/schema@npm:10.0.0" +"@graphql-tools/schema@npm:10.0.2, @graphql-tools/schema@npm:^10.0.0": + version: 10.0.2 + resolution: "@graphql-tools/schema@npm:10.0.2" dependencies: - "@graphql-tools/merge": "npm:^9.0.0" - "@graphql-tools/utils": "npm:^10.0.0" + "@graphql-tools/merge": "npm:^9.0.1" + "@graphql-tools/utils": "npm:^10.0.10" tslib: "npm:^2.4.0" value-or-promise: "npm:^1.0.12" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: b746c69cefb3b89fad13d56f0abb9e764efe1569836ea9ae5e5c510a6f0bce6e08f324b28aebcb5b2c11ba2ea1c308f18c204e322a188e254e2c7e426d3ccecb + checksum: 3d71117c8d8ed491aa5b988bcdfcc1a7ca8cea8638b37083af2665a0dbb95e1255961a8a43658538ad33b83d621812886a4626ad7a5333d7d9e6c62304b52cb2 languageName: node linkType: hard @@ -6497,20 +6485,6 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/schema@npm:^10.0.0": - version: 10.0.2 - resolution: "@graphql-tools/schema@npm:10.0.2" - dependencies: - "@graphql-tools/merge": "npm:^9.0.1" - "@graphql-tools/utils": "npm:^10.0.10" - tslib: "npm:^2.4.0" - value-or-promise: "npm:^1.0.12" - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 3d71117c8d8ed491aa5b988bcdfcc1a7ca8cea8638b37083af2665a0dbb95e1255961a8a43658538ad33b83d621812886a4626ad7a5333d7d9e6c62304b52cb2 - languageName: node - linkType: hard - "@graphql-tools/schema@npm:^9.0.0, @graphql-tools/schema@npm:^9.0.18, @graphql-tools/schema@npm:^9.0.19": version: 9.0.19 resolution: "@graphql-tools/schema@npm:9.0.19" @@ -6548,15 +6522,17 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/utils@npm:10.0.1": - version: 10.0.1 - resolution: "@graphql-tools/utils@npm:10.0.1" +"@graphql-tools/utils@npm:10.0.13": + version: 10.0.13 + resolution: "@graphql-tools/utils@npm:10.0.13" dependencies: "@graphql-typed-document-node/core": "npm:^3.1.1" + cross-inspect: "npm:1.0.0" + dset: "npm:^3.1.2" tslib: "npm:^2.4.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: c3562240f99543428fa960c1c9836225b33492e16a1ce0622ca71a3abbc3ef4e4f8e453cdb5cc32227e1866f1cdd9e20e09518f8354fa50c87164b2f793f03ae + checksum: 6505c494716bb7aa36eba3d731f5a3e28c0bbd2efc818f1fdc7367a408ced8878bfff40f4dafbcef70d912219df81484e32e28130366e8355c126fcbc8ac9dd5 languageName: node linkType: hard @@ -7981,24 +7957,24 @@ __metadata: languageName: node linkType: hard -"@nestjs/graphql@npm:12.0.8": - version: 12.0.8 - resolution: "@nestjs/graphql@npm:12.0.8" +"@nestjs/graphql@npm:12.1.1": + version: 12.1.1 + resolution: "@nestjs/graphql@npm:12.1.1" dependencies: - "@graphql-tools/merge": "npm:9.0.0" - "@graphql-tools/schema": "npm:10.0.0" - "@graphql-tools/utils": "npm:10.0.1" - "@nestjs/mapped-types": "npm:2.0.2" - chokidar: "npm:3.5.3" - fast-glob: "npm:3.2.12" + "@graphql-tools/merge": "npm:9.0.1" + "@graphql-tools/schema": "npm:10.0.2" + "@graphql-tools/utils": "npm:10.0.13" + "@nestjs/mapped-types": "npm:2.0.5" + chokidar: "npm:3.6.0" + fast-glob: "npm:3.3.2" graphql-tag: "npm:2.12.6" - graphql-ws: "npm:5.14.0" + graphql-ws: "npm:5.14.3" lodash: "npm:4.17.21" normalize-path: "npm:3.0.0" subscriptions-transport-ws: "npm:0.11.0" - tslib: "npm:2.6.0" - uuid: "npm:9.0.0" - ws: "npm:8.13.0" + tslib: "npm:2.6.2" + uuid: "npm:9.0.1" + ws: "npm:8.16.0" peerDependencies: "@apollo/subgraph": ^2.0.0 "@nestjs/common": ^9.3.8 || ^10.0.0 @@ -8006,8 +7982,8 @@ __metadata: class-transformer: "*" class-validator: "*" graphql: ^16.6.0 - reflect-metadata: ^0.1.13 - ts-morph: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + reflect-metadata: ^0.1.13 || ^0.2.0 + ts-morph: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 peerDependenciesMeta: "@apollo/subgraph": optional: true @@ -8017,28 +7993,28 @@ __metadata: optional: true ts-morph: optional: true - checksum: 85bfb0e198dc13e8e549cd4c1e9c33f08171f19fc01dccdd0822f72bfd5dcacb55967c87d690f13384252fadf6a4d254a7d0571a547a40c1f259e3b4d2d15143 + checksum: b2c371d443007b583b75cbffd86714fc87551e2f6c56a89b70f95eae2ee3fc9a5ae0673b44d1c9d59f42b38e6f54fe20f92396a8be02c5bf87d8e83d5da764a6 languageName: node linkType: hard -"@nestjs/graphql@patch:@nestjs/graphql@12.0.8#./patches/@nestjs+graphql+12.0.8.patch::locator=twenty-server%40workspace%3Apackages%2Ftwenty-server": - version: 12.0.8 - resolution: "@nestjs/graphql@patch:@nestjs/graphql@npm%3A12.0.8#./patches/@nestjs+graphql+12.0.8.patch::version=12.0.8&hash=daa690&locator=twenty-server%40workspace%3Apackages%2Ftwenty-server" +"@nestjs/graphql@patch:@nestjs/graphql@12.1.1#./patches/@nestjs+graphql+12.1.1.patch::locator=twenty-server%40workspace%3Apackages%2Ftwenty-server": + version: 12.1.1 + resolution: "@nestjs/graphql@patch:@nestjs/graphql@npm%3A12.1.1#./patches/@nestjs+graphql+12.1.1.patch::version=12.1.1&hash=214dda&locator=twenty-server%40workspace%3Apackages%2Ftwenty-server" dependencies: - "@graphql-tools/merge": "npm:9.0.0" - "@graphql-tools/schema": "npm:10.0.0" - "@graphql-tools/utils": "npm:10.0.1" - "@nestjs/mapped-types": "npm:2.0.2" - chokidar: "npm:3.5.3" - fast-glob: "npm:3.2.12" + "@graphql-tools/merge": "npm:9.0.1" + "@graphql-tools/schema": "npm:10.0.2" + "@graphql-tools/utils": "npm:10.0.13" + "@nestjs/mapped-types": "npm:2.0.5" + chokidar: "npm:3.6.0" + fast-glob: "npm:3.3.2" graphql-tag: "npm:2.12.6" - graphql-ws: "npm:5.14.0" + graphql-ws: "npm:5.14.3" lodash: "npm:4.17.21" normalize-path: "npm:3.0.0" subscriptions-transport-ws: "npm:0.11.0" - tslib: "npm:2.6.0" - uuid: "npm:9.0.0" - ws: "npm:8.13.0" + tslib: "npm:2.6.2" + uuid: "npm:9.0.1" + ws: "npm:8.16.0" peerDependencies: "@apollo/subgraph": ^2.0.0 "@nestjs/common": ^9.3.8 || ^10.0.0 @@ -8046,8 +8022,8 @@ __metadata: class-transformer: "*" class-validator: "*" graphql: ^16.6.0 - reflect-metadata: ^0.1.13 - ts-morph: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + reflect-metadata: ^0.1.13 || ^0.2.0 + ts-morph: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 peerDependenciesMeta: "@apollo/subgraph": optional: true @@ -8057,7 +8033,7 @@ __metadata: optional: true ts-morph: optional: true - checksum: e53b804e87e65c78e0e231a7033e135a8346d44ee110a8e2f270b026bd47fda41525b598a301b5ca84537b3c8e37fa92462be353e611751a5b433aadb1f6f290 + checksum: eabde73e30747ea5d6ee33912516def4c87bc14adfb51ec7e9a037faa1d5c5446211774f6765686da778b17e37d72485d561c51f6e70a86562415b0f590f20d1 languageName: node linkType: hard @@ -8073,20 +8049,20 @@ __metadata: languageName: node linkType: hard -"@nestjs/mapped-types@npm:2.0.2": - version: 2.0.2 - resolution: "@nestjs/mapped-types@npm:2.0.2" +"@nestjs/mapped-types@npm:2.0.5": + version: 2.0.5 + resolution: "@nestjs/mapped-types@npm:2.0.5" peerDependencies: "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 class-transformer: ^0.4.0 || ^0.5.0 class-validator: ^0.13.0 || ^0.14.0 - reflect-metadata: ^0.1.12 + reflect-metadata: ^0.1.12 || ^0.2.0 peerDependenciesMeta: class-transformer: optional: true class-validator: optional: true - checksum: 9a6d4c32242926aebc267d5a4a0b50f8aa8eeea8797e25aa9fb762637a45879c1ec103a9a0a30d24e8a6e3f75d0f4640208aaf4f9003e350b52f7e4acb07bab9 + checksum: f92743cb4c0fe3b1eecdf0c7c6a40f0e7478574a9e1a25ebdbd29db29a7319c2ae608c08d07f7b9525bea01a5e20dbd73222100204d3a13500db4f56676446a1 languageName: node linkType: hard @@ -21863,6 +21839,25 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:3.6.0": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + "chownr@npm:^1.1.1": version: 1.1.4 resolution: "chownr@npm:1.1.4" @@ -26695,19 +26690,6 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:3.2.12": - version: 3.2.12 - resolution: "fast-glob@npm:3.2.12" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 08604fb8ef6442ce74068bef3c3104382bb1f5ab28cf75e4ee904662778b60ad620e1405e692b7edea598ef445f5d387827a965ba034e1892bf54b1dfde97f26 - languageName: node - linkType: hard - "fast-glob@npm:3.2.7": version: 3.2.7 resolution: "fast-glob@npm:3.2.7" @@ -26721,7 +26703,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1": +"fast-glob@npm:3.3.2, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -28598,12 +28580,12 @@ __metadata: languageName: node linkType: hard -"graphql-ws@npm:5.14.0": - version: 5.14.0 - resolution: "graphql-ws@npm:5.14.0" +"graphql-ws@npm:5.14.3": + version: 5.14.3 + resolution: "graphql-ws@npm:5.14.3" peerDependencies: graphql: ">=0.11 <=16" - checksum: 505c1b1332b1a45a4a410ada0f335cc21b1a9511deb034bf0631d786d5fe328af2b4887dadc99a9eb3b7f9be0e1d0643e5cada6e3485d05b20851eabb5e7b92d + checksum: 0715feb7b6bf760e2460c31848983bd3bd5958c95d8120c2acc7416f24137585dab2eb731d6bb6f8de992afbc2ad0cf258a00c6a08aa21479fb3e9bd1d3e120a languageName: node linkType: hard @@ -32858,6 +32840,13 @@ __metadata: languageName: node linkType: hard +"jwt-decode@npm:^4.0.0": + version: 4.0.0 + resolution: "jwt-decode@npm:4.0.0" + checksum: de75bbf89220746c388cf6a7b71e56080437b77d2edb29bae1c2155048b02c6b8c59a3e5e8d6ccdfd54f0b8bda25226e491a4f1b55ac5f8da04cfbadec4e546c + languageName: node + linkType: hard + "keyv@npm:^3.0.0": version: 3.1.0 resolution: "keyv@npm:3.1.0" @@ -45589,10 +45578,10 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.6.0": - version: 2.6.0 - resolution: "tslib@npm:2.6.0" - checksum: 8d18020a8b9e70ecc529a744c883c095f177805efdbc9786bd50bd82a46c17547923133c5444fbcaf1f7f1c44e0e29c89f73ecf6d8fd1039668024a073a81dc6 +"tslib@npm:2.6.2, tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.5.2, tslib@npm:^2.6.0, tslib@npm:^2.6.1, tslib@npm:^2.6.2": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb languageName: node linkType: hard @@ -45603,13 +45592,6 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.5.2, tslib@npm:^2.6.0, tslib@npm:^2.6.1, tslib@npm:^2.6.2": - version: 2.6.2 - resolution: "tslib@npm:2.6.2" - checksum: e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb - languageName: node - linkType: hard - "tslib@npm:~2.0.1": version: 2.0.3 resolution: "tslib@npm:2.0.3" @@ -45763,7 +45745,7 @@ __metadata: "@nestjs/cache-manager": "npm:^2.2.1" "@nestjs/cli": "npm:10.3.0" "@nestjs/devtools-integration": "npm:^0.1.6" - "@nestjs/graphql": "patch:@nestjs/graphql@12.0.8#./patches/@nestjs+graphql+12.0.8.patch" + "@nestjs/graphql": "patch:@nestjs/graphql@12.1.1#./patches/@nestjs+graphql+12.1.1.patch" "@nx/js": "npm:17.2.8" "@ptc-org/nestjs-query-graphql": "patch:@ptc-org/nestjs-query-graphql@4.2.0#./patches/@ptc-org+nestjs-query-graphql+4.2.0.patch" "@types/lodash.isempty": "npm:^4.4.7" @@ -45777,6 +45759,7 @@ __metadata: cache-manager-redis-yet: "npm:^4.1.2" class-validator: "patch:class-validator@0.14.0#./patches/class-validator+0.14.0.patch" graphql-middleware: "npm:^6.1.35" + jwt-decode: "npm:^4.0.0" passport: "npm:^0.7.0" psl: "npm:^1.9.0" rimraf: "npm:^5.0.5" @@ -48694,6 +48677,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:8.16.0, ws@npm:^8.11.0, ws@npm:^8.12.0, ws@npm:^8.2.3": + version: 8.16.0 + resolution: "ws@npm:8.16.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: a7783bb421c648b1e622b423409cb2a58ac5839521d2f689e84bc9dc41d59379c692dd405b15a997ea1d4c0c2e5314ad707332d0c558f15232d2bc07c0b4618a + languageName: node + linkType: hard + "ws@npm:^5.2.0 || ^6.0.0 || ^7.0.0, ws@npm:^7.3.1": version: 7.5.9 resolution: "ws@npm:7.5.9" @@ -48718,21 +48716,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.11.0, ws@npm:^8.12.0, ws@npm:^8.2.3": - version: 8.16.0 - resolution: "ws@npm:8.16.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: a7783bb421c648b1e622b423409cb2a58ac5839521d2f689e84bc9dc41d59379c692dd405b15a997ea1d4c0c2e5314ad707332d0c558f15232d2bc07c0b4618a - languageName: node - linkType: hard - "ws@npm:^8.13.0": version: 8.15.0 resolution: "ws@npm:8.15.0"