e7e99247e8
# Introduction Followup https://github.com/twentyhq/twenty/pull/21707 ## Behavioral change worth calling out Server-level impersonation now requires verified 2FA outside development at every checkpoint (generation, exchange, and per-request). In main the 2FA gate only existed in ImpersonationService. This is the right tightening, but it means existing server-admin impersonation sessions in production for admins without verified 2FA will now be rejected on the next request, not just at token creation. cc @s0yd4RK <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/twentyhq/twenty/pull/21717?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by: s0yd4RK <285671363+s0yd4RK@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
75 lines
4.4 KiB
TypeScript
75 lines
4.4 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
|
|
import { TypeORMModule } from 'src/database/typeorm/typeorm.module';
|
|
import { ApiKeyModule } from 'src/engine/core-modules/api-key/api-key.module';
|
|
import { ApplicationRegistrationModule } from 'src/engine/core-modules/application/application-registration/application-registration.module';
|
|
import { ApplicationModule } from 'src/engine/core-modules/application/application.module';
|
|
import { FeatureFlagModule } from 'src/engine/core-modules/feature-flag/feature-flag.module';
|
|
import { SdkClientModule } from 'src/engine/core-modules/sdk-client/sdk-client.module';
|
|
import { SecretEncryptionModule } from 'src/engine/core-modules/secret-encryption/secret-encryption.module';
|
|
import { FileStorageModule } from 'src/engine/core-modules/file-storage/file-storage.module';
|
|
import { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity';
|
|
import { FieldMetadataModule } from 'src/engine/metadata-modules/field-metadata/field-metadata.module';
|
|
import { WorkspaceManyOrAllFlatEntityMapsCacheModule } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.module';
|
|
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
|
import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module';
|
|
import { ObjectPermissionModule } from 'src/engine/metadata-modules/object-permission/object-permission.module';
|
|
import { RolePermissionFlagModule } from 'src/engine/metadata-modules/role-permission-flag/role-permission-flag.module';
|
|
import { RoleTargetModule } from 'src/engine/metadata-modules/role-target/role-target.module';
|
|
import { RoleEntity } from 'src/engine/metadata-modules/role/role.entity';
|
|
import { RoleModule } from 'src/engine/metadata-modules/role/role.module';
|
|
import { UserRoleModule } from 'src/engine/metadata-modules/user-role/user-role.module';
|
|
import { UpgradeModule } from 'src/engine/core-modules/upgrade/upgrade.module';
|
|
import { provideWorkspaceScopedRepository } from 'src/engine/twenty-orm/workspace-scoped-repository/provide-workspace-scoped-repository';
|
|
import { WorkspaceCacheStorageModule } from 'src/engine/workspace-cache-storage/workspace-cache-storage.module';
|
|
import { WorkspaceCacheModule } from 'src/engine/workspace-cache/workspace-cache.module';
|
|
import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module';
|
|
import { DevSeederPermissionsService } from 'src/engine/workspace-manager/dev-seeder/core/services/dev-seeder-permissions.service';
|
|
import { DevSeederDataService } from 'src/engine/workspace-manager/dev-seeder/data/services/dev-seeder-data.service';
|
|
import { TimelineActivitySeederService } from 'src/engine/workspace-manager/dev-seeder/data/services/timeline-activity-seeder.service';
|
|
import { DevSeederMetadataService } from 'src/engine/workspace-manager/dev-seeder/metadata/services/dev-seeder-metadata.service';
|
|
import { DevSeederService } from 'src/engine/workspace-manager/dev-seeder/services/dev-seeder.service';
|
|
import { StandardObjectsPrefillModule } from 'src/engine/workspace-manager/standard-objects-prefill-data/standard-objects-prefill.module';
|
|
import { TwentyStandardApplicationModule } from 'src/engine/workspace-manager/twenty-standard-application/twenty-standard-application.module';
|
|
import { WorkspaceMigrationModule } from 'src/engine/workspace-manager/workspace-migration/workspace-migration.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
ObjectMetadataModule,
|
|
FieldMetadataModule,
|
|
WorkspaceDataSourceModule,
|
|
WorkspaceCacheStorageModule,
|
|
TypeORMModule,
|
|
RoleModule,
|
|
RolePermissionFlagModule,
|
|
RoleTargetModule,
|
|
UserRoleModule,
|
|
ApiKeyModule,
|
|
ApplicationModule,
|
|
ApplicationRegistrationModule,
|
|
FeatureFlagModule,
|
|
FileStorageModule,
|
|
TypeOrmModule.forFeature([WorkspaceEntity, ObjectMetadataEntity]),
|
|
ObjectPermissionModule,
|
|
WorkspaceManyOrAllFlatEntityMapsCacheModule,
|
|
StandardObjectsPrefillModule,
|
|
WorkspaceCacheModule,
|
|
WorkspaceMigrationModule,
|
|
TwentyStandardApplicationModule,
|
|
SdkClientModule,
|
|
SecretEncryptionModule,
|
|
UpgradeModule,
|
|
],
|
|
exports: [DevSeederService],
|
|
providers: [
|
|
DevSeederService,
|
|
DevSeederMetadataService,
|
|
DevSeederPermissionsService,
|
|
DevSeederDataService,
|
|
TimelineActivitySeederService,
|
|
provideWorkspaceScopedRepository(RoleEntity),
|
|
],
|
|
})
|
|
export class DevSeederModule {}
|