Using GrapphQL api for web app vs. directly calling module functions

Hello,

We have a pretty mature GraphQL API that our front-end iOS app uses to communicate with the backend to authenticate, query and mutate. There is also another Python SDK layer that uses this GraphQL API.

Now we are planning to develop our Web app using Phoenix framework and the question is should we be using the same GraphQL API to interact with the server or make calls directly to the Module.functions (i.e User.login(email, password) instead of calling the login GraphQL api. I am leaning towards using the GraphQL api for all the query/mutations for the Webapp as I am worried about session management, cookies, caching etc that comes into play in a typical web app.

Are there any pros/cons to consider? What do people generally use?