tfabrica
Version:
library for TFabrica - TechSol
78 lines • 4.12 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var http_1 = require("@angular/http");
require("rxjs/Rx");
var rxjs_1 = require("rxjs");
var tfabrica_userdata_model_1 = require("../models/tfabrica.userdata.model");
var tfabrica_shared_service_1 = require("../main/tfabrica.shared.service");
var TfabricaLoginService = (function () {
function TfabricaLoginService(_http, _shared) {
this._http = _http;
this._shared = _shared;
this.loginUrl = "/api/Auth/Authenticate";
}
TfabricaLoginService.prototype.login = function (username, password) {
var _this = this;
this.loginUrl = this._shared.appSettings.authenticationApiUrl;
this.loginUrl = this._shared.appSettings.getauthenticationApiUrl();
console.log("Start call service: " + this.loginUrl);
var bodyString = { Username: username, Password: password };
var headers = new http_1.Headers({ 'Content-Type': 'application/json' }); // ... Set content type to JSON
var options = new http_1.RequestOptions({ headers: headers }); // Create a request option
return this._http.post(this.loginUrl, bodyString, options) // ...using post request
.map(function (res) { return _this.extractLoginData(res); }) // ...and calling .json() on the response to return data
.catch(function (err) { return _this.handleError(err); }); //...errors if any
};
TfabricaLoginService.prototype.extractLoginData = function (res) {
if (res.status < 200 || res.status >= 300) {
throw new Error('Bad response status: ' + res.status);
}
var userData = new tfabrica_userdata_model_1.TfabricaUserData();
var response = res.json();
userData.username = response['user']['username'];
userData.name = response['user']['name'];
userData.surname = response['user']['surname'];
userData.sourceImage = response['user']['sourceImage'];
userData.token = response.token;
userData.isLogged = true;
return userData || {};
};
TfabricaLoginService.prototype.handleError = function (error) {
var errMsg = error.message || 'Server error';
console.error(errMsg); // log to console instead
return rxjs_1.Observable.throw(errMsg);
};
TfabricaLoginService.prototype.logout = function () {
localStorage.removeItem('userData');
};
TfabricaLoginService.prototype.getUser = function () {
return JSON.parse(localStorage.getItem('userData'));
};
TfabricaLoginService.prototype.isLoggedIn = function () {
return this.getUser() !== null;
};
TfabricaLoginService.prototype.updateUser = function (userData) {
localStorage.setItem('userData', JSON.stringify(userData));
};
return TfabricaLoginService;
}());
TfabricaLoginService = __decorate([
core_1.Injectable(),
__metadata("design:paramtypes", [http_1.Http,
tfabrica_shared_service_1.TfabricaSharedService])
], TfabricaLoginService);
exports.TfabricaLoginService = TfabricaLoginService;
exports.AUTH_PROVIDERS = [
{ provide: TfabricaLoginService, useClass: TfabricaLoginService }
];
//# sourceMappingURL=tfabrica.login.service.js.map