getProductsHandler function

Future<CallToolResult> getProductsHandler(
  1. Map<String, dynamic> args,
  2. dynamic extra
)

Implementation

Future<CallToolResult> getProductsHandler(
  Map<String, dynamic> args,
  dynamic extra,
) async {
  if (!dbRunning) {
    return CallToolResult(
      isError: true,
      content: [TextContent(text: "Inventory database is not running.")],
    );
  }
  try {
    final products = await Firestore.instance.collection("inventory").get();
    final productsList = products
        .map((doc) => Product.fromFirestore(doc).toJson())
        .toList();
    return CallToolResult(
      content: [TextContent(text: jsonEncode(productsList))],
    );
  } catch (e) {
    return CallToolResult(
      isError: true,
      content: [TextContent(text: "Error getting products: $e")],
    );
  }
}