Carmudi Professional SDK for api.camudi.pro API!
npm install -g angular-cli typings karma-cli;
git clone https://github.com/Carmudi/professional-js-sdk.git;
cd professional-js-sdk;
npm install & typings install;
Test:
npm run test
Lint:
npm run lint
Build:
npm run build
Update your package.json to set up the latest version:
{
"name": "professional-js-sdk",
"version": "0.0.1",
"license": "MIT",
...
}
Submit pull request and get approval
Create a new release into Github repo pointing out the version name: https://github.com/Carmudi/professional-js-sdk/releases
Install the package with npm (beware of the version number)
(no code completion at the moment)
git clone git@github.com:Carmudi/professional-js-sdk.git
cd professional-js-sdk
npm install
npm run build
npm pack
cd my-project
npm install /path/to/professional-js-sdk/professional-js-sdk-{version}.tgz
Inject the services you need into you AppModule providers
- use the dedicated factory provided by sdk
- you have to tell the factory the base url + default sorting and limit for collections
import { AuthHttp } from 'angular2-jwt';
import { LeadService, LeadFactory } from 'professional-js-sdk';
@NgModule({
...
providers: [
...
{
provide: LeadService,
useFactory: (authHttp: AuthHttp) => LeadFactory(authHttp, 'http://api.carmudi.pro/', ['sort'], 10),
deps: [AuthHttp]
},
...
],
...
})
export class AppModule {
}
Use you service into components:
import { Lead, LeadService } from 'professional-js-sdk';
@Component({
...
})
export class LeadListComponent implements OnInit {
private leads: Lead[];
constructor(private service: LeadService) {}
public ngOnInit(): void {
this.service.getAll({status: 'new'}, ['-createdAt'])
.subscribe(
(leads: Lead[]) => this.leads = leads,
(error: Error) => console.log(error.message)
);
}
...
}