Skip to content

filesrocket/filesrocket

Repository files navigation

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