mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-05-02 11:23:59 +00:00
cloud files - opening
This commit is contained in:
@@ -1,10 +1,4 @@
|
|||||||
const fs = require('fs-extra');
|
const { getPublicCloudFiles, getPublicFileData } = require('../utility/cloudIntf');
|
||||||
const _ = require('lodash');
|
|
||||||
const path = require('path');
|
|
||||||
const { appdir } = require('../utility/directories');
|
|
||||||
const socket = require('../utility/socket');
|
|
||||||
const connections = require('./connections');
|
|
||||||
const { getPublicCloudFiles } = require('../utility/cloudIntf');
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
publicFiles_meta: true,
|
publicFiles_meta: true,
|
||||||
@@ -12,4 +6,10 @@ module.exports = {
|
|||||||
const res = await getPublicCloudFiles();
|
const res = await getPublicCloudFiles();
|
||||||
return res;
|
return res;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
publicFileData_meta: true,
|
||||||
|
async publicFileData({ path }) {
|
||||||
|
const res = getPublicFileData(path);
|
||||||
|
return res;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -161,9 +161,15 @@ async function getPublicCloudFiles() {
|
|||||||
return cloudFiles;
|
return cloudFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getPublicFileData(path) {
|
||||||
|
const resp = await axios.default.get(`${DBGATE_CLOUD_URL}/public/${path}`, getExternalParamsWithLicense(false));
|
||||||
|
return resp.data;
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
createDbGateIdentitySession,
|
createDbGateIdentitySession,
|
||||||
startCloudTokenChecking,
|
startCloudTokenChecking,
|
||||||
startCloudFiles,
|
startCloudFiles,
|
||||||
getPublicCloudFiles,
|
getPublicCloudFiles,
|
||||||
|
getPublicFileData,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,25 +5,43 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import openNewTab from '../utility/openNewTab';
|
|
||||||
import { copyTextToClipboard } from '../utility/clipboard';
|
|
||||||
import { showModal } from '../modals/modalTools';
|
|
||||||
import ConfirmModal from '../modals/ConfirmModal.svelte';
|
|
||||||
import getElectron from '../utility/getElectron';
|
|
||||||
import FavoriteModal from '../modals/FavoriteModal.svelte';
|
|
||||||
import { apiCall } from '../utility/api';
|
import { apiCall } from '../utility/api';
|
||||||
|
import newQuery from '../query/newQuery';
|
||||||
|
|
||||||
export let data;
|
export let data;
|
||||||
|
|
||||||
|
async function handleOpenSqlFile() {
|
||||||
|
const fileData = await apiCall('cloud/public-file-data', { path: data.path });
|
||||||
|
newQuery({
|
||||||
|
initialData: fileData.text,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function createMenu() {
|
function createMenu() {
|
||||||
return [];
|
return [{ text: 'Open', onClick: handleOpenSqlFile }];
|
||||||
// return [
|
|
||||||
// { text: 'Delete', onClick: handleDelete },
|
|
||||||
// { text: 'Edit', onClick: editFavorite },
|
|
||||||
// { text: 'Edit JSON definition', onClick: editFavoriteJson },
|
|
||||||
// !electron && data.urlPath && { text: 'Copy link', onClick: copyLink },
|
|
||||||
// ];
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<AppObjectCore {...$$restProps} {data} icon={'img sql-file'} title={data.title} menu={createMenu} />
|
<AppObjectCore
|
||||||
|
{...$$restProps}
|
||||||
|
{data}
|
||||||
|
icon={'img sql-file'}
|
||||||
|
title={data.title}
|
||||||
|
menu={createMenu}
|
||||||
|
on:click={handleOpenSqlFile}
|
||||||
|
>
|
||||||
|
{#if data.description}
|
||||||
|
<div class="info">
|
||||||
|
{data.description}
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
</AppObjectCore>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.info {
|
||||||
|
margin-left: 30px;
|
||||||
|
margin-right: 5px;
|
||||||
|
color: var(--theme-font-3);
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -17,7 +17,11 @@
|
|||||||
<WidgetColumnBar>
|
<WidgetColumnBar>
|
||||||
<WidgetColumnBarItem title="Public cloud" name="cloud" height="70%" storageName="publicCloudItems">
|
<WidgetColumnBarItem title="Public cloud" name="cloud" height="70%" storageName="publicCloudItems">
|
||||||
<WidgetsInnerContainer>
|
<WidgetsInnerContainer>
|
||||||
<AppObjectList list={$publicFiles || []} module={cloudFileAppObject} groupFunc={data => data.folder} />
|
<AppObjectList
|
||||||
|
list={$publicFiles || []}
|
||||||
|
module={cloudFileAppObject}
|
||||||
|
groupFunc={data => data.folder || undefined}
|
||||||
|
/>
|
||||||
</WidgetsInnerContainer>
|
</WidgetsInnerContainer>
|
||||||
</WidgetColumnBarItem>
|
</WidgetColumnBarItem>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user