如何修复'类型MyController无法分配给类型'ConvectorController <any>'

时间:2019-11-12 16:39:41

标签: javascript node.js typescript hyperledger-fabric convector

我目前正在使用在NodeJS上用TypeScript编写的智能合约/链码在Hyperledger Convector之上构建应用程序。该应用程序还包括一个基于Express的API服务器和一个基于AngularJS的前端服务器。

我建立了一个智能合约来存储和验证用户,该合约已经过全面的单元测试,因此在进行测试时效果很好。但是,当我尝试打包链码以将其安装到我的结构网络中时,出现以下错误:

https://i.imgur.com/mEi5f4G.png

我试图摆脱所有节点模块,清除缓存并从最新提交中进行构建,但没有成功。

该项目建立在https://github.com/worldsibu/convector-example-fabcar-rest

之上

这是我构建的链码的方法签名:

import * as yup from 'yup';
import {
  Controller,
  ConvectorController,
  Invokable,
  Param
} from '@worldsibu/convector-core';
import * as uuid from 'uuid/v4';
import * as bcrypt from "bcryptjs";
import * as jwt from "jsonwebtoken";
import { User } from './user.model';

const JWT_SECRET = "SOME TOKEN";

@Controller('user')
export class UserController extends ConvectorController<any> {
  @Invokable()
  public async init() {
    ..
  }

  @Invokable()
  public async create(@Param(User) user: User) {
    ..
  }

  @Invokable()
  public async authenticate(@Param(yup.string()) username: string, @Param(yup.string()) password: string): Promise<any> {
    ..
  }

  @Invokable()
  public async queryOne(@Param(yup.string()) id: string): Promise<User> {
    ..
  }

  @Invokable()
  public async getAll(): Promise<User[]> {
    ..
  }
}

错误跟踪中的第21行指的是:

export const UserControllerBackEnd = 
    ClientFactory(UserController, adapter);

export const CompanyControllerBackEnd = 
    ClientFactory(CompanyController, adapter);

0 个答案:

没有答案