directive @auth on FIELD_DEFINITION directive @hasRole(role: Role!) on FIELD_DEFINITION enum Role { ADMIN USER } type LoginResponse { user: User! accessToken: String! refreshToken: String! } input LoginInput { identity: String! password: String! } extend type Mutation { login(input: LoginInput!): LoginResponse! }