import { Module } from '@nestjs/common'; import { PrismaModule } from '../../infrastructure/database/prisma.module'; import { RequestContextModule } from '../../infrastructure/request-context/request-context.module'; import { AuthModule } from '../auth/auth.module'; import { AccountController } from './account.controller'; import { AccountService } from './account.service'; import { DefaultUserService } from './default-user.service'; import { DeviceManagementService } from './device-management.service'; import { DeviceLinkingService } from './device-linking.service'; import { EntitlementService } from './entitlement.service'; import { FeatureGateService } from './feature-gate.service'; import { OAuthIdentityService } from './oauth-identity.service'; import { OwnershipTransferService } from './ownership-transfer.service'; import { BootstrapOwnerContextService, OwnerContext, } from './owner-context.service'; import { StorageModule } from '../storage/storage.module'; @Module({ imports: [PrismaModule, RequestContextModule, AuthModule, StorageModule], controllers: [AccountController], providers: [ AccountService, DefaultUserService, DeviceManagementService, DeviceLinkingService, EntitlementService, FeatureGateService, OAuthIdentityService, OwnershipTransferService, BootstrapOwnerContextService, { provide: OwnerContext, useExisting: BootstrapOwnerContextService, }, ], exports: [ DefaultUserService, OwnerContext, AccountService, DeviceManagementService, DeviceLinkingService, EntitlementService, FeatureGateService, OAuthIdentityService, OwnershipTransferService, ], }) export class UsersModule {}