Pārlūkot izejas kodu

refactor(cli): use service instead of typeorm repo (#1423)

Jason Rasmussen 2 gadi atpakaļ
vecāks
revīzija
b1311547b2

+ 1 - 3
server/apps/cli/src/app.module.ts

@@ -1,7 +1,6 @@
 import { DomainModule } from '@app/domain';
-import { InfraModule, SystemConfigEntity } from '@app/infra';
+import { InfraModule } from '@app/infra';
 import { Module } from '@nestjs/common';
-import { TypeOrmModule } from '@nestjs/typeorm';
 import { ListUsersCommand } from './commands/list-users.command';
 import { DisablePasswordLoginCommand, EnablePasswordLoginCommand } from './commands/password-login';
 import { PromptPasswordQuestions, ResetAdminPasswordCommand } from './commands/reset-admin-password.command';
@@ -11,7 +10,6 @@ import { PromptPasswordQuestions, ResetAdminPasswordCommand } from './commands/r
     DomainModule.register({
       imports: [InfraModule],
     }),
-    TypeOrmModule.forFeature([SystemConfigEntity]),
   ],
   providers: [
     ResetAdminPasswordCommand,

+ 9 - 7
server/apps/cli/src/commands/password-login.ts

@@ -1,20 +1,20 @@
-import { SystemConfigEntity, SystemConfigKey } from '@app/infra';
-import { InjectRepository } from '@nestjs/typeorm';
+import { SystemConfigService } from '@app/domain';
 import axios from 'axios';
 import { Command, CommandRunner } from 'nest-commander';
-import { Repository } from 'typeorm';
 
 @Command({
   name: 'enable-password-login',
   description: 'Enable password login',
 })
 export class EnablePasswordLoginCommand extends CommandRunner {
-  constructor(@InjectRepository(SystemConfigEntity) private repository: Repository<SystemConfigEntity>) {
+  constructor(private configService: SystemConfigService) {
     super();
   }
 
   async run(): Promise<void> {
-    await this.repository.delete({ key: SystemConfigKey.PASSWORD_LOGIN_ENABLED });
+    const config = await this.configService.getConfig();
+    config.passwordLogin.enabled = true;
+    await this.configService.updateConfig(config);
     await axios.post('http://localhost:3001/refresh-config');
     console.log('Password login has been enabled.');
   }
@@ -25,12 +25,14 @@ export class EnablePasswordLoginCommand extends CommandRunner {
   description: 'Disable password login',
 })
 export class DisablePasswordLoginCommand extends CommandRunner {
-  constructor(@InjectRepository(SystemConfigEntity) private repository: Repository<SystemConfigEntity>) {
+  constructor(private configService: SystemConfigService) {
     super();
   }
 
   async run(): Promise<void> {
-    await this.repository.save({ key: SystemConfigKey.PASSWORD_LOGIN_ENABLED, value: false });
+    const config = await this.configService.getConfig();
+    config.passwordLogin.enabled = false;
+    await this.configService.updateConfig(config);
     await axios.post('http://localhost:3001/refresh-config');
     console.log('Password login has been disabled.');
   }