Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    noderptpublic

    Node Report Server (MySQL only now!)

    Simple MySQL DB SQL to JSON mapping module, and also provide web function to render table.

    Installation

    npm install noderpt

    Useage

    Few steps to build the report...

    Step1: Config the DB and SQL mapping file

    The database config file's path need to export to environment and the config will like:

    {
      "host": "database.ip.address",
      "port": 3306,
      "user": "dbuser",
      "password": "dbpassword",
      "database": "dbname"
    }

    You need to create a config file inside your project, in our sample we create the report config in $project/report.

    You can use json format config

    {
      "name": "queryUserInfo",
      "sql" : "select * from user where 1=1 ",
      "conditions": [
        {"field":"USERNAME", "condition":"and username = ?"},
        {"field":"USER_ID", "condition":"and user_id = ?"}
      ],
      "endsql": "order by 1"
    }

    Or using xml format config

    <config>
      <name>queryUserInfo</name>
      <sql>select * from user where 1=1</sql>
      <conditions>
        <field>USERNAME</field> <condition>and username = ?</condition>
      </conditions>
      <conditions>
        <field>USER_ID</field> <condition>and user_id = ?</condition>
      </conditions>
      <endsql>
        order by 1
      </endsql>
    </config>

    In the configuration, the fields are:

    • name: report name
    • sql: the main sql block, that is static and will combined with conditions and endsql directly
    • conditions: you can have many conditions to let query bring into query, in the api, if you specify a query string in the end of rest url and the parameter will combine the condition to sql
    • endsql: the final sql, like "order by", "group by"..., that will combine to the end of sql statement

    Testing your configure (test.js)

    var rpt = require('./lib');
    rpt.setup(null,
      {
        dbCfgFile: '/root/project/report/lib/.database.cfg',
        rptConfigPath: '/root/project/report/report/',
        reportRoot:'/report/rest',
        reportDoc: '/report/restdoc'
      }
    );
     
    rpt.getRptFromConfig('simple.rpt.xml', false, function(d){
      console.log(d);
    });
     
    rpt.datasource.end();

    After run the test.js, you will get a query result of the configure file as a json array format.

    Other Documents

    Keywords

    install

    npm i noderpt

    Downloadsweekly downloads

    43

    version

    0.0.14

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar