mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-05-02 03:13:58 +00:00
show cloud API errors
This commit is contained in:
@@ -56,20 +56,16 @@ module.exports = {
|
|||||||
|
|
||||||
putContent_meta: true,
|
putContent_meta: true,
|
||||||
async putContent({ folid, cntid, content, name, type }) {
|
async putContent({ folid, cntid, content, name, type }) {
|
||||||
putCloudContent(folid, cntid, content, name, type);
|
const resp = await putCloudContent(folid, cntid, content, name, type);
|
||||||
socket.emitChanged('cloud-content-changed');
|
socket.emitChanged('cloud-content-changed');
|
||||||
return {
|
return resp;
|
||||||
status: 'ok',
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
|
|
||||||
createFolder_meta: true,
|
createFolder_meta: true,
|
||||||
async createFolder({ name }) {
|
async createFolder({ name }) {
|
||||||
await callCloudApiPost(`folders/create`, { name });
|
const resp = await callCloudApiPost(`folders/create`, { name });
|
||||||
socket.emitChanged('cloud-content-changed');
|
socket.emitChanged('cloud-content-changed');
|
||||||
return {
|
return resp;
|
||||||
status: 'ok',
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
|
|
||||||
grantFolder_meta: true,
|
grantFolder_meta: true,
|
||||||
@@ -78,29 +74,23 @@ module.exports = {
|
|||||||
const invite = m[1];
|
const invite = m[1];
|
||||||
const mode = m[2];
|
const mode = m[2];
|
||||||
|
|
||||||
await callCloudApiPost(`folders/grant/${mode}`, { invite });
|
const resp = await callCloudApiPost(`folders/grant/${mode}`, { invite });
|
||||||
socket.emitChanged('cloud-content-changed');
|
socket.emitChanged('cloud-content-changed');
|
||||||
return {
|
return resp;
|
||||||
status: 'ok',
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
|
|
||||||
renameFolder_meta: true,
|
renameFolder_meta: true,
|
||||||
async renameFolder({ folid, name }) {
|
async renameFolder({ folid, name }) {
|
||||||
await callCloudApiPost(`folders/rename`, { folid, name });
|
const resp = await callCloudApiPost(`folders/rename`, { folid, name });
|
||||||
socket.emitChanged('cloud-content-changed');
|
socket.emitChanged('cloud-content-changed');
|
||||||
return {
|
return resp;
|
||||||
status: 'ok',
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
|
|
||||||
deleteFolder_meta: true,
|
deleteFolder_meta: true,
|
||||||
async deleteFolder({ folid }) {
|
async deleteFolder({ folid }) {
|
||||||
await callCloudApiPost(`folders/delete`, { folid });
|
const resp = await callCloudApiPost(`folders/delete`, { folid });
|
||||||
socket.emitChanged('cloud-content-changed');
|
socket.emitChanged('cloud-content-changed');
|
||||||
return {
|
return resp;
|
||||||
status: 'ok',
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
|
|
||||||
refreshContent_meta: true,
|
refreshContent_meta: true,
|
||||||
@@ -117,15 +107,13 @@ module.exports = {
|
|||||||
const folderEncryptor = getCloudFolderEncryptor(folid);
|
const folderEncryptor = getCloudFolderEncryptor(folid);
|
||||||
const recryptedConn = recryptConnection(conn, getInternalEncryptor(), folderEncryptor);
|
const recryptedConn = recryptConnection(conn, getInternalEncryptor(), folderEncryptor);
|
||||||
const connToSend = _.omit(recryptedConn, ['_id']);
|
const connToSend = _.omit(recryptedConn, ['_id']);
|
||||||
await this.putContent({
|
const resp = await putCloudContent(
|
||||||
folid,
|
folid,
|
||||||
cntid: undefined,
|
undefined,
|
||||||
content: JSON.stringify(connToSend),
|
JSON.stringify(connToSend),
|
||||||
name: getConnectionLabel(conn),
|
getConnectionLabel(conn),
|
||||||
type: 'connection',
|
'connection'
|
||||||
});
|
);
|
||||||
return {
|
return resp;
|
||||||
status: 'ok',
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -237,7 +237,12 @@ async function callCloudApiGet(endpoint, signinHolder = null, additionalHeaders
|
|||||||
...signinHeaders,
|
...signinHeaders,
|
||||||
...additionalHeaders,
|
...additionalHeaders,
|
||||||
},
|
},
|
||||||
|
validateStatus: status => status < 500,
|
||||||
});
|
});
|
||||||
|
const { errorMessage } = resp.data;
|
||||||
|
if (errorMessage) {
|
||||||
|
return { apiErrorMessage: errorMessage };
|
||||||
|
}
|
||||||
return resp.data;
|
return resp.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -255,7 +260,12 @@ async function callCloudApiPost(endpoint, body, signinHolder = null) {
|
|||||||
...getLicenseHttpHeaders(),
|
...getLicenseHttpHeaders(),
|
||||||
...signinHeaders,
|
...signinHeaders,
|
||||||
},
|
},
|
||||||
|
validateStatus: status => status < 500,
|
||||||
});
|
});
|
||||||
|
const { errorMessage } = resp.data;
|
||||||
|
if (errorMessage) {
|
||||||
|
return { apiErrorMessage: errorMessage };
|
||||||
|
}
|
||||||
return resp.data;
|
return resp.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -275,10 +285,14 @@ async function getCloudContent(folid, cntid) {
|
|||||||
|
|
||||||
const encryptor = simpleEncryptor.createEncryptor(signinHolder.encryptionKey);
|
const encryptor = simpleEncryptor.createEncryptor(signinHolder.encryptionKey);
|
||||||
|
|
||||||
const { content, name, type } = await callCloudApiGet(`content/${folid}/${cntid}`, signinHolder, {
|
const { content, name, type, apiErrorMessage } = await callCloudApiGet(`content/${folid}/${cntid}`, signinHolder, {
|
||||||
'x-kehid': signinHolder.kehid,
|
'x-kehid': signinHolder.kehid,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (apiErrorMessage) {
|
||||||
|
return { apiErrorMessage };
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
content: encryptor.decrypt(content),
|
content: encryptor.decrypt(content),
|
||||||
name,
|
name,
|
||||||
@@ -294,7 +308,7 @@ async function putCloudContent(folid, cntid, content, name, type) {
|
|||||||
|
|
||||||
const encryptor = simpleEncryptor.createEncryptor(signinHolder.encryptionKey);
|
const encryptor = simpleEncryptor.createEncryptor(signinHolder.encryptionKey);
|
||||||
|
|
||||||
await callCloudApiPost(
|
const resp = await callCloudApiPost(
|
||||||
`put-content`,
|
`put-content`,
|
||||||
{
|
{
|
||||||
folid,
|
folid,
|
||||||
@@ -307,6 +321,7 @@ async function putCloudContent(folid, cntid, content, name, type) {
|
|||||||
signinHolder
|
signinHolder
|
||||||
);
|
);
|
||||||
socket.emitChanged('cloud-content-changed');
|
socket.emitChanged('cloud-content-changed');
|
||||||
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
const cloudConnectionCache = {};
|
const cloudConnectionCache = {};
|
||||||
|
|||||||
Reference in New Issue
Block a user