GraphQL models() filtering by users attributes, improved multilanguage support for notifications

July 29, 2019

NEW

  • graphql models() can be filtered by related users: for example you can filter cars by owner name
      models(
        per_page: 10
        filter: {
          name: { value: "cars" }
          users: { join: { foreign_property: "car_id" }
            filter: { properties: [{ name: "name" value: "Mike" }]
            }
          }
        }
      ) { ... }
    
  • multilingual notifications - added locale attribute to Email/SMS/API Notifications, which accepts liquid, to evaluate to the locale which should be used for translations
  • auth0 integration - added auth0 integration and documentation on how to integrate various Identity Providers (Auth0, Facebook, Twitter etc.) with platformOS

IMPROVED

  • admin_ GraphQL mutations - modules/my_module_name prefix will be automatically added to the name of notifications, authorization policies, etc., based on physical path, to make it consistent with the pos-cli behavior
  • layout validation - added validation to the layout_name property of Page to make it impossible to assign layout which does not exist
  • validate Model belongs to the defined ModelSchema - when defining a Form with a concrete ModelSchema name as resource, it will not be possible to use it to update the Model, which belongs to the different ModelSchema
  • form and data in the notifications - previously data was accessible if the Notification was triggered via GraphQL and form if it was triggered via Form. Now you can always use both, which should make it easier to re-use Notifications. Also, documentation for triggering an API Call Notifcation was updated accordingly to show both ways of triggering it.
  • validation for related resources in GraphQL - GraphQL will return an error if you try to use invalid values (for example property name which does not exist) for related models.

pos-cli changes

pos-cli changelog is kept separately.

Questions?

We are always happy to help with any questions you may have.