Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added new content from the heading "Field name mappings" to just before the heading "Predefined or custom endpoints"


Code Block
var Arrow = require('arrow');

// create a model from a mysql table
var employee_composite = Arrow.createModel('employee_composite',{
    fields: {
        fname: {type: String, description: 'First name', model: 'employee'},
        manager: {type: String, description: 'Manager of employee', model: 'employee_manager'},
        habit: {type: String, description: 'Habit of employee', model: 'employee_habit'}
    connector: 'appc.composite',
    metadata: {
        inner_join: [
                model: 'employee_manager',
                join_properties: {
                    employee_id: 'id'

module.exports = employee_composite;

?? Begin new content

Field name mappings

You often want the ability to use a field property name in your model that is different from its name in an existing model. The following example shows how you can use the name sub-property of a field to map a model property name to a specific property name of an existing custom model or connector generated model. For example, the employee model has a property called first_name, but the new model wants that property to be called fname. The Arrow framework ensures this mapping occurs bidirectionally.


The valid values for the action property are: createreadupdatedelete, and deleteAll.

?? End new content

Predefined or custom endpoints