José Varela 23f6baa4db SDK: refactor constructors (#9080)
* refactor: more intuitive interfaces

* refactor: simpler refresh
before: on every request we were debouncing a refresh request
after: call refresh only once before now() + 'expires'

* refactor: prefix on base storage

* fixup! refactor: simpler refresh before: on every request we were debouncing a refresh request after: call refresh only once before now() + 'expires'

* refactor: simpler axios transport
before: handle auth headers
after: auth headers are handled on directus instance

* refactor: simpler usage of Directus constructor

* fixup! refactor: simpler refresh before: on every request we were debouncing a refresh request after: call refresh only once before now() + 'expires'

* refactor: fix tests based on previous changes

* refactor: better auth constructor
before: depends on SDK instance
after: depends on Transport and Storage instance

* accept staticToken from auth

* make transport and storage as optional on options

* fix type auth refresh

* simplify transport

* fix test for previous changes

* improve auth class

* revert some IAuth props because tests

* allow to force memory of localstorage on storage

* add tests for previous change

* document everything and simplify some things

* fix override headers on request

* better name typing

* fix private axios

* removed boolean from CLI auth.refresh()

* fix missing url in some examples

* soem grammar updates

Co-authored-by: Jay Cammarano <jay.cammarano@gmail.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-11-04 13:30:30 -04:00
2021-11-03 19:29:41 -04:00
2021-11-04 13:30:30 -04:00
2021-04-05 15:11:02 -04:00
2021-06-14 10:38:43 -04:00
2021-04-29 12:01:17 -04:00
2021-11-03 19:35:58 -04:00
2021-05-04 18:52:08 -04:00
2021-05-04 18:52:08 -04:00
2021-11-01 11:05:13 -04:00
2021-11-03 17:34:48 -04:00
2021-11-03 19:29:41 -04:00
2020-07-29 11:40:38 -04:00
2021-10-12 11:46:34 -04:00
2021-05-04 18:52:08 -04:00

Logo


🐰 Introduction

Directus is a real-time API and App dashboard for managing SQL database content.

  • Free & open-source. No artificial limitations, vendor lock-in, or hidden pricing.
  • REST & GraphQL API. Instantly adds a blazingly fast Node.js API layer to your database.
  • Manage pure SQL. Works with existing SQL databases, or helps build new architectures from scratch.
  • Choose your database. Supports PostgreSQL, MySQL, SQLite, OracleDB, MariaDB and MS-SQL.
  • Allows self-hosting. Choose your hosting and infrastructure, run locally, or deeply integrate on-premises.
  • Completely extensible. Built to white-label, it is easy to customize our modular platform.
  • A modern dashboard. A Vue.js Admin App so safe and intuitive, non-technical users require no training.

Learn more about Directus on our website.


🚧 Release Candidate

This is pre-release software. While we're providing migrations between versions, changes may occur at any time, and certain features might be missing or broken. You can follow along with the issue tracker for an in-depth list of upcoming enhancements.


⚙️ Installation

Create a new Directus project by running the following npm command:

npm init directus-project my-project

Or, using yarn:

yarn create directus-project my-project

Simply follow the setup prompts and the CLI will create your new project directory (eg: my-project), configuration file, and initial database. To get the most out of Directus, and to ensure you have the latest security patches, it is important to keep your projects up-to-date.


🚀 One-Click Deployments

If you would like to completely avoid the manual installation process, the following self-hosted one-click apps will handle the heavy-lifting for you. While Directus is always completely free, you will likely need to pay for these services.

DigitalOcean Heroku Platform.sh Zeet
Deploy on Heroku Deploy on Platform.sh Deploy on Zeet

📌 Requirements

Directus only requires Node.js and supports most operating systems and SQL database vendors.

  • Node.js 12.20+
  • npm 6.x+

Supported Databases

  • PostgreSQL 10+
  • MySQL 5.7.8+ / 8+ (with mysql_native_password)
  • MariaDB 10.2.7+
  • SQLite 3+
  • MS SQL 13+[1]
  • OracleDB 19+[1]

[1] Older versions may work, but aren't officially supported.

Supported OS

  • Ubuntu 18.04
  • CentOS / RHEL 8
  • macOS Catalina or newer
  • Windows 10
  • Docker (DockerHub + Dockerfile)

Other operating systems may also work, but are not officially supported.


🤔 Community Help

In addition to the Directus Documentation, you can also request help via the following channels:


❤️ Contributing & Sponsoring

Please read our Contributing Guide before submitting Pull Requests.

All security vulnerabilities should be reported in accordance with our Security Policy.

Directus is a premium open-source (GPLv3) project, made possible with support from our passionate core team, talented contributors, and amazing GitHub Sponsors. Thank you all!


© 2004-2021, Monospace Inc

Description
No description provided
Readme 642 MiB
Languages
TypeScript 73.3%
Vue 24.6%
SCSS 0.7%
JavaScript 0.7%
Liquid 0.4%
Other 0.3%