0.5.0 • Published 1 year ago

@starnetbih/au2-api v0.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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);
    }
}
0.5.0

1 year ago

0.4.8

2 years ago

0.4.10

2 years ago

0.4.13

2 years ago

0.4.14

2 years ago

0.4.11

2 years ago

0.4.7

2 years ago

0.4.6

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.1

2 years ago

0.4.2

2 years ago

0.2.6

2 years ago

0.2.9

2 years ago

0.2.4

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago