Image uploading with Angular and Apollo
Uploading images is a required feature of any social network; in our case, we need images not only for posts, but also for the user's photo and profile cover.
We've added three mutations to the backend: uploadFile
, setUserPhoto
, and setUserCover
. In this section, we'll write the code for sending requests to call these GraphQL mutations to create posts with or without an image, as well as setting the user's profile photo and cover.
We manually created the GraphQL documents in the previous section by wrapping the queries and mutations with the gql
tag, which returns the documents (objects of the DocumentNode
type) that we pass to Apollo Client methods to fetch or mutate data.
Then, for communicating with our GraphQL API, we created types for results/responses and implemented the Apollo services, which extend the generic Query
or Mutation
classes.
This works, but as our code base grows, it is unlikely to scale because...