Improve drive management
This commit is contained in:
@@ -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';
|
||||
|
||||
|
22
src/queue/processors/object-storage/delete-file.ts
Normal file
22
src/queue/processors/object-storage/delete-file.ts
Normal 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';
|
||||
};
|
12
src/queue/processors/object-storage/index.ts
Normal file
12
src/queue/processors/object-storage/index.ts
Normal 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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user