Return Status And Message Field as default fields without explicitly querying for both fields.
Hi, I have been looking through stack overflow for answers but I was unable to find any. Here is my registration model:
export const Register = objectType({
name: 'Register',
"nonNullDefaults": {
output: true,
},
definition(t) {
t.string('status');
t.string('message');
t.string('authToken');
t.string('refreshToken');
},
});
Below is the resolver for registration
export const RegisterMutation = extendType({
"type": "Mutation",
definition (objectType) {
objectType.field(
"register",
{
type: "Register",
args: {
name: stringArg(),
email: stringArg(),
password: stringArg(),
accessToken: stringArg()
},
async resolve(_parent, args) {
const { name, email, password, accessToken } = args;
const hash = password? await bcrypt.hash(password, 5): '';
const user = await createUser(name, email, hash, accessToken);
const authToken = user? await createToken(user) : "";
const refreshToken = user ? await createToken(user, tokenType.refresh) : "";
const successPayload = {
"status": "success",
"message": "User created successfully",
authToken,
refreshToken
}
// console.log(user)
return user ? successPayload : {
"status": "failed",
"message": "User not created",
authToken,
refreshToken
}
}
}
);
}
});