Files
cadhub/app/api/src/directives/requireAuth/requireAuth.ts
Kurt Hutten 219f341972 Kurt/rw 37 upgrade (#566)
* Update readme

* Upgrade redwood to 0.37.x
2021-10-20 14:10:19 +11:00

23 lines
586 B
TypeScript

import gql from 'graphql-tag'
import { createValidatorDirective } from '@redwoodjs/graphql-server'
import { requireAuth as applicationRequireAuth } from 'src/lib/auth'
export const schema = gql`
"""
Use to check whether or not a user is authenticated and is associated
with an optional set of roles.
"""
directive @requireAuth(roles: [String]) on FIELD_DEFINITION
`
const validate = ({ directiveArgs }) => {
const { roles } = directiveArgs
applicationRequireAuth({ roles })
}
const requireAuth = createValidatorDirective(schema, validate)
export default requireAuth