Stefan Huber

chore: removed angular depencencies

import { Http } from '@angular/http';
import { Rest } from './services/rest';
import { Repository } from './services/repository';
export { Rest } from './services/rest';
export { Repository } from './services/repository';
export { Device } from './services/device';
export declare function provideRest(http: Http): Rest;
export declare function provideRest(): Rest;
export declare function provideRepository(rest: Rest): Repository;
......
......@@ -9,8 +9,8 @@ var repository_2 = require("./services/repository");
exports.Repository = repository_2.Repository;
var device_2 = require("./services/device");
exports.Device = device_2.Device;
function provideRest(http) {
return new rest_1.Rest(http);
function provideRest() {
return new rest_1.Rest();
}
exports.provideRest = provideRest;
function provideRepository(rest) {
......
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA,wCAAuC;AACvC,oDAAmD;AACnD,4CAA2C;AAE3C,wCAAuC;AAA9B,sBAAA,IAAI,CAAA;AACb,oDAAmD;AAA1C,kCAAA,UAAU,CAAA;AACnB,4CAA2C;AAAlC,0BAAA,MAAM,CAAA;AAEf,qBAA4B,IAAS;IACjC,MAAM,CAAC,IAAI,WAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAFD,kCAEC;AAED,2BAAkC,IAAS;IACvC,MAAM,CAAC,IAAI,uBAAU,CAAC,IAAI,EAAE,IAAI,eAAM,CAAC,CAAC;AAC5C,CAAC;AAFD,8CAEC"}
\ No newline at end of file
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,wCAAuC;AACvC,oDAAmD;AACnD,4CAA2C;AAC3C,wCAAuC;AAA9B,sBAAA,IAAI,CAAA;AACb,oDAAmD;AAA1C,kCAAA,UAAU,CAAA;AACnB,4CAA2C;AAAlC,0BAAA,MAAM,CAAA;AAEf;IACI,OAAO,IAAI,WAAI,EAAE,CAAC;AACtB,CAAC;AAFD,kCAEC;AAED,2BAAkC,IAAS;IACvC,OAAO,IAAI,uBAAU,CAAC,IAAI,EAAE,IAAI,eAAM,CAAC,CAAC;AAC5C,CAAC;AAFD,8CAEC"}
\ No newline at end of file
......
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Device = (function () {
var Device = /** @class */ (function () {
function Device() {
}
Device.prototype.reload = function () {
......
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/services/device.ts"],"names":[],"mappings":";;AAAA;IAAA;IA6BA,CAAC;IA3BG,uBAAM,GAAN;QACI,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,qBAAI,GAAJ;QACI,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,CAAC;IACL,CAAC;IAED,2BAAU,GAAV,UAAW,UAAU;QACjB,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;IACL,CAAC;IAEL,aAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BY,wBAAM"}
\ No newline at end of file
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/services/device.ts"],"names":[],"mappings":";;AAAA;IAAA;IA6BA,CAAC;IA3BG,uBAAM,GAAN;QACI,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC3B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SAC5B;IACL,CAAC;IAED,qBAAI,GAAJ;QACI,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE;gBAClC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACrC;SACJ;QACD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC7C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;SACxC;IACL,CAAC;IAED,2BAAU,GAAV,UAAW,UAAU;QACjB,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE;gBAClC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;aACvD;SACJ;IACL,CAAC;IAEL,aAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BY,wBAAM"}
\ No newline at end of file
......
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Repository = (function () {
var Repository = /** @class */ (function () {
function Repository(rest, device) {
this.rest = rest;
this.device = device;
......
This diff is collapsed. Click to expand it.
import { Http } from '@angular/http';
import { DeviceInfo } from './../api/device-info';
import { Node } from './../api/node';
import 'rxjs/add/operator/timeout';
export declare const ERROR_CODE_UNAUTHORIZED: string;
export declare const ERROR_CODE_NOT_FOUND: string;
export declare const ERROR_CODE_SERVER_ERROR: string;
export declare class Rest {
private http;
static localWebPort: number;
static serviceUrl: string;
constructor(http: Http);
prepareDeviceInfo(deviceInfo: DeviceInfo, prefixed?: boolean): string;
register(registerCode: string, deviceInfo: DeviceInfo): Promise<any>;
heartbeat(deviceInfo: DeviceInfo): Promise<any>;
......
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var http_1 = require("@angular/http");
require("rxjs/add/operator/timeout");
exports.ERROR_CODE_UNAUTHORIZED = "unauthorized";
exports.ERROR_CODE_NOT_FOUND = "not-found";
exports.ERROR_CODE_SERVER_ERROR = "server-error";
var Rest = (function () {
function Rest(http) {
this.http = http;
var Rest = /** @class */ (function () {
function Rest() {
}
Rest.prototype.prepareDeviceInfo = function (deviceInfo, prefixed) {
if (prefixed === void 0) { prefixed = true; }
......@@ -42,75 +39,82 @@ var Rest = (function () {
Rest.prototype.register = function (registerCode, deviceInfo) {
var _this = this;
return new Promise(function (resolve, reject) {
var headers = new http_1.Headers();
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
deviceInfo.code = registerCode;
_this.http.post(Rest.serviceUrl + "/config/register", _this.prepareDeviceInfo(deviceInfo), { headers: headers }).subscribe(function (response) {
resolve();
}, function (error) {
if (error.status == 401) {
fetch(Rest.serviceUrl + "/config/register", {
method: 'POST',
headers: headers,
body: _this.prepareDeviceInfo(deviceInfo)
}).then(function (response) {
if (response.ok) {
resolve();
}
else if (response.status == 401) {
reject(exports.ERROR_CODE_UNAUTHORIZED);
}
else {
reject(exports.ERROR_CODE_SERVER_ERROR);
}
}).catch(function () {
reject(exports.ERROR_CODE_SERVER_ERROR);
});
});
};
Rest.prototype.heartbeat = function (deviceInfo) {
var _this = this;
return new Promise(function (resolve, reject) {
var headers = new http_1.Headers();
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
_this.http.post(Rest.serviceUrl + "/config/heartbeat", _this.prepareDeviceInfo(deviceInfo, false), { headers: headers })
.subscribe(function (response) {
resolve(response.json());
}, function (error) {
switch (error.status) {
case 401:
reject(exports.ERROR_CODE_UNAUTHORIZED);
break;
case 404:
reject(exports.ERROR_CODE_NOT_FOUND);
break;
default:
reject(exports.ERROR_CODE_SERVER_ERROR);
break;
fetch(Rest.serviceUrl + "/config/heartbeat", {
method: 'POST',
headers: headers,
body: _this.prepareDeviceInfo(deviceInfo, false)
}).then(function (response) {
if (response.ok) {
resolve();
}
else if (response.status == 401) {
reject(exports.ERROR_CODE_UNAUTHORIZED);
}
else if (response.status == 404) {
reject(exports.ERROR_CODE_NOT_FOUND);
}
else {
reject(exports.ERROR_CODE_SERVER_ERROR);
}
}).catch(function () {
reject(exports.ERROR_CODE_SERVER_ERROR);
});
});
};
Rest.prototype.scanNode = function (node) {
var _this = this;
return new Promise(function (resolve, reject) {
if (node && node.IP) {
_this.http.get("http://" + node.IP + ":" + Rest.localWebPort + "/device")
.timeout(2000)
.subscribe(function (response) {
try {
var body = response.json();
if (body.device_id == node.UUID) {
resolve({
ip: node.IP,
uuid: body.device_id,
couchPort: body.couch_port,
webPort: body.web_port
});
}
else {
reject();
}
fetch("http://" + node.IP + ":" + Rest.localWebPort + "/device")
.then(function (response) {
if (response.ok) {
return response.json();
}
catch (e) {
else {
reject();
}
}, function () {
}).then(function (data) {
if (data.device_id == node.UUID) {
resolve({
ip: node.IP,
uuid: data.device_id,
couchPort: data.couch_port,
webPort: data.web_port
});
}
else {
reject();
}
}).catch(function () {
reject();
});
}
else {
reject();
}
});
};
Rest.prototype.scanEnvironment = function (nodes) {
......@@ -131,9 +135,9 @@ var Rest = (function () {
});
});
};
Rest.localWebPort = 8320;
Rest.serviceUrl = "http://someurl.com";
return Rest;
}());
Rest.localWebPort = 8320;
Rest.serviceUrl = "http://someurl.com";
exports.Rest = Rest;
//# sourceMappingURL=rest.js.map
\ No newline at end of file
......
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../src/services/rest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../src/services/rest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......
This diff is collapsed. Click to expand it.
......@@ -15,23 +15,13 @@
"author": "",
"license": "ISC",
"devDependencies": {
"@angular/core": "4.1.0",
"@angular/http": "4.1.0",
"@angular/common": "4.1.0",
"@angular/platform-browser": "4.1.0",
"@types/jasmine": "^2.5.43",
"jasmine": "^2.5.3",
"pouchdb": "^6.1.2",
"pouchdb-upsert": "^2.0.2",
"reflect-metadata": "^0.1.9",
"rxjs": "5.1.1",
"sw-toolbox": "3.4.0",
"typescript": "^2.3.2",
"zone.js": "^0.8.4"
"@types/jasmine": "^2.8.8",
"jasmine": "^3.1.0",
"pouchdb": "^6.4.3",
"pouchdb-upsert": "^2.2.0",
"typescript": "^2.9.1"
},
"peerDependencies": {
"@angular/http": "*",
"rxjs": "*",
"pouchdb": "*",
"pouchdb-upsert": "*"
}
......
import 'reflect-metadata';
import './rest';
import './repository'
\ No newline at end of file
......
......@@ -3,7 +3,7 @@ import {Rest} from '../src/services/rest';
describe('Rest API', () => {
Rest.serviceUrl = "http://digsig.local/config/register";
let restService : Rest = new Rest(null);
let restService : Rest = new Rest();
it('Prepare Device Info', () => {
......
import { Http } from '@angular/http';
import { Rest } from './services/rest';
import { Repository } from './services/repository';
import { Device } from './services/device';
export { Rest } from './services/rest';
export { Repository } from './services/repository';
export { Device } from './services/device';
export function provideRest(http:Http) : Rest {
return new Rest(http);
export function provideRest() : Rest {
return new Rest();
}
export function provideRepository(rest:Rest) : Repository {
......
import { Http,Response,Headers } from '@angular/http';
import { DeviceInfo } from './../api/device-info';
import { Node } from './../api/node';
import 'rxjs/add/operator/timeout'
export const ERROR_CODE_UNAUTHORIZED:string = "unauthorized";
export const ERROR_CODE_NOT_FOUND:string = "not-found";
......@@ -12,8 +10,6 @@ export class Rest {
public static localWebPort:number = 8320;
public static serviceUrl: string = "http://someurl.com";
constructor(private http:Http) {}
prepareDeviceInfo(deviceInfo:DeviceInfo, prefixed:boolean = true) : string {
let output = "";
......@@ -47,25 +43,29 @@ export class Rest {
return output;
}
register(registerCode: string, deviceInfo:DeviceInfo) : Promise<any> {
register(registerCode:string, deviceInfo:DeviceInfo) : Promise<any> {
return new Promise<any>((resolve, reject) => {
var headers = new Headers();
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
deviceInfo.code = registerCode;
this.http.post(Rest.serviceUrl+"/config/register",
this.prepareDeviceInfo(deviceInfo),
{ headers: headers }).subscribe((response:Response) => {
fetch(Rest.serviceUrl+"/config/register", {
method: 'POST' ,
headers : headers ,
body : this.prepareDeviceInfo(deviceInfo)
}).then(response => {
if (response.ok) {
resolve();
}, (error:Response) => {
if (error.status == 401) {
} else if (response.status == 401) {
reject(ERROR_CODE_UNAUTHORIZED);
} else {
reject(ERROR_CODE_SERVER_ERROR);
}
}).catch(() => {
reject(ERROR_CODE_SERVER_ERROR);
});
});
});
}
heartbeat(deviceInfo:DeviceInfo) : Promise<any> {
......@@ -74,53 +74,51 @@ export class Rest {
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
this.http.post(Rest.serviceUrl+"/config/heartbeat",
this.prepareDeviceInfo(deviceInfo, false),
{ headers: headers })
.subscribe((response:Response) => {
resolve(response.json());
},(error:Response) => {
switch (error.status) {
case 401:
reject(ERROR_CODE_UNAUTHORIZED);
break;
case 404:
reject(ERROR_CODE_NOT_FOUND);
break;
default:
reject(ERROR_CODE_SERVER_ERROR);
break;
}
});
fetch(Rest.serviceUrl+"/config/heartbeat", {
method: 'POST' ,
headers: headers ,
body: this.prepareDeviceInfo(deviceInfo, false)
}).then(response => {
if (response.ok) {
resolve();
} else if (response.status == 401) {
reject(ERROR_CODE_UNAUTHORIZED);
} else if (response.status == 404) {
reject(ERROR_CODE_NOT_FOUND);
} else {
reject(ERROR_CODE_SERVER_ERROR);
}
}).catch(() => {
reject(ERROR_CODE_SERVER_ERROR);
});
});
}
scanNode(node:any) : Promise<Node> {
return new Promise<Node> ((resolve, reject) => {
if (node && node.IP) {
this.http.get("http://" + node.IP + ":" + Rest.localWebPort + "/device")
.timeout(2000)
.subscribe(response => {
try {
let body = response.json();
if (body.device_id == node.UUID) {
resolve({
ip : node.IP ,
uuid : body.device_id ,
couchPort : body.couch_port ,
webPort : body.web_port
});
} else {
reject();
}
} catch(e) {
fetch("http://" + node.IP + ":" + Rest.localWebPort + "/device")
.then((response) => {
if (response.ok) {
return response.json()
} else {
reject();
}
}, () => {
}
}).then((data) => {
if (data.device_id == node.UUID) {
resolve({
ip : node.IP ,
uuid : data.device_id ,
couchPort : data.couch_port ,
webPort : data.web_port
});
} else {
reject();
}
}).catch(() => {
reject();
});
} else {
reject();
}
});
}
......