No… you don’t get it… of course it would be bad design INTERN, in the database, there an Id need to exist. But it doesn’t make sense from outside queries, especially not, because the search String is KNOWN, the moment you do a search… Your statement “because of username change” doesn’t make SENSE. You’re not searching (do queries) for usernames… you’re searching for CHANNEL names most of the time and these are KNOWN the moment you search.
If I want to search for Dansgaming… I know what I want to search for. 1 query. And now, your have to do at least 2 queries… THIS is bad design.
It would be like you want to search for “diablo” and your API wouldn’t have an access point for game names, and you would have to do a 2nd query to get the game Id first.
Bad design… and it’ just a MESS. Now I have to save my own database on local disk for my app, and store names=>id in it, to not have to do obsolete API calls all the time.