GetHistoryForKey added to the chaincode-typescript

Signed-off-by: Ajiths10 <ajithsnair10@gmail.com>
This commit is contained in:
Ajiths10 2024-06-19 15:21:29 +05:30
parent 179bc96846
commit a1b5f6830d

View file

@ -170,4 +170,34 @@ export class AssetTransferContract extends Contract {
return JSON.stringify(allResults);
}
// GetHistoryForKey returns all assets history in the world state.
@Transaction(false)
@Returns("string")
public async GetHistoryForKey(ctx: Context, id: string): Promise<string> {
const results: string[] = [];
try {
const historyIterator = await ctx.stub.getHistoryForKey(id);
let result = await historyIterator.next();
if (result.done) {
const errorMessage = `Asset ${id} does not exist`;
console.log(errorMessage);
throw new Error(errorMessage);
}
while (!result.done) {
const iteratorValue = Buffer.from(
result.value.value.toString()
).toString("utf8");
results.push(iteratorValue);
console.log(iteratorValue);
result = await historyIterator.next();
}
await historyIterator.close();
} catch (error) {
console.log(error);
}
return JSON.stringify(results);
}
}