Skip to content

Commit 97247f5

Browse files
updated add and delete items implementation according to release v2
1 parent 23b262f commit 97247f5

File tree

1 file changed

+44
-5
lines changed

1 file changed

+44
-5
lines changed

lib/stack/release/items/index.js

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)