registerControllers method
Registers all Azure controllers in the container.
Implementation
void registerControllers() {
// Extract regular and commandable Azure Function controllers from references
final controllers = references?.getOptional<IAzureFunctionController>(
Descriptor("*", "controller", "azurefunc", "*", "*"));
final cmdControllers = references?.getOptional<IAzureFunctionController>(
Descriptor("*", "controller", "commandable-azurefunc", "*", "*"));
if (cmdControllers != null) {
controllers?.addAll(cmdControllers);
}
if (controllers != null && controllers.isNotEmpty) {
// Register actions defined in those controllers
for (var controller in controllers) {
// Check if the controller implements required interface
// ignore: unnecessary_type_check
if (controller.getActions is! Function) continue;
final actions = controller.getActions();
for (var action in actions) {
registerAction(action.cmd, action.schema, action.action!);
}
}
}
}