Improve drive management

This commit is contained in:
syuilo
2019-05-27 16:54:47 +09:00
parent 9403ee6495
commit 72fb23f4d5
14 changed files with 152 additions and 54 deletions

View File

@@ -1,7 +1,7 @@
import * as Bull from 'bull';
import { queueLogger } from '../../logger';
import deleteFile from '../../../services/drive/delete-file';
import { deleteFile } from '../../../services/drive/delete-file';
import { Users, DriveFiles } from '../../../models';
import { MoreThan } from 'typeorm';

View File

@@ -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';
};

View File

@@ -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);
}
}