summaryrefslogtreecommitdiff
path: root/src/queue/processors/object-storage
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-05-27 16:54:47 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-05-27 16:54:47 +0900
commit72fb23f4d51db1b999a10b7d8bb50293a81af163 (patch)
tree07a7fa62cb7a822ce3759db5b2035368cd4e8e29 /src/queue/processors/object-storage
parentImprove post form (diff)
downloadsharkey-72fb23f4d51db1b999a10b7d8bb50293a81af163.tar.gz
sharkey-72fb23f4d51db1b999a10b7d8bb50293a81af163.tar.bz2
sharkey-72fb23f4d51db1b999a10b7d8bb50293a81af163.zip
Improve drive management
Diffstat (limited to 'src/queue/processors/object-storage')
-rw-r--r--src/queue/processors/object-storage/delete-file.ts22
-rw-r--r--src/queue/processors/object-storage/index.ts12
2 files changed, 34 insertions, 0 deletions
diff --git a/src/queue/processors/object-storage/delete-file.ts b/src/queue/processors/object-storage/delete-file.ts
new file mode 100644
index 0000000000..8e6b5f959e
--- /dev/null
+++ b/src/queue/processors/object-storage/delete-file.ts
@@ -0,0 +1,22 @@
+import * as Bull from 'bull';
+import * as Minio from 'minio';
+import { fetchMeta } from '../../../misc/fetch-meta';
+
+export default async (job: Bull.Job) => {
+ const meta = await fetchMeta();
+
+ const minio = new Minio.Client({
+ endPoint: meta.objectStorageEndpoint!,
+ region: meta.objectStorageRegion ? meta.objectStorageRegion : undefined,
+ port: meta.objectStoragePort ? meta.objectStoragePort : undefined,
+ useSSL: meta.objectStorageUseSSL,
+ accessKey: meta.objectStorageAccessKey!,
+ secretKey: meta.objectStorageSecretKey!,
+ });
+
+ const key: string = job.data.key;
+
+ await minio.removeObject(meta.objectStorageBucket!, key);
+
+ return 'Success';
+};
diff --git a/src/queue/processors/object-storage/index.ts b/src/queue/processors/object-storage/index.ts
new file mode 100644
index 0000000000..f2fc08f1ab
--- /dev/null
+++ b/src/queue/processors/object-storage/index.ts
@@ -0,0 +1,12 @@
+import * as Bull from 'bull';
+import deleteFile from './delete-file';
+
+const jobs = {
+ deleteFile,
+} as any;
+
+export default function(q: Bull.Queue) {
+ for (const [k, v] of Object.entries(jobs)) {
+ q.process(k, v as any);
+ }
+}