0.1.19 • Published 5 months ago

easyload v0.1.19

Weekly downloads
-
License
ISC
Repository
-
Last release
5 months ago

EasyLoad

Простая абстракция для легкого управление S3 хранилищем timeweb.cloud в Next.js приложениях

Установка

$ npm i easyload

Создайте хук для управления хранилищем

// hooks/useEasyLoad.ts или любая другая папка

import {create} from "easyload";

// Конфигурация вашего хранилища
const s3Config = {
	accessKeyId: "ct29404",
	secretAccessKey: "2114a246c3132624487e430cece76025",
	endpoint: "https://s3.timeweb.com",
	s3ForcePathStyle: true,
	region: "ru-1",
	apiVersion: "latest",
};

// Теперь этот хук можно использовать в любом месте приложения
export const useEasyLoad = create(s3Config);

Использование на клиенте

import {useEasyLoad} from '@/hooks/useEasyLoad.ts'

...

export default function ClientComponent() {
	const {easyLoad} = useEasyLoad();

	return <div>Базовый клиентский компонент</div>;
}

Методы для управления хранилищем.

// Любой файл
const file = null;

// Имя бакета
const bucket = "my-backet";

// 1. Добавить файл в бакет
easyLoad.upload(file, bucket, replaceUrl?);
// Если нужно удалить файл при загрузке нового,
// допустим пользователь меняет аватар и прошлый уже не нужен,
// то можно использовать третий аргумент replaceUrl и указать ссылку на удаляемый файл

// 2. Удалить файл из бакета
easyLoad.delete("ссылка на файл", bucket);

// 3. Файлы в бакете
const filesInBucket = await easyLoad.getFiles(bucket);

// 4. Создать новый бакет
easyLoad.createBucket(bucket);

// 5. Список всех бакетов в вашем хранилище
const buckets = await easyLoad.getBuckets();

// 6. Удалить бакет
easyLoad.deleteBucket(bucket);

// Посмотреть текущую конфигурацию
easyLoad.configuration;

// Все методы возращают response от S3

// Вернет инфо о загруженном файле
// const res = easyLoad.upload(file, bucket);
0.1.19

5 months ago

0.1.18

5 months ago

0.1.17

5 months ago

0.1.16

5 months ago

0.1.15

5 months ago

0.1.14

5 months ago

0.1.13

5 months ago

0.1.12

5 months ago

0.1.11

5 months ago

0.1.10

5 months ago

0.1.9

5 months ago

0.1.8

5 months ago

0.1.7

5 months ago

0.1.6

5 months ago

0.1.5

5 months ago

0.1.4

5 months ago

0.1.3

5 months ago

0.1.2

5 months ago

0.1.1

5 months ago

0.1.0

5 months ago