Rijk van Zanten dbf35a1736 Add ability to share items with people outside the platform (#10663)
* Add directus_shares

* Don't check for usage limit on refresh

* Add all endpoints to the shares controller

* Move route `/auth/shared` to `/shared/auth`

* Add password protection

* Add `share` action in permissions

* Add `shares/:pk/info`

* Start on shared-view

* Add basic styling for full shared view

* Fixed migrations

* Add inline style for shared view

* Allow title override

* Finish /info endpoint for shares

* Add basic UUID validation to share/info endpont

* Add UUID validation to other routes

* Add not found state

* Cleanup /extract/finish share login endpoint

* Cleanup auth

* Added `share_start` and `share_end`

* Add share sidebar details.

* Allow share permissions configuration

* Hide the `new_share` button for unauthorized users

* Fix uses_left displayed value

* Show expired / upcoming shares

* Improved expired/upcoming styling

* Fixed share login query

* Fix check-ip and get-permissions middlewares behaviour when role is null

* Simplify cache key

* Fix typescript linting issues

* Handle app auth flow for shared page

* Fixed /users/me response

* Show when user is authenticated

* Try showing item drawer in shared page

* Improved shared card styling

* Add shares permissions and change share card styling

* Pull in schema/permissions on share

* Create getPermissionForShare file

* Change getPermissionsForShare signature

* Render form + item on share after auth

* Finalize public front end

* Handle fake o2m field in applyQuery

* [WIP]

* New translations en-US.yaml (Bulgarian) (#10585)

* smaller label height (#10587)

* Update to the latest Material Icons (#10573)

The icons are based on https://fonts.google.com/icons

* New translations en-US.yaml (Arabic) (#10593)

* New translations en-US.yaml (Arabic) (#10594)

* New translations en-US.yaml (Portuguese, Brazilian) (#10604)

* New translations en-US.yaml (French) (#10605)

* New translations en-US.yaml (Italian) (#10613)

* fix M2A list not updating (#10617)

* Fix filters

* Add admin filter on m2o role selection

* Add admin filter on m2o role selection

* Add o2m permissions traversing

* Finish relational tree permissions generation

* Handle implicit a2o relation

* Update implicit relation regex

* Fix regex

* Fix implicitRelation unnesting for new regex

* Fix implicitRelation length check

* Rename m2a to a2o internally

* Add auto-gen permissions for a2o

* [WIP] Improve share UX

* Add ctx menu options

* Add share dialog

* Add email notifications

* Tweak endpoint

* Tweak file interface disabled state

* Add nicer invalid state to password input

* Dont return info for expired/upcoming shares

* Tweak disabled state for relational interfaces

* Fix share button for non admin roles

* Show/hide edit/delete based on permissions to shares

* Fix imports of mutationtype

* Resolve (my own) suggestions

* Fix migration for ms sql

* Resolve last suggestion

Co-authored-by: Oreilles <oreilles.github@nitoref.io>
Co-authored-by: Oreilles <33065839+oreilles@users.noreply.github.com>
Co-authored-by: Ben Haynes <ben@rngr.org>
Co-authored-by: Thien Nguyen <72242664+tatthien@users.noreply.github.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2021-12-23 18:51:59 -05:00
2021-12-10 14:58:51 -05:00
2021-12-16 18:48:10 -05:00
2021-12-10 14:58:51 -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
2021-12-16 18:50:41 -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-12-08 11:03:22 -05:00
2021-11-03 17:34:48 -04:00
2021-12-16 18:48:10 -05:00
2020-07-29 11:40:38 -04:00
2021-12-10 14:58:51 -05: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.

Cloudron 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%