如何使用Inversify注入TypeORM实体? 研究我尝试过的

问题描述

我有一个User实体,该实体具有generateToken方法。此方法具有一个称为cipher的依赖项,我想使用Inverisfy注入该依赖项。这可能吗?如果没有,那有什么选择呢?

研究

我见过this issue,但没有给出答案。我也不同意将我的功能移入服务层。我想要丰富的域模型,而生成令牌肯定是丰富的域模型的工作。

我尝试过的

我可以通过向public cipher: ICipher添加一个UserEntity属性,然后注入一个包装器类UserRepository来共同破坏事物,就像这样:

@injectable()
export class UserRepository {
  private repository: Repository<UserEntity>;

  constructor(@inject(TYPES.Cipher) private cipher: ICipher) {
    this.repository = getRepository(UserEntity);
  }

  create(data: UserEntity): UserEntity {
    const user = this.repository.create(data);
    user.cipher = this.cipher;
    return user;
  }
}

但是包装每一个Repository方法都不是一个好的解决方案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...