async findOne(id: string): Promise<Rule | undefined> {
    return this.connection
      .getRepository(RuleDBEntity)
      .findOne({ where: { id } })
      .then((rule) => rule?.toDomain());