fix: socket should not notify hidden folder or file

fix: socket should not notify hidden folder
This commit is contained in:
Methapon2001 2023-12-15 16:18:40 +07:00
parent 7a0727927b
commit 7eada9e0dd
No known key found for this signature in database
GPG key ID: 849924FEF46BD132
2 changed files with 41 additions and 35 deletions

View file

@ -309,6 +309,7 @@ export class StorageController extends Controller {
if (!created) throw new Error(MINIO_ERROR_MESSAGE); if (!created) throw new Error(MINIO_ERROR_MESSAGE);
!name.startsWith(".") &&
io.getInstance()?.emit("FolderCreate", { io.getInstance()?.emit("FolderCreate", {
pathname: stripLeadingSlash( pathname: stripLeadingSlash(
`${path.join("/")}/${name.replace(/[/\\?%*:|"<>#]/g, "-").trim()}/`, `${path.join("/")}/${name.replace(/[/\\?%*:|"<>#]/g, "-").trim()}/`,
@ -550,7 +551,7 @@ export class StorageController extends Controller {
refresh: "wait_for", // Must have or else it doesn't wait for updated index resulted in data not found on fetch refresh: "wait_for", // Must have or else it doesn't wait for updated index resulted in data not found on fetch
}); });
io.getInstance()?.emit("FileUploadRequest", metadata); !metadata.hidden && io.getInstance()?.emit("FileUploadRequest", metadata);
const presignedUrl = await minioClient.presignedPutObject(DEFAULT_BUCKET, metadata.pathname); const presignedUrl = await minioClient.presignedPutObject(DEFAULT_BUCKET, metadata.pathname);
@ -664,6 +665,7 @@ export class StorageController extends Controller {
) )
.catch((e) => console.error(`ElasticSearch Error: ${e}`)); .catch((e) => console.error(`ElasticSearch Error: ${e}`));
if (!source.hidden && !metadata.hidden) {
io.getInstance()?.emit("FileMove", { io.getInstance()?.emit("FileMove", {
from: source, from: source,
to: { to: {
@ -675,6 +677,7 @@ export class StorageController extends Controller {
...dateMeta, ...dateMeta,
}, },
}); });
}
if (upload) { if (upload) {
const presignedUrl = await minioClient.presignedPutObject(DEFAULT_BUCKET, dst); const presignedUrl = await minioClient.presignedPutObject(DEFAULT_BUCKET, dst);
@ -697,6 +700,7 @@ export class StorageController extends Controller {
}) })
.catch((e) => console.error(`ElasticSearch Error: ${e}`)); .catch((e) => console.error(`ElasticSearch Error: ${e}`));
if (!source.hidden && !metadata.hidden) {
io.getInstance()?.emit("FileMove", { io.getInstance()?.emit("FileMove", {
from: source, from: source,
to: { to: {
@ -705,6 +709,7 @@ export class StorageController extends Controller {
...dateMeta, ...dateMeta,
}, },
}); });
}
if (upload) { if (upload) {
const src = stripLeadingSlash(`${from.path.join("/")}/${from.file}`); const src = stripLeadingSlash(`${from.path.join("/")}/${from.file}`);

View file

@ -1,7 +1,7 @@
import { StorageFile } from "../interfaces/storage-fs"; import { StorageFile } from "../interfaces/storage-fs";
import esClient from "../elasticsearch"; import esClient from "../elasticsearch";
import minioClient from "../minio"; import minioClient from "../minio";
import { getInstance } from "../lib/websocket"; import * as io from "../lib/websocket";
const DEFAULT_INDEX = process.env.ELASTICSEARCH_INDEX; const DEFAULT_INDEX = process.env.ELASTICSEARCH_INDEX;
@ -44,7 +44,7 @@ export async function handler(key: string, event: string): Promise<boolean> {
const rec = await popInfo(pathname); const rec = await popInfo(pathname);
console.info(`[AMQ] Key: ${key} - ${rec ?? "Not Found."}`); console.info(`[AMQ] Key: ${key} - ${JSON.stringify(rec, null, 2) ?? "Not Found."}`);
const result = rec const result = rec
? await handleFoundRecord(rec, cachedBuffer[key], cachedMetadata[key]) ? await handleFoundRecord(rec, cachedBuffer[key], cachedMetadata[key])
@ -96,8 +96,7 @@ async function ensureDelete(pathname: string) {
}) })
.catch((e) => console.error(e)); .catch((e) => console.error(e));
const io = getInstance(); io.getInstance()?.emit("FileDelete", { pathname });
io?.emit("FileDelete", { pathname });
return true; return true;
} }
@ -144,8 +143,9 @@ async function handleNotFoundRecord(
if (!result) return false; if (!result) return false;
const io = getInstance(); if (!metadata.hidden) {
io?.emit("FileUpload", metadata); io.getInstance()?.emit("FileUpload", metadata);
}
return true; return true;
} }
@ -170,8 +170,9 @@ async function handleFoundRecord(
if (!result) return false; if (!result) return false;
const io = getInstance(); if (!metadata.hidden) {
io?.emit("FileUpload", metadata); io.getInstance()?.emit("FileUpload", metadata);
}
return true; return true;
} }