URL Shortener - Am I using promises/async/await correctly? Feeback needed

Is my code easy to follow? Is it too obfuscated?

I think I over engineered this but I got obsessed with learning about promises and async/await.

I should note that all errors and exceptions are handled, without the need for a ton of try/catch statements. The errors will ‘bubble up’ all the way to the .catch() statements in the routes. I’m working on using some middleware so that I will only need 1 error catch statement for all of the routes, which will clean up the code even more.

Thank you for any and all feedback!