uploads - moved logic to FE because of plugins

This commit is contained in:
Jan Prochazka
2020-11-22 09:14:19 +01:00
parent 7d1c0c5c18
commit 3cdba4339f
7 changed files with 68 additions and 45 deletions

View File

@@ -30,6 +30,7 @@ export function useUploadsZone() {
return;
}
console.log('FILE', file);
const formData = new FormData();
formData.append('data', file);
@@ -42,6 +43,15 @@ export function useUploadsZone() {
const resp = await fetch(`${apiBase}/uploads/upload`, fetchOptions);
const fileData = await resp.json();
fileData.shortName = file.name;
for (const format of extensions.fileFormats) {
if (file.name.endsWith('.' + format.extension)) {
fileData.shortName = file.name.slice(-format.extension.length - 1);
fileData.storageType = format.storageType;
}
}
if (uploadListener) {
uploadListener(fileData);
} else {

View File

@@ -56,6 +56,7 @@ const jsonlFormat = {
writerFunc: 'jsonLinesWriter',
};
/** @returns {import('dbgate-types').FileFormatDefinition[]} */
export function buildFileFormats(plugins) {
const res = [excelFormat, jsonlFormat];
for (const { content } of plugins) {

View File

@@ -11,6 +11,7 @@ export function ExtensionsProvider({ children }) {
}
export function buildExtensions(plugins) {
/** @type {import('dbgate-types').ExtensionsDirectory} */
const extensions = {
plugins,
fileFormats: buildFileFormats(plugins),
@@ -18,6 +19,7 @@ export function buildExtensions(plugins) {
return extensions;
}
/** @returns {import('dbgate-types').ExtensionsDirectory} */
export default function useExtensions() {
return React.useContext(ExtensionsContext);
}