Deprecate legacy core datasource token (#14096)
This commit is contained in:
+2
-2
@@ -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>(
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+2
-2
@@ -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);
|
||||
|
||||
+2
-2
@@ -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,
|
||||
) {
|
||||
|
||||
+3
-3
@@ -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,
|
||||
) {
|
||||
|
||||
+2
-2
@@ -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,
|
||||
) {
|
||||
|
||||
+2
-8
@@ -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,
|
||||
|
||||
+1
-1
@@ -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,
|
||||
) {
|
||||
|
||||
+8
-11
@@ -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,
|
||||
|
||||
+2
-2
@@ -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,
|
||||
) {
|
||||
|
||||
+2
-2
@@ -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);
|
||||
|
||||
+2
-2
@@ -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,
|
||||
) {
|
||||
|
||||
+1
-1
@@ -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,
|
||||
) {
|
||||
|
||||
+10
-13
@@ -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,
|
||||
|
||||
+3
-3
@@ -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,
|
||||
) {
|
||||
|
||||
+1
-1
@@ -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,
|
||||
) {
|
||||
|
||||
+1
-1
@@ -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,
|
||||
) {
|
||||
|
||||
+5
-4
@@ -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: [
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+5
-5
@@ -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);
|
||||
|
||||
+2
-2
@@ -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);
|
||||
|
||||
+8
-11
@@ -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,
|
||||
|
||||
+8
-8
@@ -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,
|
||||
|
||||
+2
-2
@@ -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,
|
||||
) {
|
||||
|
||||
+5
-4
@@ -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,
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+2
-2
@@ -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,
|
||||
|
||||
+2
-2
@@ -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],
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ const graphqlQueryResolvers = [
|
||||
WorkspaceQueryHookModule,
|
||||
WorkspaceQueryRunnerModule,
|
||||
PermissionsModule,
|
||||
TypeOrmModule.forFeature([RoleTargetsEntity], 'core'),
|
||||
TypeOrmModule.forFeature([RoleTargetsEntity]),
|
||||
UserRoleModule,
|
||||
ApiKeyModule,
|
||||
],
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ describe('CreatedByFromAuthContextService', () => {
|
||||
useValue: twentyORMGlobalManager,
|
||||
},
|
||||
{
|
||||
provide: getRepositoryToken(FieldMetadataEntity, 'core'),
|
||||
provide: getRepositoryToken(FieldMetadataEntity),
|
||||
useValue: {
|
||||
findOne: jest.fn().mockResolvedValue(true),
|
||||
},
|
||||
|
||||
+1
-1
@@ -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,
|
||||
) {}
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+1
-1
@@ -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,
|
||||
}),
|
||||
|
||||
+1
-1
@@ -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],
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+2
-2
@@ -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,
|
||||
|
||||
+1
-1
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+1
-1
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+2
-2
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+1
-1
@@ -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();
|
||||
|
||||
+1
-1
@@ -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,
|
||||
) {
|
||||
|
||||
+1
-1
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ describe('GoogleAPIsService', () => {
|
||||
},
|
||||
},
|
||||
{
|
||||
provide: getRepositoryToken(ObjectMetadataEntity, 'core'),
|
||||
provide: getRepositoryToken(ObjectMetadataEntity),
|
||||
useValue: {
|
||||
findOneOrFail: jest.fn(),
|
||||
},
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+7
-9
@@ -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);
|
||||
|
||||
+3
-3
@@ -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,
|
||||
) {}
|
||||
|
||||
+4
-4
@@ -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();
|
||||
|
||||
+7
-9
@@ -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),
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
+3
-3
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+4
-6
@@ -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);
|
||||
});
|
||||
|
||||
|
||||
+2
-2
@@ -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,
|
||||
) {}
|
||||
|
||||
+4
-6
@@ -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', () => {
|
||||
|
||||
+2
-2
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+2
-2
@@ -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);
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+2
-4
@@ -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', () => {
|
||||
|
||||
+1
-1
@@ -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,
|
||||
],
|
||||
|
||||
+12
-15
@@ -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: [
|
||||
|
||||
+3
-3
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+1
-1
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+2
-2
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+1
-1
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+3
-3
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+1
-1
@@ -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>,
|
||||
) {}
|
||||
|
||||
|
||||
+4
-4
@@ -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,
|
||||
|
||||
+3
-3
@@ -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,
|
||||
|
||||
+2
-2
@@ -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,
|
||||
) {
|
||||
|
||||
+3
-3
@@ -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,
|
||||
|
||||
+2
-2
@@ -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,
|
||||
|
||||
+1
-1
@@ -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
Reference in New Issue
Block a user