Commit Graph

109 Commits

Author SHA1 Message Date
rijkvanzanten
b03a898ca1 Fix cli start 2021-09-14 10:52:07 -04:00
Rijk van Zanten
ce104b6a9c Add native schema migration capabilities (#7939)
* Add snapshot creation command

* Read and start diffing snapshot

* Add apply snapshot functionality

* Fix cli invocation

* Add log messages

* Fix duplicated if check

* Add (minimal) docs on schema migrations

* Fix missing import

* Update api/src/utils/apply-snapshot.ts

Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>

* Appease to Nicola's programming professor

Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
2021-09-13 17:15:04 -04:00
Nicola Krumschmidt
727947b72d Fix CLI not executing any command (#7992)
Fixes a regression introduced in #7675
2021-09-13 12:32:15 -04:00
Sam Milledge
7186c4e381 Allow custom CLI commands to be added by extensions (#7675)
* Fix typescript errors in shared package

* Hooks for adding custom CLI commands

* Add CLI hooks to documentation
2021-09-07 16:18:16 -04:00
Tony DevOps
eaa97a9272 Make Argon2.hash parameters configurable to allow for stronger user password hashes. (#7755)
* 1.  Create generatePasswordHash util function to standardize how user
        passwords are hashed throughout the API instead of directly calling
        argon2.hash directly;
    2.  Add configuration parameters to modify the behavior of the argon2.hash
        function used for generating user password hashes;
    3.  Add docs and placeholders in api/example.env for new parameters;
    4.  Update argon2 to latest release.

* Also update CLI init command to call generatePasswordHash vs. calling argon2.hash directly.

* docs: sdk auth.password.request url argument (#7757)

* Show a warning if PostGIS is missing (#7759)

* Show a warning if PostGIS is missing

* Remove sqlite-extensions flag

* Remove unused import

* Update WYSIWYG styling

* translations: fix user.status_invited (#7760)

* New Crowdin updates (#7739)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* Fix postgis check

* Fix branch emitter logic from grand-to-child (#7763)

* New Crowdin updates (#7762)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Slovenian)

* New translations en-US.yaml (Chinese Simplified)

* New translations en-US.yaml (French)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (Catalan)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Hungarian)

* Fix tree-select not allowing groups to be opened in selection mode

* Optimize tree-select open state

* Warn the user when a collapsed group field had an error (#7738)

* warn the user when a collapsed group field had an error

* Replace icon

* Reduce icon size

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>

* New translations en-US.yaml (Hungarian) (#7764)

* fix WYSIWYG field focus event (#7756)

* Update vue monorepo to v3.2.7 (#7766)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Fix hash link in docs module (#7768)

* Update dependency knex-schema-inspector to v1.6.0 (#7769)

* Use OpenMapTiles font instead of ArcGIS (#7780)

* tiny rewrite in docs/reference/filter-rules (#7771)

* Update dependency sass to v1.39.0 (#7770)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Expose logger through ExtensionContext (#7777)

Fixes #7737.

* Fixes bug when trying to edit geometry in code interface. (#7778)

* Update vue monorepo to v3.2.8 (#7785)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update dependency npm to v7.22.0 (#7786)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Improve card selection styling (#7787)

* Add environment variable to force-exclude tables from Directus (#7789)

* New Crowdin updates (#7765)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Polish)

* v9.0.0-rc.92

* Update changelog.md

* Update logging in CLI commands (#7676)

* Replace console logs with logger in CLI commands

* Fix double sparkles in migration command

* Apply suggestions from code review

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* Use stdout for init command output

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* Fix WYSIWYG field not being cleared after "Save and Create New" (#7754)

* fix WYSIWYG field not being cleared

* return empty string when null for tinymce

* Update app/src/components/v-form/form-field.vue

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* fix wrong icon (#7800)

* fix false is proper value (#7796)

* Fix incorrect database exclude tables environment variable in docs. (#7798)

* Datetime interface "Set to now" sets seconds to 0 (#7794)

When "Include seconds" is disabled.

Fixes #7779

* Use https for openmaptiles fonts. (#7801)

* fix type for deep query with underscore prefix (#7815)

* Map selection behaviour (#7811)

* Use https for openmaptiles fonts.

* Changed map selection behaviour: replace instead of adding them by default.

* Fix map interface controls not showing (#7812)

* Fix return error for GraphQL mutations (#7814)

* Apply "in" to query even if array is empty (#7816)

* fetch only avatar id for current user

* apply "in" to query even if array is empty
if the "in" array is empty we need to add it to query anyways,
otherwise all records will be attached causing out of memory on
subsequent calls

* Update dependency pinia to v2.0.0-rc.7 (#7817)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update modules.md (#7795)

* make csv imports try to parse values to json (#7820)

* fix minor typo in api-hooks.md (#7821)

* Update dependency knex to v0.95.11 (#7819)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Rename hash utils file/function to be not password-specific, update all calls to argon2.hash to use the new function, update docs.

* 1.  Create generatePasswordHash util function to standardize how user
        passwords are hashed throughout the API instead of directly calling
        argon2.hash directly;
    2.  Add configuration parameters to modify the behavior of the argon2.hash
        function used for generating user password hashes;
    3.  Add docs and placeholders in api/example.env for new parameters;
    4.  Update argon2 to latest release.

* Also update CLI init command to call generatePasswordHash vs. calling argon2.hash directly.

* Rename hash utils file/function to be not password-specific, update all calls to argon2.hash to use the new function, update docs.

* Preserve old behavior of hash function in PayloadService, in case 'value' is not a String.

* Tweak docs

Co-authored-by: José Varela <joselcvarela@gmail.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Ben Haynes <ben@directus.io>
Co-authored-by: Nitwel <nitwel@arcor.de>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
Co-authored-by: mikhail sergienko <mikhail.sergienko@gmail.com>
Co-authored-by: Dieter Luypaert <dieterluypaert@gmail.com>
Co-authored-by: Ben Haynes <ben@rngr.org>
Co-authored-by: Sam Milledge <sam@sammilledge.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Harun Kilic <harunkilic@live.dk>
2021-09-07 15:21:59 -04:00
Sam Milledge
62af357b53 Update logging in CLI commands (#7676)
* Replace console logs with logger in CLI commands

* Fix double sparkles in migration command

* Apply suggestions from code review

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* Use stdout for init command output

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-09-03 02:06:05 +00:00
Rijk van Zanten
88e0e9e269 Show a warning if PostGIS is missing (#7759)
* Show a warning if PostGIS is missing

* Remove sqlite-extensions flag

* Remove unused import
2021-09-01 15:34:33 -04:00
Nicola Krumschmidt
d64ca14348 Explicitly set catch parameters to any type (#7654)
This fixes not being able to build the repo due to type issues
introduced by the Typescript 4.4 option "useUnknownInCatchVariables",
which is enabled by default in strict mode.
2021-08-27 10:33:30 -04:00
Rijk van Zanten
b0ec803b0c Wait for the database to be ready in bootstrap step (#6987) 2021-07-26 23:10:17 +00:00
Rijk van Zanten
92e1ee77bd Add support for Conditional Fields (#6864)
* Add conditions field to directus_fields

* Add conditions configuration

* Apply conditional overrides

* Handle conditions in nested groups

* Fix reverse mutating conditions

* Start on filter setup interface

* Move field types/constants to shared

* [WIP] Updated client side filter validation

* Support logical operators in client validation step

* Use new validation util in conditions check

* Add nesting in filter seutp

* Add filter rule setup configurator

* Fixes that should've been done in the merge

* Strip out filter-settings interface

TBD in a new PR

* Move browser to index
2021-07-26 18:02:24 -04:00
Rijk van Zanten
87ab9b3dfa Improve error reporting on CLI bootstrap command (#6977)
* Show full DB error on bootstrap connection issue

* Show full DB error on bootstrap
2021-07-26 17:10:10 +00:00
j3n57h0m45
79c91ed50d enable custom name for refresh token (#6890) 2021-07-20 15:29:11 +02:00
Rijk van Zanten
ea19390f11 Add encrypt option to MS SQL questions (#6746) 2021-07-14 00:02:00 +02:00
Tommaso Bartolucci
0cca732f2f Add skip admin init flag (#6576)
* adds skipAdminInit flag to bootstrap

* checks for skipAdminInit flag

* update docs for skipAdminInit
2021-06-30 09:31:59 -04:00
renovate[bot]
8a3796b8bb update dependency commander to v8 (#6498)
* update dependency commander to v8

* Update import to match new version

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-06-28 14:05:55 -04:00
rijkvanzanten
95f4b1c521 Fix console log usages in linter 2021-06-14 15:10:50 -04:00
Rijk van Zanten
77e00b7db4 Don't initialize database on file require (#6003) 2021-06-02 11:41:42 -04:00
rijkvanzanten
891fe01093 Fix cli role name attr 2021-05-12 15:46:49 -04:00
dependabot[bot]
24b5e5ff45 Bump commander from 6.2.1 to 7.2.0 (#5569)
* Bump commander from 6.2.1 to 7.2.0

Bumps [commander](https://github.com/tj/commander.js) from 6.2.1 to 7.2.0.
- [Release notes](https://github.com/tj/commander.js/releases)
- [Changelog](https://github.com/tj/commander.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tj/commander.js/compare/v6.2.1...v7.2.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Fix breaking changes in commander

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-10 11:33:19 -04:00
rijkvanzanten
801e868554 Fix remaining eslint errors
h/t @paescuj
2021-04-29 15:55:12 -04:00
Pascal Jufer
acd41eb0be Syntax fixes (#5367)
* Declare return types on functions

And a very few other type related minor fixes

* Minor syntax fixes

* Remove unnecessary escape chars in regexes
* Remove unnecessary awaits
* Replace deprecated req.connection with req.socket
* Replace deprecated upload with uploadOne
* Remove unnecessary eslint-disable-next-line comments
* Comment empty functions / catch or finally clauses
* Fix irregular whitespaces
* Add missing returns (null)
* Remove unreachable code
* A few logical fixes
* Remove / Handle non-null assertions which are certainly unnecessary (e.g. in
tests)
2021-04-29 12:11:43 -04:00
rijkvanzanten
4a942067fc Make migration logs more explicit 2021-04-23 18:04:59 -04:00
Rijk van Zanten
3b05372713 Finalize services API (#5170)
* Start the xOne/xMany work

* Update update/upsert

* Finish updating itemsservice

* Add comments, add nested revisions on update

* Use new internal api

* Update collectionService to one/many structure

* Move files to one/many structure

* Move permissions to one/many structure

* Move relations service to one/many structure

* Move roles to one/many structure

* Move users service over

* Move webhooks to updated structure

* Move deprecated methods to the bottom

* Replace deprecated uses

* Use new methods in controllers, add batch update/delete by query

* Use updated methods in API

* Fix email being required

* Remove unnecessary DB call

* Fix batch update/delete validation
2021-04-20 18:06:27 -04:00
Jakob
79e7a7c451 Run migrations before adding the admin user (#5128) 2021-04-19 10:06:16 -04:00
Nitwel
3da416b6ff validate password on setup (#4844) 2021-04-05 10:26:41 -04:00
Adrian Dimitrov
a18f9d68d5 Add cli passwd command (#4398)
* User passwd cli command

* Add command to list
2021-03-23 10:39:11 -04:00
Ben Haynes
d65469c974 Update CLI database support labels 2021-03-17 12:08:38 -04:00
rijkvanzanten
37b2ec8a27 Cast port to number on cli init
Fixes #4536
2021-03-15 11:20:50 -04:00
Rijk van Zanten
97dcdad847 OracleDB baby steps (#4464)
* Allow external connections in oracle debug

* Fix oracle overview query

* Use correct alive check for oracle

* Remove unused import

* Validate correct env vars for oracle
2021-03-10 16:58:49 -05:00
rijkvanzanten
a12b148b17 Default generated .env permissions to -rw-r----- 2021-03-08 13:32:13 -05:00
rijkvanzanten
ada85b20ce Fix build on rc 45
Fixes #4418
2021-03-08 11:18:14 -05:00
rijkvanzanten
acc8b4fd08 Use mssql instead of tedious for client name
Fixes #4427
2021-03-08 07:39:57 -05:00
Nicola Krumschmidt
08293b8570 Update Knex to version 0.95.0 (#4374)
* Update Knex to version 0.95.0

* Fix formatting in schema dialects

* Fix Knex imports

* Update package-lock

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-03-03 19:37:44 -05:00
rijkvanzanten
c2a5622cef Remove unused environment variable 2021-02-26 10:49:19 -05:00
Rijk van Zanten
b7d87e581a System permissions for app access (#4004)
* Pass relations through schema, instead of individual reads

* Fetch field transforms upfront

* Fix length check

* List if user has app access or not in accountability

* Load permissions up front, merge app access minimal permissions

* Show app access required permissions in permissions overview

* Show system minimal permissions in permissions detail

* Fix app access check in authenticate for jwt use

* Fix minimal permissions for presets

* Remove /permissions/me in favor of root use w/ permissions

* Fix logical nested OR in an AND

* Use root permissions endpoint with filter instead of /me

* Allow filter query on /permissions

* Add system minimal app access permissions into result of /permissions

* Remove stray console log

* Remove stray console.dir

* Set current role as role for minimal permissions

* Fix no-permissions state for user detail

* Add filter items function that allows altering existing result set
2021-02-11 12:50:56 -05:00
rijkvanzanten
7b5aca93e3 Allow setting project name during bootstrap 2020-12-31 15:37:54 -05:00
Giacomo Triggiano
24ba1a22fb Fix migrations exit code 2020-12-10 11:22:41 +01:00
Igor Savin
7cddb458cb Run prettier across app and api 2020-12-08 02:22:00 +02:00
rijkvanzanten
a5e8da9677 Exit the process on successfull CLI commands
Fixes #3256
2020-12-07 18:52:17 -05:00
Nicola Krumschmidt
a4ceab217d Improve cli init error message 2020-12-06 23:07:52 +01:00
rijkvanzanten
c30d2059d7 Remove key/secret check 2020-12-02 15:29:57 -05:00
rijkvanzanten
e3d289b7a4 Add CLI bootstrap command 2020-12-02 15:27:54 -05:00
Kyle Herock
c0683dd7f2 handle CLI promise rejections and exit with non-zero exit code 2020-11-14 09:27:58 -05:00
Kyle Herock
1ddb579009 fix database import for user create command 2020-11-13 20:39:57 -05:00
rijkvanzanten
514b26bb0b Pass schema to services in CLI
Fixes #948
2020-11-11 09:03:03 -05:00
Ben Haynes
c2d46097f4 new admin icon 2020-11-10 14:16:08 -05:00
rijkvanzanten
7cc7f300fa Prevent cli from hanging on failed count
Fixes #909
2020-11-10 13:00:50 -05:00
rijkvanzanten
d18b5800ed Fix cli command function name 2020-11-09 13:34:45 -05:00
rijkvanzanten
1b0d381161 Fix seeder data, run migrations on install through cli 2020-10-30 11:52:16 -04:00
rijkvanzanten
fdb0572cd5 Always install DB driver
Fixes #802
2020-10-29 17:03:53 -04:00