mirror of
https://github.com/LukeHagar/api-specs.git
synced 2025-12-09 20:37:50 +00:00
initial script creation
This commit is contained in:
57
postman-script/updateByFolder/index.js
Normal file
57
postman-script/updateByFolder/index.js
Normal file
@@ -0,0 +1,57 @@
|
||||
const fs = require('fs')
|
||||
const pmConvert = require('./PostmanCovertions')
|
||||
const pmAPI = require('./postmanAPI')
|
||||
let privateRemoteCollectionId = '23836355-c5640083-7523-4ad7-9f92-b23e079cbb7b'
|
||||
let publicRemoteCollectionId = '23836355-6224d51a-d924-4c39-a58f-6970735aac8e'
|
||||
let localCollection = JSON.parse(fs.readFileSync(`C:\\git\\api-specs\\postman\\collections\\sailpoint-api-v3.json`).toString())
|
||||
|
||||
|
||||
|
||||
|
||||
const release = async () => {
|
||||
|
||||
|
||||
let remoteCollection = await refreshRemoteCollection(publicRemoteCollectionId)
|
||||
for (let item of remoteCollection.collection.item) {
|
||||
new pmAPI.Folder(publicRemoteCollectionId).delete(item.id)
|
||||
}
|
||||
|
||||
for (let item of localCollection.item) {
|
||||
await updateItem(item)
|
||||
}
|
||||
|
||||
console.log(remoteCollection)
|
||||
|
||||
}
|
||||
|
||||
|
||||
async function updateItem(item, folderId) {
|
||||
if (item.item && !folderId) {
|
||||
let newFolder = await new pmAPI.Folder(publicRemoteCollectionId).create(item)
|
||||
await updateItem(item.item, newFolder.data.id)
|
||||
} else {
|
||||
for (let items of item) {
|
||||
let postmanRequestBody = pmConvert.requestFromLocal(items)
|
||||
let newRequest = await new pmAPI.Request(publicRemoteCollectionId).create(postmanRequestBody, folderId)
|
||||
for (let response of items.response) {
|
||||
let postmanResponseBody = pmConvert.responseFromLocal(response, {})
|
||||
let newResponse = await new pmAPI.Response(publicRemoteCollectionId).create(postmanResponseBody, newRequest.data.id)
|
||||
console.log(newResponse)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
async function refreshRemoteCollection (remoteCollectionID) {
|
||||
const msg = 'Refreshing remote collection'
|
||||
console.log('\n' + msg + '...\n')
|
||||
const remoteCollection = await new pmAPI.Collection(remoteCollectionID).get()
|
||||
.catch((error) => {
|
||||
console.log(msg, '-> FAIL')
|
||||
handlePostmanAPIError(error)
|
||||
})
|
||||
return remoteCollection
|
||||
}
|
||||
|
||||
release()
|
||||
Reference in New Issue
Block a user