vega-footer-logo
Version:
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 6.1.5.
147 lines (146 loc) • 14.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions } from '@angular/http';
import { ResultMessage } from '../model/notificationTO';
import { map } from "rxjs/operators";
import * as CryptoJS from "crypto-js";
/** @type {?} */
export const gnGetAllActiveAlertList = "Notify/GetAllActiveAlertList?userId=";
/** @type {?} */
export const gnPostAlertAcknowledgement = "Notify/PostAlertAcknowledgement";
/** @type {?} */
export const gnPostResetAllAlerts = "Notify/PostResetAllAlerts";
export class NotificationServices {
/**
* @param {?} http
*/
constructor(http) {
this.http = http;
this.userTO = {};
this.resultMessage = new ResultMessage;
}
/**
* @return {?}
*/
getUserTOFromLocalStorage() {
/** @type {?} */
let userTo = {};
userTo = JSON.parse(this.decryption(localStorage.getItem("currentUser")));
if (userTo == undefined || userTo == null) {
}
else {
}
return userTo;
}
/**
* @param {?} Url
* @return {?}
*/
getAlertForNotify(Url) {
debugger;
if (this.userTO == null && this.userTO == undefined) {
return;
}
this.getAllActiveNotification(this.userTO, Url).subscribe(res => {
/** @type {?} */
var v = res.filter(p => p.IsAcknowledged == 0).length;
if (document.getElementById("bgNotification") != null) {
document.getElementById("bgNotification").innerText = v == 0 ? '' : v.toString();
}
}, err => { });
}
/**
* @param {?} UserTo
* @param {?} masterBaseUrl
* @return {?}
*/
getAllActiveNotification(UserTo, masterBaseUrl) {
/** @type {?} */
let keys = masterBaseUrl + "Notify/GetAllActiveAlertList?userId=1&roleId=1";
return this.http
.get(keys).pipe(map((response) => response.json()));
}
/**
* @param {?} notificationTo
* @param {?} loginId
* @param {?} URL
* @return {?}
*/
postAlertAcknowledgement(notificationTo, loginId, URL) {
/** @type {?} */
var params = {
alertUsersTO: notificationTo,
loginUserId: loginId
};
/** @type {?} */
let bodyString = JSON.stringify(params);
/** @type {?} */
let headers = new Headers({ 'Content-Type': 'application/json' });
/** @type {?} */
let options = new RequestOptions({ headers: headers });
return this.http.post(URL + gnPostAlertAcknowledgement, bodyString, options);
}
/**
* @param {?} userTo
* @param {?} URL
* @return {?}
*/
postAllAlertAcknowledgement(userTo, URL) {
/** @type {?} */
var params = {
loginUserId: userTo.IdUser,
roleId: userTo.UserRoleList[0].RoleId
};
/** @type {?} */
let bodyString = JSON.stringify(params);
/** @type {?} */
let headers = new Headers({ 'Content-Type': 'application/json' });
/** @type {?} */
let options = new RequestOptions({ headers: headers });
return this.http.post(URL + gnPostResetAllAlerts, bodyString, options);
}
/**
* @param {?} data
* @return {?}
*/
encryption(data) {
data = JSON.stringify(data);
/** @type {?} */
var ciphertext = CryptoJS.AES.encrypt(data.toString(), "secret key 123");
return ciphertext.toString();
}
/**
* @param {?} data
* @return {?}
*/
decryption(data) {
// Decrypt
if (data) {
/** @type {?} */
var bytes = CryptoJS.AES.decrypt(data, "secret key 123");
/** @type {?} */
var plaintext = bytes.toString(CryptoJS.enc.Utf8);
return plaintext;
}
return null;
}
}
NotificationServices.decorators = [
{ type: Injectable }
];
/** @nocollapse */
NotificationServices.ctorParameters = () => [
{ type: Http }
];
if (false) {
/** @type {?} */
NotificationServices.prototype.userTO;
/** @type {?} */
NotificationServices.prototype.resultMessage;
/** @type {?} */
NotificationServices.prototype.http;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uX3NlcnZpY2VzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdmVnYS1mb290ZXItbG9nby8iLCJzb3VyY2VzIjpbImFwcC9ub3RpZmljYXRpb24vc2VydmljZXMvbm90aWZpY2F0aW9uX3NlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFZLGNBQWMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUEwQixhQUFhLEVBQWlCLE1BQU0seUJBQXlCLENBQUE7QUFDOUYsT0FBTyxFQUFvQixHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQzs7QUFFdEMsYUFBYSx1QkFBdUIsR0FBRyxzQ0FBc0MsQ0FBQzs7QUFDOUUsYUFBYSwwQkFBMEIsR0FBRyxpQ0FBaUMsQ0FBQzs7QUFDNUUsYUFBYSxvQkFBb0IsR0FBRywyQkFBMkIsQ0FBQztBQUdoRSxNQUFNOzs7O0lBQ0YsWUFBb0IsSUFBVTtRQUFWLFNBQUksR0FBSixJQUFJLENBQU07c0JBQ04sRUFBRTs2QkFDSyxJQUFJLGFBQWE7S0FGYjs7OztJQUduQyx5QkFBeUI7O1FBQ3JCLElBQUksTUFBTSxHQUFrQixFQUFFLENBQUM7UUFDL0IsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksU0FBUyxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBRTNDO1FBQUMsSUFBSSxDQUFDLENBQUM7U0FDUDtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUM7S0FDakI7Ozs7O0lBQ0QsaUJBQWlCLENB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LENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RSxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ2hDOzs7OztJQUNELFVBQVUsQ0FBQyxJQUFJOztRQUVYLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7O1lBQ1AsSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7O1lBQ3pELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsRCxNQUFNLENBQUMsU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQztLQUNmOzs7WUE1RUosVUFBVTs7OztZQVhGLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHAsIEhlYWRlcnMsIFJlc3BvbnNlLCBSZXF1ZXN0T3B0aW9ucywgQmFzZVJlcXVlc3RPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvaHR0cCc7XHJcbmltcG9ydCB7IFVzZXJUTywgTm90aWZpY2F0aW9uVE8sIFJlc3VsdE1lc3NhZ2UsIENvbW1hb25Vc2VyVE8gfSBmcm9tICcuLi9tb2RlbC9ub3RpZmljYXRpb25UTydcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgcmV0cnksbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0ICogYXMgQ3J5cHRvSlMgZnJvbSBcImNyeXB0by1qc1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLEVycm9yT2JzZXJ2ZXJ9IGZyb20gJ3J4anMnO1xyXG5leHBvcnQgY29uc3QgZ25HZXRBbGxBY3RpdmVBbGVydExpc3QgPSBcIk5vdGlmeS9HZXRBbGxBY3RpdmVBbGVydExpc3Q/dXNlcklkPVwiO1xyXG5leHBvcnQgY29uc3QgZ25Qb3N0QWxlcnRBY2tub3dsZWRnZW1lbnQgPSBcIk5vdGlmeS9Qb3N0QWxlcnRBY2tub3dsZWRnZW1lbnRcIjtcclxuZXhwb3J0IGNvbnN0IGduUG9zdFJlc2V0QWxsQWxlcnRzID0gXCJOb3RpZnkvUG9zdFJlc2V0QWxsQWxlcnRzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlcyB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHApIHsgfVxyXG4gICAgdXNlclRPOiBDb21tYW9uVXNlclRPID0ge31cclxuICAgIHJlc3VsdE1lc3NhZ2U6IFJlc3VsdE1lc3NhZ2UgPSBuZXcgUmVzdWx0TWVzc2FnZTtcclxuICAgIGdldFVzZXJUT0Zyb21Mb2NhbFN0b3JhZ2UoKTogQ29tbWFvblVzZXJUTyB7XHJcbiAgICAgICAgbGV0IHVzZXJUbzogQ29tbWFvblVzZXJUTyA9IHt9O1xyXG4gICAgICAgIHVzZXJUbyA9IEpTT04ucGFyc2UodGhpcy5kZWNyeXB0aW9uKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiY3VycmVudFVzZXJcIikpKTtcclxuICAgICAgICBpZiAodXNlclRvID09IHVuZGVmaW5lZCB8fCB1c2VyVG8gPT0gbnVsbCkge1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdXNlclRvO1xyXG4gICAgfVxyXG4gICAgZ2V0QWxlcnRGb3JOb3RpZnkoVXJsKSB7XHJcbiAgICAgICAgZGVidWdnZXJcclxuICAgICAgICBpZiAodGhpcy51c2VyVE8gPT0gbnVsbCAmJiB0aGlzLnVzZXJUTyA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmdldEFsbEFjdGl2ZU5vdGlmaWNhdGlvbih0aGlzLnVzZXJUTyxVcmwpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciB2ID0gcmVzLmZpbHRlcihwID0+IHAuSXNBY2tub3dsZWRnZWQgPT0gMCkubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYmdOb3RpZmljYXRpb25cIikgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYmdOb3RpZmljYXRpb25cIikuaW5uZXJUZXh0ID0gdiA9PSAwID8gJycgOiB2LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVyciA9PiB7IH1cclxuICAgICAgICApXHJcblxyXG4gICAgfVxyXG4gICAgZ2V0QWxsQWN0aXZlTm90aWZpY2F0aW9uKFVzZXJUbzogQ29tbWFvblVzZXJUTyxtYXN0ZXJCYXNlVXJsOnN0cmluZyk6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uVE9bXT4ge1xyXG4gICAgICAgIC8vbGV0IGtleXMgPSBcImh0dHBzOi8vc2ltcGx5ZGVsaXZlcmRlbW8udmVnYWlubm92YXRpb25zLmNvLmluL21hZGhhdnNpbXBsaWRlbGl2ZXJhcGkvYXBpL05vdGlmeS9HZXRBbGxBY3RpdmVBbGVydExpc3Q/dXNlcklkPTEmcm9sZUlkPTFcIlxyXG4gICAgICAgIC8vbGV0IGtleXMgPSBtYXN0ZXJCYXNlVXJsICsgZ25HZXRBbGxBY3RpdmVBbGVydExpc3QgKyBVc2VyVG8uSWRVc2VyICsgXCImcm9sZUlkPVwiICsgVXNlclRvLlVzZXJSb2xlTGlzdFswXS5Sb2xlSWRcclxuICAgICAgICBsZXQga2V5cyA9IG1hc3RlckJhc2VVcmwgKyBcIk5vdGlmeS9HZXRBbGxBY3RpdmVBbGVydExpc3Q/dXNlcklkPTEmcm9sZUlkPTFcIjtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQoa2V5cykucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlLmpzb24oKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHBvc3RBbGVydEFja25vd2xlZGdlbWVudChub3RpZmljYXRpb25UbzogTm90aWZpY2F0aW9uVE9cclxuICAgICAgICAsIGxvZ2luSWQ6IG51bWJlcixVUkw6c3RyaW5nKSB7XHJcbiAgICAgICAgdmFyIHBhcmFtcyA9IHtcclxuICAgICAgICAgICAgYWxlcnRVc2Vyc1RPOiBub3RpZmljYXRpb25UbyxcclxuICAgICAgICAgICAgbG9naW5Vc2VySWQ6IGxvZ2luSWRcclxuICAgICAgICB9O1xyXG4gICAgICAgIGxldCBib2R5U3RyaW5nID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zKTtcclxuICAgICAgICBsZXQgaGVhZGVycyA9IG5ldyBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KTtcclxuICAgICAgICBsZXQgb3B0aW9ucyA9IG5ldyBSZXF1ZXN0T3B0aW9ucyh7IGhlYWRlcnM6IGhlYWRlcnMgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFVSTCArIGduUG9zdEFsZXJ0QWNrbm93bGVkZ2VtZW50LCBib2R5U3RyaW5nLCBvcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBwb3N0QWxsQWxlcnRBY2tub3dsZWRnZW1lbnQodXNlclRvOiBDb21tYW9uVXNlclRPLFVSTDpzdHJpbmcpIHtcclxuICAgICAgICB2YXIgcGFyYW1zID0ge1xyXG4gICAgICAgICAgICBsb2dpblVzZXJJZDogdXNlclRvLklkVXNlcixcclxuICAgICAgICAgICAgcm9sZUlkOiB1c2VyVG8uVXNlclJvbGVMaXN0WzBdLlJvbGVJZFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgbGV0IGJvZHlTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMpO1xyXG4gICAgICAgIGxldCBoZWFkZXJzID0gbmV3IEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pO1xyXG4gICAgICAgIGxldCBvcHRpb25zID0gbmV3IFJlcXVlc3RPcHRpb25zKHsgaGVhZGVyczogaGVhZGVycyB9KTtcclxuICAgICAgICBcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoVVJMICsgZ25Qb3N0UmVzZXRBbGxBbGVydHMsIGJvZHlTdHJpbmcsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuY3J5cHRpb24oZGF0YSkge1xyXG4gICAgICAgIGRhdGEgPSBKU09OLnN0cmluZ2lmeShkYXRhKTtcclxuICAgICAgICAvLyBFbmNyeXB0XHJcbiAgICAgICAgdmFyIGNpcGhlcnRleHQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChkYXRhLnRvU3RyaW5nKCksIFwic2VjcmV0IGtleSAxMjNcIik7XHJcbiAgICAgICAgcmV0dXJuIGNpcGhlcnRleHQudG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIGRlY3J5cHRpb24oZGF0YSkge1xyXG4gICAgICAgIC8vIERlY3J5cHRcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICB2YXIgYnl0ZXMgPSBDcnlwdG9KUy5BRVMuZGVjcnlwdChkYXRhLCBcInNlY3JldCBrZXkgMTIzXCIpO1xyXG4gICAgICAgICAgICB2YXIgcGxhaW50ZXh0ID0gYnl0ZXMudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpO1xyXG4gICAgICAgICAgICByZXR1cm4gcGxhaW50ZXh0O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufSJdfQ==