summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/services/cookie-service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/services/cookie-service.ts')
-rw-r--r--catalog-ui/src/app/services/cookie-service.ts72
1 files changed, 72 insertions, 0 deletions
diff --git a/catalog-ui/src/app/services/cookie-service.ts b/catalog-ui/src/app/services/cookie-service.ts
new file mode 100644
index 0000000000..8f88835c18
--- /dev/null
+++ b/catalog-ui/src/app/services/cookie-service.ts
@@ -0,0 +1,72 @@
+'use strict';
+import {IAppConfigurtaion, ICookie} from "../models/app-config";
+
+interface ICookieService {
+ getUserId():string;
+ getFirstName():string;
+ getLastName():string;
+ getEmail():string;
+ getUserIdSuffix():string;
+}
+
+export class CookieService implements ICookieService {
+
+ static '$inject' = ['sdcConfig', '$document'];
+ private cookie:ICookie;
+ private cookiePrefix:string;
+
+
+ constructor(sdcConfig: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<string> = 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;
+ }
+}