Deprecate legacy core datasource token (#14096)

This commit is contained in:
Weiko
2025-08-27 20:09:54 +02:00
committed by GitHub
parent c6aa419c18
commit 533d7fe49a
321 changed files with 702 additions and 849 deletions
@@ -73,7 +73,7 @@ const buildUpgradeCommandModule = async ({
providers: [
commandRunner,
{
provide: getRepositoryToken(Workspace, 'core'),
provide: getRepositoryToken(Workspace),
useValue: {
findOneByOrFail: jest
.fn()
@@ -167,7 +167,7 @@ describe('UpgradeCommandRunner', () => {
jest.spyOn(upgradeCommandRunner, 'runOnWorkspace');
workspaceRepository = module.get<Repository<Workspace>>(
getRepositoryToken(Workspace, 'core'),
getRepositoryToken(Workspace),
);
syncWorkspaceMetadataCommand = module.get(SyncWorkspaceMetadataCommand);
twentyORMGlobalManagerSpy = module.get<TwentyORMGlobalManager>(
@@ -32,7 +32,7 @@ export abstract class UpgradeCommandRunner extends ActiveOrSuspendedWorkspacesMi
public readonly VALIDATE_WORKSPACE_VERSION_FEATURE_FLAG?: true;
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyConfigService: TwentyConfigService,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@@ -27,7 +27,7 @@ import { DataSeedWorkspaceCommand } from './data-seed-dev-workspace.command';
@Module({
imports: [
UpgradeVersionCommandModule,
TypeOrmModule.forFeature([Workspace], 'core'),
TypeOrmModule.forFeature([Workspace]),
// Cron command dependencies
MessagingImportManagerModule,
CalendarEventImportManagerModule,
@@ -21,7 +21,7 @@ import { type WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-membe
})
export class CleanNotFoundFilesCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
private readonly fileStorageService: FileStorageService,
@@ -22,10 +22,10 @@ import { getWorkspaceSchemaName } from 'src/engine/workspace-datasource/utils/ge
})
export class FixCreatedByDefaultValueCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectRepository(ObjectMetadataEntity, 'core')
@InjectRepository(ObjectMetadataEntity)
private readonly objectMetadataRepository: Repository<ObjectMetadataEntity>,
) {
super(workspaceRepository, twentyORMGlobalManager);
@@ -19,10 +19,10 @@ import { TASK_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-
})
export class FixStandardSelectFieldsPositionCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectRepository(FieldMetadataEntity, 'core')
@InjectRepository(FieldMetadataEntity)
private readonly fieldMetadataRepository: Repository<FieldMetadataEntity>,
private readonly workspaceMetadataVersionService: WorkspaceMetadataVersionService,
) {
@@ -21,11 +21,11 @@ import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.
})
export class LowercaseUserAndInvitationEmailsCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(User, 'core')
@InjectRepository(User)
protected readonly userRepository: Repository<User>,
@InjectRepository(AppToken, 'core')
@InjectRepository(AppToken)
protected readonly appTokenRepository: Repository<AppToken>,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
) {
@@ -18,9 +18,9 @@ import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.
})
export class MigrateDefaultAvatarUrlToUserWorkspaceCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
@InjectRepository(UserWorkspace, 'core')
@InjectRepository(UserWorkspace)
protected readonly userWorkspaceRepository: Repository<UserWorkspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
) {
@@ -20,14 +20,8 @@ import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/wor
@Module({
imports: [
TypeOrmModule.forFeature(
[Workspace, AppToken, User, UserWorkspace],
'core',
),
TypeOrmModule.forFeature(
[FieldMetadataEntity, ObjectMetadataEntity],
'core',
),
TypeOrmModule.forFeature([Workspace, AppToken, User, UserWorkspace]),
TypeOrmModule.forFeature([FieldMetadataEntity, ObjectMetadataEntity]),
WorkspaceDataSourceModule,
WorkspaceMigrationRunnerModule,
WorkspaceMetadataVersionModule,
@@ -16,7 +16,7 @@ import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.
})
export class DeduplicateIndexedFieldsCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
) {
@@ -14,17 +14,14 @@ import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/wor
@Module({
imports: [
TypeOrmModule.forFeature(
[
Workspace,
AppToken,
User,
UserWorkspace,
FieldMetadataEntity,
ObjectMetadataEntity,
],
'core',
),
TypeOrmModule.forFeature([
Workspace,
AppToken,
User,
UserWorkspace,
FieldMetadataEntity,
ObjectMetadataEntity,
]),
WorkspaceDataSourceModule,
WorkspaceMigrationRunnerModule,
WorkspaceMetadataVersionModule,
@@ -21,10 +21,10 @@ import { WorkflowRunStatus } from 'src/modules/workflow/common/standard-objects/
})
export class AddEnqueuedStatusToWorkflowRunCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectRepository(FieldMetadataEntity, 'core')
@InjectRepository(FieldMetadataEntity)
private readonly fieldMetadataRepository: Repository<FieldMetadataEntity>,
private readonly workspaceDataSourceService: WorkspaceDataSourceService,
) {
@@ -23,12 +23,12 @@ import { DatabaseStructureService } from 'src/engine/workspace-manager/workspace
})
export class FixSchemaArrayTypeCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
private readonly databaseStructureService: DatabaseStructureService,
private readonly typeORMService: TypeORMService,
@InjectRepository(FieldMetadataEntity, 'core')
@InjectRepository(FieldMetadataEntity)
private readonly fieldMetadataRepository: Repository<FieldMetadataEntity>,
) {
super(workspaceRepository, twentyORMGlobalManager);
@@ -20,10 +20,10 @@ import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.
})
export class FixUpdateStandardFieldsIsLabelSyncedWithName extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectRepository(FieldMetadataEntity, 'core')
@InjectRepository(FieldMetadataEntity)
private readonly fieldMetadataRepository: Repository<FieldMetadataEntity>,
private readonly workspaceMetadataVersionService: WorkspaceMetadataVersionService,
) {
@@ -28,7 +28,7 @@ export class MigrateWorkflowRunStatesCommand extends ActiveOrSuspendedWorkspaces
private chunkSize = DEFAULT_CHUNK_SIZE;
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
) {
@@ -23,19 +23,16 @@ import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/wor
@Module({
imports: [
TypeOrmModule.forFeature(
[
Workspace,
AppToken,
User,
UserWorkspace,
FieldMetadataEntity,
ObjectMetadataEntity,
ApiKey,
Webhook,
],
'core',
),
TypeOrmModule.forFeature([
Workspace,
AppToken,
User,
UserWorkspace,
FieldMetadataEntity,
ObjectMetadataEntity,
ApiKey,
Webhook,
]),
WorkspaceDataSourceModule,
WorkspaceMigrationRunnerModule,
WorkspaceMetadataVersionModule,
@@ -23,12 +23,12 @@ import { WorkflowRunStatus } from 'src/modules/workflow/common/standard-objects/
})
export class AddEnqueuedStatusToWorkflowRunV2Command extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectRepository(ObjectMetadataEntity, 'core')
@InjectRepository(ObjectMetadataEntity)
private readonly objectMetadataRepository: Repository<ObjectMetadataEntity>,
@InjectRepository(FieldMetadataEntity, 'core')
@InjectRepository(FieldMetadataEntity)
private readonly fieldMetadataRepository: Repository<FieldMetadataEntity>,
private readonly workspaceDataSourceService: WorkspaceDataSourceService,
) {
@@ -19,7 +19,7 @@ import { type WorkflowAction } from 'src/modules/workflow/workflow-executor/work
})
export class AddNextStepIdsToWorkflowVersionTriggers extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
) {
@@ -17,7 +17,7 @@ import { type WorkflowRunWorkspaceEntity } from 'src/modules/workflow/common/sta
})
export class RemoveWorkflowRunsWithoutState extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
) {
@@ -11,10 +11,11 @@ import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/works
@Module({
imports: [
TypeOrmModule.forFeature(
[Workspace, FieldMetadataEntity, ObjectMetadataEntity],
'core',
),
TypeOrmModule.forFeature([
Workspace,
FieldMetadataEntity,
ObjectMetadataEntity,
]),
WorkspaceDataSourceModule,
],
providers: [
@@ -20,7 +20,7 @@ import { getWorkspaceSchemaName } from 'src/engine/workspace-datasource/utils/ge
})
export class AddNextStepIdsToWorkflowRunsTrigger extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
private readonly workspaceDataSourceService: WorkspaceDataSourceService,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@@ -27,19 +27,19 @@ import { ADMIN_ROLE } from 'src/engine/workspace-manager/workspace-sync-metadata
})
export class AssignRolesToExistingApiKeysCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
@InjectRepository(ApiKey, 'core')
@InjectRepository(ApiKey)
private readonly apiKeyRepository: Repository<ApiKey>,
@InjectRepository(RoleEntity, 'core')
@InjectRepository(RoleEntity)
private readonly roleRepository: Repository<RoleEntity>,
@InjectRepository(RoleTargetsEntity, 'core')
@InjectRepository(RoleTargetsEntity)
private readonly roleTargetsRepository: Repository<RoleTargetsEntity>,
private readonly featureFlagService: FeatureFlagService,
private readonly workspacePermissionsCacheService: WorkspacePermissionsCacheService,
private readonly workspaceFeatureFlagsMapCacheService: WorkspaceFeatureFlagsMapCacheService,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectDataSource('core')
@InjectDataSource()
private readonly dataSource: DataSource,
) {
super(workspaceRepository, twentyORMGlobalManager);
@@ -22,11 +22,11 @@ import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/work
})
export class UpdateTimestampColumnTypeInWorkspaceSchemaCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
private readonly workspaceDataSourceService: WorkspaceDataSourceService,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectRepository(FieldMetadataEntity, 'core')
@InjectRepository(FieldMetadataEntity)
private readonly fieldMetadataRepository: Repository<FieldMetadataEntity>,
) {
super(workspaceRepository, twentyORMGlobalManager);
@@ -20,17 +20,14 @@ import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/works
@Module({
imports: [
TypeOrmModule.forFeature(
[
Workspace,
ApiKey,
FieldMetadataEntity,
ObjectMetadataEntity,
RoleEntity,
RoleTargetsEntity,
],
'core',
),
TypeOrmModule.forFeature([
Workspace,
ApiKey,
FieldMetadataEntity,
ObjectMetadataEntity,
RoleEntity,
RoleTargetsEntity,
]),
WorkspaceDataSourceModule,
ApiKeyModule,
FeatureFlagModule,
@@ -1,10 +1,10 @@
import { InjectRepository } from '@nestjs/typeorm';
import { Command, Option } from 'nest-commander';
import { Repository } from 'typeorm';
import { isDefined } from 'twenty-shared/utils';
import { v4 } from 'uuid';
import Dagre from '@dagrejs/dagre';
import { Command, Option } from 'nest-commander';
import { isDefined } from 'twenty-shared/utils';
import { Repository } from 'typeorm';
import { v4 } from 'uuid';
import {
ActiveOrSuspendedWorkspacesMigrationCommandOptions,
@@ -13,11 +13,11 @@ import {
} from 'src/database/commands/command-runners/active-or-suspended-workspaces-migration.command-runner';
import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.manager';
import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service';
import { getWorkspaceSchemaName } from 'src/engine/workspace-datasource/utils/get-workspace-schema-name.util';
import { type WorkflowTrigger } from 'src/modules/workflow/workflow-trigger/types/workflow-trigger.type';
import { type WorkflowAction } from 'src/modules/workflow/workflow-executor/workflow-actions/types/workflow-action.type';
import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service';
import { type WorkflowVersionWorkspaceEntity } from 'src/modules/workflow/common/standard-objects/workflow-version.workspace-entity';
import { type WorkflowAction } from 'src/modules/workflow/workflow-executor/workflow-actions/types/workflow-action.type';
import { type WorkflowTrigger } from 'src/modules/workflow/workflow-trigger/types/workflow-trigger.type';
type Node = {
id: string;
@@ -44,7 +44,7 @@ export type AddPositionsToWorkflowVersionsAndWorkflowRunsOptions =
})
export class AddPositionsToWorkflowVersionsAndWorkflowRuns extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
private readonly workspaceDataSourceService: WorkspaceDataSourceService,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@@ -27,11 +27,11 @@ import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync
})
export class RemoveFavoriteViewRelation extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
protected readonly workspaceSchemaManager: WorkspaceSchemaManagerService,
@InjectDataSource('core')
@InjectDataSource()
protected readonly coreDataSource: DataSource,
private readonly workspaceMetadataVersionService: WorkspaceMetadataVersionService,
) {
@@ -12,10 +12,11 @@ import { AddPositionsToWorkflowVersionsAndWorkflowRuns } from 'src/database/comm
@Module({
imports: [
TypeOrmModule.forFeature(
[Workspace, FieldMetadataEntity, ObjectMetadataEntity],
'core',
),
TypeOrmModule.forFeature([
Workspace,
FieldMetadataEntity,
ObjectMetadataEntity,
]),
WorkspaceDataSourceModule,
WorkspaceSchemaManagerModule,
WorkspaceMetadataVersionModule,
@@ -16,7 +16,7 @@ import { WorkspaceSyncMetadataModule } from 'src/engine/workspace-manager/worksp
@Module({
imports: [
TypeOrmModule.forFeature([Workspace], 'core'),
TypeOrmModule.forFeature([Workspace]),
V0_54_UpgradeVersionCommandModule,
V0_55_UpgradeVersionCommandModule,
V1_1_UpgradeVersionCommandModule,
@@ -46,7 +46,7 @@ export class DatabaseMigrationService {
private logger = new Logger(DatabaseMigrationService.name);
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
) {}
@@ -130,7 +130,7 @@ export class UpgradeCommand extends UpgradeCommandRunner {
override allCommands: AllCommands;
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyConfigService: TwentyConfigService,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@@ -39,11 +39,11 @@ import { convertViewFilterWorkspaceValueToCoreValue } from 'src/modules/view/uti
})
export class MigrateViewsToCoreCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
private readonly featureFlagService: FeatureFlagService,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectDataSource('core')
@InjectDataSource()
private readonly coreDataSource: DataSource,
) {
super(workspaceRepository, twentyORMGlobalManager);
@@ -1,23 +1,15 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule, type TypeOrmModuleOptions } from '@nestjs/typeorm';
import { TypeOrmModule } from '@nestjs/typeorm';
import { typeORMCoreModuleOptions } from 'src/database/typeorm/core/core.datasource';
import { TwentyConfigModule } from 'src/engine/core-modules/twenty-config/twenty-config.module';
import { TypeORMService } from './typeorm.service';
const coreTypeORMFactory = async (): Promise<TypeOrmModuleOptions> => ({
...typeORMCoreModuleOptions,
name: 'core',
});
@Module({
imports: [
TwentyConfigModule,
TypeOrmModule.forRootAsync({
useFactory: coreTypeORMFactory,
name: 'core',
}),
TypeOrmModule.forRoot(typeORMCoreModuleOptions),
],
providers: [TypeORMService],
exports: [TypeORMService],
@@ -47,7 +47,7 @@ const graphqlQueryResolvers = [
WorkspaceQueryHookModule,
WorkspaceQueryRunnerModule,
PermissionsModule,
TypeOrmModule.forFeature([RoleTargetsEntity], 'core'),
TypeOrmModule.forFeature([RoleTargetsEntity]),
UserRoleModule,
ApiKeyModule,
],
@@ -23,7 +23,7 @@ import { EntityEventsToDbListener } from './listeners/entity-events-to-db.listen
WorkspaceQueryBuilderModule,
WorkspaceDataSourceModule,
WorkspaceQueryHookModule,
TypeOrmModule.forFeature([FeatureFlag], 'core'),
TypeOrmModule.forFeature([FeatureFlag]),
AuditModule,
TelemetryModule,
FileModule,
@@ -19,7 +19,7 @@ import { MetricsModule } from 'src/engine/core-modules/metrics/metrics.module';
@Module({
imports: [
TypeOrmModule.forFeature([RoleEntity], 'core'),
TypeOrmModule.forFeature([RoleEntity]),
AiModule,
TokenModule,
WorkspaceCacheStorageModule,
@@ -8,7 +8,7 @@ import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/
import { CreatedByFromAuthContextService } from './services/created-by-from-auth-context.service';
@Module({
imports: [TypeOrmModule.forFeature([FieldMetadataEntity], 'core')],
imports: [TypeOrmModule.forFeature([FieldMetadataEntity])],
providers: [
CreatedByCreateManyPreQueryHook,
CreatedByCreateOnePreQueryHook,
@@ -51,7 +51,7 @@ describe('CreatedByFromAuthContextService', () => {
useValue: twentyORMGlobalManager,
},
{
provide: getRepositoryToken(FieldMetadataEntity, 'core'),
provide: getRepositoryToken(FieldMetadataEntity),
useValue: {
findOne: jest.fn().mockResolvedValue(true),
},
@@ -21,7 +21,7 @@ export class CreatedByFromAuthContextService {
private readonly logger = new Logger(CreatedByFromAuthContextService.name);
constructor(
@InjectRepository(FieldMetadataEntity, 'core')
@InjectRepository(FieldMetadataEntity)
private readonly fieldMetadataRepository: Repository<FieldMetadataEntity>,
private readonly twentyORMGlobalManager: TwentyORMGlobalManager,
) {}
@@ -49,7 +49,7 @@ describe('AdminPanelService', () => {
providers: [
AdminPanelService,
{
provide: getRepositoryToken(User, 'core'),
provide: getRepositoryToken(User),
useValue: {
findOne: UserFindOneMock,
},
@@ -14,7 +14,7 @@ import { User } from 'src/engine/core-modules/user/user.entity';
@Module({
imports: [
TypeOrmModule.forFeature([User], 'core'),
TypeOrmModule.forFeature([User]),
AuthModule,
DomainManagerModule,
HealthModule,
@@ -32,7 +32,7 @@ export class AdminPanelService {
private readonly loginTokenService: LoginTokenService,
private readonly twentyConfigService: TwentyConfigService,
private readonly domainManagerService: DomainManagerService,
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
) {}
@@ -26,7 +26,7 @@ import { MessagingModule } from 'src/modules/messaging/messaging.module';
@Global()
@Module({
imports: [
TypeOrmModule.forFeature([RoleEntity], 'core'),
TypeOrmModule.forFeature([RoleEntity]),
TokenModule,
FeatureFlagModule,
RecordTransformerModule,
@@ -59,7 +59,7 @@ describe('McpService', () => {
useValue: mockUserRoleService,
},
{
provide: getRepositoryToken(RoleEntity, 'core'),
provide: getRepositoryToken(RoleEntity),
useValue: {
find: jest.fn().mockResolvedValue([mockAdminRole]),
},
@@ -21,7 +21,7 @@ export class McpService {
private readonly featureFlagService: FeatureFlagService,
private readonly toolService: ToolService,
private readonly userRoleService: UserRoleService,
@InjectRepository(RoleEntity, 'core')
@InjectRepository(RoleEntity)
private readonly roleRepository: Repository<RoleEntity>,
) {}
@@ -113,23 +113,23 @@ describe('ApiKeyRoleService', () => {
providers: [
ApiKeyRoleService,
{
provide: getRepositoryToken(RoleTargetsEntity, 'core'),
provide: getRepositoryToken(RoleTargetsEntity),
useValue: mockRoleTargetsRepository,
},
{
provide: getRepositoryToken(RoleEntity, 'core'),
provide: getRepositoryToken(RoleEntity),
useValue: mockRoleRepository,
},
{
provide: getRepositoryToken(Workspace, 'core'),
provide: getRepositoryToken(Workspace),
useValue: mockWorkspaceRepository,
},
{
provide: getRepositoryToken(ApiKey, 'core'),
provide: getRepositoryToken(ApiKey),
useValue: mockApiKeyRepository,
},
{
provide: getDataSourceToken('core'),
provide: getDataSourceToken(),
useValue: mockDataSource,
},
{
@@ -17,15 +17,15 @@ import { WorkspacePermissionsCacheService } from 'src/engine/metadata-modules/wo
@Injectable()
export class ApiKeyRoleService {
constructor(
@InjectRepository(RoleTargetsEntity, 'core')
@InjectRepository(RoleTargetsEntity)
private readonly roleTargetsRepository: Repository<RoleTargetsEntity>,
@InjectRepository(RoleEntity, 'core')
@InjectRepository(RoleEntity)
private readonly roleRepository: Repository<RoleEntity>,
@InjectRepository(ApiKey, 'core')
@InjectRepository(ApiKey)
private readonly apiKeyRepository: Repository<ApiKey>,
private readonly workspacePermissionsCacheService: WorkspacePermissionsCacheService,
@InjectDataSource('core')
@InjectDataSource()
private readonly dataSource: DataSource,
) {}
@@ -19,10 +19,12 @@ import { ApiKeyController } from './controllers/api-key.controller';
@Module({
imports: [
TypeOrmModule.forFeature(
[ApiKey, RoleTargetsEntity, RoleEntity, Workspace],
'core',
),
TypeOrmModule.forFeature([
ApiKey,
RoleTargetsEntity,
RoleEntity,
Workspace,
]),
JwtModule,
TokenModule,
WorkspacePermissionsCacheModule,
@@ -83,7 +83,7 @@ describe('ApiKeyService', () => {
providers: [
ApiKeyService,
{
provide: getRepositoryToken(ApiKey, 'core'),
provide: getRepositoryToken(ApiKey),
useValue: mockApiKeyRepository,
},
{
@@ -91,7 +91,7 @@ describe('ApiKeyService', () => {
useValue: mockJwtWrapperService,
},
{
provide: getRepositoryToken(RoleTargetsEntity, 'core'),
provide: getRepositoryToken(RoleTargetsEntity),
useValue: mockRoleTargetsRepository,
},
{
@@ -99,7 +99,7 @@ describe('ApiKeyService', () => {
useValue: mockApiKeyRoleService,
},
{
provide: getDataSourceToken('core'),
provide: getDataSourceToken(),
useValue: mockDataSource,
},
],
@@ -16,11 +16,11 @@ import { JwtWrapperService } from 'src/engine/core-modules/jwt/services/jwt-wrap
@Injectable()
export class ApiKeyService {
constructor(
@InjectRepository(ApiKey, 'core')
@InjectRepository(ApiKey)
private readonly apiKeyRepository: Repository<ApiKey>,
private readonly jwtWrapperService: JwtWrapperService,
private readonly apiKeyRoleService: ApiKeyRoleService,
@InjectDataSource('core')
@InjectDataSource()
private readonly dataSource: DataSource,
) {}
@@ -10,7 +10,7 @@ import { AppTokenService } from 'src/engine/core-modules/app-token/services/app-
@Module({
imports: [
NestjsQueryGraphQLModule.forFeature({
imports: [NestjsQueryTypeOrmModule.forFeature([AppToken], 'core')],
imports: [NestjsQueryTypeOrmModule.forFeature([AppToken])],
services: [AppTokenService],
resolvers: appTokenAutoResolverOpts,
}),
@@ -10,7 +10,7 @@ import { ApprovedAccessDomain } from 'src/engine/core-modules/approved-access-do
@Module({
imports: [
DomainManagerModule,
NestjsQueryTypeOrmModule.forFeature([ApprovedAccessDomain], 'core'),
NestjsQueryTypeOrmModule.forFeature([ApprovedAccessDomain]),
],
exports: [ApprovedAccessDomainService],
providers: [ApprovedAccessDomainService, ApprovedAccessDomainResolver],
@@ -24,7 +24,7 @@ import { isWorkDomain } from 'src/utils/is-work-email';
@Injectable()
export class ApprovedAccessDomainService {
constructor(
@InjectRepository(ApprovedAccessDomainEntity, 'core')
@InjectRepository(ApprovedAccessDomainEntity)
private readonly approvedAccessDomainRepository: Repository<ApprovedAccessDomainEntity>,
private readonly emailService: EmailService,
private readonly twentyConfigService: TwentyConfigService,
@@ -28,7 +28,7 @@ describe('ApprovedAccessDomainService', () => {
providers: [
ApprovedAccessDomainService,
{
provide: getRepositoryToken(ApprovedAccessDomain, 'core'),
provide: getRepositoryToken(ApprovedAccessDomain),
useValue: {
delete: jest.fn(),
findOneBy: jest.fn(),
@@ -61,7 +61,7 @@ describe('ApprovedAccessDomainService', () => {
ApprovedAccessDomainService,
);
approvedAccessDomainRepository = module.get(
getRepositoryToken(ApprovedAccessDomain, 'core'),
getRepositoryToken(ApprovedAccessDomain),
);
emailService = module.get<EmailService>(EmailService);
twentyConfigService = module.get<TwentyConfigService>(TwentyConfigService);
@@ -78,21 +78,18 @@ import { JwtAuthStrategy } from './strategies/jwt.auth.strategy';
UserModule,
WorkspaceManagerModule,
TypeORMModule,
TypeOrmModule.forFeature(
[
Workspace,
User,
AppToken,
ApiKey,
FeatureFlag,
WorkspaceSSOIdentityProvider,
KeyValuePair,
UserWorkspace,
TwoFactorAuthenticationMethod,
],
'core',
),
TypeOrmModule.forFeature([ObjectMetadataEntity], 'core'),
TypeOrmModule.forFeature([
Workspace,
User,
AppToken,
ApiKey,
FeatureFlag,
WorkspaceSSOIdentityProvider,
KeyValuePair,
UserWorkspace,
TwoFactorAuthenticationMethod,
]),
TypeOrmModule.forFeature([ObjectMetadataEntity]),
HttpModule,
UserWorkspaceModule,
WorkspaceModule,
@@ -38,11 +38,11 @@ describe('AuthResolver', () => {
providers: [
AuthResolver,
{
provide: getRepositoryToken(AppToken, 'core'),
provide: getRepositoryToken(AppToken),
useValue: {},
},
{
provide: getRepositoryToken(User, 'core'),
provide: getRepositoryToken(User),
useValue: {},
},
{
@@ -92,9 +92,9 @@ import { AuthService } from './services/auth.service';
)
export class AuthResolver {
constructor(
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
@InjectRepository(AppToken, 'core')
@InjectRepository(AppToken)
private readonly appTokenRepository: Repository<AppToken>,
private readonly twoFactorAuthenticationService: TwoFactorAuthenticationService,
private authService: AuthService,
@@ -38,7 +38,7 @@ export class GoogleAPIsAuthController {
private readonly onboardingService: OnboardingService,
private readonly domainManagerService: DomainManagerService,
private readonly guardRedirectService: GuardRedirectService,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
) {}
@@ -38,7 +38,7 @@ export class MicrosoftAPIsAuthController {
private readonly domainManagerService: DomainManagerService,
private readonly onboardingService: OnboardingService,
private readonly guardRedirectService: GuardRedirectService,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
) {}
@@ -50,9 +50,9 @@ export class SSOAuthController {
private readonly domainManagerService: DomainManagerService,
private readonly sSOService: SSOService,
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
@InjectRepository(WorkspaceSSOIdentityProvider, 'core')
@InjectRepository(WorkspaceSSOIdentityProvider)
private readonly workspaceSSOIdentityProviderRepository: Repository<WorkspaceSSOIdentityProvider>,
) {}
@@ -25,7 +25,7 @@ export class GoogleAPIsOauthExchangeCodeForTokenGuard extends AuthGuard(
private readonly twentyConfigService: TwentyConfigService,
private readonly transientTokenService: TransientTokenService,
private readonly domainManagerService: DomainManagerService,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
) {
super();
@@ -22,7 +22,7 @@ export class GoogleAPIsOauthRequestCodeGuard extends AuthGuard('google-apis') {
private readonly twentyConfigService: TwentyConfigService,
private readonly transientTokenService: TransientTokenService,
private readonly guardRedirectService: GuardRedirectService,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
private readonly domainManagerService: DomainManagerService,
) {
@@ -17,7 +17,7 @@ import { DomainManagerService } from 'src/engine/core-modules/domain-manager/ser
export class GoogleOauthGuard extends AuthGuard('google') {
constructor(
private readonly guardRedirectService: GuardRedirectService,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
private readonly domainManagerService: DomainManagerService,
) {
@@ -24,7 +24,7 @@ export class MicrosoftAPIsOauthRequestCodeGuard extends AuthGuard(
private readonly twentyConfigService: TwentyConfigService,
private readonly transientTokenService: TransientTokenService,
private readonly guardRedirectService: GuardRedirectService,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
private readonly domainManagerService: DomainManagerService,
) {
@@ -12,7 +12,7 @@ import { DomainManagerService } from 'src/engine/core-modules/domain-manager/ser
export class MicrosoftOAuthGuard extends AuthGuard('microsoft') {
constructor(
private readonly guardRedirectService: GuardRedirectService,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
private readonly domainManagerService: DomainManagerService,
) {
@@ -10,7 +10,7 @@ import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
@Injectable()
export class AuthSsoService {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
private readonly twentyConfigService: TwentyConfigService,
) {}
@@ -18,7 +18,7 @@ describe('AuthSsoService', () => {
providers: [
AuthSsoService,
{
provide: getRepositoryToken(Workspace, 'core'),
provide: getRepositoryToken(Workspace),
useValue: {
findOne: jest.fn(),
},
@@ -34,7 +34,7 @@ describe('AuthSsoService', () => {
authSsoService = module.get<AuthSsoService>(AuthSsoService);
workspaceRepository = module.get<Repository<Workspace>>(
getRepositoryToken(Workspace, 'core'),
getRepositoryToken(Workspace),
);
twentyConfigService = module.get<TwentyConfigService>(TwentyConfigService);
});
@@ -47,19 +47,19 @@ describe('AuthService', () => {
providers: [
AuthService,
{
provide: getRepositoryToken(Workspace, 'core'),
provide: getRepositoryToken(Workspace),
useValue: {
findOne: jest.fn(),
},
},
{
provide: getRepositoryToken(User, 'core'),
provide: getRepositoryToken(User),
useValue: {
findOne: jest.fn(),
},
},
{
provide: getRepositoryToken(AppToken, 'core'),
provide: getRepositoryToken(AppToken),
useValue: {
createQueryBuilder: jest.fn().mockReturnValue({
leftJoin: jest.fn().mockReturnThis(),
@@ -146,11 +146,9 @@ describe('AuthService', () => {
userWorkspaceService =
module.get<UserWorkspaceService>(UserWorkspaceService);
workspaceRepository = module.get<Repository<Workspace>>(
getRepositoryToken(Workspace, 'core'),
);
userRepository = module.get<Repository<User>>(
getRepositoryToken(User, 'core'),
getRepositoryToken(Workspace),
);
userRepository = module.get<Repository<User>>(getRepositoryToken(User));
});
beforeEach(() => {
@@ -78,13 +78,13 @@ export class AuthService {
private readonly authSsoService: AuthSsoService,
private readonly userService: UserService,
private readonly signInUpService: SignInUpService,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
private readonly twentyConfigService: TwentyConfigService,
private readonly emailService: EmailService,
@InjectRepository(AppToken, 'core')
@InjectRepository(AppToken)
private readonly appTokenRepository: Repository<AppToken>,
) {}
@@ -99,7 +99,7 @@ describe('GoogleAPIsService', () => {
},
},
{
provide: getRepositoryToken(ObjectMetadataEntity, 'core'),
provide: getRepositoryToken(ObjectMetadataEntity),
useValue: {
findOneOrFail: jest.fn(),
},
@@ -100,7 +100,7 @@ describe('MicrosoftAPIsService', () => {
},
},
{
provide: getRepositoryToken(ObjectMetadataEntity, 'core'),
provide: getRepositoryToken(ObjectMetadataEntity),
useValue: {
findOneOrFail: jest.fn(),
},
@@ -21,9 +21,9 @@
// @Injectable()
// export class OAuthService {
// constructor(
// @InjectRepository(User, 'core')
// @InjectRepository(User)
// private readonly userRepository: Repository<User>,
// @InjectRepository(AppToken, 'core')
// @InjectRepository(AppToken)
// private readonly appTokenRepository: Repository<AppToken>,
// private readonly accessTokenService: AccessTokenService,
// private readonly refreshTokenService: RefreshTokenService,
@@ -31,19 +31,19 @@ describe('ResetPasswordService', () => {
providers: [
ResetPasswordService,
{
provide: getRepositoryToken(User, 'core'),
provide: getRepositoryToken(User),
useClass: Repository,
},
{
provide: getRepositoryToken(Workspace, 'core'),
provide: getRepositoryToken(Workspace),
useClass: Repository,
},
{
provide: getRepositoryToken(AppToken, 'core'),
provide: getRepositoryToken(AppToken),
useClass: Repository,
},
{
provide: getRepositoryToken(Workspace, 'core'),
provide: getRepositoryToken(Workspace),
useClass: Repository,
},
{
@@ -71,14 +71,12 @@ describe('ResetPasswordService', () => {
}).compile();
service = module.get<ResetPasswordService>(ResetPasswordService);
userRepository = module.get<Repository<User>>(
getRepositoryToken(User, 'core'),
);
userRepository = module.get<Repository<User>>(getRepositoryToken(User));
workspaceRepository = module.get<Repository<Workspace>>(
getRepositoryToken(Workspace, 'core'),
getRepositoryToken(Workspace),
);
appTokenRepository = module.get<Repository<AppToken>>(
getRepositoryToken(AppToken, 'core'),
getRepositoryToken(AppToken),
);
emailService = module.get<EmailService>(EmailService);
twentyConfigService = module.get<TwentyConfigService>(TwentyConfigService);
@@ -36,11 +36,11 @@ export class ResetPasswordService {
constructor(
private readonly twentyConfigService: TwentyConfigService,
private readonly domainManagerService: DomainManagerService,
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
@InjectRepository(AppToken, 'core')
@InjectRepository(AppToken)
private readonly appTokenRepository: Repository<AppToken>,
private readonly emailService: EmailService,
) {}
@@ -52,14 +52,14 @@ describe('SignInUpService', () => {
providers: [
SignInUpService,
{
provide: getRepositoryToken(User, 'core'),
provide: getRepositoryToken(User),
useValue: {
create: jest.fn(),
save: jest.fn(),
},
},
{
provide: getRepositoryToken(Workspace, 'core'),
provide: getRepositoryToken(Workspace),
useValue: {
save: jest.fn(),
create: jest.fn(),
@@ -147,8 +147,8 @@ describe('SignInUpService', () => {
}).compile();
service = module.get<SignInUpService>(SignInUpService);
UserRepository = module.get(getRepositoryToken(User, 'core'));
WorkspaceRepository = module.get(getRepositoryToken(Workspace, 'core'));
UserRepository = module.get(getRepositoryToken(User));
WorkspaceRepository = module.get(getRepositoryToken(Workspace));
workspaceInvitationService = module.get<WorkspaceInvitationService>(
WorkspaceInvitationService,
);
@@ -43,9 +43,9 @@ import { isWorkEmail } from 'src/utils/is-work-email';
// eslint-disable-next-line @nx/workspace-inject-workspace-repository
export class SignInUpService {
constructor(
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
private readonly workspaceInvitationService: WorkspaceInvitationService,
private readonly userWorkspaceService: UserWorkspaceService,
@@ -30,13 +30,13 @@ import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.
export class JwtAuthStrategy extends PassportStrategy(Strategy, 'jwt') {
constructor(
private readonly jwtWrapperService: JwtWrapperService,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
@InjectRepository(UserWorkspace, 'core')
@InjectRepository(UserWorkspace)
private readonly userWorkspaceRepository: Repository<UserWorkspace>,
@InjectRepository(ApiKey, 'core')
@InjectRepository(ApiKey)
private readonly apiKeyRepository: Repository<ApiKey>,
) {
const jwtFromRequestFunction = jwtWrapperService.extractJwtFromRequest();
@@ -54,19 +54,19 @@ describe('AccessTokenService', () => {
},
},
{
provide: getRepositoryToken(User, 'core'),
provide: getRepositoryToken(User),
useClass: Repository,
},
{
provide: getRepositoryToken(AppToken, 'core'),
provide: getRepositoryToken(AppToken),
useClass: Repository,
},
{
provide: getRepositoryToken(Workspace, 'core'),
provide: getRepositoryToken(Workspace),
useClass: Repository,
},
{
provide: getRepositoryToken(UserWorkspace, 'core'),
provide: getRepositoryToken(UserWorkspace),
useClass: Repository,
},
{
@@ -85,17 +85,15 @@ describe('AccessTokenService', () => {
service = module.get<AccessTokenService>(AccessTokenService);
jwtWrapperService = module.get<JwtWrapperService>(JwtWrapperService);
twentyConfigService = module.get<TwentyConfigService>(TwentyConfigService);
userRepository = module.get<Repository<User>>(
getRepositoryToken(User, 'core'),
);
userRepository = module.get<Repository<User>>(getRepositoryToken(User));
workspaceRepository = module.get<Repository<Workspace>>(
getRepositoryToken(Workspace, 'core'),
getRepositoryToken(Workspace),
);
twentyORMGlobalManager = module.get<TwentyORMGlobalManager>(
TwentyORMGlobalManager,
);
userWorkspaceRepository = module.get<Repository<UserWorkspace>>(
getRepositoryToken(UserWorkspace, 'core'),
getRepositoryToken(UserWorkspace),
);
});
@@ -35,12 +35,12 @@ export class AccessTokenService {
private readonly jwtWrapperService: JwtWrapperService,
private readonly jwtStrategy: JwtAuthStrategy,
private readonly twentyConfigService: TwentyConfigService,
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
private readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectRepository(UserWorkspace, 'core')
@InjectRepository(UserWorkspace)
private readonly userWorkspaceRepository: Repository<UserWorkspace>,
) {}
@@ -29,11 +29,11 @@ describe('EmailVerificationTokenService', () => {
providers: [
EmailVerificationTokenService,
{
provide: getRepositoryToken(AppToken, 'core'),
provide: getRepositoryToken(AppToken),
useClass: Repository,
},
{
provide: getRepositoryToken(User, 'core'),
provide: getRepositoryToken(User),
useValue: {
findOne: jest.fn(),
},
@@ -51,11 +51,9 @@ describe('EmailVerificationTokenService', () => {
EmailVerificationTokenService,
);
appTokenRepository = module.get<Repository<AppToken>>(
getRepositoryToken(AppToken, 'core'),
);
userRepository = module.get<Repository<User>>(
getRepositoryToken(User, 'core'),
getRepositoryToken(AppToken),
);
userRepository = module.get<Repository<User>>(getRepositoryToken(User));
twentyConfigService = module.get<TwentyConfigService>(TwentyConfigService);
});
@@ -23,9 +23,9 @@ import { User } from 'src/engine/core-modules/user/user.entity';
@Injectable()
export class EmailVerificationTokenService {
constructor(
@InjectRepository(AppToken, 'core')
@InjectRepository(AppToken)
private readonly appTokenRepository: Repository<AppToken>,
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
private readonly twentyConfigService: TwentyConfigService,
) {}
@@ -39,11 +39,11 @@ describe('RefreshTokenService', () => {
},
},
{
provide: getRepositoryToken(AppToken, 'core'),
provide: getRepositoryToken(AppToken),
useClass: Repository,
},
{
provide: getRepositoryToken(User, 'core'),
provide: getRepositoryToken(User),
useClass: Repository,
},
],
@@ -53,11 +53,9 @@ describe('RefreshTokenService', () => {
jwtWrapperService = module.get<JwtWrapperService>(JwtWrapperService);
twentyConfigService = module.get<TwentyConfigService>(TwentyConfigService);
appTokenRepository = module.get<Repository<AppToken>>(
getRepositoryToken(AppToken, 'core'),
);
userRepository = module.get<Repository<User>>(
getRepositoryToken(User, 'core'),
getRepositoryToken(AppToken),
);
userRepository = module.get<Repository<User>>(getRepositoryToken(User));
});
it('should be defined', () => {
@@ -27,9 +27,9 @@ export class RefreshTokenService {
constructor(
private readonly jwtWrapperService: JwtWrapperService,
private readonly twentyConfigService: TwentyConfigService,
@InjectRepository(AppToken, 'core')
@InjectRepository(AppToken)
private readonly appTokenRepository: Repository<AppToken>,
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
) {}
@@ -24,7 +24,7 @@ describe('RenewTokenService', () => {
providers: [
RenewTokenService,
{
provide: getRepositoryToken(AppToken, 'core'),
provide: getRepositoryToken(AppToken),
useClass: Repository,
},
{
@@ -51,7 +51,7 @@ describe('RenewTokenService', () => {
service = module.get<RenewTokenService>(RenewTokenService);
appTokenRepository = module.get<Repository<AppToken>>(
getRepositoryToken(AppToken, 'core'),
getRepositoryToken(AppToken),
);
accessTokenService = module.get<AccessTokenService>(AccessTokenService);
refreshTokenService = module.get<RefreshTokenService>(RefreshTokenService);
@@ -18,7 +18,7 @@ import { JwtTokenTypeEnum } from 'src/engine/core-modules/auth/types/auth-contex
@Injectable()
export class RenewTokenService {
constructor(
@InjectRepository(AppToken, 'core')
@InjectRepository(AppToken)
private readonly appTokenRepository: Repository<AppToken>,
private readonly accessTokenService: AccessTokenService,
private readonly workspaceAgnosticTokenService: WorkspaceAgnosticTokenService,
@@ -36,7 +36,7 @@ describe('WorkspaceAgnosticToken', () => {
},
},
{
provide: getRepositoryToken(User, 'core'),
provide: getRepositoryToken(User),
useValue: {
findOne: jest.fn(),
},
@@ -49,9 +49,7 @@ describe('WorkspaceAgnosticToken', () => {
);
jwtWrapperService = module.get<JwtWrapperService>(JwtWrapperService);
twentyConfigService = module.get<TwentyConfigService>(TwentyConfigService);
userRepository = module.get<Repository<User>>(
getRepositoryToken(User, 'core'),
);
userRepository = module.get<Repository<User>>(getRepositoryToken(User));
});
it('should be defined', () => {
@@ -25,7 +25,7 @@ export class WorkspaceAgnosticTokenService {
constructor(
private readonly jwtWrapperService: JwtWrapperService,
private readonly twentyConfigService: TwentyConfigService,
@InjectRepository(User, 'core')
@InjectRepository(User)
private readonly userRepository: Repository<User>,
) {}
@@ -19,10 +19,13 @@ import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-s
@Module({
imports: [
JwtModule,
TypeOrmModule.forFeature(
[User, AppToken, Workspace, UserWorkspace, ApiKey],
'core',
),
TypeOrmModule.forFeature([
User,
AppToken,
Workspace,
UserWorkspace,
ApiKey,
]),
TypeORMModule,
DataSourceModule,
],
@@ -36,21 +36,18 @@ import { PermissionsModule } from 'src/engine/metadata-modules/permissions/permi
PermissionsModule,
WorkspaceModule,
BillingModule,
TypeOrmModule.forFeature(
[
BillingSubscription,
BillingSubscriptionItem,
BillingCustomer,
BillingProduct,
BillingPrice,
BillingMeter,
BillingEntitlement,
Workspace,
UserWorkspace,
FeatureFlag,
],
'core',
),
TypeOrmModule.forFeature([
BillingSubscription,
BillingSubscriptionItem,
BillingCustomer,
BillingProduct,
BillingPrice,
BillingMeter,
BillingEntitlement,
Workspace,
UserWorkspace,
FeatureFlag,
]),
],
controllers: [BillingWebhookController],
providers: [
@@ -23,11 +23,11 @@ const TRIAL_PERIOD_ALERT_TITLE = 'TRIAL_PERIOD_ALERT'; // to set in Stripe confi
export class BillingWebhookAlertService {
protected readonly logger = new Logger(BillingWebhookAlertService.name);
constructor(
@InjectRepository(BillingSubscription, 'core')
@InjectRepository(BillingSubscription)
private readonly billingSubscriptionRepository: Repository<BillingSubscription>,
@InjectRepository(BillingProduct, 'core')
@InjectRepository(BillingProduct)
private readonly billingProductRepository: Repository<BillingProduct>,
@InjectRepository(BillingSubscriptionItem, 'core')
@InjectRepository(BillingSubscriptionItem)
private readonly billingSubscriptionItemRepository: Repository<BillingSubscriptionItem>,
) {}
@@ -17,7 +17,7 @@ import { BillingCustomer } from 'src/engine/core-modules/billing/entities/billin
export class BillingWebhookCustomerService {
protected readonly logger = new Logger(BillingWebhookCustomerService.name);
constructor(
@InjectRepository(BillingCustomer, 'core')
@InjectRepository(BillingCustomer)
private readonly billingCustomerRepository: Repository<BillingCustomer>,
) {}
@@ -18,9 +18,9 @@ import { BillingEntitlement } from 'src/engine/core-modules/billing/entities/bil
@Injectable()
export class BillingWebhookEntitlementService {
constructor(
@InjectRepository(BillingCustomer, 'core')
@InjectRepository(BillingCustomer)
private readonly billingCustomerRepository: Repository<BillingCustomer>,
@InjectRepository(BillingEntitlement, 'core')
@InjectRepository(BillingEntitlement)
private readonly billingEntitlementRepository: Repository<BillingEntitlement>,
) {}
@@ -14,7 +14,7 @@ const SUBSCRIPTION_CYCLE_BILLING_REASON = 'subscription_cycle';
export class BillingWebhookInvoiceService {
protected readonly logger = new Logger(BillingWebhookInvoiceService.name);
constructor(
@InjectRepository(BillingSubscriptionItem, 'core')
@InjectRepository(BillingSubscriptionItem)
private readonly billingSubscriptionItemRepository: Repository<BillingSubscriptionItem>,
) {}
@@ -23,11 +23,11 @@ export class BillingWebhookPriceService {
protected readonly logger = new Logger(BillingWebhookPriceService.name);
constructor(
private readonly stripeBillingMeterService: StripeBillingMeterService,
@InjectRepository(BillingPrice, 'core')
@InjectRepository(BillingPrice)
private readonly billingPriceRepository: Repository<BillingPrice>,
@InjectRepository(BillingMeter, 'core')
@InjectRepository(BillingMeter)
private readonly billingMeterRepository: Repository<BillingMeter>,
@InjectRepository(BillingProduct, 'core')
@InjectRepository(BillingProduct)
private readonly billingProductRepository: Repository<BillingProduct>,
) {}
@@ -14,7 +14,7 @@ import { isStripeValidProductMetadata } from 'src/engine/core-modules/billing/ut
export class BillingWebhookProductService {
protected readonly logger = new Logger(BillingWebhookProductService.name);
constructor(
@InjectRepository(BillingProduct, 'core')
@InjectRepository(BillingProduct)
private readonly billingProductRepository: Repository<BillingProduct>,
) {}
@@ -40,13 +40,13 @@ export class BillingWebhookSubscriptionService {
private readonly stripeCustomerService: StripeCustomerService,
@InjectMessageQueue(MessageQueue.workspaceQueue)
private readonly messageQueueService: MessageQueueService,
@InjectRepository(BillingSubscription, 'core')
@InjectRepository(BillingSubscription)
private readonly billingSubscriptionRepository: Repository<BillingSubscription>,
@InjectRepository(BillingSubscriptionItem, 'core')
@InjectRepository(BillingSubscriptionItem)
private readonly billingSubscriptionItemRepository: Repository<BillingSubscriptionItem>,
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
private readonly workspaceRepository: Repository<Workspace>,
@InjectRepository(BillingCustomer, 'core')
@InjectRepository(BillingCustomer)
private readonly billingCustomerRepository: Repository<BillingCustomer>,
private readonly billingSubscriptionService: BillingSubscriptionService,
private readonly workspaceService: WorkspaceService,
@@ -43,21 +43,18 @@ import { PermissionsModule } from 'src/engine/metadata-modules/permissions/permi
MessageQueueModule,
PermissionsModule,
AiModule,
TypeOrmModule.forFeature(
[
BillingSubscription,
BillingSubscriptionItem,
BillingCustomer,
BillingProduct,
BillingPrice,
BillingMeter,
BillingEntitlement,
Workspace,
UserWorkspace,
FeatureFlag,
],
'core',
),
TypeOrmModule.forFeature([
BillingSubscription,
BillingSubscriptionItem,
BillingCustomer,
BillingProduct,
BillingPrice,
BillingMeter,
BillingEntitlement,
Workspace,
UserWorkspace,
FeatureFlag,
]),
],
providers: [
BillingSubscriptionService,
@@ -25,12 +25,12 @@ import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.
})
export class BillingAddWorkflowSubscriptionItemCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectRepository(BillingSubscription, 'core')
@InjectRepository(BillingSubscription)
protected readonly billingSubscriptionRepository: Repository<BillingSubscription>,
@InjectRepository(BillingProduct, 'core')
@InjectRepository(BillingProduct)
protected readonly billingProductRepository: Repository<BillingProduct>,
private readonly stripeSubscriptionItemService: StripeSubscriptionItemService,
private readonly stripeSubscriptionService: StripeSubscriptionService,
@@ -21,10 +21,10 @@ import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.
})
export class BillingSyncCustomerDataCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner {
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
private readonly stripeSubscriptionService: StripeSubscriptionService,
@InjectRepository(BillingCustomer, 'core')
@InjectRepository(BillingCustomer)
protected readonly billingCustomerRepository: Repository<BillingCustomer>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
) {
@@ -29,11 +29,11 @@ import { transformStripeProductToDatabaseProduct } from 'src/engine/core-modules
export class BillingSyncPlansDataCommand extends MigrationCommandRunner {
private readonly batchSize = 5;
constructor(
@InjectRepository(BillingPrice, 'core')
@InjectRepository(BillingPrice)
private readonly billingPriceRepository: Repository<BillingPrice>,
@InjectRepository(BillingProduct, 'core')
@InjectRepository(BillingProduct)
private readonly billingProductRepository: Repository<BillingProduct>,
@InjectRepository(BillingMeter, 'core')
@InjectRepository(BillingMeter)
private readonly billingMeterRepository: Repository<BillingMeter>,
private readonly stripeBillingMeterService: StripeBillingMeterService,
private readonly stripeProductService: StripeProductService,
@@ -30,10 +30,10 @@ export class BillingUpdateSubscriptionPriceCommand extends ActiveOrSuspendedWork
private clearUsage = false;
constructor(
@InjectRepository(Workspace, 'core')
@InjectRepository(Workspace)
protected readonly workspaceRepository: Repository<Workspace>,
protected readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectRepository(BillingSubscription, 'core')
@InjectRepository(BillingSubscription)
protected readonly billingSubscriptionRepository: Repository<BillingSubscription>,
private readonly billingSubscriptionService: BillingSubscriptionService,
private readonly stripeSubscriptionItemService: StripeSubscriptionItemService,
@@ -21,7 +21,7 @@ import { type BillingGetPricesPerPlanResult } from 'src/engine/core-modules/bill
export class BillingPlanService {
protected readonly logger = new Logger(BillingPlanService.name);
constructor(
@InjectRepository(BillingProduct, 'core')
@InjectRepository(BillingProduct)
private readonly billingProductRepository: Repository<BillingProduct>,
) {}

Some files were not shown because too many files have changed in this diff Show More