# @fdot/edms-api-lib
The edms-api-lib package wraps service calls to FDOT EDMS API.
## Installation
`npm install @fdot/edms-api-lib --save`

## Setup
```javascript
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { EdmsApiLibModule, Config } from 'edms-api-lib';

@NgModule({
  declarations: [
      AppComponent
  ],
  imports: [
    // Add the import for the Angular Dotcodes Module
    EdmsApiLibModule.forRoot(new Config(environment.url, environment.apiKey, environment.uploadChunkSize, environment.uploadChunkThreshold)),
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

```

#### Module Config Options
* url - The URL for the EDMS API.
* apiKey - The api key for the api call.
* uploadChunkSize - The default upload chunk size for concurrent document uploads
* uploadChunkThreshold - The file size threshold before concurrent upload chunking will be leveraged opposed to single request streaming 


## EdmsService
##### Methods
* `getAuthToken(authTokenInputs: AuthTokenInputs): Observable<string> `
* `getBusinessAreas(): Observable<BusinessArea[]> `
* `getDocumentGroupsByBusinessArea(businessArea: BusinessArea): Observable<DocumentGroup[]> ` 
* `getDefaultPropertyData(): Observable<DocumentProperty[]> `
* `addNewDocument(file: File, documentMetadata: DocumentData): Observable<Document>`
* `getDocumentDownloadUrl(docId: number): string `
