@@ -5,7 +5,7 @@ var api = 'webhooks'
55
66module . exports = function ( client ) {
77 var webhooks = {
8- all : function ( options , callback ) {
8+ all : function ( options , callback ) {
99 var reqOpts = {
1010 uri : api
1111 } ;
@@ -22,10 +22,10 @@ module.exports = function(client) {
2222
2323 client . get ( reqOpts , callback ) ;
2424 } ,
25- describe : function ( options , callback ) {
25+ describe : function ( options , callback ) {
2626 options = options || { } ;
2727
28- if ( ! options . id ) {
28+ if ( ! options . id ) {
2929 callback ( new Error ( 'id is required' ) ) ;
3030 return ;
3131 }
@@ -40,13 +40,13 @@ module.exports = function(client) {
4040
4141 client . get ( reqOpts , callback ) ;
4242 } ,
43- create : function ( webhook , callback ) {
44- if ( typeof webhook === 'function' ) {
43+ create : function ( webhook , callback ) {
44+ if ( typeof webhook === 'function' ) {
4545 callback = webhook ;
4646 webhook = null ;
4747 }
4848
49- if ( ! webhook ) {
49+ if ( ! webhook ) {
5050 callback ( new Error ( 'webhook object is required' ) ) ;
5151 return ;
5252 }
@@ -57,25 +57,52 @@ module.exports = function(client) {
5757
5858 client . post ( options , callback ) ;
5959 } ,
60- update : function ( webhook , callback ) {
61- if ( typeof webhook === 'function' ) {
60+ update : function ( webhook , callback ) {
61+ var object , options , id ;
62+
63+ if ( typeof webhook === 'function' ) {
6264 callback = webhook ;
6365 webhook = null ;
6466 }
6567
66- if ( ! webhook ) {
68+ if ( ! webhook ) {
6769 callback ( new Error ( 'webhook object is required' ) ) ;
6870 return ;
6971 }
7072
71- var object = toApiFormat ( webhook )
72- , options = {
73- uri : api + '/' + webhook . id
74- , json : object
75- } ;
73+ if ( ! webhook . id ) {
74+ callback ( new Error ( 'webhook.id is required' ) ) ;
75+ return ;
76+ }
77+
78+ id = webhook . id ;
79+ delete webhook . id ;
80+
81+ object = toApiFormat ( webhook ) ;
82+ options = {
83+ uri : api + '/' + id
84+ , json : object
85+ } ;
7686
7787 client . put ( options , callback ) ;
7888 } ,
89+ delete : function ( id , callback ) {
90+ if ( typeof id === 'function' ) {
91+ callback = id ;
92+ id = null ;
93+ }
94+
95+ if ( ! id ) {
96+ callback ( new Error ( 'id is required' ) ) ;
97+ return ;
98+ }
99+
100+ var options = {
101+ uri : api + '/' + id
102+ } ;
103+
104+ client . delete ( options , callback ) ;
105+ } ,
79106 validate : function ( options , callback ) {
80107 options = options || { } ;
81108
@@ -142,23 +169,5 @@ module.exports = function(client) {
142169 }
143170 } ;
144171
145- webhooks [ 'delete' ] = function ( id , callback ) {
146- if ( typeof id === 'function' ) {
147- callback = id ;
148- id = null ;
149- }
150-
151- if ( ! id ) {
152- callback ( new Error ( 'id is required' ) ) ;
153- return ;
154- }
155-
156- var options = {
157- uri : api + '/' + id
158- } ;
159-
160- client [ 'delete' ] ( options , callback ) ;
161- } ;
162-
163172 return webhooks ;
164173} ;
0 commit comments