filesrocket / filesrocket

Manage your files with any Cloud Storage Service (Cloudinary, Amazon S3)

Home Page:https://filesrocket.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Filesrocket

Manage your files with any Cloud Storage Services

Filesrocket is an package of Node.js that allows you to manage your files with any cloud storage service (Local, Cloudinary, Amazon S3) through the use of strategies called Services

πŸ“™ Documentation

The Filesrocket Docs are packed with awesome stuff and tell you everything you need to know about using and configuring Filesrocket.

πŸš€ Getting started

You can start using Filesrocket in easy steps.

$ mkdir filesrocket-example
$ cd filesrocket-example
$ npm init -y && tsc --init
$ npm install express @filesrocket/core @filesrocket/local
$ npm install @types/express typescript ts-node -D

Create src/index.ts and copy following content.

  1. Initialize app
import express from "express";

const app = express();

app.listen(3030, ()  => {
  console.log("App execute in port:3030");
});
  1. Register the services you are going to use
import { Filesrocket } from "@filesrocket/core";
import { LocalService } from "@filesrocket/local";

// Initialize
const filesrocket = new Filesrocket();

// Config your service
const service = new LocalService({
  pagination: { default: 15, max: 50 },
  host: "http://localhost:3030",
  directory: "uploads"
});

// We register the service
filesrocket.register("local", service);
  1. Register your endpoints.
const controller = filesrocket.controller("local");

// Create/Upload files.
app.post("/files", async (req,  res) => {
  const files = await controller.create(req, {});

  res.status(200).json(files);
})

// List files.
app.get("/files", async (req, res) => {
  const query = req.query;

  const files = await controller.list(query);

  res.status(200).json(files);
})

// Remove files.
app.delete("/files", async (req, res) => {
  const query = req.query;
  const { id } = query;

  const files = await controller.remove(id, query)

  res.status(200).json(files)
})

Expose static files.

app.use("/uploads", express.static(path.resolve("uploads")));

We run the server

npx ts-node src/index.ts

With this simple example you can interact with the files, click on the following link: http://localhost:3030/files

❀️ Stay in touch

βš–οΈ Licence

Filesrocket is MIT Licenced

About

Manage your files with any Cloud Storage Service (Cloudinary, Amazon S3)

https://filesrocket.com

License:MIT License


Languages

Language:TypeScript 99.8%Language:Shell 0.2%