Skip to content

Commit e94147b

Browse files
Merge branch 'dev'
2 parents b6fa491 + 9221c0d commit e94147b

11 files changed

+51
-6
lines changed

CHANGELOG.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## 0.1.0-alpha.1 (2020-10-09)
2+
3+
### New Features & Enhancements
4+
5+
- feat(IDevice) Add "status" and "tags" field
6+
- feat(IApp) Add "status" field
7+
- feat(entities) Add "EntityStatus" enum
8+
- feat(entities) Add "ConnectionStatus" enum
9+
- feat(RestClient) Allow "number" values in IQueryParams
10+
- feat(\*) Export "IDisposable" interface
11+
12+
### Breaking Changes
13+
14+
- feat(RestClient) Remove "undefined" values from queryParams

package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@connio/js-sdk",
3-
"version": "0.1.0-alpha.0",
3+
"version": "0.1.0-alpha.1",
44
"description": "Connio JavaScript SDK",
55
"main": "./src/index.ts",
66
"repository": {

src/entities/app.ts

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { IBaseEntity } from '../entities/base';
2+
import { EntityStatus } from './entity-status';
23

34
export interface IApp extends IBaseEntity {
45
friendlyName?: string;
56
description?: string;
7+
status: EntityStatus;
68
}

src/entities/connection-status.ts

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export enum ConnectionStatus {
2+
Offline = 'offline',
3+
Online = 'online',
4+
}

src/entities/device.ts

+3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import { IBaseEntity } from '../entities/base';
2+
import { EntityStatus } from './entity-status';
23

34
export interface IDevice extends IBaseEntity {
45
friendlyName?: string;
56
description?: string;
67
apps?: string[];
8+
status: EntityStatus;
9+
tags?: string[];
710
}

src/entities/entity-status.ts

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export enum EntityStatus {
2+
Debug = 'debug',
3+
Disabled = 'disabled',
4+
Enabled = 'enabled',
5+
}

src/entities/index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ export { IApiKey } from './api-key';
1010
export { IApp } from './app';
1111
export { IAppProfile } from './app-profile';
1212
export { IAuthData } from './auth-data';
13+
export { ConnectionStatus } from './connection-status';
1314
export { ICredentials } from './credentials';
1415
export { IDevice } from './device';
16+
export { EntityStatus } from './entity-status';
1517
export { EntityType } from './entity-type';
1618
export { IEnvConfig } from './env-config';
1719
export { IBoundaries as IPropertyBoundaries, IProperty } from './property';

src/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ export { Apps, IApps } from './apps';
44
export { Auth, IAuth } from './auth';
55
export { ICredentialsStore } from './credentials';
66
export { Devices, IDevices } from './devices';
7+
export { IDisposable } from './disposable';
78
export { RestClient } from './rest-client';

src/rest-client/definitions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,5 @@ export interface IDeleteResponse {
4040
}
4141

4242
export interface IQueryParams {
43-
[key: string]: string | number;
43+
[key: string]: string;
4444
}

src/rest-client/rest-client.ts

+17-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ import {
1010
RequestMethod,
1111
} from './definitions';
1212

13+
/**
14+
* @todo
15+
* - Move to utils
16+
*/
17+
export function identity<T = any>(value: T) {
18+
return value;
19+
}
20+
1321
export interface IRestClient {
1422
get<T>(url: string, queryParams?: IQueryParams): Promise<T>;
1523
post<T>(url: string, payload: TPostRequestPayload): Promise<T>;
@@ -80,9 +88,15 @@ export class RestClient implements IRestClient {
8088
let queryString = '';
8189

8290
if (queryParams) {
83-
let queryParamList = Object.entries(queryParams).map(([key, value]) => {
84-
return `${key}=${value}`;
85-
});
91+
let queryParamList = Object.entries(queryParams)
92+
.map(([key, value]) => {
93+
if (value === undefined) {
94+
return undefined;
95+
}
96+
97+
return `${key}=${value}`;
98+
})
99+
.filter(identity);
86100

87101
queryString = `?${queryParamList.join('&')}`;
88102
}

0 commit comments

Comments
 (0)