joyent-portal/cloudapi-graphql/src/schema/mutations/account.js

58 lines
1.2 KiB
JavaScript
Raw Normal View History

2016-10-10 18:37:26 +03:00
const AccountType = require('../types/login');
const api = require('../../api');
const {
GraphQLBoolean,
GraphQLString
} = require('graphql');
module.exports.updateAccount = {
type: AccountType,
description: 'Update your account details',
args: {
email: {
type: GraphQLString
},
company_name: {
type: GraphQLString
},
first_name: {
type: GraphQLString
},
last_name: {
type: GraphQLString
},
address: {
type: GraphQLString
},
postal_code: {
type: GraphQLString
},
city: {
type: GraphQLString
},
state: {
type: GraphQLString
},
country: {
type: GraphQLString
},
phone: {
type: GraphQLString
},
cns_enabled: {
type: GraphQLBoolean
}
},
resolve: (root, args) => {
return api.account.get().then((account) => {
return api.account.update(Object.assign(account, args, {
firstName: args.first_name || account.firstName,
lastName: args.first_name || account.lastName,
companyName: args.company_name || account.companyName,
postalCode: args.postal_code || account.postalCode
}));
});
}
};