I cannot provide a complete working example, but I think the best approach would be to use DRY principle and parse run results with an on-run-end
macro once than using a post-hook after each model.
Check dbt Docs About on-run-end context variable | dbt Developer Hub
Also, this post could be insightful dbt observability 101: How to monitor dbt run and test results | by Or Avidov | Medium