This is an Apollo Server that is pre-configured for use in this stack. It has some stuff already configured:
The API is protected by requiring all inbound API calls to have a bearer token in the form of a JWT passed in the Authorization
header:
{
Authorization: Bearer <Base 64 Encoded JWT>
}
The okta/jwt-verifier
module is used to verify the JWT.
apollo/schema/generated/prisma.graphql
is a schema that is generated by Prisma based on the data model. It's a big, wide-open schema that can do just about anything we need with the data. We don't want to expose this directly to through the API, because it is probably way more power than we want to give our users.
apollo/schema/apollo.graphql
is the schema that we present to our API consumers. It will typically import pieces of the Prisma generated schema, which will allow our Apollo schema to closely match our underlying Prisma schema.
apollo/src/resolvers
contains all of the resolvers used by Apollo.