From 2c09096edd407a2a0f702f2dff970dd91a17aa73 Mon Sep 17 00:00:00 2001 From: Weiko Date: Fri, 15 Mar 2024 18:37:09 +0100 Subject: [PATCH] Refactor backend folder structure (#4505) * Refactor backend folder structure Co-authored-by: Charles Bochet * fix tests * fix * move yoga hooks --------- Co-authored-by: Charles Bochet --- packages/twenty-server/jest.config.ts | 2 +- packages/twenty-server/package.json | 4 +- packages/twenty-server/project.json | 2 +- .../factories/factories.ts | 29 ---- .../input-factories/filter-input.factory.ts | 25 --- ...ld-metadata-to-graphql-query.utils.spec.ts | 35 ---- .../src/api/rest/api-rest.module.ts | 17 -- packages/twenty-server/src/app.module.ts | 18 +- .../src/business/modules/business.module.ts | 11 -- .../modules/calendar/calendar.module.ts | 41 ----- .../providers/calendar-providers.module.ts | 11 -- .../modules/message/messaging.module.ts | 76 -------- .../messaging-query-hook.module.ts | 28 --- .../repositories/message/message.module.ts | 23 --- .../providers/messaging-providers.module.ts | 11 -- .../{commands => command}/command-logger.ts | 0 .../src/{ => command}/command.module.ts | 12 +- .../src/{ => command}/command.ts | 8 +- ...t-data-seed-demo-workspace.cron.command.ts | 4 +- ...p-data-seed-demo-workspace.cron.command.ts | 4 +- .../data-seed-demo-workspace.module.ts | 2 +- .../jobs/data-seed-demo-workspace.job.ts | 2 +- .../data-seed-demo-workspace.service.ts | 2 +- .../data-seed-dev-workspace.command.ts | 4 +- .../src/database/typeorm/typeorm.module.ts | 2 +- .../src/database/typeorm/typeorm.service.ts | 2 +- .../graphql-config.module.ts | 4 +- .../graphql-config.service.ts | 18 +- .../hooks/use-throttler.ts | 0 .../field-metadata/field-metadata.service.ts | 2 +- .../metadata.module-factory.ts | 10 +- .../src/engine-metadata/metadata.module.ts | 4 +- .../object-metadata.service.ts | 4 +- .../relation-metadata.service.ts | 2 +- .../create-company-and-contact.module.ts | 21 --- .../utils/compute-field-target-column.util.ts | 21 --- .../__mocks__/object-metadata-item.mock.ts} | 12 +- .../__tests__}/workspace.factory.spec.ts | 11 +- .../graphql/core-graphql-api.module.ts} | 10 +- .../services/scalars-explorer.service.ts | 2 +- .../workspace-query-builder-options.mock.ts | 13 ++ .../__tests__/args-string.factory.spec.ts | 4 +- .../find-duplicates-query.factory.spec.ts | 37 ++-- .../record-position-query.factory.spec.ts | 2 +- .../factories/args-alias.factory.ts | 0 .../factories/args-string.factory.ts | 2 +- .../factories/create-many-query.factory.ts | 10 +- .../factories/delete-many-query.factory.ts | 8 +- .../factories/delete-one-query.factory.ts | 6 +- .../factories/factories.ts | 0 .../factories/field-alias.factory.ts | 0 .../factories/fields-string.factory.ts | 2 +- .../find-duplicates-query.factory.ts | 14 +- .../factories/find-many-query.factory.ts | 8 +- .../factories/find-one-query.factory.ts | 8 +- .../record-position-query.factory.ts | 0 .../factories/relation-field-alias.factory.ts | 8 +- .../factories/update-many-query.factory.ts | 14 +- .../factories/update-one-query.factory.ts | 10 +- .../interfaces/record.interface.ts | 0 ...rkspace-query-builder-options.interface.ts | 0 .../stringify-without-key-quote.spec.ts | 2 +- .../utils/get-field-arguments-by-key.util.ts | 0 .../utils/stringify-without-key-quote.util.ts | 0 .../workspace-query-builder.factory.ts | 6 +- .../workspace-query-builder.module.ts | 4 +- .../query-runner-args.factory.spec.ts | 6 +- .../__tests__/record-position.factory.spec.ts | 4 +- .../workspace-query-runner/factories/index.ts | 0 .../factories/query-runner-args.factory.ts | 2 +- .../factories/record-position.factory.ts | 2 +- .../interfaces/connection.interface.ts | 2 +- .../interfaces/edge.interface.ts | 0 .../interfaces/page-info.interface.ts | 0 .../interfaces/pg-graphql.interface.ts | 2 +- .../query-runner-option.interface.ts | 0 .../jobs/call-webhook-jobs.job.ts | 8 +- .../jobs/call-webhook.job.ts | 2 +- .../jobs/record-position-backfill.job.ts | 4 +- .../listeners/record-position.listener.ts | 8 +- .../record-position-backfill-module.ts | 6 +- .../record-position-backfill-service.ts | 4 +- .../utils/__tests__/parse-result.spec.ts | 2 +- .../utils/compute-pg-graphql-error.util.ts | 0 .../utils/parse-result.util.ts | 0 .../workspace-pre-query-hook.interface.ts | 2 +- .../types/workspace-query-hook.type.ts | 2 +- .../workspace-pre-query-hook.config.ts | 11 ++ .../workspace-pre-query-hook.module.ts | 11 ++ .../workspace-pre-query-hook.service.ts | 6 +- .../workspace-query-runner.module.ts | 8 +- .../workspace-query-runner.service.ts | 30 ++-- .../constants/duplicate-criteria.constants.ts | 2 +- .../factories/create-many-resolver.factory.ts | 8 +- .../factories/create-one-resolver.factory.ts | 8 +- .../factories/delete-many-resolver.factory.ts | 8 +- .../factories/delete-one-resolver.factory.ts | 8 +- ...te-quick-action-on-one-resolver.factory.ts | 12 +- .../factories/factories.ts | 2 +- .../find-duplicates-resolver.factory.ts | 8 +- .../factories/find-many-resolver.factory.ts | 8 +- .../factories/find-one-resolver.factory.ts | 8 +- .../factories/update-many-resolver.factory.ts | 8 +- .../factories/update-one-resolver.factory.ts | 8 +- .../interfaces/pg-graphql.interface.ts | 2 +- ...pace-resolver-builder-factory.interface.ts | 2 +- .../workspace-resolvers-builder.interface.ts | 4 +- .../workspace-resolver-builder.module.ts | 2 +- .../workspace-resolver.factory.ts | 8 +- .../factories/args.factory.ts | 8 +- .../connection-type-definition.factory.ts | 2 +- .../factories/connection-type.factory.ts | 8 +- .../factories/edge-type-definition.factory.ts | 2 +- .../factories/edge-type.factory.ts | 8 +- .../factories/enum-type-definition.factory.ts | 2 +- .../extend-object-type-definition.factory.ts | 12 +- .../factories/factories.ts | 2 +- .../filter-type-definition.factory.ts | 6 +- .../factories/filter-type.factory.ts | 8 +- .../input-type-definition.factory.ts | 4 +- .../factories/input-type.factory.ts | 6 +- .../factories/mutation-type.factory.ts | 4 +- .../object-type-definition.factory.ts | 4 +- .../order-by-type-definition.factory.ts | 4 +- .../factories/order-by-type.factory.ts | 6 +- .../factories/orphaned-types.factory.ts | 2 +- .../factories/output-type.factory.ts | 6 +- .../factories/query-type.factory.ts | 4 +- .../factories/relation-type.factory.ts | 4 +- .../factories/root-type.factory.ts | 12 +- .../graphql-types/enum/index.ts | 0 .../enum/order-by-direction.enum-type.ts | 0 .../input/big-float-filter.input-type.ts | 4 +- .../input/big-int-filter.input-type.ts | 2 +- .../input/boolean-filter.input-type.ts | 2 +- .../input/date-filter.input-type.ts | 4 +- .../input/date-time-filter.input-type.ts | 4 +- .../input/filter-is.input-type.ts | 0 .../input/float-filter.input-type.ts | 2 +- .../graphql-types/input/index.ts | 0 .../input/int-filter.input-type.ts | 2 +- .../input/string-filter.input-type.ts | 2 +- .../input/time-filter.input-type.ts | 4 +- .../input/uuid-filter.input-type.ts | 4 +- .../graphql-types/object/index.ts | 0 .../object/page-into.object-type.ts | 0 .../graphql-types/scalars/big-float.scalar.ts | 0 .../graphql-types/scalars/big-int.scalar.ts | 0 .../graphql-types/scalars/cursor.scalar.ts | 0 .../graphql-types/scalars/date-time.scalar.ts | 0 .../graphql-types/scalars/date.scalar.ts | 0 .../graphql-types/scalars/index.ts | 0 .../graphql-types/scalars/position.scalar.ts | 0 .../graphql-types/scalars/time.scalar.ts | 0 .../graphql-types/scalars/uuid.scalar.ts | 0 .../interfaces/param-metadata.interface.ts | 2 +- ...rkspace-build-schema-optionts.interface.ts | 0 ...kspace-schema-builder-context.interface.ts | 0 .../services/type-mapper.service.ts | 10 +- .../storages/type-definitions.storage.ts | 6 +- .../type-definitions.generator.ts | 2 +- .../utils/__tests__/clean-entity-name.spec.ts | 2 +- .../__tests__/get-field-metadata-type.spec.ts | 2 +- .../utils/__tests__/get-resolver-args.spec.ts | 6 +- .../utils/clean-entity-name.util.ts | 0 .../utils/get-field-metadata-type.util.ts | 0 .../utils/get-resolver-args.util.ts | 6 +- .../utils/object-contains-relation-field.ts | 2 +- .../workspace-graphql-schema.factory.ts | 2 +- .../workspace-schema-builder.module.ts | 0 .../workspace-schema-storage.module.ts | 2 +- .../workspace-schema-storage.service.ts | 4 +- .../{ => api}/graphql/workspace.factory.ts | 10 +- .../api-rest.controller.utils.spec.ts | 2 +- .../rest/__tests__}/api-rest.service.spec.ts | 6 +- .../api-rest-query-builder.factory.spec.ts | 22 +-- .../api-rest-query-builder.factory.ts | 26 +-- .../api-rest-query-builder.module.ts | 4 +- .../factories/create-query.factory.ts | 2 +- .../factories/create-variables.factory.ts | 2 +- .../factories/delete-query.factory.ts | 0 .../factories/delete-variables.factory.ts | 2 +- .../factories/factories.ts | 29 ++++ .../factories/find-many-query.factory.ts | 2 +- .../factories/find-one-query.factory.ts | 2 +- .../factories/get-variables.factory.ts | 10 +- .../__tests__/filter-input.factory.spec.ts | 6 +- .../last-cursor-input.factory.spec.ts | 2 +- .../__tests__/limit-input.factory.spec.ts | 2 +- .../__tests__/order-by-input.factory.spec.ts | 8 +- .../input-factories/filter-input.factory.ts | 25 +++ .../add-default-conjunction.utils.spec.ts | 2 +- .../check-filter-query.utils.spec.ts | 2 +- .../format-field-values.utils.spec.ts | 2 +- .../__tests__/parse-base-filter.utils.spec.ts | 2 +- .../parse-filter-content.utils.spec.ts | 2 +- .../__tests__/parse-filter.utils.spec.ts | 14 +- .../add-default-conjunction.utils.ts | 2 +- .../filter-utils/check-filter-query.utils.ts | 0 .../filter-utils/format-field-values.utils.ts | 2 +- .../filter-utils/parse-base-filter.utils.ts | 0 .../parse-filter-content.utils.ts | 0 .../filter-utils/parse-filter.utils.ts | 10 +- .../last-cursor-input.factory.ts | 0 .../input-factories/limit-input.factory.ts | 0 .../input-factories/order-by-input.factory.ts | 4 +- .../factories/update-query.factory.ts | 2 +- .../factories/update-variables.factory.ts | 2 +- .../__tests__/compute-depth.utils.spec.ts | 2 +- .../utils/__tests__/fields.utils.spec.ts | 12 +- ...ld-metadata-to-graphql-query.utils.spec.ts | 37 ++++ .../utils/__tests__/parse-path.utils.spec.ts | 2 +- .../utils/compute-depth.utils.ts | 0 .../utils/fields.utils.ts | 2 +- ...p-field-metadata-to-graphql-query.utils.ts | 0 .../utils/parse-path.utils.ts | 0 .../api/rest/api-rest.controller.ts | 4 +- .../api/rest/api-rest.controller.utils.ts | 2 +- .../src/engine/api/rest/api-rest.module.ts | 17 ++ .../{ => engine}/api/rest/api-rest.service.ts | 8 +- .../api/rest/metadata-rest.controller.ts | 4 +- .../api/rest/metadata-rest.service.ts | 8 +- .../rest/types/api-rest-field-value.type.ts | 0 .../types/api-rest-query-variables.type.ts | 0 .../api/rest/types/api-rest-query.type.ts | 0 .../api/rest/types/api-rest-response.type.ts | 0 .../utils/global-exception-handler.util.ts | 4 +- .../workspace-query-builder-options.ts | 13 -- .../workspace-pre-query-hook.config.ts | 11 -- .../workspace-pre-query-hook.module.ts | 11 -- .../__tests__/cache-storage.service.spec.ts | 4 +- .../cache-storage.module-factory.ts | 4 +- .../cache-storage/cache-storage.module.ts | 8 +- .../cache-storage/cache-storage.service.ts | 2 +- .../types/cache-storage-namespace.enum.ts | 0 .../types/cache-storage-type.enum.ts | 0 .../interfaces/email-driver.interface.ts | 0 .../email/drivers/logger.driver.ts | 2 +- .../integrations/email/drivers/smtp.driver.ts | 2 +- .../integrations/email/email-sender.job.ts | 4 +- .../email/email-sender.service.ts | 4 +- .../integrations/email/email.constants.ts | 0 .../email/email.module-factory.ts | 4 +- .../integrations/email/email.module.ts | 12 +- .../integrations/email/email.service.ts | 6 +- .../email/interfaces/email.interface.ts | 0 .../cast-to-log-level-array.decorator.spec.ts | 2 +- .../cast-to-positive-number.decorator.spec.ts | 2 +- .../decorators/cast-to-boolean.decorator.ts | 0 .../cast-to-log-level-array.decorator.ts | 0 .../cast-to-positive-number.decorator.ts | 0 .../cast-to-string-array.decorator.ts | 0 .../decorators/is-aws-region.decorator.ts | 0 .../decorators/is-duration.decorator.ts | 0 .../is-strictly-lower-than.decorator.ts | 0 .../environment/environment-variables.ts | 12 +- .../environment/environment.default.ts | 14 +- .../environment.module-definition.ts | 0 .../environment/environment.module.ts | 0 .../environment/environment.service.spec.ts | 0 .../environment/environment.service.ts | 4 +- .../interfaces/aws-region.interface.ts | 0 .../interfaces/support.interface.ts | 0 .../types/object-record-create.event.ts | 0 .../types/object-record-delete.event.ts | 0 .../types/object-record-update.event.ts | 0 .../object-record-changed-properties.util.ts | 0 .../exception-handler.service.spec.ts | 5 +- .../drivers/console.driver.ts | 6 +- .../drivers/sentry.driver.ts | 6 +- .../exception-handler.constants.ts | 0 .../exception-handler.module-definition.ts | 0 .../exception-handler.module-factory.ts | 6 +- .../exception-handler.module.ts | 4 +- .../exception-handler.service.ts | 6 +- .../hooks/use-exception-handler.hook.ts | 2 +- .../hooks/use-sentry-tracing.ts} | 0 .../exception-handler-driver.interface.ts | 0 .../exception-handler-options.interface.ts | 0 .../exception-handler-user.interface.ts | 0 .../interfaces/exception-handler.interface.ts | 0 .../exception-handler/interfaces/index.ts | 0 .../__tests__}/file-storage.service.spec.ts | 4 +- .../interfaces/storage-driver.interface.ts | 0 .../file-storage/drivers/local.driver.ts | 0 .../file-storage/drivers/s3.driver.ts | 0 .../file-storage/file-storage.constants.ts | 0 .../file-storage.module-definition.ts | 0 .../file-storage.module-factory.ts | 4 +- .../file-storage/file-storage.module.ts | 0 .../file-storage/file-storage.service.ts | 0 .../interfaces/file-storage.interface.ts | 4 +- .../file-storage/interfaces/index.ts | 0 .../integrations/integrations.module.ts | 16 +- .../logger/__tests__}/logger.service.spec.ts | 4 +- .../integrations/logger/interfaces/index.ts | 0 .../logger/interfaces/logger.interface.ts | 0 .../integrations/logger/logger.constants.ts | 0 .../logger/logger.module-definition.ts | 0 .../logger/logger.module-factory.ts | 4 +- .../integrations/logger/logger.module.ts | 2 +- .../integrations/logger/logger.service.ts | 0 .../message-queue/drivers/bullmq.driver.ts | 4 +- .../interfaces/job-options.interface.ts | 0 .../message-queue-driver.interface.ts | 6 +- .../message-queue/drivers/pg-boss.driver.ts | 4 +- .../message-queue/drivers/sync.driver.ts | 8 +- .../message-queue/interfaces/index.ts | 0 .../interfaces/message-queue-job.interface.ts | 0 .../interfaces/message-queue.interface.ts | 4 +- .../integrations/message-queue/jobs.module.ts | 44 ++--- .../message-queue/message-queue.constants.ts | 0 .../message-queue.module-factory.ts | 4 +- .../message-queue/message-queue.module.ts | 16 +- ...essage-queue-task-assigned.service.spec.ts | 6 +- .../services/message-queue.service.ts | 8 +- .../utils/get-job-class-name.util.ts | 0 .../analytics/analytics.resolver.spec.ts | 2 +- .../analytics/analytics.service.spec.ts | 2 +- .../modules/analytics/analytics.service.ts | 2 +- .../src/engine/modules/auth/auth.module.ts | 2 +- .../google-apis-auth.controller.ts | 2 +- .../controllers/google-auth.controller.ts | 2 +- .../google-gmail-auth.controller.ts | 2 +- .../google-apis-provider-enabled.guard.ts | 2 +- .../google-gmail-provider-enabled.guard.ts | 2 +- .../guards/google-provider-enabled.guard.ts | 2 +- .../auth/services/auth.service.spec.ts | 4 +- .../modules/auth/services/auth.service.ts | 4 +- .../auth/services/google-apis.service.ts | 10 +- .../auth/services/sign-up.service.spec.ts | 2 +- .../modules/auth/services/sign-up.service.ts | 2 +- .../auth/services/token.service.spec.ts | 4 +- .../modules/auth/services/token.service.ts | 4 +- .../strategies/google-apis.auth.strategy.ts | 2 +- .../auth/strategies/google.auth.strategy.ts | 2 +- .../auth/strategies/jwt.auth.strategy.ts | 2 +- .../engine/modules/billing/billing.service.ts | 2 +- .../billing/jobs/update-subscription.job.ts | 2 +- .../billing-workspace-member.listener.ts | 8 +- .../modules/billing/stripe/stripe.service.ts | 2 +- .../client-config.resolver.spec.ts | 2 +- .../client-config/client-config.resolver.ts | 2 +- ...ion.module.ts => engine-modules.module.ts} | 2 +- .../file/services/file-upload.service.spec.ts | 4 +- .../file/services/file-upload.service.ts | 2 +- .../file/services/file.service.spec.ts | 4 +- .../modules/file/services/file.service.ts | 2 +- .../modules/open-api/open-api.service.spec.ts | 2 +- .../modules/open-api/open-api.service.ts | 2 +- .../utils/__tests__/components.utils.spec.ts | 6 +- .../utils/__tests__/parameters.utils.spec.ts | 10 +- .../open-api/utils/parameters.utils.ts | 10 +- .../quick-actions/intelligence.service.ts | 2 +- .../quick-actions/quick-actions.module.ts | 2 +- .../quick-actions/quick-actions.service.ts | 6 +- .../user-workspace/user-workspace.service.ts | 4 +- .../src/engine/modules/user/user.resolver.ts | 4 +- .../modules/workspace/workspace.resolver.ts | 2 +- .../deduce-relation-direction.spec.ts | 2 +- .../utils/__tests__/get-resolver-name.spec.ts | 4 +- .../utils/compute-custom-name.util.ts | 0 .../utils/compute-object-target-table.util.ts | 0 .../utils/deduce-relation-direction.util.ts | 0 .../utils/get-resolver-name.util.ts | 2 +- .../is-relation-field-metadata-type.util.ts | 0 .../utils/render-apollo-playground.util.ts | 0 .../clean-inactive-workspaces.command.ts | 4 +- ...-clean-inactive-workspaces.cron.command.ts | 4 +- ...-clean-inactive-workspaces.cron.command.ts | 4 +- .../crons/clean-inactive-workspace.job.ts | 8 +- .../commands/workspace-health.command.ts | 2 +- .../workspace-target-column-map.fixer.ts | 2 +- .../services/database-structure.service.ts | 2 +- .../services/field-metadata-health.service.ts | 4 +- .../object-metadata-health.service.ts | 2 +- .../relation-metadata.health.service.ts | 4 +- .../workspace-health.service.ts | 2 +- .../workspace-migration-field.factory.ts | 2 +- .../workspace-migration-object.factory.ts | 2 +- .../workspace-migration-relation.factory.ts | 2 +- .../services/sync-workspace-logger.service.ts | 2 +- .../custom-objects/custom.object-metadata.ts | 6 +- .../standard-objects/index.ts | 54 +++--- packages/twenty-server/src/main.ts | 4 +- .../activity-target.object-metadata.ts | 8 +- .../activity.object-metadata.ts | 8 +- .../comment.object-metadata.ts | 4 +- .../api-key.object-metadata.ts | 0 .../attachment.object-metadata.ts | 10 +- .../src/modules/calendar/calendar.module.ts | 41 +++++ .../google-calendar-full-sync.command.ts | 8 +- ...workspace-calendar-sync-commands.module.ts | 4 +- .../jobs/google-calendar-full-sync.job.ts | 6 +- ...alendar-channel-event-assocation.module.ts | 2 +- ...endar-channel-event-association.service.ts | 4 +- .../calendar-channel.module.ts | 2 +- .../calendar-channel.service.ts | 2 +- .../calendar-event-attendee.module.ts | 2 +- .../calendar-event-attendee.service.ts | 6 +- .../calendar-event/calendar-event.module.ts | 2 +- .../calendar-event/calendar-event.service.ts | 8 +- .../calendar-event-cleaner.module.ts | 4 +- .../calendar-event-cleaner.service.ts | 4 +- .../google-calendar-full-sync.service.ts | 24 +-- .../providers/calendar-providers.module.ts | 11 ++ .../google-calendar.provider.ts | 2 +- ...annel-event-association.object-metadata.ts | 2 +- .../calendar-channel.object-metadata.ts | 4 +- ...calendar-event-attendee.object-metadata.ts | 6 +- .../calendar-event.object-metadata.ts | 4 +- .../modules/calendar/types/calendar-event.ts | 4 +- .../format-google-calendar-event.util.ts | 4 +- ...uesAndValuesStringForBatchRawQuery.util.ts | 0 .../google-calendar-search-filter.util.ts | 0 .../company.object-metadata.ts | 12 +- .../create-company-and-contact.module.ts | 21 +++ .../create-company-and-contact.service.ts | 16 +- .../create-company/create-company.module.ts | 4 +- .../create-company/create-company.service.ts | 4 +- .../create-contact/create-contact.module.ts | 4 +- .../create-contact/create-contact.service.ts | 4 +- .../blocklist/blocklist.module.ts | 2 +- .../blocklist/blocklist.service.ts | 2 +- .../connected-account.module.ts | 2 +- .../connected-account.service.ts | 2 +- ...oogle-apis-refresh-access-token.service.ts | 4 +- .../blocklist.object-metadata.ts | 2 +- .../connected-account.object-metadata.ts | 6 +- .../favorite.object-metadata.ts | 8 +- ...ch-all-workspaces-messages.cron.pattern.ts | 0 .../fetch-all-workspaces-messages.job.ts | 10 +- ...etch-workspace-messages-commands.module.ts | 10 +- .../commands/gmail-full-sync.command.ts | 8 +- .../commands/gmail-partial-sync.command.ts | 8 +- ...ch-all-workspaces-messages.cron.command.ts | 8 +- ...ch-all-workspaces-messages.cron.command.ts | 8 +- ...e-companies-and-contacts-after-sync.job.ts | 8 +- ...ed-account-associated-calendar-data.job.ts | 4 +- ...d-account-associated-messaging-data.job.ts | 4 +- .../messaging}/jobs/gmail-full-sync.job.ts | 6 +- .../messaging}/jobs/gmail-partial-sync.job.ts | 6 +- .../jobs/match-message-participant.job.ts | 4 +- .../messaging-connected-account.listener.ts | 12 +- .../messaging-message-channel.listener.ts | 12 +- .../listeners/messaging-person.listener.ts | 14 +- .../messaging-workspace-member.listener.ts | 14 +- .../src/modules/messaging/messaging.module.ts | 76 ++++++++ .../message-find-many.pre-query.hook.ts | 12 +- .../message-find-one.pre-query-hook.ts | 4 +- .../messaging-query-hook.module.ts | 28 +++ .../repositories/company/company.module.ts | 2 +- .../repositories/company/company.service.ts | 0 ...ssage-channel-message-assocation.module.ts | 2 +- ...age-channel-message-association.service.ts | 2 +- .../message-channel/message-channel.module.ts | 2 +- .../message-channel.service.ts | 2 +- .../message-participant.module.ts | 4 +- .../message-participant.service.ts | 6 +- .../message-thread/message-thread.module.ts | 6 +- .../message-thread/message-thread.service.ts | 4 +- .../repositories/message/message.module.ts | 23 +++ .../repositories/message/message.service.ts | 12 +- .../services/fetch-by-batch.service.ts | 4 +- .../fetch-messages-by-batches.service.ts | 10 +- .../services/gmail-full-sync.service.ts | 24 +-- .../services/gmail-partial-sync.service.ts | 26 +-- .../providers/gmail/gmail-client.provider.ts | 2 +- .../providers/messaging-providers.module.ts | 11 ++ ...ve-messages-and-create-contacts.service.ts | 12 +- .../thread-cleaner/thread-cleaner.module.ts | 6 +- .../thread-cleaner/thread-cleaner.service.ts | 6 +- .../delete-using-pagination.util.spec.ts | 0 .../utils/delete-using-pagination.util.ts | 0 ...ddress-object-as-participants.util.spec.ts | 2 +- ...mat-address-object-as-participants.util.ts | 2 +- ...nel-message-association.object-metadata.ts | 6 +- .../message-channel.object-metadata.ts | 4 +- .../message-participant.object-metadata.ts | 6 +- .../message-thread.object-metadata.ts | 4 +- .../message.object-metadata.ts | 6 +- .../messaging}/types/batch-queries.ts | 0 .../types/gmail-message-parsed-response.ts | 0 .../messaging}/types/gmail-message.ts | 0 .../messaging}/types/gmail-thread.ts | 0 .../types/message-or-thread-query.ts | 0 .../create-queries-from-message-ids.util.ts | 2 +- ...icipants-from-company-or-workspace.util.ts | 6 +- .../get-company-name-from-domain-name.util.ts | 0 .../utils/get-domain-name-from-handle.util.ts | 0 ...-name-from-handle-and-display-name.util.ts | 0 ...et-unique-participants-and-handles.util.ts | 2 +- .../utils/gmail-search-filter.util.ts | 0 .../messaging}/utils/is-person-email.util.ts | 0 .../src/modules/modules.module.ts | 11 ++ .../opportunity.object-metadata.ts | 12 +- .../repositories/person/person.module.ts | 2 +- .../repositories/person/person.service.ts | 2 +- .../person.object-metadata.ts | 14 +- .../pipeline-step.object-metadata.ts | 2 +- .../view-field.object-metadata.ts | 2 +- .../view-filter.object-metadata.ts | 2 +- .../view-sort.object-metadata.ts | 2 +- .../standard-objects}/view.object-metadata.ts | 6 +- .../webhook.object-metadata.ts | 0 .../workspace-member.module.ts | 2 +- .../workspace-member.service.ts | 2 +- .../workspace-member.object-metadata.ts | 18 +- .../twenty-server/src/queue-worker.module.ts | 9 - .../src/queue-worker/queue-worker.module.ts | 9 + .../src/{ => queue-worker}/queue-worker.ts | 19 +- .../pagination/find-many-cursor-connection.ts | 162 ------------------ .../src/utils/pagination/index.ts | 2 - .../connection-arguments.interface.ts | 15 -- .../interfaces/connection-cursor.type.ts | 1 - .../find-many-aguments.interface.ts | 5 - .../interfaces/options.interface.ts | 19 -- .../src/utils/pagination/page-info.ts | 19 -- .../src/utils/pagination/paginated.ts | 77 --------- .../src/utils/pagination/utils/cursor.ts | 54 ------ .../utils/pagination/utils/default-options.ts | 42 ----- .../pagination/utils/pagination-direction.ts | 17 -- .../utils/pagination/utils/validate-args.ts | 38 ---- 523 files changed, 1386 insertions(+), 1856 deletions(-) delete mode 100644 packages/twenty-server/src/api/rest/api-rest-query-builder/factories/factories.ts delete mode 100644 packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory.ts delete mode 100644 packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts delete mode 100644 packages/twenty-server/src/api/rest/api-rest.module.ts delete mode 100644 packages/twenty-server/src/business/modules/business.module.ts delete mode 100644 packages/twenty-server/src/business/modules/calendar/calendar.module.ts delete mode 100644 packages/twenty-server/src/business/modules/calendar/services/providers/calendar-providers.module.ts delete mode 100644 packages/twenty-server/src/business/modules/message/messaging.module.ts delete mode 100644 packages/twenty-server/src/business/modules/message/query-hooks/messaging-query-hook.module.ts delete mode 100644 packages/twenty-server/src/business/modules/message/repositories/message/message.module.ts delete mode 100644 packages/twenty-server/src/business/modules/message/services/providers/messaging-providers.module.ts rename packages/twenty-server/src/{commands => command}/command-logger.ts (100%) rename packages/twenty-server/src/{ => command}/command.module.ts (53%) rename packages/twenty-server/src/{ => command}/command.ts (73%) rename packages/twenty-server/src/{integrations/throttler => engine-graphql-config}/hooks/use-throttler.ts (100%) delete mode 100644 packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module.ts delete mode 100644 packages/twenty-server/src/engine-workspace/utils/compute-field-target-column.util.ts rename packages/twenty-server/src/{utils/utils-test/object-metadata-item.ts => engine/api/__mocks__/object-metadata-item.mock.ts} (77%) rename packages/twenty-server/src/engine/{graphql => api/graphql/__tests__}/workspace.factory.spec.ts (67%) rename packages/twenty-server/src/engine/{graphql/workspace.module.ts => api/graphql/core-graphql-api.module.ts} (55%) rename packages/twenty-server/src/{engine-workspace => engine/api/graphql}/services/scalars-explorer.service.ts (93%) create mode 100644 packages/twenty-server/src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock.ts rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/__tests__/args-string.factory.spec.ts (92%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/__tests__/find-duplicates-query.factory.spec.ts (76%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/__tests__/record-position-query.factory.spec.ts (96%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/args-alias.factory.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/args-string.factory.ts (94%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/create-many-query.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/delete-many-query.factory.ts (65%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/delete-one-query.factory.ts (69%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/factories.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/field-alias.factory.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/fields-string.factory.ts (96%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts (82%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/find-many-query.factory.ts (72%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/find-one-query.factory.ts (70%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/record-position-query.factory.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts (92%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/update-many-query.factory.ts (62%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/factories/update-one-query.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/interfaces/record.interface.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/utils/__tests__/stringify-without-key-quote.spec.ts (92%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/utils/get-field-arguments-by-key.util.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/utils/stringify-without-key-quote.util.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/workspace-query-builder.factory.ts (92%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-builder/workspace-query-builder.module.ts (69%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts (81%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts (88%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/factories/index.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/factories/query-runner-args.factory.ts (93%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/factories/record-position.factory.ts (92%) rename packages/twenty-server/src/{utils/pagination => engine/api/graphql/workspace-query-runner}/interfaces/connection.interface.ts (100%) rename packages/twenty-server/src/{utils/pagination => engine/api/graphql/workspace-query-runner}/interfaces/edge.interface.ts (100%) rename packages/twenty-server/src/{utils/pagination => engine/api/graphql/workspace-query-runner}/interfaces/page-info.interface.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/interfaces/pg-graphql.interface.ts (71%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/interfaces/query-runner-option.interface.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/jobs/call-webhook-jobs.job.ts (88%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/jobs/call-webhook.job.ts (89%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/jobs/record-position-backfill.job.ts (71%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/listeners/record-position.listener.ts (77%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/services/record-position-backfill-module.ts (50%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/services/record-position-backfill-service.ts (86%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/utils/__tests__/parse-result.spec.ts (96%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/utils/compute-pg-graphql-error.util.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/utils/parse-result.util.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface.ts (54%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type.ts (92%) create mode 100644 packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.config.ts create mode 100644 packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module.ts rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/workspace-query-runner.module.ts (52%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-query-runner/workspace-query-runner.service.ts (89%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants.ts (87%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/create-many-resolver.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/create-one-resolver.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/delete-many-resolver.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/delete-one-resolver.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/execute-quick-action-on-one-resolver.factory.ts (74%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/factories.ts (92%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/find-duplicates-resolver.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/find-many-resolver.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/find-one-resolver.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/update-many-resolver.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/factories/update-one-resolver.factory.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/interfaces/pg-graphql.interface.ts (69%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface.ts (55%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface.ts (93%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/workspace-resolver-builder.module.ts (81%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-resolver-builder/workspace-resolver.factory.ts (91%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/args.factory.ts (82%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts (93%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/connection-type.factory.ts (78%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts (92%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/edge-type.factory.ts (77%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts (94%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/extend-object-type-definition.factory.ts (86%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/factories.ts (93%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/filter-type-definition.factory.ts (87%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/filter-type.factory.ts (85%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts (89%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/input-type.factory.ts (82%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/mutation-type.factory.ts (77%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts (89%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/order-by-type-definition.factory.ts (88%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/order-by-type.factory.ts (81%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/orphaned-types.factory.ts (82%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/output-type.factory.ts (82%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/query-type.factory.ts (77%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/relation-type.factory.ts (89%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/factories/root-type.factory.ts (83%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/enum/index.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/enum/order-by-direction.enum-type.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/big-float-filter.input-type.ts (70%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/big-int-filter.input-type.ts (80%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/boolean-filter.input-type.ts (67%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/date-filter.input-type.ts (68%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts (70%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/float-filter.input-type.ts (81%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/index.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/int-filter.input-type.ts (80%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/string-filter.input-type.ts (85%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts (68%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts (58%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/object/index.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/object/page-into.object-type.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/scalars/big-float.scalar.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/scalars/big-int.scalar.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/scalars/cursor.scalar.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/scalars/date-time.scalar.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/scalars/date.scalar.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/scalars/index.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/scalars/position.scalar.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/scalars/time.scalar.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/graphql-types/scalars/uuid.scalar.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/interfaces/param-metadata.interface.ts (74%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/services/type-mapper.service.ts (90%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/storages/type-definitions.storage.ts (87%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/type-definitions.generator.ts (98%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/utils/__tests__/clean-entity-name.spec.ts (86%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts (83%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/utils/__tests__/get-resolver-args.spec.ts (85%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/utils/clean-entity-name.util.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/utils/get-resolver-args.util.ts (88%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts (74%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts (92%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-builder/workspace-schema-builder.module.ts (100%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-storage/workspace-schema-storage.module.ts (78%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace-schema-storage/workspace-schema-storage.service.ts (93%) rename packages/twenty-server/src/engine/{ => api}/graphql/workspace.factory.ts (86%) rename packages/twenty-server/src/{api/rest => engine/api/rest/__tests__}/api-rest.controller.utils.spec.ts (93%) rename packages/twenty-server/src/{api/rest => engine/api/rest/__tests__}/api-rest.service.spec.ts (75%) rename packages/twenty-server/src/{api/rest/api-rest-query-builder => engine/api/rest/api-rest-query-builder/__tests__}/api-rest-query-builder.factory.spec.ts (51%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/api-rest-query-builder.factory.ts (76%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/api-rest-query-builder.module.ts (64%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/create-query.factory.ts (84%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/create-variables.factory.ts (67%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/delete-query.factory.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/delete-variables.factory.ts (65%) create mode 100644 packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/factories.ts rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/find-many-query.factory.ts (90%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/find-one-query.factory.ts (84%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/get-variables.factory.ts (58%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/__tests__/filter-input.factory.spec.ts (93%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/__tests__/last-cursor-input.factory.spec.ts (85%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/__tests__/limit-input.factory.spec.ts (90%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/__tests__/order-by-input.factory.spec.ts (90%) create mode 100644 packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory.ts rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/add-default-conjunction.utils.spec.ts (71%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/check-filter-query.utils.spec.ts (86%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/format-field-values.utils.spec.ts (92%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-base-filter.utils.spec.ts (90%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter-content.utils.spec.ts (91%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter.utils.spec.ts (85%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils.ts (68%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/check-filter-query.utils.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils.ts (93%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter-content.utils.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils.ts (71%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory.ts (91%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/update-query.factory.ts (85%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/factories/update-variables.factory.ts (69%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/utils/__tests__/compute-depth.utils.spec.ts (85%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/utils/__tests__/fields.utils.spec.ts (50%) create mode 100644 packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/utils/__tests__/parse-path.utils.spec.ts (82%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/utils/compute-depth.utils.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/utils/fields.utils.ts (90%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest-query-builder/utils/parse-path.utils.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest.controller.ts (85%) rename packages/twenty-server/src/{ => engine}/api/rest/api-rest.controller.utils.ts (91%) create mode 100644 packages/twenty-server/src/engine/api/rest/api-rest.module.ts rename packages/twenty-server/src/{ => engine}/api/rest/api-rest.service.ts (85%) rename packages/twenty-server/src/{ => engine}/api/rest/metadata-rest.controller.ts (84%) rename packages/twenty-server/src/{ => engine}/api/rest/metadata-rest.service.ts (95%) rename packages/twenty-server/src/{ => engine}/api/rest/types/api-rest-field-value.type.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/types/api-rest-query-variables.type.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/types/api-rest-query.type.ts (100%) rename packages/twenty-server/src/{ => engine}/api/rest/types/api-rest-response.type.ts (100%) delete mode 100644 packages/twenty-server/src/engine/graphql/workspace-query-builder/utils-test/workspace-query-builder-options.ts delete mode 100644 packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.config.ts delete mode 100644 packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module.ts rename packages/twenty-server/src/{ => engine}/integrations/cache-storage/__tests__/cache-storage.service.spec.ts (90%) rename packages/twenty-server/src/{ => engine}/integrations/cache-storage/cache-storage.module-factory.ts (85%) rename packages/twenty-server/src/{ => engine}/integrations/cache-storage/cache-storage.module.ts (65%) rename packages/twenty-server/src/{ => engine}/integrations/cache-storage/cache-storage.service.ts (85%) rename packages/twenty-server/src/{ => engine}/integrations/cache-storage/types/cache-storage-namespace.enum.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/cache-storage/types/cache-storage-type.enum.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/email/drivers/interfaces/email-driver.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/email/drivers/logger.driver.ts (84%) rename packages/twenty-server/src/{ => engine}/integrations/email/drivers/smtp.driver.ts (88%) rename packages/twenty-server/src/{ => engine}/integrations/email/email-sender.job.ts (64%) rename packages/twenty-server/src/{ => engine}/integrations/email/email-sender.service.ts (66%) rename packages/twenty-server/src/{ => engine}/integrations/email/email.constants.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/email/email.module-factory.ts (86%) rename packages/twenty-server/src/{ => engine}/integrations/email/email.module.ts (54%) rename packages/twenty-server/src/{ => engine}/integrations/email/email.service.ts (62%) rename packages/twenty-server/src/{ => engine}/integrations/email/interfaces/email.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/decorators/__tests__/cast-to-log-level-array.decorator.spec.ts (94%) rename packages/twenty-server/src/{ => engine}/integrations/environment/decorators/__tests__/cast-to-positive-number.decorator.spec.ts (92%) rename packages/twenty-server/src/{ => engine}/integrations/environment/decorators/cast-to-boolean.decorator.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/decorators/cast-to-log-level-array.decorator.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/decorators/cast-to-positive-number.decorator.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/decorators/cast-to-string-array.decorator.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/decorators/is-aws-region.decorator.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/decorators/is-duration.decorator.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/decorators/is-strictly-lower-than.decorator.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/environment-variables.ts (91%) rename packages/twenty-server/src/{ => engine}/integrations/environment/environment.default.ts (84%) rename packages/twenty-server/src/{ => engine}/integrations/environment/environment.module-definition.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/environment.module.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/environment.service.spec.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/environment.service.ts (86%) rename packages/twenty-server/src/{ => engine}/integrations/environment/interfaces/aws-region.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/environment/interfaces/support.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/event-emitter/types/object-record-create.event.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/event-emitter/types/object-record-delete.event.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/event-emitter/types/object-record-update.event.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/event-emitter/utils/object-record-changed-properties.util.ts (100%) rename packages/twenty-server/src/{integrations/exception-handler => engine/integrations/exception-handler/__tests__}/exception-handler.service.spec.ts (71%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/drivers/console.driver.ts (59%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/drivers/sentry.driver.ts (90%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/exception-handler.constants.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/exception-handler.module-definition.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/exception-handler.module-factory.ts (77%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/exception-handler.module.ts (88%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/exception-handler.service.ts (53%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/hooks/use-exception-handler.hook.ts (97%) rename packages/twenty-server/src/{integrations/tracing/useSentryTracing.ts => engine/integrations/exception-handler/hooks/use-sentry-tracing.ts} (100%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/interfaces/exception-handler-driver.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/interfaces/exception-handler-options.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/interfaces/exception-handler-user.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/interfaces/exception-handler.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/exception-handler/interfaces/index.ts (100%) rename packages/twenty-server/src/{integrations/file-storage => engine/integrations/file-storage/__tests__}/file-storage.service.spec.ts (73%) rename packages/twenty-server/src/{ => engine}/integrations/file-storage/drivers/interfaces/storage-driver.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/file-storage/drivers/local.driver.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/file-storage/drivers/s3.driver.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/file-storage/file-storage.constants.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/file-storage/file-storage.module-definition.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/file-storage/file-storage.module-factory.ts (90%) rename packages/twenty-server/src/{ => engine}/integrations/file-storage/file-storage.module.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/file-storage/file-storage.service.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/file-storage/interfaces/file-storage.interface.ts (78%) rename packages/twenty-server/src/{ => engine}/integrations/file-storage/interfaces/index.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/integrations.module.ts (62%) rename packages/twenty-server/src/{integrations/logger => engine/integrations/logger/__tests__}/logger.service.spec.ts (76%) rename packages/twenty-server/src/{ => engine}/integrations/logger/interfaces/index.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/logger/interfaces/logger.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/logger/logger.constants.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/logger/logger.module-definition.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/logger/logger.module-factory.ts (82%) rename packages/twenty-server/src/{ => engine}/integrations/logger/logger.module.ts (95%) rename packages/twenty-server/src/{ => engine}/integrations/logger/logger.service.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/drivers/bullmq.driver.ts (92%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/drivers/interfaces/job-options.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/drivers/interfaces/message-queue-driver.interface.ts (67%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/drivers/pg-boss.driver.ts (87%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/drivers/sync.driver.ts (76%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/interfaces/index.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/interfaces/message-queue-job.interface.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/interfaces/message-queue.interface.ts (81%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/jobs.module.ts (62%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/message-queue.constants.ts (100%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/message-queue.module-factory.ts (89%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/message-queue.module.ts (65%) rename packages/twenty-server/src/{integrations/message-queue/services => engine/integrations/message-queue/services/__tests__}/message-queue-task-assigned.service.spec.ts (77%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/services/message-queue.service.ts (75%) rename packages/twenty-server/src/{ => engine}/integrations/message-queue/utils/get-job-class-name.util.ts (100%) rename packages/twenty-server/src/engine/modules/{foundation.module.ts => engine-modules.module.ts} (97%) rename packages/twenty-server/src/{engine-workspace => engine}/utils/__tests__/deduce-relation-direction.spec.ts (98%) rename packages/twenty-server/src/{engine-workspace => engine}/utils/__tests__/get-resolver-name.spec.ts (84%) rename packages/twenty-server/src/{engine-workspace => engine}/utils/compute-custom-name.util.ts (100%) rename packages/twenty-server/src/{engine-workspace => engine}/utils/compute-object-target-table.util.ts (100%) rename packages/twenty-server/src/{engine-workspace => engine}/utils/deduce-relation-direction.util.ts (100%) rename packages/twenty-server/src/{engine-workspace => engine}/utils/get-resolver-name.util.ts (94%) rename packages/twenty-server/src/{engine-workspace => engine}/utils/is-relation-field-metadata-type.util.ts (100%) rename packages/twenty-server/src/{engine-workspace => engine}/utils/render-apollo-playground.util.ts (100%) rename packages/twenty-server/src/{business/modules/activity => modules/activity/standard-objects}/activity-target.object-metadata.ts (88%) rename packages/twenty-server/src/{business/modules/activity => modules/activity/standard-objects}/activity.object-metadata.ts (90%) rename packages/twenty-server/src/{business/modules/comment => modules/activity/standard-objects}/comment.object-metadata.ts (88%) rename packages/twenty-server/src/{business/modules/api-key => modules/api-key/standard-objects}/api-key.object-metadata.ts (100%) rename packages/twenty-server/src/{business/modules/attachment => modules/attachment/standard-objects}/attachment.object-metadata.ts (87%) create mode 100644 packages/twenty-server/src/modules/calendar/calendar.module.ts rename packages/twenty-server/src/{business => }/modules/calendar/commands/google-calendar-full-sync.command.ts (79%) rename packages/twenty-server/src/{business => }/modules/calendar/commands/workspace-calendar-sync-commands.module.ts (69%) rename packages/twenty-server/src/{business => }/modules/calendar/jobs/google-calendar-full-sync.job.ts (78%) rename packages/twenty-server/src/{business => }/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-assocation.module.ts (66%) rename packages/twenty-server/src/{business => }/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service.ts (96%) rename packages/twenty-server/src/{business => }/modules/calendar/repositories/calendar-channel/calendar-channel.module.ts (71%) rename packages/twenty-server/src/{business => }/modules/calendar/repositories/calendar-channel/calendar-channel.service.ts (95%) rename packages/twenty-server/src/{business => }/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.module.ts (69%) rename packages/twenty-server/src/{business => }/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service.ts (93%) rename packages/twenty-server/src/{business => }/modules/calendar/repositories/calendar-event/calendar-event.module.ts (71%) rename packages/twenty-server/src/{business => }/modules/calendar/repositories/calendar-event/calendar-event.service.ts (93%) rename packages/twenty-server/src/{business => }/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module.ts (61%) rename packages/twenty-server/src/{business => }/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service.ts (67%) rename packages/twenty-server/src/{business => }/modules/calendar/services/google-calendar-full-sync.service.ts (84%) create mode 100644 packages/twenty-server/src/modules/calendar/services/providers/calendar-providers.module.ts rename packages/twenty-server/src/{business => }/modules/calendar/services/providers/google-calendar/google-calendar.provider.ts (92%) rename packages/twenty-server/src/{business/modules/calendar => modules/calendar/standard-objects}/calendar-channel-event-association.object-metadata.ts (95%) rename packages/twenty-server/src/{business/modules/calendar => modules/calendar/standard-objects}/calendar-channel.object-metadata.ts (95%) rename packages/twenty-server/src/{business/modules/calendar => modules/calendar/standard-objects}/calendar-event-attendee.object-metadata.ts (92%) rename packages/twenty-server/src/{business/modules/calendar => modules/calendar/standard-objects}/calendar-event.object-metadata.ts (96%) rename packages/twenty-server/src/{business => }/modules/calendar/types/calendar-event.ts (73%) rename packages/twenty-server/src/{business => }/modules/calendar/utils/format-google-calendar-event.util.ts (88%) rename packages/twenty-server/src/{business/modules/calendar-and-messaging => modules/calendar}/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util.ts (100%) rename packages/twenty-server/src/{business => }/modules/calendar/utils/google-calendar-search-filter.util.ts (100%) rename packages/twenty-server/src/{business/modules/company => modules/company/standard-objects}/company.object-metadata.ts (90%) create mode 100644 packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module.ts rename packages/twenty-server/src/{engine-workspace => modules/connected-account}/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service.ts (77%) rename packages/twenty-server/src/{engine-workspace => modules/connected-account}/auto-companies-and-contacts-creation/create-company/create-company.module.ts (57%) rename packages/twenty-server/src/{engine-workspace => modules/connected-account}/auto-companies-and-contacts-creation/create-company/create-company.service.ts (92%) rename packages/twenty-server/src/{engine-workspace => modules/connected-account}/auto-companies-and-contacts-creation/create-contact/create-contact.module.ts (58%) rename packages/twenty-server/src/{engine-workspace => modules/connected-account}/auto-companies-and-contacts-creation/create-contact/create-contact.service.ts (87%) rename packages/twenty-server/src/{business/modules/calendar-and-messaging => modules/connected-account}/repositories/blocklist/blocklist.module.ts (71%) rename packages/twenty-server/src/{business/modules/calendar-and-messaging => modules/connected-account}/repositories/blocklist/blocklist.service.ts (89%) rename packages/twenty-server/src/{business/modules/calendar-and-messaging => modules/connected-account}/repositories/connected-account/connected-account.module.ts (68%) rename packages/twenty-server/src/{business/modules/calendar-and-messaging => modules/connected-account}/repositories/connected-account/connected-account.service.ts (97%) rename packages/twenty-server/src/{business/modules/calendar-and-messaging => modules/connected-account}/services/google-apis-refresh-access-token.service.ts (87%) rename packages/twenty-server/src/{business/modules/calendar => modules/connected-account/standard-objects}/blocklist.object-metadata.ts (92%) rename packages/twenty-server/src/{business/modules/connected-account => modules/connected-account/standard-objects}/connected-account.object-metadata.ts (91%) rename packages/twenty-server/src/{business/modules/favorite => modules/favorite/standard-objects}/favorite.object-metadata.ts (88%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/commands/crons/fetch-all-workspaces-messages.cron.pattern.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/commands/crons/fetch-all-workspaces-messages.job.ts (81%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/commands/fetch-workspace-messages-commands.module.ts (57%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/commands/gmail-full-sync.command.ts (78%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/commands/gmail-partial-sync.command.ts (78%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/commands/start-fetch-all-workspaces-messages.cron.command.ts (58%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/commands/stop-fetch-all-workspaces-messages.cron.command.ts (57%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/jobs/create-companies-and-contacts-after-sync.job.ts (78%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/jobs/delete-connected-account-associated-calendar-data.job.ts (81%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/jobs/delete-connected-account-associated-messaging-data.job.ts (82%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/jobs/gmail-full-sync.job.ts (78%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/jobs/gmail-partial-sync.job.ts (76%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/jobs/match-message-participant.job.ts (83%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/listeners/messaging-connected-account.listener.ts (67%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/listeners/messaging-message-channel.listener.ts (61%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/listeners/messaging-person.listener.ts (67%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/listeners/messaging-workspace-member.listener.ts (67%) create mode 100644 packages/twenty-server/src/modules/messaging/messaging.module.ts rename packages/twenty-server/src/{business/modules/message => modules/messaging}/query-hooks/message/message-find-many.pre-query.hook.ts (73%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/query-hooks/message/message-find-one.pre-query-hook.ts (57%) create mode 100644 packages/twenty-server/src/modules/messaging/query-hooks/messaging-query-hook.module.ts rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/company/company.module.ts (77%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/company/company.service.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/message-channel-message-association/message-channel-message-assocation.module.ts (66%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/message-channel-message-association/message-channel-message-association.service.ts (98%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/message-channel/message-channel.module.ts (71%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/message-channel/message-channel.service.ts (95%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/message-participant/message-participant.module.ts (60%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/message-participant/message-participant.service.ts (96%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/message-thread/message-thread.module.ts (50%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/message-thread/message-thread.service.ts (92%) create mode 100644 packages/twenty-server/src/modules/messaging/repositories/message/message.module.ts rename packages/twenty-server/src/{business/modules/message => modules/messaging}/repositories/message/message.service.ts (93%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/fetch-by-batch.service.ts (93%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/fetch-messages-by-batches.service.ts (89%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/gmail-full-sync.service.ts (83%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/gmail-partial-sync.service.ts (89%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/providers/gmail/gmail-client.provider.ts (91%) create mode 100644 packages/twenty-server/src/modules/messaging/services/providers/messaging-providers.module.ts rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/save-messages-and-create-contacts.service.ts (88%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/thread-cleaner/thread-cleaner.module.ts (56%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/thread-cleaner/thread-cleaner.service.ts (75%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/thread-cleaner/utils/delete-using-pagination.util.spec.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/thread-cleaner/utils/delete-using-pagination.util.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/utils/__tests__/format-address-object-as-participants.util.spec.ts (86%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/services/utils/format-address-object-as-participants.util.ts (92%) rename packages/twenty-server/src/{business/modules/message => modules/messaging/standard-objects}/message-channel-message-association.object-metadata.ts (89%) rename packages/twenty-server/src/{business/modules/message => modules/messaging/standard-objects}/message-channel.object-metadata.ts (94%) rename packages/twenty-server/src/{business/modules/message => modules/messaging/standard-objects}/message-participant.object-metadata.ts (90%) rename packages/twenty-server/src/{business/modules/message => modules/messaging/standard-objects}/message-thread.object-metadata.ts (92%) rename packages/twenty-server/src/{business/modules/message => modules/messaging/standard-objects}/message.object-metadata.ts (92%) rename packages/twenty-server/src/{business/modules/calendar-and-messaging => modules/messaging}/types/batch-queries.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/types/gmail-message-parsed-response.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/types/gmail-message.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/types/gmail-thread.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/types/message-or-thread-query.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/utils/create-queries-from-message-ids.util.ts (71%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/utils/filter-out-participants-from-company-or-workspace.util.ts (70%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/utils/get-company-name-from-domain-name.util.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/utils/get-domain-name-from-handle.util.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/utils/get-first-name-and-last-name-from-handle-and-display-name.util.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/utils/get-unique-participants-and-handles.util.ts (86%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/utils/gmail-search-filter.util.ts (100%) rename packages/twenty-server/src/{business/modules/message => modules/messaging}/utils/is-person-email.util.ts (100%) create mode 100644 packages/twenty-server/src/modules/modules.module.ts rename packages/twenty-server/src/{business/modules/opportunity => modules/opportunity/standard-objects}/opportunity.object-metadata.ts (89%) rename packages/twenty-server/src/{engine-workspace => modules/person}/repositories/person/person.module.ts (76%) rename packages/twenty-server/src/{engine-workspace => modules/person}/repositories/person/person.service.ts (95%) rename packages/twenty-server/src/{business/modules/person => modules/person/standard-objects}/person.object-metadata.ts (89%) rename packages/twenty-server/src/{business/modules/pipeline-step => modules/pipeline-step/standard-objects}/pipeline-step.object-metadata.ts (95%) rename packages/twenty-server/src/{business/modules/view => modules/view/standard-objects}/view-field.object-metadata.ts (96%) rename packages/twenty-server/src/{business/modules/view => modules/view/standard-objects}/view-filter.object-metadata.ts (96%) rename packages/twenty-server/src/{business/modules/view => modules/view/standard-objects}/view-sort.object-metadata.ts (95%) rename packages/twenty-server/src/{business/modules/view => modules/view/standard-objects}/view.object-metadata.ts (92%) rename packages/twenty-server/src/{business/modules/webhook => modules/webhook/standard-objects}/webhook.object-metadata.ts (100%) rename packages/twenty-server/src/{engine-workspace => modules/workspace-member}/repositories/workspace-member/workspace-member.module.ts (71%) rename packages/twenty-server/src/{engine-workspace => modules/workspace-member}/repositories/workspace-member/workspace-member.service.ts (94%) rename packages/twenty-server/src/{business/modules/workspace => modules/workspace-member/standard-objects}/workspace-member.object-metadata.ts (88%) delete mode 100644 packages/twenty-server/src/queue-worker.module.ts create mode 100644 packages/twenty-server/src/queue-worker/queue-worker.module.ts rename packages/twenty-server/src/{ => queue-worker}/queue-worker.ts (64%) delete mode 100644 packages/twenty-server/src/utils/pagination/find-many-cursor-connection.ts delete mode 100644 packages/twenty-server/src/utils/pagination/index.ts delete mode 100644 packages/twenty-server/src/utils/pagination/interfaces/connection-arguments.interface.ts delete mode 100644 packages/twenty-server/src/utils/pagination/interfaces/connection-cursor.type.ts delete mode 100644 packages/twenty-server/src/utils/pagination/interfaces/find-many-aguments.interface.ts delete mode 100644 packages/twenty-server/src/utils/pagination/interfaces/options.interface.ts delete mode 100644 packages/twenty-server/src/utils/pagination/page-info.ts delete mode 100644 packages/twenty-server/src/utils/pagination/paginated.ts delete mode 100644 packages/twenty-server/src/utils/pagination/utils/cursor.ts delete mode 100644 packages/twenty-server/src/utils/pagination/utils/default-options.ts delete mode 100644 packages/twenty-server/src/utils/pagination/utils/pagination-direction.ts delete mode 100644 packages/twenty-server/src/utils/pagination/utils/validate-args.ts diff --git a/packages/twenty-server/jest.config.ts b/packages/twenty-server/jest.config.ts index 53d10fd3e..2a5ea0df6 100644 --- a/packages/twenty-server/jest.config.ts +++ b/packages/twenty-server/jest.config.ts @@ -4,7 +4,7 @@ module.exports = { clearMocks: true, preset: 'ts-jest', testEnvironment: 'node', - + modulePathIgnorePatterns: ['/dist'], moduleFileExtensions: ['js', 'json', 'ts'], moduleNameMapper: { '^src/(.*)': '/src/$1', diff --git a/packages/twenty-server/package.json b/packages/twenty-server/package.json index 79f40dc71..5330a9569 100644 --- a/packages/twenty-server/package.json +++ b/packages/twenty-server/package.json @@ -28,8 +28,8 @@ "database:seed:dev": "npx nx command -- workspace:seed:dev", "database:seed:demo": "npx nx command -- workspace:seed:demo", "database:reset": "npx nx database:truncate && npx nx database:init", - "command": "node dist/src/command", - "queue:work": "node dist/src/queue-worker" + "command": "node dist/src/command/command", + "queue:work": "node dist/src/queue-worker/queue-worker" }, "dependencies": { "@graphql-yoga/nestjs": "patch:@graphql-yoga/nestjs@2.1.0#./patches/@graphql-yoga+nestjs+2.1.0.patch", diff --git a/packages/twenty-server/project.json b/packages/twenty-server/project.json index c3e449799..358c38cb5 100644 --- a/packages/twenty-server/project.json +++ b/packages/twenty-server/project.json @@ -22,7 +22,7 @@ ], "options": { "cwd": "packages/twenty-server", - "command": "node dist/src/command.js" + "command": "node dist/src/command/command.js" } }, "test:debug": { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/factories.ts b/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/factories.ts deleted file mode 100644 index e6f4f822f..000000000 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/factories.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { DeleteQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/delete-query.factory'; -import { CreateQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/create-query.factory'; -import { UpdateQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/update-query.factory'; -import { FindOneQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/find-one-query.factory'; -import { FindManyQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/find-many-query.factory'; -import { DeleteVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/delete-variables.factory'; -import { CreateVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/create-variables.factory'; -import { UpdateVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/update-variables.factory'; -import { GetVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/get-variables.factory'; -import { LastCursorInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory'; -import { LimitInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory'; -import { OrderByInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory'; -import { FilterInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory'; - -export const apiRestQueryBuilderFactories = [ - DeleteQueryFactory, - CreateQueryFactory, - UpdateQueryFactory, - FindOneQueryFactory, - FindManyQueryFactory, - DeleteVariablesFactory, - CreateVariablesFactory, - UpdateVariablesFactory, - GetVariablesFactory, - LastCursorInputFactory, - LimitInputFactory, - OrderByInputFactory, - FilterInputFactory, -]; diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory.ts b/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory.ts deleted file mode 100644 index 355ccce52..000000000 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Injectable } from '@nestjs/common'; - -import { Request } from 'express'; - -import { addDefaultConjunctionIfMissing } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils'; -import { checkFilterQuery } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/check-filter-query.utils'; -import { parseFilter } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils'; -import { FieldValue } from 'src/api/rest/types/api-rest-field-value.type'; - -@Injectable() -export class FilterInputFactory { - create(request: Request, objectMetadata): Record { - let filterQuery = request.query.filter; - - if (typeof filterQuery !== 'string') { - return {}; - } - - checkFilterQuery(filterQuery); - - filterQuery = addDefaultConjunctionIfMissing(filterQuery); - - return parseFilter(filterQuery, objectMetadata.objectMetadataItem); - } -} diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts b/packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts deleted file mode 100644 index d4ce695a1..000000000 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { - fieldCurrency, - fieldLink, - fieldNumber, - fieldString, - objectMetadataItem, -} from 'src/utils/utils-test/object-metadata-item'; -import { mapFieldMetadataToGraphqlQuery } from 'src/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils'; - -describe('mapFieldMetadataToGraphqlQuery', () => { - it('should map properly', () => { - expect( - mapFieldMetadataToGraphqlQuery(objectMetadataItem, fieldNumber), - ).toEqual('fieldNumber'); - expect( - mapFieldMetadataToGraphqlQuery(objectMetadataItem, fieldString), - ).toEqual('fieldString'); - expect(mapFieldMetadataToGraphqlQuery(objectMetadataItem, fieldLink)) - .toEqual(` - fieldLink - { - label - url - } - `); - expect(mapFieldMetadataToGraphqlQuery(objectMetadataItem, fieldCurrency)) - .toEqual(` - fieldCurrency - { - amountMicros - currencyCode - } - `); - }); -}); diff --git a/packages/twenty-server/src/api/rest/api-rest.module.ts b/packages/twenty-server/src/api/rest/api-rest.module.ts deleted file mode 100644 index 6e3371294..000000000 --- a/packages/twenty-server/src/api/rest/api-rest.module.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Module } from '@nestjs/common'; -import { HttpModule } from '@nestjs/axios'; - -import { ApiRestController } from 'src/api/rest/api-rest.controller'; -import { ApiRestService } from 'src/api/rest/api-rest.service'; -import { ApiRestQueryBuilderModule } from 'src/api/rest/api-rest-query-builder/api-rest-query-builder.module'; -import { AuthModule } from 'src/engine/modules/auth/auth.module'; -import { ApiRestMetadataController } from 'src/api/rest/metadata-rest.controller'; -import { ApiRestMetadataService } from 'src/api/rest/metadata-rest.service'; - -@Module({ - imports: [ApiRestQueryBuilderModule, AuthModule, HttpModule], - controllers: [ApiRestMetadataController, ApiRestController], - providers: [ApiRestMetadataService, ApiRestService], - exports: [ApiRestMetadataService], -}) -export class ApiRestModule {} diff --git a/packages/twenty-server/src/app.module.ts b/packages/twenty-server/src/app.module.ts index dbc019e29..04025def2 100644 --- a/packages/twenty-server/src/app.module.ts +++ b/packages/twenty-server/src/app.module.ts @@ -9,12 +9,12 @@ import { join } from 'path'; import { YogaDriver, YogaDriverConfig } from '@graphql-yoga/nestjs'; import { GraphQLConfigService } from 'src/engine-graphql-config/graphql-config.service'; -import { ApiRestModule } from 'src/api/rest/api-rest.module'; -import { BusinessModule } from 'src/business/modules/business.module'; +import { ApiRestModule } from 'src/engine/api/rest/api-rest.module'; +import { ModulesModule } from 'src/modules/modules.module'; -import { FoundationModule } from './engine/modules/foundation.module'; -import { IntegrationsModule } from './integrations/integrations.module'; -import { WorkspaceModule } from './engine/graphql/workspace.module'; +import { EngineModulesModule } from './engine/modules/engine-modules.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({ @@ -27,14 +27,14 @@ import { GraphQLConfigModule } from './engine-graphql-config/graphql-config.modu }), GraphQLModule.forRootAsync({ driver: YogaDriver, - imports: [FoundationModule, GraphQLConfigModule], + imports: [EngineModulesModule, GraphQLConfigModule], useClass: GraphQLConfigService, }), IntegrationsModule, - FoundationModule, - BusinessModule, + EngineModulesModule, + ModulesModule, ApiRestModule, - WorkspaceModule, + CoreGraphqlApiModule, ...AppModule.getConditionalModules(), ], }) diff --git a/packages/twenty-server/src/business/modules/business.module.ts b/packages/twenty-server/src/business/modules/business.module.ts deleted file mode 100644 index d3e41e2c3..000000000 --- a/packages/twenty-server/src/business/modules/business.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { CalendarModule } from 'src/business/modules/calendar/calendar.module'; -import { MessagingModule } from 'src/business/modules/message/messaging.module'; - -@Module({ - imports: [MessagingModule, CalendarModule], - providers: [], - exports: [], -}) -export class BusinessModule {} diff --git a/packages/twenty-server/src/business/modules/calendar/calendar.module.ts b/packages/twenty-server/src/business/modules/calendar/calendar.module.ts deleted file mode 100644 index be3037d13..000000000 --- a/packages/twenty-server/src/business/modules/calendar/calendar.module.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; - -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { EnvironmentModule } from 'src/integrations/environment/environment.module'; -import { CreateCompaniesAndContactsModule } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module'; -import { BlocklistModule } from 'src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.module'; -import { ConnectedAccountModule } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.module'; -import { CalendarChannelEventAssociationModule } from 'src/business/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-assocation.module'; -import { CalendarChannelModule } from 'src/business/modules/calendar/repositories/calendar-channel/calendar-channel.module'; -import { CalendarEventAttendeeModule } from 'src/business/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.module'; -import { CalendarEventModule } from 'src/business/modules/calendar/repositories/calendar-event/calendar-event.module'; -import { CalendarEventCleanerModule } from 'src/business/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module'; -import { GoogleCalendarFullSyncService } from 'src/business/modules/calendar/services/google-calendar-full-sync.service'; -import { GoogleCalendarClientProvider } from 'src/business/modules/calendar/services/providers/google-calendar/google-calendar.provider'; -import { CompanyModule } from 'src/business/modules/message/repositories/company/company.module'; -import { PersonModule } from 'src/engine-workspace/repositories/person/person.module'; -import { WorkspaceMemberModule } from 'src/engine-workspace/repositories/workspace-member/workspace-member.module'; -import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; - -@Module({ - imports: [ - EnvironmentModule, - WorkspaceDataSourceModule, - ConnectedAccountModule, - CalendarChannelModule, - CalendarChannelEventAssociationModule, - CalendarEventModule, - CalendarEventAttendeeModule, - CreateCompaniesAndContactsModule, - WorkspaceMemberModule, - TypeOrmModule.forFeature([FeatureFlagEntity], 'core'), - CompanyModule, - PersonModule, - BlocklistModule, - CalendarEventCleanerModule, - ], - providers: [GoogleCalendarFullSyncService, GoogleCalendarClientProvider], - exports: [GoogleCalendarFullSyncService], -}) -export class CalendarModule {} diff --git a/packages/twenty-server/src/business/modules/calendar/services/providers/calendar-providers.module.ts b/packages/twenty-server/src/business/modules/calendar/services/providers/calendar-providers.module.ts deleted file mode 100644 index 49b3cc4ab..000000000 --- a/packages/twenty-server/src/business/modules/calendar/services/providers/calendar-providers.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { EnvironmentModule } from 'src/integrations/environment/environment.module'; -import { GoogleCalendarClientProvider } from 'src/business/modules/calendar/services/providers/google-calendar/google-calendar.provider'; - -@Module({ - imports: [EnvironmentModule], - providers: [GoogleCalendarClientProvider], - exports: [GoogleCalendarClientProvider], -}) -export class CalendarProvidersModule {} diff --git a/packages/twenty-server/src/business/modules/message/messaging.module.ts b/packages/twenty-server/src/business/modules/message/messaging.module.ts deleted file mode 100644 index e42a706d6..000000000 --- a/packages/twenty-server/src/business/modules/message/messaging.module.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { HttpModule } from '@nestjs/axios'; - -import { ConnectedAccountModule } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.module'; -import { MessageChannelMessageAssociationModule } from 'src/business/modules/message/repositories/message-channel-message-association/message-channel-message-assocation.module'; -import { MessageChannelModule } from 'src/business/modules/message/repositories/message-channel/message-channel.module'; -import { MessageThreadModule } from 'src/business/modules/message/repositories/message-thread/message-thread.module'; -import { EnvironmentModule } from 'src/integrations/environment/environment.module'; -import { MessagingPersonListener } from 'src/business/modules/message/listeners/messaging-person.listener'; -import { MessageModule } from 'src/business/modules/message/repositories/message/message.module'; -import { GmailClientProvider } from 'src/business/modules/message/services/providers/gmail/gmail-client.provider'; -import { CreateContactService } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-contact/create-contact.service'; -import { CreateCompanyService } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company/create-company.service'; -import { FetchMessagesByBatchesService } from 'src/business/modules/message/services/fetch-messages-by-batches.service'; -import { GmailFullSyncService } from 'src/business/modules/message/services/gmail-full-sync.service'; -import { GmailPartialSyncService } from 'src/business/modules/message/services/gmail-partial-sync.service'; -import { GoogleAPIsRefreshAccessTokenService } from 'src/business/modules/calendar-and-messaging/services/google-apis-refresh-access-token.service'; -import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { MessageParticipantModule } from 'src/business/modules/message/repositories/message-participant/message-participant.module'; -import { MessagingWorkspaceMemberListener } from 'src/business/modules/message/listeners/messaging-workspace-member.listener'; -import { MessagingMessageChannelListener } from 'src/business/modules/message/listeners/messaging-message-channel.listener'; -import { MessageService } from 'src/business/modules/message/repositories/message/message.service'; -import { WorkspaceMemberModule } from 'src/engine-workspace/repositories/workspace-member/workspace-member.module'; -import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { CreateCompaniesAndContactsModule } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module'; -import { CompanyModule } from 'src/business/modules/message/repositories/company/company.module'; -import { PersonModule } from 'src/engine-workspace/repositories/person/person.module'; -import { SaveMessagesAndCreateContactsService } from 'src/business/modules/message/services/save-messages-and-create-contacts.service'; -import { MessagingConnectedAccountListener } from 'src/business/modules/message/listeners/messaging-connected-account.listener'; -import { BlocklistModule } from 'src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.module'; -import { FetchByBatchesService } from 'src/business/modules/message/services/fetch-by-batch.service'; -@Module({ - imports: [ - EnvironmentModule, - WorkspaceDataSourceModule, - ConnectedAccountModule, - MessageChannelModule, - MessageChannelMessageAssociationModule, - MessageModule, - MessageThreadModule, - MessageParticipantModule, - CreateCompaniesAndContactsModule, - WorkspaceMemberModule, - TypeOrmModule.forFeature([FeatureFlagEntity], 'core'), - CompanyModule, - PersonModule, - BlocklistModule, - HttpModule.register({ - baseURL: 'https://www.googleapis.com/batch/gmail/v1', - }), - ], - providers: [ - GmailFullSyncService, - GmailPartialSyncService, - FetchMessagesByBatchesService, - GoogleAPIsRefreshAccessTokenService, - GmailClientProvider, - CreateContactService, - CreateCompanyService, - MessagingPersonListener, - MessagingWorkspaceMemberListener, - MessagingMessageChannelListener, - MessageService, - SaveMessagesAndCreateContactsService, - MessagingConnectedAccountListener, - FetchByBatchesService, - ], - exports: [ - GmailPartialSyncService, - GmailFullSyncService, - GoogleAPIsRefreshAccessTokenService, - FetchByBatchesService, - ], -}) -export class MessagingModule {} diff --git a/packages/twenty-server/src/business/modules/message/query-hooks/messaging-query-hook.module.ts b/packages/twenty-server/src/business/modules/message/query-hooks/messaging-query-hook.module.ts deleted file mode 100644 index 14293b38c..000000000 --- a/packages/twenty-server/src/business/modules/message/query-hooks/messaging-query-hook.module.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { MessageFindManyPreQueryHook } from 'src/business/modules/message/query-hooks/message/message-find-many.pre-query.hook'; -import { MessageFindOnePreQueryHook } from 'src/business/modules/message/query-hooks/message/message-find-one.pre-query-hook'; -import { ConnectedAccountModule } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.module'; -import { MessageChannelMessageAssociationModule } from 'src/business/modules/message/repositories/message-channel-message-association/message-channel-message-assocation.module'; -import { MessageChannelModule } from 'src/business/modules/message/repositories/message-channel/message-channel.module'; -import { WorkspaceMemberModule } from 'src/engine-workspace/repositories/workspace-member/workspace-member.module'; - -@Module({ - imports: [ - MessageChannelMessageAssociationModule, - MessageChannelModule, - ConnectedAccountModule, - WorkspaceMemberModule, - ], - providers: [ - { - provide: MessageFindOnePreQueryHook.name, - useClass: MessageFindOnePreQueryHook, - }, - { - provide: MessageFindManyPreQueryHook.name, - useClass: MessageFindManyPreQueryHook, - }, - ], -}) -export class MessagingQueryHookModule {} diff --git a/packages/twenty-server/src/business/modules/message/repositories/message/message.module.ts b/packages/twenty-server/src/business/modules/message/repositories/message/message.module.ts deleted file mode 100644 index cfe909ae7..000000000 --- a/packages/twenty-server/src/business/modules/message/repositories/message/message.module.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Module, forwardRef } from '@nestjs/common'; - -import { MessageChannelModule } from 'src/business/modules/message/repositories/message-channel/message-channel.module'; -import { MessageChannelMessageAssociationModule } from 'src/business/modules/message/repositories/message-channel-message-association/message-channel-message-assocation.module'; -import { MessageParticipantModule } from 'src/business/modules/message/repositories/message-participant/message-participant.module'; -import { MessageThreadModule } from 'src/business/modules/message/repositories/message-thread/message-thread.module'; -import { MessageService } from 'src/business/modules/message/repositories/message/message.service'; -import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { CreateCompaniesAndContactsModule } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module'; - -@Module({ - imports: [ - WorkspaceDataSourceModule, - forwardRef(() => MessageThreadModule), - MessageParticipantModule, - MessageChannelMessageAssociationModule, - MessageChannelModule, - CreateCompaniesAndContactsModule, - ], - providers: [MessageService], - exports: [MessageService], -}) -export class MessageModule {} diff --git a/packages/twenty-server/src/business/modules/message/services/providers/messaging-providers.module.ts b/packages/twenty-server/src/business/modules/message/services/providers/messaging-providers.module.ts deleted file mode 100644 index cbe4c1c0f..000000000 --- a/packages/twenty-server/src/business/modules/message/services/providers/messaging-providers.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { EnvironmentModule } from 'src/integrations/environment/environment.module'; -import { GmailClientProvider } from 'src/business/modules/message/services/providers/gmail/gmail-client.provider'; - -@Module({ - imports: [EnvironmentModule], - providers: [GmailClientProvider], - exports: [GmailClientProvider], -}) -export class MessagingProvidersModule {} diff --git a/packages/twenty-server/src/commands/command-logger.ts b/packages/twenty-server/src/command/command-logger.ts similarity index 100% rename from packages/twenty-server/src/commands/command-logger.ts rename to packages/twenty-server/src/command/command-logger.ts diff --git a/packages/twenty-server/src/command.module.ts b/packages/twenty-server/src/command/command.module.ts similarity index 53% rename from packages/twenty-server/src/command.module.ts rename to packages/twenty-server/src/command/command.module.ts index 4ed9b4d4e..6926124aa 100644 --- a/packages/twenty-server/src/command.module.ts +++ b/packages/twenty-server/src/command/command.module.ts @@ -1,15 +1,13 @@ import { Module } from '@nestjs/common'; import { DatabaseCommandModule } from 'src/database/commands/database-command.module'; -import { FetchWorkspaceMessagesCommandsModule } from 'src/business/modules/message/commands/fetch-workspace-messages-commands.module'; +import { FetchWorkspaceMessagesCommandsModule } from 'src/modules/messaging/commands/fetch-workspace-messages-commands.module'; import { WorkspaceHealthCommandModule } from 'src/engine/workspace-manager/workspace-health/commands/workspace-health-command.module'; import { WorkspaceCleanerModule } from 'src/engine/workspace-manager/workspace-cleaner/workspace-cleaner.module'; -import { WorkspaceCalendarSyncCommandsModule } from 'src/business/modules/calendar/commands/workspace-calendar-sync-commands.module'; - -import { AppModule } from './app.module'; - -import { WorkspaceSyncMetadataCommandsModule } from './engine/workspace-manager/workspace-sync-metadata/commands/workspace-sync-metadata-commands.module'; -import { WorkspaceMigrationRunnerCommandsModule } from './engine/workspace-manager/workspace-migration-runner/commands/workspace-sync-metadata-commands.module'; +import { WorkspaceCalendarSyncCommandsModule } from 'src/modules/calendar/commands/workspace-calendar-sync-commands.module'; +import { AppModule } from 'src/app.module'; +import { WorkspaceMigrationRunnerCommandsModule } from 'src/engine/workspace-manager/workspace-migration-runner/commands/workspace-sync-metadata-commands.module'; +import { WorkspaceSyncMetadataCommandsModule } from 'src/engine/workspace-manager/workspace-sync-metadata/commands/workspace-sync-metadata-commands.module'; @Module({ imports: [ diff --git a/packages/twenty-server/src/command.ts b/packages/twenty-server/src/command/command.ts similarity index 73% rename from packages/twenty-server/src/command.ts rename to packages/twenty-server/src/command/command.ts index 5281c14c8..bf1774bbe 100644 --- a/packages/twenty-server/src/command.ts +++ b/packages/twenty-server/src/command/command.ts @@ -1,10 +1,10 @@ import { CommandFactory } from 'nest-commander'; -import { CommandModule } from './command.module'; +import { filterException } from 'src/engine/filters/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 { LoggerService } from './integrations/logger/logger.service'; -import { ExceptionHandlerService } from './integrations/exception-handler/exception-handler.service'; -import { filterException } from './engine/filters/utils/global-exception-handler.util'; +import { CommandModule } from './command.module'; async function bootstrap() { const errorHandler = (err: Error) => { diff --git a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/start-data-seed-demo-workspace.cron.command.ts b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/start-data-seed-demo-workspace.cron.command.ts index cfc1196e2..1bcf5c58d 100644 --- a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/start-data-seed-demo-workspace.cron.command.ts +++ b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/start-data-seed-demo-workspace.cron.command.ts @@ -4,8 +4,8 @@ import { Command, CommandRunner } from 'nest-commander'; import { dataSeedDemoWorkspaceCronPattern } from 'src/database/commands/data-seed-demo-workspace/crons/data-seed-demo-workspace-cron-pattern'; import { DataSeedDemoWorkspaceJob } from 'src/database/commands/data-seed-demo-workspace/jobs/data-seed-demo-workspace.job'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; @Command({ name: 'workspace-seed-demo:cron:start', diff --git a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/stop-data-seed-demo-workspace.cron.command.ts b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/stop-data-seed-demo-workspace.cron.command.ts index 844424a0f..84cd4a28d 100644 --- a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/stop-data-seed-demo-workspace.cron.command.ts +++ b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/stop-data-seed-demo-workspace.cron.command.ts @@ -4,8 +4,8 @@ import { Command, CommandRunner } from 'nest-commander'; import { dataSeedDemoWorkspaceCronPattern } from 'src/database/commands/data-seed-demo-workspace/crons/data-seed-demo-workspace-cron-pattern'; import { DataSeedDemoWorkspaceJob } from 'src/database/commands/data-seed-demo-workspace/jobs/data-seed-demo-workspace.job'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; @Command({ name: 'workspace-seed-demo:cron:stop', diff --git a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/data-seed-demo-workspace.module.ts b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/data-seed-demo-workspace.module.ts index 1a3bc3e2e..10d644c03 100644 --- a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/data-seed-demo-workspace.module.ts +++ b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/data-seed-demo-workspace.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { EnvironmentModule } from 'src/integrations/environment/environment.module'; +import { EnvironmentModule } from 'src/engine/integrations/environment/environment.module'; import { WorkspaceManagerModule } from 'src/engine/workspace-manager/workspace-manager.module'; import { DataSeedDemoWorkspaceService } from 'src/database/commands/data-seed-demo-workspace/services/data-seed-demo-workspace.service'; diff --git a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/jobs/data-seed-demo-workspace.job.ts b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/jobs/data-seed-demo-workspace.job.ts index f4e33fa20..e7b963d62 100644 --- a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/jobs/data-seed-demo-workspace.job.ts +++ b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/jobs/data-seed-demo-workspace.job.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; import { DataSeedDemoWorkspaceService } from 'src/database/commands/data-seed-demo-workspace/services/data-seed-demo-workspace.service'; diff --git a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/services/data-seed-demo-workspace.service.ts b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/services/data-seed-demo-workspace.service.ts index fbf959cd1..adc84e677 100644 --- a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/services/data-seed-demo-workspace.service.ts +++ b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/services/data-seed-demo-workspace.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { DataSource } from 'typeorm'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { WorkspaceManagerService } from 'src/engine/workspace-manager/workspace-manager.service'; import { deleteCoreSchema, 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 669177abb..b03822731 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 @@ -10,11 +10,11 @@ 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 { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { seedCalendarEvents } from 'src/database/typeorm-seeds/workspace/calendar-events'; import { ObjectMetadataService } from 'src/engine-metadata/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'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; // TODO: implement dry-run @Command({ diff --git a/packages/twenty-server/src/database/typeorm/typeorm.module.ts b/packages/twenty-server/src/database/typeorm/typeorm.module.ts index 6866a6d4a..b24fe05ba 100644 --- a/packages/twenty-server/src/database/typeorm/typeorm.module.ts +++ b/packages/twenty-server/src/database/typeorm/typeorm.module.ts @@ -2,7 +2,7 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm'; import { typeORMCoreModuleOptions } from 'src/database/typeorm/core/core.datasource'; -import { EnvironmentModule } from 'src/integrations/environment/environment.module'; +import { EnvironmentModule } from 'src/engine/integrations/environment/environment.module'; import { TypeORMService } from './typeorm.service'; diff --git a/packages/twenty-server/src/database/typeorm/typeorm.service.ts b/packages/twenty-server/src/database/typeorm/typeorm.service.ts index 893a6abc0..595e0a3d9 100644 --- a/packages/twenty-server/src/database/typeorm/typeorm.service.ts +++ b/packages/twenty-server/src/database/typeorm/typeorm.service.ts @@ -2,7 +2,7 @@ import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { DataSource } from 'typeorm'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +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'; 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 index 6604f6412..4106ae69a 100644 --- a/packages/twenty-server/src/engine-graphql-config/graphql-config.module.ts +++ b/packages/twenty-server/src/engine-graphql-config/graphql-config.module.ts @@ -1,10 +1,10 @@ import { Module } from '@nestjs/common'; -import { FoundationModule } from 'src/engine/modules/foundation.module'; +import { EngineModulesModule } from 'src/engine/modules/engine-modules.module'; import { graphQLFactories } from 'src/engine-graphql-config/factories'; @Module({ - imports: [FoundationModule], + imports: [EngineModulesModule], providers: [...graphQLFactories], exports: [...graphQLFactories], }) diff --git a/packages/twenty-server/src/engine-graphql-config/graphql-config.service.ts b/packages/twenty-server/src/engine-graphql-config/graphql-config.service.ts index 994024cd5..fb9212e36 100644 --- a/packages/twenty-server/src/engine-graphql-config/graphql-config.service.ts +++ b/packages/twenty-server/src/engine-graphql-config/graphql-config.service.ts @@ -13,18 +13,18 @@ import { GraphQLSchemaWithContext, YogaInitialContext } from 'graphql-yoga'; import * as Sentry from '@sentry/node'; import { TokenService } from 'src/engine/modules/auth/services/token.service'; -import { FoundationModule } from 'src/engine/modules/foundation.module'; +import { EngineModulesModule } from 'src/engine/modules/engine-modules.module'; import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; -import { WorkspaceFactory } from 'src/engine/graphql/workspace.factory'; -import { ExceptionHandlerService } from 'src/integrations/exception-handler/exception-handler.service'; +import { WorkspaceFactory } from 'src/engine/api/graphql/workspace.factory'; +import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; import { handleExceptionAndConvertToGraphQLError } from 'src/engine/filters/utils/global-exception-handler.util'; -import { renderApolloPlayground } from 'src/engine-workspace/utils/render-apollo-playground.util'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { useExceptionHandler } from 'src/integrations/exception-handler/hooks/use-exception-handler.hook'; +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/integrations/throttler/hooks/use-throttler'; +import { useThrottler } from 'src/engine-graphql-config/hooks/use-throttler'; import { JwtData } from 'src/engine/modules/auth/types/jwt-data.type'; -import { useSentryTracing } from 'src/integrations/tracing/useSentryTracing'; +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: [FoundationModule], + include: [EngineModulesModule], conditionalSchema: async (context) => { let user: User | undefined; let workspace: Workspace | undefined; diff --git a/packages/twenty-server/src/integrations/throttler/hooks/use-throttler.ts b/packages/twenty-server/src/engine-graphql-config/hooks/use-throttler.ts similarity index 100% rename from packages/twenty-server/src/integrations/throttler/hooks/use-throttler.ts rename to packages/twenty-server/src/engine-graphql-config/hooks/use-throttler.ts diff --git a/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.service.ts b/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.service.ts index e4fcfec4b..038b0a83c 100644 --- a/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.service.ts +++ b/packages/twenty-server/src/engine-metadata/field-metadata/field-metadata.service.ts @@ -23,7 +23,7 @@ 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 { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +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'; diff --git a/packages/twenty-server/src/engine-metadata/metadata.module-factory.ts b/packages/twenty-server/src/engine-metadata/metadata.module-factory.ts index 882dd492a..a11c05e71 100644 --- a/packages/twenty-server/src/engine-metadata/metadata.module-factory.ts +++ b/packages/twenty-server/src/engine-metadata/metadata.module-factory.ts @@ -2,12 +2,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 { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { ExceptionHandlerService } from 'src/integrations/exception-handler/exception-handler.service'; -import { useExceptionHandler } from 'src/integrations/exception-handler/hooks/use-exception-handler.hook'; -import { useThrottler } from 'src/integrations/throttler/hooks/use-throttler'; +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 { renderApolloPlayground } from 'src/engine-workspace/utils/render-apollo-playground.util'; +import { renderApolloPlayground } from 'src/engine/utils/render-apollo-playground.util'; export const metadataModuleFactory = async ( environmentService: EnvironmentService, diff --git a/packages/twenty-server/src/engine-metadata/metadata.module.ts b/packages/twenty-server/src/engine-metadata/metadata.module.ts index f012d1ab5..870208875 100644 --- a/packages/twenty-server/src/engine-metadata/metadata.module.ts +++ b/packages/twenty-server/src/engine-metadata/metadata.module.ts @@ -6,8 +6,8 @@ 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 { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { ExceptionHandlerService } from 'src/integrations/exception-handler/exception-handler.service'; +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'; diff --git a/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.service.ts b/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.service.ts index 7090aa4de..6fde2aca9 100644 --- a/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.service.ts +++ b/packages/twenty-server/src/engine-metadata/object-metadata/object-metadata.service.ts @@ -30,8 +30,8 @@ import { RelationMetadataType, RelationOnDeleteAction, } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; -import { computeCustomName } from 'src/engine-workspace/utils/compute-custom-name.util'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +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'; diff --git a/packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.service.ts b/packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.service.ts index 78da00486..362098939 100644 --- a/packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.service.ts +++ b/packages/twenty-server/src/engine-metadata/relation-metadata/relation-metadata.service.ts @@ -20,7 +20,7 @@ import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-meta 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 { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.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'; diff --git a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module.ts b/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module.ts deleted file mode 100644 index f8f32010e..000000000 --- a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { PersonModule } from 'src/engine-workspace/repositories/person/person.module'; -import { WorkspaceMemberModule } from 'src/engine-workspace/repositories/workspace-member/workspace-member.module'; -import { CreateCompanyAndContactService } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service'; -import { CreateCompanyModule } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company/create-company.module'; -import { CreateContactModule } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-contact/create-contact.module'; -import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; - -@Module({ - imports: [ - WorkspaceDataSourceModule, - CreateContactModule, - CreateCompanyModule, - WorkspaceMemberModule, - PersonModule, - ], - providers: [CreateCompanyAndContactService], - exports: [CreateCompanyAndContactService], -}) -export class CreateCompaniesAndContactsModule {} diff --git a/packages/twenty-server/src/engine-workspace/utils/compute-field-target-column.util.ts b/packages/twenty-server/src/engine-workspace/utils/compute-field-target-column.util.ts deleted file mode 100644 index b60b6da64..000000000 --- a/packages/twenty-server/src/engine-workspace/utils/compute-field-target-column.util.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; - -import { FieldMetadataEntity } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { isCompositeFieldMetadataType } from 'src/engine-metadata/field-metadata/utils/is-composite-field-metadata-type.util'; -import { BasicFieldMetadataType } from 'src/engine-metadata/workspace-migration/factories/basic-column-action.factory'; - -import { computeCustomName } from './compute-custom-name.util'; - -export const computeFieldTargetColumn = ( - fieldMetadata: - | FieldMetadataEntity - | FieldMetadataInterface, -) => { - if (isCompositeFieldMetadataType(fieldMetadata.type)) { - throw new Error( - "Composite field metadata should not be computed here, as they're split into multiple fields.", - ); - } - - return computeCustomName(fieldMetadata.name, fieldMetadata.isCustom ?? false); -}; diff --git a/packages/twenty-server/src/utils/utils-test/object-metadata-item.ts b/packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts similarity index 77% rename from packages/twenty-server/src/utils/utils-test/object-metadata-item.ts rename to packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts index 7bb0881b7..04860d382 100644 --- a/packages/twenty-server/src/utils/utils-test/object-metadata-item.ts +++ b/packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts @@ -1,7 +1,7 @@ import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; -export const fieldNumber = { +export const fieldNumberMock = { name: 'fieldNumber', type: FieldMetadataType.NUMBER, isNullable: false, @@ -9,7 +9,7 @@ export const fieldNumber = { targetColumnMap: { value: 'fieldNumber' }, }; -export const fieldString = { +export const fieldStringMock = { name: 'fieldString', type: FieldMetadataType.TEXT, isNullable: true, @@ -17,7 +17,7 @@ export const fieldString = { targetColumnMap: { value: 'fieldString' }, }; -export const fieldLink = { +export const fieldLinkMock = { name: 'fieldLink', type: FieldMetadataType.LINK, isNullable: false, @@ -25,7 +25,7 @@ export const fieldLink = { targetColumnMap: { label: 'fieldLinkLabel', url: 'fieldLinkUrl' }, }; -export const fieldCurrency = { +export const fieldCurrencyMock = { name: 'fieldCurrency', type: FieldMetadataType.CURRENCY, isNullable: true, @@ -36,9 +36,9 @@ export const fieldCurrency = { }, }; -export const objectMetadataItem: DeepPartial = { +export const objectMetadataItemMock: DeepPartial = { targetTableName: 'testingObject', nameSingular: 'objectName', namePlural: 'objectsName', - fields: [fieldNumber, fieldString, fieldLink, fieldCurrency], + fields: [fieldNumberMock, fieldStringMock, fieldLinkMock, fieldCurrencyMock], }; diff --git a/packages/twenty-server/src/engine/graphql/workspace.factory.spec.ts b/packages/twenty-server/src/engine/api/graphql/__tests__/workspace.factory.spec.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace.factory.spec.ts rename to packages/twenty-server/src/engine/api/graphql/__tests__/workspace.factory.spec.ts index 05cfa2fcb..3883c85e1 100644 --- a/packages/twenty-server/src/engine/graphql/workspace.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/__tests__/workspace.factory.spec.ts @@ -2,12 +2,11 @@ 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 { WorkspaceSchemaStorageService } from 'src/engine/graphql/workspace-schema-storage/workspace-schema-storage.service'; -import { ScalarsExplorerService } from 'src/engine-workspace/services/scalars-explorer.service'; -import { WorkspaceResolverFactory } from 'src/engine/graphql/workspace-resolver-builder/workspace-resolver.factory'; -import { WorkspaceGraphQLSchemaFactory } from 'src/engine/graphql/workspace-schema-builder/workspace-graphql-schema.factory'; - -import { WorkspaceFactory } from './workspace.factory'; +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'; describe('WorkspaceFactory', () => { let service: WorkspaceFactory; diff --git a/packages/twenty-server/src/engine/graphql/workspace.module.ts b/packages/twenty-server/src/engine/api/graphql/core-graphql-api.module.ts similarity index 55% rename from packages/twenty-server/src/engine/graphql/workspace.module.ts rename to packages/twenty-server/src/engine/api/graphql/core-graphql-api.module.ts index 143d06a8a..8bbcda974 100644 --- a/packages/twenty-server/src/engine/graphql/workspace.module.ts +++ b/packages/twenty-server/src/engine/api/graphql/core-graphql-api.module.ts @@ -2,11 +2,11 @@ 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/graphql/workspace-schema-storage/workspace-schema-storage.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-workspace/services/scalars-explorer.service'; -import { WorkspaceSchemaBuilderModule } from 'src/engine/graphql/workspace-schema-builder/workspace-schema-builder.module'; -import { WorkspaceResolverBuilderModule } from 'src/engine/graphql/workspace-resolver-builder/workspace-resolver-builder.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 { WorkspaceFactory } from './workspace.factory'; @@ -22,4 +22,4 @@ import { WorkspaceFactory } from './workspace.factory'; providers: [WorkspaceFactory, ScalarsExplorerService], exports: [WorkspaceFactory], }) -export class WorkspaceModule {} +export class CoreGraphqlApiModule {} diff --git a/packages/twenty-server/src/engine-workspace/services/scalars-explorer.service.ts b/packages/twenty-server/src/engine/api/graphql/services/scalars-explorer.service.ts similarity index 93% rename from packages/twenty-server/src/engine-workspace/services/scalars-explorer.service.ts rename to packages/twenty-server/src/engine/api/graphql/services/scalars-explorer.service.ts index c8a958cba..84460fe5d 100644 --- a/packages/twenty-server/src/engine-workspace/services/scalars-explorer.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/services/scalars-explorer.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { GraphQLScalarType, GraphQLSchema, isScalarType } from 'graphql'; -import { scalars } from 'src/engine/graphql/workspace-schema-builder/graphql-types/scalars'; +import { scalars } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; @Injectable() export class ScalarsExplorerService { 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 new file mode 100644 index 000000000..1f1f4fdb8 --- /dev/null +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock.ts @@ -0,0 +1,13 @@ +import { GraphQLResolveInfo } from 'graphql'; + +import { ObjectMetadataInterface } from 'src/engine-metadata/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'; + +export const workspaceQueryBuilderOptionsMock: WorkspaceQueryBuilderOptions = { + fieldMetadataCollection: [], + info: {} as GraphQLResolveInfo, + objectMetadataCollection: [], + objectMetadataItem: objectMetadataItemMock as ObjectMetadataInterface, +}; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/__tests__/args-string.factory.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/__tests__/args-string.factory.spec.ts similarity index 92% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/__tests__/args-string.factory.spec.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/__tests__/args-string.factory.spec.ts index 8049ff737..4cc9394e1 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/__tests__/args-string.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/__tests__/args-string.factory.spec.ts @@ -1,7 +1,7 @@ import { TestingModule, Test } from '@nestjs/testing'; -import { ArgsAliasFactory } from 'src/engine/graphql/workspace-query-builder/factories/args-alias.factory'; -import { ArgsStringFactory } from 'src/engine/graphql/workspace-query-builder/factories/args-string.factory'; +import { ArgsAliasFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/args-alias.factory'; +import { ArgsStringFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/args-string.factory'; describe('ArgsStringFactory', () => { let service: ArgsStringFactory; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/__tests__/find-duplicates-query.factory.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/__tests__/find-duplicates-query.factory.spec.ts similarity index 76% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/__tests__/find-duplicates-query.factory.spec.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/__tests__/find-duplicates-query.factory.spec.ts index 17dbade3e..27610b802 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/__tests__/find-duplicates-query.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/__tests__/find-duplicates-query.factory.spec.ts @@ -1,12 +1,12 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { RecordFilter } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; -import { FindDuplicatesResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.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 { ArgsAliasFactory } from 'src/engine/graphql/workspace-query-builder/factories/args-alias.factory'; -import { FieldsStringFactory } from 'src/engine/graphql/workspace-query-builder/factories/fields-string.factory'; -import { FindDuplicatesQueryFactory } from 'src/engine/graphql/workspace-query-builder/factories/find-duplicates-query.factory'; -import { workspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/utils-test/workspace-query-builder-options'; +import { ArgsAliasFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/args-alias.factory'; +import { FieldsStringFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory'; +import { FindDuplicatesQueryFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/find-duplicates-query.factory'; +import { workspaceQueryBuilderOptionsMock } from 'src/engine/api/graphql/workspace-query-builder/__mocks__/workspace-query-builder-options.mock'; describe('FindDuplicatesQueryFactory', () => { let service: FindDuplicatesQueryFactory; @@ -48,7 +48,10 @@ describe('FindDuplicatesQueryFactory', () => { it('should return (first: 0) as a filter when args are missing', async () => { const args: FindDuplicatesResolverArgs = {}; - const query = await service.create(args, workspaceQueryBuilderOptions); + const query = await service.create( + args, + workspaceQueryBuilderOptionsMock, + ); expect(query.trim()).toEqual(`query { objectNameCollection(first: 0) { @@ -73,9 +76,9 @@ describe('FindDuplicatesQueryFactory', () => { }; const query = await service.create(args, { - ...workspaceQueryBuilderOptions, + ...workspaceQueryBuilderOptionsMock, objectMetadataItem: { - ...workspaceQueryBuilderOptions.objectMetadataItem, + ...workspaceQueryBuilderOptionsMock.objectMetadataItem, nameSingular: 'person', }, }); @@ -101,9 +104,9 @@ describe('FindDuplicatesQueryFactory', () => { }; const query = await service.create(args, { - ...workspaceQueryBuilderOptions, + ...workspaceQueryBuilderOptionsMock, objectMetadataItem: { - ...workspaceQueryBuilderOptions.objectMetadataItem, + ...workspaceQueryBuilderOptionsMock.objectMetadataItem, nameSingular: 'person', }, }); @@ -129,9 +132,9 @@ describe('FindDuplicatesQueryFactory', () => { }; const query = await service.create(args, { - ...workspaceQueryBuilderOptions, + ...workspaceQueryBuilderOptionsMock, objectMetadataItem: { - ...workspaceQueryBuilderOptions.objectMetadataItem, + ...workspaceQueryBuilderOptionsMock.objectMetadataItem, nameSingular: 'person', }, }); @@ -155,9 +158,9 @@ describe('FindDuplicatesQueryFactory', () => { const query = await service.create( args, { - ...workspaceQueryBuilderOptions, + ...workspaceQueryBuilderOptionsMock, objectMetadataItem: { - ...workspaceQueryBuilderOptions.objectMetadataItem, + ...workspaceQueryBuilderOptionsMock.objectMetadataItem, nameSingular: 'person', }, }, @@ -178,9 +181,9 @@ describe('FindDuplicatesQueryFactory', () => { describe('buildQueryForExistingRecord', () => { it(`should include all the fields that exist for person inside "duplicateCriteriaCollection" constant`, async () => { const query = service.buildQueryForExistingRecord('uuid', { - ...workspaceQueryBuilderOptions, + ...workspaceQueryBuilderOptionsMock, objectMetadataItem: { - ...workspaceQueryBuilderOptions.objectMetadataItem, + ...workspaceQueryBuilderOptionsMock.objectMetadataItem, nameSingular: 'person', }, }); diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/__tests__/record-position-query.factory.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/__tests__/record-position-query.factory.spec.ts similarity index 96% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/__tests__/record-position-query.factory.spec.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/__tests__/record-position-query.factory.spec.ts index 7c7010452..455e51864 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/__tests__/record-position-query.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/__tests__/record-position-query.factory.spec.ts @@ -1,7 +1,7 @@ import { RecordPositionQueryFactory, RecordPositionQueryType, -} from 'src/engine/graphql/workspace-query-builder/factories/record-position-query.factory'; +} from 'src/engine/api/graphql/workspace-query-builder/factories/record-position-query.factory'; describe('RecordPositionQueryFactory', () => { const objectMetadataItem = { diff --git a/packages/twenty-server/src/engine/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 similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/args-alias.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/args-alias.factory.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 94% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/args-string.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/args-string.factory.ts index d51c121aa..df11f1611 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { stringifyWithoutKeyQuote } from 'src/engine/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; +import { stringifyWithoutKeyQuote } from 'src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; import { ArgsAliasFactory } from './args-alias.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/create-many-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/create-many-query.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/create-many-query.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/create-many-query.factory.ts index 5b5526708..b667472a3 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/create-many-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/create-many-query.factory.ts @@ -2,12 +2,12 @@ import { Injectable, Logger } from '@nestjs/common'; import { v4 as uuidv4 } from 'uuid'; -import { WorkspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; -import { Record as IRecord } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; -import { CreateManyResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; +import { Record as IRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; +import { CreateManyResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { stringifyWithoutKeyQuote } from 'src/engine/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +import { stringifyWithoutKeyQuote } from 'src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { FieldsStringFactory } from './fields-string.factory'; import { ArgsAliasFactory } from './args-alias.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/delete-many-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/delete-many-query.factory.ts similarity index 65% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/delete-many-query.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/delete-many-query.factory.ts index 8581537e4..f24090c66 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/delete-many-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/delete-many-query.factory.ts @@ -1,10 +1,10 @@ import { Injectable } from '@nestjs/common'; -import { WorkspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; -import { DeleteManyResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; +import { DeleteManyResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { stringifyWithoutKeyQuote } from 'src/engine/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +import { stringifyWithoutKeyQuote } from 'src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; +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/graphql/workspace-query-builder/factories/delete-one-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/delete-one-query.factory.ts similarity index 69% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/delete-one-query.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/delete-one-query.factory.ts index d6f12e8ab..690621b78 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/delete-one-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/delete-one-query.factory.ts @@ -1,9 +1,9 @@ import { Injectable, Logger } from '@nestjs/common'; -import { WorkspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; -import { DeleteOneResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; +import { DeleteOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +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/graphql/workspace-query-builder/factories/factories.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/factories.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/factories.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/factories.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/field-alias.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/field-alias.factory.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 96% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/fields-string.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory.ts index 636efe8f5..2dfc3eba8 100644 --- a/packages/twenty-server/src/engine/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 @@ -7,7 +7,7 @@ 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 { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.util'; +import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; import { FieldAliasFactory } from './field-alias.factory'; import { RelationFieldAliasFactory } from './relation-field-alias.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 82% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-duplicates-query.factory.ts index 9c3ca711f..c8f8bff13 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,15 +2,15 @@ import { Injectable, Logger } from '@nestjs/common'; import isEmpty from 'lodash.isempty'; -import { WorkspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; -import { RecordFilter } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; -import { FindDuplicatesResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +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 { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; -import { stringifyWithoutKeyQuote } from 'src/engine/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; -import { ArgsAliasFactory } from 'src/engine/graphql/workspace-query-builder/factories/args-alias.factory'; -import { duplicateCriteriaCollection } from 'src/engine/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants'; +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'; +import { ArgsAliasFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/args-alias.factory'; +import { duplicateCriteriaCollection } from 'src/engine/api/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants'; import { settings } from 'src/engine/constants/settings'; import { FieldsStringFactory } from './fields-string.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/find-many-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-many-query.factory.ts similarity index 72% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/find-many-query.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-many-query.factory.ts index eb1f029ef..ec8420abb 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/find-many-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-many-query.factory.ts @@ -1,13 +1,13 @@ import { Injectable, Logger } from '@nestjs/common'; -import { WorkspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; +import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; import { RecordFilter, RecordOrderBy, -} from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; -import { FindManyResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +} from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; +import { FindManyResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { ArgsStringFactory } from './args-string.factory'; import { FieldsStringFactory } from './fields-string.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/find-one-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-one-query.factory.ts similarity index 70% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/find-one-query.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-one-query.factory.ts index 727f9d553..80bbf3c9e 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/find-one-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/find-one-query.factory.ts @@ -1,10 +1,10 @@ import { Injectable, Logger } from '@nestjs/common'; -import { WorkspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; -import { RecordFilter } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; -import { FindOneResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +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 { FindOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { ArgsStringFactory } from './args-string.factory'; import { FieldsStringFactory } from './fields-string.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/record-position-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/record-position-query.factory.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/record-position-query.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/record-position-query.factory.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 92% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts index df767655e..c58b071ad 100644 --- a/packages/twenty-server/src/engine/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 @@ -5,15 +5,15 @@ 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 { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.util'; +import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; import { deduceRelationDirection, RelationDirection, -} from 'src/engine-workspace/utils/deduce-relation-direction.util'; -import { getFieldArgumentsByKey } from 'src/engine/graphql/workspace-query-builder/utils/get-field-arguments-by-key.util'; +} 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 { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { FieldsStringFactory } from './fields-string.factory'; import { ArgsStringFactory } from './args-string.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/update-many-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/update-many-query.factory.ts similarity index 62% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/update-many-query.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/update-many-query.factory.ts index a767c206f..936013110 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/update-many-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/update-many-query.factory.ts @@ -3,14 +3,14 @@ import { Injectable } from '@nestjs/common'; import { Record as IRecord, RecordFilter, -} from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; -import { WorkspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; -import { UpdateManyResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +} from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; +import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; +import { UpdateManyResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { stringifyWithoutKeyQuote } from 'src/engine/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; -import { FieldsStringFactory } from 'src/engine/graphql/workspace-query-builder/factories/fields-string.factory'; -import { ArgsAliasFactory } from 'src/engine/graphql/workspace-query-builder/factories/args-alias.factory'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +import { stringifyWithoutKeyQuote } from 'src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; +import { FieldsStringFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/fields-string.factory'; +import { ArgsAliasFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/args-alias.factory'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; export interface UpdateManyQueryFactoryOptions extends WorkspaceQueryBuilderOptions { diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/update-one-query.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/update-one-query.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/update-one-query.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/update-one-query.factory.ts index 4b8b6072f..ba86a60fc 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/factories/update-one-query.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/update-one-query.factory.ts @@ -1,11 +1,11 @@ import { Injectable, Logger } from '@nestjs/common'; -import { WorkspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; -import { Record as IRecord } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; -import { UpdateOneResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; +import { Record as IRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; +import { UpdateOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { stringifyWithoutKeyQuote } from 'src/engine/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +import { stringifyWithoutKeyQuote } from 'src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { FieldsStringFactory } from './fields-string.factory'; import { ArgsAliasFactory } from './args-alias.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/interfaces/record.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/record.interface.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/interfaces/record.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/record.interface.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/utils/__tests__/stringify-without-key-quote.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/utils/__tests__/stringify-without-key-quote.spec.ts similarity index 92% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/utils/__tests__/stringify-without-key-quote.spec.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/utils/__tests__/stringify-without-key-quote.spec.ts index 66dd4517a..ec52852ea 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/utils/__tests__/stringify-without-key-quote.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/utils/__tests__/stringify-without-key-quote.spec.ts @@ -1,4 +1,4 @@ -import { stringifyWithoutKeyQuote } from 'src/engine/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; +import { stringifyWithoutKeyQuote } from 'src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; describe('stringifyWithoutKeyQuote', () => { test('should stringify object correctly without quotes around keys', () => { diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/utils/get-field-arguments-by-key.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/utils/get-field-arguments-by-key.util.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/utils/get-field-arguments-by-key.util.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/utils/get-field-arguments-by-key.util.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/utils/stringify-without-key-quote.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/utils/stringify-without-key-quote.util.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/workspace-query-builder.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.factory.ts similarity index 92% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/workspace-query-builder.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.factory.ts index 65abfa013..451821dc8 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/workspace-query-builder.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.factory.ts @@ -1,11 +1,11 @@ import { Injectable, Logger } from '@nestjs/common'; -import { WorkspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; +import { WorkspaceQueryBuilderOptions } from 'src/engine/api/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; import { Record as IRecord, RecordFilter, RecordOrderBy, -} from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +} from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; import { FindManyResolverArgs, FindOneResolverArgs, @@ -15,7 +15,7 @@ import { UpdateManyResolverArgs, DeleteManyResolverArgs, FindDuplicatesResolverArgs, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; import { FindManyQueryFactory } from './factories/find-many-query.factory'; import { FindOneQueryFactory } from './factories/find-one-query.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 69% rename from packages/twenty-server/src/engine/graphql/workspace-query-builder/workspace-query-builder.module.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-builder/workspace-query-builder.module.ts index 1ae38791c..0325af39e 100644 --- a/packages/twenty-server/src/engine/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,8 +1,8 @@ import { Module } from '@nestjs/common'; import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; -import { FieldsStringFactory } from 'src/engine/graphql/workspace-query-builder/factories/fields-string.factory'; -import { RecordPositionQueryFactory } from 'src/engine/graphql/workspace-query-builder/factories/record-position-query.factory'; +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'; import { WorkspaceQueryBuilderFactory } from './workspace-query-builder.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 81% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts index 8e1f4b8a2..ea9076a2c 100644 --- a/packages/twenty-server/src/engine/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,11 +1,11 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { WorkspaceQueryRunnerOptions } from 'src/engine/graphql/workspace-query-runner/interfaces/query-runner-option.interface'; +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 { QueryRunnerArgsFactory } from 'src/engine/graphql/workspace-query-runner/factories/query-runner-args.factory'; +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 { RecordPositionFactory } from 'src/engine/graphql/workspace-query-runner/factories/record-position.factory'; +import { RecordPositionFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/record-position.factory'; describe('QueryRunnerArgsFactory', () => { const recordPositionFactory = { diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts similarity index 88% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts index 2daa76157..e556e1514 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/record-position.factory.spec.ts @@ -1,8 +1,8 @@ import { TestingModule, Test } from '@nestjs/testing'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { RecordPositionQueryFactory } from 'src/engine/graphql/workspace-query-builder/factories/record-position-query.factory'; -import { RecordPositionFactory } from 'src/engine/graphql/workspace-query-runner/factories/record-position.factory'; +import { RecordPositionQueryFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/record-position-query.factory'; +import { RecordPositionFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/record-position.factory'; describe('RecordPositionFactory', () => { const recordPositionQueryFactory = { diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/factories/index.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/index.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/factories/index.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/index.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 93% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/factories/query-runner-args.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts index 80c6f8b61..8bc5df463 100644 --- a/packages/twenty-server/src/engine/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,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/field-metadata.interface'; -import { WorkspaceQueryRunnerOptions } from 'src/engine/graphql/workspace-query-runner/interfaces/query-runner-option.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'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/factories/record-position.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/record-position.factory.ts similarity index 92% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/factories/record-position.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/record-position.factory.ts index 97ab15c20..154897714 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/factories/record-position.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/record-position.factory.ts @@ -4,7 +4,7 @@ import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/work import { RecordPositionQueryFactory, RecordPositionQueryType, -} from 'src/engine/graphql/workspace-query-builder/factories/record-position-query.factory'; +} from 'src/engine/api/graphql/workspace-query-builder/factories/record-position-query.factory'; @Injectable() export class RecordPositionFactory { diff --git a/packages/twenty-server/src/utils/pagination/interfaces/connection.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/connection.interface.ts similarity index 100% rename from packages/twenty-server/src/utils/pagination/interfaces/connection.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/connection.interface.ts index 95fa6d5db..9f5ae3b9e 100644 --- a/packages/twenty-server/src/utils/pagination/interfaces/connection.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/connection.interface.ts @@ -1,5 +1,5 @@ -import { IEdge } from './edge.interface'; import { IPageInfo } from './page-info.interface'; +import { IEdge } from './edge.interface'; export interface IConnection = IEdge> { edges: Array; diff --git a/packages/twenty-server/src/utils/pagination/interfaces/edge.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/edge.interface.ts similarity index 100% rename from packages/twenty-server/src/utils/pagination/interfaces/edge.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/edge.interface.ts diff --git a/packages/twenty-server/src/utils/pagination/interfaces/page-info.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/page-info.interface.ts similarity index 100% rename from packages/twenty-server/src/utils/pagination/interfaces/page-info.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/page-info.interface.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/interfaces/pg-graphql.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/pg-graphql.interface.ts similarity index 71% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/interfaces/pg-graphql.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/pg-graphql.interface.ts index 98c71a120..c015f34a3 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/interfaces/pg-graphql.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/pg-graphql.interface.ts @@ -1,4 +1,4 @@ -import { Record as IRecord } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +import { Record as IRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; export interface PGGraphQLResponse { resolve: { diff --git a/packages/twenty-server/src/engine/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 similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/interfaces/query-runner-option.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 88% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/jobs/call-webhook-jobs.job.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/call-webhook-jobs.job.ts index 45108bca4..c05e094e4 100644 --- a/packages/twenty-server/src/engine/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,17 +1,17 @@ import { Inject, Injectable, Logger } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +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 { 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 { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { CallWebhookJob, CallWebhookJobData, -} from 'src/engine/graphql/workspace-query-runner/jobs/call-webhook.job'; +} from 'src/engine/api/graphql/workspace-query-runner/jobs/call-webhook.job'; export enum CallWebhookJobsJobOperation { create = 'create', diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/jobs/call-webhook.job.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/call-webhook.job.ts similarity index 89% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/jobs/call-webhook.job.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/call-webhook.job.ts index 5945b68c1..5ce75b717 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/jobs/call-webhook.job.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/call-webhook.job.ts @@ -1,7 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { HttpService } from '@nestjs/axios'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; export type CallWebhookJobData = { targetUrl: string; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/jobs/record-position-backfill.job.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/record-position-backfill.job.ts similarity index 71% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/jobs/record-position-backfill.job.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/record-position-backfill.job.ts index dcc5ab8bf..bbd777e35 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/jobs/record-position-backfill.job.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/record-position-backfill.job.ts @@ -1,8 +1,8 @@ import { Injectable } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { RecordPositionBackfillService } from 'src/engine/graphql/workspace-query-runner/services/record-position-backfill-service'; +import { RecordPositionBackfillService } from 'src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service'; export type RecordPositionBackfillJobData = { workspaceId: string; diff --git a/packages/twenty-server/src/engine/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 similarity index 77% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/listeners/record-position.listener.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/record-position.listener.ts index 3ea32791a..c3fc08c61 100644 --- a/packages/twenty-server/src/engine/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 @@ -4,13 +4,13 @@ import { OnEvent } from '@nestjs/event-emitter'; import { CreatedObjectMetadata, ObjectRecordCreateEvent, -} from 'src/integrations/event-emitter/types/object-record-create.event'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +} from 'src/engine/integrations/event-emitter/types/object-record-create.event'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { RecordPositionBackfillJob, RecordPositionBackfillJobData, -} from 'src/engine/graphql/workspace-query-runner/jobs/record-position-backfill.job'; +} from 'src/engine/api/graphql/workspace-query-runner/jobs/record-position-backfill.job'; @Injectable() export class RecordPositionListener { diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/services/record-position-backfill-module.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-module.ts similarity index 50% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/services/record-position-backfill-module.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-module.ts index a56ccb85b..1a058a46e 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/services/record-position-backfill-module.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-module.ts @@ -1,9 +1,9 @@ import { Module } from '@nestjs/common'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { RecordPositionQueryFactory } from 'src/engine/graphql/workspace-query-builder/factories/record-position-query.factory'; -import { RecordPositionFactory } from 'src/engine/graphql/workspace-query-runner/factories/record-position.factory'; -import { RecordPositionBackfillService } from 'src/engine/graphql/workspace-query-runner/services/record-position-backfill-service'; +import { RecordPositionQueryFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/record-position-query.factory'; +import { RecordPositionFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/record-position.factory'; +import { RecordPositionBackfillService } from 'src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service'; @Module({ imports: [WorkspaceDataSourceModule], diff --git a/packages/twenty-server/src/engine/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 similarity index 86% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/services/record-position-backfill-service.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service.ts index 13b7b0e9a..a8fb36582 100644 --- a/packages/twenty-server/src/engine/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 @@ -6,8 +6,8 @@ import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/work import { RecordPositionQueryFactory, RecordPositionQueryType, -} from 'src/engine/graphql/workspace-query-builder/factories/record-position-query.factory'; -import { RecordPositionFactory } from 'src/engine/graphql/workspace-query-runner/factories/record-position.factory'; +} from 'src/engine/api/graphql/workspace-query-builder/factories/record-position-query.factory'; +import { RecordPositionFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/record-position.factory'; @Injectable() export class RecordPositionBackfillService { diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/utils/__tests__/parse-result.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/__tests__/parse-result.spec.ts similarity index 96% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/utils/__tests__/parse-result.spec.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/__tests__/parse-result.spec.ts index 0ec0a5d65..3b731d627 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/utils/__tests__/parse-result.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/__tests__/parse-result.spec.ts @@ -2,7 +2,7 @@ import { isSpecialKey, handleSpecialKey, parseResult, -} from 'src/engine/graphql/workspace-query-runner/utils/parse-result.util'; +} from 'src/engine/api/graphql/workspace-query-runner/utils/parse-result.util'; describe('isSpecialKey', () => { test('should return true if the key starts with "___"', () => { diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/utils/compute-pg-graphql-error.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/compute-pg-graphql-error.util.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/utils/compute-pg-graphql-error.util.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/compute-pg-graphql-error.util.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/utils/parse-result.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/parse-result.util.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/utils/parse-result.util.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/parse-result.util.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface.ts similarity index 54% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface.ts index 7ab7f1646..60a782e8c 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface.ts @@ -1,4 +1,4 @@ -import { ResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { ResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; export interface WorkspacePreQueryHook { execute( diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type.ts similarity index 92% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type.ts index 55e731b53..84d75b135 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type.ts @@ -8,7 +8,7 @@ import { FindOneResolverArgs, UpdateManyResolverArgs, UpdateOneResolverArgs, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; export type ExecutePreHookMethod = | 'createMany' diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.config.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.config.ts new file mode 100644 index 000000000..c0472264f --- /dev/null +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.config.ts @@ -0,0 +1,11 @@ +import { MessageFindManyPreQueryHook } from 'src/modules/messaging/query-hooks/message/message-find-many.pre-query.hook'; +import { MessageFindOnePreQueryHook } from 'src/modules/messaging/query-hooks/message/message-find-one.pre-query-hook'; +import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type'; + +// TODO: move to a decorator +export const workspacePreQueryHooks: WorkspaceQueryHook = { + message: { + findOne: [MessageFindOnePreQueryHook.name], + findMany: [MessageFindManyPreQueryHook.name], + }, +}; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module.ts new file mode 100644 index 000000000..3887e39e5 --- /dev/null +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module.ts @@ -0,0 +1,11 @@ +import { Module } from '@nestjs/common'; + +import { MessagingQueryHookModule } from 'src/modules/messaging/query-hooks/messaging-query-hook.module'; +import { WorkspacePreQueryHookService } from 'src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service'; + +@Module({ + imports: [MessagingQueryHookModule], + providers: [WorkspacePreQueryHookService], + exports: [WorkspacePreQueryHookService], +}) +export class WorkspacePreQueryHookModule {} diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service.ts index e18fc942f..28681e0b9 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@nestjs/common'; import { ModuleRef } from '@nestjs/core'; -import { WorkspacePreQueryHook } from 'src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface'; +import { WorkspacePreQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface'; import { ExecutePreHookMethod, WorkspacePreQueryHookPayload, -} from 'src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type'; -import { workspacePreQueryHooks } from 'src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.config'; +} from 'src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type'; +import { workspacePreQueryHooks } from 'src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.config'; @Injectable() export class WorkspacePreQueryHookService { diff --git a/packages/twenty-server/src/engine/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 similarity index 52% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-query-runner.module.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module.ts index 4399fc492..86384c7b1 100644 --- a/packages/twenty-server/src/engine/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 @@ -1,10 +1,10 @@ import { Module } from '@nestjs/common'; -import { WorkspaceQueryBuilderModule } from 'src/engine/graphql/workspace-query-builder/workspace-query-builder.module'; +import { WorkspaceQueryBuilderModule } from 'src/engine/api/graphql/workspace-query-builder/workspace-query-builder.module'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { WorkspacePreQueryHookModule } from 'src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module'; -import { workspaceQueryRunnerFactories } from 'src/engine/graphql/workspace-query-runner/factories'; -import { RecordPositionListener } from 'src/engine/graphql/workspace-query-runner/listeners/record-position.listener'; +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 { WorkspaceQueryRunnerService } from './workspace-query-runner.service'; diff --git a/packages/twenty-server/src/engine/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 similarity index 89% rename from packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-query-runner.service.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service.ts index 6206bcf09..cc7573571 100644 --- a/packages/twenty-server/src/engine/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 @@ -8,12 +8,12 @@ import { EventEmitter2 } from '@nestjs/event-emitter'; import isEmpty from 'lodash.isempty'; -import { IConnection } from 'src/utils/pagination/interfaces/connection.interface'; +import { IConnection } from 'src/engine/api/graphql/workspace-query-runner/interfaces/connection.interface'; import { Record as IRecord, RecordFilter, RecordOrderBy, -} from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +} from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; import { CreateManyResolverArgs, CreateOneResolverArgs, @@ -24,27 +24,27 @@ import { FindOneResolverArgs, UpdateManyResolverArgs, UpdateOneResolverArgs, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +} 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 { WorkspaceQueryBuilderFactory } from 'src/engine/graphql/workspace-query-builder/workspace-query-builder.factory'; +import { WorkspaceQueryBuilderFactory } from 'src/engine/api/graphql/workspace-query-builder/workspace-query-builder.factory'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { CallWebhookJobsJob, CallWebhookJobsJobData, CallWebhookJobsJobOperation, -} from 'src/engine/graphql/workspace-query-runner/jobs/call-webhook-jobs.job'; -import { parseResult } from 'src/engine/graphql/workspace-query-runner/utils/parse-result.util'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; -import { ObjectRecordDeleteEvent } from 'src/integrations/event-emitter/types/object-record-delete.event'; -import { ObjectRecordCreateEvent } from 'src/integrations/event-emitter/types/object-record-create.event'; -import { ObjectRecordUpdateEvent } from 'src/integrations/event-emitter/types/object-record-update.event'; -import { WorkspacePreQueryHookService } from 'src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +} from 'src/engine/api/graphql/workspace-query-runner/jobs/call-webhook-jobs.job'; +import { parseResult } from 'src/engine/api/graphql/workspace-query-runner/utils/parse-result.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; +import { ObjectRecordDeleteEvent } from 'src/engine/integrations/event-emitter/types/object-record-delete.event'; +import { ObjectRecordCreateEvent } from 'src/engine/integrations/event-emitter/types/object-record-create.event'; +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 { QueryRunnerArgsFactory } from 'src/engine/graphql/workspace-query-runner/factories/query-runner-args.factory'; +import { QueryRunnerArgsFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory'; import { WorkspaceQueryRunnerOptions } from './interfaces/query-runner-option.interface'; import { diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants.ts similarity index 87% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants.ts index dd7193745..1ca7d55dc 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants.ts @@ -1,4 +1,4 @@ -import { RecordDuplicateCriteria } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +import { RecordDuplicateCriteria } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; /** * objectName: directly reference the name of the object from the metadata tables. diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/create-many-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/create-many-resolver.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/create-many-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/create-many-resolver.factory.ts index 53f3f9049..dc1942ecc 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/create-many-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/create-many-resolver.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { CreateManyResolverArgs, Resolver, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; -import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; @Injectable() export class CreateManyResolverFactory diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/create-one-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/create-one-resolver.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/create-one-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/create-one-resolver.factory.ts index 37845421b..01583f0de 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/create-one-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/create-one-resolver.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { CreateOneResolverArgs, Resolver, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; -import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; @Injectable() export class CreateOneResolverFactory diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/delete-many-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/delete-many-resolver.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/delete-many-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/delete-many-resolver.factory.ts index 6f55c2110..e74685bb1 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/delete-many-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/delete-many-resolver.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { DeleteManyResolverArgs, Resolver, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; -import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; @Injectable() export class DeleteManyResolverFactory diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/delete-one-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/delete-one-resolver.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/delete-one-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/delete-one-resolver.factory.ts index 6d3ff14ad..f02676182 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/delete-one-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/delete-one-resolver.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { DeleteOneResolverArgs, Resolver, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; -import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; @Injectable() export class DeleteOneResolverFactory diff --git a/packages/twenty-server/src/engine/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 similarity index 74% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/execute-quick-action-on-one-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/execute-quick-action-on-one-resolver.factory.ts index c99f023c4..6ab4c61be 100644 --- a/packages/twenty-server/src/engine/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 @@ -5,13 +5,13 @@ import { FindOneResolverArgs, ExecuteQuickActionOnOneResolverArgs, DeleteOneResolverArgs, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { Record as IRecord } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; -import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; -import { WorkspaceQueryRunnerOptions } from 'src/engine/graphql/workspace-query-runner/interfaces/query-runner-option.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { Record as IRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; +import { WorkspaceQueryRunnerOptions } from 'src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +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'; @Injectable() diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/factories.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/factories.ts similarity index 92% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/factories.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/factories.ts index da369eedd..9bd0f4432 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/factories.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/factories.ts @@ -1,4 +1,4 @@ -import { UpdateManyResolverFactory } from 'src/engine/graphql/workspace-resolver-builder/factories/update-many-resolver.factory'; +import { UpdateManyResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/update-many-resolver.factory'; import { FindDuplicatesResolverFactory } from './find-duplicates-resolver.factory'; import { FindManyResolverFactory } from './find-many-resolver.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/find-duplicates-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/find-duplicates-resolver.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/find-duplicates-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/find-duplicates-resolver.factory.ts index edb4edcf9..ee288c708 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/find-duplicates-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/find-duplicates-resolver.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { FindDuplicatesResolverArgs, Resolver, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; -import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; @Injectable() export class FindDuplicatesResolverFactory diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/find-many-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/find-many-resolver.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/find-many-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/find-many-resolver.factory.ts index 686dd4b0f..deead28be 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/find-many-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/find-many-resolver.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { FindManyResolverArgs, Resolver, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; -import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; @Injectable() export class FindManyResolverFactory diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/find-one-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/find-one-resolver.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/find-one-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/find-one-resolver.factory.ts index 83d4294a1..1e8ce6d52 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/find-one-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/find-one-resolver.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { FindOneResolverArgs, Resolver, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; -import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; @Injectable() export class FindOneResolverFactory diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/update-many-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/update-many-resolver.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/update-many-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/update-many-resolver.factory.ts index 4f4904baf..470f4e793 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/update-many-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/update-many-resolver.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { Resolver, UpdateManyResolverArgs, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; -import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; @Injectable() export class UpdateManyResolverFactory diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/update-one-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/update-one-resolver.factory.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/update-one-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/update-one-resolver.factory.ts index 751963e9f..0851c54c8 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/factories/update-one-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/factories/update-one-resolver.factory.ts @@ -3,11 +3,11 @@ import { Injectable } from '@nestjs/common'; import { Resolver, UpdateOneResolverArgs, -} from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; -import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; +} from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceResolverBuilderFactoryInterface } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +import { WorkspaceQueryRunnerService } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.service'; @Injectable() export class UpdateOneResolverFactory diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/interfaces/pg-graphql.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/interfaces/pg-graphql.interface.ts similarity index 69% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/interfaces/pg-graphql.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/interfaces/pg-graphql.interface.ts index f5f725662..4a3f3e13f 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/interfaces/pg-graphql.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/interfaces/pg-graphql.interface.ts @@ -1,4 +1,4 @@ -import { Record as IRecord } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +import { Record as IRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; export interface PGGraphQLResponse { resolve: { diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface.ts similarity index 55% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface.ts index 848847abe..709e99ff7 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolver-builder-factory.interface.ts @@ -1,4 +1,4 @@ -import { WorkspaceSchemaBuilderContext } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; +import { WorkspaceSchemaBuilderContext } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface'; import { Resolver } from './workspace-resolvers-builder.interface'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface.ts similarity index 93% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface.ts index 78355c86b..20cae3274 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface.ts @@ -4,9 +4,9 @@ import { Record, RecordFilter, RecordOrderBy, -} from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +} from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; -import { workspaceResolverBuilderMethodNames } from 'src/engine/graphql/workspace-resolver-builder/factories/factories'; +import { workspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/factories/factories'; export type Resolver = GraphQLFieldResolver; diff --git a/packages/twenty-server/src/engine/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 similarity index 81% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/workspace-resolver-builder.module.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.module.ts index 34eed955d..3cbef4cf4 100644 --- a/packages/twenty-server/src/engine/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,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { WorkspaceQueryRunnerModule } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.module'; +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 { WorkspaceResolverFactory } from './workspace-resolver.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/workspace-resolver.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver.factory.ts similarity index 91% rename from packages/twenty-server/src/engine/graphql/workspace-resolver-builder/workspace-resolver.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver.factory.ts index 096aae9b7..8e2a548d8 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-resolver-builder/workspace-resolver.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver.factory.ts @@ -4,10 +4,10 @@ import { IResolvers } from '@graphql-tools/utils'; import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; -import { getResolverName } from 'src/engine-workspace/utils/get-resolver-name.util'; -import { UpdateManyResolverFactory } from 'src/engine/graphql/workspace-resolver-builder/factories/update-many-resolver.factory'; -import { DeleteManyResolverFactory } from 'src/engine/graphql/workspace-resolver-builder/factories/delete-many-resolver.factory'; -import { ExecuteQuickActionOnOneResolverFactory } from 'src/engine/graphql/workspace-resolver-builder/factories/execute-quick-action-on-one-resolver.factory'; +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'; +import { DeleteManyResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/delete-many-resolver.factory'; +import { ExecuteQuickActionOnOneResolverFactory } from 'src/engine/api/graphql/workspace-resolver-builder/factories/execute-quick-action-on-one-resolver.factory'; import { FindDuplicatesResolverFactory } from './factories/find-duplicates-resolver.factory'; import { FindManyResolverFactory } from './factories/find-many-resolver.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/args.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/args.factory.ts similarity index 82% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/args.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/args.factory.ts index 5940e3b64..7f316119c 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/args.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/args.factory.ts @@ -2,11 +2,11 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLFieldConfigArgumentMap } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { ArgsMetadata } from 'src/engine/graphql/workspace-schema-builder/interfaces/param-metadata.interface'; +import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +import { ArgsMetadata } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/param-metadata.interface'; -import { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; -import { TypeMapperService } from 'src/engine/graphql/workspace-schema-builder/services/type-mapper.service'; +import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; +import { TypeMapperService } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; @Injectable() export class ArgsFactory { diff --git a/packages/twenty-server/src/engine/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 similarity index 93% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type-definition.factory.ts index beecc865a..ef9d88548 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLInt, GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { pascalCase } from 'src/utils/pascal-case'; diff --git a/packages/twenty-server/src/engine/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 similarity index 78% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/connection-type.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/connection-type.factory.ts index 13ea80d23..41919c715 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,15 +2,15 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { TypeMapperService, TypeOptions, -} from 'src/engine/graphql/workspace-schema-builder/services/type-mapper.service'; -import { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; -import { PageInfoType } from 'src/engine/graphql/workspace-schema-builder/graphql-types/object'; +} 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 { PageInfoType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/object'; import { ConnectionTypeDefinitionKind } from './connection-type-definition.factory'; import { ObjectTypeDefinitionKind } from './object-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 92% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type-definition.factory.ts index 61e2dab44..877a6e9b2 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { pascalCase } from 'src/utils/pascal-case'; diff --git a/packages/twenty-server/src/engine/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 similarity index 77% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/edge-type.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/edge-type.factory.ts index 65b7fe94a..ea1bdaafd 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,15 +2,15 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { TypeMapperService, TypeOptions, -} from 'src/engine/graphql/workspace-schema-builder/services/type-mapper.service'; -import { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; -import { CursorScalarType } from 'src/engine/graphql/workspace-schema-builder/graphql-types/scalars'; +} 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 { CursorScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; import { ObjectTypeDefinitionKind } from './object-type-definition.factory'; import { EdgeTypeDefinitionKind } from './edge-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 94% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory.ts index 1a2cd5889..def7d1095 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLEnumType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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'; diff --git a/packages/twenty-server/src/engine/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 similarity index 86% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/extend-object-type-definition.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition.factory.ts index 2a6669809..98766740b 100644 --- a/packages/twenty-server/src/engine/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 @@ -6,17 +6,17 @@ import { GraphQLObjectType, } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; -import { objectContainsRelationField } from 'src/engine/graphql/workspace-schema-builder/utils/object-contains-relation-field'; -import { getResolverArgs } from 'src/engine/graphql/workspace-schema-builder/utils/get-resolver-args.util'; -import { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.util'; +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'; +import { getResolverArgs } from 'src/engine/api/graphql/workspace-schema-builder/utils/get-resolver-args.util'; +import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; import { RelationDirection, deduceRelationDirection, -} from 'src/engine-workspace/utils/deduce-relation-direction.util'; +} from 'src/engine/utils/deduce-relation-direction.util'; import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; import { RelationTypeFactory } from './relation-type.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/factories.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/factories.ts similarity index 93% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/factories.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/factories.ts index 65fafba8d..71663a0d0 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/factories.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/factories.ts @@ -1,4 +1,4 @@ -import { EnumTypeDefinitionFactory } from 'src/engine/graphql/workspace-schema-builder/factories/enum-type-definition.factory'; +import { EnumTypeDefinitionFactory } from 'src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory'; import { ArgsFactory } from './args.factory'; import { InputTypeFactory } from './input-type.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 87% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/filter-type-definition.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/filter-type-definition.factory.ts index 46aff0b72..c2c558e5d 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,12 +2,12 @@ import { Injectable } from '@nestjs/common'; import { GraphQLInputFieldConfigMap, GraphQLInputObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { pascalCase } from 'src/utils/pascal-case'; -import { TypeMapperService } from 'src/engine/graphql/workspace-schema-builder/services/type-mapper.service'; -import { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.util'; +import { TypeMapperService } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; +import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; import { FilterTypeFactory } from './filter-type.factory'; import { diff --git a/packages/twenty-server/src/engine/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 similarity index 85% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/filter-type.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/filter-type.factory.ts index cd621fd75..19477e8cb 100644 --- a/packages/twenty-server/src/engine/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 @@ -7,17 +7,17 @@ import { GraphQLScalarType, } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { TypeMapperService, TypeOptions, -} from 'src/engine/graphql/workspace-schema-builder/services/type-mapper.service'; -import { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; +} 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 { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +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/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 similarity index 89% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts index 4f8bc5646..9511b4428 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,11 +2,11 @@ import { Injectable } from '@nestjs/common'; import { GraphQLInputFieldConfigMap, GraphQLInputObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { pascalCase } from 'src/utils/pascal-case'; -import { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.util'; +import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; import { InputTypeFactory } from './input-type.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 82% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/input-type.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts index 8b3878618..7a5a5e10f 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,14 +2,14 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLInputType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { TypeMapperService, TypeOptions, -} from 'src/engine/graphql/workspace-schema-builder/services/type-mapper.service'; -import { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; +} 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 { InputTypeDefinitionKind } from './input-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 77% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/mutation-type.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/mutation-type.factory.ts index b52731125..dbcb506cd 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,8 +2,8 @@ import { Injectable } from '@nestjs/common'; import { GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { WorkspaceResolverBuilderMutationMethodNames } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +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 { ObjectTypeName, RootTypeFactory } from './root-type.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 89% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory.ts index c97632e29..343df7faa 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,11 +2,11 @@ import { Injectable } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { pascalCase } from 'src/utils/pascal-case'; -import { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.util'; +import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; import { OutputTypeFactory } from './output-type.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 88% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/order-by-type-definition.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/order-by-type-definition.factory.ts index fc079c31c..0b10df54c 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,11 +2,11 @@ import { Injectable } from '@nestjs/common'; import { GraphQLInputFieldConfigMap, GraphQLInputObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { pascalCase } from 'src/utils/pascal-case'; -import { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.util'; +import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; import { InputTypeDefinition, diff --git a/packages/twenty-server/src/engine/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 similarity index 81% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/order-by-type.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/order-by-type.factory.ts index 0175c9b03..d452538a2 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,14 +2,14 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLInputType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { TypeMapperService, TypeOptions, -} from 'src/engine/graphql/workspace-schema-builder/services/type-mapper.service'; -import { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; +} 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 { InputTypeDefinitionKind } from './input-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/orphaned-types.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/orphaned-types.factory.ts similarity index 82% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/orphaned-types.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/orphaned-types.factory.ts index 6cff06f66..4cb29d234 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/orphaned-types.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/orphaned-types.factory.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { GraphQLNamedType } from 'graphql'; -import { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; +import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; @Injectable() export class OrphanedTypesFactory { diff --git a/packages/twenty-server/src/engine/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 similarity index 82% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/output-type.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts index 127f8e30e..7ba617ebf 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,14 +2,14 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +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 { TypeMapperService, TypeOptions, -} from 'src/engine/graphql/workspace-schema-builder/services/type-mapper.service'; -import { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; +} 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 { ObjectTypeDefinitionKind } from './object-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 77% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/query-type.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/query-type.factory.ts index 981a4beca..2275cdca3 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,8 +2,8 @@ import { Injectable } from '@nestjs/common'; import { GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { WorkspaceResolverBuilderQueryMethodNames } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +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 { ObjectTypeName, RootTypeFactory } from './root-type.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 89% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/relation-type.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-type.factory.ts index b93ae26a5..c4a68a6b2 100644 --- a/packages/twenty-server/src/engine/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 @@ -6,8 +6,8 @@ import { FieldMetadataInterface } from 'src/engine-metadata/field-metadata/inter import { RelationMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/relation-metadata.interface'; import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; -import { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; -import { RelationDirection } from 'src/engine-workspace/utils/deduce-relation-direction.util'; +import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; +import { RelationDirection } from 'src/engine/utils/deduce-relation-direction.util'; import { ObjectTypeDefinitionKind } from './object-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/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 similarity index 83% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/factories/root-type.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/root-type.factory.ts index ae2a768ff..b5ec65507 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,14 +2,14 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; -import { WorkspaceBuildSchemaOptions } from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; -import { WorkspaceResolverBuilderMethodNames } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +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 { TypeDefinitionsStorage } from 'src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage'; -import { getResolverName } from 'src/engine-workspace/utils/get-resolver-name.util'; -import { getResolverArgs } from 'src/engine/graphql/workspace-schema-builder/utils/get-resolver-args.util'; -import { TypeMapperService } from 'src/engine/graphql/workspace-schema-builder/services/type-mapper.service'; +import { TypeDefinitionsStorage } from 'src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage'; +import { getResolverName } from 'src/engine/utils/get-resolver-name.util'; +import { getResolverArgs } from 'src/engine/api/graphql/workspace-schema-builder/utils/get-resolver-args.util'; +import { TypeMapperService } from 'src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service'; import { ArgsFactory } from './args.factory'; import { ObjectTypeDefinitionKind } from './object-type-definition.factory'; diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/enum/index.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/enum/index.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/enum/index.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/enum/index.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/enum/order-by-direction.enum-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/enum/order-by-direction.enum-type.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/enum/order-by-direction.enum-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/enum/order-by-direction.enum-type.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/big-float-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/big-float-filter.input-type.ts similarity index 70% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/big-float-filter.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/big-float-filter.input-type.ts index 895e9981e..b9db4a6a4 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/big-float-filter.input-type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/big-float-filter.input-type.ts @@ -1,7 +1,7 @@ import { GraphQLInputObjectType, GraphQLList, GraphQLNonNull } from 'graphql'; -import { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; -import { BigFloatScalarType } from 'src/engine/graphql/workspace-schema-builder/graphql-types/scalars'; +import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +import { BigFloatScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; export const BigFloatFilterType = new GraphQLInputObjectType({ name: 'BigFloatFilter', diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/big-int-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/big-int-filter.input-type.ts similarity index 80% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/big-int-filter.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/big-int-filter.input-type.ts index fe0254f4e..fed62dc16 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/big-int-filter.input-type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/big-int-filter.input-type.ts @@ -5,7 +5,7 @@ import { GraphQLInt, } from 'graphql'; -import { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; export const BigIntFilterType = new GraphQLInputObjectType({ name: 'BigIntFilter', diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/boolean-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/boolean-filter.input-type.ts similarity index 67% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/boolean-filter.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/boolean-filter.input-type.ts index ba3bfb040..1ea634648 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/boolean-filter.input-type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/boolean-filter.input-type.ts @@ -1,6 +1,6 @@ import { GraphQLBoolean, GraphQLInputObjectType } from 'graphql'; -import { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; export const BooleanFilterType = new GraphQLInputObjectType({ name: 'BooleanFilter', diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/date-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/date-filter.input-type.ts similarity index 68% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/date-filter.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/date-filter.input-type.ts index 159e530ad..43499e96e 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/date-filter.input-type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/date-filter.input-type.ts @@ -1,7 +1,7 @@ import { GraphQLInputObjectType, GraphQLList, GraphQLNonNull } from 'graphql'; -import { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; -import { DateScalarType } from 'src/engine/graphql/workspace-schema-builder/graphql-types/scalars'; +import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +import { DateScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; export const DateFilterType = new GraphQLInputObjectType({ name: 'DateFilter', diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts similarity index 70% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts index 18b85d368..278eff46d 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/date-time-filter.input-type.ts @@ -1,7 +1,7 @@ import { GraphQLInputObjectType, GraphQLList, GraphQLNonNull } from 'graphql'; -import { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; -import { DateTimeScalarType } from 'src/engine/graphql/workspace-schema-builder/graphql-types/scalars'; +import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +import { DateTimeScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; export const DatetimeFilterType = new GraphQLInputObjectType({ name: 'DateTimeFilter', diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/float-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/float-filter.input-type.ts similarity index 81% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/float-filter.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/float-filter.input-type.ts index 82da74d3d..24be95056 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/float-filter.input-type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/float-filter.input-type.ts @@ -5,7 +5,7 @@ import { GraphQLNonNull, } from 'graphql'; -import { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; export const FloatFilterType = new GraphQLInputObjectType({ name: 'FloatFilter', diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/index.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/index.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/index.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/index.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/int-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/int-filter.input-type.ts similarity index 80% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/int-filter.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/int-filter.input-type.ts index b0022af2f..4b2d1dc80 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/int-filter.input-type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/int-filter.input-type.ts @@ -5,7 +5,7 @@ import { GraphQLInt, } from 'graphql'; -import { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; export const IntFilterType = new GraphQLInputObjectType({ name: 'IntFilter', diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/string-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/string-filter.input-type.ts similarity index 85% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/string-filter.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/string-filter.input-type.ts index 3a7c9197d..3ea34f85b 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/string-filter.input-type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/string-filter.input-type.ts @@ -5,7 +5,7 @@ import { GraphQLString, } from 'graphql'; -import { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; export const StringFilterType = new GraphQLInputObjectType({ name: 'StringFilter', diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts similarity index 68% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts index bc08a3eb9..58d1b7bab 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/time-filter.input-type.ts @@ -1,7 +1,7 @@ import { GraphQLInputObjectType, GraphQLList, GraphQLNonNull } from 'graphql'; -import { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; -import { TimeScalarType } from 'src/engine/graphql/workspace-schema-builder/graphql-types/scalars'; +import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +import { TimeScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; export const TimeFilterType = new GraphQLInputObjectType({ name: 'TimeFilter', diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts similarity index 58% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts index 3eebe14b7..4935e4d94 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/input/uuid-filter.input-type.ts @@ -1,7 +1,7 @@ import { GraphQLInputObjectType, GraphQLList } from 'graphql'; -import { FilterIs } from 'src/engine/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; -import { UUIDScalarType } from 'src/engine/graphql/workspace-schema-builder/graphql-types/scalars'; +import { FilterIs } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input/filter-is.input-type'; +import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; export const UUIDFilterType = new GraphQLInputObjectType({ name: 'UUIDFilter', diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/object/index.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/object/index.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/object/index.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/object/index.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/object/page-into.object-type.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/object/page-into.object-type.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/object/page-into.object-type.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/object/page-into.object-type.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/big-float.scalar.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/big-float.scalar.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/big-float.scalar.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/big-float.scalar.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/big-int.scalar.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/big-int.scalar.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/big-int.scalar.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/big-int.scalar.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/cursor.scalar.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/cursor.scalar.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/cursor.scalar.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/cursor.scalar.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/date-time.scalar.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/date-time.scalar.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/date-time.scalar.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/date-time.scalar.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/date.scalar.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/date.scalar.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/date.scalar.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/date.scalar.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/index.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/index.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/index.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/index.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/position.scalar.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/position.scalar.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/position.scalar.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/position.scalar.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/time.scalar.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/time.scalar.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/time.scalar.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/time.scalar.ts diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/uuid.scalar.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/uuid.scalar.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/graphql-types/scalars/uuid.scalar.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/uuid.scalar.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 74% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/interfaces/param-metadata.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/param-metadata.interface.ts index 9fd1e13f9..d117c560e 100644 --- a/packages/twenty-server/src/engine/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,4 +1,4 @@ -import { InputTypeDefinitionKind } from 'src/engine/graphql/workspace-schema-builder/factories/input-type-definition.factory'; +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'; export interface ArgMetadata { diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-schema-builder-context.interface.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 90% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/services/type-mapper.service.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service.ts index 82badbf68..d2df890aa 100644 --- a/packages/twenty-server/src/engine/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 @@ -19,7 +19,7 @@ import { import { DateScalarMode, NumberScalarMode, -} from 'src/engine/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; +} 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 { @@ -31,10 +31,10 @@ import { IntFilterType, BooleanFilterType, BigFloatFilterType, -} from 'src/engine/graphql/workspace-schema-builder/graphql-types/input'; -import { OrderByDirectionType } from 'src/engine/graphql/workspace-schema-builder/graphql-types/enum'; -import { BigFloatScalarType } from 'src/engine/graphql/workspace-schema-builder/graphql-types/scalars'; -import { PositionScalarType } from 'src/engine/graphql/workspace-schema-builder/graphql-types/scalars/position.scalar'; +} from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/input'; +import { OrderByDirectionType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/enum'; +import { BigFloatScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; +import { PositionScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars/position.scalar'; export interface TypeOptions { nullable?: boolean; diff --git a/packages/twenty-server/src/engine/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 similarity index 87% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/storages/type-definitions.storage.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage.ts index 3a2045c37..9e539bc5d 100644 --- a/packages/twenty-server/src/engine/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 @@ -7,15 +7,15 @@ import { } from 'graphql'; import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { EnumTypeDefinition } from 'src/engine/graphql/workspace-schema-builder/factories/enum-type-definition.factory'; +import { EnumTypeDefinition } from 'src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory'; import { InputTypeDefinition, InputTypeDefinitionKind, -} from 'src/engine/graphql/workspace-schema-builder/factories/input-type-definition.factory'; +} from 'src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory'; import { ObjectTypeDefinition, ObjectTypeDefinitionKind, -} from 'src/engine/graphql/workspace-schema-builder/factories/object-type-definition.factory'; +} from 'src/engine/api/graphql/workspace-schema-builder/factories/object-type-definition.factory'; // Must be scoped on REQUEST level @Injectable({ scope: Scope.REQUEST }) diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/type-definitions.generator.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts similarity index 98% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/type-definitions.generator.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts index fa227d1c0..595db1c6b 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/type-definitions.generator.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/type-definitions.generator.ts @@ -8,7 +8,7 @@ import { customTableDefaultColumns } from 'src/engine/workspace-manager/workspac 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 { EnumTypeDefinitionFactory } from 'src/engine/graphql/workspace-schema-builder/factories/enum-type-definition.factory'; +import { EnumTypeDefinitionFactory } from 'src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory'; import { TypeDefinitionsStorage } from './storages/type-definitions.storage'; import { diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/utils/__tests__/clean-entity-name.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/clean-entity-name.spec.ts similarity index 86% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/utils/__tests__/clean-entity-name.spec.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/clean-entity-name.spec.ts index 8069715d0..3b95a01eb 100644 --- a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/utils/__tests__/clean-entity-name.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/clean-entity-name.spec.ts @@ -1,4 +1,4 @@ -import { cleanEntityName } from 'src/engine/graphql/workspace-schema-builder/utils/clean-entity-name.util'; +import { cleanEntityName } from 'src/engine/api/graphql/workspace-schema-builder/utils/clean-entity-name.util'; describe('cleanEntityName', () => { test('should camelCase strings', () => { diff --git a/packages/twenty-server/src/engine/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 similarity index 83% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts index 8d5f18991..459140af6 100644 --- a/packages/twenty-server/src/engine/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,5 +1,5 @@ import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { getFieldMetadataType } from 'src/engine/graphql/workspace-schema-builder/utils/get-field-metadata-type.util'; +import { getFieldMetadataType } from 'src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util'; describe('getFieldMetadataType', () => { it.each([ diff --git a/packages/twenty-server/src/engine/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 similarity index 85% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/utils/__tests__/get-resolver-args.spec.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-resolver-args.spec.ts index d5ed07f98..60d569aa8 100644 --- a/packages/twenty-server/src/engine/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,8 +1,8 @@ -import { WorkspaceResolverBuilderMethodNames } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +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 { InputTypeDefinitionKind } from 'src/engine/graphql/workspace-schema-builder/factories/input-type-definition.factory'; -import { getResolverArgs } from 'src/engine/graphql/workspace-schema-builder/utils/get-resolver-args.util'; +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'; describe('getResolverArgs', () => { const expectedOutputs = { diff --git a/packages/twenty-server/src/engine/graphql/workspace-schema-builder/utils/clean-entity-name.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/clean-entity-name.util.ts similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/utils/clean-entity-name.util.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/clean-entity-name.util.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 88% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/utils/get-resolver-args.util.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-resolver-args.util.ts index 350225482..8d1dc4537 100644 --- a/packages/twenty-server/src/engine/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,8 +1,8 @@ -import { WorkspaceResolverBuilderMethodNames } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { ArgMetadata } from 'src/engine/graphql/workspace-schema-builder/interfaces/param-metadata.interface'; +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 { InputTypeDefinitionKind } from 'src/engine/graphql/workspace-schema-builder/factories/input-type-definition.factory'; +import { InputTypeDefinitionKind } from 'src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory'; export const getResolverArgs = ( type: WorkspaceResolverBuilderMethodNames, diff --git a/packages/twenty-server/src/engine/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 similarity index 74% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/object-contains-relation-field.ts index e529a5e94..b705b2bb4 100644 --- a/packages/twenty-server/src/engine/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,6 +1,6 @@ import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; -import { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.util'; +import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; export const objectContainsRelationField = ( objectMetadata: ObjectMetadataInterface, diff --git a/packages/twenty-server/src/engine/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 similarity index 92% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-graphql-schema.factory.ts index 12e09a16b..eb25eaa1d 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLSchema } from 'graphql'; -import { WorkspaceResolverBuilderMethods } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +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 { TypeDefinitionsGenerator } from './type-definitions.generator'; diff --git a/packages/twenty-server/src/engine/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 similarity index 100% rename from packages/twenty-server/src/engine/graphql/workspace-schema-builder/workspace-schema-builder.module.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/workspace-schema-builder.module.ts diff --git a/packages/twenty-server/src/engine/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 similarity index 78% rename from packages/twenty-server/src/engine/graphql/workspace-schema-storage/workspace-schema-storage.module.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.module.ts index 5370a89cb..a24c410f4 100644 --- a/packages/twenty-server/src/engine/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 @@ -2,7 +2,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 { WorkspaceSchemaStorageService } from 'src/engine/graphql/workspace-schema-storage/workspace-schema-storage.service'; +import { WorkspaceSchemaStorageService } from 'src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.service'; @Module({ imports: [ObjectMetadataModule, WorkspaceCacheVersionModule], diff --git a/packages/twenty-server/src/engine/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 similarity index 93% rename from packages/twenty-server/src/engine/graphql/workspace-schema-storage/workspace-schema-storage.service.ts rename to packages/twenty-server/src/engine/api/graphql/workspace-schema-storage/workspace-schema-storage.service.ts index dfef2ce70..0ab8433db 100644 --- a/packages/twenty-server/src/engine/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 @@ -1,7 +1,7 @@ import { Inject, Injectable } from '@nestjs/common'; -import { CacheStorageService } from 'src/integrations/cache-storage/cache-storage.service'; -import { CacheStorageNamespace } from 'src/integrations/cache-storage/types/cache-storage-namespace.enum'; +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'; diff --git a/packages/twenty-server/src/engine/graphql/workspace.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace.factory.ts similarity index 86% rename from packages/twenty-server/src/engine/graphql/workspace.factory.ts rename to packages/twenty-server/src/engine/api/graphql/workspace.factory.ts index 19eaa4556..2951eaf5e 100644 --- a/packages/twenty-server/src/engine/graphql/workspace.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace.factory.ts @@ -5,12 +5,12 @@ import { makeExecutableSchema } from '@graphql-tools/schema'; import { gql } from 'graphql-tag'; import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; -import { WorkspaceSchemaStorageService } from 'src/engine/graphql/workspace-schema-storage/workspace-schema-storage.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 { ScalarsExplorerService } from 'src/engine-workspace/services/scalars-explorer.service'; -import { WorkspaceGraphQLSchemaFactory } from 'src/engine/graphql/workspace-schema-builder/workspace-graphql-schema.factory'; -import { workspaceResolverBuilderMethodNames } from 'src/engine/graphql/workspace-resolver-builder/factories/factories'; -import { WorkspaceResolverFactory } from 'src/engine/graphql/workspace-resolver-builder/workspace-resolver.factory'; +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 { diff --git a/packages/twenty-server/src/api/rest/api-rest.controller.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/__tests__/api-rest.controller.utils.spec.ts similarity index 93% rename from packages/twenty-server/src/api/rest/api-rest.controller.utils.spec.ts rename to packages/twenty-server/src/engine/api/rest/__tests__/api-rest.controller.utils.spec.ts index de19dd91a..4655a731f 100644 --- a/packages/twenty-server/src/api/rest/api-rest.controller.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/__tests__/api-rest.controller.utils.spec.ts @@ -1,4 +1,4 @@ -import { cleanGraphQLResponse } from 'src/api/rest/api-rest.controller.utils'; +import { cleanGraphQLResponse } from 'src/engine/api/rest/api-rest.controller.utils'; describe('cleanGraphQLResponse', () => { it('should remove edges/node from results', () => { diff --git a/packages/twenty-server/src/api/rest/api-rest.service.spec.ts b/packages/twenty-server/src/engine/api/rest/__tests__/api-rest.service.spec.ts similarity index 75% rename from packages/twenty-server/src/api/rest/api-rest.service.spec.ts rename to packages/twenty-server/src/engine/api/rest/__tests__/api-rest.service.spec.ts index e1522b6d9..3427d320e 100644 --- a/packages/twenty-server/src/api/rest/api-rest.service.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/__tests__/api-rest.service.spec.ts @@ -1,10 +1,10 @@ import { Test, TestingModule } from '@nestjs/testing'; import { HttpService } from '@nestjs/axios'; -import { ApiRestService } from 'src/api/rest/api-rest.service'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +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 { ApiRestQueryBuilderFactory } from 'src/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; +import { ApiRestQueryBuilderFactory } from 'src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; describe('ApiRestService', () => { let service: ApiRestService; diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/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 similarity index 51% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/api-rest-query-builder.factory.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/__tests__/api-rest-query-builder.factory.spec.ts index 7ad9de1fc..3ba006091 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/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 @@ -1,18 +1,18 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { ApiRestQueryBuilderFactory } from 'src/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; -import { DeleteQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/delete-query.factory'; -import { CreateQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/create-query.factory'; -import { UpdateQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/update-query.factory'; -import { FindOneQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/find-one-query.factory'; -import { FindManyQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/find-many-query.factory'; -import { DeleteVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/delete-variables.factory'; -import { CreateVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/create-variables.factory'; -import { UpdateVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/update-variables.factory'; -import { GetVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/get-variables.factory'; +import { ApiRestQueryBuilderFactory } from 'src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; +import { DeleteQueryFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/delete-query.factory'; +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'; +import { FindManyQueryFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/find-many-query.factory'; +import { DeleteVariablesFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/delete-variables.factory'; +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 { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; describe('ApiRestQueryBuilderFactory', () => { let service: ApiRestQueryBuilderFactory; diff --git a/packages/twenty-server/src/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 similarity index 76% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/api-rest-query-builder.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.factory.ts index 4dc97f7ed..74bfe7e09 100644 --- a/packages/twenty-server/src/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 @@ -2,22 +2,22 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { Request } from 'express'; -import { DeleteQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/delete-query.factory'; +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 { CreateQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/create-query.factory'; -import { UpdateQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/update-query.factory'; -import { FindOneQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/find-one-query.factory'; -import { FindManyQueryFactory } from 'src/api/rest/api-rest-query-builder/factories/find-many-query.factory'; -import { DeleteVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/delete-variables.factory'; -import { CreateVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/create-variables.factory'; -import { UpdateVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/update-variables.factory'; -import { GetVariablesFactory } from 'src/api/rest/api-rest-query-builder/factories/get-variables.factory'; -import { parsePath } from 'src/api/rest/api-rest-query-builder/utils/parse-path.utils'; -import { computeDepth } from 'src/api/rest/api-rest-query-builder/utils/compute-depth.utils'; +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'; +import { FindManyQueryFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/find-many-query.factory'; +import { DeleteVariablesFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/delete-variables.factory'; +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 { 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 { ApiRestQuery } from 'src/api/rest/types/api-rest-query.type'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { ApiRestQuery } from 'src/engine/api/rest/types/api-rest-query.type'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Injectable() export class ApiRestQueryBuilderFactory { diff --git a/packages/twenty-server/src/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 similarity index 64% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/api-rest-query-builder.module.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/api-rest-query-builder.module.ts index cb86544a0..f647be1d6 100644 --- a/packages/twenty-server/src/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 @@ -1,7 +1,7 @@ import { Module } from '@nestjs/common'; -import { ApiRestQueryBuilderFactory } from 'src/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; -import { apiRestQueryBuilderFactories } from 'src/api/rest/api-rest-query-builder/factories/factories'; +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'; diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/create-query.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/create-query.factory.ts similarity index 84% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/create-query.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/create-query.factory.ts index 238d8365f..731567e16 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/create-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/create-query.factory.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { capitalize } from 'src/utils/capitalize'; -import { mapFieldMetadataToGraphqlQuery } from 'src/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils'; +import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils'; @Injectable() export class CreateQueryFactory { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/create-variables.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/create-variables.factory.ts similarity index 67% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/create-variables.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/create-variables.factory.ts index b7186628e..190d50fd9 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/create-variables.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/create-variables.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { ApiRestQueryVariables } from 'src/api/rest/types/api-rest-query-variables.type'; +import { ApiRestQueryVariables } from 'src/engine/api/rest/types/api-rest-query-variables.type'; @Injectable() export class CreateVariablesFactory { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/delete-query.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/delete-query.factory.ts similarity index 100% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/delete-query.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/delete-query.factory.ts diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/delete-variables.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/delete-variables.factory.ts similarity index 65% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/delete-variables.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/delete-variables.factory.ts index c0a7a4a59..4cd89b779 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/delete-variables.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/delete-variables.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { ApiRestQueryVariables } from 'src/api/rest/types/api-rest-query-variables.type'; +import { ApiRestQueryVariables } from 'src/engine/api/rest/types/api-rest-query-variables.type'; @Injectable() export class DeleteVariablesFactory { diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/factories.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/factories.ts new file mode 100644 index 000000000..a2e3951a9 --- /dev/null +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/factories.ts @@ -0,0 +1,29 @@ +import { DeleteQueryFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/delete-query.factory'; +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'; +import { FindManyQueryFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/find-many-query.factory'; +import { DeleteVariablesFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/delete-variables.factory'; +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 { LastCursorInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory'; +import { LimitInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory'; +import { OrderByInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory'; +import { FilterInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory'; + +export const apiRestQueryBuilderFactories = [ + DeleteQueryFactory, + CreateQueryFactory, + UpdateQueryFactory, + FindOneQueryFactory, + FindManyQueryFactory, + DeleteVariablesFactory, + CreateVariablesFactory, + UpdateVariablesFactory, + GetVariablesFactory, + LastCursorInputFactory, + LimitInputFactory, + OrderByInputFactory, + FilterInputFactory, +]; diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/find-many-query.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/find-many-query.factory.ts similarity index 90% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/find-many-query.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/find-many-query.factory.ts index 83ef66dba..2f5a6b36d 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/find-many-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/find-many-query.factory.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { capitalize } from 'src/utils/capitalize'; -import { mapFieldMetadataToGraphqlQuery } from 'src/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils'; +import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils'; @Injectable() export class FindManyQueryFactory { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/find-one-query.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/find-one-query.factory.ts similarity index 84% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/find-one-query.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/find-one-query.factory.ts index 47a980b14..0ab363e40 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/find-one-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/find-one-query.factory.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { capitalize } from 'src/utils/capitalize'; -import { mapFieldMetadataToGraphqlQuery } from 'src/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils'; +import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils'; @Injectable() export class FindOneQueryFactory { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/get-variables.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/get-variables.factory.ts similarity index 58% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/get-variables.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/get-variables.factory.ts index f9078a212..dfe87ce77 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/get-variables.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/get-variables.factory.ts @@ -2,11 +2,11 @@ import { Injectable } from '@nestjs/common'; import { Request } from 'express'; -import { LastCursorInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory'; -import { LimitInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory'; -import { OrderByInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory'; -import { FilterInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory'; -import { ApiRestQueryVariables } from 'src/api/rest/types/api-rest-query-variables.type'; +import { LastCursorInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory'; +import { LimitInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory'; +import { OrderByInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory'; +import { FilterInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory'; +import { ApiRestQueryVariables } from 'src/engine/api/rest/types/api-rest-query-variables.type'; @Injectable() export class GetVariablesFactory { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/filter-input.factory.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/filter-input.factory.spec.ts similarity index 93% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/filter-input.factory.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/filter-input.factory.spec.ts index dddc306b3..d4e9e3cf8 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/filter-input.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/filter-input.factory.spec.ts @@ -1,10 +1,10 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { objectMetadataItem } from 'src/utils/utils-test/object-metadata-item'; -import { FilterInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory'; +import { objectMetadataItemMock } from 'src/engine/api/__mocks__/object-metadata-item.mock'; +import { FilterInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory'; describe('FilterInputFactory', () => { - const objectMetadata = { objectMetadataItem: objectMetadataItem }; + const objectMetadata = { objectMetadataItem: objectMetadataItemMock }; let service: FilterInputFactory; diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/last-cursor-input.factory.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/last-cursor-input.factory.spec.ts similarity index 85% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/last-cursor-input.factory.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/last-cursor-input.factory.spec.ts index 9a8532ea2..58a7f1432 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/last-cursor-input.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/last-cursor-input.factory.spec.ts @@ -1,6 +1,6 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { LastCursorInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory'; +import { LastCursorInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory'; describe('LastCursorInputFactory', () => { let service: LastCursorInputFactory; diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/limit-input.factory.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/limit-input.factory.spec.ts similarity index 90% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/limit-input.factory.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/limit-input.factory.spec.ts index e9005f52b..a3e0fcdf6 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/limit-input.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/limit-input.factory.spec.ts @@ -1,6 +1,6 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { LimitInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory'; +import { LimitInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory'; describe('LimitInputFactory', () => { let service: LimitInputFactory; diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/order-by-input.factory.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/order-by-input.factory.spec.ts similarity index 90% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/order-by-input.factory.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/order-by-input.factory.spec.ts index a8446defc..7e09cbc73 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/__tests__/order-by-input.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/__tests__/order-by-input.factory.spec.ts @@ -1,12 +1,12 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { OrderByDirection } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +import { OrderByDirection } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; -import { objectMetadataItem } from 'src/utils/utils-test/object-metadata-item'; -import { OrderByInputFactory } from 'src/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory'; +import { objectMetadataItemMock } from 'src/engine/api/__mocks__/object-metadata-item.mock'; +import { OrderByInputFactory } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory'; describe('OrderByInputFactory', () => { - const objectMetadata = { objectMetadataItem: objectMetadataItem }; + const objectMetadata = { objectMetadataItem: objectMetadataItemMock }; let service: OrderByInputFactory; diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory.ts new file mode 100644 index 000000000..be2efdfbb --- /dev/null +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-input.factory.ts @@ -0,0 +1,25 @@ +import { Injectable } from '@nestjs/common'; + +import { Request } from 'express'; + +import { addDefaultConjunctionIfMissing } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils'; +import { checkFilterQuery } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/check-filter-query.utils'; +import { parseFilter } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils'; +import { FieldValue } from 'src/engine/api/rest/types/api-rest-field-value.type'; + +@Injectable() +export class FilterInputFactory { + create(request: Request, objectMetadata): Record { + let filterQuery = request.query.filter; + + if (typeof filterQuery !== 'string') { + return {}; + } + + checkFilterQuery(filterQuery); + + filterQuery = addDefaultConjunctionIfMissing(filterQuery); + + return parseFilter(filterQuery, objectMetadata.objectMetadataItem); + } +} diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/add-default-conjunction.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/add-default-conjunction.utils.spec.ts similarity index 71% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/add-default-conjunction.utils.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/add-default-conjunction.utils.spec.ts index 683c82eb9..90a58f59c 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/add-default-conjunction.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/add-default-conjunction.utils.spec.ts @@ -1,4 +1,4 @@ -import { addDefaultConjunctionIfMissing } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils'; +import { addDefaultConjunctionIfMissing } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils'; describe('addDefaultConjunctionIfMissing', () => { it('should add default conjunction if missing', () => { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/check-filter-query.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/check-filter-query.utils.spec.ts similarity index 86% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/check-filter-query.utils.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/check-filter-query.utils.spec.ts index b720f77bd..88d08c661 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/check-filter-query.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/check-filter-query.utils.spec.ts @@ -1,4 +1,4 @@ -import { checkFilterQuery } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/check-filter-query.utils'; +import { checkFilterQuery } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/check-filter-query.utils'; describe('checkFilterQuery', () => { it('should check filter query', () => { diff --git a/packages/twenty-server/src/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 similarity index 92% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/format-field-values.utils.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/format-field-values.utils.spec.ts index 8ac0fd878..f012684d7 100644 --- a/packages/twenty-server/src/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,5 +1,5 @@ import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { formatFieldValue } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils'; +import { formatFieldValue } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils'; describe('formatFieldValue', () => { it('should format fieldNumber value', () => { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-base-filter.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-base-filter.utils.spec.ts similarity index 90% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-base-filter.utils.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-base-filter.utils.spec.ts index e74972311..d335485ab 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-base-filter.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-base-filter.utils.spec.ts @@ -1,4 +1,4 @@ -import { parseBaseFilter } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils'; +import { parseBaseFilter } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils'; describe('parseBaseFilter', () => { it('should parse simple filter string test 1', () => { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter-content.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter-content.utils.spec.ts similarity index 91% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter-content.utils.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter-content.utils.spec.ts index 9ca181b3a..fc08fc400 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter-content.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter-content.utils.spec.ts @@ -1,4 +1,4 @@ -import { parseFilterContent } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter-content.utils'; +import { parseFilterContent } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter-content.utils'; describe('parseFilterContent', () => { it('should parse query filter test 1', () => { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter.utils.spec.ts similarity index 85% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter.utils.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter.utils.spec.ts index 45b88a6a6..a5c36b91d 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/__tests__/parse-filter.utils.spec.ts @@ -1,12 +1,12 @@ -import { objectMetadataItem } from 'src/utils/utils-test/object-metadata-item'; -import { parseFilter } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils'; +import { objectMetadataItemMock } from 'src/engine/api/__mocks__/object-metadata-item.mock'; +import { parseFilter } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils'; describe('parseFilter', () => { it('should parse string filter test 1', () => { expect( parseFilter( 'and(fieldNumber[eq]:1,fieldNumber[eq]:2)', - objectMetadataItem, + objectMetadataItemMock, ), ).toEqual({ and: [{ fieldNumber: { eq: 1 } }, { fieldNumber: { eq: 2 } }], @@ -17,7 +17,7 @@ describe('parseFilter', () => { expect( parseFilter( 'and(fieldNumber[eq]:1,or(fieldNumber[eq]:2,fieldNumber[eq]:3))', - objectMetadataItem, + objectMetadataItemMock, ), ).toEqual({ and: [ @@ -31,7 +31,7 @@ describe('parseFilter', () => { expect( parseFilter( 'and(fieldNumber[eq]:1,or(fieldNumber[eq]:2,fieldNumber[eq]:3,and(fieldNumber[eq]:6,fieldNumber[eq]:7)),or(fieldNumber[eq]:4,fieldNumber[eq]:5))', - objectMetadataItem, + objectMetadataItemMock, ), ).toEqual({ and: [ @@ -52,7 +52,7 @@ describe('parseFilter', () => { expect( parseFilter( 'and(fieldString[gt]:"val,ue",or(fieldNumber[is]:NOT_NULL,not(fieldString[startsWith]:"val"),and(fieldNumber[eq]:6,fieldString[ilike]:"%val%")),or(fieldNumber[eq]:4,fieldString[is]:NULL))', - objectMetadataItem, + objectMetadataItemMock, ), ).toEqual({ and: [ @@ -78,7 +78,7 @@ describe('parseFilter', () => { expect( parseFilter( 'and(fieldNumber[eq]:1,not(fieldNumber[eq]:2))', - objectMetadataItem, + objectMetadataItemMock, ), ).toEqual({ and: [ diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils.ts similarity index 68% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils.ts index 2c9599d96..61606bb10 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils.ts @@ -1,4 +1,4 @@ -import { Conjunctions } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils'; +import { Conjunctions } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils'; export const DEFAULT_CONJUNCTION = Conjunctions.and; diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/check-filter-query.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/check-filter-query.utils.ts similarity index 100% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/check-filter-query.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/check-filter-query.utils.ts diff --git a/packages/twenty-server/src/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 similarity index 93% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils.ts index 442ecd777..5a7c1e976 100644 --- a/packages/twenty-server/src/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,7 +1,7 @@ import { BadRequestException } from '@nestjs/common'; import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { FieldValue } from 'src/api/rest/types/api-rest-field-value.type'; +import { FieldValue } from 'src/engine/api/rest/types/api-rest-field-value.type'; export const formatFieldValue = ( value: string, diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils.ts similarity index 100% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils.ts diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter-content.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter-content.utils.ts similarity index 100% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter-content.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter-content.utils.ts diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils.ts similarity index 71% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils.ts index 6eb4eeb88..3329d2c5d 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils.ts @@ -1,13 +1,13 @@ import { BadRequestException } from '@nestjs/common'; -import { parseFilterContent } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter-content.utils'; -import { parseBaseFilter } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils'; +import { parseFilterContent } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter-content.utils'; +import { parseBaseFilter } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils'; import { checkFields, getFieldType, -} from 'src/api/rest/api-rest-query-builder/utils/fields.utils'; -import { formatFieldValue } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils'; -import { FieldValue } from 'src/api/rest/types/api-rest-field-value.type'; +} from 'src/engine/api/rest/api-rest-query-builder/utils/fields.utils'; +import { formatFieldValue } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/format-field-values.utils'; +import { FieldValue } from 'src/engine/api/rest/types/api-rest-field-value.type'; export enum Conjunctions { or = 'or', diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory.ts similarity index 100% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/last-cursor-input.factory.ts diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory.ts similarity index 100% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/limit-input.factory.ts diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory.ts similarity index 91% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory.ts index 81d604129..56720b120 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory.ts @@ -5,9 +5,9 @@ import { Request } from 'express'; import { OrderByDirection, RecordOrderBy, -} from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +} from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; -import { checkFields } from 'src/api/rest/api-rest-query-builder/utils/fields.utils'; +import { checkFields } from 'src/engine/api/rest/api-rest-query-builder/utils/fields.utils'; export const DEFAULT_ORDER_DIRECTION = OrderByDirection.AscNullsFirst; diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/update-query.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/update-query.factory.ts similarity index 85% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/update-query.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/update-query.factory.ts index 05f964e21..e289c94f2 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/update-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/update-query.factory.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { capitalize } from 'src/utils/capitalize'; -import { mapFieldMetadataToGraphqlQuery } from 'src/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils'; +import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils'; @Injectable() export class UpdateQueryFactory { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/update-variables.factory.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/update-variables.factory.ts similarity index 69% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/factories/update-variables.factory.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/update-variables.factory.ts index ca38e0b94..2d1bca67e 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/factories/update-variables.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/factories/update-variables.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { ApiRestQueryVariables } from 'src/api/rest/types/api-rest-query-variables.type'; +import { ApiRestQueryVariables } from 'src/engine/api/rest/types/api-rest-query-variables.type'; @Injectable() export class UpdateVariablesFactory { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/compute-depth.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/compute-depth.utils.spec.ts similarity index 85% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/compute-depth.utils.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/compute-depth.utils.spec.ts index c5bd0f4e3..3fc57097f 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/compute-depth.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/compute-depth.utils.spec.ts @@ -1,4 +1,4 @@ -import { computeDepth } from 'src/api/rest/api-rest-query-builder/utils/compute-depth.utils'; +import { computeDepth } from 'src/engine/api/rest/api-rest-query-builder/utils/compute-depth.utils'; describe('computeDepth', () => { it('should compute depth from query', () => { diff --git a/packages/twenty-server/src/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 similarity index 50% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/fields.utils.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/fields.utils.spec.ts index 6a6049ba0..474a1a203 100644 --- a/packages/twenty-server/src/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 @@ -1,14 +1,14 @@ -import { objectMetadataItem } from 'src/utils/utils-test/object-metadata-item'; +import { objectMetadataItemMock } from 'src/engine/api/__mocks__/object-metadata-item.mock'; import { checkFields, getFieldType, -} from 'src/api/rest/api-rest-query-builder/utils/fields.utils'; +} from 'src/engine/api/rest/api-rest-query-builder/utils/fields.utils'; import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; describe('FieldUtils', () => { describe('getFieldType', () => { it('should get field type', () => { - expect(getFieldType(objectMetadataItem, 'fieldNumber')).toEqual( + expect(getFieldType(objectMetadataItemMock, 'fieldNumber')).toEqual( FieldMetadataType.NUMBER, ); }); @@ -17,13 +17,13 @@ describe('FieldUtils', () => { describe('checkFields', () => { it('should check field types', () => { expect(() => - checkFields(objectMetadataItem, ['fieldNumber']), + checkFields(objectMetadataItemMock, ['fieldNumber']), ).not.toThrow(); - expect(() => checkFields(objectMetadataItem, ['wrongField'])).toThrow(); + expect(() => checkFields(objectMetadataItemMock, ['wrongField'])).toThrow(); expect(() => - checkFields(objectMetadataItem, ['fieldNumber', 'wrongField']), + checkFields(objectMetadataItemMock, ['fieldNumber', 'wrongField']), ).toThrow(); }); }); diff --git a/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts new file mode 100644 index 000000000..fea18cb63 --- /dev/null +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts @@ -0,0 +1,37 @@ +import { + fieldCurrencyMock, + fieldLinkMock, + fieldNumberMock, + fieldStringMock, + objectMetadataItemMock, +} from 'src/engine/api/__mocks__/object-metadata-item.mock'; +import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils'; + +describe('mapFieldMetadataToGraphqlQuery', () => { + it('should map properly', () => { + expect( + mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldNumberMock), + ).toEqual('fieldNumber'); + expect( + mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldStringMock), + ).toEqual('fieldString'); + expect( + mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldLinkMock), + ).toEqual(` + fieldLink + { + label + url + } + `); + expect( + mapFieldMetadataToGraphqlQuery(objectMetadataItemMock, fieldCurrencyMock), + ).toEqual(` + fieldCurrency + { + amountMicros + currencyCode + } + `); + }); +}); diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/parse-path.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/parse-path.utils.spec.ts similarity index 82% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/parse-path.utils.spec.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/parse-path.utils.spec.ts index 36ff6de23..b81a46d5d 100644 --- a/packages/twenty-server/src/api/rest/api-rest-query-builder/utils/__tests__/parse-path.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/__tests__/parse-path.utils.spec.ts @@ -1,4 +1,4 @@ -import { parsePath } from 'src/api/rest/api-rest-query-builder/utils/parse-path.utils'; +import { parsePath } from 'src/engine/api/rest/api-rest-query-builder/utils/parse-path.utils'; describe('parsePath', () => { it('should parse object from request path', () => { diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/utils/compute-depth.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/compute-depth.utils.ts similarity index 100% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/utils/compute-depth.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/compute-depth.utils.ts diff --git a/packages/twenty-server/src/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 similarity index 90% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/utils/fields.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/fields.utils.ts index a9aca515c..13a28bb7c 100644 --- a/packages/twenty-server/src/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,7 +1,7 @@ import { BadRequestException } from '@nestjs/common'; import { FieldMetadataType } from 'src/engine-metadata/field-metadata/field-metadata.entity'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; export const getFieldType = ( objectMetadataItem, diff --git a/packages/twenty-server/src/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 similarity index 100% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/map-field-metadata-to-graphql-query.utils.ts diff --git a/packages/twenty-server/src/api/rest/api-rest-query-builder/utils/parse-path.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/parse-path.utils.ts similarity index 100% rename from packages/twenty-server/src/api/rest/api-rest-query-builder/utils/parse-path.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest-query-builder/utils/parse-path.utils.ts diff --git a/packages/twenty-server/src/api/rest/api-rest.controller.ts b/packages/twenty-server/src/engine/api/rest/api-rest.controller.ts similarity index 85% rename from packages/twenty-server/src/api/rest/api-rest.controller.ts rename to packages/twenty-server/src/engine/api/rest/api-rest.controller.ts index ffdd9ac36..f1eee2cc3 100644 --- a/packages/twenty-server/src/api/rest/api-rest.controller.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest.controller.ts @@ -2,8 +2,8 @@ import { Controller, Delete, Get, Post, Put, Req, Res } from '@nestjs/common'; import { Request, Response } from 'express'; -import { ApiRestService } from 'src/api/rest/api-rest.service'; -import { handleResult } from 'src/api/rest/api-rest.controller.utils'; +import { ApiRestService } from 'src/engine/api/rest/api-rest.service'; +import { handleResult } from 'src/engine/api/rest/api-rest.controller.utils'; @Controller('rest/*') export class ApiRestController { diff --git a/packages/twenty-server/src/api/rest/api-rest.controller.utils.ts b/packages/twenty-server/src/engine/api/rest/api-rest.controller.utils.ts similarity index 91% rename from packages/twenty-server/src/api/rest/api-rest.controller.utils.ts rename to packages/twenty-server/src/engine/api/rest/api-rest.controller.utils.ts index 5af175eb0..a45efb8a5 100644 --- a/packages/twenty-server/src/api/rest/api-rest.controller.utils.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest.controller.utils.ts @@ -1,6 +1,6 @@ import { Response } from 'express'; -import { ApiRestResponse } from 'src/api/rest/types/api-rest-response.type'; +import { ApiRestResponse } from 'src/engine/api/rest/types/api-rest-response.type'; // https://gist.github.com/ManUtopiK/469aec75b655d6a4d912aeb3b75af3c9 export const cleanGraphQLResponse = (input) => { 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 new file mode 100644 index 000000000..f064ac0cf --- /dev/null +++ b/packages/twenty-server/src/engine/api/rest/api-rest.module.ts @@ -0,0 +1,17 @@ +import { Module } from '@nestjs/common'; +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 { ApiRestMetadataController } from 'src/engine/api/rest/metadata-rest.controller'; +import { ApiRestMetadataService } from 'src/engine/api/rest/metadata-rest.service'; + +@Module({ + imports: [ApiRestQueryBuilderModule, AuthModule, HttpModule], + controllers: [ApiRestMetadataController, ApiRestController], + providers: [ApiRestMetadataService, ApiRestService], + exports: [ApiRestMetadataService], +}) +export class ApiRestModule {} diff --git a/packages/twenty-server/src/api/rest/api-rest.service.ts b/packages/twenty-server/src/engine/api/rest/api-rest.service.ts similarity index 85% rename from packages/twenty-server/src/api/rest/api-rest.service.ts rename to packages/twenty-server/src/engine/api/rest/api-rest.service.ts index 867c8c231..f5306b55e 100644 --- a/packages/twenty-server/src/api/rest/api-rest.service.ts +++ b/packages/twenty-server/src/engine/api/rest/api-rest.service.ts @@ -3,11 +3,11 @@ import { HttpService } from '@nestjs/axios'; import { Request } from 'express'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { ApiRestQueryBuilderFactory } from 'src/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; +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 { ApiRestResponse } from 'src/api/rest/types/api-rest-response.type'; -import { ApiRestQuery } from 'src/api/rest/types/api-rest-query.type'; +import { ApiRestResponse } from 'src/engine/api/rest/types/api-rest-response.type'; +import { ApiRestQuery } from 'src/engine/api/rest/types/api-rest-query.type'; @Injectable() export class ApiRestService { diff --git a/packages/twenty-server/src/api/rest/metadata-rest.controller.ts b/packages/twenty-server/src/engine/api/rest/metadata-rest.controller.ts similarity index 84% rename from packages/twenty-server/src/api/rest/metadata-rest.controller.ts rename to packages/twenty-server/src/engine/api/rest/metadata-rest.controller.ts index d6d1f6b02..ea9728b86 100644 --- a/packages/twenty-server/src/api/rest/metadata-rest.controller.ts +++ b/packages/twenty-server/src/engine/api/rest/metadata-rest.controller.ts @@ -2,8 +2,8 @@ import { Controller, Get, Delete, Post, Put, Req, Res } from '@nestjs/common'; import { Request, Response } from 'express'; -import { handleResult } from 'src/api/rest/api-rest.controller.utils'; -import { ApiRestMetadataService } from 'src/api/rest/metadata-rest.service'; +import { handleResult } from 'src/engine/api/rest/api-rest.controller.utils'; +import { ApiRestMetadataService } from 'src/engine/api/rest/metadata-rest.service'; @Controller('rest/metadata/*') export class ApiRestMetadataController { diff --git a/packages/twenty-server/src/api/rest/metadata-rest.service.ts b/packages/twenty-server/src/engine/api/rest/metadata-rest.service.ts similarity index 95% rename from packages/twenty-server/src/api/rest/metadata-rest.service.ts rename to packages/twenty-server/src/engine/api/rest/metadata-rest.service.ts index 2f83b08b2..4b460236d 100644 --- a/packages/twenty-server/src/api/rest/metadata-rest.service.ts +++ b/packages/twenty-server/src/engine/api/rest/metadata-rest.service.ts @@ -1,11 +1,11 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { HttpService } from '@nestjs/axios'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { ApiRestQueryBuilderFactory } from 'src/api/rest/api-rest-query-builder/api-rest-query-builder.factory'; -import { ApiRestQuery } from 'src/api/rest/types/api-rest-query.type'; +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 { parseMetadataPath } from 'src/api/rest/api-rest-query-builder/utils/parse-path.utils'; +import { parseMetadataPath } from 'src/engine/api/rest/api-rest-query-builder/utils/parse-path.utils'; import { capitalize } from 'src/utils/capitalize'; @Injectable() diff --git a/packages/twenty-server/src/api/rest/types/api-rest-field-value.type.ts b/packages/twenty-server/src/engine/api/rest/types/api-rest-field-value.type.ts similarity index 100% rename from packages/twenty-server/src/api/rest/types/api-rest-field-value.type.ts rename to packages/twenty-server/src/engine/api/rest/types/api-rest-field-value.type.ts diff --git a/packages/twenty-server/src/api/rest/types/api-rest-query-variables.type.ts b/packages/twenty-server/src/engine/api/rest/types/api-rest-query-variables.type.ts similarity index 100% rename from packages/twenty-server/src/api/rest/types/api-rest-query-variables.type.ts rename to packages/twenty-server/src/engine/api/rest/types/api-rest-query-variables.type.ts diff --git a/packages/twenty-server/src/api/rest/types/api-rest-query.type.ts b/packages/twenty-server/src/engine/api/rest/types/api-rest-query.type.ts similarity index 100% rename from packages/twenty-server/src/api/rest/types/api-rest-query.type.ts rename to packages/twenty-server/src/engine/api/rest/types/api-rest-query.type.ts diff --git a/packages/twenty-server/src/api/rest/types/api-rest-response.type.ts b/packages/twenty-server/src/engine/api/rest/types/api-rest-response.type.ts similarity index 100% rename from packages/twenty-server/src/api/rest/types/api-rest-response.type.ts rename to packages/twenty-server/src/engine/api/rest/types/api-rest-response.type.ts diff --git a/packages/twenty-server/src/engine/filters/utils/global-exception-handler.util.ts b/packages/twenty-server/src/engine/filters/utils/global-exception-handler.util.ts index 51739c32c..cae610a89 100644 --- a/packages/twenty-server/src/engine/filters/utils/global-exception-handler.util.ts +++ b/packages/twenty-server/src/engine/filters/utils/global-exception-handler.util.ts @@ -1,6 +1,6 @@ import { HttpException } from '@nestjs/common'; -import { ExceptionHandlerUser } from 'src/integrations/exception-handler/interfaces/exception-handler-user.interface'; +import { ExceptionHandlerUser } from 'src/engine/integrations/exception-handler/interfaces/exception-handler-user.interface'; import { AuthenticationError, @@ -10,7 +10,7 @@ import { NotFoundError, ConflictError, } from 'src/engine/filters/utils/graphql-errors.util'; -import { ExceptionHandlerService } from 'src/integrations/exception-handler/exception-handler.service'; +import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; const graphQLPredefinedExceptions = { 400: ValidationError, diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-builder/utils-test/workspace-query-builder-options.ts b/packages/twenty-server/src/engine/graphql/workspace-query-builder/utils-test/workspace-query-builder-options.ts deleted file mode 100644 index b57b755db..000000000 --- a/packages/twenty-server/src/engine/graphql/workspace-query-builder/utils-test/workspace-query-builder-options.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { GraphQLResolveInfo } from 'graphql'; - -import { ObjectMetadataInterface } from 'src/engine-metadata/field-metadata/interfaces/object-metadata.interface'; -import { WorkspaceQueryBuilderOptions } from 'src/engine/graphql/workspace-query-builder/interfaces/workspace-query-builder-options.interface'; - -import { objectMetadataItem } from 'src/utils/utils-test/object-metadata-item'; - -export const workspaceQueryBuilderOptions: WorkspaceQueryBuilderOptions = { - fieldMetadataCollection: [], - info: {} as GraphQLResolveInfo, - objectMetadataCollection: [], - objectMetadataItem: objectMetadataItem as ObjectMetadataInterface, -}; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.config.ts b/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.config.ts deleted file mode 100644 index b3adbf44a..000000000 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { MessageFindManyPreQueryHook } from 'src/business/modules/message/query-hooks/message/message-find-many.pre-query.hook'; -import { MessageFindOnePreQueryHook } from 'src/business/modules/message/query-hooks/message/message-find-one.pre-query-hook'; -import { WorkspaceQueryHook } from 'src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/types/workspace-query-hook.type'; - -// TODO: move to a decorator -export const workspacePreQueryHooks: WorkspaceQueryHook = { - message: { - findOne: [MessageFindOnePreQueryHook.name], - findMany: [MessageFindManyPreQueryHook.name], - }, -}; diff --git a/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module.ts b/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module.ts deleted file mode 100644 index a62b07812..000000000 --- a/packages/twenty-server/src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { MessagingQueryHookModule } from 'src/business/modules/message/query-hooks/messaging-query-hook.module'; -import { WorkspacePreQueryHookService } from 'src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.service'; - -@Module({ - imports: [MessagingQueryHookModule], - providers: [WorkspacePreQueryHookService], - exports: [WorkspacePreQueryHookService], -}) -export class WorkspacePreQueryHookModule {} diff --git a/packages/twenty-server/src/integrations/cache-storage/__tests__/cache-storage.service.spec.ts b/packages/twenty-server/src/engine/integrations/cache-storage/__tests__/cache-storage.service.spec.ts similarity index 90% rename from packages/twenty-server/src/integrations/cache-storage/__tests__/cache-storage.service.spec.ts rename to packages/twenty-server/src/engine/integrations/cache-storage/__tests__/cache-storage.service.spec.ts index c68233c5f..d8ee9c8a5 100644 --- a/packages/twenty-server/src/integrations/cache-storage/__tests__/cache-storage.service.spec.ts +++ b/packages/twenty-server/src/engine/integrations/cache-storage/__tests__/cache-storage.service.spec.ts @@ -1,7 +1,7 @@ import { Cache } from '@nestjs/cache-manager'; -import { CacheStorageService } from 'src/integrations/cache-storage/cache-storage.service'; -import { CacheStorageNamespace } from 'src/integrations/cache-storage/types/cache-storage-namespace.enum'; +import { CacheStorageService } from 'src/engine/integrations/cache-storage/cache-storage.service'; +import { CacheStorageNamespace } from 'src/engine/integrations/cache-storage/types/cache-storage-namespace.enum'; const cacheStorageNamespace = CacheStorageNamespace.Messaging; diff --git a/packages/twenty-server/src/integrations/cache-storage/cache-storage.module-factory.ts b/packages/twenty-server/src/engine/integrations/cache-storage/cache-storage.module-factory.ts similarity index 85% rename from packages/twenty-server/src/integrations/cache-storage/cache-storage.module-factory.ts rename to packages/twenty-server/src/engine/integrations/cache-storage/cache-storage.module-factory.ts index b6957c808..79dedaf6b 100644 --- a/packages/twenty-server/src/integrations/cache-storage/cache-storage.module-factory.ts +++ b/packages/twenty-server/src/engine/integrations/cache-storage/cache-storage.module-factory.ts @@ -2,8 +2,8 @@ import { CacheModuleOptions } from '@nestjs/common'; import { redisStore } from 'cache-manager-redis-yet'; -import { CacheStorageType } from 'src/integrations/cache-storage/types/cache-storage-type.enum'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { CacheStorageType } from 'src/engine/integrations/cache-storage/types/cache-storage-type.enum'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; export const cacheStorageModuleFactory = ( environmentService: EnvironmentService, diff --git a/packages/twenty-server/src/integrations/cache-storage/cache-storage.module.ts b/packages/twenty-server/src/engine/integrations/cache-storage/cache-storage.module.ts similarity index 65% rename from packages/twenty-server/src/integrations/cache-storage/cache-storage.module.ts rename to packages/twenty-server/src/engine/integrations/cache-storage/cache-storage.module.ts index 32c31e761..581919555 100644 --- a/packages/twenty-server/src/integrations/cache-storage/cache-storage.module.ts +++ b/packages/twenty-server/src/engine/integrations/cache-storage/cache-storage.module.ts @@ -2,10 +2,10 @@ import { Module, Global } from '@nestjs/common'; import { CacheModule, CACHE_MANAGER, Cache } from '@nestjs/cache-manager'; import { ConfigModule } from '@nestjs/config'; -import { CacheStorageService } from 'src/integrations/cache-storage/cache-storage.service'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { cacheStorageModuleFactory } from 'src/integrations/cache-storage/cache-storage.module-factory'; -import { CacheStorageNamespace } from 'src/integrations/cache-storage/types/cache-storage-namespace.enum'; +import { CacheStorageService } from 'src/engine/integrations/cache-storage/cache-storage.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; +import { cacheStorageModuleFactory } from 'src/engine/integrations/cache-storage/cache-storage.module-factory'; +import { CacheStorageNamespace } from 'src/engine/integrations/cache-storage/types/cache-storage-namespace.enum'; @Global() @Module({ diff --git a/packages/twenty-server/src/integrations/cache-storage/cache-storage.service.ts b/packages/twenty-server/src/engine/integrations/cache-storage/cache-storage.service.ts similarity index 85% rename from packages/twenty-server/src/integrations/cache-storage/cache-storage.service.ts rename to packages/twenty-server/src/engine/integrations/cache-storage/cache-storage.service.ts index fdc44ff1f..e0b6fba9a 100644 --- a/packages/twenty-server/src/integrations/cache-storage/cache-storage.service.ts +++ b/packages/twenty-server/src/engine/integrations/cache-storage/cache-storage.service.ts @@ -1,7 +1,7 @@ import { Inject, Injectable } from '@nestjs/common'; import { CACHE_MANAGER, Cache } from '@nestjs/cache-manager'; -import { CacheStorageNamespace } from 'src/integrations/cache-storage/types/cache-storage-namespace.enum'; +import { CacheStorageNamespace } from 'src/engine/integrations/cache-storage/types/cache-storage-namespace.enum'; @Injectable() export class CacheStorageService { diff --git a/packages/twenty-server/src/integrations/cache-storage/types/cache-storage-namespace.enum.ts b/packages/twenty-server/src/engine/integrations/cache-storage/types/cache-storage-namespace.enum.ts similarity index 100% rename from packages/twenty-server/src/integrations/cache-storage/types/cache-storage-namespace.enum.ts rename to packages/twenty-server/src/engine/integrations/cache-storage/types/cache-storage-namespace.enum.ts diff --git a/packages/twenty-server/src/integrations/cache-storage/types/cache-storage-type.enum.ts b/packages/twenty-server/src/engine/integrations/cache-storage/types/cache-storage-type.enum.ts similarity index 100% rename from packages/twenty-server/src/integrations/cache-storage/types/cache-storage-type.enum.ts rename to packages/twenty-server/src/engine/integrations/cache-storage/types/cache-storage-type.enum.ts diff --git a/packages/twenty-server/src/integrations/email/drivers/interfaces/email-driver.interface.ts b/packages/twenty-server/src/engine/integrations/email/drivers/interfaces/email-driver.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/email/drivers/interfaces/email-driver.interface.ts rename to packages/twenty-server/src/engine/integrations/email/drivers/interfaces/email-driver.interface.ts diff --git a/packages/twenty-server/src/integrations/email/drivers/logger.driver.ts b/packages/twenty-server/src/engine/integrations/email/drivers/logger.driver.ts similarity index 84% rename from packages/twenty-server/src/integrations/email/drivers/logger.driver.ts rename to packages/twenty-server/src/engine/integrations/email/drivers/logger.driver.ts index 90ca586b9..a3138de0b 100644 --- a/packages/twenty-server/src/integrations/email/drivers/logger.driver.ts +++ b/packages/twenty-server/src/engine/integrations/email/drivers/logger.driver.ts @@ -2,7 +2,7 @@ import { Logger } from '@nestjs/common'; import { SendMailOptions } from 'nodemailer'; -import { EmailDriver } from 'src/integrations/email/drivers/interfaces/email-driver.interface'; +import { EmailDriver } from 'src/engine/integrations/email/drivers/interfaces/email-driver.interface'; export class LoggerDriver implements EmailDriver { private readonly logger = new Logger(LoggerDriver.name); diff --git a/packages/twenty-server/src/integrations/email/drivers/smtp.driver.ts b/packages/twenty-server/src/engine/integrations/email/drivers/smtp.driver.ts similarity index 88% rename from packages/twenty-server/src/integrations/email/drivers/smtp.driver.ts rename to packages/twenty-server/src/engine/integrations/email/drivers/smtp.driver.ts index c4dfd77fb..94445854e 100644 --- a/packages/twenty-server/src/integrations/email/drivers/smtp.driver.ts +++ b/packages/twenty-server/src/engine/integrations/email/drivers/smtp.driver.ts @@ -3,7 +3,7 @@ import { Logger } from '@nestjs/common'; import { createTransport, Transporter, SendMailOptions } from 'nodemailer'; import SMTPConnection from 'nodemailer/lib/smtp-connection'; -import { EmailDriver } from 'src/integrations/email/drivers/interfaces/email-driver.interface'; +import { EmailDriver } from 'src/engine/integrations/email/drivers/interfaces/email-driver.interface'; export class SmtpDriver implements EmailDriver { private readonly logger = new Logger(SmtpDriver.name); diff --git a/packages/twenty-server/src/integrations/email/email-sender.job.ts b/packages/twenty-server/src/engine/integrations/email/email-sender.job.ts similarity index 64% rename from packages/twenty-server/src/integrations/email/email-sender.job.ts rename to packages/twenty-server/src/engine/integrations/email/email-sender.job.ts index 1162f4ca0..7b284d4b2 100644 --- a/packages/twenty-server/src/integrations/email/email-sender.job.ts +++ b/packages/twenty-server/src/engine/integrations/email/email-sender.job.ts @@ -2,9 +2,9 @@ import { Injectable } from '@nestjs/common'; import { SendMailOptions } from 'nodemailer'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { EmailSenderService } from 'src/integrations/email/email-sender.service'; +import { EmailSenderService } from 'src/engine/integrations/email/email-sender.service'; @Injectable() export class EmailSenderJob implements MessageQueueJob { diff --git a/packages/twenty-server/src/integrations/email/email-sender.service.ts b/packages/twenty-server/src/engine/integrations/email/email-sender.service.ts similarity index 66% rename from packages/twenty-server/src/integrations/email/email-sender.service.ts rename to packages/twenty-server/src/engine/integrations/email/email-sender.service.ts index 58b6c4a9c..96ec2196f 100644 --- a/packages/twenty-server/src/integrations/email/email-sender.service.ts +++ b/packages/twenty-server/src/engine/integrations/email/email-sender.service.ts @@ -2,9 +2,9 @@ import { Inject, Injectable } from '@nestjs/common'; import { SendMailOptions } from 'nodemailer'; -import { EmailDriver } from 'src/integrations/email/drivers/interfaces/email-driver.interface'; +import { EmailDriver } from 'src/engine/integrations/email/drivers/interfaces/email-driver.interface'; -import { EMAIL_DRIVER } from 'src/integrations/email/email.constants'; +import { EMAIL_DRIVER } from 'src/engine/integrations/email/email.constants'; @Injectable() export class EmailSenderService implements EmailDriver { diff --git a/packages/twenty-server/src/integrations/email/email.constants.ts b/packages/twenty-server/src/engine/integrations/email/email.constants.ts similarity index 100% rename from packages/twenty-server/src/integrations/email/email.constants.ts rename to packages/twenty-server/src/engine/integrations/email/email.constants.ts diff --git a/packages/twenty-server/src/integrations/email/email.module-factory.ts b/packages/twenty-server/src/engine/integrations/email/email.module-factory.ts similarity index 86% rename from packages/twenty-server/src/integrations/email/email.module-factory.ts rename to packages/twenty-server/src/engine/integrations/email/email.module-factory.ts index 6b9a52d1a..870f30db2 100644 --- a/packages/twenty-server/src/integrations/email/email.module-factory.ts +++ b/packages/twenty-server/src/engine/integrations/email/email.module-factory.ts @@ -1,9 +1,9 @@ import { EmailDriver, EmailModuleOptions, -} from 'src/integrations/email/interfaces/email.interface'; +} from 'src/engine/integrations/email/interfaces/email.interface'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; export const emailModuleFactory = ( environmentService: EnvironmentService, diff --git a/packages/twenty-server/src/integrations/email/email.module.ts b/packages/twenty-server/src/engine/integrations/email/email.module.ts similarity index 54% rename from packages/twenty-server/src/integrations/email/email.module.ts rename to packages/twenty-server/src/engine/integrations/email/email.module.ts index d18fa71fd..f97c246ab 100644 --- a/packages/twenty-server/src/integrations/email/email.module.ts +++ b/packages/twenty-server/src/engine/integrations/email/email.module.ts @@ -1,12 +1,12 @@ import { DynamicModule, Global } from '@nestjs/common'; -import { EmailModuleAsyncOptions } from 'src/integrations/email/interfaces/email.interface'; +import { EmailModuleAsyncOptions } from 'src/engine/integrations/email/interfaces/email.interface'; -import { EMAIL_DRIVER } from 'src/integrations/email/email.constants'; -import { LoggerDriver } from 'src/integrations/email/drivers/logger.driver'; -import { SmtpDriver } from 'src/integrations/email/drivers/smtp.driver'; -import { EmailService } from 'src/integrations/email/email.service'; -import { EmailSenderService } from 'src/integrations/email/email-sender.service'; +import { EMAIL_DRIVER } from 'src/engine/integrations/email/email.constants'; +import { LoggerDriver } from 'src/engine/integrations/email/drivers/logger.driver'; +import { SmtpDriver } from 'src/engine/integrations/email/drivers/smtp.driver'; +import { EmailService } from 'src/engine/integrations/email/email.service'; +import { EmailSenderService } from 'src/engine/integrations/email/email-sender.service'; @Global() export class EmailModule { diff --git a/packages/twenty-server/src/integrations/email/email.service.ts b/packages/twenty-server/src/engine/integrations/email/email.service.ts similarity index 62% rename from packages/twenty-server/src/integrations/email/email.service.ts rename to packages/twenty-server/src/engine/integrations/email/email.service.ts index 8963ce74d..a149c7802 100644 --- a/packages/twenty-server/src/integrations/email/email.service.ts +++ b/packages/twenty-server/src/engine/integrations/email/email.service.ts @@ -2,9 +2,9 @@ import { Inject, Injectable } from '@nestjs/common'; import { SendMailOptions } from 'nodemailer'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { EmailSenderJob } from 'src/integrations/email/email-sender.job'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; +import { EmailSenderJob } from 'src/engine/integrations/email/email-sender.job'; @Injectable() export class EmailService { diff --git a/packages/twenty-server/src/integrations/email/interfaces/email.interface.ts b/packages/twenty-server/src/engine/integrations/email/interfaces/email.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/email/interfaces/email.interface.ts rename to packages/twenty-server/src/engine/integrations/email/interfaces/email.interface.ts diff --git a/packages/twenty-server/src/integrations/environment/decorators/__tests__/cast-to-log-level-array.decorator.spec.ts b/packages/twenty-server/src/engine/integrations/environment/decorators/__tests__/cast-to-log-level-array.decorator.spec.ts similarity index 94% rename from packages/twenty-server/src/integrations/environment/decorators/__tests__/cast-to-log-level-array.decorator.spec.ts rename to packages/twenty-server/src/engine/integrations/environment/decorators/__tests__/cast-to-log-level-array.decorator.spec.ts index 26ba667e4..43447e2de 100644 --- a/packages/twenty-server/src/integrations/environment/decorators/__tests__/cast-to-log-level-array.decorator.spec.ts +++ b/packages/twenty-server/src/engine/integrations/environment/decorators/__tests__/cast-to-log-level-array.decorator.spec.ts @@ -1,6 +1,6 @@ import { plainToClass } from 'class-transformer'; -import { CastToLogLevelArray } from 'src/integrations/environment/decorators/cast-to-log-level-array.decorator'; +import { CastToLogLevelArray } from 'src/engine/integrations/environment/decorators/cast-to-log-level-array.decorator'; class TestClass { @CastToLogLevelArray() diff --git a/packages/twenty-server/src/integrations/environment/decorators/__tests__/cast-to-positive-number.decorator.spec.ts b/packages/twenty-server/src/engine/integrations/environment/decorators/__tests__/cast-to-positive-number.decorator.spec.ts similarity index 92% rename from packages/twenty-server/src/integrations/environment/decorators/__tests__/cast-to-positive-number.decorator.spec.ts rename to packages/twenty-server/src/engine/integrations/environment/decorators/__tests__/cast-to-positive-number.decorator.spec.ts index b82940493..f3f77fb4c 100644 --- a/packages/twenty-server/src/integrations/environment/decorators/__tests__/cast-to-positive-number.decorator.spec.ts +++ b/packages/twenty-server/src/engine/integrations/environment/decorators/__tests__/cast-to-positive-number.decorator.spec.ts @@ -1,6 +1,6 @@ import { plainToClass } from 'class-transformer'; -import { CastToPositiveNumber } from 'src/integrations/environment/decorators/cast-to-positive-number.decorator'; +import { CastToPositiveNumber } from 'src/engine/integrations/environment/decorators/cast-to-positive-number.decorator'; class TestClass { @CastToPositiveNumber() diff --git a/packages/twenty-server/src/integrations/environment/decorators/cast-to-boolean.decorator.ts b/packages/twenty-server/src/engine/integrations/environment/decorators/cast-to-boolean.decorator.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/decorators/cast-to-boolean.decorator.ts rename to packages/twenty-server/src/engine/integrations/environment/decorators/cast-to-boolean.decorator.ts diff --git a/packages/twenty-server/src/integrations/environment/decorators/cast-to-log-level-array.decorator.ts b/packages/twenty-server/src/engine/integrations/environment/decorators/cast-to-log-level-array.decorator.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/decorators/cast-to-log-level-array.decorator.ts rename to packages/twenty-server/src/engine/integrations/environment/decorators/cast-to-log-level-array.decorator.ts diff --git a/packages/twenty-server/src/integrations/environment/decorators/cast-to-positive-number.decorator.ts b/packages/twenty-server/src/engine/integrations/environment/decorators/cast-to-positive-number.decorator.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/decorators/cast-to-positive-number.decorator.ts rename to packages/twenty-server/src/engine/integrations/environment/decorators/cast-to-positive-number.decorator.ts diff --git a/packages/twenty-server/src/integrations/environment/decorators/cast-to-string-array.decorator.ts b/packages/twenty-server/src/engine/integrations/environment/decorators/cast-to-string-array.decorator.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/decorators/cast-to-string-array.decorator.ts rename to packages/twenty-server/src/engine/integrations/environment/decorators/cast-to-string-array.decorator.ts diff --git a/packages/twenty-server/src/integrations/environment/decorators/is-aws-region.decorator.ts b/packages/twenty-server/src/engine/integrations/environment/decorators/is-aws-region.decorator.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/decorators/is-aws-region.decorator.ts rename to packages/twenty-server/src/engine/integrations/environment/decorators/is-aws-region.decorator.ts diff --git a/packages/twenty-server/src/integrations/environment/decorators/is-duration.decorator.ts b/packages/twenty-server/src/engine/integrations/environment/decorators/is-duration.decorator.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/decorators/is-duration.decorator.ts rename to packages/twenty-server/src/engine/integrations/environment/decorators/is-duration.decorator.ts diff --git a/packages/twenty-server/src/integrations/environment/decorators/is-strictly-lower-than.decorator.ts b/packages/twenty-server/src/engine/integrations/environment/decorators/is-strictly-lower-than.decorator.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/decorators/is-strictly-lower-than.decorator.ts rename to packages/twenty-server/src/engine/integrations/environment/decorators/is-strictly-lower-than.decorator.ts diff --git a/packages/twenty-server/src/integrations/environment/environment-variables.ts b/packages/twenty-server/src/engine/integrations/environment/environment-variables.ts similarity index 91% rename from packages/twenty-server/src/integrations/environment/environment-variables.ts rename to packages/twenty-server/src/engine/integrations/environment/environment-variables.ts index 7aad5e722..62cc97c89 100644 --- a/packages/twenty-server/src/integrations/environment/environment-variables.ts +++ b/packages/twenty-server/src/engine/integrations/environment/environment-variables.ts @@ -13,14 +13,14 @@ import { IsDefined, } from 'class-validator'; -import { EmailDriver } from 'src/integrations/email/interfaces/email.interface'; +import { EmailDriver } from 'src/engine/integrations/email/interfaces/email.interface'; import { assert } from 'src/utils/assert'; -import { CastToStringArray } from 'src/integrations/environment/decorators/cast-to-string-array.decorator'; -import { ExceptionHandlerDriver } from 'src/integrations/exception-handler/interfaces'; -import { StorageDriverType } from 'src/integrations/file-storage/interfaces'; -import { LoggerDriverType } from 'src/integrations/logger/interfaces'; -import { IsStrictlyLowerThan } from 'src/integrations/environment/decorators/is-strictly-lower-than.decorator'; +import { CastToStringArray } from 'src/engine/integrations/environment/decorators/cast-to-string-array.decorator'; +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 { IsStrictlyLowerThan } from 'src/engine/integrations/environment/decorators/is-strictly-lower-than.decorator'; import { IsDuration } from './decorators/is-duration.decorator'; import { AwsRegion } from './interfaces/aws-region.interface'; diff --git a/packages/twenty-server/src/integrations/environment/environment.default.ts b/packages/twenty-server/src/engine/integrations/environment/environment.default.ts similarity index 84% rename from packages/twenty-server/src/integrations/environment/environment.default.ts rename to packages/twenty-server/src/engine/integrations/environment/environment.default.ts index 18dea0084..9c724584d 100644 --- a/packages/twenty-server/src/integrations/environment/environment.default.ts +++ b/packages/twenty-server/src/engine/integrations/environment/environment.default.ts @@ -1,11 +1,11 @@ -import { EmailDriver } from 'src/integrations/email/interfaces/email.interface'; -import { SupportDriver } from 'src/integrations/environment/interfaces/support.interface'; +import { EmailDriver } from 'src/engine/integrations/email/interfaces/email.interface'; +import { SupportDriver } from 'src/engine/integrations/environment/interfaces/support.interface'; -import { ExceptionHandlerDriver } from 'src/integrations/exception-handler/interfaces'; -import { StorageDriverType } from 'src/integrations/file-storage/interfaces'; -import { LoggerDriverType } from 'src/integrations/logger/interfaces'; -import { MessageQueueDriverType } from 'src/integrations/message-queue/interfaces'; -import { EnvironmentVariables } from 'src/integrations/environment/environment-variables'; +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(); diff --git a/packages/twenty-server/src/integrations/environment/environment.module-definition.ts b/packages/twenty-server/src/engine/integrations/environment/environment.module-definition.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/environment.module-definition.ts rename to packages/twenty-server/src/engine/integrations/environment/environment.module-definition.ts diff --git a/packages/twenty-server/src/integrations/environment/environment.module.ts b/packages/twenty-server/src/engine/integrations/environment/environment.module.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/environment.module.ts rename to packages/twenty-server/src/engine/integrations/environment/environment.module.ts diff --git a/packages/twenty-server/src/integrations/environment/environment.service.spec.ts b/packages/twenty-server/src/engine/integrations/environment/environment.service.spec.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/environment.service.spec.ts rename to packages/twenty-server/src/engine/integrations/environment/environment.service.spec.ts diff --git a/packages/twenty-server/src/integrations/environment/environment.service.ts b/packages/twenty-server/src/engine/integrations/environment/environment.service.ts similarity index 86% rename from packages/twenty-server/src/integrations/environment/environment.service.ts rename to packages/twenty-server/src/engine/integrations/environment/environment.service.ts index 2dc8d48c7..275671a05 100644 --- a/packages/twenty-server/src/integrations/environment/environment.service.ts +++ b/packages/twenty-server/src/engine/integrations/environment/environment.service.ts @@ -4,8 +4,8 @@ import { ConfigService } from '@nestjs/config'; import { Request } from 'express'; -import { EnvironmentVariables } from 'src/integrations/environment/environment-variables'; -import { EnvironmentDefault } from 'src/integrations/environment/environment.default'; +import { EnvironmentVariables } from 'src/engine/integrations/environment/environment-variables'; +import { EnvironmentDefault } from 'src/engine/integrations/environment/environment.default'; @Injectable() export class EnvironmentService { diff --git a/packages/twenty-server/src/integrations/environment/interfaces/aws-region.interface.ts b/packages/twenty-server/src/engine/integrations/environment/interfaces/aws-region.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/interfaces/aws-region.interface.ts rename to packages/twenty-server/src/engine/integrations/environment/interfaces/aws-region.interface.ts diff --git a/packages/twenty-server/src/integrations/environment/interfaces/support.interface.ts b/packages/twenty-server/src/engine/integrations/environment/interfaces/support.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/environment/interfaces/support.interface.ts rename to packages/twenty-server/src/engine/integrations/environment/interfaces/support.interface.ts diff --git a/packages/twenty-server/src/integrations/event-emitter/types/object-record-create.event.ts b/packages/twenty-server/src/engine/integrations/event-emitter/types/object-record-create.event.ts similarity index 100% rename from packages/twenty-server/src/integrations/event-emitter/types/object-record-create.event.ts rename to packages/twenty-server/src/engine/integrations/event-emitter/types/object-record-create.event.ts diff --git a/packages/twenty-server/src/integrations/event-emitter/types/object-record-delete.event.ts b/packages/twenty-server/src/engine/integrations/event-emitter/types/object-record-delete.event.ts similarity index 100% rename from packages/twenty-server/src/integrations/event-emitter/types/object-record-delete.event.ts rename to packages/twenty-server/src/engine/integrations/event-emitter/types/object-record-delete.event.ts diff --git a/packages/twenty-server/src/integrations/event-emitter/types/object-record-update.event.ts b/packages/twenty-server/src/engine/integrations/event-emitter/types/object-record-update.event.ts similarity index 100% rename from packages/twenty-server/src/integrations/event-emitter/types/object-record-update.event.ts rename to packages/twenty-server/src/engine/integrations/event-emitter/types/object-record-update.event.ts diff --git a/packages/twenty-server/src/integrations/event-emitter/utils/object-record-changed-properties.util.ts b/packages/twenty-server/src/engine/integrations/event-emitter/utils/object-record-changed-properties.util.ts similarity index 100% rename from packages/twenty-server/src/integrations/event-emitter/utils/object-record-changed-properties.util.ts rename to packages/twenty-server/src/engine/integrations/event-emitter/utils/object-record-changed-properties.util.ts diff --git a/packages/twenty-server/src/integrations/exception-handler/exception-handler.service.spec.ts b/packages/twenty-server/src/engine/integrations/exception-handler/__tests__/exception-handler.service.spec.ts similarity index 71% rename from packages/twenty-server/src/integrations/exception-handler/exception-handler.service.spec.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/__tests__/exception-handler.service.spec.ts index f9d1e19b9..bae07ba64 100644 --- a/packages/twenty-server/src/integrations/exception-handler/exception-handler.service.spec.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/__tests__/exception-handler.service.spec.ts @@ -1,8 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { ExceptionHandlerService } from 'src/integrations/exception-handler/exception-handler.service'; - -import { EXCEPTION_HANDLER_DRIVER } from './exception-handler.constants'; +import { EXCEPTION_HANDLER_DRIVER } from 'src/engine/integrations/exception-handler/exception-handler.constants'; +import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; describe('ExceptionHandlerService', () => { let service: ExceptionHandlerService; diff --git a/packages/twenty-server/src/integrations/exception-handler/drivers/console.driver.ts b/packages/twenty-server/src/engine/integrations/exception-handler/drivers/console.driver.ts similarity index 59% rename from packages/twenty-server/src/integrations/exception-handler/drivers/console.driver.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/drivers/console.driver.ts index cd38ef827..9f60db644 100644 --- a/packages/twenty-server/src/integrations/exception-handler/drivers/console.driver.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/drivers/console.driver.ts @@ -1,7 +1,7 @@ -import { ExceptionHandlerUser } from 'src/integrations/exception-handler/interfaces/exception-handler-user.interface'; -import { ExceptionHandlerOptions } from 'src/integrations/exception-handler/interfaces/exception-handler-options.interface'; +import { ExceptionHandlerUser } from 'src/engine/integrations/exception-handler/interfaces/exception-handler-user.interface'; +import { ExceptionHandlerOptions } from 'src/engine/integrations/exception-handler/interfaces/exception-handler-options.interface'; -import { ExceptionHandlerDriverInterface } from 'src/integrations/exception-handler/interfaces'; +import { ExceptionHandlerDriverInterface } from 'src/engine/integrations/exception-handler/interfaces'; export class ExceptionHandlerConsoleDriver implements ExceptionHandlerDriverInterface diff --git a/packages/twenty-server/src/integrations/exception-handler/drivers/sentry.driver.ts b/packages/twenty-server/src/engine/integrations/exception-handler/drivers/sentry.driver.ts similarity index 90% rename from packages/twenty-server/src/integrations/exception-handler/drivers/sentry.driver.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/drivers/sentry.driver.ts index 81a5fb434..fb8e1e2d6 100644 --- a/packages/twenty-server/src/integrations/exception-handler/drivers/sentry.driver.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/drivers/sentry.driver.ts @@ -1,13 +1,13 @@ import * as Sentry from '@sentry/node'; import { ProfilingIntegration } from '@sentry/profiling-node'; -import { ExceptionHandlerUser } from 'src/integrations/exception-handler/interfaces/exception-handler-user.interface'; -import { ExceptionHandlerOptions } from 'src/integrations/exception-handler/interfaces/exception-handler-options.interface'; +import { ExceptionHandlerUser } from 'src/engine/integrations/exception-handler/interfaces/exception-handler-user.interface'; +import { ExceptionHandlerOptions } from 'src/engine/integrations/exception-handler/interfaces/exception-handler-options.interface'; import { ExceptionHandlerDriverInterface, ExceptionHandlerSentryDriverFactoryOptions, -} from 'src/integrations/exception-handler/interfaces'; +} from 'src/engine/integrations/exception-handler/interfaces'; export class ExceptionHandlerSentryDriver implements ExceptionHandlerDriverInterface diff --git a/packages/twenty-server/src/integrations/exception-handler/exception-handler.constants.ts b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.constants.ts similarity index 100% rename from packages/twenty-server/src/integrations/exception-handler/exception-handler.constants.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.constants.ts diff --git a/packages/twenty-server/src/integrations/exception-handler/exception-handler.module-definition.ts b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-definition.ts similarity index 100% rename from packages/twenty-server/src/integrations/exception-handler/exception-handler.module-definition.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-definition.ts diff --git a/packages/twenty-server/src/integrations/exception-handler/exception-handler.module-factory.ts b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-factory.ts similarity index 77% rename from packages/twenty-server/src/integrations/exception-handler/exception-handler.module-factory.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-factory.ts index 0b08aebd3..70a4f4546 100644 --- a/packages/twenty-server/src/integrations/exception-handler/exception-handler.module-factory.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module-factory.ts @@ -1,8 +1,8 @@ import { HttpAdapterHost } from '@nestjs/core'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { OPTIONS_TYPE } from 'src/integrations/exception-handler/exception-handler.module-definition'; -import { ExceptionHandlerDriver } from 'src/integrations/exception-handler/interfaces'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; +import { OPTIONS_TYPE } from 'src/engine/integrations/exception-handler/exception-handler.module-definition'; +import { ExceptionHandlerDriver } from 'src/engine/integrations/exception-handler/interfaces'; /** * ExceptionHandler Module factory diff --git a/packages/twenty-server/src/integrations/exception-handler/exception-handler.module.ts b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module.ts similarity index 88% rename from packages/twenty-server/src/integrations/exception-handler/exception-handler.module.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module.ts index e1221bcd2..8c4ae87a8 100644 --- a/packages/twenty-server/src/integrations/exception-handler/exception-handler.module.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.module.ts @@ -1,7 +1,7 @@ import { DynamicModule, Global, Module } from '@nestjs/common'; -import { ExceptionHandlerSentryDriver } from 'src/integrations/exception-handler/drivers/sentry.driver'; -import { ExceptionHandlerConsoleDriver } from 'src/integrations/exception-handler/drivers/console.driver'; +import { ExceptionHandlerSentryDriver } from 'src/engine/integrations/exception-handler/drivers/sentry.driver'; +import { ExceptionHandlerConsoleDriver } from 'src/engine/integrations/exception-handler/drivers/console.driver'; import { ExceptionHandlerService } from './exception-handler.service'; import { ExceptionHandlerDriver } from './interfaces'; diff --git a/packages/twenty-server/src/integrations/exception-handler/exception-handler.service.ts b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.service.ts similarity index 53% rename from packages/twenty-server/src/integrations/exception-handler/exception-handler.service.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.service.ts index 3dc02cad8..ac46ae346 100644 --- a/packages/twenty-server/src/integrations/exception-handler/exception-handler.service.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.service.ts @@ -1,9 +1,9 @@ import { Inject, Injectable } from '@nestjs/common'; -import { ExceptionHandlerOptions } from 'src/integrations/exception-handler/interfaces/exception-handler-options.interface'; +import { ExceptionHandlerOptions } from 'src/engine/integrations/exception-handler/interfaces/exception-handler-options.interface'; -import { ExceptionHandlerDriverInterface } from 'src/integrations/exception-handler/interfaces'; -import { EXCEPTION_HANDLER_DRIVER } from 'src/integrations/exception-handler/exception-handler.constants'; +import { ExceptionHandlerDriverInterface } from 'src/engine/integrations/exception-handler/interfaces'; +import { EXCEPTION_HANDLER_DRIVER } from 'src/engine/integrations/exception-handler/exception-handler.constants'; @Injectable() export class ExceptionHandlerService { diff --git a/packages/twenty-server/src/integrations/exception-handler/hooks/use-exception-handler.hook.ts b/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-exception-handler.hook.ts similarity index 97% rename from packages/twenty-server/src/integrations/exception-handler/hooks/use-exception-handler.hook.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-exception-handler.hook.ts index 0ab641fec..76212baca 100644 --- a/packages/twenty-server/src/integrations/exception-handler/hooks/use-exception-handler.hook.ts +++ b/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-exception-handler.hook.ts @@ -8,7 +8,7 @@ import { import { GraphQLContext } from 'src/engine-graphql-config/interfaces/graphql-context.interface'; -import { ExceptionHandlerService } from 'src/integrations/exception-handler/exception-handler.service'; +import { ExceptionHandlerService } from 'src/engine/integrations/exception-handler/exception-handler.service'; import { convertExceptionToGraphQLError, filterException, diff --git a/packages/twenty-server/src/integrations/tracing/useSentryTracing.ts b/packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-sentry-tracing.ts similarity index 100% rename from packages/twenty-server/src/integrations/tracing/useSentryTracing.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/hooks/use-sentry-tracing.ts diff --git a/packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler-driver.interface.ts b/packages/twenty-server/src/engine/integrations/exception-handler/interfaces/exception-handler-driver.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler-driver.interface.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/interfaces/exception-handler-driver.interface.ts diff --git a/packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler-options.interface.ts b/packages/twenty-server/src/engine/integrations/exception-handler/interfaces/exception-handler-options.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler-options.interface.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/interfaces/exception-handler-options.interface.ts diff --git a/packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler-user.interface.ts b/packages/twenty-server/src/engine/integrations/exception-handler/interfaces/exception-handler-user.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler-user.interface.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/interfaces/exception-handler-user.interface.ts diff --git a/packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler.interface.ts b/packages/twenty-server/src/engine/integrations/exception-handler/interfaces/exception-handler.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/exception-handler/interfaces/exception-handler.interface.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/interfaces/exception-handler.interface.ts diff --git a/packages/twenty-server/src/integrations/exception-handler/interfaces/index.ts b/packages/twenty-server/src/engine/integrations/exception-handler/interfaces/index.ts similarity index 100% rename from packages/twenty-server/src/integrations/exception-handler/interfaces/index.ts rename to packages/twenty-server/src/engine/integrations/exception-handler/interfaces/index.ts diff --git a/packages/twenty-server/src/integrations/file-storage/file-storage.service.spec.ts b/packages/twenty-server/src/engine/integrations/file-storage/__tests__/file-storage.service.spec.ts similarity index 73% rename from packages/twenty-server/src/integrations/file-storage/file-storage.service.spec.ts rename to packages/twenty-server/src/engine/integrations/file-storage/__tests__/file-storage.service.spec.ts index cc30e564b..4ef268cf6 100644 --- a/packages/twenty-server/src/integrations/file-storage/file-storage.service.spec.ts +++ b/packages/twenty-server/src/engine/integrations/file-storage/__tests__/file-storage.service.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { FileStorageService } from './file-storage.service'; -import { STORAGE_DRIVER } from './file-storage.constants'; +import { STORAGE_DRIVER } from 'src/engine/integrations/file-storage/file-storage.constants'; +import { FileStorageService } from 'src/engine/integrations/file-storage/file-storage.service'; describe('FileStorageService', () => { let service: FileStorageService; diff --git a/packages/twenty-server/src/integrations/file-storage/drivers/interfaces/storage-driver.interface.ts b/packages/twenty-server/src/engine/integrations/file-storage/drivers/interfaces/storage-driver.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/file-storage/drivers/interfaces/storage-driver.interface.ts rename to packages/twenty-server/src/engine/integrations/file-storage/drivers/interfaces/storage-driver.interface.ts diff --git a/packages/twenty-server/src/integrations/file-storage/drivers/local.driver.ts b/packages/twenty-server/src/engine/integrations/file-storage/drivers/local.driver.ts similarity index 100% rename from packages/twenty-server/src/integrations/file-storage/drivers/local.driver.ts rename to packages/twenty-server/src/engine/integrations/file-storage/drivers/local.driver.ts diff --git a/packages/twenty-server/src/integrations/file-storage/drivers/s3.driver.ts b/packages/twenty-server/src/engine/integrations/file-storage/drivers/s3.driver.ts similarity index 100% rename from packages/twenty-server/src/integrations/file-storage/drivers/s3.driver.ts rename to packages/twenty-server/src/engine/integrations/file-storage/drivers/s3.driver.ts diff --git a/packages/twenty-server/src/integrations/file-storage/file-storage.constants.ts b/packages/twenty-server/src/engine/integrations/file-storage/file-storage.constants.ts similarity index 100% rename from packages/twenty-server/src/integrations/file-storage/file-storage.constants.ts rename to packages/twenty-server/src/engine/integrations/file-storage/file-storage.constants.ts diff --git a/packages/twenty-server/src/integrations/file-storage/file-storage.module-definition.ts b/packages/twenty-server/src/engine/integrations/file-storage/file-storage.module-definition.ts similarity index 100% rename from packages/twenty-server/src/integrations/file-storage/file-storage.module-definition.ts rename to packages/twenty-server/src/engine/integrations/file-storage/file-storage.module-definition.ts diff --git a/packages/twenty-server/src/integrations/file-storage/file-storage.module-factory.ts b/packages/twenty-server/src/engine/integrations/file-storage/file-storage.module-factory.ts similarity index 90% rename from packages/twenty-server/src/integrations/file-storage/file-storage.module-factory.ts rename to packages/twenty-server/src/engine/integrations/file-storage/file-storage.module-factory.ts index 22c1ee1af..fc625ce89 100644 --- a/packages/twenty-server/src/integrations/file-storage/file-storage.module-factory.ts +++ b/packages/twenty-server/src/engine/integrations/file-storage/file-storage.module-factory.ts @@ -1,10 +1,10 @@ import { fromNodeProviderChain } from '@aws-sdk/credential-providers'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { FileStorageModuleOptions, StorageDriverType, -} from 'src/integrations/file-storage/interfaces'; +} from 'src/engine/integrations/file-storage/interfaces'; /** * FileStorage Module factory diff --git a/packages/twenty-server/src/integrations/file-storage/file-storage.module.ts b/packages/twenty-server/src/engine/integrations/file-storage/file-storage.module.ts similarity index 100% rename from packages/twenty-server/src/integrations/file-storage/file-storage.module.ts rename to packages/twenty-server/src/engine/integrations/file-storage/file-storage.module.ts diff --git a/packages/twenty-server/src/integrations/file-storage/file-storage.service.ts b/packages/twenty-server/src/engine/integrations/file-storage/file-storage.service.ts similarity index 100% rename from packages/twenty-server/src/integrations/file-storage/file-storage.service.ts rename to packages/twenty-server/src/engine/integrations/file-storage/file-storage.service.ts diff --git a/packages/twenty-server/src/integrations/file-storage/interfaces/file-storage.interface.ts b/packages/twenty-server/src/engine/integrations/file-storage/interfaces/file-storage.interface.ts similarity index 78% rename from packages/twenty-server/src/integrations/file-storage/interfaces/file-storage.interface.ts rename to packages/twenty-server/src/engine/integrations/file-storage/interfaces/file-storage.interface.ts index 81151323a..9d85a83ec 100644 --- a/packages/twenty-server/src/integrations/file-storage/interfaces/file-storage.interface.ts +++ b/packages/twenty-server/src/engine/integrations/file-storage/interfaces/file-storage.interface.ts @@ -1,7 +1,7 @@ import { FactoryProvider, ModuleMetadata } from '@nestjs/common'; -import { S3DriverOptions } from 'src/integrations/file-storage/drivers/s3.driver'; -import { LocalDriverOptions } from 'src/integrations/file-storage/drivers/local.driver'; +import { S3DriverOptions } from 'src/engine/integrations/file-storage/drivers/s3.driver'; +import { LocalDriverOptions } from 'src/engine/integrations/file-storage/drivers/local.driver'; export enum StorageDriverType { S3 = 's3', diff --git a/packages/twenty-server/src/integrations/file-storage/interfaces/index.ts b/packages/twenty-server/src/engine/integrations/file-storage/interfaces/index.ts similarity index 100% rename from packages/twenty-server/src/integrations/file-storage/interfaces/index.ts rename to packages/twenty-server/src/engine/integrations/file-storage/interfaces/index.ts diff --git a/packages/twenty-server/src/integrations/integrations.module.ts b/packages/twenty-server/src/engine/integrations/integrations.module.ts similarity index 62% rename from packages/twenty-server/src/integrations/integrations.module.ts rename to packages/twenty-server/src/engine/integrations/integrations.module.ts index 04f23918e..0f056fdf9 100644 --- a/packages/twenty-server/src/integrations/integrations.module.ts +++ b/packages/twenty-server/src/engine/integrations/integrations.module.ts @@ -2,14 +2,14 @@ import { Module } from '@nestjs/common'; import { HttpAdapterHost } from '@nestjs/core'; import { EventEmitterModule } from '@nestjs/event-emitter'; -import { ExceptionHandlerModule } from 'src/integrations/exception-handler/exception-handler.module'; -import { exceptionHandlerModuleFactory } from 'src/integrations/exception-handler/exception-handler.module-factory'; -import { fileStorageModuleFactory } from 'src/integrations/file-storage/file-storage.module-factory'; -import { loggerModuleFactory } from 'src/integrations/logger/logger.module-factory'; -import { messageQueueModuleFactory } from 'src/integrations/message-queue/message-queue.module-factory'; -import { EmailModule } from 'src/integrations/email/email.module'; -import { emailModuleFactory } from 'src/integrations/email/email.module-factory'; -import { CacheStorageModule } from 'src/integrations/cache-storage/cache-storage.module'; +import { ExceptionHandlerModule } from 'src/engine/integrations/exception-handler/exception-handler.module'; +import { exceptionHandlerModuleFactory } from 'src/engine/integrations/exception-handler/exception-handler.module-factory'; +import { fileStorageModuleFactory } from 'src/engine/integrations/file-storage/file-storage.module-factory'; +import { loggerModuleFactory } from 'src/engine/integrations/logger/logger.module-factory'; +import { messageQueueModuleFactory } from 'src/engine/integrations/message-queue/message-queue.module-factory'; +import { EmailModule } from 'src/engine/integrations/email/email.module'; +import { emailModuleFactory } from 'src/engine/integrations/email/email.module-factory'; +import { CacheStorageModule } from 'src/engine/integrations/cache-storage/cache-storage.module'; import { EnvironmentModule } from './environment/environment.module'; import { EnvironmentService } from './environment/environment.service'; diff --git a/packages/twenty-server/src/integrations/logger/logger.service.spec.ts b/packages/twenty-server/src/engine/integrations/logger/__tests__/logger.service.spec.ts similarity index 76% rename from packages/twenty-server/src/integrations/logger/logger.service.spec.ts rename to packages/twenty-server/src/engine/integrations/logger/__tests__/logger.service.spec.ts index 319e2a46d..b5d6f94c8 100644 --- a/packages/twenty-server/src/integrations/logger/logger.service.spec.ts +++ b/packages/twenty-server/src/engine/integrations/logger/__tests__/logger.service.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { LoggerService } from './logger.service'; -import { LOGGER_DRIVER } from './logger.constants'; +import { LOGGER_DRIVER } from 'src/engine/integrations/logger/logger.constants'; +import { LoggerService } from 'src/engine/integrations/logger/logger.service'; describe('LoggerService', () => { let service: LoggerService; diff --git a/packages/twenty-server/src/integrations/logger/interfaces/index.ts b/packages/twenty-server/src/engine/integrations/logger/interfaces/index.ts similarity index 100% rename from packages/twenty-server/src/integrations/logger/interfaces/index.ts rename to packages/twenty-server/src/engine/integrations/logger/interfaces/index.ts diff --git a/packages/twenty-server/src/integrations/logger/interfaces/logger.interface.ts b/packages/twenty-server/src/engine/integrations/logger/interfaces/logger.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/logger/interfaces/logger.interface.ts rename to packages/twenty-server/src/engine/integrations/logger/interfaces/logger.interface.ts diff --git a/packages/twenty-server/src/integrations/logger/logger.constants.ts b/packages/twenty-server/src/engine/integrations/logger/logger.constants.ts similarity index 100% rename from packages/twenty-server/src/integrations/logger/logger.constants.ts rename to packages/twenty-server/src/engine/integrations/logger/logger.constants.ts diff --git a/packages/twenty-server/src/integrations/logger/logger.module-definition.ts b/packages/twenty-server/src/engine/integrations/logger/logger.module-definition.ts similarity index 100% rename from packages/twenty-server/src/integrations/logger/logger.module-definition.ts rename to packages/twenty-server/src/engine/integrations/logger/logger.module-definition.ts diff --git a/packages/twenty-server/src/integrations/logger/logger.module-factory.ts b/packages/twenty-server/src/engine/integrations/logger/logger.module-factory.ts similarity index 82% rename from packages/twenty-server/src/integrations/logger/logger.module-factory.ts rename to packages/twenty-server/src/engine/integrations/logger/logger.module-factory.ts index bed4bdc3b..93701802a 100644 --- a/packages/twenty-server/src/integrations/logger/logger.module-factory.ts +++ b/packages/twenty-server/src/engine/integrations/logger/logger.module-factory.ts @@ -1,8 +1,8 @@ -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { LoggerModuleOptions, LoggerDriverType, -} from 'src/integrations/logger/interfaces'; +} from 'src/engine/integrations/logger/interfaces'; /** * Logger Module factory diff --git a/packages/twenty-server/src/integrations/logger/logger.module.ts b/packages/twenty-server/src/engine/integrations/logger/logger.module.ts similarity index 95% rename from packages/twenty-server/src/integrations/logger/logger.module.ts rename to packages/twenty-server/src/engine/integrations/logger/logger.module.ts index 1cd4a4ed8..778dbbf54 100644 --- a/packages/twenty-server/src/integrations/logger/logger.module.ts +++ b/packages/twenty-server/src/engine/integrations/logger/logger.module.ts @@ -1,6 +1,6 @@ import { DynamicModule, Global, ConsoleLogger, Module } from '@nestjs/common'; -import { LoggerDriverType } from 'src/integrations/logger/interfaces'; +import { LoggerDriverType } from 'src/engine/integrations/logger/interfaces'; import { LoggerService } from './logger.service'; import { LOGGER_DRIVER } from './logger.constants'; diff --git a/packages/twenty-server/src/integrations/logger/logger.service.ts b/packages/twenty-server/src/engine/integrations/logger/logger.service.ts similarity index 100% rename from packages/twenty-server/src/integrations/logger/logger.service.ts rename to packages/twenty-server/src/engine/integrations/logger/logger.service.ts diff --git a/packages/twenty-server/src/integrations/message-queue/drivers/bullmq.driver.ts b/packages/twenty-server/src/engine/integrations/message-queue/drivers/bullmq.driver.ts similarity index 92% rename from packages/twenty-server/src/integrations/message-queue/drivers/bullmq.driver.ts rename to packages/twenty-server/src/engine/integrations/message-queue/drivers/bullmq.driver.ts index 0ea7857de..988f8716d 100644 --- a/packages/twenty-server/src/integrations/message-queue/drivers/bullmq.driver.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/drivers/bullmq.driver.ts @@ -1,8 +1,8 @@ import { Queue, QueueOptions, Worker } from 'bullmq'; -import { QueueJobOptions } from 'src/integrations/message-queue/drivers/interfaces/job-options.interface'; +import { QueueJobOptions } from 'src/engine/integrations/message-queue/drivers/interfaces/job-options.interface'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { MessageQueueDriver } from './interfaces/message-queue-driver.interface'; diff --git a/packages/twenty-server/src/integrations/message-queue/drivers/interfaces/job-options.interface.ts b/packages/twenty-server/src/engine/integrations/message-queue/drivers/interfaces/job-options.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/message-queue/drivers/interfaces/job-options.interface.ts rename to packages/twenty-server/src/engine/integrations/message-queue/drivers/interfaces/job-options.interface.ts diff --git a/packages/twenty-server/src/integrations/message-queue/drivers/interfaces/message-queue-driver.interface.ts b/packages/twenty-server/src/engine/integrations/message-queue/drivers/interfaces/message-queue-driver.interface.ts similarity index 67% rename from packages/twenty-server/src/integrations/message-queue/drivers/interfaces/message-queue-driver.interface.ts rename to packages/twenty-server/src/engine/integrations/message-queue/drivers/interfaces/message-queue-driver.interface.ts index a0136672a..517125503 100644 --- a/packages/twenty-server/src/integrations/message-queue/drivers/interfaces/message-queue-driver.interface.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/drivers/interfaces/message-queue-driver.interface.ts @@ -1,7 +1,7 @@ -import { QueueJobOptions } from 'src/integrations/message-queue/drivers/interfaces/job-options.interface'; -import { MessageQueueJobData } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { QueueJobOptions } from 'src/engine/integrations/message-queue/drivers/interfaces/job-options.interface'; +import { MessageQueueJobData } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; export interface MessageQueueDriver { add( diff --git a/packages/twenty-server/src/integrations/message-queue/drivers/pg-boss.driver.ts b/packages/twenty-server/src/engine/integrations/message-queue/drivers/pg-boss.driver.ts similarity index 87% rename from packages/twenty-server/src/integrations/message-queue/drivers/pg-boss.driver.ts rename to packages/twenty-server/src/engine/integrations/message-queue/drivers/pg-boss.driver.ts index fc306b6f4..8911f2409 100644 --- a/packages/twenty-server/src/integrations/message-queue/drivers/pg-boss.driver.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/drivers/pg-boss.driver.ts @@ -1,8 +1,8 @@ import PgBoss from 'pg-boss'; -import { QueueJobOptions } from 'src/integrations/message-queue/drivers/interfaces/job-options.interface'; +import { QueueJobOptions } from 'src/engine/integrations/message-queue/drivers/interfaces/job-options.interface'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { MessageQueueDriver } from './interfaces/message-queue-driver.interface'; diff --git a/packages/twenty-server/src/integrations/message-queue/drivers/sync.driver.ts b/packages/twenty-server/src/engine/integrations/message-queue/drivers/sync.driver.ts similarity index 76% rename from packages/twenty-server/src/integrations/message-queue/drivers/sync.driver.ts rename to packages/twenty-server/src/engine/integrations/message-queue/drivers/sync.driver.ts index 03515a103..ec6d070be 100644 --- a/packages/twenty-server/src/integrations/message-queue/drivers/sync.driver.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/drivers/sync.driver.ts @@ -1,15 +1,15 @@ import { ModuleRef } from '@nestjs/core'; import { Logger } from '@nestjs/common'; -import { MessageQueueDriver } from 'src/integrations/message-queue/drivers/interfaces/message-queue-driver.interface'; +import { MessageQueueDriver } from 'src/engine/integrations/message-queue/drivers/interfaces/message-queue-driver.interface'; import { MessageQueueCronJobData, MessageQueueJob, MessageQueueJobData, -} from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +} from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { getJobClassName } from 'src/integrations/message-queue/utils/get-job-class-name.util'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { getJobClassName } from 'src/engine/integrations/message-queue/utils/get-job-class-name.util'; export class SyncDriver implements MessageQueueDriver { private readonly logger = new Logger(SyncDriver.name); diff --git a/packages/twenty-server/src/integrations/message-queue/interfaces/index.ts b/packages/twenty-server/src/engine/integrations/message-queue/interfaces/index.ts similarity index 100% rename from packages/twenty-server/src/integrations/message-queue/interfaces/index.ts rename to packages/twenty-server/src/engine/integrations/message-queue/interfaces/index.ts diff --git a/packages/twenty-server/src/integrations/message-queue/interfaces/message-queue-job.interface.ts b/packages/twenty-server/src/engine/integrations/message-queue/interfaces/message-queue-job.interface.ts similarity index 100% rename from packages/twenty-server/src/integrations/message-queue/interfaces/message-queue-job.interface.ts rename to packages/twenty-server/src/engine/integrations/message-queue/interfaces/message-queue-job.interface.ts diff --git a/packages/twenty-server/src/integrations/message-queue/interfaces/message-queue.interface.ts b/packages/twenty-server/src/engine/integrations/message-queue/interfaces/message-queue.interface.ts similarity index 81% rename from packages/twenty-server/src/integrations/message-queue/interfaces/message-queue.interface.ts rename to packages/twenty-server/src/engine/integrations/message-queue/interfaces/message-queue.interface.ts index 91d910f6a..568e0819f 100644 --- a/packages/twenty-server/src/integrations/message-queue/interfaces/message-queue.interface.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/interfaces/message-queue.interface.ts @@ -1,7 +1,7 @@ import { FactoryProvider, ModuleMetadata } from '@nestjs/common'; -import { BullMQDriverOptions } from 'src/integrations/message-queue/drivers/bullmq.driver'; -import { PgBossDriverOptions } from 'src/integrations/message-queue/drivers/pg-boss.driver'; +import { BullMQDriverOptions } from 'src/engine/integrations/message-queue/drivers/bullmq.driver'; +import { PgBossDriverOptions } from 'src/engine/integrations/message-queue/drivers/pg-boss.driver'; export enum MessageQueueDriverType { PgBoss = 'pg-boss', diff --git a/packages/twenty-server/src/integrations/message-queue/jobs.module.ts b/packages/twenty-server/src/engine/integrations/message-queue/jobs.module.ts similarity index 62% rename from packages/twenty-server/src/integrations/message-queue/jobs.module.ts rename to packages/twenty-server/src/engine/integrations/message-queue/jobs.module.ts index 800a389cd..f0dfa9a1e 100644 --- a/packages/twenty-server/src/integrations/message-queue/jobs.module.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/jobs.module.ts @@ -3,43 +3,43 @@ import { ModuleRef } from '@nestjs/core'; import { HttpModule } from '@nestjs/axios'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { GmailFullSyncJob } from 'src/business/modules/message/jobs/gmail-full-sync.job'; -import { CallWebhookJobsJob } from 'src/engine/graphql/workspace-query-runner/jobs/call-webhook-jobs.job'; -import { CallWebhookJob } from 'src/engine/graphql/workspace-query-runner/jobs/call-webhook.job'; +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 { CleanInactiveWorkspaceJob } from 'src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.job'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; -import { MessagingModule } from 'src/business/modules/message/messaging.module'; -import { GmailPartialSyncJob } from 'src/business/modules/message/jobs/gmail-partial-sync.job'; -import { EmailSenderJob } from 'src/integrations/email/email-sender.job'; +import { MessagingModule } from 'src/modules/messaging/messaging.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 { EnvironmentModule } from 'src/integrations/environment/environment.module'; -import { FetchAllWorkspacesMessagesJob } from 'src/business/modules/message/commands/crons/fetch-all-workspaces-messages.job'; -import { ConnectedAccountModule } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.module'; -import { MatchMessageParticipantJob } from 'src/business/modules/message/jobs/match-message-participant.job'; -import { CreateCompaniesAndContactsAfterSyncJob } from 'src/business/modules/message/jobs/create-companies-and-contacts-after-sync.job'; -import { CreateCompaniesAndContactsModule } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module'; -import { MessageChannelModule } from 'src/business/modules/message/repositories/message-channel/message-channel.module'; -import { MessageParticipantModule } from 'src/business/modules/message/repositories/message-participant/message-participant.module'; +import { EnvironmentModule } from 'src/engine/integrations/environment/environment.module'; +import { FetchAllWorkspacesMessagesJob } from 'src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job'; +import { ConnectedAccountModule } from 'src/modules/connected-account/repositories/connected-account/connected-account.module'; +import { MatchMessageParticipantJob } from 'src/modules/messaging/jobs/match-message-participant.job'; +import { CreateCompaniesAndContactsAfterSyncJob } from 'src/modules/messaging/jobs/create-companies-and-contacts-after-sync.job'; +import { CreateCompaniesAndContactsModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module'; +import { MessageChannelModule } from 'src/modules/messaging/repositories/message-channel/message-channel.module'; +import { MessageParticipantModule } from 'src/modules/messaging/repositories/message-participant/message-participant.module'; import { DataSeedDemoWorkspaceModule } from 'src/database/commands/data-seed-demo-workspace/data-seed-demo-workspace.module'; import { DataSeedDemoWorkspaceJob } from 'src/database/commands/data-seed-demo-workspace/jobs/data-seed-demo-workspace.job'; -import { DeleteConnectedAccountAssociatedMessagingDataJob } from 'src/business/modules/message/jobs/delete-connected-account-associated-messaging-data.job'; -import { ThreadCleanerModule } from 'src/business/modules/message/services/thread-cleaner/thread-cleaner.module'; +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 { CalendarModule } from 'src/business/modules/calendar/calendar.module'; +import { CalendarModule } from 'src/modules/calendar/calendar.module'; import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; -import { GoogleCalendarFullSyncJob } from 'src/business/modules/calendar/jobs/google-calendar-full-sync.job'; -import { CalendarEventCleanerModule } from 'src/business/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module'; -import { RecordPositionBackfillJob } from 'src/engine/graphql/workspace-query-runner/jobs/record-position-backfill.job'; -import { RecordPositionBackfillModule } from 'src/engine/graphql/workspace-query-runner/services/record-position-backfill-module'; -import { DeleteConnectedAccountAssociatedCalendarDataJob } from 'src/business/modules/message/jobs/delete-connected-account-associated-calendar-data.job'; +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'; +import { RecordPositionBackfillModule } from 'src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-module'; +import { DeleteConnectedAccountAssociatedCalendarDataJob } from 'src/modules/messaging/jobs/delete-connected-account-associated-calendar-data.job'; @Module({ imports: [ diff --git a/packages/twenty-server/src/integrations/message-queue/message-queue.constants.ts b/packages/twenty-server/src/engine/integrations/message-queue/message-queue.constants.ts similarity index 100% rename from packages/twenty-server/src/integrations/message-queue/message-queue.constants.ts rename to packages/twenty-server/src/engine/integrations/message-queue/message-queue.constants.ts diff --git a/packages/twenty-server/src/integrations/message-queue/message-queue.module-factory.ts b/packages/twenty-server/src/engine/integrations/message-queue/message-queue.module-factory.ts similarity index 89% rename from packages/twenty-server/src/integrations/message-queue/message-queue.module-factory.ts rename to packages/twenty-server/src/engine/integrations/message-queue/message-queue.module-factory.ts index 8829c1dab..603f550c3 100644 --- a/packages/twenty-server/src/integrations/message-queue/message-queue.module-factory.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/message-queue.module-factory.ts @@ -1,8 +1,8 @@ -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { MessageQueueDriverType, MessageQueueModuleOptions, -} from 'src/integrations/message-queue/interfaces'; +} from 'src/engine/integrations/message-queue/interfaces'; /** * MessageQueue Module factory diff --git a/packages/twenty-server/src/integrations/message-queue/message-queue.module.ts b/packages/twenty-server/src/engine/integrations/message-queue/message-queue.module.ts similarity index 65% rename from packages/twenty-server/src/integrations/message-queue/message-queue.module.ts rename to packages/twenty-server/src/engine/integrations/message-queue/message-queue.module.ts index 29f86895b..7381c0ee9 100644 --- a/packages/twenty-server/src/integrations/message-queue/message-queue.module.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/message-queue.module.ts @@ -1,20 +1,20 @@ import { DynamicModule, Global } from '@nestjs/common'; -import { MessageQueueDriver } from 'src/integrations/message-queue/drivers/interfaces/message-queue-driver.interface'; +import { MessageQueueDriver } from 'src/engine/integrations/message-queue/drivers/interfaces/message-queue-driver.interface'; import { MessageQueueDriverType, MessageQueueModuleAsyncOptions, -} from 'src/integrations/message-queue/interfaces'; +} from 'src/engine/integrations/message-queue/interfaces'; import { MessageQueue, QUEUE_DRIVER, -} from 'src/integrations/message-queue/message-queue.constants'; -import { PgBossDriver } from 'src/integrations/message-queue/drivers/pg-boss.driver'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { BullMQDriver } from 'src/integrations/message-queue/drivers/bullmq.driver'; -import { SyncDriver } from 'src/integrations/message-queue/drivers/sync.driver'; -import { JobsModule } from 'src/integrations/message-queue/jobs.module'; +} from 'src/engine/integrations/message-queue/message-queue.constants'; +import { PgBossDriver } from 'src/engine/integrations/message-queue/drivers/pg-boss.driver'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; +import { BullMQDriver } from 'src/engine/integrations/message-queue/drivers/bullmq.driver'; +import { SyncDriver } from 'src/engine/integrations/message-queue/drivers/sync.driver'; +import { JobsModule } from 'src/engine/integrations/message-queue/jobs.module'; @Global() export class MessageQueueModule { diff --git a/packages/twenty-server/src/integrations/message-queue/services/message-queue-task-assigned.service.spec.ts b/packages/twenty-server/src/engine/integrations/message-queue/services/__tests__/message-queue-task-assigned.service.spec.ts similarity index 77% rename from packages/twenty-server/src/integrations/message-queue/services/message-queue-task-assigned.service.spec.ts rename to packages/twenty-server/src/engine/integrations/message-queue/services/__tests__/message-queue-task-assigned.service.spec.ts index 03d7dfcb4..31e2b66ae 100644 --- a/packages/twenty-server/src/integrations/message-queue/services/message-queue-task-assigned.service.spec.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/services/__tests__/message-queue-task-assigned.service.spec.ts @@ -1,12 +1,12 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { MessageQueueDriver } from 'src/integrations/message-queue/drivers/interfaces/message-queue-driver.interface'; +import { MessageQueueDriver } from 'src/engine/integrations/message-queue/drivers/interfaces/message-queue-driver.interface'; import { QUEUE_DRIVER, MessageQueue, -} from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +} from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; describe('MessageQueueTaskAssigned queue', () => { let service: MessageQueueService; diff --git a/packages/twenty-server/src/integrations/message-queue/services/message-queue.service.ts b/packages/twenty-server/src/engine/integrations/message-queue/services/message-queue.service.ts similarity index 75% rename from packages/twenty-server/src/integrations/message-queue/services/message-queue.service.ts rename to packages/twenty-server/src/engine/integrations/message-queue/services/message-queue.service.ts index 44c2d5121..b082ec7ce 100644 --- a/packages/twenty-server/src/integrations/message-queue/services/message-queue.service.ts +++ b/packages/twenty-server/src/engine/integrations/message-queue/services/message-queue.service.ts @@ -1,13 +1,13 @@ import { Inject, Injectable, OnModuleDestroy } from '@nestjs/common'; -import { QueueJobOptions } from 'src/integrations/message-queue/drivers/interfaces/job-options.interface'; -import { MessageQueueDriver } from 'src/integrations/message-queue/drivers/interfaces/message-queue-driver.interface'; -import { MessageQueueJobData } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { QueueJobOptions } from 'src/engine/integrations/message-queue/drivers/interfaces/job-options.interface'; +import { MessageQueueDriver } from 'src/engine/integrations/message-queue/drivers/interfaces/message-queue-driver.interface'; +import { MessageQueueJobData } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; import { MessageQueue, QUEUE_DRIVER, -} from 'src/integrations/message-queue/message-queue.constants'; +} from 'src/engine/integrations/message-queue/message-queue.constants'; @Injectable() export class MessageQueueService implements OnModuleDestroy { diff --git a/packages/twenty-server/src/integrations/message-queue/utils/get-job-class-name.util.ts b/packages/twenty-server/src/engine/integrations/message-queue/utils/get-job-class-name.util.ts similarity index 100% rename from packages/twenty-server/src/integrations/message-queue/utils/get-job-class-name.util.ts rename to packages/twenty-server/src/engine/integrations/message-queue/utils/get-job-class-name.util.ts diff --git a/packages/twenty-server/src/engine/modules/analytics/analytics.resolver.spec.ts b/packages/twenty-server/src/engine/modules/analytics/analytics.resolver.spec.ts index 5015f09df..f6f1e07d4 100644 --- a/packages/twenty-server/src/engine/modules/analytics/analytics.resolver.spec.ts +++ b/packages/twenty-server/src/engine/modules/analytics/analytics.resolver.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; import { HttpService } from '@nestjs/axios'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { AnalyticsResolver } from './analytics.resolver'; import { AnalyticsService } from './analytics.service'; diff --git a/packages/twenty-server/src/engine/modules/analytics/analytics.service.spec.ts b/packages/twenty-server/src/engine/modules/analytics/analytics.service.spec.ts index aecd70a70..c2cbd7a2f 100644 --- a/packages/twenty-server/src/engine/modules/analytics/analytics.service.spec.ts +++ b/packages/twenty-server/src/engine/modules/analytics/analytics.service.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; import { HttpService } from '@nestjs/axios'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { AnalyticsService } from './analytics.service'; diff --git a/packages/twenty-server/src/engine/modules/analytics/analytics.service.ts b/packages/twenty-server/src/engine/modules/analytics/analytics.service.ts index f0a6fdf42..dfb9477a0 100644 --- a/packages/twenty-server/src/engine/modules/analytics/analytics.service.ts +++ b/packages/twenty-server/src/engine/modules/analytics/analytics.service.ts @@ -4,7 +4,7 @@ import { HttpService } from '@nestjs/axios'; import { Request } from 'express'; import { anonymize } from 'src/utils/anonymize'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +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'; diff --git a/packages/twenty-server/src/engine/modules/auth/auth.module.ts b/packages/twenty-server/src/engine/modules/auth/auth.module.ts index 241b375c0..5d7995fd3 100644 --- a/packages/twenty-server/src/engine/modules/auth/auth.module.ts +++ b/packages/twenty-server/src/engine/modules/auth/auth.module.ts @@ -4,7 +4,7 @@ import { JwtModule } from '@nestjs/jwt'; import { TypeOrmModule } from '@nestjs/typeorm'; import { HttpModule } from '@nestjs/axios'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { FileModule } from 'src/engine/modules/file/file.module'; import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; import { User } from 'src/engine/modules/user/user.entity'; diff --git a/packages/twenty-server/src/engine/modules/auth/controllers/google-apis-auth.controller.ts b/packages/twenty-server/src/engine/modules/auth/controllers/google-apis-auth.controller.ts index 2f699b86f..7cdb6279e 100644 --- a/packages/twenty-server/src/engine/modules/auth/controllers/google-apis-auth.controller.ts +++ b/packages/twenty-server/src/engine/modules/auth/controllers/google-apis-auth.controller.ts @@ -7,7 +7,7 @@ import { GoogleAPIsOauthGuard } from 'src/engine/modules/auth/guards/google-apis 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 { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Controller('auth/google-apis') export class GoogleAPIsAuthController { diff --git a/packages/twenty-server/src/engine/modules/auth/controllers/google-auth.controller.ts b/packages/twenty-server/src/engine/modules/auth/controllers/google-auth.controller.ts index 6e956aec9..df736e6fa 100644 --- a/packages/twenty-server/src/engine/modules/auth/controllers/google-auth.controller.ts +++ b/packages/twenty-server/src/engine/modules/auth/controllers/google-auth.controller.ts @@ -12,7 +12,7 @@ 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 { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Controller('auth/google') export class GoogleAuthController { diff --git a/packages/twenty-server/src/engine/modules/auth/controllers/google-gmail-auth.controller.ts b/packages/twenty-server/src/engine/modules/auth/controllers/google-gmail-auth.controller.ts index 21682154d..18e15db37 100644 --- a/packages/twenty-server/src/engine/modules/auth/controllers/google-gmail-auth.controller.ts +++ b/packages/twenty-server/src/engine/modules/auth/controllers/google-gmail-auth.controller.ts @@ -7,7 +7,7 @@ import { GoogleAPIsProviderEnabledGuard } from 'src/engine/modules/auth/guards/g 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 { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Controller('auth/google-gmail') export class GoogleGmailAuthController { diff --git a/packages/twenty-server/src/engine/modules/auth/guards/google-apis-provider-enabled.guard.ts b/packages/twenty-server/src/engine/modules/auth/guards/google-apis-provider-enabled.guard.ts index 81bfd12d1..50792c44d 100644 --- a/packages/twenty-server/src/engine/modules/auth/guards/google-apis-provider-enabled.guard.ts +++ b/packages/twenty-server/src/engine/modules/auth/guards/google-apis-provider-enabled.guard.ts @@ -3,7 +3,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 { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Injectable() export class GoogleAPIsProviderEnabledGuard implements CanActivate { diff --git a/packages/twenty-server/src/engine/modules/auth/guards/google-gmail-provider-enabled.guard.ts b/packages/twenty-server/src/engine/modules/auth/guards/google-gmail-provider-enabled.guard.ts index 8fdca62a8..a6c88275d 100644 --- a/packages/twenty-server/src/engine/modules/auth/guards/google-gmail-provider-enabled.guard.ts +++ b/packages/twenty-server/src/engine/modules/auth/guards/google-gmail-provider-enabled.guard.ts @@ -3,7 +3,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 { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Injectable() export class GoogleGmailProviderEnabledGuard implements CanActivate { diff --git a/packages/twenty-server/src/engine/modules/auth/guards/google-provider-enabled.guard.ts b/packages/twenty-server/src/engine/modules/auth/guards/google-provider-enabled.guard.ts index 9f016d6c9..feedac845 100644 --- a/packages/twenty-server/src/engine/modules/auth/guards/google-provider-enabled.guard.ts +++ b/packages/twenty-server/src/engine/modules/auth/guards/google-provider-enabled.guard.ts @@ -2,7 +2,7 @@ import { Injectable, CanActivate, NotFoundException } from '@nestjs/common'; import { Observable } from 'rxjs'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { GoogleStrategy } from 'src/engine/modules/auth/strategies/google.auth.strategy'; @Injectable() diff --git a/packages/twenty-server/src/engine/modules/auth/services/auth.service.spec.ts b/packages/twenty-server/src/engine/modules/auth/services/auth.service.spec.ts index 0fa78b16b..70ce4b8eb 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/auth.service.spec.ts +++ b/packages/twenty-server/src/engine/modules/auth/services/auth.service.spec.ts @@ -5,8 +5,8 @@ import { UserService } from 'src/engine/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 { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { EmailService } from 'src/integrations/email/email.service'; +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 { AuthService } from './auth.service'; diff --git a/packages/twenty-server/src/engine/modules/auth/services/auth.service.ts b/packages/twenty-server/src/engine/modules/auth/services/auth.service.ts index 8503b91ff..ad16d1d4f 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/auth.service.ts +++ b/packages/twenty-server/src/engine/modules/auth/services/auth.service.ts @@ -23,8 +23,8 @@ import { WorkspaceInviteHashValid } from 'src/engine/modules/auth/dto/workspace- 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'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { EmailService } from 'src/integrations/email/email.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'; diff --git a/packages/twenty-server/src/engine/modules/auth/services/google-apis.service.ts b/packages/twenty-server/src/engine/modules/auth/services/google-apis.service.ts index bf0cb71ce..19fd0aab1 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/google-apis.service.ts +++ b/packages/twenty-server/src/engine/modules/auth/services/google-apis.service.ts @@ -7,17 +7,17 @@ import { Repository } from 'typeorm'; import { DataSourceService } from 'src/engine-metadata/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 { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { GmailFullSyncJob, GmailFullSyncJobData, -} from 'src/business/modules/message/jobs/gmail-full-sync.job'; +} from 'src/modules/messaging/jobs/gmail-full-sync.job'; import { GoogleCalendarFullSyncJob, GoogleCalendarFullSyncJobData, -} from 'src/business/modules/calendar/jobs/google-calendar-full-sync.job'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +} from 'src/modules/calendar/jobs/google-calendar-full-sync.job'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { FeatureFlagEntity, FeatureFlagKeys, diff --git a/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.spec.ts b/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.spec.ts index 529d2acf4..2fe72ca96 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.spec.ts +++ b/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.spec.ts @@ -4,7 +4,7 @@ import { HttpService } from '@nestjs/axios'; import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; import { User } from 'src/engine/modules/user/user.entity'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +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/services/file-upload.service'; import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; diff --git a/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.ts b/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.ts index f58334ced..f19f5cadd 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.ts +++ b/packages/twenty-server/src/engine/modules/auth/services/sign-up.service.ts @@ -20,7 +20,7 @@ import { 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/services/file-upload.service'; -import { EnvironmentService } from 'src/integrations/environment/environment.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'; diff --git a/packages/twenty-server/src/engine/modules/auth/services/token.service.spec.ts b/packages/twenty-server/src/engine/modules/auth/services/token.service.spec.ts index 18287d1f4..5fc239cae 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/token.service.spec.ts +++ b/packages/twenty-server/src/engine/modules/auth/services/token.service.spec.ts @@ -2,11 +2,11 @@ import { Test, TestingModule } from '@nestjs/testing'; import { JwtService } from '@nestjs/jwt'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +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 { EmailService } from 'src/integrations/email/email.service'; +import { EmailService } from 'src/engine/integrations/email/email.service'; import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service'; import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; diff --git a/packages/twenty-server/src/engine/modules/auth/services/token.service.ts b/packages/twenty-server/src/engine/modules/auth/services/token.service.ts index 55af71123..30a573be4 100644 --- a/packages/twenty-server/src/engine/modules/auth/services/token.service.ts +++ b/packages/twenty-server/src/engine/modules/auth/services/token.service.ts @@ -32,11 +32,11 @@ import { AuthTokens, PasswordResetToken, } from 'src/engine/modules/auth/dto/token.entity'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +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 { EmailService } from 'src/integrations/email/email.service'; +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'; diff --git a/packages/twenty-server/src/engine/modules/auth/strategies/google-apis.auth.strategy.ts b/packages/twenty-server/src/engine/modules/auth/strategies/google-apis.auth.strategy.ts index e0633e072..2a389774e 100644 --- a/packages/twenty-server/src/engine/modules/auth/strategies/google-apis.auth.strategy.ts +++ b/packages/twenty-server/src/engine/modules/auth/strategies/google-apis.auth.strategy.ts @@ -4,7 +4,7 @@ import { Injectable } from '@nestjs/common'; import { Strategy, VerifyCallback } from 'passport-google-oauth20'; import { Request } from 'express'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; export type GoogleAPIsRequest = Request & { user: { diff --git a/packages/twenty-server/src/engine/modules/auth/strategies/google.auth.strategy.ts b/packages/twenty-server/src/engine/modules/auth/strategies/google.auth.strategy.ts index 670307ec8..1b2ea68d2 100644 --- a/packages/twenty-server/src/engine/modules/auth/strategies/google.auth.strategy.ts +++ b/packages/twenty-server/src/engine/modules/auth/strategies/google.auth.strategy.ts @@ -4,7 +4,7 @@ import { Injectable } from '@nestjs/common'; import { Strategy, VerifyCallback } from 'passport-google-oauth20'; import { Request } from 'express'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; export type GoogleRequest = Request & { user: { diff --git a/packages/twenty-server/src/engine/modules/auth/strategies/jwt.auth.strategy.ts b/packages/twenty-server/src/engine/modules/auth/strategies/jwt.auth.strategy.ts index 3d20de2cf..f097a6513 100644 --- a/packages/twenty-server/src/engine/modules/auth/strategies/jwt.auth.strategy.ts +++ b/packages/twenty-server/src/engine/modules/auth/strategies/jwt.auth.strategy.ts @@ -10,7 +10,7 @@ import { Strategy, ExtractJwt } from 'passport-jwt'; import { Repository } from 'typeorm'; import { assert } from 'src/utils/assert'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +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 { TypeORMService } from 'src/database/typeorm/typeorm.service'; diff --git a/packages/twenty-server/src/engine/modules/billing/billing.service.ts b/packages/twenty-server/src/engine/modules/billing/billing.service.ts index 00852acc1..705c6e0aa 100644 --- a/packages/twenty-server/src/engine/modules/billing/billing.service.ts +++ b/packages/twenty-server/src/engine/modules/billing/billing.service.ts @@ -4,7 +4,7 @@ import { InjectRepository } from '@nestjs/typeorm'; import Stripe from 'stripe'; import { Not, Repository } from 'typeorm'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +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'; diff --git a/packages/twenty-server/src/engine/modules/billing/jobs/update-subscription.job.ts b/packages/twenty-server/src/engine/modules/billing/jobs/update-subscription.job.ts index 528a801be..486d289fd 100644 --- a/packages/twenty-server/src/engine/modules/billing/jobs/update-subscription.job.ts +++ b/packages/twenty-server/src/engine/modules/billing/jobs/update-subscription.job.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +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'; diff --git a/packages/twenty-server/src/engine/modules/billing/listeners/billing-workspace-member.listener.ts b/packages/twenty-server/src/engine/modules/billing/listeners/billing-workspace-member.listener.ts index e6808d936..e9f982c4f 100644 --- a/packages/twenty-server/src/engine/modules/billing/listeners/billing-workspace-member.listener.ts +++ b/packages/twenty-server/src/engine/modules/billing/listeners/billing-workspace-member.listener.ts @@ -1,10 +1,10 @@ import { Inject, Injectable } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { ObjectRecordCreateEvent } from 'src/integrations/event-emitter/types/object-record-create.event'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.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'; import { UpdateSubscriptionJob, UpdateSubscriptionJobData, diff --git a/packages/twenty-server/src/engine/modules/billing/stripe/stripe.service.ts b/packages/twenty-server/src/engine/modules/billing/stripe/stripe.service.ts index 4e5cc08ff..c4e0cefec 100644 --- a/packages/twenty-server/src/engine/modules/billing/stripe/stripe.service.ts +++ b/packages/twenty-server/src/engine/modules/billing/stripe/stripe.service.ts @@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common'; import Stripe from 'stripe'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { User } from 'src/engine/modules/user/user.entity'; @Injectable() diff --git a/packages/twenty-server/src/engine/modules/client-config/client-config.resolver.spec.ts b/packages/twenty-server/src/engine/modules/client-config/client-config.resolver.spec.ts index 3004995e1..a723405b2 100644 --- a/packages/twenty-server/src/engine/modules/client-config/client-config.resolver.spec.ts +++ b/packages/twenty-server/src/engine/modules/client-config/client-config.resolver.spec.ts @@ -1,6 +1,6 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { ClientConfigResolver } from './client-config.resolver'; diff --git a/packages/twenty-server/src/engine/modules/client-config/client-config.resolver.ts b/packages/twenty-server/src/engine/modules/client-config/client-config.resolver.ts index 70e0aedbc..0891de708 100644 --- a/packages/twenty-server/src/engine/modules/client-config/client-config.resolver.ts +++ b/packages/twenty-server/src/engine/modules/client-config/client-config.resolver.ts @@ -1,6 +1,6 @@ import { Resolver, Query } from '@nestjs/graphql'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { ClientConfig } from './client-config.entity'; diff --git a/packages/twenty-server/src/engine/modules/foundation.module.ts b/packages/twenty-server/src/engine/modules/engine-modules.module.ts similarity index 97% rename from packages/twenty-server/src/engine/modules/foundation.module.ts rename to packages/twenty-server/src/engine/modules/engine-modules.module.ts index 378a4dbc6..aa23a0f52 100644 --- a/packages/twenty-server/src/engine/modules/foundation.module.ts +++ b/packages/twenty-server/src/engine/modules/engine-modules.module.ts @@ -38,4 +38,4 @@ import { ClientConfigModule } from './client-config/client-config.module'; WorkspaceModule, ], }) -export class FoundationModule {} +export class EngineModulesModule {} diff --git a/packages/twenty-server/src/engine/modules/file/services/file-upload.service.spec.ts b/packages/twenty-server/src/engine/modules/file/services/file-upload.service.spec.ts index 52219e25d..c972a27c4 100644 --- a/packages/twenty-server/src/engine/modules/file/services/file-upload.service.spec.ts +++ b/packages/twenty-server/src/engine/modules/file/services/file-upload.service.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { FileStorageService } from 'src/integrations/file-storage/file-storage.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; +import { FileStorageService } from 'src/engine/integrations/file-storage/file-storage.service'; import { FileUploadService } from './file-upload.service'; diff --git a/packages/twenty-server/src/engine/modules/file/services/file-upload.service.ts b/packages/twenty-server/src/engine/modules/file/services/file-upload.service.ts index 53399ea21..10d70bf08 100644 --- a/packages/twenty-server/src/engine/modules/file/services/file-upload.service.ts +++ b/packages/twenty-server/src/engine/modules/file/services/file-upload.service.ts @@ -7,7 +7,7 @@ import { FileFolder } from 'src/engine/modules/file/interfaces/file-folder.inter import { getCropSize } from 'src/utils/image'; import { settings } from 'src/engine/constants/settings'; -import { FileStorageService } from 'src/integrations/file-storage/file-storage.service'; +import { FileStorageService } from 'src/engine/integrations/file-storage/file-storage.service'; @Injectable() export class FileUploadService { diff --git a/packages/twenty-server/src/engine/modules/file/services/file.service.spec.ts b/packages/twenty-server/src/engine/modules/file/services/file.service.spec.ts index 89e8d98bd..da68c62a4 100644 --- a/packages/twenty-server/src/engine/modules/file/services/file.service.spec.ts +++ b/packages/twenty-server/src/engine/modules/file/services/file.service.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { FileStorageService } from 'src/integrations/file-storage/file-storage.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; +import { FileStorageService } from 'src/engine/integrations/file-storage/file-storage.service'; import { FileService } from './file.service'; diff --git a/packages/twenty-server/src/engine/modules/file/services/file.service.ts b/packages/twenty-server/src/engine/modules/file/services/file.service.ts index f2fe510cd..290a13f8b 100644 --- a/packages/twenty-server/src/engine/modules/file/services/file.service.ts +++ b/packages/twenty-server/src/engine/modules/file/services/file.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { FileStorageService } from 'src/integrations/file-storage/file-storage.service'; +import { FileStorageService } from 'src/engine/integrations/file-storage/file-storage.service'; @Injectable() export class FileService { diff --git a/packages/twenty-server/src/engine/modules/open-api/open-api.service.spec.ts b/packages/twenty-server/src/engine/modules/open-api/open-api.service.spec.ts index 290e4659d..eb277a135 100644 --- a/packages/twenty-server/src/engine/modules/open-api/open-api.service.spec.ts +++ b/packages/twenty-server/src/engine/modules/open-api/open-api.service.spec.ts @@ -3,7 +3,7 @@ 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 { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; describe('OpenApiService', () => { let service: OpenApiService; diff --git a/packages/twenty-server/src/engine/modules/open-api/open-api.service.ts b/packages/twenty-server/src/engine/modules/open-api/open-api.service.ts index a257b64b7..40f5378e8 100644 --- a/packages/twenty-server/src/engine/modules/open-api/open-api.service.ts +++ b/packages/twenty-server/src/engine/modules/open-api/open-api.service.ts @@ -25,7 +25,7 @@ import { getSingleResultSuccessResponse, } from 'src/engine/modules/open-api/utils/responses.utils'; import { getRequestBody } from 'src/engine/modules/open-api/utils/request-body.utils'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Injectable() export class OpenApiService { diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/components.utils.spec.ts b/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/components.utils.spec.ts index be3155632..5995f0a0e 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/components.utils.spec.ts +++ b/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/components.utils.spec.ts @@ -1,11 +1,13 @@ import { computeSchemaComponents } from 'src/engine/modules/open-api/utils/components.utils'; -import { objectMetadataItem } from 'src/utils/utils-test/object-metadata-item'; +import { objectMetadataItemMock } from 'src/engine/api/__mocks__/object-metadata-item.mock'; import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object-metadata.entity'; describe('computeSchemaComponents', () => { it('should compute schema components', () => { expect( - computeSchemaComponents([objectMetadataItem] as ObjectMetadataEntity[]), + computeSchemaComponents([ + objectMetadataItemMock, + ] as ObjectMetadataEntity[]), ).toEqual({ ObjectName: { type: 'object', diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/parameters.utils.spec.ts b/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/parameters.utils.spec.ts index d2a2106a2..b5d496a07 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/parameters.utils.spec.ts +++ b/packages/twenty-server/src/engine/modules/open-api/utils/__tests__/parameters.utils.spec.ts @@ -1,4 +1,4 @@ -import { OrderByDirection } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +import { OrderByDirection } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; import { computeDepthParameters, @@ -8,10 +8,10 @@ import { computeLimitParameters, computeOrderByParameters, } from 'src/engine/modules/open-api/utils/parameters.utils'; -import { DEFAULT_ORDER_DIRECTION } from 'src/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory'; -import { FilterComparators } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils'; -import { Conjunctions } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils'; -import { DEFAULT_CONJUNCTION } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.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'; +import { DEFAULT_CONJUNCTION } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils'; describe('computeParameters', () => { describe('computeLimit', () => { diff --git a/packages/twenty-server/src/engine/modules/open-api/utils/parameters.utils.ts b/packages/twenty-server/src/engine/modules/open-api/utils/parameters.utils.ts index 559ab795d..03f7319e7 100644 --- a/packages/twenty-server/src/engine/modules/open-api/utils/parameters.utils.ts +++ b/packages/twenty-server/src/engine/modules/open-api/utils/parameters.utils.ts @@ -1,11 +1,11 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { OrderByDirection } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +import { OrderByDirection } from 'src/engine/api/graphql/workspace-query-builder/interfaces/record.interface'; -import { FilterComparators } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-base-filter.utils'; -import { Conjunctions } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/parse-filter.utils'; -import { DEFAULT_ORDER_DIRECTION } from 'src/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory'; -import { DEFAULT_CONJUNCTION } from 'src/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils'; +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'; +import { DEFAULT_ORDER_DIRECTION } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/order-by-input.factory'; +import { DEFAULT_CONJUNCTION } from 'src/engine/api/rest/api-rest-query-builder/factories/input-factories/filter-utils/add-default-conjunction.utils'; export const computeLimitParameters = (): OpenAPIV3_1.ParameterObject => { return { diff --git a/packages/twenty-server/src/engine/modules/quick-actions/intelligence.service.ts b/packages/twenty-server/src/engine/modules/quick-actions/intelligence.service.ts index a508adc24..e56c2e2f0 100644 --- a/packages/twenty-server/src/engine/modules/quick-actions/intelligence.service.ts +++ b/packages/twenty-server/src/engine/modules/quick-actions/intelligence.service.ts @@ -3,7 +3,7 @@ import { Injectable } from '@nestjs/common'; import { CompanyInteface } from 'src/engine/modules/quick-actions/interfaces/company.interface'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Injectable() export class IntelligenceService { diff --git a/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.module.ts b/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.module.ts index 03a58166a..14e4bc82a 100644 --- a/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.module.ts +++ b/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.module.ts @@ -3,7 +3,7 @@ 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 { WorkspaceQueryRunnerModule } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.module'; +import { WorkspaceQueryRunnerModule } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module'; @Module({ imports: [WorkspaceQueryRunnerModule, HttpModule], diff --git a/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.service.ts b/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.service.ts index c2b55d17b..6ec86bb1c 100644 --- a/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.service.ts +++ b/packages/twenty-server/src/engine/modules/quick-actions/quick-actions.service.ts @@ -2,12 +2,12 @@ import { Injectable } from '@nestjs/common'; import { v4 as uuidv4 } from 'uuid'; -import { Record as IRecord } from 'src/engine/graphql/workspace-query-builder/interfaces/record.interface'; +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 { isWorkEmail } from 'src/utils/is-work-email'; -import { stringifyWithoutKeyQuote } from 'src/engine/graphql/workspace-query-builder/utils/stringify-without-key-quote.util'; -import { WorkspaceQueryRunnerService } from 'src/engine/graphql/workspace-query-runner/workspace-query-runner.service'; +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 { capitalize } from 'src/utils/capitalize'; diff --git a/packages/twenty-server/src/engine/modules/user-workspace/user-workspace.service.ts b/packages/twenty-server/src/engine/modules/user-workspace/user-workspace.service.ts index 269a75c76..e6cacc139 100644 --- a/packages/twenty-server/src/engine/modules/user-workspace/user-workspace.service.ts +++ b/packages/twenty-server/src/engine/modules/user-workspace/user-workspace.service.ts @@ -9,8 +9,8 @@ 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 { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { ObjectRecordCreateEvent } from 'src/integrations/event-emitter/types/object-record-create.event'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +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'; import { assert } from 'src/utils/assert'; export class UserWorkspaceService extends TypeOrmQueryService { diff --git a/packages/twenty-server/src/engine/modules/user/user.resolver.ts b/packages/twenty-server/src/engine/modules/user/user.resolver.ts index 8f0096b2f..a909829f2 100644 --- a/packages/twenty-server/src/engine/modules/user/user.resolver.ts +++ b/packages/twenty-server/src/engine/modules/user/user.resolver.ts @@ -14,11 +14,11 @@ import crypto from 'crypto'; import { FileUpload, GraphQLUpload } from 'graphql-upload'; import { Repository } from 'typeorm'; -import { SupportDriver } from 'src/integrations/environment/interfaces/support.interface'; +import { SupportDriver } from 'src/engine/integrations/environment/interfaces/support.interface'; import { FileFolder } from 'src/engine/modules/file/interfaces/file-folder.interface'; import { AuthUser } from 'src/engine/decorators/auth/auth-user.decorator'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { streamToBuffer } from 'src/utils/stream-to-buffer'; import { FileUploadService } from 'src/engine/modules/file/services/file-upload.service'; import { assert } from 'src/utils/assert'; diff --git a/packages/twenty-server/src/engine/modules/workspace/workspace.resolver.ts b/packages/twenty-server/src/engine/modules/workspace/workspace.resolver.ts index 266b7e502..b83cad9f2 100644 --- a/packages/twenty-server/src/engine/modules/workspace/workspace.resolver.ts +++ b/packages/twenty-server/src/engine/modules/workspace/workspace.resolver.ts @@ -18,7 +18,7 @@ import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorat 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 { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { User } from 'src/engine/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'; diff --git a/packages/twenty-server/src/engine-workspace/utils/__tests__/deduce-relation-direction.spec.ts b/packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts similarity index 98% rename from packages/twenty-server/src/engine-workspace/utils/__tests__/deduce-relation-direction.spec.ts rename to packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts index 764320b49..fb8261818 100644 --- a/packages/twenty-server/src/engine-workspace/utils/__tests__/deduce-relation-direction.spec.ts +++ b/packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts @@ -6,7 +6,7 @@ import { RelationMetadataType } from 'src/engine-metadata/relation-metadata/rela import { deduceRelationDirection, RelationDirection, -} from 'src/engine-workspace/utils/deduce-relation-direction.util'; +} from 'src/engine/utils/deduce-relation-direction.util'; describe('deduceRelationDirection', () => { it('should return FROM when the current object Metadata ID matches fromObjectMetadataId and id matches fromFieldMetadataId', () => { diff --git a/packages/twenty-server/src/engine-workspace/utils/__tests__/get-resolver-name.spec.ts b/packages/twenty-server/src/engine/utils/__tests__/get-resolver-name.spec.ts similarity index 84% rename from packages/twenty-server/src/engine-workspace/utils/__tests__/get-resolver-name.spec.ts rename to packages/twenty-server/src/engine/utils/__tests__/get-resolver-name.spec.ts index ebb8d7f76..16560a4e6 100644 --- a/packages/twenty-server/src/engine-workspace/utils/__tests__/get-resolver-name.spec.ts +++ b/packages/twenty-server/src/engine/utils/__tests__/get-resolver-name.spec.ts @@ -1,6 +1,6 @@ -import { WorkspaceResolverBuilderMethodNames } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { getResolverName } from 'src/engine-workspace/utils/get-resolver-name.util'; +import { getResolverName } from 'src/engine/utils/get-resolver-name.util'; describe('getResolverName', () => { const metadata = { diff --git a/packages/twenty-server/src/engine-workspace/utils/compute-custom-name.util.ts b/packages/twenty-server/src/engine/utils/compute-custom-name.util.ts similarity index 100% rename from packages/twenty-server/src/engine-workspace/utils/compute-custom-name.util.ts rename to packages/twenty-server/src/engine/utils/compute-custom-name.util.ts diff --git a/packages/twenty-server/src/engine-workspace/utils/compute-object-target-table.util.ts b/packages/twenty-server/src/engine/utils/compute-object-target-table.util.ts similarity index 100% rename from packages/twenty-server/src/engine-workspace/utils/compute-object-target-table.util.ts rename to packages/twenty-server/src/engine/utils/compute-object-target-table.util.ts diff --git a/packages/twenty-server/src/engine-workspace/utils/deduce-relation-direction.util.ts b/packages/twenty-server/src/engine/utils/deduce-relation-direction.util.ts similarity index 100% rename from packages/twenty-server/src/engine-workspace/utils/deduce-relation-direction.util.ts rename to packages/twenty-server/src/engine/utils/deduce-relation-direction.util.ts diff --git a/packages/twenty-server/src/engine-workspace/utils/get-resolver-name.util.ts b/packages/twenty-server/src/engine/utils/get-resolver-name.util.ts similarity index 94% rename from packages/twenty-server/src/engine-workspace/utils/get-resolver-name.util.ts rename to packages/twenty-server/src/engine/utils/get-resolver-name.util.ts index 6440fbceb..25ac72536 100644 --- a/packages/twenty-server/src/engine-workspace/utils/get-resolver-name.util.ts +++ b/packages/twenty-server/src/engine/utils/get-resolver-name.util.ts @@ -1,4 +1,4 @@ -import { WorkspaceResolverBuilderMethodNames } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.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 { camelCase } from 'src/utils/camel-case'; diff --git a/packages/twenty-server/src/engine-workspace/utils/is-relation-field-metadata-type.util.ts b/packages/twenty-server/src/engine/utils/is-relation-field-metadata-type.util.ts similarity index 100% rename from packages/twenty-server/src/engine-workspace/utils/is-relation-field-metadata-type.util.ts rename to packages/twenty-server/src/engine/utils/is-relation-field-metadata-type.util.ts diff --git a/packages/twenty-server/src/engine-workspace/utils/render-apollo-playground.util.ts b/packages/twenty-server/src/engine/utils/render-apollo-playground.util.ts similarity index 100% rename from packages/twenty-server/src/engine-workspace/utils/render-apollo-playground.util.ts rename to packages/twenty-server/src/engine/utils/render-apollo-playground.util.ts diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/clean-inactive-workspaces.command.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/clean-inactive-workspaces.command.ts index 1c08a9adf..822fd2e94 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/clean-inactive-workspaces.command.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/clean-inactive-workspaces.command.ts @@ -2,8 +2,8 @@ import { Inject } from '@nestjs/common'; import { Command, CommandRunner, Option } from 'nest-commander'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { CleanInactiveWorkspaceJob } from 'src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.job'; export type CleanInactiveWorkspacesCommandOptions = { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/start-clean-inactive-workspaces.cron.command.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/start-clean-inactive-workspaces.cron.command.ts index e17beb2eb..6188b7faf 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/start-clean-inactive-workspaces.cron.command.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/start-clean-inactive-workspaces.cron.command.ts @@ -2,8 +2,8 @@ import { Inject } from '@nestjs/common'; import { Command, CommandRunner } from 'nest-commander'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { cleanInactiveWorkspaceCronPattern } from 'src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.cron.pattern'; import { CleanInactiveWorkspaceJob } from 'src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.job'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/stop-clean-inactive-workspaces.cron.command.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/stop-clean-inactive-workspaces.cron.command.ts index 8c61a5a37..1dd6dd85e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/stop-clean-inactive-workspaces.cron.command.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/stop-clean-inactive-workspaces.cron.command.ts @@ -2,8 +2,8 @@ import { Inject } from '@nestjs/common'; import { Command, CommandRunner } from 'nest-commander'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { cleanInactiveWorkspaceCronPattern } from 'src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.cron.pattern'; import { CleanInactiveWorkspaceJob } from 'src/engine/workspace-manager/workspace-cleaner/crons/clean-inactive-workspace.job'; 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 4c9f71edd..af75e69bb 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 @@ -7,17 +7,17 @@ import { DeleteInactiveWorkspaceEmail, } from 'twenty-emails'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +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 { 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 { EmailService } from 'src/integrations/email/email.service'; -import { EnvironmentService } from 'src/integrations/environment/environment.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 { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +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-health/commands/workspace-health.command.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/commands/workspace-health.command.ts index 6d9bc0fcf..a54366e6b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/commands/workspace-health.command.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/commands/workspace-health.command.ts @@ -7,7 +7,7 @@ import { WorkspaceHealthMode } from 'src/engine/workspace-manager/workspace-heal import { WorkspaceHealthFixKind } from 'src/engine/workspace-manager/workspace-health/interfaces/workspace-health-fix-kind.interface'; import { WorkspaceHealthService } from 'src/engine/workspace-manager/workspace-health/workspace-health.service'; -import { CommandLogger } from 'src/commands/command-logger'; +import { CommandLogger } from 'src/command/command-logger'; interface WorkspaceHealthCommandOptions { workspaceId: string; 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 649df369e..57286171a 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 @@ -13,7 +13,7 @@ import { ObjectMetadataEntity } from 'src/engine-metadata/object-metadata/object 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 { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { DataSourceEntity } from 'src/engine-metadata/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'; 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 44e0b472b..65a2971c7 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 @@ -17,7 +17,7 @@ import { 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'; -import { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.util'; +import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; @Injectable() export class DatabaseStructureService { 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 1b4d45009..098aac67a 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 @@ -27,8 +27,8 @@ import { validateOptionsForType } from 'src/engine-metadata/field-metadata/utils import { serializeDefaultValue } from 'src/engine-metadata/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 { customNamePrefix } from 'src/engine-workspace/utils/compute-custom-name.util'; -import { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.util'; +import { customNamePrefix } from 'src/engine/utils/compute-custom-name.util'; +import { isRelationFieldMetadataType } from 'src/engine/utils/is-relation-field-metadata-type.util'; @Injectable() export class FieldMetadataHealthService { 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 921b10e8b..2d730b1ab 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 @@ -9,7 +9,7 @@ import { WorkspaceHealthOptions } from 'src/engine/workspace-manager/workspace-h import { ObjectMetadataEntity } from 'src/engine-metadata/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-workspace/utils/compute-object-target-table.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; @Injectable() export class ObjectMetadataHealthService { 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 73597592a..8433cc2e5 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 @@ -18,11 +18,11 @@ import { import { RelationDirection, deduceRelationDirection, -} from 'src/engine-workspace/utils/deduce-relation-direction.util'; +} 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 { isRelationFieldMetadataType } from 'src/engine-workspace/utils/is-relation-field-metadata-type.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'; @Injectable() 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 896d71560..70c3cd316 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 @@ -18,7 +18,7 @@ import { ObjectMetadataHealthService } from 'src/engine/workspace-manager/worksp 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-workspace/utils/compute-object-target-table.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { WorkspaceMigrationEntity } from 'src/engine-metadata/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-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 2ea64c384..7608cbb86 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 @@ -12,7 +12,7 @@ import { WorkspaceMigrationEntity, WorkspaceMigrationTableAction, } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +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'; 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 4ea31bbd3..e4118ddac 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 @@ -9,7 +9,7 @@ import { WorkspaceMigrationEntity, WorkspaceMigrationTableAction, } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +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'; 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 dc0136aaa..980d91723 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 @@ -8,7 +8,7 @@ import { WorkspaceMigrationEntity, WorkspaceMigrationTableAction, } from 'src/engine-metadata/workspace-migration/workspace-migration.entity'; -import { computeObjectTargetTable } from 'src/engine-workspace/utils/compute-object-target-table.util'; +import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util'; import { RelationMetadataEntity, RelationMetadataType, 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 4ac081335..397834ff6 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 @@ -2,7 +2,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 { CommandLogger } from 'src/commands/command-logger'; +import { CommandLogger } from 'src/command/command-logger'; @Injectable() export class SyncWorkspaceLoggerService { 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 86d727c14..d1baad13c 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 @@ -8,10 +8,10 @@ import { RelationMetadataType, RelationOnDeleteAction, } from 'src/engine-metadata/relation-metadata/relation-metadata.entity'; -import { ActivityTargetObjectMetadata } from 'src/business/modules/activity/activity-target.object-metadata'; +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/business/modules/favorite/favorite.object-metadata'; -import { AttachmentObjectMetadata } from 'src/business/modules/attachment/attachment.object-metadata'; +import { FavoriteObjectMetadata } from 'src/modules/favorite/standard-objects/favorite.object-metadata'; +import { AttachmentObjectMetadata } from 'src/modules/attachment/standard-objects/attachment.object-metadata'; import { customObjectStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; @BaseCustomObjectMetadata() diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/standard-objects/index.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/standard-objects/index.ts index e1ff8a4b2..0c3cfe2e0 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/standard-objects/index.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/standard-objects/index.ts @@ -1,30 +1,30 @@ -import { ActivityTargetObjectMetadata } from 'src/business/modules/activity/activity-target.object-metadata'; -import { ActivityObjectMetadata } from 'src/business/modules/activity/activity.object-metadata'; -import { ApiKeyObjectMetadata } from 'src/business/modules/api-key/api-key.object-metadata'; -import { AttachmentObjectMetadata } from 'src/business/modules/attachment/attachment.object-metadata'; -import { BlocklistObjectMetadata } from 'src/business/modules/calendar/blocklist.object-metadata'; -import { CalendarEventObjectMetadata } from 'src/business/modules/calendar/calendar-event.object-metadata'; -import { CalendarChannelObjectMetadata } from 'src/business/modules/calendar/calendar-channel.object-metadata'; -import { CalendarEventAttendeeObjectMetadata } from 'src/business/modules/calendar/calendar-event-attendee.object-metadata'; -import { CommentObjectMetadata } from 'src/business/modules/comment/comment.object-metadata'; -import { CompanyObjectMetadata } from 'src/business/modules/company/company.object-metadata'; -import { ConnectedAccountObjectMetadata } from 'src/business/modules/connected-account/connected-account.object-metadata'; -import { FavoriteObjectMetadata } from 'src/business/modules/favorite/favorite.object-metadata'; -import { MessageChannelMessageAssociationObjectMetadata } from 'src/business/modules/message/message-channel-message-association.object-metadata'; -import { MessageChannelObjectMetadata } from 'src/business/modules/message/message-channel.object-metadata'; -import { MessageParticipantObjectMetadata } from 'src/business/modules/message/message-participant.object-metadata'; -import { MessageThreadObjectMetadata } from 'src/business/modules/message/message-thread.object-metadata'; -import { MessageObjectMetadata } from 'src/business/modules/message/message.object-metadata'; -import { OpportunityObjectMetadata } from 'src/business/modules/opportunity/opportunity.object-metadata'; -import { PersonObjectMetadata } from 'src/business/modules/person/person.object-metadata'; -import { PipelineStepObjectMetadata } from 'src/business/modules/pipeline-step/pipeline-step.object-metadata'; -import { ViewFieldObjectMetadata } from 'src/business/modules/view/view-field.object-metadata'; -import { ViewFilterObjectMetadata } from 'src/business/modules/view/view-filter.object-metadata'; -import { ViewSortObjectMetadata } from 'src/business/modules/view/view-sort.object-metadata'; -import { ViewObjectMetadata } from 'src/business/modules/view/view.object-metadata'; -import { WebhookObjectMetadata } from 'src/business/modules/webhook/webhook.object-metadata'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; -import { CalendarChannelEventAssociationObjectMetadata } from 'src/business/modules/calendar/calendar-channel-event-association.object-metadata'; +import { ActivityTargetObjectMetadata } from 'src/modules/activity/standard-objects/activity-target.object-metadata'; +import { ActivityObjectMetadata } from 'src/modules/activity/standard-objects/activity.object-metadata'; +import { ApiKeyObjectMetadata } from 'src/modules/api-key/standard-objects/api-key.object-metadata'; +import { AttachmentObjectMetadata } from 'src/modules/attachment/standard-objects/attachment.object-metadata'; +import { BlocklistObjectMetadata } from 'src/modules/connected-account/standard-objects/blocklist.object-metadata'; +import { CalendarEventObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event.object-metadata'; +import { CalendarChannelObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-channel.object-metadata'; +import { CalendarEventAttendeeObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata'; +import { CommentObjectMetadata } from 'src/modules/activity/standard-objects/comment.object-metadata'; +import { CompanyObjectMetadata } from 'src/modules/company/standard-objects/company.object-metadata'; +import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; +import { FavoriteObjectMetadata } from 'src/modules/favorite/standard-objects/favorite.object-metadata'; +import { MessageChannelMessageAssociationObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel-message-association.object-metadata'; +import { MessageChannelObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel.object-metadata'; +import { MessageParticipantObjectMetadata } from 'src/modules/messaging/standard-objects/message-participant.object-metadata'; +import { MessageThreadObjectMetadata } from 'src/modules/messaging/standard-objects/message-thread.object-metadata'; +import { MessageObjectMetadata } from 'src/modules/messaging/standard-objects/message.object-metadata'; +import { OpportunityObjectMetadata } from 'src/modules/opportunity/standard-objects/opportunity.object-metadata'; +import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata'; +import { PipelineStepObjectMetadata } from 'src/modules/pipeline-step/standard-objects/pipeline-step.object-metadata'; +import { ViewFieldObjectMetadata } from 'src/modules/view/standard-objects/view-field.object-metadata'; +import { ViewFilterObjectMetadata } from 'src/modules/view/standard-objects/view-filter.object-metadata'; +import { ViewSortObjectMetadata } from 'src/modules/view/standard-objects/view-sort.object-metadata'; +import { ViewObjectMetadata } from 'src/modules/view/standard-objects/view.object-metadata'; +import { WebhookObjectMetadata } from 'src/modules/webhook/standard-objects/webhook.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; +import { CalendarChannelEventAssociationObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata'; export const standardObjectMetadataDefinitions = [ ActivityTargetObjectMetadata, diff --git a/packages/twenty-server/src/main.ts b/packages/twenty-server/src/main.ts index 7beec44ac..80b0543e4 100644 --- a/packages/twenty-server/src/main.ts +++ b/packages/twenty-server/src/main.ts @@ -11,8 +11,8 @@ import '@sentry/tracing'; import { AppModule } from './app.module'; import { settings } from './engine/constants/settings'; -import { LoggerService } from './integrations/logger/logger.service'; -import { EnvironmentService } from './integrations/environment/environment.service'; +import { LoggerService } from './engine/integrations/logger/logger.service'; +import { EnvironmentService } from './engine/integrations/environment/environment.service'; const bootstrap = async () => { const app = await NestFactory.create(AppModule, { diff --git a/packages/twenty-server/src/business/modules/activity/activity-target.object-metadata.ts b/packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts similarity index 88% rename from packages/twenty-server/src/business/modules/activity/activity-target.object-metadata.ts rename to packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts index 7bae811c4..1a39445b0 100644 --- a/packages/twenty-server/src/business/modules/activity/activity-target.object-metadata.ts +++ b/packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts @@ -7,11 +7,11 @@ import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metad 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 { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; -import { ActivityObjectMetadata } from 'src/business/modules/activity/activity.object-metadata'; +import { ActivityObjectMetadata } from 'src/modules/activity/standard-objects/activity.object-metadata'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { CompanyObjectMetadata } from 'src/business/modules/company/company.object-metadata'; -import { OpportunityObjectMetadata } from 'src/business/modules/opportunity/opportunity.object-metadata'; -import { PersonObjectMetadata } from 'src/business/modules/person/person.object-metadata'; +import { CompanyObjectMetadata } from 'src/modules/company/standard-objects/company.object-metadata'; +import { OpportunityObjectMetadata } from 'src/modules/opportunity/standard-objects/opportunity.object-metadata'; +import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.activityTarget, diff --git a/packages/twenty-server/src/business/modules/activity/activity.object-metadata.ts b/packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts similarity index 90% rename from packages/twenty-server/src/business/modules/activity/activity.object-metadata.ts rename to packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts index 78f26dcad..d22cc6d26 100644 --- a/packages/twenty-server/src/business/modules/activity/activity.object-metadata.ts +++ b/packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts @@ -7,11 +7,11 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; -import { ActivityTargetObjectMetadata } from 'src/business/modules/activity/activity-target.object-metadata'; -import { AttachmentObjectMetadata } from 'src/business/modules/attachment/attachment.object-metadata'; +import { ActivityTargetObjectMetadata } from 'src/modules/activity/standard-objects/activity-target.object-metadata'; +import { AttachmentObjectMetadata } from 'src/modules/attachment/standard-objects/attachment.object-metadata'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { CommentObjectMetadata } from 'src/business/modules/comment/comment.object-metadata'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { CommentObjectMetadata } from 'src/modules/activity/standard-objects/comment.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.activity, diff --git a/packages/twenty-server/src/business/modules/comment/comment.object-metadata.ts b/packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts similarity index 88% rename from packages/twenty-server/src/business/modules/comment/comment.object-metadata.ts rename to packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts index a0b964416..7fdb4595d 100644 --- a/packages/twenty-server/src/business/modules/comment/comment.object-metadata.ts +++ b/packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts @@ -4,9 +4,9 @@ import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-m 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'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; -import { ActivityObjectMetadata } from 'src/business/modules/activity/activity.object-metadata'; +import { ActivityObjectMetadata } from 'src/modules/activity/standard-objects/activity.object-metadata'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.comment, diff --git a/packages/twenty-server/src/business/modules/api-key/api-key.object-metadata.ts b/packages/twenty-server/src/modules/api-key/standard-objects/api-key.object-metadata.ts similarity index 100% rename from packages/twenty-server/src/business/modules/api-key/api-key.object-metadata.ts rename to packages/twenty-server/src/modules/api-key/standard-objects/api-key.object-metadata.ts diff --git a/packages/twenty-server/src/business/modules/attachment/attachment.object-metadata.ts b/packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts similarity index 87% rename from packages/twenty-server/src/business/modules/attachment/attachment.object-metadata.ts rename to packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts index d86d03c47..470abe7a5 100644 --- a/packages/twenty-server/src/business/modules/attachment/attachment.object-metadata.ts +++ b/packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts @@ -7,12 +7,12 @@ import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metad 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 { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; -import { ActivityObjectMetadata } from 'src/business/modules/activity/activity.object-metadata'; +import { ActivityObjectMetadata } from 'src/modules/activity/standard-objects/activity.object-metadata'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { CompanyObjectMetadata } from 'src/business/modules/company/company.object-metadata'; -import { OpportunityObjectMetadata } from 'src/business/modules/opportunity/opportunity.object-metadata'; -import { PersonObjectMetadata } from 'src/business/modules/person/person.object-metadata'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { CompanyObjectMetadata } from 'src/modules/company/standard-objects/company.object-metadata'; +import { OpportunityObjectMetadata } from 'src/modules/opportunity/standard-objects/opportunity.object-metadata'; +import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.attachment, diff --git a/packages/twenty-server/src/modules/calendar/calendar.module.ts b/packages/twenty-server/src/modules/calendar/calendar.module.ts new file mode 100644 index 000000000..6d688c6c8 --- /dev/null +++ b/packages/twenty-server/src/modules/calendar/calendar.module.ts @@ -0,0 +1,41 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; + +import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; +import { EnvironmentModule } from 'src/engine/integrations/environment/environment.module'; +import { CreateCompaniesAndContactsModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module'; +import { BlocklistModule } from 'src/modules/connected-account/repositories/blocklist/blocklist.module'; +import { ConnectedAccountModule } from 'src/modules/connected-account/repositories/connected-account/connected-account.module'; +import { CalendarChannelEventAssociationModule } from 'src/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-assocation.module'; +import { CalendarChannelModule } from 'src/modules/calendar/repositories/calendar-channel/calendar-channel.module'; +import { CalendarEventAttendeeModule } from 'src/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.module'; +import { CalendarEventModule } from 'src/modules/calendar/repositories/calendar-event/calendar-event.module'; +import { CalendarEventCleanerModule } from 'src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module'; +import { GoogleCalendarFullSyncService } from 'src/modules/calendar/services/google-calendar-full-sync.service'; +import { GoogleCalendarClientProvider } from 'src/modules/calendar/services/providers/google-calendar/google-calendar.provider'; +import { CompanyModule } from 'src/modules/messaging/repositories/company/company.module'; +import { PersonModule } from 'src/modules/person/repositories/person/person.module'; +import { WorkspaceMemberModule } from 'src/modules/workspace-member/repositories/workspace-member/workspace-member.module'; +import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; + +@Module({ + imports: [ + EnvironmentModule, + WorkspaceDataSourceModule, + ConnectedAccountModule, + CalendarChannelModule, + CalendarChannelEventAssociationModule, + CalendarEventModule, + CalendarEventAttendeeModule, + CreateCompaniesAndContactsModule, + WorkspaceMemberModule, + TypeOrmModule.forFeature([FeatureFlagEntity], 'core'), + CompanyModule, + PersonModule, + BlocklistModule, + CalendarEventCleanerModule, + ], + providers: [GoogleCalendarFullSyncService, GoogleCalendarClientProvider], + exports: [GoogleCalendarFullSyncService], +}) +export class CalendarModule {} diff --git a/packages/twenty-server/src/business/modules/calendar/commands/google-calendar-full-sync.command.ts b/packages/twenty-server/src/modules/calendar/commands/google-calendar-full-sync.command.ts similarity index 79% rename from packages/twenty-server/src/business/modules/calendar/commands/google-calendar-full-sync.command.ts rename to packages/twenty-server/src/modules/calendar/commands/google-calendar-full-sync.command.ts index 0ef73ee8f..4401d58f2 100644 --- a/packages/twenty-server/src/business/modules/calendar/commands/google-calendar-full-sync.command.ts +++ b/packages/twenty-server/src/modules/calendar/commands/google-calendar-full-sync.command.ts @@ -2,13 +2,13 @@ import { Inject } from '@nestjs/common'; import { Command, CommandRunner, Option } from 'nest-commander'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { ConnectedAccountService } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; +import { ConnectedAccountService } from 'src/modules/connected-account/repositories/connected-account/connected-account.service'; import { GoogleCalendarFullSyncJobData, GoogleCalendarFullSyncJob, -} from 'src/business/modules/calendar/jobs/google-calendar-full-sync.job'; +} from 'src/modules/calendar/jobs/google-calendar-full-sync.job'; interface GoogleCalendarFullSyncOptions { workspaceId: string; diff --git a/packages/twenty-server/src/business/modules/calendar/commands/workspace-calendar-sync-commands.module.ts b/packages/twenty-server/src/modules/calendar/commands/workspace-calendar-sync-commands.module.ts similarity index 69% rename from packages/twenty-server/src/business/modules/calendar/commands/workspace-calendar-sync-commands.module.ts rename to packages/twenty-server/src/modules/calendar/commands/workspace-calendar-sync-commands.module.ts index a4ca0fc3a..bcaa654bb 100644 --- a/packages/twenty-server/src/business/modules/calendar/commands/workspace-calendar-sync-commands.module.ts +++ b/packages/twenty-server/src/modules/calendar/commands/workspace-calendar-sync-commands.module.ts @@ -4,8 +4,8 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; -import { ConnectedAccountModule } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.module'; -import { GoogleCalendarFullSyncCommand } from 'src/business/modules/calendar/commands/google-calendar-full-sync.command'; +import { ConnectedAccountModule } from 'src/modules/connected-account/repositories/connected-account/connected-account.module'; +import { GoogleCalendarFullSyncCommand } from 'src/modules/calendar/commands/google-calendar-full-sync.command'; @Module({ imports: [ diff --git a/packages/twenty-server/src/business/modules/calendar/jobs/google-calendar-full-sync.job.ts b/packages/twenty-server/src/modules/calendar/jobs/google-calendar-full-sync.job.ts similarity index 78% rename from packages/twenty-server/src/business/modules/calendar/jobs/google-calendar-full-sync.job.ts rename to packages/twenty-server/src/modules/calendar/jobs/google-calendar-full-sync.job.ts index 66066db55..9759bbf6b 100644 --- a/packages/twenty-server/src/business/modules/calendar/jobs/google-calendar-full-sync.job.ts +++ b/packages/twenty-server/src/modules/calendar/jobs/google-calendar-full-sync.job.ts @@ -1,9 +1,9 @@ import { Injectable, Logger } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { GoogleAPIsRefreshAccessTokenService } from 'src/business/modules/calendar-and-messaging/services/google-apis-refresh-access-token.service'; -import { GoogleCalendarFullSyncService } from 'src/business/modules/calendar/services/google-calendar-full-sync.service'; +import { GoogleAPIsRefreshAccessTokenService } from 'src/modules/connected-account/services/google-apis-refresh-access-token.service'; +import { GoogleCalendarFullSyncService } from 'src/modules/calendar/services/google-calendar-full-sync.service'; export type GoogleCalendarFullSyncJobData = { workspaceId: string; diff --git a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-assocation.module.ts b/packages/twenty-server/src/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-assocation.module.ts similarity index 66% rename from packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-assocation.module.ts rename to packages/twenty-server/src/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-assocation.module.ts index 7c7121191..2b044c87f 100644 --- a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-assocation.module.ts +++ b/packages/twenty-server/src/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-assocation.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { CalendarChannelEventAssociationService } from 'src/business/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service'; +import { CalendarChannelEventAssociationService } from 'src/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service.ts b/packages/twenty-server/src/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service.ts similarity index 96% rename from packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service.ts rename to packages/twenty-server/src/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service.ts index af8050d45..8ea4b8980 100644 --- a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service.ts +++ b/packages/twenty-server/src/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service.ts @@ -4,8 +4,8 @@ import { EntityManager } from 'typeorm'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; -import { CalendarChannelEventAssociationObjectMetadata } from 'src/business/modules/calendar/calendar-channel-event-association.object-metadata'; -import { getFlattenedValuesAndValuesStringForBatchRawQuery } from 'src/business/modules/calendar-and-messaging/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util'; +import { CalendarChannelEventAssociationObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata'; +import { getFlattenedValuesAndValuesStringForBatchRawQuery } from 'src/modules/calendar/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util'; @Injectable() export class CalendarChannelEventAssociationService { diff --git a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel/calendar-channel.module.ts b/packages/twenty-server/src/modules/calendar/repositories/calendar-channel/calendar-channel.module.ts similarity index 71% rename from packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel/calendar-channel.module.ts rename to packages/twenty-server/src/modules/calendar/repositories/calendar-channel/calendar-channel.module.ts index be0468f06..3640b0984 100644 --- a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel/calendar-channel.module.ts +++ b/packages/twenty-server/src/modules/calendar/repositories/calendar-channel/calendar-channel.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { CalendarChannelService } from 'src/business/modules/calendar/repositories/calendar-channel/calendar-channel.service'; +import { CalendarChannelService } from 'src/modules/calendar/repositories/calendar-channel/calendar-channel.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel/calendar-channel.service.ts b/packages/twenty-server/src/modules/calendar/repositories/calendar-channel/calendar-channel.service.ts similarity index 95% rename from packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel/calendar-channel.service.ts rename to packages/twenty-server/src/modules/calendar/repositories/calendar-channel/calendar-channel.service.ts index 152e8c345..85921f68c 100644 --- a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-channel/calendar-channel.service.ts +++ b/packages/twenty-server/src/modules/calendar/repositories/calendar-channel/calendar-channel.service.ts @@ -3,7 +3,7 @@ import { Injectable } from '@nestjs/common'; import { EntityManager } from 'typeorm'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { CalendarChannelObjectMetadata } from 'src/business/modules/calendar/calendar-channel.object-metadata'; +import { CalendarChannelObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-channel.object-metadata'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; @Injectable() diff --git a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.module.ts b/packages/twenty-server/src/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.module.ts similarity index 69% rename from packages/twenty-server/src/business/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.module.ts rename to packages/twenty-server/src/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.module.ts index 95ee36ceb..64e015520 100644 --- a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.module.ts +++ b/packages/twenty-server/src/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { CalendarEventAttendeeService } from 'src/business/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service'; +import { CalendarEventAttendeeService } from 'src/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service.ts b/packages/twenty-server/src/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service.ts similarity index 93% rename from packages/twenty-server/src/business/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service.ts rename to packages/twenty-server/src/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service.ts index b5d168b90..737604d66 100644 --- a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service.ts +++ b/packages/twenty-server/src/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service.ts @@ -4,9 +4,9 @@ import { EntityManager } from 'typeorm'; 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/business/modules/calendar/calendar-event-attendee.object-metadata'; -import { getFlattenedValuesAndValuesStringForBatchRawQuery } from 'src/business/modules/calendar-and-messaging/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util'; -import { CalendarEventAttendee } from 'src/business/modules/calendar/types/calendar-event'; +import { CalendarEventAttendeeObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata'; +import { getFlattenedValuesAndValuesStringForBatchRawQuery } from 'src/modules/calendar/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util'; +import { CalendarEventAttendee } from 'src/modules/calendar/types/calendar-event'; @Injectable() export class CalendarEventAttendeeService { diff --git a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-event/calendar-event.module.ts b/packages/twenty-server/src/modules/calendar/repositories/calendar-event/calendar-event.module.ts similarity index 71% rename from packages/twenty-server/src/business/modules/calendar/repositories/calendar-event/calendar-event.module.ts rename to packages/twenty-server/src/modules/calendar/repositories/calendar-event/calendar-event.module.ts index 5285bfb04..7d501958f 100644 --- a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-event/calendar-event.module.ts +++ b/packages/twenty-server/src/modules/calendar/repositories/calendar-event/calendar-event.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { CalendarEventService } from 'src/business/modules/calendar/repositories/calendar-event/calendar-event.service'; +import { CalendarEventService } from 'src/modules/calendar/repositories/calendar-event/calendar-event.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-event/calendar-event.service.ts b/packages/twenty-server/src/modules/calendar/repositories/calendar-event/calendar-event.service.ts similarity index 93% rename from packages/twenty-server/src/business/modules/calendar/repositories/calendar-event/calendar-event.service.ts rename to packages/twenty-server/src/modules/calendar/repositories/calendar-event/calendar-event.service.ts index 3316d12e9..2a0d81014 100644 --- a/packages/twenty-server/src/business/modules/calendar/repositories/calendar-event/calendar-event.service.ts +++ b/packages/twenty-server/src/modules/calendar/repositories/calendar-event/calendar-event.service.ts @@ -4,10 +4,10 @@ import { EntityManager } from 'typeorm'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; -import { CalendarEventObjectMetadata } from 'src/business/modules/calendar/calendar-event.object-metadata'; -import { getFlattenedValuesAndValuesStringForBatchRawQuery } from 'src/business/modules/calendar-and-messaging/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util'; -import { CalendarEvent } from 'src/business/modules/calendar/types/calendar-event'; -import { CalendarEventAttendeeObjectMetadata } from 'src/business/modules/calendar/calendar-event-attendee.object-metadata'; +import { CalendarEventObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event.object-metadata'; +import { getFlattenedValuesAndValuesStringForBatchRawQuery } from 'src/modules/calendar/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util'; +import { CalendarEvent } from 'src/modules/calendar/types/calendar-event'; +import { CalendarEventAttendeeObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata'; @Injectable() export class CalendarEventService { diff --git a/packages/twenty-server/src/business/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module.ts b/packages/twenty-server/src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module.ts similarity index 61% rename from packages/twenty-server/src/business/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module.ts rename to packages/twenty-server/src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module.ts index b76f322d5..98c1df1fb 100644 --- a/packages/twenty-server/src/business/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module.ts +++ b/packages/twenty-server/src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module.ts @@ -2,8 +2,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 { CalendarEventModule } from 'src/business/modules/calendar/repositories/calendar-event/calendar-event.module'; -import { CalendarEventCleanerService } from 'src/business/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service'; +import { CalendarEventModule } from 'src/modules/calendar/repositories/calendar-event/calendar-event.module'; +import { CalendarEventCleanerService } from 'src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service'; @Module({ imports: [DataSourceModule, TypeORMModule, CalendarEventModule], diff --git a/packages/twenty-server/src/business/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service.ts b/packages/twenty-server/src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service.ts similarity index 67% rename from packages/twenty-server/src/business/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service.ts rename to packages/twenty-server/src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service.ts index 12a299541..c3128a326 100644 --- a/packages/twenty-server/src/business/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service.ts +++ b/packages/twenty-server/src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { CalendarEventService } from 'src/business/modules/calendar/repositories/calendar-event/calendar-event.service'; -import { deleteUsingPagination } from 'src/business/modules/message/services/thread-cleaner/utils/delete-using-pagination.util'; +import { CalendarEventService } from 'src/modules/calendar/repositories/calendar-event/calendar-event.service'; +import { deleteUsingPagination } from 'src/modules/messaging/services/thread-cleaner/utils/delete-using-pagination.util'; @Injectable() export class CalendarEventCleanerService { diff --git a/packages/twenty-server/src/business/modules/calendar/services/google-calendar-full-sync.service.ts b/packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.service.ts similarity index 84% rename from packages/twenty-server/src/business/modules/calendar/services/google-calendar-full-sync.service.ts rename to packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.service.ts index 714dc8f35..a5f10af87 100644 --- a/packages/twenty-server/src/business/modules/calendar/services/google-calendar-full-sync.service.ts +++ b/packages/twenty-server/src/modules/calendar/services/google-calendar-full-sync.service.ts @@ -3,23 +3,23 @@ import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; -import { ConnectedAccountService } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service'; -import { BlocklistService } from 'src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.service'; +import { ConnectedAccountService } from 'src/modules/connected-account/repositories/connected-account/connected-account.service'; +import { BlocklistService } from 'src/modules/connected-account/repositories/blocklist/blocklist.service'; import { FeatureFlagEntity, FeatureFlagKeys, } from 'src/engine/modules/feature-flag/feature-flag.entity'; -import { GoogleCalendarClientProvider } from 'src/business/modules/calendar/services/providers/google-calendar/google-calendar.provider'; -import { googleCalendarSearchFilterExcludeEmails } from 'src/business/modules/calendar/utils/google-calendar-search-filter.util'; -import { CalendarChannelEventAssociationService } from 'src/business/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service'; -import { CalendarChannelService } from 'src/business/modules/calendar/repositories/calendar-channel/calendar-channel.service'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +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 { CalendarChannelEventAssociationService } from 'src/modules/calendar/repositories/calendar-channel-event-association/calendar-channel-event-association.service'; +import { CalendarChannelService } from 'src/modules/calendar/repositories/calendar-channel/calendar-channel.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { CalendarEventService } from 'src/business/modules/calendar/repositories/calendar-event/calendar-event.service'; -import { formatGoogleCalendarEvent } from 'src/business/modules/calendar/utils/format-google-calendar-event.util'; -import { GoogleCalendarFullSyncJobData } from 'src/business/modules/calendar/jobs/google-calendar-full-sync.job'; -import { CalendarEventAttendeeService } from 'src/business/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service'; +import { CalendarEventService } from 'src/modules/calendar/repositories/calendar-event/calendar-event.service'; +import { formatGoogleCalendarEvent } from 'src/modules/calendar/utils/format-google-calendar-event.util'; +import { GoogleCalendarFullSyncJobData } from 'src/modules/calendar/jobs/google-calendar-full-sync.job'; +import { CalendarEventAttendeeService } from 'src/modules/calendar/repositories/calendar-event-attendee/calendar-event-attendee.service'; @Injectable() export class GoogleCalendarFullSyncService { diff --git a/packages/twenty-server/src/modules/calendar/services/providers/calendar-providers.module.ts b/packages/twenty-server/src/modules/calendar/services/providers/calendar-providers.module.ts new file mode 100644 index 000000000..67f8064f7 --- /dev/null +++ b/packages/twenty-server/src/modules/calendar/services/providers/calendar-providers.module.ts @@ -0,0 +1,11 @@ +import { Module } from '@nestjs/common'; + +import { EnvironmentModule } from 'src/engine/integrations/environment/environment.module'; +import { GoogleCalendarClientProvider } from 'src/modules/calendar/services/providers/google-calendar/google-calendar.provider'; + +@Module({ + imports: [EnvironmentModule], + providers: [GoogleCalendarClientProvider], + exports: [GoogleCalendarClientProvider], +}) +export class CalendarProvidersModule {} diff --git a/packages/twenty-server/src/business/modules/calendar/services/providers/google-calendar/google-calendar.provider.ts b/packages/twenty-server/src/modules/calendar/services/providers/google-calendar/google-calendar.provider.ts similarity index 92% rename from packages/twenty-server/src/business/modules/calendar/services/providers/google-calendar/google-calendar.provider.ts rename to packages/twenty-server/src/modules/calendar/services/providers/google-calendar/google-calendar.provider.ts index d93f7e9f8..6e2faa04e 100644 --- a/packages/twenty-server/src/business/modules/calendar/services/providers/google-calendar/google-calendar.provider.ts +++ b/packages/twenty-server/src/modules/calendar/services/providers/google-calendar/google-calendar.provider.ts @@ -3,7 +3,7 @@ import { Injectable } from '@nestjs/common'; import { OAuth2Client } from 'google-auth-library'; import { calendar_v3 as calendarV3, google } from 'googleapis'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Injectable() export class GoogleCalendarClientProvider { diff --git a/packages/twenty-server/src/business/modules/calendar/calendar-channel-event-association.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts similarity index 95% rename from packages/twenty-server/src/business/modules/calendar/calendar-channel-event-association.object-metadata.ts rename to packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts index 2aa9fefcb..01557560e 100644 --- a/packages/twenty-server/src/business/modules/calendar/calendar-channel-event-association.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts @@ -7,7 +7,7 @@ import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decor import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { CalendarEventObjectMetadata } from 'src/business/modules/calendar/calendar-event.object-metadata'; +import { CalendarEventObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.calendarChannelEventAssociation, diff --git a/packages/twenty-server/src/business/modules/calendar/calendar-channel.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts similarity index 95% rename from packages/twenty-server/src/business/modules/calendar/calendar-channel.object-metadata.ts rename to packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts index dbbc8529f..dfeb0a2b5 100644 --- a/packages/twenty-server/src/business/modules/calendar/calendar-channel.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts @@ -11,8 +11,8 @@ import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decor import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { ConnectedAccountObjectMetadata } from 'src/business/modules/connected-account/connected-account.object-metadata'; -import { CalendarChannelEventAssociationObjectMetadata } from 'src/business/modules/calendar/calendar-channel-event-association.object-metadata'; +import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; +import { CalendarChannelEventAssociationObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; export enum CalendarChannelVisibility { diff --git a/packages/twenty-server/src/business/modules/calendar/calendar-event-attendee.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata.ts similarity index 92% rename from packages/twenty-server/src/business/modules/calendar/calendar-event-attendee.object-metadata.ts rename to packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata.ts index 8507d5c3b..2ba5c2878 100644 --- a/packages/twenty-server/src/business/modules/calendar/calendar-event-attendee.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata.ts @@ -7,9 +7,9 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { CalendarEventObjectMetadata } from 'src/business/modules/calendar/calendar-event.object-metadata'; -import { PersonObjectMetadata } from 'src/business/modules/person/person.object-metadata'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { CalendarEventObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event.object-metadata'; +import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; export enum CalendarEventAttendeeResponseStatus { NEEDS_ACTION = 'NEEDS_ACTION', diff --git a/packages/twenty-server/src/business/modules/calendar/calendar-event.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts similarity index 96% rename from packages/twenty-server/src/business/modules/calendar/calendar-event.object-metadata.ts rename to packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts index 8eb6a7467..968c83c3c 100644 --- a/packages/twenty-server/src/business/modules/calendar/calendar-event.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts @@ -10,8 +10,8 @@ import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decor import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { CalendarChannelEventAssociationObjectMetadata } from 'src/business/modules/calendar/calendar-channel-event-association.object-metadata'; -import { CalendarEventAttendeeObjectMetadata } from 'src/business/modules/calendar/calendar-event-attendee.object-metadata'; +import { CalendarChannelEventAssociationObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata'; +import { CalendarEventAttendeeObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata'; import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-nullable.decorator'; import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids'; import { calendarEventStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; diff --git a/packages/twenty-server/src/business/modules/calendar/types/calendar-event.ts b/packages/twenty-server/src/modules/calendar/types/calendar-event.ts similarity index 73% rename from packages/twenty-server/src/business/modules/calendar/types/calendar-event.ts rename to packages/twenty-server/src/modules/calendar/types/calendar-event.ts index e273ba67c..83db8d0d8 100644 --- a/packages/twenty-server/src/business/modules/calendar/types/calendar-event.ts +++ b/packages/twenty-server/src/modules/calendar/types/calendar-event.ts @@ -1,5 +1,5 @@ -import { CalendarEventAttendeeObjectMetadata } from 'src/business/modules/calendar/calendar-event-attendee.object-metadata'; -import { CalendarEventObjectMetadata } from 'src/business/modules/calendar/calendar-event.object-metadata'; +import { CalendarEventAttendeeObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata'; +import { CalendarEventObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event.object-metadata'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; export type CalendarEvent = Omit< diff --git a/packages/twenty-server/src/business/modules/calendar/utils/format-google-calendar-event.util.ts b/packages/twenty-server/src/modules/calendar/utils/format-google-calendar-event.util.ts similarity index 88% rename from packages/twenty-server/src/business/modules/calendar/utils/format-google-calendar-event.util.ts rename to packages/twenty-server/src/modules/calendar/utils/format-google-calendar-event.util.ts index 795aad17e..e99234263 100644 --- a/packages/twenty-server/src/business/modules/calendar/utils/format-google-calendar-event.util.ts +++ b/packages/twenty-server/src/modules/calendar/utils/format-google-calendar-event.util.ts @@ -1,8 +1,8 @@ import { calendar_v3 } from 'googleapis'; import { v4 } from 'uuid'; -import { CalendarEventWithAttendees } from 'src/business/modules/calendar/types/calendar-event'; -import { CalendarEventAttendeeResponseStatus } from 'src/business/modules/calendar/calendar-event-attendee.object-metadata'; +import { CalendarEventWithAttendees } from 'src/modules/calendar/types/calendar-event'; +import { CalendarEventAttendeeResponseStatus } from 'src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata'; export const formatGoogleCalendarEvent = ( event: calendar_v3.Schema$Event, diff --git a/packages/twenty-server/src/business/modules/calendar-and-messaging/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util.ts b/packages/twenty-server/src/modules/calendar/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util.ts similarity index 100% rename from packages/twenty-server/src/business/modules/calendar-and-messaging/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util.ts rename to packages/twenty-server/src/modules/calendar/utils/getFlattenedValuesAndValuesStringForBatchRawQuery.util.ts diff --git a/packages/twenty-server/src/business/modules/calendar/utils/google-calendar-search-filter.util.ts b/packages/twenty-server/src/modules/calendar/utils/google-calendar-search-filter.util.ts similarity index 100% rename from packages/twenty-server/src/business/modules/calendar/utils/google-calendar-search-filter.util.ts rename to packages/twenty-server/src/modules/calendar/utils/google-calendar-search-filter.util.ts diff --git a/packages/twenty-server/src/business/modules/company/company.object-metadata.ts b/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts similarity index 90% rename from packages/twenty-server/src/business/modules/company/company.object-metadata.ts rename to packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts index bd561c8e8..f951c066e 100644 --- a/packages/twenty-server/src/business/modules/company/company.object-metadata.ts +++ b/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts @@ -12,13 +12,13 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; -import { ActivityTargetObjectMetadata } from 'src/business/modules/activity/activity-target.object-metadata'; -import { AttachmentObjectMetadata } from 'src/business/modules/attachment/attachment.object-metadata'; +import { ActivityTargetObjectMetadata } from 'src/modules/activity/standard-objects/activity-target.object-metadata'; +import { AttachmentObjectMetadata } from 'src/modules/attachment/standard-objects/attachment.object-metadata'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { FavoriteObjectMetadata } from 'src/business/modules/favorite/favorite.object-metadata'; -import { OpportunityObjectMetadata } from 'src/business/modules/opportunity/opportunity.object-metadata'; -import { PersonObjectMetadata } from 'src/business/modules/person/person.object-metadata'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { FavoriteObjectMetadata } from 'src/modules/favorite/standard-objects/favorite.object-metadata'; +import { OpportunityObjectMetadata } from 'src/modules/opportunity/standard-objects/opportunity.object-metadata'; +import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.company, diff --git a/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module.ts b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module.ts new file mode 100644 index 000000000..a6877df0f --- /dev/null +++ b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module.ts @@ -0,0 +1,21 @@ +import { Module } from '@nestjs/common'; + +import { PersonModule } from 'src/modules/person/repositories/person/person.module'; +import { WorkspaceMemberModule } from 'src/modules/workspace-member/repositories/workspace-member/workspace-member.module'; +import { CreateCompanyAndContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service'; +import { CreateCompanyModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.module'; +import { CreateContactModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.module'; +import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; + +@Module({ + imports: [ + WorkspaceDataSourceModule, + CreateContactModule, + CreateCompanyModule, + WorkspaceMemberModule, + PersonModule, + ], + providers: [CreateCompanyAndContactService], + exports: [CreateCompanyAndContactService], +}) +export class CreateCompaniesAndContactsModule {} diff --git a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service.ts b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service.ts similarity index 77% rename from packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service.ts rename to packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service.ts index db386ef7e..0462bc075 100644 --- a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service.ts +++ b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service.ts @@ -3,14 +3,14 @@ import { Injectable } from '@nestjs/common'; import { EntityManager } from 'typeorm'; import compact from 'lodash/compact'; -import { Participant } from 'src/business/modules/message/types/gmail-message'; -import { getDomainNameFromHandle } from 'src/business/modules/message/utils/get-domain-name-from-handle.util'; -import { CreateCompanyService } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company/create-company.service'; -import { CreateContactService } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-contact/create-contact.service'; -import { PersonService } from 'src/engine-workspace/repositories/person/person.service'; -import { WorkspaceMemberService } from 'src/engine-workspace/repositories/workspace-member/workspace-member.service'; -import { getUniqueParticipantsAndHandles } from 'src/business/modules/message/utils/get-unique-participants-and-handles.util'; -import { filterOutParticipantsFromCompanyOrWorkspace } from 'src/business/modules/message/utils/filter-out-participants-from-company-or-workspace.util'; +import { Participant } from 'src/modules/messaging/types/gmail-message'; +import { getDomainNameFromHandle } from 'src/modules/messaging/utils/get-domain-name-from-handle.util'; +import { CreateCompanyService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.service'; +import { CreateContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.service'; +import { PersonService } from 'src/modules/person/repositories/person/person.service'; +import { WorkspaceMemberService } from 'src/modules/workspace-member/repositories/workspace-member/workspace-member.service'; +import { getUniqueParticipantsAndHandles } from 'src/modules/messaging/utils/get-unique-participants-and-handles.util'; +import { filterOutParticipantsFromCompanyOrWorkspace } from 'src/modules/messaging/utils/filter-out-participants-from-company-or-workspace.util'; import { isWorkEmail } from 'src/utils/is-work-email'; @Injectable() diff --git a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company/create-company.module.ts b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.module.ts similarity index 57% rename from packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company/create-company.module.ts rename to packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.module.ts index e413edead..31e2e68c7 100644 --- a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company/create-company.module.ts +++ b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { CreateCompanyService } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company/create-company.service'; -import { CompanyModule } from 'src/business/modules/message/repositories/company/company.module'; +import { CreateCompanyService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.service'; +import { CompanyModule } from 'src/modules/messaging/repositories/company/company.module'; @Module({ imports: [WorkspaceDataSourceModule, CompanyModule], diff --git a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company/create-company.service.ts b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.service.ts similarity index 92% rename from packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company/create-company.service.ts rename to packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.service.ts index cc755090f..4052b1cbe 100644 --- a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-company/create-company.service.ts +++ b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.service.ts @@ -4,8 +4,8 @@ import { EntityManager } from 'typeorm'; import { v4 } from 'uuid'; import axios, { AxiosInstance } from 'axios'; -import { CompanyService } from 'src/business/modules/message/repositories/company/company.service'; -import { getCompanyNameFromDomainName } from 'src/business/modules/message/utils/get-company-name-from-domain-name.util'; +import { CompanyService } from 'src/modules/messaging/repositories/company/company.service'; +import { getCompanyNameFromDomainName } from 'src/modules/messaging/utils/get-company-name-from-domain-name.util'; @Injectable() export class CreateCompanyService { private readonly httpService: AxiosInstance; diff --git a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-contact/create-contact.module.ts b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.module.ts similarity index 58% rename from packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-contact/create-contact.module.ts rename to packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.module.ts index 612877ec5..faa940425 100644 --- a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-contact/create-contact.module.ts +++ b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { CreateContactService } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-contact/create-contact.service'; -import { PersonModule } from 'src/engine-workspace/repositories/person/person.module'; +import { CreateContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.service'; +import { PersonModule } from 'src/modules/person/repositories/person/person.module'; @Module({ imports: [WorkspaceDataSourceModule, PersonModule], diff --git a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-contact/create-contact.service.ts b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.service.ts similarity index 87% rename from packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-contact/create-contact.service.ts rename to packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.service.ts index 03e4dfe91..c96bbc2fd 100644 --- a/packages/twenty-server/src/engine-workspace/auto-companies-and-contacts-creation/create-contact/create-contact.service.ts +++ b/packages/twenty-server/src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.service.ts @@ -3,8 +3,8 @@ import { Injectable } from '@nestjs/common'; import { EntityManager } from 'typeorm'; import { v4 } from 'uuid'; -import { PersonService } from 'src/engine-workspace/repositories/person/person.service'; -import { getFirstNameAndLastNameFromHandleAndDisplayName } from 'src/business/modules/message/utils/get-first-name-and-last-name-from-handle-and-display-name.util'; +import { PersonService } from 'src/modules/person/repositories/person/person.service'; +import { getFirstNameAndLastNameFromHandleAndDisplayName } from 'src/modules/messaging/utils/get-first-name-and-last-name-from-handle-and-display-name.util'; type ContactToCreate = { handle: string; diff --git a/packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.module.ts b/packages/twenty-server/src/modules/connected-account/repositories/blocklist/blocklist.module.ts similarity index 71% rename from packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.module.ts rename to packages/twenty-server/src/modules/connected-account/repositories/blocklist/blocklist.module.ts index 875ae2223..08e623074 100644 --- a/packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.module.ts +++ b/packages/twenty-server/src/modules/connected-account/repositories/blocklist/blocklist.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { BlocklistService } from 'src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.service'; +import { BlocklistService } from 'src/modules/connected-account/repositories/blocklist/blocklist.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.service.ts b/packages/twenty-server/src/modules/connected-account/repositories/blocklist/blocklist.service.ts similarity index 89% rename from packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.service.ts rename to packages/twenty-server/src/modules/connected-account/repositories/blocklist/blocklist.service.ts index 433f02da6..f8ff607e8 100644 --- a/packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.service.ts +++ b/packages/twenty-server/src/modules/connected-account/repositories/blocklist/blocklist.service.ts @@ -4,7 +4,7 @@ import { EntityManager } from 'typeorm'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; -import { BlocklistObjectMetadata } from 'src/business/modules/calendar/blocklist.object-metadata'; +import { BlocklistObjectMetadata } from 'src/modules/connected-account/standard-objects/blocklist.object-metadata'; @Injectable() export class BlocklistService { diff --git a/packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.module.ts b/packages/twenty-server/src/modules/connected-account/repositories/connected-account/connected-account.module.ts similarity index 68% rename from packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.module.ts rename to packages/twenty-server/src/modules/connected-account/repositories/connected-account/connected-account.module.ts index 36b951484..736d2e303 100644 --- a/packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.module.ts +++ b/packages/twenty-server/src/modules/connected-account/repositories/connected-account/connected-account.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { ConnectedAccountService } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service'; +import { ConnectedAccountService } from 'src/modules/connected-account/repositories/connected-account/connected-account.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service.ts b/packages/twenty-server/src/modules/connected-account/repositories/connected-account/connected-account.service.ts similarity index 97% rename from packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service.ts rename to packages/twenty-server/src/modules/connected-account/repositories/connected-account/connected-account.service.ts index e6f766cb2..739da879a 100644 --- a/packages/twenty-server/src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service.ts +++ b/packages/twenty-server/src/modules/connected-account/repositories/connected-account/connected-account.service.ts @@ -3,7 +3,7 @@ import { Injectable, NotFoundException } from '@nestjs/common'; import { EntityManager } from 'typeorm'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { ConnectedAccountObjectMetadata } from 'src/business/modules/connected-account/connected-account.object-metadata'; +import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; @Injectable() diff --git a/packages/twenty-server/src/business/modules/calendar-and-messaging/services/google-apis-refresh-access-token.service.ts b/packages/twenty-server/src/modules/connected-account/services/google-apis-refresh-access-token.service.ts similarity index 87% rename from packages/twenty-server/src/business/modules/calendar-and-messaging/services/google-apis-refresh-access-token.service.ts rename to packages/twenty-server/src/modules/connected-account/services/google-apis-refresh-access-token.service.ts index 6ae56784c..88ba8c3d7 100644 --- a/packages/twenty-server/src/business/modules/calendar-and-messaging/services/google-apis-refresh-access-token.service.ts +++ b/packages/twenty-server/src/modules/connected-account/services/google-apis-refresh-access-token.service.ts @@ -2,8 +2,8 @@ import { Injectable } from '@nestjs/common'; import axios from 'axios'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; -import { ConnectedAccountService } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; +import { ConnectedAccountService } from 'src/modules/connected-account/repositories/connected-account/connected-account.service'; @Injectable() export class GoogleAPIsRefreshAccessTokenService { diff --git a/packages/twenty-server/src/business/modules/calendar/blocklist.object-metadata.ts b/packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts similarity index 92% rename from packages/twenty-server/src/business/modules/calendar/blocklist.object-metadata.ts rename to packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts index 16bce3ff8..fb47bddfa 100644 --- a/packages/twenty-server/src/business/modules/calendar/blocklist.object-metadata.ts +++ b/packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts @@ -5,7 +5,7 @@ import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metad import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.blocklist, diff --git a/packages/twenty-server/src/business/modules/connected-account/connected-account.object-metadata.ts b/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts similarity index 91% rename from packages/twenty-server/src/business/modules/connected-account/connected-account.object-metadata.ts rename to packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts index 68ca1cd67..1044708e4 100644 --- a/packages/twenty-server/src/business/modules/connected-account/connected-account.object-metadata.ts +++ b/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts @@ -12,9 +12,9 @@ import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/d import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { CalendarChannelObjectMetadata } from 'src/business/modules/calendar/calendar-channel.object-metadata'; -import { MessageChannelObjectMetadata } from 'src/business/modules/message/message-channel.object-metadata'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { CalendarChannelObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-channel.object-metadata'; +import { MessageChannelObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.connectedAccount, diff --git a/packages/twenty-server/src/business/modules/favorite/favorite.object-metadata.ts b/packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts similarity index 88% rename from packages/twenty-server/src/business/modules/favorite/favorite.object-metadata.ts rename to packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts index b3712e900..3081099b9 100644 --- a/packages/twenty-server/src/business/modules/favorite/favorite.object-metadata.ts +++ b/packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts @@ -8,10 +8,10 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { CompanyObjectMetadata } from 'src/business/modules/company/company.object-metadata'; -import { OpportunityObjectMetadata } from 'src/business/modules/opportunity/opportunity.object-metadata'; -import { PersonObjectMetadata } from 'src/business/modules/person/person.object-metadata'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { CompanyObjectMetadata } from 'src/modules/company/standard-objects/company.object-metadata'; +import { OpportunityObjectMetadata } from 'src/modules/opportunity/standard-objects/opportunity.object-metadata'; +import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.favorite, diff --git a/packages/twenty-server/src/business/modules/message/commands/crons/fetch-all-workspaces-messages.cron.pattern.ts b/packages/twenty-server/src/modules/messaging/commands/crons/fetch-all-workspaces-messages.cron.pattern.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/commands/crons/fetch-all-workspaces-messages.cron.pattern.ts rename to packages/twenty-server/src/modules/messaging/commands/crons/fetch-all-workspaces-messages.cron.pattern.ts diff --git a/packages/twenty-server/src/business/modules/message/commands/crons/fetch-all-workspaces-messages.job.ts b/packages/twenty-server/src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job.ts similarity index 81% rename from packages/twenty-server/src/business/modules/message/commands/crons/fetch-all-workspaces-messages.job.ts rename to packages/twenty-server/src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job.ts index 15363abdc..2867fa1b0 100644 --- a/packages/twenty-server/src/business/modules/message/commands/crons/fetch-all-workspaces-messages.job.ts +++ b/packages/twenty-server/src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job.ts @@ -3,16 +3,16 @@ import { InjectRepository } from '@nestjs/typeorm'; import { Repository, In } from 'typeorm'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { ConnectedAccountService } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; +import { ConnectedAccountService } from 'src/modules/connected-account/repositories/connected-account/connected-account.service'; import { Workspace } from 'src/engine/modules/workspace/workspace.entity'; import { GmailPartialSyncJobData, GmailPartialSyncJob, -} from 'src/business/modules/message/jobs/gmail-partial-sync.job'; +} from 'src/modules/messaging/jobs/gmail-partial-sync.job'; import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; @Injectable() diff --git a/packages/twenty-server/src/business/modules/message/commands/fetch-workspace-messages-commands.module.ts b/packages/twenty-server/src/modules/messaging/commands/fetch-workspace-messages-commands.module.ts similarity index 57% rename from packages/twenty-server/src/business/modules/message/commands/fetch-workspace-messages-commands.module.ts rename to packages/twenty-server/src/modules/messaging/commands/fetch-workspace-messages-commands.module.ts index 59708b472..cd0936e1b 100644 --- a/packages/twenty-server/src/business/modules/message/commands/fetch-workspace-messages-commands.module.ts +++ b/packages/twenty-server/src/modules/messaging/commands/fetch-workspace-messages-commands.module.ts @@ -4,11 +4,11 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.module'; -import { GmailFullSyncCommand } from 'src/business/modules/message/commands/gmail-full-sync.command'; -import { GmailPartialSyncCommand } from 'src/business/modules/message/commands/gmail-partial-sync.command'; -import { ConnectedAccountModule } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.module'; -import { StartFetchAllWorkspacesMessagesCronCommand } from 'src/business/modules/message/commands/start-fetch-all-workspaces-messages.cron.command'; -import { StopFetchAllWorkspacesMessagesCronCommand } from 'src/business/modules/message/commands/stop-fetch-all-workspaces-messages.cron.command'; +import { GmailFullSyncCommand } from 'src/modules/messaging/commands/gmail-full-sync.command'; +import { GmailPartialSyncCommand } from 'src/modules/messaging/commands/gmail-partial-sync.command'; +import { ConnectedAccountModule } from 'src/modules/connected-account/repositories/connected-account/connected-account.module'; +import { StartFetchAllWorkspacesMessagesCronCommand } from 'src/modules/messaging/commands/start-fetch-all-workspaces-messages.cron.command'; +import { StopFetchAllWorkspacesMessagesCronCommand } from 'src/modules/messaging/commands/stop-fetch-all-workspaces-messages.cron.command'; @Module({ imports: [ diff --git a/packages/twenty-server/src/business/modules/message/commands/gmail-full-sync.command.ts b/packages/twenty-server/src/modules/messaging/commands/gmail-full-sync.command.ts similarity index 78% rename from packages/twenty-server/src/business/modules/message/commands/gmail-full-sync.command.ts rename to packages/twenty-server/src/modules/messaging/commands/gmail-full-sync.command.ts index b3632a4a5..375986cb1 100644 --- a/packages/twenty-server/src/business/modules/message/commands/gmail-full-sync.command.ts +++ b/packages/twenty-server/src/modules/messaging/commands/gmail-full-sync.command.ts @@ -2,13 +2,13 @@ import { Inject } from '@nestjs/common'; import { Command, CommandRunner, Option } from 'nest-commander'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { GmailFullSyncJobData, GmailFullSyncJob, -} from 'src/business/modules/message/jobs/gmail-full-sync.job'; -import { ConnectedAccountService } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service'; +} from 'src/modules/messaging/jobs/gmail-full-sync.job'; +import { ConnectedAccountService } from 'src/modules/connected-account/repositories/connected-account/connected-account.service'; interface GmailFullSyncOptions { workspaceId: string; diff --git a/packages/twenty-server/src/business/modules/message/commands/gmail-partial-sync.command.ts b/packages/twenty-server/src/modules/messaging/commands/gmail-partial-sync.command.ts similarity index 78% rename from packages/twenty-server/src/business/modules/message/commands/gmail-partial-sync.command.ts rename to packages/twenty-server/src/modules/messaging/commands/gmail-partial-sync.command.ts index a819c5a97..0511a9ad0 100644 --- a/packages/twenty-server/src/business/modules/message/commands/gmail-partial-sync.command.ts +++ b/packages/twenty-server/src/modules/messaging/commands/gmail-partial-sync.command.ts @@ -2,13 +2,13 @@ import { Inject } from '@nestjs/common'; import { Command, CommandRunner, Option } from 'nest-commander'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { GmailPartialSyncJob, GmailPartialSyncJobData, -} from 'src/business/modules/message/jobs/gmail-partial-sync.job'; -import { ConnectedAccountService } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service'; +} from 'src/modules/messaging/jobs/gmail-partial-sync.job'; +import { ConnectedAccountService } from 'src/modules/connected-account/repositories/connected-account/connected-account.service'; interface GmailPartialSyncOptions { workspaceId: string; diff --git a/packages/twenty-server/src/business/modules/message/commands/start-fetch-all-workspaces-messages.cron.command.ts b/packages/twenty-server/src/modules/messaging/commands/start-fetch-all-workspaces-messages.cron.command.ts similarity index 58% rename from packages/twenty-server/src/business/modules/message/commands/start-fetch-all-workspaces-messages.cron.command.ts rename to packages/twenty-server/src/modules/messaging/commands/start-fetch-all-workspaces-messages.cron.command.ts index 994403f7d..4da6824a2 100644 --- a/packages/twenty-server/src/business/modules/message/commands/start-fetch-all-workspaces-messages.cron.command.ts +++ b/packages/twenty-server/src/modules/messaging/commands/start-fetch-all-workspaces-messages.cron.command.ts @@ -2,10 +2,10 @@ import { Inject } from '@nestjs/common'; import { Command, CommandRunner } from 'nest-commander'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { fetchAllWorkspacesMessagesCronPattern } from 'src/business/modules/message/commands/crons/fetch-all-workspaces-messages.cron.pattern'; -import { FetchAllWorkspacesMessagesJob } from 'src/business/modules/message/commands/crons/fetch-all-workspaces-messages.job'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; +import { fetchAllWorkspacesMessagesCronPattern } from 'src/modules/messaging/commands/crons/fetch-all-workspaces-messages.cron.pattern'; +import { FetchAllWorkspacesMessagesJob } from 'src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job'; @Command({ name: 'fetch-all-workspaces-messages:cron:start', diff --git a/packages/twenty-server/src/business/modules/message/commands/stop-fetch-all-workspaces-messages.cron.command.ts b/packages/twenty-server/src/modules/messaging/commands/stop-fetch-all-workspaces-messages.cron.command.ts similarity index 57% rename from packages/twenty-server/src/business/modules/message/commands/stop-fetch-all-workspaces-messages.cron.command.ts rename to packages/twenty-server/src/modules/messaging/commands/stop-fetch-all-workspaces-messages.cron.command.ts index 825b96ed6..3b87c84d3 100644 --- a/packages/twenty-server/src/business/modules/message/commands/stop-fetch-all-workspaces-messages.cron.command.ts +++ b/packages/twenty-server/src/modules/messaging/commands/stop-fetch-all-workspaces-messages.cron.command.ts @@ -2,10 +2,10 @@ import { Inject } from '@nestjs/common'; import { Command, CommandRunner } from 'nest-commander'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { fetchAllWorkspacesMessagesCronPattern } from 'src/business/modules/message/commands/crons/fetch-all-workspaces-messages.cron.pattern'; -import { FetchAllWorkspacesMessagesJob } from 'src/business/modules/message/commands/crons/fetch-all-workspaces-messages.job'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; +import { fetchAllWorkspacesMessagesCronPattern } from 'src/modules/messaging/commands/crons/fetch-all-workspaces-messages.cron.pattern'; +import { FetchAllWorkspacesMessagesJob } from 'src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job'; @Command({ name: 'fetch-all-workspaces-messages:cron:stop', diff --git a/packages/twenty-server/src/business/modules/message/jobs/create-companies-and-contacts-after-sync.job.ts b/packages/twenty-server/src/modules/messaging/jobs/create-companies-and-contacts-after-sync.job.ts similarity index 78% rename from packages/twenty-server/src/business/modules/message/jobs/create-companies-and-contacts-after-sync.job.ts rename to packages/twenty-server/src/modules/messaging/jobs/create-companies-and-contacts-after-sync.job.ts index 2658a28f3..650828b45 100644 --- a/packages/twenty-server/src/business/modules/message/jobs/create-companies-and-contacts-after-sync.job.ts +++ b/packages/twenty-server/src/modules/messaging/jobs/create-companies-and-contacts-after-sync.job.ts @@ -1,10 +1,10 @@ import { Injectable, Logger } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { CreateCompanyAndContactService } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service'; -import { MessageChannelService } from 'src/business/modules/message/repositories/message-channel/message-channel.service'; -import { MessageParticipantService } from 'src/business/modules/message/repositories/message-participant/message-participant.service'; +import { CreateCompanyAndContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service'; +import { MessageChannelService } from 'src/modules/messaging/repositories/message-channel/message-channel.service'; +import { MessageParticipantService } from 'src/modules/messaging/repositories/message-participant/message-participant.service'; export type CreateCompaniesAndContactsAfterSyncJobData = { workspaceId: string; diff --git a/packages/twenty-server/src/business/modules/message/jobs/delete-connected-account-associated-calendar-data.job.ts b/packages/twenty-server/src/modules/messaging/jobs/delete-connected-account-associated-calendar-data.job.ts similarity index 81% rename from packages/twenty-server/src/business/modules/message/jobs/delete-connected-account-associated-calendar-data.job.ts rename to packages/twenty-server/src/modules/messaging/jobs/delete-connected-account-associated-calendar-data.job.ts index 606e13f20..2d41ada2f 100644 --- a/packages/twenty-server/src/business/modules/message/jobs/delete-connected-account-associated-calendar-data.job.ts +++ b/packages/twenty-server/src/modules/messaging/jobs/delete-connected-account-associated-calendar-data.job.ts @@ -1,8 +1,8 @@ import { Injectable, Logger } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { CalendarEventCleanerService } from 'src/business/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service'; +import { CalendarEventCleanerService } from 'src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.service'; export type DeleteConnectedAccountAssociatedCalendarDataJobData = { workspaceId: string; diff --git a/packages/twenty-server/src/business/modules/message/jobs/delete-connected-account-associated-messaging-data.job.ts b/packages/twenty-server/src/modules/messaging/jobs/delete-connected-account-associated-messaging-data.job.ts similarity index 82% rename from packages/twenty-server/src/business/modules/message/jobs/delete-connected-account-associated-messaging-data.job.ts rename to packages/twenty-server/src/modules/messaging/jobs/delete-connected-account-associated-messaging-data.job.ts index f5dc33ab7..eacef905b 100644 --- a/packages/twenty-server/src/business/modules/message/jobs/delete-connected-account-associated-messaging-data.job.ts +++ b/packages/twenty-server/src/modules/messaging/jobs/delete-connected-account-associated-messaging-data.job.ts @@ -1,8 +1,8 @@ import { Injectable, Logger } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { ThreadCleanerService } from 'src/business/modules/message/services/thread-cleaner/thread-cleaner.service'; +import { ThreadCleanerService } from 'src/modules/messaging/services/thread-cleaner/thread-cleaner.service'; export type DeleteConnectedAccountAssociatedMessagingDataJobData = { workspaceId: string; diff --git a/packages/twenty-server/src/business/modules/message/jobs/gmail-full-sync.job.ts b/packages/twenty-server/src/modules/messaging/jobs/gmail-full-sync.job.ts similarity index 78% rename from packages/twenty-server/src/business/modules/message/jobs/gmail-full-sync.job.ts rename to packages/twenty-server/src/modules/messaging/jobs/gmail-full-sync.job.ts index 82a92a13a..c721f1752 100644 --- a/packages/twenty-server/src/business/modules/message/jobs/gmail-full-sync.job.ts +++ b/packages/twenty-server/src/modules/messaging/jobs/gmail-full-sync.job.ts @@ -1,9 +1,9 @@ import { Injectable, Logger } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { GoogleAPIsRefreshAccessTokenService } from 'src/business/modules/calendar-and-messaging/services/google-apis-refresh-access-token.service'; -import { GmailFullSyncService } from 'src/business/modules/message/services/gmail-full-sync.service'; +import { GoogleAPIsRefreshAccessTokenService } from 'src/modules/connected-account/services/google-apis-refresh-access-token.service'; +import { GmailFullSyncService } from 'src/modules/messaging/services/gmail-full-sync.service'; export type GmailFullSyncJobData = { workspaceId: string; diff --git a/packages/twenty-server/src/business/modules/message/jobs/gmail-partial-sync.job.ts b/packages/twenty-server/src/modules/messaging/jobs/gmail-partial-sync.job.ts similarity index 76% rename from packages/twenty-server/src/business/modules/message/jobs/gmail-partial-sync.job.ts rename to packages/twenty-server/src/modules/messaging/jobs/gmail-partial-sync.job.ts index 0b045de1d..b96ca955f 100644 --- a/packages/twenty-server/src/business/modules/message/jobs/gmail-partial-sync.job.ts +++ b/packages/twenty-server/src/modules/messaging/jobs/gmail-partial-sync.job.ts @@ -1,9 +1,9 @@ import { Injectable, Logger } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { GoogleAPIsRefreshAccessTokenService } from 'src/business/modules/calendar-and-messaging/services/google-apis-refresh-access-token.service'; -import { GmailPartialSyncService } from 'src/business/modules/message/services/gmail-partial-sync.service'; +import { GoogleAPIsRefreshAccessTokenService } from 'src/modules/connected-account/services/google-apis-refresh-access-token.service'; +import { GmailPartialSyncService } from 'src/modules/messaging/services/gmail-partial-sync.service'; export type GmailPartialSyncJobData = { workspaceId: string; diff --git a/packages/twenty-server/src/business/modules/message/jobs/match-message-participant.job.ts b/packages/twenty-server/src/modules/messaging/jobs/match-message-participant.job.ts similarity index 83% rename from packages/twenty-server/src/business/modules/message/jobs/match-message-participant.job.ts rename to packages/twenty-server/src/modules/messaging/jobs/match-message-participant.job.ts index fb6f77286..2b058b7e5 100644 --- a/packages/twenty-server/src/business/modules/message/jobs/match-message-participant.job.ts +++ b/packages/twenty-server/src/modules/messaging/jobs/match-message-participant.job.ts @@ -1,8 +1,8 @@ import { Injectable } from '@nestjs/common'; -import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { MessageParticipantService } from 'src/business/modules/message/repositories/message-participant/message-participant.service'; +import { MessageParticipantService } from 'src/modules/messaging/repositories/message-participant/message-participant.service'; export type MatchMessageParticipantsJobData = { workspaceId: string; diff --git a/packages/twenty-server/src/business/modules/message/listeners/messaging-connected-account.listener.ts b/packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts similarity index 67% rename from packages/twenty-server/src/business/modules/message/listeners/messaging-connected-account.listener.ts rename to packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts index 9ad45b969..bb352d612 100644 --- a/packages/twenty-server/src/business/modules/message/listeners/messaging-connected-account.listener.ts +++ b/packages/twenty-server/src/modules/messaging/listeners/messaging-connected-account.listener.ts @@ -1,18 +1,18 @@ import { Injectable, Inject } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; -import { ObjectRecordDeleteEvent } from 'src/integrations/event-emitter/types/object-record-delete.event'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { ObjectRecordDeleteEvent } from 'src/engine/integrations/event-emitter/types/object-record-delete.event'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { DeleteConnectedAccountAssociatedCalendarDataJobData, DeleteConnectedAccountAssociatedCalendarDataJob, -} from 'src/business/modules/message/jobs/delete-connected-account-associated-calendar-data.job'; +} from 'src/modules/messaging/jobs/delete-connected-account-associated-calendar-data.job'; import { DeleteConnectedAccountAssociatedMessagingDataJobData, DeleteConnectedAccountAssociatedMessagingDataJob, -} from 'src/business/modules/message/jobs/delete-connected-account-associated-messaging-data.job'; -import { ConnectedAccountObjectMetadata } from 'src/business/modules/connected-account/connected-account.object-metadata'; +} from 'src/modules/messaging/jobs/delete-connected-account-associated-messaging-data.job'; +import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; @Injectable() export class MessagingConnectedAccountListener { diff --git a/packages/twenty-server/src/business/modules/message/listeners/messaging-message-channel.listener.ts b/packages/twenty-server/src/modules/messaging/listeners/messaging-message-channel.listener.ts similarity index 61% rename from packages/twenty-server/src/business/modules/message/listeners/messaging-message-channel.listener.ts rename to packages/twenty-server/src/modules/messaging/listeners/messaging-message-channel.listener.ts index acc25f3ac..3176e245b 100644 --- a/packages/twenty-server/src/business/modules/message/listeners/messaging-message-channel.listener.ts +++ b/packages/twenty-server/src/modules/messaging/listeners/messaging-message-channel.listener.ts @@ -1,15 +1,15 @@ import { Inject, Injectable } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; -import { ObjectRecordUpdateEvent } from 'src/integrations/event-emitter/types/object-record-update.event'; -import { objectRecordChangedProperties } from 'src/integrations/event-emitter/utils/object-record-changed-properties.util'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { ObjectRecordUpdateEvent } from 'src/engine/integrations/event-emitter/types/object-record-update.event'; +import { objectRecordChangedProperties } from 'src/engine/integrations/event-emitter/utils/object-record-changed-properties.util'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { CreateCompaniesAndContactsAfterSyncJobData, CreateCompaniesAndContactsAfterSyncJob, -} from 'src/business/modules/message/jobs/create-companies-and-contacts-after-sync.job'; -import { MessageChannelObjectMetadata } from 'src/business/modules/message/message-channel.object-metadata'; +} from 'src/modules/messaging/jobs/create-companies-and-contacts-after-sync.job'; +import { MessageChannelObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel.object-metadata'; @Injectable() export class MessagingMessageChannelListener { diff --git a/packages/twenty-server/src/business/modules/message/listeners/messaging-person.listener.ts b/packages/twenty-server/src/modules/messaging/listeners/messaging-person.listener.ts similarity index 67% rename from packages/twenty-server/src/business/modules/message/listeners/messaging-person.listener.ts rename to packages/twenty-server/src/modules/messaging/listeners/messaging-person.listener.ts index d12582eee..fa45120a1 100644 --- a/packages/twenty-server/src/business/modules/message/listeners/messaging-person.listener.ts +++ b/packages/twenty-server/src/modules/messaging/listeners/messaging-person.listener.ts @@ -1,16 +1,16 @@ import { Inject, Injectable } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; -import { ObjectRecordCreateEvent } from 'src/integrations/event-emitter/types/object-record-create.event'; -import { ObjectRecordUpdateEvent } from 'src/integrations/event-emitter/types/object-record-update.event'; -import { objectRecordChangedProperties as objectRecordUpdateEventChangedProperties } from 'src/integrations/event-emitter/utils/object-record-changed-properties.util'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { ObjectRecordCreateEvent } from 'src/engine/integrations/event-emitter/types/object-record-create.event'; +import { ObjectRecordUpdateEvent } from 'src/engine/integrations/event-emitter/types/object-record-update.event'; +import { objectRecordChangedProperties as objectRecordUpdateEventChangedProperties } from 'src/engine/integrations/event-emitter/utils/object-record-changed-properties.util'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { MatchMessageParticipantJob, MatchMessageParticipantsJobData, -} from 'src/business/modules/message/jobs/match-message-participant.job'; -import { PersonObjectMetadata } from 'src/business/modules/person/person.object-metadata'; +} from 'src/modules/messaging/jobs/match-message-participant.job'; +import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata'; @Injectable() export class MessagingPersonListener { diff --git a/packages/twenty-server/src/business/modules/message/listeners/messaging-workspace-member.listener.ts b/packages/twenty-server/src/modules/messaging/listeners/messaging-workspace-member.listener.ts similarity index 67% rename from packages/twenty-server/src/business/modules/message/listeners/messaging-workspace-member.listener.ts rename to packages/twenty-server/src/modules/messaging/listeners/messaging-workspace-member.listener.ts index 7ebb02825..d220f35ab 100644 --- a/packages/twenty-server/src/business/modules/message/listeners/messaging-workspace-member.listener.ts +++ b/packages/twenty-server/src/modules/messaging/listeners/messaging-workspace-member.listener.ts @@ -1,16 +1,16 @@ import { Inject, Injectable } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; -import { ObjectRecordCreateEvent } from 'src/integrations/event-emitter/types/object-record-create.event'; -import { ObjectRecordUpdateEvent } from 'src/integrations/event-emitter/types/object-record-update.event'; -import { objectRecordChangedProperties as objectRecordUpdateEventChangedProperties } from 'src/integrations/event-emitter/utils/object-record-changed-properties.util'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { ObjectRecordCreateEvent } from 'src/engine/integrations/event-emitter/types/object-record-create.event'; +import { ObjectRecordUpdateEvent } from 'src/engine/integrations/event-emitter/types/object-record-update.event'; +import { objectRecordChangedProperties as objectRecordUpdateEventChangedProperties } from 'src/engine/integrations/event-emitter/utils/object-record-changed-properties.util'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { MatchMessageParticipantJob, MatchMessageParticipantsJobData, -} from 'src/business/modules/message/jobs/match-message-participant.job'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +} from 'src/modules/messaging/jobs/match-message-participant.job'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; @Injectable() export class MessagingWorkspaceMemberListener { diff --git a/packages/twenty-server/src/modules/messaging/messaging.module.ts b/packages/twenty-server/src/modules/messaging/messaging.module.ts new file mode 100644 index 000000000..d2da63b31 --- /dev/null +++ b/packages/twenty-server/src/modules/messaging/messaging.module.ts @@ -0,0 +1,76 @@ +import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { HttpModule } from '@nestjs/axios'; + +import { ConnectedAccountModule } from 'src/modules/connected-account/repositories/connected-account/connected-account.module'; +import { MessageChannelMessageAssociationModule } from 'src/modules/messaging/repositories/message-channel-message-association/message-channel-message-assocation.module'; +import { MessageChannelModule } from 'src/modules/messaging/repositories/message-channel/message-channel.module'; +import { MessageThreadModule } from 'src/modules/messaging/repositories/message-thread/message-thread.module'; +import { EnvironmentModule } from 'src/engine/integrations/environment/environment.module'; +import { MessagingPersonListener } from 'src/modules/messaging/listeners/messaging-person.listener'; +import { MessageModule } from 'src/modules/messaging/repositories/message/message.module'; +import { GmailClientProvider } from 'src/modules/messaging/services/providers/gmail/gmail-client.provider'; +import { CreateContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.service'; +import { CreateCompanyService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.service'; +import { FetchMessagesByBatchesService } from 'src/modules/messaging/services/fetch-messages-by-batches.service'; +import { GmailFullSyncService } from 'src/modules/messaging/services/gmail-full-sync.service'; +import { GmailPartialSyncService } from 'src/modules/messaging/services/gmail-partial-sync.service'; +import { GoogleAPIsRefreshAccessTokenService } from 'src/modules/connected-account/services/google-apis-refresh-access-token.service'; +import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; +import { MessageParticipantModule } from 'src/modules/messaging/repositories/message-participant/message-participant.module'; +import { MessagingWorkspaceMemberListener } from 'src/modules/messaging/listeners/messaging-workspace-member.listener'; +import { MessagingMessageChannelListener } from 'src/modules/messaging/listeners/messaging-message-channel.listener'; +import { MessageService } from 'src/modules/messaging/repositories/message/message.service'; +import { WorkspaceMemberModule } from 'src/modules/workspace-member/repositories/workspace-member/workspace-member.module'; +import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity'; +import { CreateCompaniesAndContactsModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module'; +import { CompanyModule } from 'src/modules/messaging/repositories/company/company.module'; +import { PersonModule } from 'src/modules/person/repositories/person/person.module'; +import { SaveMessagesAndCreateContactsService } from 'src/modules/messaging/services/save-messages-and-create-contacts.service'; +import { MessagingConnectedAccountListener } from 'src/modules/messaging/listeners/messaging-connected-account.listener'; +import { BlocklistModule } from 'src/modules/connected-account/repositories/blocklist/blocklist.module'; +import { FetchByBatchesService } from 'src/modules/messaging/services/fetch-by-batch.service'; +@Module({ + imports: [ + EnvironmentModule, + WorkspaceDataSourceModule, + ConnectedAccountModule, + MessageChannelModule, + MessageChannelMessageAssociationModule, + MessageModule, + MessageThreadModule, + MessageParticipantModule, + CreateCompaniesAndContactsModule, + WorkspaceMemberModule, + TypeOrmModule.forFeature([FeatureFlagEntity], 'core'), + CompanyModule, + PersonModule, + BlocklistModule, + HttpModule.register({ + baseURL: 'https://www.googleapis.com/batch/gmail/v1', + }), + ], + providers: [ + GmailFullSyncService, + GmailPartialSyncService, + FetchMessagesByBatchesService, + GoogleAPIsRefreshAccessTokenService, + GmailClientProvider, + CreateContactService, + CreateCompanyService, + MessagingPersonListener, + MessagingWorkspaceMemberListener, + MessagingMessageChannelListener, + MessageService, + SaveMessagesAndCreateContactsService, + MessagingConnectedAccountListener, + FetchByBatchesService, + ], + exports: [ + GmailPartialSyncService, + GmailFullSyncService, + GoogleAPIsRefreshAccessTokenService, + FetchByBatchesService, + ], +}) +export class MessagingModule {} diff --git a/packages/twenty-server/src/business/modules/message/query-hooks/message/message-find-many.pre-query.hook.ts b/packages/twenty-server/src/modules/messaging/query-hooks/message/message-find-many.pre-query.hook.ts similarity index 73% rename from packages/twenty-server/src/business/modules/message/query-hooks/message/message-find-many.pre-query.hook.ts rename to packages/twenty-server/src/modules/messaging/query-hooks/message/message-find-many.pre-query.hook.ts index 14de89bc5..b5fb45c3f 100644 --- a/packages/twenty-server/src/business/modules/message/query-hooks/message/message-find-many.pre-query.hook.ts +++ b/packages/twenty-server/src/modules/messaging/query-hooks/message/message-find-many.pre-query.hook.ts @@ -7,13 +7,13 @@ import { import { groupBy } from 'lodash'; -import { WorkspacePreQueryHook } from 'src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface'; -import { FindManyResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspacePreQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface'; +import { FindManyResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; -import { MessageChannelMessageAssociationService } from 'src/business/modules/message/repositories/message-channel-message-association/message-channel-message-association.service'; -import { MessageChannelService } from 'src/business/modules/message/repositories/message-channel/message-channel.service'; -import { ConnectedAccountService } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service'; -import { WorkspaceMemberService } from 'src/engine-workspace/repositories/workspace-member/workspace-member.service'; +import { MessageChannelMessageAssociationService } from 'src/modules/messaging/repositories/message-channel-message-association/message-channel-message-association.service'; +import { MessageChannelService } from 'src/modules/messaging/repositories/message-channel/message-channel.service'; +import { ConnectedAccountService } from 'src/modules/connected-account/repositories/connected-account/connected-account.service'; +import { WorkspaceMemberService } from 'src/modules/workspace-member/repositories/workspace-member/workspace-member.service'; @Injectable() export class MessageFindManyPreQueryHook implements WorkspacePreQueryHook { diff --git a/packages/twenty-server/src/business/modules/message/query-hooks/message/message-find-one.pre-query-hook.ts b/packages/twenty-server/src/modules/messaging/query-hooks/message/message-find-one.pre-query-hook.ts similarity index 57% rename from packages/twenty-server/src/business/modules/message/query-hooks/message/message-find-one.pre-query-hook.ts rename to packages/twenty-server/src/modules/messaging/query-hooks/message/message-find-one.pre-query-hook.ts index a23663404..fb8585815 100644 --- a/packages/twenty-server/src/business/modules/message/query-hooks/message/message-find-one.pre-query-hook.ts +++ b/packages/twenty-server/src/modules/messaging/query-hooks/message/message-find-one.pre-query-hook.ts @@ -1,8 +1,8 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import { BadRequestException, Injectable } from '@nestjs/common'; -import { WorkspacePreQueryHook } from 'src/engine/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface'; -import { FindOneResolverArgs } from 'src/engine/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; +import { WorkspacePreQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/interfaces/workspace-pre-query-hook.interface'; +import { FindOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; @Injectable() export class MessageFindOnePreQueryHook implements WorkspacePreQueryHook { diff --git a/packages/twenty-server/src/modules/messaging/query-hooks/messaging-query-hook.module.ts b/packages/twenty-server/src/modules/messaging/query-hooks/messaging-query-hook.module.ts new file mode 100644 index 000000000..0b47c48ff --- /dev/null +++ b/packages/twenty-server/src/modules/messaging/query-hooks/messaging-query-hook.module.ts @@ -0,0 +1,28 @@ +import { Module } from '@nestjs/common'; + +import { MessageFindManyPreQueryHook } from 'src/modules/messaging/query-hooks/message/message-find-many.pre-query.hook'; +import { MessageFindOnePreQueryHook } from 'src/modules/messaging/query-hooks/message/message-find-one.pre-query-hook'; +import { ConnectedAccountModule } from 'src/modules/connected-account/repositories/connected-account/connected-account.module'; +import { MessageChannelMessageAssociationModule } from 'src/modules/messaging/repositories/message-channel-message-association/message-channel-message-assocation.module'; +import { MessageChannelModule } from 'src/modules/messaging/repositories/message-channel/message-channel.module'; +import { WorkspaceMemberModule } from 'src/modules/workspace-member/repositories/workspace-member/workspace-member.module'; + +@Module({ + imports: [ + MessageChannelMessageAssociationModule, + MessageChannelModule, + ConnectedAccountModule, + WorkspaceMemberModule, + ], + providers: [ + { + provide: MessageFindOnePreQueryHook.name, + useClass: MessageFindOnePreQueryHook, + }, + { + provide: MessageFindManyPreQueryHook.name, + useClass: MessageFindManyPreQueryHook, + }, + ], +}) +export class MessagingQueryHookModule {} diff --git a/packages/twenty-server/src/business/modules/message/repositories/company/company.module.ts b/packages/twenty-server/src/modules/messaging/repositories/company/company.module.ts similarity index 77% rename from packages/twenty-server/src/business/modules/message/repositories/company/company.module.ts rename to packages/twenty-server/src/modules/messaging/repositories/company/company.module.ts index eb82ec64f..61460d6bf 100644 --- a/packages/twenty-server/src/business/modules/message/repositories/company/company.module.ts +++ b/packages/twenty-server/src/modules/messaging/repositories/company/company.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { CompanyService } from 'src/business/modules/message/repositories/company/company.service'; +import { CompanyService } from 'src/modules/messaging/repositories/company/company.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; // TODO: Move outside of the messaging module diff --git a/packages/twenty-server/src/business/modules/message/repositories/company/company.service.ts b/packages/twenty-server/src/modules/messaging/repositories/company/company.service.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/repositories/company/company.service.ts rename to packages/twenty-server/src/modules/messaging/repositories/company/company.service.ts diff --git a/packages/twenty-server/src/business/modules/message/repositories/message-channel-message-association/message-channel-message-assocation.module.ts b/packages/twenty-server/src/modules/messaging/repositories/message-channel-message-association/message-channel-message-assocation.module.ts similarity index 66% rename from packages/twenty-server/src/business/modules/message/repositories/message-channel-message-association/message-channel-message-assocation.module.ts rename to packages/twenty-server/src/modules/messaging/repositories/message-channel-message-association/message-channel-message-assocation.module.ts index 9019827de..7c9f4de8f 100644 --- a/packages/twenty-server/src/business/modules/message/repositories/message-channel-message-association/message-channel-message-assocation.module.ts +++ b/packages/twenty-server/src/modules/messaging/repositories/message-channel-message-association/message-channel-message-assocation.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { MessageChannelMessageAssociationService } from 'src/business/modules/message/repositories/message-channel-message-association/message-channel-message-association.service'; +import { MessageChannelMessageAssociationService } from 'src/modules/messaging/repositories/message-channel-message-association/message-channel-message-association.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/business/modules/message/repositories/message-channel-message-association/message-channel-message-association.service.ts b/packages/twenty-server/src/modules/messaging/repositories/message-channel-message-association/message-channel-message-association.service.ts similarity index 98% rename from packages/twenty-server/src/business/modules/message/repositories/message-channel-message-association/message-channel-message-association.service.ts rename to packages/twenty-server/src/modules/messaging/repositories/message-channel-message-association/message-channel-message-association.service.ts index 83aefc171..17454e602 100644 --- a/packages/twenty-server/src/business/modules/message/repositories/message-channel-message-association/message-channel-message-association.service.ts +++ b/packages/twenty-server/src/modules/messaging/repositories/message-channel-message-association/message-channel-message-association.service.ts @@ -3,7 +3,7 @@ import { Injectable } from '@nestjs/common'; import { EntityManager } from 'typeorm'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { MessageChannelMessageAssociationObjectMetadata } from 'src/business/modules/message/message-channel-message-association.object-metadata'; +import { MessageChannelMessageAssociationObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel-message-association.object-metadata'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; @Injectable() diff --git a/packages/twenty-server/src/business/modules/message/repositories/message-channel/message-channel.module.ts b/packages/twenty-server/src/modules/messaging/repositories/message-channel/message-channel.module.ts similarity index 71% rename from packages/twenty-server/src/business/modules/message/repositories/message-channel/message-channel.module.ts rename to packages/twenty-server/src/modules/messaging/repositories/message-channel/message-channel.module.ts index 9524ca822..90661ee6b 100644 --- a/packages/twenty-server/src/business/modules/message/repositories/message-channel/message-channel.module.ts +++ b/packages/twenty-server/src/modules/messaging/repositories/message-channel/message-channel.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { MessageChannelService } from 'src/business/modules/message/repositories/message-channel/message-channel.service'; +import { MessageChannelService } from 'src/modules/messaging/repositories/message-channel/message-channel.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/business/modules/message/repositories/message-channel/message-channel.service.ts b/packages/twenty-server/src/modules/messaging/repositories/message-channel/message-channel.service.ts similarity index 95% rename from packages/twenty-server/src/business/modules/message/repositories/message-channel/message-channel.service.ts rename to packages/twenty-server/src/modules/messaging/repositories/message-channel/message-channel.service.ts index 9723f52cd..71712ea67 100644 --- a/packages/twenty-server/src/business/modules/message/repositories/message-channel/message-channel.service.ts +++ b/packages/twenty-server/src/modules/messaging/repositories/message-channel/message-channel.service.ts @@ -3,7 +3,7 @@ import { Injectable } from '@nestjs/common'; import { EntityManager } from 'typeorm'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { MessageChannelObjectMetadata } from 'src/business/modules/message/message-channel.object-metadata'; +import { MessageChannelObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel.object-metadata'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; @Injectable() diff --git a/packages/twenty-server/src/business/modules/message/repositories/message-participant/message-participant.module.ts b/packages/twenty-server/src/modules/messaging/repositories/message-participant/message-participant.module.ts similarity index 60% rename from packages/twenty-server/src/business/modules/message/repositories/message-participant/message-participant.module.ts rename to packages/twenty-server/src/modules/messaging/repositories/message-participant/message-participant.module.ts index eab29afbf..e8754fe54 100644 --- a/packages/twenty-server/src/business/modules/message/repositories/message-participant/message-participant.module.ts +++ b/packages/twenty-server/src/modules/messaging/repositories/message-participant/message-participant.module.ts @@ -1,8 +1,8 @@ import { Module } from '@nestjs/common'; -import { MessageParticipantService } from 'src/business/modules/message/repositories/message-participant/message-participant.service'; +import { MessageParticipantService } from 'src/modules/messaging/repositories/message-participant/message-participant.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; -import { PersonModule } from 'src/engine-workspace/repositories/person/person.module'; +import { PersonModule } from 'src/modules/person/repositories/person/person.module'; @Module({ imports: [WorkspaceDataSourceModule, PersonModule], diff --git a/packages/twenty-server/src/business/modules/message/repositories/message-participant/message-participant.service.ts b/packages/twenty-server/src/modules/messaging/repositories/message-participant/message-participant.service.ts similarity index 96% rename from packages/twenty-server/src/business/modules/message/repositories/message-participant/message-participant.service.ts rename to packages/twenty-server/src/modules/messaging/repositories/message-participant/message-participant.service.ts index 0c4d093ae..71b9635f6 100644 --- a/packages/twenty-server/src/business/modules/message/repositories/message-participant/message-participant.service.ts +++ b/packages/twenty-server/src/modules/messaging/repositories/message-participant/message-participant.service.ts @@ -3,13 +3,13 @@ import { Injectable } from '@nestjs/common'; import { EntityManager } from 'typeorm'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { MessageParticipantObjectMetadata } from 'src/business/modules/message/message-participant.object-metadata'; +import { MessageParticipantObjectMetadata } from 'src/modules/messaging/standard-objects/message-participant.object-metadata'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; import { ParticipantWithId, ParticipantWithMessageId, -} from 'src/business/modules/message/types/gmail-message'; -import { PersonService } from 'src/engine-workspace/repositories/person/person.service'; +} from 'src/modules/messaging/types/gmail-message'; +import { PersonService } from 'src/modules/person/repositories/person/person.service'; @Injectable() export class MessageParticipantService { diff --git a/packages/twenty-server/src/business/modules/message/repositories/message-thread/message-thread.module.ts b/packages/twenty-server/src/modules/messaging/repositories/message-thread/message-thread.module.ts similarity index 50% rename from packages/twenty-server/src/business/modules/message/repositories/message-thread/message-thread.module.ts rename to packages/twenty-server/src/modules/messaging/repositories/message-thread/message-thread.module.ts index 6502cbfe5..d08c2358b 100644 --- a/packages/twenty-server/src/business/modules/message/repositories/message-thread/message-thread.module.ts +++ b/packages/twenty-server/src/modules/messaging/repositories/message-thread/message-thread.module.ts @@ -1,8 +1,8 @@ import { Module, forwardRef } from '@nestjs/common'; -import { MessageChannelMessageAssociationModule } from 'src/business/modules/message/repositories/message-channel-message-association/message-channel-message-assocation.module'; -import { MessageThreadService } from 'src/business/modules/message/repositories/message-thread/message-thread.service'; -import { MessageModule } from 'src/business/modules/message/repositories/message/message.module'; +import { MessageChannelMessageAssociationModule } from 'src/modules/messaging/repositories/message-channel-message-association/message-channel-message-assocation.module'; +import { MessageThreadService } from 'src/modules/messaging/repositories/message-thread/message-thread.service'; +import { MessageModule } from 'src/modules/messaging/repositories/message/message.module'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/business/modules/message/repositories/message-thread/message-thread.service.ts b/packages/twenty-server/src/modules/messaging/repositories/message-thread/message-thread.service.ts similarity index 92% rename from packages/twenty-server/src/business/modules/message/repositories/message-thread/message-thread.service.ts rename to packages/twenty-server/src/modules/messaging/repositories/message-thread/message-thread.service.ts index 823fc74ce..b41969409 100644 --- a/packages/twenty-server/src/business/modules/message/repositories/message-thread/message-thread.service.ts +++ b/packages/twenty-server/src/modules/messaging/repositories/message-thread/message-thread.service.ts @@ -5,8 +5,8 @@ import { v4 } from 'uuid'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { DataSourceEntity } from 'src/engine-metadata/data-source/data-source.entity'; -import { MessageChannelMessageAssociationService } from 'src/business/modules/message/repositories/message-channel-message-association/message-channel-message-association.service'; -import { MessageService } from 'src/business/modules/message/repositories/message/message.service'; +import { MessageChannelMessageAssociationService } from 'src/modules/messaging/repositories/message-channel-message-association/message-channel-message-association.service'; +import { MessageService } from 'src/modules/messaging/repositories/message/message.service'; @Injectable() export class MessageThreadService { diff --git a/packages/twenty-server/src/modules/messaging/repositories/message/message.module.ts b/packages/twenty-server/src/modules/messaging/repositories/message/message.module.ts new file mode 100644 index 000000000..d6cbaab6d --- /dev/null +++ b/packages/twenty-server/src/modules/messaging/repositories/message/message.module.ts @@ -0,0 +1,23 @@ +import { Module, forwardRef } from '@nestjs/common'; + +import { MessageChannelModule } from 'src/modules/messaging/repositories/message-channel/message-channel.module'; +import { MessageChannelMessageAssociationModule } from 'src/modules/messaging/repositories/message-channel-message-association/message-channel-message-assocation.module'; +import { MessageParticipantModule } from 'src/modules/messaging/repositories/message-participant/message-participant.module'; +import { MessageThreadModule } from 'src/modules/messaging/repositories/message-thread/message-thread.module'; +import { MessageService } from 'src/modules/messaging/repositories/message/message.service'; +import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; +import { CreateCompaniesAndContactsModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module'; + +@Module({ + imports: [ + WorkspaceDataSourceModule, + forwardRef(() => MessageThreadModule), + MessageParticipantModule, + MessageChannelMessageAssociationModule, + MessageChannelModule, + CreateCompaniesAndContactsModule, + ], + providers: [MessageService], + exports: [MessageService], +}) +export class MessageModule {} diff --git a/packages/twenty-server/src/business/modules/message/repositories/message/message.service.ts b/packages/twenty-server/src/modules/messaging/repositories/message/message.service.ts similarity index 93% rename from packages/twenty-server/src/business/modules/message/repositories/message/message.service.ts rename to packages/twenty-server/src/modules/messaging/repositories/message/message.service.ts index 405076cd2..1dd039ac1 100644 --- a/packages/twenty-server/src/business/modules/message/repositories/message/message.service.ts +++ b/packages/twenty-server/src/modules/messaging/repositories/message/message.service.ts @@ -4,14 +4,14 @@ import { DataSource, EntityManager } from 'typeorm'; import { v4 } from 'uuid'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { MessageObjectMetadata } from 'src/business/modules/message/message.object-metadata'; +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/data-source/data-source.entity'; -import { GmailMessage } from 'src/business/modules/message/types/gmail-message'; -import { ConnectedAccountObjectMetadata } from 'src/business/modules/connected-account/connected-account.object-metadata'; -import { MessageChannelMessageAssociationService } from 'src/business/modules/message/repositories/message-channel-message-association/message-channel-message-association.service'; -import { MessageThreadService } from 'src/business/modules/message/repositories/message-thread/message-thread.service'; -import { MessageChannelService } from 'src/business/modules/message/repositories/message-channel/message-channel.service'; +import { GmailMessage } from 'src/modules/messaging/types/gmail-message'; +import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; +import { MessageChannelMessageAssociationService } from 'src/modules/messaging/repositories/message-channel-message-association/message-channel-message-association.service'; +import { MessageThreadService } from 'src/modules/messaging/repositories/message-thread/message-thread.service'; +import { MessageChannelService } from 'src/modules/messaging/repositories/message-channel/message-channel.service'; @Injectable() export class MessageService { diff --git a/packages/twenty-server/src/business/modules/message/services/fetch-by-batch.service.ts b/packages/twenty-server/src/modules/messaging/services/fetch-by-batch.service.ts similarity index 93% rename from packages/twenty-server/src/business/modules/message/services/fetch-by-batch.service.ts rename to packages/twenty-server/src/modules/messaging/services/fetch-by-batch.service.ts index 0e1af2b8e..4d12b306b 100644 --- a/packages/twenty-server/src/business/modules/message/services/fetch-by-batch.service.ts +++ b/packages/twenty-server/src/modules/messaging/services/fetch-by-batch.service.ts @@ -3,8 +3,8 @@ import { Injectable } from '@nestjs/common'; import { AxiosResponse } from 'axios'; -import { BatchQueries } from 'src/business/modules/calendar-and-messaging/types/batch-queries'; -import { GmailMessageParsedResponse } from 'src/business/modules/message/types/gmail-message-parsed-response'; +import { BatchQueries } from 'src/modules/messaging/types/batch-queries'; +import { GmailMessageParsedResponse } from 'src/modules/messaging/types/gmail-message-parsed-response'; @Injectable() export class FetchByBatchesService { diff --git a/packages/twenty-server/src/business/modules/message/services/fetch-messages-by-batches.service.ts b/packages/twenty-server/src/modules/messaging/services/fetch-messages-by-batches.service.ts similarity index 89% rename from packages/twenty-server/src/business/modules/message/services/fetch-messages-by-batches.service.ts rename to packages/twenty-server/src/modules/messaging/services/fetch-messages-by-batches.service.ts index 9ba6ce853..9fb5badbf 100644 --- a/packages/twenty-server/src/business/modules/message/services/fetch-messages-by-batches.service.ts +++ b/packages/twenty-server/src/modules/messaging/services/fetch-messages-by-batches.service.ts @@ -4,11 +4,11 @@ import { AxiosResponse } from 'axios'; import { simpleParser } from 'mailparser'; import planer from 'planer'; -import { GmailMessage } from 'src/business/modules/message/types/gmail-message'; -import { MessageQuery } from 'src/business/modules/message/types/message-or-thread-query'; -import { GmailMessageParsedResponse } from 'src/business/modules/message/types/gmail-message-parsed-response'; -import { FetchByBatchesService } from 'src/business/modules/message/services/fetch-by-batch.service'; -import { formatAddressObjectAsParticipants } from 'src/business/modules/message/services/utils/format-address-object-as-participants.util'; +import { GmailMessage } from 'src/modules/messaging/types/gmail-message'; +import { MessageQuery } from 'src/modules/messaging/types/message-or-thread-query'; +import { GmailMessageParsedResponse } from 'src/modules/messaging/types/gmail-message-parsed-response'; +import { FetchByBatchesService } from 'src/modules/messaging/services/fetch-by-batch.service'; +import { formatAddressObjectAsParticipants } from 'src/modules/messaging/services/utils/format-address-object-as-participants.util'; @Injectable() export class FetchMessagesByBatchesService { diff --git a/packages/twenty-server/src/business/modules/message/services/gmail-full-sync.service.ts b/packages/twenty-server/src/modules/messaging/services/gmail-full-sync.service.ts similarity index 83% rename from packages/twenty-server/src/business/modules/message/services/gmail-full-sync.service.ts rename to packages/twenty-server/src/modules/messaging/services/gmail-full-sync.service.ts index a3d67f4d4..cfcfe9171 100644 --- a/packages/twenty-server/src/business/modules/message/services/gmail-full-sync.service.ts +++ b/packages/twenty-server/src/modules/messaging/services/gmail-full-sync.service.ts @@ -3,21 +3,21 @@ import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; -import { FetchMessagesByBatchesService } from 'src/business/modules/message/services/fetch-messages-by-batches.service'; -import { GmailClientProvider } from 'src/business/modules/message/services/providers/gmail/gmail-client.provider'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; +import { FetchMessagesByBatchesService } from 'src/modules/messaging/services/fetch-messages-by-batches.service'; +import { GmailClientProvider } from 'src/modules/messaging/services/providers/gmail/gmail-client.provider'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { GmailFullSyncJobData, GmailFullSyncJob, -} from 'src/business/modules/message/jobs/gmail-full-sync.job'; -import { ConnectedAccountService } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service'; -import { MessageChannelService } from 'src/business/modules/message/repositories/message-channel/message-channel.service'; -import { MessageChannelMessageAssociationService } from 'src/business/modules/message/repositories/message-channel-message-association/message-channel-message-association.service'; -import { createQueriesFromMessageIds } from 'src/business/modules/message/utils/create-queries-from-message-ids.util'; -import { gmailSearchFilterExcludeEmails } from 'src/business/modules/message/utils/gmail-search-filter.util'; -import { BlocklistService } from 'src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.service'; -import { SaveMessagesAndCreateContactsService } from 'src/business/modules/message/services/save-messages-and-create-contacts.service'; +} from 'src/modules/messaging/jobs/gmail-full-sync.job'; +import { ConnectedAccountService } from 'src/modules/connected-account/repositories/connected-account/connected-account.service'; +import { MessageChannelService } from 'src/modules/messaging/repositories/message-channel/message-channel.service'; +import { MessageChannelMessageAssociationService } from 'src/modules/messaging/repositories/message-channel-message-association/message-channel-message-association.service'; +import { createQueriesFromMessageIds } from 'src/modules/messaging/utils/create-queries-from-message-ids.util'; +import { gmailSearchFilterExcludeEmails } from 'src/modules/messaging/utils/gmail-search-filter.util'; +import { BlocklistService } from 'src/modules/connected-account/repositories/blocklist/blocklist.service'; +import { SaveMessagesAndCreateContactsService } from 'src/modules/messaging/services/save-messages-and-create-contacts.service'; import { FeatureFlagEntity, FeatureFlagKeys, diff --git a/packages/twenty-server/src/business/modules/message/services/gmail-partial-sync.service.ts b/packages/twenty-server/src/modules/messaging/services/gmail-partial-sync.service.ts similarity index 89% rename from packages/twenty-server/src/business/modules/message/services/gmail-partial-sync.service.ts rename to packages/twenty-server/src/modules/messaging/services/gmail-partial-sync.service.ts index 0649b0ee5..a9698b63c 100644 --- a/packages/twenty-server/src/business/modules/message/services/gmail-partial-sync.service.ts +++ b/packages/twenty-server/src/modules/messaging/services/gmail-partial-sync.service.ts @@ -4,22 +4,22 @@ import { InjectRepository } from '@nestjs/typeorm'; import { gmail_v1 } from 'googleapis'; import { Repository } from 'typeorm'; -import { FetchMessagesByBatchesService } from 'src/business/modules/message/services/fetch-messages-by-batches.service'; -import { GmailClientProvider } from 'src/business/modules/message/services/providers/gmail/gmail-client.provider'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; +import { FetchMessagesByBatchesService } from 'src/modules/messaging/services/fetch-messages-by-batches.service'; +import { GmailClientProvider } from 'src/modules/messaging/services/providers/gmail/gmail-client.provider'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { GmailFullSyncJob, GmailFullSyncJobData, -} from 'src/business/modules/message/jobs/gmail-full-sync.job'; -import { ConnectedAccountService } from 'src/business/modules/calendar-and-messaging/repositories/connected-account/connected-account.service'; -import { MessageChannelService } from 'src/business/modules/message/repositories/message-channel/message-channel.service'; -import { MessageService } from 'src/business/modules/message/repositories/message/message.service'; -import { createQueriesFromMessageIds } from 'src/business/modules/message/utils/create-queries-from-message-ids.util'; -import { GmailMessage } from 'src/business/modules/message/types/gmail-message'; -import { isPersonEmail } from 'src/business/modules/message/utils/is-person-email.util'; -import { BlocklistService } from 'src/business/modules/calendar-and-messaging/repositories/blocklist/blocklist.service'; -import { SaveMessagesAndCreateContactsService } from 'src/business/modules/message/services/save-messages-and-create-contacts.service'; +} from 'src/modules/messaging/jobs/gmail-full-sync.job'; +import { ConnectedAccountService } from 'src/modules/connected-account/repositories/connected-account/connected-account.service'; +import { MessageChannelService } from 'src/modules/messaging/repositories/message-channel/message-channel.service'; +import { MessageService } from 'src/modules/messaging/repositories/message/message.service'; +import { createQueriesFromMessageIds } from 'src/modules/messaging/utils/create-queries-from-message-ids.util'; +import { GmailMessage } from 'src/modules/messaging/types/gmail-message'; +import { isPersonEmail } from 'src/modules/messaging/utils/is-person-email.util'; +import { BlocklistService } from 'src/modules/connected-account/repositories/blocklist/blocklist.service'; +import { SaveMessagesAndCreateContactsService } from 'src/modules/messaging/services/save-messages-and-create-contacts.service'; import { FeatureFlagEntity, FeatureFlagKeys, diff --git a/packages/twenty-server/src/business/modules/message/services/providers/gmail/gmail-client.provider.ts b/packages/twenty-server/src/modules/messaging/services/providers/gmail/gmail-client.provider.ts similarity index 91% rename from packages/twenty-server/src/business/modules/message/services/providers/gmail/gmail-client.provider.ts rename to packages/twenty-server/src/modules/messaging/services/providers/gmail/gmail-client.provider.ts index a8e397d34..3b5e591ac 100644 --- a/packages/twenty-server/src/business/modules/message/services/providers/gmail/gmail-client.provider.ts +++ b/packages/twenty-server/src/modules/messaging/services/providers/gmail/gmail-client.provider.ts @@ -3,7 +3,7 @@ import { Injectable } from '@nestjs/common'; import { OAuth2Client } from 'google-auth-library'; import { gmail_v1, google } from 'googleapis'; -import { EnvironmentService } from 'src/integrations/environment/environment.service'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Injectable() export class GmailClientProvider { diff --git a/packages/twenty-server/src/modules/messaging/services/providers/messaging-providers.module.ts b/packages/twenty-server/src/modules/messaging/services/providers/messaging-providers.module.ts new file mode 100644 index 000000000..fc0cb1c17 --- /dev/null +++ b/packages/twenty-server/src/modules/messaging/services/providers/messaging-providers.module.ts @@ -0,0 +1,11 @@ +import { Module } from '@nestjs/common'; + +import { EnvironmentModule } from 'src/engine/integrations/environment/environment.module'; +import { GmailClientProvider } from 'src/modules/messaging/services/providers/gmail/gmail-client.provider'; + +@Module({ + imports: [EnvironmentModule], + providers: [GmailClientProvider], + exports: [GmailClientProvider], +}) +export class MessagingProvidersModule {} diff --git a/packages/twenty-server/src/business/modules/message/services/save-messages-and-create-contacts.service.ts b/packages/twenty-server/src/modules/messaging/services/save-messages-and-create-contacts.service.ts similarity index 88% rename from packages/twenty-server/src/business/modules/message/services/save-messages-and-create-contacts.service.ts rename to packages/twenty-server/src/modules/messaging/services/save-messages-and-create-contacts.service.ts index 138c3932c..87669c8cf 100644 --- a/packages/twenty-server/src/business/modules/message/services/save-messages-and-create-contacts.service.ts +++ b/packages/twenty-server/src/modules/messaging/services/save-messages-and-create-contacts.service.ts @@ -2,16 +2,16 @@ import { Injectable, Logger } from '@nestjs/common'; import { EntityManager } from 'typeorm'; -import { MessageChannelService } from 'src/business/modules/message/repositories/message-channel/message-channel.service'; -import { MessageParticipantService } from 'src/business/modules/message/repositories/message-participant/message-participant.service'; -import { MessageService } from 'src/business/modules/message/repositories/message/message.service'; -import { CreateCompanyAndContactService } from 'src/engine-workspace/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service'; +import { MessageChannelService } from 'src/modules/messaging/repositories/message-channel/message-channel.service'; +import { MessageParticipantService } from 'src/modules/messaging/repositories/message-participant/message-participant.service'; +import { MessageService } from 'src/modules/messaging/repositories/message/message.service'; +import { CreateCompanyAndContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service'; import { GmailMessage, ParticipantWithMessageId, -} from 'src/business/modules/message/types/gmail-message'; +} from 'src/modules/messaging/types/gmail-message'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { ConnectedAccountObjectMetadata } from 'src/business/modules/connected-account/connected-account.object-metadata'; +import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; @Injectable() diff --git a/packages/twenty-server/src/business/modules/message/services/thread-cleaner/thread-cleaner.module.ts b/packages/twenty-server/src/modules/messaging/services/thread-cleaner/thread-cleaner.module.ts similarity index 56% rename from packages/twenty-server/src/business/modules/message/services/thread-cleaner/thread-cleaner.module.ts rename to packages/twenty-server/src/modules/messaging/services/thread-cleaner/thread-cleaner.module.ts index 80b969eab..722c3b009 100644 --- a/packages/twenty-server/src/business/modules/message/services/thread-cleaner/thread-cleaner.module.ts +++ b/packages/twenty-server/src/modules/messaging/services/thread-cleaner/thread-cleaner.module.ts @@ -2,9 +2,9 @@ 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 { MessageThreadModule } from 'src/business/modules/message/repositories/message-thread/message-thread.module'; -import { MessageModule } from 'src/business/modules/message/repositories/message/message.module'; -import { ThreadCleanerService } from 'src/business/modules/message/services/thread-cleaner/thread-cleaner.service'; +import { MessageThreadModule } from 'src/modules/messaging/repositories/message-thread/message-thread.module'; +import { MessageModule } from 'src/modules/messaging/repositories/message/message.module'; +import { ThreadCleanerService } from 'src/modules/messaging/services/thread-cleaner/thread-cleaner.service'; @Module({ imports: [ diff --git a/packages/twenty-server/src/business/modules/message/services/thread-cleaner/thread-cleaner.service.ts b/packages/twenty-server/src/modules/messaging/services/thread-cleaner/thread-cleaner.service.ts similarity index 75% rename from packages/twenty-server/src/business/modules/message/services/thread-cleaner/thread-cleaner.service.ts rename to packages/twenty-server/src/modules/messaging/services/thread-cleaner/thread-cleaner.service.ts index 8219e5b9c..3374882b6 100644 --- a/packages/twenty-server/src/business/modules/message/services/thread-cleaner/thread-cleaner.service.ts +++ b/packages/twenty-server/src/modules/messaging/services/thread-cleaner/thread-cleaner.service.ts @@ -2,9 +2,9 @@ import { Injectable } from '@nestjs/common'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; import { DataSourceService } from 'src/engine-metadata/data-source/data-source.service'; -import { MessageThreadService } from 'src/business/modules/message/repositories/message-thread/message-thread.service'; -import { MessageService } from 'src/business/modules/message/repositories/message/message.service'; -import { deleteUsingPagination } from 'src/business/modules/message/services/thread-cleaner/utils/delete-using-pagination.util'; +import { MessageThreadService } from 'src/modules/messaging/repositories/message-thread/message-thread.service'; +import { MessageService } from 'src/modules/messaging/repositories/message/message.service'; +import { deleteUsingPagination } from 'src/modules/messaging/services/thread-cleaner/utils/delete-using-pagination.util'; @Injectable() export class ThreadCleanerService { diff --git a/packages/twenty-server/src/business/modules/message/services/thread-cleaner/utils/delete-using-pagination.util.spec.ts b/packages/twenty-server/src/modules/messaging/services/thread-cleaner/utils/delete-using-pagination.util.spec.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/services/thread-cleaner/utils/delete-using-pagination.util.spec.ts rename to packages/twenty-server/src/modules/messaging/services/thread-cleaner/utils/delete-using-pagination.util.spec.ts diff --git a/packages/twenty-server/src/business/modules/message/services/thread-cleaner/utils/delete-using-pagination.util.ts b/packages/twenty-server/src/modules/messaging/services/thread-cleaner/utils/delete-using-pagination.util.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/services/thread-cleaner/utils/delete-using-pagination.util.ts rename to packages/twenty-server/src/modules/messaging/services/thread-cleaner/utils/delete-using-pagination.util.ts diff --git a/packages/twenty-server/src/business/modules/message/services/utils/__tests__/format-address-object-as-participants.util.spec.ts b/packages/twenty-server/src/modules/messaging/services/utils/__tests__/format-address-object-as-participants.util.spec.ts similarity index 86% rename from packages/twenty-server/src/business/modules/message/services/utils/__tests__/format-address-object-as-participants.util.spec.ts rename to packages/twenty-server/src/modules/messaging/services/utils/__tests__/format-address-object-as-participants.util.spec.ts index cb1ffd495..03d52b91d 100644 --- a/packages/twenty-server/src/business/modules/message/services/utils/__tests__/format-address-object-as-participants.util.spec.ts +++ b/packages/twenty-server/src/modules/messaging/services/utils/__tests__/format-address-object-as-participants.util.spec.ts @@ -1,4 +1,4 @@ -import { formatAddressObjectAsParticipants } from 'src/business/modules/message/services/utils/format-address-object-as-participants.util'; +import { formatAddressObjectAsParticipants } from 'src/modules/messaging/services/utils/format-address-object-as-participants.util'; describe('formatAddressObjectAsParticipants', () => { it('should format address object as participants', () => { diff --git a/packages/twenty-server/src/business/modules/message/services/utils/format-address-object-as-participants.util.ts b/packages/twenty-server/src/modules/messaging/services/utils/format-address-object-as-participants.util.ts similarity index 92% rename from packages/twenty-server/src/business/modules/message/services/utils/format-address-object-as-participants.util.ts rename to packages/twenty-server/src/modules/messaging/services/utils/format-address-object-as-participants.util.ts index c9baa38ca..674bfa2c7 100644 --- a/packages/twenty-server/src/business/modules/message/services/utils/format-address-object-as-participants.util.ts +++ b/packages/twenty-server/src/modules/messaging/services/utils/format-address-object-as-participants.util.ts @@ -1,6 +1,6 @@ import { AddressObject } from 'mailparser'; -import { Participant } from 'src/business/modules/message/types/gmail-message'; +import { Participant } from 'src/modules/messaging/types/gmail-message'; const formatAddressObjectAsArray = ( addressObject: AddressObject | AddressObject[], diff --git a/packages/twenty-server/src/business/modules/message/message-channel-message-association.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts similarity index 89% rename from packages/twenty-server/src/business/modules/message/message-channel-message-association.object-metadata.ts rename to packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts index 290de139a..47e616902 100644 --- a/packages/twenty-server/src/business/modules/message/message-channel-message-association.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts @@ -6,9 +6,9 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { MessageChannelObjectMetadata } from 'src/business/modules/message/message-channel.object-metadata'; -import { MessageThreadObjectMetadata } from 'src/business/modules/message/message-thread.object-metadata'; -import { MessageObjectMetadata } from 'src/business/modules/message/message.object-metadata'; +import { MessageChannelObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel.object-metadata'; +import { MessageThreadObjectMetadata } from 'src/modules/messaging/standard-objects/message-thread.object-metadata'; +import { MessageObjectMetadata } from 'src/modules/messaging/standard-objects/message.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.messageChannelMessageAssociation, diff --git a/packages/twenty-server/src/business/modules/message/message-channel.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts similarity index 94% rename from packages/twenty-server/src/business/modules/message/message-channel.object-metadata.ts rename to packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts index ac6f880a9..39ee80fa6 100644 --- a/packages/twenty-server/src/business/modules/message/message-channel.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts @@ -11,8 +11,8 @@ import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/d import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { ConnectedAccountObjectMetadata } from 'src/business/modules/connected-account/connected-account.object-metadata'; -import { MessageChannelMessageAssociationObjectMetadata } from 'src/business/modules/message/message-channel-message-association.object-metadata'; +import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; +import { MessageChannelMessageAssociationObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel-message-association.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.messageChannel, diff --git a/packages/twenty-server/src/business/modules/message/message-participant.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts similarity index 90% rename from packages/twenty-server/src/business/modules/message/message-participant.object-metadata.ts rename to packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts index b0b917f60..49fdaf291 100644 --- a/packages/twenty-server/src/business/modules/message/message-participant.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts @@ -6,9 +6,9 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { MessageObjectMetadata } from 'src/business/modules/message/message.object-metadata'; -import { PersonObjectMetadata } from 'src/business/modules/person/person.object-metadata'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { MessageObjectMetadata } from 'src/modules/messaging/standard-objects/message.object-metadata'; +import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.messageParticipant, diff --git a/packages/twenty-server/src/business/modules/message/message-thread.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts similarity index 92% rename from packages/twenty-server/src/business/modules/message/message-thread.object-metadata.ts rename to packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts index a6d03242a..d35b3aff8 100644 --- a/packages/twenty-server/src/business/modules/message/message-thread.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts @@ -11,8 +11,8 @@ import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/d import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { MessageChannelMessageAssociationObjectMetadata } from 'src/business/modules/message/message-channel-message-association.object-metadata'; -import { MessageObjectMetadata } from 'src/business/modules/message/message.object-metadata'; +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'; @ObjectMetadata({ standardId: standardObjectIds.messageThread, diff --git a/packages/twenty-server/src/business/modules/message/message.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts similarity index 92% rename from packages/twenty-server/src/business/modules/message/message.object-metadata.ts rename to packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts index 2fb054a29..1c2aa129a 100644 --- a/packages/twenty-server/src/business/modules/message/message.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts @@ -11,9 +11,9 @@ import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/d import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { MessageChannelMessageAssociationObjectMetadata } from 'src/business/modules/message/message-channel-message-association.object-metadata'; -import { MessageParticipantObjectMetadata } from 'src/business/modules/message/message-participant.object-metadata'; -import { MessageThreadObjectMetadata } from 'src/business/modules/message/message-thread.object-metadata'; +import { MessageChannelMessageAssociationObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel-message-association.object-metadata'; +import { MessageParticipantObjectMetadata } from 'src/modules/messaging/standard-objects/message-participant.object-metadata'; +import { MessageThreadObjectMetadata } from 'src/modules/messaging/standard-objects/message-thread.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.message, diff --git a/packages/twenty-server/src/business/modules/calendar-and-messaging/types/batch-queries.ts b/packages/twenty-server/src/modules/messaging/types/batch-queries.ts similarity index 100% rename from packages/twenty-server/src/business/modules/calendar-and-messaging/types/batch-queries.ts rename to packages/twenty-server/src/modules/messaging/types/batch-queries.ts diff --git a/packages/twenty-server/src/business/modules/message/types/gmail-message-parsed-response.ts b/packages/twenty-server/src/modules/messaging/types/gmail-message-parsed-response.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/types/gmail-message-parsed-response.ts rename to packages/twenty-server/src/modules/messaging/types/gmail-message-parsed-response.ts diff --git a/packages/twenty-server/src/business/modules/message/types/gmail-message.ts b/packages/twenty-server/src/modules/messaging/types/gmail-message.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/types/gmail-message.ts rename to packages/twenty-server/src/modules/messaging/types/gmail-message.ts diff --git a/packages/twenty-server/src/business/modules/message/types/gmail-thread.ts b/packages/twenty-server/src/modules/messaging/types/gmail-thread.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/types/gmail-thread.ts rename to packages/twenty-server/src/modules/messaging/types/gmail-thread.ts diff --git a/packages/twenty-server/src/business/modules/message/types/message-or-thread-query.ts b/packages/twenty-server/src/modules/messaging/types/message-or-thread-query.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/types/message-or-thread-query.ts rename to packages/twenty-server/src/modules/messaging/types/message-or-thread-query.ts diff --git a/packages/twenty-server/src/business/modules/message/utils/create-queries-from-message-ids.util.ts b/packages/twenty-server/src/modules/messaging/utils/create-queries-from-message-ids.util.ts similarity index 71% rename from packages/twenty-server/src/business/modules/message/utils/create-queries-from-message-ids.util.ts rename to packages/twenty-server/src/modules/messaging/utils/create-queries-from-message-ids.util.ts index 936ee7873..304454488 100644 --- a/packages/twenty-server/src/business/modules/message/utils/create-queries-from-message-ids.util.ts +++ b/packages/twenty-server/src/modules/messaging/utils/create-queries-from-message-ids.util.ts @@ -1,4 +1,4 @@ -import { MessageQuery } from 'src/business/modules/message/types/message-or-thread-query'; +import { MessageQuery } from 'src/modules/messaging/types/message-or-thread-query'; export const createQueriesFromMessageIds = ( messageExternalIds: string[], diff --git a/packages/twenty-server/src/business/modules/message/utils/filter-out-participants-from-company-or-workspace.util.ts b/packages/twenty-server/src/modules/messaging/utils/filter-out-participants-from-company-or-workspace.util.ts similarity index 70% rename from packages/twenty-server/src/business/modules/message/utils/filter-out-participants-from-company-or-workspace.util.ts rename to packages/twenty-server/src/modules/messaging/utils/filter-out-participants-from-company-or-workspace.util.ts index 076efa26b..ec569804e 100644 --- a/packages/twenty-server/src/business/modules/message/utils/filter-out-participants-from-company-or-workspace.util.ts +++ b/packages/twenty-server/src/modules/messaging/utils/filter-out-participants-from-company-or-workspace.util.ts @@ -1,6 +1,6 @@ -import { Participant } from 'src/business/modules/message/types/gmail-message'; -import { getDomainNameFromHandle } from 'src/business/modules/message/utils/get-domain-name-from-handle.util'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { Participant } from 'src/modules/messaging/types/gmail-message'; +import { getDomainNameFromHandle } from 'src/modules/messaging/utils/get-domain-name-from-handle.util'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; export function filterOutParticipantsFromCompanyOrWorkspace( diff --git a/packages/twenty-server/src/business/modules/message/utils/get-company-name-from-domain-name.util.ts b/packages/twenty-server/src/modules/messaging/utils/get-company-name-from-domain-name.util.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/utils/get-company-name-from-domain-name.util.ts rename to packages/twenty-server/src/modules/messaging/utils/get-company-name-from-domain-name.util.ts diff --git a/packages/twenty-server/src/business/modules/message/utils/get-domain-name-from-handle.util.ts b/packages/twenty-server/src/modules/messaging/utils/get-domain-name-from-handle.util.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/utils/get-domain-name-from-handle.util.ts rename to packages/twenty-server/src/modules/messaging/utils/get-domain-name-from-handle.util.ts diff --git a/packages/twenty-server/src/business/modules/message/utils/get-first-name-and-last-name-from-handle-and-display-name.util.ts b/packages/twenty-server/src/modules/messaging/utils/get-first-name-and-last-name-from-handle-and-display-name.util.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/utils/get-first-name-and-last-name-from-handle-and-display-name.util.ts rename to packages/twenty-server/src/modules/messaging/utils/get-first-name-and-last-name-from-handle-and-display-name.util.ts diff --git a/packages/twenty-server/src/business/modules/message/utils/get-unique-participants-and-handles.util.ts b/packages/twenty-server/src/modules/messaging/utils/get-unique-participants-and-handles.util.ts similarity index 86% rename from packages/twenty-server/src/business/modules/message/utils/get-unique-participants-and-handles.util.ts rename to packages/twenty-server/src/modules/messaging/utils/get-unique-participants-and-handles.util.ts index 340839bad..78e7587ed 100644 --- a/packages/twenty-server/src/business/modules/message/utils/get-unique-participants-and-handles.util.ts +++ b/packages/twenty-server/src/modules/messaging/utils/get-unique-participants-and-handles.util.ts @@ -1,6 +1,6 @@ import { uniq, uniqBy } from 'lodash'; -import { Participant } from 'src/business/modules/message/types/gmail-message'; +import { Participant } from 'src/modules/messaging/types/gmail-message'; export function getUniqueParticipantsAndHandles(participants: Participant[]): { uniqueParticipants: Participant[]; uniqueHandles: string[]; diff --git a/packages/twenty-server/src/business/modules/message/utils/gmail-search-filter.util.ts b/packages/twenty-server/src/modules/messaging/utils/gmail-search-filter.util.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/utils/gmail-search-filter.util.ts rename to packages/twenty-server/src/modules/messaging/utils/gmail-search-filter.util.ts diff --git a/packages/twenty-server/src/business/modules/message/utils/is-person-email.util.ts b/packages/twenty-server/src/modules/messaging/utils/is-person-email.util.ts similarity index 100% rename from packages/twenty-server/src/business/modules/message/utils/is-person-email.util.ts rename to packages/twenty-server/src/modules/messaging/utils/is-person-email.util.ts diff --git a/packages/twenty-server/src/modules/modules.module.ts b/packages/twenty-server/src/modules/modules.module.ts new file mode 100644 index 000000000..2d966e073 --- /dev/null +++ b/packages/twenty-server/src/modules/modules.module.ts @@ -0,0 +1,11 @@ +import { Module } from '@nestjs/common'; + +import { CalendarModule } from 'src/modules/calendar/calendar.module'; +import { MessagingModule } from 'src/modules/messaging/messaging.module'; + +@Module({ + imports: [MessagingModule, CalendarModule], + providers: [], + exports: [], +}) +export class ModulesModule {} diff --git a/packages/twenty-server/src/business/modules/opportunity/opportunity.object-metadata.ts b/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts similarity index 89% rename from packages/twenty-server/src/business/modules/opportunity/opportunity.object-metadata.ts rename to packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts index 070bd1e45..13ac4f326 100644 --- a/packages/twenty-server/src/business/modules/opportunity/opportunity.object-metadata.ts +++ b/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts @@ -11,13 +11,13 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; -import { ActivityTargetObjectMetadata } from 'src/business/modules/activity/activity-target.object-metadata'; -import { AttachmentObjectMetadata } from 'src/business/modules/attachment/attachment.object-metadata'; +import { ActivityTargetObjectMetadata } from 'src/modules/activity/standard-objects/activity-target.object-metadata'; +import { AttachmentObjectMetadata } from 'src/modules/attachment/standard-objects/attachment.object-metadata'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { CompanyObjectMetadata } from 'src/business/modules/company/company.object-metadata'; -import { FavoriteObjectMetadata } from 'src/business/modules/favorite/favorite.object-metadata'; -import { PersonObjectMetadata } from 'src/business/modules/person/person.object-metadata'; -import { PipelineStepObjectMetadata } from 'src/business/modules/pipeline-step/pipeline-step.object-metadata'; +import { CompanyObjectMetadata } from 'src/modules/company/standard-objects/company.object-metadata'; +import { FavoriteObjectMetadata } from 'src/modules/favorite/standard-objects/favorite.object-metadata'; +import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata'; +import { PipelineStepObjectMetadata } from 'src/modules/pipeline-step/standard-objects/pipeline-step.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.opportunity, diff --git a/packages/twenty-server/src/engine-workspace/repositories/person/person.module.ts b/packages/twenty-server/src/modules/person/repositories/person/person.module.ts similarity index 76% rename from packages/twenty-server/src/engine-workspace/repositories/person/person.module.ts rename to packages/twenty-server/src/modules/person/repositories/person/person.module.ts index fc501bab6..adf359cf7 100644 --- a/packages/twenty-server/src/engine-workspace/repositories/person/person.module.ts +++ b/packages/twenty-server/src/modules/person/repositories/person/person.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { PersonService } from 'src/engine-workspace/repositories/person/person.service'; +import { PersonService } from 'src/modules/person/repositories/person/person.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/engine-workspace/repositories/person/person.service.ts b/packages/twenty-server/src/modules/person/repositories/person/person.service.ts similarity index 95% rename from packages/twenty-server/src/engine-workspace/repositories/person/person.service.ts rename to packages/twenty-server/src/modules/person/repositories/person/person.service.ts index 1438d3a77..502b12f65 100644 --- a/packages/twenty-server/src/engine-workspace/repositories/person/person.service.ts +++ b/packages/twenty-server/src/modules/person/repositories/person/person.service.ts @@ -4,7 +4,7 @@ import { EntityManager } from 'typeorm'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; -import { PersonObjectMetadata } from 'src/business/modules/person/person.object-metadata'; +import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person.object-metadata'; // TODO: Move outside of the messaging module @Injectable() diff --git a/packages/twenty-server/src/business/modules/person/person.object-metadata.ts b/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts similarity index 89% rename from packages/twenty-server/src/business/modules/person/person.object-metadata.ts rename to packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts index e499e6fe7..3e84b9f96 100644 --- a/packages/twenty-server/src/business/modules/person/person.object-metadata.ts +++ b/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts @@ -13,14 +13,14 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; -import { ActivityTargetObjectMetadata } from 'src/business/modules/activity/activity-target.object-metadata'; -import { AttachmentObjectMetadata } from 'src/business/modules/attachment/attachment.object-metadata'; +import { ActivityTargetObjectMetadata } from 'src/modules/activity/standard-objects/activity-target.object-metadata'; +import { AttachmentObjectMetadata } from 'src/modules/attachment/standard-objects/attachment.object-metadata'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { CalendarEventAttendeeObjectMetadata } from 'src/business/modules/calendar/calendar-event-attendee.object-metadata'; -import { CompanyObjectMetadata } from 'src/business/modules/company/company.object-metadata'; -import { FavoriteObjectMetadata } from 'src/business/modules/favorite/favorite.object-metadata'; -import { MessageParticipantObjectMetadata } from 'src/business/modules/message/message-participant.object-metadata'; -import { OpportunityObjectMetadata } from 'src/business/modules/opportunity/opportunity.object-metadata'; +import { CalendarEventAttendeeObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata'; +import { CompanyObjectMetadata } from 'src/modules/company/standard-objects/company.object-metadata'; +import { FavoriteObjectMetadata } from 'src/modules/favorite/standard-objects/favorite.object-metadata'; +import { MessageParticipantObjectMetadata } from 'src/modules/messaging/standard-objects/message-participant.object-metadata'; +import { OpportunityObjectMetadata } from 'src/modules/opportunity/standard-objects/opportunity.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.person, diff --git a/packages/twenty-server/src/business/modules/pipeline-step/pipeline-step.object-metadata.ts b/packages/twenty-server/src/modules/pipeline-step/standard-objects/pipeline-step.object-metadata.ts similarity index 95% rename from packages/twenty-server/src/business/modules/pipeline-step/pipeline-step.object-metadata.ts rename to packages/twenty-server/src/modules/pipeline-step/standard-objects/pipeline-step.object-metadata.ts index 1794961f6..b1a6ea253 100644 --- a/packages/twenty-server/src/business/modules/pipeline-step/pipeline-step.object-metadata.ts +++ b/packages/twenty-server/src/modules/pipeline-step/standard-objects/pipeline-step.object-metadata.ts @@ -8,7 +8,7 @@ import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/d import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { OpportunityObjectMetadata } from 'src/business/modules/opportunity/opportunity.object-metadata'; +import { OpportunityObjectMetadata } from 'src/modules/opportunity/standard-objects/opportunity.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.pipelineStep, diff --git a/packages/twenty-server/src/business/modules/view/view-field.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view-field.object-metadata.ts similarity index 96% rename from packages/twenty-server/src/business/modules/view/view-field.object-metadata.ts rename to packages/twenty-server/src/modules/view/standard-objects/view-field.object-metadata.ts index 6a96954fe..e2771474c 100644 --- a/packages/twenty-server/src/business/modules/view/view-field.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-field.object-metadata.ts @@ -6,7 +6,7 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { ViewObjectMetadata } from 'src/business/modules/view/view.object-metadata'; +import { ViewObjectMetadata } from 'src/modules/view/standard-objects/view.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.viewField, diff --git a/packages/twenty-server/src/business/modules/view/view-filter.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts similarity index 96% rename from packages/twenty-server/src/business/modules/view/view-filter.object-metadata.ts rename to packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts index bf68a32fc..8f8479893 100644 --- a/packages/twenty-server/src/business/modules/view/view-filter.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts @@ -6,7 +6,7 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { ViewObjectMetadata } from 'src/business/modules/view/view.object-metadata'; +import { ViewObjectMetadata } from 'src/modules/view/standard-objects/view.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.viewFilter, diff --git a/packages/twenty-server/src/business/modules/view/view-sort.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts similarity index 95% rename from packages/twenty-server/src/business/modules/view/view-sort.object-metadata.ts rename to packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts index 7aea069db..8380ff7ac 100644 --- a/packages/twenty-server/src/business/modules/view/view-sort.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts @@ -6,7 +6,7 @@ import { IsNullable } from 'src/engine/workspace-manager/workspace-sync-metadata import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { ViewObjectMetadata } from 'src/business/modules/view/view.object-metadata'; +import { ViewObjectMetadata } from 'src/modules/view/standard-objects/view.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.viewSort, diff --git a/packages/twenty-server/src/business/modules/view/view.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts similarity index 92% rename from packages/twenty-server/src/business/modules/view/view.object-metadata.ts rename to packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts index 514ccdf6a..b1055cda4 100644 --- a/packages/twenty-server/src/business/modules/view/view.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts @@ -8,9 +8,9 @@ import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/d import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { ViewFieldObjectMetadata } from 'src/business/modules/view/view-field.object-metadata'; -import { ViewFilterObjectMetadata } from 'src/business/modules/view/view-filter.object-metadata'; -import { ViewSortObjectMetadata } from 'src/business/modules/view/view-sort.object-metadata'; +import { ViewFieldObjectMetadata } from 'src/modules/view/standard-objects/view-field.object-metadata'; +import { ViewFilterObjectMetadata } from 'src/modules/view/standard-objects/view-filter.object-metadata'; +import { ViewSortObjectMetadata } from 'src/modules/view/standard-objects/view-sort.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.view, diff --git a/packages/twenty-server/src/business/modules/webhook/webhook.object-metadata.ts b/packages/twenty-server/src/modules/webhook/standard-objects/webhook.object-metadata.ts similarity index 100% rename from packages/twenty-server/src/business/modules/webhook/webhook.object-metadata.ts rename to packages/twenty-server/src/modules/webhook/standard-objects/webhook.object-metadata.ts diff --git a/packages/twenty-server/src/engine-workspace/repositories/workspace-member/workspace-member.module.ts b/packages/twenty-server/src/modules/workspace-member/repositories/workspace-member/workspace-member.module.ts similarity index 71% rename from packages/twenty-server/src/engine-workspace/repositories/workspace-member/workspace-member.module.ts rename to packages/twenty-server/src/modules/workspace-member/repositories/workspace-member/workspace-member.module.ts index 587f62c9d..54465e413 100644 --- a/packages/twenty-server/src/engine-workspace/repositories/workspace-member/workspace-member.module.ts +++ b/packages/twenty-server/src/modules/workspace-member/repositories/workspace-member/workspace-member.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; -import { WorkspaceMemberService } from 'src/engine-workspace/repositories/workspace-member/workspace-member.service'; +import { WorkspaceMemberService } from 'src/modules/workspace-member/repositories/workspace-member/workspace-member.service'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; @Module({ diff --git a/packages/twenty-server/src/engine-workspace/repositories/workspace-member/workspace-member.service.ts b/packages/twenty-server/src/modules/workspace-member/repositories/workspace-member/workspace-member.service.ts similarity index 94% rename from packages/twenty-server/src/engine-workspace/repositories/workspace-member/workspace-member.service.ts rename to packages/twenty-server/src/modules/workspace-member/repositories/workspace-member/workspace-member.service.ts index 65a338467..c5d097285 100644 --- a/packages/twenty-server/src/engine-workspace/repositories/workspace-member/workspace-member.service.ts +++ b/packages/twenty-server/src/modules/workspace-member/repositories/workspace-member/workspace-member.service.ts @@ -3,7 +3,7 @@ import { Injectable, NotFoundException } from '@nestjs/common'; import { EntityManager } from 'typeorm'; import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service'; -import { WorkspaceMemberObjectMetadata } from 'src/business/modules/workspace/workspace-member.object-metadata'; +import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata'; import { ObjectRecord } from 'src/engine/workspace-manager/workspace-sync-metadata/types/object-record'; // TODO: Move outside of the messaging module diff --git a/packages/twenty-server/src/business/modules/workspace/workspace-member.object-metadata.ts b/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts similarity index 88% rename from packages/twenty-server/src/business/modules/workspace/workspace-member.object-metadata.ts rename to packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts index c1de6e5e6..4db6b2261 100644 --- a/packages/twenty-server/src/business/modules/workspace/workspace-member.object-metadata.ts +++ b/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts @@ -11,16 +11,16 @@ import { Gate } from 'src/engine/workspace-manager/workspace-sync-metadata/decor import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator'; import { ObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/object-metadata.decorator'; import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; -import { ActivityObjectMetadata } from 'src/business/modules/activity/activity.object-metadata'; -import { AttachmentObjectMetadata } from 'src/business/modules/attachment/attachment.object-metadata'; +import { ActivityObjectMetadata } from 'src/modules/activity/standard-objects/activity.object-metadata'; +import { AttachmentObjectMetadata } from 'src/modules/attachment/standard-objects/attachment.object-metadata'; import { BaseObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/standard-objects/base.object-metadata'; -import { BlocklistObjectMetadata } from 'src/business/modules/calendar/blocklist.object-metadata'; -import { CalendarEventAttendeeObjectMetadata } from 'src/business/modules/calendar/calendar-event-attendee.object-metadata'; -import { CommentObjectMetadata } from 'src/business/modules/comment/comment.object-metadata'; -import { CompanyObjectMetadata } from 'src/business/modules/company/company.object-metadata'; -import { ConnectedAccountObjectMetadata } from 'src/business/modules/connected-account/connected-account.object-metadata'; -import { FavoriteObjectMetadata } from 'src/business/modules/favorite/favorite.object-metadata'; -import { MessageParticipantObjectMetadata } from 'src/business/modules/message/message-participant.object-metadata'; +import { BlocklistObjectMetadata } from 'src/modules/connected-account/standard-objects/blocklist.object-metadata'; +import { CalendarEventAttendeeObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event-attendee.object-metadata'; +import { CommentObjectMetadata } from 'src/modules/activity/standard-objects/comment.object-metadata'; +import { CompanyObjectMetadata } from 'src/modules/company/standard-objects/company.object-metadata'; +import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; +import { FavoriteObjectMetadata } from 'src/modules/favorite/standard-objects/favorite.object-metadata'; +import { MessageParticipantObjectMetadata } from 'src/modules/messaging/standard-objects/message-participant.object-metadata'; @ObjectMetadata({ standardId: standardObjectIds.workspaceMember, diff --git a/packages/twenty-server/src/queue-worker.module.ts b/packages/twenty-server/src/queue-worker.module.ts deleted file mode 100644 index 50d93ea62..000000000 --- a/packages/twenty-server/src/queue-worker.module.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { JobsModule } from 'src/integrations/message-queue/jobs.module'; -import { IntegrationsModule } from 'src/integrations/integrations.module'; - -@Module({ - imports: [IntegrationsModule, JobsModule], -}) -export class QueueWorkerModule {} diff --git a/packages/twenty-server/src/queue-worker/queue-worker.module.ts b/packages/twenty-server/src/queue-worker/queue-worker.module.ts new file mode 100644 index 000000000..d6c87b882 --- /dev/null +++ b/packages/twenty-server/src/queue-worker/queue-worker.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; + +import { JobsModule } from 'src/engine/integrations/message-queue/jobs.module'; +import { IntegrationsModule } from 'src/engine/integrations/integrations.module'; + +@Module({ + imports: [IntegrationsModule, JobsModule], +}) +export class QueueWorkerModule {} diff --git a/packages/twenty-server/src/queue-worker.ts b/packages/twenty-server/src/queue-worker/queue-worker.ts similarity index 64% rename from packages/twenty-server/src/queue-worker.ts rename to packages/twenty-server/src/queue-worker/queue-worker.ts index 326ac9ce8..6218a488e 100644 --- a/packages/twenty-server/src/queue-worker.ts +++ b/packages/twenty-server/src/queue-worker/queue-worker.ts @@ -3,17 +3,16 @@ import { NestFactory } from '@nestjs/core'; import { MessageQueueJob, MessageQueueJobData, -} from 'src/integrations/message-queue/interfaces/message-queue-job.interface'; +} from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface'; -import { JobsModule } from 'src/integrations/message-queue/jobs.module'; -import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; -import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; -import { getJobClassName } from 'src/integrations/message-queue/utils/get-job-class-name.util'; -import { QueueWorkerModule } from 'src/queue-worker.module'; - -import { LoggerService } from './integrations/logger/logger.service'; -import { ExceptionHandlerService } from './integrations/exception-handler/exception-handler.service'; -import { filterException } from './engine/filters/utils/global-exception-handler.util'; +import { filterException } from 'src/engine/filters/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'; +import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; +import { getJobClassName } from 'src/engine/integrations/message-queue/utils/get-job-class-name.util'; +import { QueueWorkerModule } from 'src/queue-worker/queue-worker.module'; async function bootstrap() { let exceptionHandlerService: ExceptionHandlerService | undefined; diff --git a/packages/twenty-server/src/utils/pagination/find-many-cursor-connection.ts b/packages/twenty-server/src/utils/pagination/find-many-cursor-connection.ts deleted file mode 100644 index d11e9b6b7..000000000 --- a/packages/twenty-server/src/utils/pagination/find-many-cursor-connection.ts +++ /dev/null @@ -1,162 +0,0 @@ -import { - LessThanOrEqual, - MoreThanOrEqual, - ObjectLiteral, - SelectQueryBuilder, -} from 'typeorm'; - -import { IEdge } from './interfaces/edge.interface'; -import { IConnectionArguments } from './interfaces/connection-arguments.interface'; -import { IOptions } from './interfaces/options.interface'; -import { IConnection } from './interfaces/connection.interface'; -import { validateArgs } from './utils/validate-args'; -import { mergeDefaultOptions } from './utils/default-options'; -import { - isBackwardPagination, - isForwardPagination, -} from './utils/pagination-direction'; -import { encodeCursor, extractCursorKeyValue } from './utils/cursor'; - -/** - * Override cursors options - */ -export async function findManyCursorConnection< - Entity extends ObjectLiteral, - Record = Entity, - Cursor = { id: string }, - Node = Record, - CustomEdge extends IEdge = IEdge, ->( - query: SelectQueryBuilder, - args: IConnectionArguments = {}, - initialOptions?: IOptions, -): Promise> { - if (!validateArgs(args)) { - throw new Error('Should never happen'); - } - - const options = mergeDefaultOptions(initialOptions); - const totalCountQuery = query.clone(); - const totalCount = await totalCountQuery.getCount(); - // Only to extract cursor shape - const cursorKeys = Object.keys(options.getCursor(undefined) as any); - - let records: Array; - let hasNextPage: boolean; - let hasPreviousPage: boolean; - - // Add order by based on the cursor keys - for (const key of cursorKeys) { - query.addOrderBy(key, 'ASC'); - } - - if (isForwardPagination(args)) { - // Fetch one additional record to determine if there is a next page - const take = args.first + 1; - - // Extract cursor map based on the encoded cursor - const cursorMap = extractCursorKeyValue(args.after, options); - const skip = cursorMap ? 1 : undefined; - - if (cursorMap) { - const [keys, values] = cursorMap; - - // Add `cursor` filter in where condition - query.andWhere( - keys.reduce((acc, key, index) => { - return { - ...acc, - [key]: MoreThanOrEqual(values[index]), - }; - }, {}), - ); - } - - // Add `take` and `skip` to the query - query.take(take).skip(skip); - - // Fetch records - records = await options.getRecords(query); - - // See if we are "after" another record, indicating a previous page - hasPreviousPage = !!args.after; - - // See if we have an additional record, indicating a next page - hasNextPage = records.length > args.first; - - // Remove the extra record (last element) from the results - if (hasNextPage) records.pop(); - } else if (isBackwardPagination(args)) { - // Fetch one additional record to determine if there is a previous page - const take = -1 * (args.last + 1); - - // Extract cursor map based on the encoded cursor - const cursorMap = extractCursorKeyValue(args.before, options); - const skip = cursorMap ? 1 : undefined; - - if (cursorMap) { - const [keys, values] = cursorMap; - - // Add `cursor` filter in where condition - query.andWhere( - keys.reduce((acc, key, index) => { - return { - ...acc, - [key]: LessThanOrEqual(values[index]), - }; - }, {}), - ); - } - - // Add `take` and `skip` to the query - query.take(take).skip(skip); - - // Fetch records - records = await options.getRecords(query); - - // See if we are "before" another record, indicating a next page - hasNextPage = !!args.before; - - // See if we have an additional record, indicating a previous page - hasPreviousPage = records.length > args.last; - - // Remove the extra record (first element) from the results - if (hasPreviousPage) records.shift(); - } else { - // Fetch records - records = await options.getRecords(query); - - hasNextPage = false; - hasPreviousPage = false; - } - - // The cursors are always the first & last elements of the result set - const startCursor = - records.length > 0 ? encodeCursor(records[0], options) : undefined; - const endCursor = - records.length > 0 - ? encodeCursor(records[records.length - 1], options) - : undefined; - - // Allow the recordToEdge function to return a custom edge type which will be inferred - type EdgeExtended = typeof options.recordToEdge extends ( - record: Record, - ) => infer X - ? X extends CustomEdge - ? X & { cursor: string } - : CustomEdge - : CustomEdge; - - const edges = records.map((record) => { - return { - ...options.recordToEdge(record), - cursor: encodeCursor(record, options), - } as EdgeExtended; - }); - - return { - edges, - pageInfo: { hasNextPage, hasPreviousPage, startCursor, endCursor }, - totalCount, - }; -} diff --git a/packages/twenty-server/src/utils/pagination/index.ts b/packages/twenty-server/src/utils/pagination/index.ts deleted file mode 100644 index 7708d25c7..000000000 --- a/packages/twenty-server/src/utils/pagination/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { ConnectionCursor, ConnectionArgs, Paginated } from './paginated'; -export { findManyCursorConnection } from './find-many-cursor-connection'; diff --git a/packages/twenty-server/src/utils/pagination/interfaces/connection-arguments.interface.ts b/packages/twenty-server/src/utils/pagination/interfaces/connection-arguments.interface.ts deleted file mode 100644 index 45b240523..000000000 --- a/packages/twenty-server/src/utils/pagination/interfaces/connection-arguments.interface.ts +++ /dev/null @@ -1,15 +0,0 @@ -export interface IConnectionArguments { - first?: number | null; - after?: string | null; - last?: number | null; - before?: string | null; -} - -export type ConnectionArgumentsUnion = - | ForwardPaginationArguments - | BackwardPaginationArguments - | NoPaginationArguments; - -export type ForwardPaginationArguments = { first: number; after?: string }; -export type BackwardPaginationArguments = { last: number; before?: string }; -export type NoPaginationArguments = Record; diff --git a/packages/twenty-server/src/utils/pagination/interfaces/connection-cursor.type.ts b/packages/twenty-server/src/utils/pagination/interfaces/connection-cursor.type.ts deleted file mode 100644 index 91e8cffc7..000000000 --- a/packages/twenty-server/src/utils/pagination/interfaces/connection-cursor.type.ts +++ /dev/null @@ -1 +0,0 @@ -export type ConnectionCursor = string; diff --git a/packages/twenty-server/src/utils/pagination/interfaces/find-many-aguments.interface.ts b/packages/twenty-server/src/utils/pagination/interfaces/find-many-aguments.interface.ts deleted file mode 100644 index 66063d854..000000000 --- a/packages/twenty-server/src/utils/pagination/interfaces/find-many-aguments.interface.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface IFindManyArguments { - cursor?: Cursor; - take?: number; - skip?: number; -} diff --git a/packages/twenty-server/src/utils/pagination/interfaces/options.interface.ts b/packages/twenty-server/src/utils/pagination/interfaces/options.interface.ts deleted file mode 100644 index 24b430e79..000000000 --- a/packages/twenty-server/src/utils/pagination/interfaces/options.interface.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { GraphQLResolveInfo } from 'graphql'; -import { ObjectLiteral, SelectQueryBuilder } from 'typeorm'; - -import { IEdge } from './edge.interface'; - -export interface IOptions< - Entity extends ObjectLiteral, - Record, - Cursor, - Node, - CustomEdge extends IEdge, -> { - getRecords?: (args: SelectQueryBuilder) => Promise; - getCursor?: (record: Record | undefined) => Cursor; - encodeCursor?: (cursor: Cursor) => string; - decodeCursor?: (cursorString: string) => Cursor; - recordToEdge?: (record: Record) => Omit; - resolveInfo?: GraphQLResolveInfo | null; -} diff --git a/packages/twenty-server/src/utils/pagination/page-info.ts b/packages/twenty-server/src/utils/pagination/page-info.ts deleted file mode 100644 index 0b9f35e88..000000000 --- a/packages/twenty-server/src/utils/pagination/page-info.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Field, ObjectType } from '@nestjs/graphql'; - -import { IPageInfo } from './interfaces/page-info.interface'; -import { ConnectionCursor } from './interfaces/connection-cursor.type'; - -@ObjectType({ isAbstract: true }) -export class PageInfo implements IPageInfo { - @Field({ nullable: true }) - public startCursor!: ConnectionCursor; - - @Field({ nullable: true }) - public endCursor!: ConnectionCursor; - - @Field(() => Boolean) - public hasPreviousPage!: boolean; - - @Field(() => Boolean) - public hasNextPage!: boolean; -} diff --git a/packages/twenty-server/src/utils/pagination/paginated.ts b/packages/twenty-server/src/utils/pagination/paginated.ts deleted file mode 100644 index 5124ad99a..000000000 --- a/packages/twenty-server/src/utils/pagination/paginated.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Type } from '@nestjs/common'; -import { ArgsType, Field, ObjectType } from '@nestjs/graphql'; - -import { IsNumber, IsOptional, IsString } from 'class-validator'; - -import { PageInfo } from './page-info'; - -import { IConnectionArguments } from './interfaces/connection-arguments.interface'; -import { IConnection } from './interfaces/connection.interface'; -import { IEdge } from './interfaces/edge.interface'; -import { IPageInfo } from './interfaces/page-info.interface'; - -export type ConnectionCursor = string; - -/** - * ConnectionArguments - */ -@ArgsType() -export class ConnectionArgs implements IConnectionArguments { - @Field({ nullable: true, description: 'Paginate before opaque cursor' }) - @IsString() - @IsOptional() - public before?: ConnectionCursor; - - @Field({ nullable: true, description: 'Paginate after opaque cursor' }) - @IsString() - @IsOptional() - public after?: ConnectionCursor; - - @Field({ nullable: true, description: 'Paginate first' }) - @IsNumber() - @IsOptional() - public first?: number; - - @Field({ nullable: true, description: 'Paginate last' }) - @IsNumber() - @IsOptional() - public last?: number; -} - -/** - * Paginated graphQL class inheritance - */ -export function Paginated(classRef: Type): Type> { - @ObjectType(`${classRef.name}Edge`, { isAbstract: true }) - class Edge implements IEdge { - public name = `${classRef.name}Edge`; - - @Field({ nullable: true }) - public cursor!: ConnectionCursor; - - @Field(() => classRef, { nullable: true }) - public node!: T; - } - - @ObjectType(`${classRef.name}Connection`, { isAbstract: true }) - class Connection implements IConnection { - public name = `${classRef.name}Connection`; - - @Field(() => [Edge], { nullable: true }) - public edges!: IEdge[]; - - @Field(() => PageInfo, { nullable: true }) - public pageInfo!: IPageInfo; - - @Field() - totalCount: number; - } - - return Connection as Type>; -} - -// export const encodeCursor = (cursor: Cursor) => -// Buffer.from(JSON.stringify(cursor)).toString('base64'); - -// export const decodeCursor = (cursor: string) => -// JSON.parse(Buffer.from(cursor, 'base64').toString('ascii')) as Cursor; diff --git a/packages/twenty-server/src/utils/pagination/utils/cursor.ts b/packages/twenty-server/src/utils/pagination/utils/cursor.ts deleted file mode 100644 index 30f4d61a0..000000000 --- a/packages/twenty-server/src/utils/pagination/utils/cursor.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { ObjectLiteral } from 'typeorm'; - -import { IEdge } from 'src/utils/pagination/interfaces/edge.interface'; - -import { MergedOptions } from './default-options'; - -export function decodeCursor< - Entity extends ObjectLiteral, - Record, - Cursor, - Node, - CustomEdge extends IEdge, ->( - connectionCursor: string | undefined, - options: MergedOptions, -): Cursor | undefined { - if (!connectionCursor) { - return undefined; - } - - return options.decodeCursor(connectionCursor); -} - -export function encodeCursor< - Entity extends ObjectLiteral, - Record, - Cursor, - Node, - CustomEdge extends IEdge, ->( - record: Record, - options: MergedOptions, -): string { - return options.encodeCursor(options.getCursor(record)); -} - -export function extractCursorKeyValue< - Entity extends ObjectLiteral, - Record, - Cursor, - Node, - CustomEdge extends IEdge, ->( - connectionCursor: string | undefined, - options: MergedOptions, -): [string[], unknown[]] | undefined { - const cursor = decodeCursor(connectionCursor, options); - - if (!cursor) { - return undefined; - } - - return [Object.keys(cursor), Object.values(cursor)]; -} diff --git a/packages/twenty-server/src/utils/pagination/utils/default-options.ts b/packages/twenty-server/src/utils/pagination/utils/default-options.ts deleted file mode 100644 index eefea206a..000000000 --- a/packages/twenty-server/src/utils/pagination/utils/default-options.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { ObjectLiteral } from 'typeorm'; - -import { IEdge } from 'src/utils/pagination/interfaces/edge.interface'; -import { IOptions } from 'src/utils/pagination/interfaces/options.interface'; - -export type MergedOptions< - Entity extends ObjectLiteral, - Record, - Cursor, - Node, - CustomEdge extends IEdge, -> = Required>; - -export function mergeDefaultOptions< - Entity extends ObjectLiteral, - Record, - Cursor, - Node, - CustomEdge extends IEdge, ->( - pOptions?: IOptions, -): MergedOptions { - return { - getRecords: async (query) => { - return query.getRawMany(); - }, - getCursor: (record: Record | undefined) => - ({ id: (record as unknown as { id: string })?.id }) as unknown as Cursor, - encodeCursor: (cursor: Cursor) => - Buffer.from((cursor as unknown as { id: string }).id.toString()).toString( - 'base64', - ), - decodeCursor: (cursorString: string) => - ({ - id: Buffer.from(cursorString, 'base64').toString(), - }) as unknown as Cursor, - recordToEdge: (record: Record) => - ({ node: record }) as unknown as Omit, - resolveInfo: null, - ...pOptions, - }; -} diff --git a/packages/twenty-server/src/utils/pagination/utils/pagination-direction.ts b/packages/twenty-server/src/utils/pagination/utils/pagination-direction.ts deleted file mode 100644 index e602342b8..000000000 --- a/packages/twenty-server/src/utils/pagination/utils/pagination-direction.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { - BackwardPaginationArguments, - ConnectionArgumentsUnion, - ForwardPaginationArguments, -} from 'src/utils/pagination/interfaces/connection-arguments.interface'; - -export function isForwardPagination( - args: ConnectionArgumentsUnion, -): args is ForwardPaginationArguments { - return 'first' in args && args.first != null; -} - -export function isBackwardPagination( - args: ConnectionArgumentsUnion, -): args is BackwardPaginationArguments { - return 'last' in args && args.last != null; -} diff --git a/packages/twenty-server/src/utils/pagination/utils/validate-args.ts b/packages/twenty-server/src/utils/pagination/utils/validate-args.ts deleted file mode 100644 index 213c452d2..000000000 --- a/packages/twenty-server/src/utils/pagination/utils/validate-args.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { - ConnectionArgumentsUnion, - IConnectionArguments, -} from 'src/utils/pagination/interfaces/connection-arguments.interface'; - -export function validateArgs( - args: IConnectionArguments, -): args is ConnectionArgumentsUnion { - // Only one of `first` and `last` / `after` and `before` can be set - if (args.first != null && args.last != null) { - throw new Error('Only one of "first" and "last" can be set'); - } - - if (args.after != null && args.before != null) { - throw new Error('Only one of "after" and "before" can be set'); - } - - // If `after` is set, `first` has to be set - if (args.after != null && args.first == null) { - throw new Error('"after" needs to be used with "first"'); - } - - // If `before` is set, `last` has to be set - if (args.before != null && args.last == null) { - throw new Error('"before" needs to be used with "last"'); - } - - // `first` and `last` have to be positive - if (args.first != null && args.first <= 0) { - throw new Error('"first" has to be positive'); - } - - if (args.last != null && args.last <= 0) { - throw new Error('"last" has to be positive'); - } - - return true; -}