Falcon 2019 is now deprecated. If you have an existing Falcon 2019 project we are still commited to support you. Please get in touch for more information.
Version: current

Extensions

Falcon-Server provides its own base GraphQL Schema, that defines data types, queries and mutations, so every Extension could use its types and extend them.

Currently, DEITY provides the following list of officially supported extensions:

Shop Extension

This extension provides basic features for a webshop implementation:

  • Products
  • Categories
  • Customer area
  • Checkout
  • Cart etc.

To enable it in your Falcon-based application you have to provide an API that delivers resolvers for queries and mutations as this extension delegates execution of those to the API class that is responsible for communication with a 3rd party backend. For example see Magento 2 API that provides a communication layer with the Magento 2 backend.

To add this extension to your Falcon-based app install it in the server directory:

# installs shop extension
npm install --save @deity/falcon-shop-extension
# installs shop extension
yarn add @deity/falcon-shop-extension

and add extension and api to the configuration of the server:

{
"extensions": {
// enable shop extension by adding it to "extensions" object
"shop": {
"package": "@deity/falcon-shop-extension",
"config": {
"api": "api-foo" // must match an API Provider name set in "apis" object below
}
}
},
"apis": {
"api-foo": { // must match "config.api" from shop-extension configuration
"package": "my-custom-api-foo-package",
"config": {
"host": "example.com",
"customParam": "value"
}
}
}
}

Blog Extension

This extension provides basic features for blog implementation:

  • Posts
  • (coming soon)

As an example of the API Provider that provides a communication layer for Blog Extension - see Wordpress API.

To add this extension to your Falcon-based app install it in the server directory:

with yarn:

# installs blog extension
yarn add @deity/falcon-blog-extension

or with npm:

# installs blog extension
npm install --save @deity/falcon-blog-extension

and add extension and api to the configuration of the server:

{
"extensions": {
// enable blog extension by adding it to "extensions" object
"blog": {
"package": "@deity/falcon-blog-extension",
"config": {
"api": "api-foo" // must match an API Provider name set in "apis" object below
}
}
},
"apis": {
"api-foo": { // must match "config.api" from blog-extension configuration
"package": "my-custom-api-foo-package",
"config": {
"host": "example.com",
"customParam": "value"
}
}
}
}

Ask the community. #help

If you can't find what you're looking for, the answer might be on our community slack channel. Our team keep a close eye on this and will usually get back to you within a few hours, if not straight away. If you haven't created an account yet please sign up here slack.deity.io.