kevisual-oss/src/test/config-admin.ts
2025-03-23 16:47:25 +08:00

78 lines
2.2 KiB
TypeScript

import dotenv from 'dotenv';
import { ConfigOssService } from '../services/index.ts';
import { Client } from 'minio';
import path from 'path';
import { downloadObject } from '../util/download.ts';
const cwd = process.cwd();
dotenv.config({ path: path.resolve(cwd, '..', '..', '.env') });
console.log(process.env.MINIO_ENDPOINT, process.env.MINIO_USE_SSL, process.env.MINIO_ACCESS_KEY, process.env.MINIO_SECRET_KEY, process.env.MINIO_BUCKET_NAME);
const client = new Client({
endPoint: process.env.MINIO_ENDPOINT,
useSSL: process.env.MINIO_USE_SSL === 'true',
accessKey: process.env.MINIO_ACCESS_KEY,
secretKey: process.env.MINIO_SECRET_KEY,
});
const configOssService = new ConfigOssService({
client,
bucketName: process.env.MINIO_BUCKET_NAME,
owner: 'admin',
});
const main = async () => {
configOssService.setPrefix('root');
const config = await configOssService.statObject('avatar.png');
console.log(config);
};
// main();
const putJson = async () => {
const config = await configOssService.putObject(
'a.json',
{
a: 'a',
},
{
'content-type': 'application/json',
'cache-control': 'no-cache',
},
);
console.log(config);
};
// putJson();
const downloadMain = async () => {
const stat = await configOssService.statObject('a.json'); // 582af9ef5cdc53d6628f45cb842f874a
console.log(stat);
const objectStream = await downloadObject({
objectName: 'a.json',
client: configOssService,
filePath: path.resolve(cwd, 'a.json'),
});
// console.log(objectStream);
};
downloadMain();
const statInfo = async () => {
try {
const stat = await configOssService.statObject('a.json');
// configOssService.setPrefix('root/');
// const stat = await configOssService.statObject('avatar.png');
// const stat = await configOssService.statObject('center/0.0.1/index.html');
console.log(stat);
} catch (e) {
if (e.code === 'NotFound') {
console.log('not found');
} else {
console.log('error', e);
}
}
};
// statInfo();
const listObjects = async () => {
configOssService.setPrefix('root/avatar.png');
const list = await configOssService.listObjects('');
console.log(list);
};
// listObjects();