Jay Cammarano ef9b30c0e1 Integration tests set up and examples (#10419)
* tsconfig loosened to match api

* integration test folder and script

* .env mock isn't needed

* mock-env, locations of tests

* I was wrong.

* Updated progress

* schemas => getSchema(), exported getColumnPreprocessor()

* change imports to allow build

* add MockClient as DB Client (should mock getDBClient())

* move authservice into. not used elsewhere

* test passing

* remove unneeded test for this PR

* removed unneded fields from rawItem

* formatting

* createOne test passing

* typo

* removed int specific jest.config

* use systemSchema over getSchema()

* this.knex over getDatabase()

* mock getDatabaseClient

* removed unused mock-env

* formatting

* removed unused collections from schema

* response => responseOnce

* more direct

* unused var

* more tests please!

* test for: createOne no permissions

* removed broken test for now

* clean up

* readOne tests what does into db and returned

* added bindings check

* added into db sql check

* moved tests outside src

* changed ts config

* cli test location changed

* removed looking for tests in src

* readding it for e2e tests? Seems fishy

* Integration tests for ItemsService user tables (#11208)

* renamed ItemsService test to match src file name

* add user table schema

* system/user tables use .each, formatting needed

* format system and user better in title

* tables/table=> schemas/schema

* filter _eq test passing

* comment for later and formatting

* everything in it's right place

* future proofing as more fields are added

* removed duplicate test

* formatting

* readMany() filter: _or

Co-authored-by: Jay Cammarano <jaycammarano@gmail.com>

* added knex check before getDatabase()

* Move util test to tests folder

Co-authored-by: Jay Cammarano <jaycammarano@gmail.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-01-24 19:55:08 +00:00
2022-01-24 10:47:46 -05: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
2022-01-07 16:12:19 -05:00
2021-05-04 18:52:08 -04:00
2021-05-04 18:52:08 -04:00
2021-11-22 09:42:39 -05:00
2021-11-03 17:34:48 -04:00
2022-01-07 16:11:24 -05:00
2020-07-29 11:40:38 -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.


⚙️ 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.

Google Cloud Cleavr Cloudron DigitalOcean Heroku Platform.sh Zeet
Run on Google Cloud 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-2022, 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%