mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-17 23:45:59 +00:00
refresh public cloud files only on session start
This commit is contained in:
@@ -29,8 +29,8 @@ module.exports = {
|
||||
},
|
||||
|
||||
refreshPublicFiles_meta: true,
|
||||
async refreshPublicFiles() {
|
||||
await refreshPublicFiles();
|
||||
async refreshPublicFiles({ isRefresh }) {
|
||||
await refreshPublicFiles(isRefresh);
|
||||
return {
|
||||
status: 'ok',
|
||||
};
|
||||
|
||||
@@ -143,9 +143,7 @@ async function getCloudSigninHeaders(holder = null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let cloudFilesWereUpdated = false;
|
||||
|
||||
async function updateCloudFiles() {
|
||||
async function updateCloudFiles(isRefresh) {
|
||||
let lastCloudFilesTags;
|
||||
try {
|
||||
lastCloudFilesTags = await fs.readFile(path.join(datadir(), 'cloud-files-tags.txt'), 'utf-8');
|
||||
@@ -163,7 +161,7 @@ async function updateCloudFiles() {
|
||||
|
||||
const resp = await axios.default.get(
|
||||
`${DBGATE_CLOUD_URL}/public-cloud-updates?lastCheckedTm=${lastCheckedTm}&tags=${tags}&isRefresh=${
|
||||
cloudFilesWereUpdated ? 1 : 0
|
||||
isRefresh ? 1 : 0
|
||||
}`,
|
||||
{
|
||||
headers: {
|
||||
@@ -172,7 +170,6 @@ async function updateCloudFiles() {
|
||||
},
|
||||
}
|
||||
);
|
||||
cloudFilesWereUpdated = true;
|
||||
|
||||
logger.info(`Downloaded ${resp.data.length} cloud files`);
|
||||
|
||||
@@ -194,7 +191,7 @@ async function updateCloudFiles() {
|
||||
}
|
||||
|
||||
async function startCloudFiles() {
|
||||
refreshPublicFiles();
|
||||
loadCloudFiles();
|
||||
}
|
||||
|
||||
async function getPublicCloudFiles() {
|
||||
@@ -213,12 +210,12 @@ async function getPublicFileData(path) {
|
||||
return resp.data;
|
||||
}
|
||||
|
||||
async function refreshPublicFiles() {
|
||||
async function refreshPublicFiles(isRefresh) {
|
||||
if (!cloudFiles) {
|
||||
await loadCloudFiles();
|
||||
}
|
||||
try {
|
||||
await updateCloudFiles();
|
||||
await updateCloudFiles(isRefresh);
|
||||
} catch (err) {
|
||||
logger.error(extractErrorLogData(err), 'Error updating cloud files');
|
||||
}
|
||||
|
||||
@@ -14,7 +14,12 @@
|
||||
// import { shouldWaitForElectronInitialize } from './utility/getElectron';
|
||||
import { subscribeConnectionPingers } from './utility/connectionsPinger';
|
||||
import { subscribePermissionCompiler } from './utility/hasPermission';
|
||||
import { apiCall, installNewCloudTokenListener, installNewVolatileConnectionListener } from './utility/api';
|
||||
import {
|
||||
apiCall,
|
||||
installNewCloudTokenListener,
|
||||
installNewVolatileConnectionListener,
|
||||
refreshPublicCloudFiles,
|
||||
} from './utility/api';
|
||||
import { getConfig, getSettings, getUsedApps } from './utility/metadataLoaders';
|
||||
import AppTitleProvider from './utility/AppTitleProvider.svelte';
|
||||
import getElectron from './utility/getElectron';
|
||||
@@ -55,6 +60,8 @@
|
||||
initializeAppUpdates();
|
||||
}
|
||||
|
||||
refreshPublicCloudFiles();
|
||||
|
||||
loadedApi = loadedApiValue;
|
||||
|
||||
if (!loadedApi) {
|
||||
|
||||
@@ -300,6 +300,15 @@ export function getAuthCategory(config) {
|
||||
return 'token';
|
||||
}
|
||||
|
||||
export function refreshPublicCloudFiles() {
|
||||
if (sessionStorage.getItem('publicCloudFilesLoaded')) {
|
||||
return;
|
||||
}
|
||||
|
||||
apiCall('cloud/refresh-public-files');
|
||||
sessionStorage.setItem('publicCloudFilesLoaded', 'true');
|
||||
}
|
||||
|
||||
function enableApiLog() {
|
||||
apiLogging = true;
|
||||
console.log('API loggin enabled');
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
const publicFiles = usePublicCloudFiles();
|
||||
|
||||
async function handleRefreshPublic() {
|
||||
await apiCall('cloud/refresh-public-files');
|
||||
await apiCall('cloud/refresh-public-files?isRefresh=1');
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user