g3n1us_elementary_model

    0.1.12 • Public • Published

    G3N1US Elementary Model

    Get Started

    class Animal extends g3n1us.Model{
      constructor(){
        super(arguments[0]);
        this.connection.endpoint = '//example.com/api/files.json';
      }
    }

    About

    G3N1US Elementary Model lets you keep your application's logic separate from your API's schema. API's go away, change, sometimes don't work. Keep your app untethered from your API.

    class Animal extends g3n1us.Model{
      constructor(){
        super(arguments[0]);
        this.connection.endpoint = '//example.com/api/files.json';
        // Add headers to the api request
        this.headers = {'Api-Key': '8675309-90210'}
        // filterResponse is called on the raw output from the API. 
        // You can modify each response object, or get a nested object in the response. 
        // Each model must have an 'id' attribute! This is a great place to add this if needed.
        this.filterResponse = function(response){
          return response.map(function(v){
            v.id = v.specied_id
            return v;
          });
        }
      }
    }
     
    // After declaring a model, call add_model to add it to the application container
    g3n1us.Container.add_model(Animal);
     

    Querying

    Querying is done against a static instance of your model

    Find an item by it's id

    Animal.find('187').then(animal => {
      console.log('I found the animal! ' + animal);
    });

    Query for items by attribute

    Animal.where('has_fur', true).then((response) => {
      console.log('Animals are now inside the plural form of the model name: response.animals = ', response.animals);
    });
    Animal.where('legs', '>=', 4).then((response) => {
      console.log('Only four or more legs: response.animals = ', response.animals);
    });

    Other operators

    '=' equals
    '>' greater than
    '<' less than
    '>=' greater than or equal to
    '<=' less than or equal to
    'exists' exists/not null
    '!=' not equal to
    '<>' not equal to
    'in' in array
    '!in' not in array
    'out' not in array
    'regex' matches regular expression

    Note, this is always the operator if a regex is provided as the query argument


    Don't like Promises?! All query methods can also accept a callback as the last argument

    Animal.find('187', function(animal){
      console.log('I found the animal! ' + animal);
    });

    Relations

    TODO

    Saving Models

    TODO

    Keywords

    none

    Install

    npm i g3n1us_elementary_model

    DownloadsWeekly Downloads

    6

    Version

    0.1.12

    License

    BSD-2-Clause

    Unpacked Size

    1.28 MB

    Total Files

    13

    Last publish

    Collaborators

    • g3n1us