File Management
Overview

File Management

Introduction

ROQ provides a complete solution for file management, including these features:

  • File associations (files can be related to any object).
  • File upload using the UI component.
  • File categories.
  • Files visibility (public or private).

API

ROQ offers a complete solution for managing public and private files with its Files API. Refer to this section for detailed information on the API.

UI Components

ROQ's file management provides multiple UI components that can be integrated into your application:

  1. The <FileUpload/> component represents a button which opens a file selector and starts uploads.
  2. The <FileDropzone/> UI component represents an area on your application where users can drag and drop files to be uploaded.
  3. The <FileActiveUploads/> component shows a progress bar of all active files uploads.

Basic Concepts

File Associations

When a file is stored on the ROQ Platform, it usually belongs to another object. For instance, PDF files can be uploaded and related to a "contract". The primary purpose and advantage of file associations is simplifying the database schema.

File Uploads

ℹ️

Files uploaded to the ROQ Platform are stored on Scaleway Object Storage (opens in a new tab). The data center is located in Paris.

Files can be uploaded via File Upload UI component or programmatically using the createFileUpload() API. The upload is realized using signed URLs, which means the files are uploaded directly from the user's browser to the object storage without sending it through your backend.

File Categories

File categories can only be managed via ROQ Console (opens in a new tab). You can enable filtering by categories. See files() API.

File Visibility

A file can be either public or private. Public means that there is a permanent URL that anyone can use, while private files can only be accessed by users who are allowed to do so. The visibility of a file can be changed in ROQ Console or via makeFilePublic()/makeFilePrivate() APIs

Access Management

You can define permissions of files using ROQ's access management feature. Files are always owned by the user who uploaded them. You can restrict access to this user or enable users of the same tenant to download the file.

Tutorials

These tutorials sections explain more about ROQ File API for the generated or custom application development, such as how to upload files, configure file categories, create file associations, fetch uploaded files, etc.