@starnetbih/au2-api
TypeScript icon, indicating that this package has built-in type declarations

0.5.0 • Public • Published

au2-api

This library is a partial port of the excellent SpoonX/aurelia-api plugin for the Aurelia platform. It contains support for multiple endpoints, extending the functionalities supplied by aurelia HttpClient.

au2-api is a module wrapped around HttpClient that allows you to:

  • Supply criteria for your api
  • Manage more than one endpoint
  • Add defaults
  • Add interceptors
  • And more

It depends on au2-configuration.

Full disclosure: this plugin is in alpha stage. Use at your own risk.

Installation

npm install @starnetbih/au2-api or yarn add @starnetbih/au2-api

Configure your app

Inside of your main.ts/main.js file register the plugin on the register method:

import { AureliaApiConfiguration } from '@starnetbih/au2-api';

/* Configure in code */
Aurelia.register(AureliaApiConfiguration.configure(cfg => {
        cfg.register('myApi1', '/mypath');
        cfg.registerUsingCallback('myApi2', (cfg) => {
           return cfg.withBaseUrl('/mypath'l)
          },
          { headers: {'Accept': 'application/json'}
        );
    }));

/* Or configure by convention, using au2-configuration plugin */
Aurelia.register(AureliaApiConfiguration); 

Configure using configuration

Make sure that your config.json used by au2-configuration plugin contains au2-api section:

{
 "au2-api": {
  "myApi1": {
   "url": "http://localhost:5005"
  },
  "myApi2": {
   "url": "http://localhost:5000",
   "auth": true
  }
 }
}

Setting auth to true will include credentials with requests.

Usage

import { IApiEndpoints } from '@starnetbih/au2-api';

export class MyApp {

    constructor(@IApiEndpoints private ApiEndpoints: IApiEndpoints) { }

    async attached() {
         const rest = this.ApiEndpoints.get('myApi1');
         const resp = await rest.find('/ba/entities?pageSize=10');
         console.log(resp);

         const req = {
            currentPage: 0,
            pageSize: 10,
            qry: {
                "name": "filterByName",
                "startsWith ": "Ag"
            }
        };
        const resp2 = await rest.post({ resource: '/typeaheads', body: req });
        console.log(resp2);
    }
}

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.5.01latest

Version History

VersionDownloads (Last 7 Days)Published
0.5.01
0.4.140
0.4.130
0.4.110
0.4.101
0.4.81
0.4.70
0.4.60
0.4.20
0.4.11
0.4.00
0.3.11
0.2.91
0.2.61
0.2.41
0.2.30
0.2.20
0.2.11
0.2.00
0.1.81
0.1.70
0.1.60
0.1.50
0.1.41
0.1.31
0.1.20
0.1.10

Package Sidebar

Install

npm i @starnetbih/au2-api

Weekly Downloads

12

Version

0.5.0

License

MIT

Unpacked Size

58.3 kB

Total Files

17

Last publish

Collaborators

  • hdzcalmir
  • aner78
  • stefannj
  • zeko77