/*- * ============LICENSE_START======================================================= * SDC * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= */ /// module Sdc.Services { 'use strict'; interface ICookieService { getUserId(): string; getFirstName(): string; getLastName(): string; getEmail(): string; getUserIdSuffix(): string; } export class CookieService implements ICookieService { static '$inject' = ['sdcConfig', '$document']; private cookie: Sdc.Models.ICookie; private cookiePrefix: string; constructor(sdcConfig: Models.IAppConfigurtaion, private $document) { this.cookie = sdcConfig.cookie; this.cookiePrefix = ''; let junctionName: string = this.getCookieByName(this.cookie.junctionName); if ((junctionName !== null) && (junctionName !== '')){ this.cookiePrefix = this.cookie.prefix+junctionName+'!'; } } private getCookieByName = (cookieName: string): string => { cookieName += '='; let cookies: Array = this.$document[0].cookie.split(';'); let cookieVal: string = ''; cookies.forEach((cookie: string) => { while(cookie.charAt(0) === ' '){ cookie = cookie.substring(1); } if(cookie.indexOf(cookieName) === 0){ cookieVal = cookie.substring(cookieName.length, cookie.length); return; } }); return cookieVal; }; public getUserIdSuffix = (): string => { return this.cookie.userIdSuffix; }; public getUserId = (): string => { let userIdCookieName: string = this.cookiePrefix+this.cookie.userIdSuffix; let userId: string = this.getCookieByName(userIdCookieName); return userId; }; public getFirstName = (): string => { let firstNameCookieName: string = this.cookiePrefix+this.cookie.userFirstName; let firstName: string = this.getCookieByName(firstNameCookieName); return firstName; }; public getLastName = (): string => { let lastNameCookieName: string = this.cookiePrefix+this.cookie.userLastName; let lastName: string = this.getCookieByName(lastNameCookieName); return lastName; }; public getEmail = (): string => { let emailCookieName: string = this.cookiePrefix+this.cookie.userEmail; let email: string = this.getCookieByName(emailCookieName); return email; }; } }