import {schemaWithName, InferSchemaType} from '@orion-js/schema'
import {createMutation, Resolvers} from '@orion-js/graphql'
export const CreateUserInput = schemaWithName('CreateUserInput', {
name: {type: String, min: 2},
email: {type: String},
role: {type: String, allowedValues: ['admin', 'user']}
})
export type CreateUserInputType = InferSchemaType<typeof CreateUserInput>
@Resolvers()
class UserResolvers {
@Mutation()
createUser = createMutation({
params: CreateUserInput,
returns: UserSchema,
resolve: async (params: CreateUserInputType) => {
// The input has been validated against CreateUserInput schema
return await createUser(params)
}
})
}