新增KV数据库存储附件
This commit is contained in:
@@ -1,23 +1,35 @@
|
||||
import s3Service from './s3-service';
|
||||
import settingService from './setting-service';
|
||||
import kvObjService from './kv-obj-service';
|
||||
import { settingConst } from '../const/entity-const';
|
||||
|
||||
const r2Service = {
|
||||
|
||||
async hasOSS(c) {
|
||||
|
||||
if (c.env.r2) {
|
||||
const setting = await settingService.query(c);
|
||||
const { kvStorage, bucket, endpoint, s3AccessKey, s3SecretKey } = setting;
|
||||
|
||||
if (kvStorage === settingConst.kvStorage.OPEN) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const setting = await settingService.query(c);
|
||||
const { bucket, endpoint, s3AccessKey, s3SecretKey } = setting;
|
||||
if (c.env.r2) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return !!(bucket && endpoint && s3AccessKey && s3SecretKey);
|
||||
},
|
||||
|
||||
async putObj(c, key, content, metadata) {
|
||||
|
||||
if (c.env.r2) {
|
||||
const { kvStorage } = await settingService.query(c);
|
||||
|
||||
if (kvStorage === settingConst.kvStorage.OPEN) {
|
||||
|
||||
await kvObjService.putObj(c, key, content, metadata);
|
||||
|
||||
} else if (c.env.r2) {
|
||||
|
||||
await c.env.r2.put(key, content, {
|
||||
httpMetadata: { ...metadata }
|
||||
@@ -37,7 +49,13 @@ const r2Service = {
|
||||
|
||||
async delete(c, key) {
|
||||
|
||||
if (c.env.r2) {
|
||||
const { kvStorage } = await settingService.query(c);
|
||||
|
||||
if (kvStorage === settingConst.kvStorage.OPEN) {
|
||||
|
||||
await kvObjService.deleteObj(c, key);
|
||||
|
||||
} else if (c.env.r2) {
|
||||
|
||||
await c.env.r2.delete(key);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user