Composer Rest Server不返回模型文件中注释的内容

时间:2018-08-01 15:48:26

标签: hyperledger-fabric hyperledger hyperledger-composer

我有一个Hyperledger Composer项目,在这里我想从交易中返回生成的ID。这是model.cto文件的相关部分:

@returns(String)
transaction SetupGame {
  o PlayerTotem[] players
}

这是script.js中的交易:

/**
 * Setup Game transaction
 * @param {org.pandemic.board.SetupGame} txData
 * @returns {String} The string
 * @transaction
 */

function setupGame(txData) {
    let totems = txData.players;

    return getAssetRegistry('org.pandemic.board.Board').then((registry) => {

        let factory = getFactory();
        let NS = 'org.pandemic.board';

        let boardId = generateId();

        let board = factory.newResource(NS, 'Board', boardId);
        let boardCities = buildBoardCities(factory, NS);

        board.cities = boardCities;

        let infectionCards = buildInfectionCards(factory, NS);
        board.infectionCards = shuffle(infectionCards);

        let playerCards = buildPlayerCards(factory, NS);
        board.playerCards = shuffle(playerCards);

        let playerTotems = buildPlayerTotems(totems, factory, NS);
        board.players = playerTotems;

        return registry.add(board).then(() => {
            return Promise.resolve(boardId);
        });

    });
}

我试图遵循Composer参考文献中规定的约定,以将JSDoc放在脚本文件here中:

/**
 * Setup Game transaction
 * @param {org.pandemic.board.SetupGame} txData
 * @returns [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string) The string
 * @transaction
 */

但是当我像这样设置@returns注释时,composer archive create会抛出格式错误的JSDoc错误,因此我将其更改为@returns {String} The string

我希望作为交易的结果取回boardId,但是我只是取回了交易:

{
  "$class": "org.pandemic.board.SetupGame",
  "players": [
    {
      "$class": "org.pandemic.board.PlayerTotem",
      "totemName": "Daniel",
      "currentLocation": "Atlanta",
      "role": "MEDIC",
      "cards": [],
      "actionsRemaining": "4"
    }
  ],
  "transactionId": "a87b071c78e00617430ca4e6e189a984feb41a8e2f5ae101e0d73eb4d172d927"
}

1 个答案:

答案 0 :(得分:0)

有关相同问题,请在GitHub中查看此问题。

https://github.com/hyperledger/composer/issues/4245

贡献者提供的代码已被合并,因此它将很快出现在Composer发行版中。可能在本周晚些时候,否则可能在下周。