I built something that sounds very similar at my last company called crosswalk. Open sourced here: https://github.com/danvk/crosswalk
One thing that worked surprisingly well: codegen TypeScript types from your database and use those in your API schema.