@@ -52,25 +52,36 @@ export function ReleaseItem (http, data = {}) {
5252 * client.stack({ api_key: 'api_key'}).release('release_uid').delete({items})
5353 * .then((response) => console.log(response.notice))
5454 */
55- this . delete = async ( items ) => {
55+ this . delete = async ( params ) => {
5656 let param = { }
57- if ( items === undefined ) {
57+ if ( params . items === undefined && params . item === undefined ) {
5858 param = { all : true }
59+ params . items = [ ]
5960 }
6061 try {
6162 const headers = {
6263 headers : { ...cloneDeep ( this . stackHeaders ) } ,
6364 data : {
64- ...cloneDeep ( items )
65+ ...cloneDeep ( params )
6566 } ,
6667 params : {
6768 ...cloneDeep ( param )
6869 }
6970 } || { }
71+
72+ if ( params . release_version ) {
73+ headers . headers [ 'release_version' ] = params . release_version ;
74+ }
75+
76+ if ( params . item ) {
77+ this . urlPath = `releases/${ data . releaseUid } /item`
78+ headers . data [ 'item' ] = params . item
79+ } else
80+ headers . data [ 'items' ] = params . items
7081
7182 const response = await http . delete ( this . urlPath , headers )
7283 if ( response . data ) {
73- return new Release ( http , { ... response . data , stackHeaders : data . stackHeaders } )
84+ return response . data
7485 } else {
7586 throw error ( response )
7687 }
@@ -129,9 +140,18 @@ export function ReleaseItem (http, data = {}) {
129140 ...cloneDeep ( this . stackHeaders )
130141 }
131142 } || { }
143+
144+ if ( param . release_version ) {
145+ headers . headers [ 'release_version' ] = param . release_version ;
146+ }
147+ if ( param . item ) {
148+ this . urlPath = `releases/${ data . releaseUid } /item`
149+ param [ 'item' ] = param . item
150+ } else
151+ param [ 'items' ] = param . items
132152
133153 try {
134- const response = await http . post ( param . item ? `releases/ ${ data . releaseUid } /item` : this . urlPath , param , headers )
154+ const response = await http . post ( this . urlPath , param , headers )
135155 if ( response . data ) {
136156 if ( response . data ) {
137157 return new Release ( http , { ...response . data , stackHeaders : data . stackHeaders } )
@@ -181,6 +201,25 @@ export function ReleaseItem (http, data = {}) {
181201 }
182202 }
183203
204+ /**
205+ * The move request allows you to move multiple items within a release.
206+ * @memberof ReleaseItem
207+ * @func move
208+ * @returns {Promise<Object> } Response Object.
209+ * @param {Object } params.param - The data containing the items to be moved within the release.
210+ * @param {String } [params.release_version] - The release version.
211+ * @example
212+ * const moveData = {
213+ * items: [
214+ * {
215+ * uid: '{{entry_uid}}',
216+ * content_type: '{{content_type_uid}}'
217+ * }
218+ * ]
219+ * }
220+ * client.stack({ api_key: 'api_key'}).release('release_uid').item().move({ param: moveData, release_version: '1.0' })
221+ * .then((response) => { console.log(response) })
222+ */
184223 this . move = async ( { param, release_version = '' } ) => {
185224 const headers = {
186225 headers : {
0 commit comments