{"version":3,"sources":["./nexxe-builder.lib.main.ts","../dist/cds/build/index.ts","../dist/cds/build/lib/cds.module.ts","../dist/cds/build/lib/cds.ts","../dist/cds/build/lib/class/CDSMetadata.ts","../dist/cds/build/lib/class/cds-metadata.ts","../dist/cds/build/lib/enums/status.ts","../dist/cds/build/lib/newServices/cds-data-composer.service.ts","../dist/cds/build/lib/newServices/cds-http.service.ts","../dist/cds/build/lib/newServices/cds-request.service.ts","../dist/cds/build/lib/newServices/cds-store.service.ts","../dist/cds/build/lib/newServices/cds-utilities.service.ts","../dist/cds/build/lib/newServices/cds.service.ts","../dist/cds/build/lib/newServices/configurable-data-source.service.ts","external \"window[\\\"umle.ng.common\\\"]\"","external \"window[\\\"umle.ng.common.http\\\"]\"","external \"window[\\\"umle.ng.core\\\"]\"","external \"window[\\\"umle.rxjs\\\"]\"","external \"window[\\\"umle.rxjs.operators\\\"]\"","external \"window[\\\"umle.tslib\\\"]\""],"names":[],"mappings":"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","file":"nexxe.cds@0.0.0-next.67@aot.js","sourcesContent":["\n export * from '@nexxe/cds';\n export * from '@nexxe/cds/nexxe-cds.ngfactory';\n import { CdsModuleNgFactory } from '@nexxe/cds/nexxe-cds.ngfactory';\n export default CdsModuleNgFactory;\n ","export * from './lib/cds';\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\n\r\nexport class CdsModule { }\r\n","export { CdsModule } from './cds.module';\r\nexport { CdsService } from './newServices/cds.service';\r\nexport { CdsRequestService } from './newServices/cds-request.service';\r\nexport { CdsStoreService, IActiveRequest, IRequest, IResponseCollection } from './newServices/cds-store.service';\r\nexport { CdsUtilitiesService } from './newServices/cds-utilities.service';\r\nexport { ICDS, ICDSChange, ICDSPatch, ParamsType } from './interfaces/icds';\r\nexport { ICDSConfig } from './interfaces/icdsconfig';\r\nexport { IRequestOptions, IContext } from './interfaces/irequestmetadata';\r\nexport { ICDSDependencies } from './interfaces/icdsdependencies';\r\nexport { ICDSOptions } from './interfaces/icdsoptions';\r\nexport { CdsMetadata, cache_control } from './class/cds-metadata';\r\nexport { Status } from './enums/status'\r\nexport { CdsDataComposerService } from './newServices/cds-data-composer.service'\r\nexport { ConfigurableDataSourceService } from './newServices/configurable-data-source.service'\r\nexport {CdsHttpService} from './newServices/cds-http.service';\r\n","import { ICDSOptions } from '../interfaces/icdsoptions';\r\nimport { ICDSConfig } from '../interfaces/icdsconfig';\r\nimport { ICDSDependencies } from '../interfaces/icdsdependencies';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Status } from '../enums/status';\r\nimport { ParamsType } from '../interfaces/icds';\r\nimport { coreVendors } from '@nexxe/core-vendors';\r\nimport { IContext } from '../interfaces/irequestmetadata';\r\n\r\nexport const cache_control = { 'Cache-Control': 'max-age=3600' };\r\n\r\n// @dynamic\r\nexport class CDSMetadata {\r\n\r\n\tprivate static _cdsDataComposer: any;\r\n\tpublic static get cdsDataComposer(): any {\r\n\t\treturn CDSMetadata._cdsDataComposer;\r\n\t}\r\n\tpublic static set cdsDataComposer(value: any) {\r\n\t\tCDSMetadata._cdsDataComposer = value;\r\n\t}\r\n\r\n\tprivate _endpoint: string;\r\n\tprivate _method: string;\r\n\tprivate _dependencies?: ICDSDependencies[];\r\n\tprivate _cache?: boolean;\r\n\tprivate _expireAge?: number;\r\n\tprivate _retry?: number;\r\n\tprivate _externalUrl: string;\r\n\tprivate _overridedInterceptor?: Object;\r\n\tprivate _extraHeaders?: Object;\r\n\tprivate _autoInvoke?: number;\r\n\tprivate _baseUrl: string;\r\n\tprivate _header: Object;\r\n\tprivate _baseInterceptor: Object;\r\n\tprivate _queryParams: Object;\r\n\tprivate _outputPath: string;\r\n\tlastSuccess: number;\r\n\tstatus: Status;\r\n\texpireAge: number;\r\n\tobservable: BehaviorSubject;\r\n\tprivate _payload: Object;\r\n\tkey: string;\r\n\twithCredentials: boolean;\r\n\tid: string;\r\n\tprivate _responseType: string\r\n\tconstructor(key, options: ICDSOptions, config: ICDSConfig, id: string, context?: IContext) {\r\n\t\tthis.id = id;\r\n\t\tthis.key = key\r\n\t\tthis._autoInvoke = options.autoInvoke;\r\n\t\tthis._cache = options.cache;\r\n\t\tthis._endpoint = this.resolveParamsInString(options.endpoint, context);\r\n\t\tthis._dependencies = options.dependencies;\r\n\t\tthis._expireAge = options.expireAge ? options.expireAge : 0;\r\n\t\tthis._externalUrl = this.resolveParamsInString(options.externalUrl, context);\r\n\t\tthis._overridedInterceptor = options.overridedInterceptor;\r\n\t\tthis._extraHeaders = this.resolveParamsOrPayload(coreVendors.lodash.cloneDeep(options.extraHeaders), context);\r\n\t\tthis._method = options.method;\r\n\t\tthis.status = options.status ? options.status : Status.notUsed;\r\n\t\tthis._retry = options.retry;\r\n\t\tthis.lastSuccess = options.lastSuccess ? options.lastSuccess : 0;\r\n\t\tthis.expireAge = options.expireAge ? options.expireAge : 1;\r\n\t\tthis._baseUrl = this.resolveParamsInString(config.baseUrl, context);\r\n\t\tthis._header = { ... this.resolveParamsOrPayload(coreVendors.lodash.cloneDeep(config.header), context) };\r\n\t\tthis._baseInterceptor = config.baseInterceptor;\r\n\t\tthis._queryParams = this.resolveParamsOrPayload(coreVendors.lodash.cloneDeep(options.queryParams), context);\r\n\t\tthis._payload = this.resolveParamsOrPayload(coreVendors.lodash.cloneDeep(options.payload), context);\r\n\t\tthis.withCredentials = options.withCredentials ? options.withCredentials : false;\r\n\t\tthis._outputPath = options.outputPath\r\n\t\tthis._responseType = options.responseType\r\n\t}\r\n\r\n\tprivate resolveParamsOrPayload(paramsOrPayload: Object, context?: IContext): Object {\r\n\t\treturn CDSMetadata.cdsDataComposer.resolveParams(paramsOrPayload, context);\r\n\t}\r\n\r\n\tprivate resolveParamsInString(url: string, context?: IContext): string {\r\n\t\treturn CDSMetadata.cdsDataComposer.resolveParamsInString(url, context);\r\n\t}\r\n\r\n\r\n\tget responseType() {\r\n\t\treturn this._responseType;\r\n\t}\r\n\r\n\tget outputPath() {\r\n\t\treturn this._outputPath;\r\n\t}\r\n\r\n\r\n\tget method() {\r\n\t\treturn this._method;\r\n\t}\r\n\r\n\tget options() {\r\n\t\treturn {\r\n\t\t\tretry: this._retry,\r\n\t\t\texpireAge: this._expireAge,\r\n\t\t\tautoInvoke: this._autoInvoke\r\n\t\t};\r\n\t}\r\n\r\n\tget endpoint() {\r\n\t\treturn (!this._externalUrl) ? this._baseUrl + this._endpoint : this._externalUrl;\r\n\t}\r\n\r\n\tget headers() {\r\n\t\tvar header;\r\n\t\tif (this._extraHeaders) header = Object.assign(this._header, this._extraHeaders)\r\n\t\tif (this._cache) header = Object.assign(this._header, cache_control);\r\n\t\tif (this._overridedInterceptor) header = Object.assign(this._header, this._overridedInterceptor);\r\n\t\telse header = Object.assign(this._header, this._baseInterceptor);\r\n\t\t//Header values can only be string type and any boolean/numeric values will be removed from the headers.\r\n\t\t//converting the numeric or boolean values to string will help retain the values in the headers. \r\n\t\tfor (let prop in header) {\r\n\t\t\tif ((header[prop] !== undefined || header[prop] !== null) && typeof header[prop] !== 'string') {\r\n\t\t\t\theader[prop] = header[prop].toString();\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn header;\r\n\t}\r\n\r\n\tget dependencies() {\r\n\t\treturn this._dependencies\r\n\t}\r\n\r\n\tget queryParams() {\r\n\t\treturn this._queryParams;\r\n\t}\r\n\r\n\tget payload() {\r\n\t\treturn this._payload;\r\n\t}\r\n\r\n\r\n\r\n\tget isExpired(): boolean {\r\n\t\tconst expireTime = this.lastSuccess + (this.expireAge * 60000);\r\n\t\tconst currentTime: Number = (new Date()).getTime() / 60000;\r\n\t\treturn (this.lastSuccess == 0 || (this.expireAge > 0 && currentTime > expireTime)) ? true : false;\r\n\t}\r\n\r\n\r\n}","import { ICDSOptions } from '../interfaces/icdsoptions';\r\nimport { ICDSConfig } from '../interfaces/icdsconfig';\r\nimport { ICDSDependencies } from '../interfaces/icdsdependencies';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Status } from '../enums/status';\r\nimport { ParamsType } from '../interfaces/icds';\r\nimport { coreVendors } from '@nexxe/core-vendors';\r\n\r\nexport const cache_control = { 'Cache-Control': 'max-age=3600' };\r\n\r\n// @dynamic\r\nexport class CdsMetadata {\r\n\r\n\tprivate static _cdsDataComposer: any;\r\n\tpublic static get cdsDataComposer(): any {\r\n\t\treturn CdsMetadata._cdsDataComposer;\r\n\t}\r\n\tpublic static set cdsDataComposer(value: any) {\r\n\t\tCdsMetadata._cdsDataComposer = value;\r\n\t}\r\n\r\n\tprivate _endpoint: string;\r\n\tprivate _method: string;\r\n\tprivate _dependencies?: ICDSDependencies[];\r\n\tprivate _cache?: boolean;\r\n\tprivate _expireAge?: number;\r\n\tprivate _retry?: number;\r\n\tprivate _externalUrl: string;\r\n\tprivate _overridedInterceptor?: Object;\r\n\tprivate _extraHeaders?: Object;\r\n\tprivate _autoInvoke?: number;\r\n\tprivate _baseUrl: string;\r\n\tprivate _header: Object;\r\n\tprivate _baseInterceptor: Object;\r\n\tprivate _queryParams: Object;\r\n\tprivate _requestQueryParams: Object;\r\n\tprivate _outputPath: string;\r\n\tlastSuccess: number;\r\n\tstatus: Status;\r\n\texpireAge: number;\r\n\tobservable: BehaviorSubject;\r\n\tprivate _payload: Object;\r\n\tprivate _requestPayload: Object;\r\n\tkey: string;\r\n\twithCredentials: boolean;\r\n\tid: string;\r\n\tprivate _urlTemplate: Object;\r\n\tprivate _responseType: string\r\n\tconstructor(key, options: ICDSOptions, config: ICDSConfig, id: string, params: any, payload: any, urlTempate: Object) {\r\n\t\tthis.id = id;\r\n\t\tthis.key = key\r\n\t\tthis._autoInvoke = options.autoInvoke;\r\n\t\tthis._cache = options.cache;\r\n\t\tthis._endpoint = this.resolveParamsInString(options.endpoint);\r\n\t\tthis._dependencies = options.dependencies;\r\n\t\tthis._expireAge = options.expireAge ? options.expireAge : 0;\r\n\t\tthis._externalUrl = this.resolveParamsInString(options.externalUrl);\r\n\t\tthis._overridedInterceptor = options.overridedInterceptor;\r\n\t\tthis._extraHeaders = this.resolveParamsOrPayload(coreVendors.lodash.cloneDeep(options.extraHeaders));\r\n\t\tthis._method = options.method;\r\n\t\tthis.status = options.status ? options.status : Status.notUsed;\r\n\t\tthis._retry = options.retry;\r\n\t\tthis.lastSuccess = options.lastSuccess ? options.lastSuccess : 0;\r\n\t\tthis.expireAge = options.expireAge ? options.expireAge : 1;\r\n\t\tthis._baseUrl = this.resolveParamsInString(config.baseUrl);\r\n\t\tthis._header = { ... this.resolveParamsOrPayload(coreVendors.lodash.cloneDeep(config.header)) };\r\n\t\tthis._baseInterceptor = config.baseInterceptor;\r\n\t\tthis._queryParams = this.resolveParamsOrPayload(coreVendors.lodash.cloneDeep(options.queryParams));\r\n\t\tthis._requestQueryParams = this.resolveParamsOrPayload(params);\r\n\t\tthis._payload = this.resolveParamsOrPayload(coreVendors.lodash.cloneDeep(options.payload));\r\n\t\tthis._requestPayload = this.resolveParamsOrPayload(payload);\r\n\t\tthis.withCredentials = options.withCredentials ? options.withCredentials : false;\r\n\t\tthis._urlTemplate = urlTempate;\r\n\t\tthis._outputPath = options.outputPath\r\n\t\tthis._responseType = options.responseType\r\n\t}\r\n\r\n\tprivate resolveParamsOrPayload(paramsOrPayload: Object): Object {\r\n\t\treturn CdsMetadata.cdsDataComposer.resolveParams(paramsOrPayload);\r\n\t}\r\n\r\n\tprivate resolveParamsInString(url: string): string {\r\n\t\treturn CdsMetadata.cdsDataComposer.resolveParamsInString(url);\r\n\t}\r\n\r\n\r\n\tget responseType() {\r\n\t\treturn this._responseType;\r\n\t}\r\n\r\n\tget outputPath() {\r\n\t\treturn this._outputPath;\r\n\t}\r\n\r\n\r\n\tget method() {\r\n\t\treturn this._method;\r\n\t}\r\n\r\n\tget options() {\r\n\t\treturn {\r\n\t\t\tretry: this._retry,\r\n\t\t\texpireAge: this._expireAge,\r\n\t\t\tautoInvoke: this._autoInvoke\r\n\t\t};\r\n\t}\r\n\r\n\tget endpoint() {\r\n\t\tconst url = (!this._externalUrl) ? this._baseUrl + this._endpoint : this._externalUrl;\r\n\t\treturn getBacktickString(url, this._urlTemplate);\r\n\t}\r\n\r\n\tget headers() {\r\n\t\tvar header;\r\n\t\tif (this._extraHeaders) header = Object.assign(this._header, this._extraHeaders)\r\n\t\tif (this._cache) header = Object.assign(this._header, cache_control);\r\n\t\tif (this._overridedInterceptor) header = Object.assign(this._header, this._overridedInterceptor);\r\n\t\telse header = Object.assign(this._header, this._baseInterceptor);\r\n\t\t//Header values can only be string type and any boolean/numeric values will be removed from the headers.\r\n\t\t//converting the numeric or boolean values to string will help retain the values in the headers. \r\n\t\tfor (let prop in header) {\r\n\t\t\tif ((header[prop] !== undefined || header[prop] !== null) && typeof header[prop] !== 'string') {\r\n\t\t\t\theader[prop] = header[prop].toString();\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn header;\r\n\t}\r\n\r\n\tget dependencies() {\r\n\t\treturn this._dependencies\r\n\t}\r\n\r\n\tget queryParams() {\r\n\t\treturn { ...this._queryParams, ...this._requestQueryParams };\r\n\t}\r\n\r\n\tget payload() {\r\n\t\treturn formatParamsOrpayload(this._payload, this._requestPayload);\r\n\t}\r\n\r\n\r\n\r\n\tget isExpired(): boolean {\r\n\t\tconst expireTime = this.lastSuccess + (this.expireAge * 60000);\r\n\t\tconst currentTime: Number = (new Date()).getTime() / 60000;\r\n\t\treturn (this.lastSuccess == 0 || (this.expireAge > 0 && currentTime > expireTime)) ? true : false;\r\n\t}\r\n\r\n\r\n}\r\n\r\nfunction formatParamsOrpayload(payload: ParamsType, requestPayload: Object) {\r\n\tif (requestPayload instanceof FormData) return requestPayload;\r\n\tif (requestPayload && (Array.isArray(requestPayload) || typeof requestPayload != 'object')) return requestPayload;\r\n\tif (payload && (Array.isArray(payload) || typeof payload != 'object')) return payload;\r\n\tif (payload && requestPayload) {\r\n\t\treturn { ...(payload as any), ...requestPayload };\r\n\t} else if (requestPayload) return requestPayload;\r\n\treturn payload;\r\n}\r\n\r\n// this is dangerous method and may cause a security breach and we will replace in the next release.\r\nfunction getBacktickString(str: string, obj: any) {\r\n\tif (obj) {\r\n\t\tconst matches = str.match(/\\${.*}/g);\r\n\t\tlet result = str;\r\n\t\tmatches && matches.forEach(match => {\r\n\t\t\tlet val: string = match.substring(2, match.length - 1);\r\n\t\t\tresult = (val !== undefined && val !== null) ? result.replace(match, coreVendors.lodash.get(obj, val)) : result.replace(match, ' ');\r\n\t\t})\r\n\t\tstr.replace(/\\${/g, \"${obj.\")\r\n\t\treturn result;\r\n\t} return str\r\n}\r\n","export enum Status {\r\n\tprogress = 'Progress',\r\n\tsuccess = 'Success',\r\n\tfailed = 'Failed',\r\n\tpending = 'Pending',\r\n\tcancelled = 'Cancelled',\r\n\tnotUsed = 'notUsed'\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { coreVendors } from '@nexxe/core-vendors';\r\nimport { IContext } from '../interfaces/irequestmetadata';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CdsDataComposerService {\r\n\r\n\tprivate _dataModelService;\r\n\tpublic get dataModelService() {\r\n\t\treturn this._dataModelService;\r\n\t}\r\n\tpublic set dataModelService(value) {\r\n\t\tthis._dataModelService = value;\r\n\t}\r\n\r\n\tprivate currentContext: IContext\r\n\r\n\tconstructor() { }\r\n\r\n\r\n\tresolveParams(params: any, context?: IContext) {\r\n\t\tif (!params) return params;\r\n\t\tthis.currentContext = context;\r\n\t\tconst resolvedStringParam = this.resolveParamsHelper(params);\r\n\t\tthis.currentContext = undefined;\r\n\t\treturn resolvedStringParam || params;\r\n\t}\r\n\r\n\tresolveDataFromStore(path: string) {\r\n\t\tif (!path) return path;\r\n\t\tconst segments: string[] = path.split('.');\r\n\t\tif (segments.length === 1) return this._dataModelService.getById(segments[0]);\r\n\t\treturn this._dataModelService.getIn(segments[0], segments.slice(1));\r\n\t}\r\n\r\n\tresolveDataFromContext(path: string) {\r\n\t\tif (!path || !this.currentContext) return path;\r\n\t\tconst segments: string[] = path.split('.');\r\n\t\tif (segments.length === 1) return this.currentContext[segments[0]];\r\n\t\treturn this.resolveNested(segments);\r\n\t}\r\n\r\n\tresolveNested(segments: Array) {\r\n\t\tlet nestedContext = this.currentContext;\r\n\t\tcoreVendors.lodash.forEach(segments, segment => {\r\n\t\t\tif (nestedContext[segment] === undefined || nestedContext[segment] === null) {\r\n\t\t\t\tthrow `The property \"${segment}\" does not exist on the context passed, at the path provided in the #{path} variable`;\r\n\t\t\t}\r\n\t\t\tnestedContext = nestedContext[segment];\r\n\t\t})\r\n\t\treturn nestedContext;\r\n\t}\r\n\r\n\tresolveParamsInString(string: string, context?: IContext) {\r\n\t\tif (!string) return string;\r\n\t\tthis.currentContext = context;\r\n\t\tconst variablesFromStore: string[] = string.match(/\\${(.+?)}/g);\r\n\t\tconst variablesFromContext: string[] = string.match(/\\#{(.+?)}/g)\r\n\t\tlet resolvedData;\r\n\t\tcoreVendors.lodash.forEach(variablesFromStore, (variable) => {\r\n\t\t\tresolvedData = this.resolveDataFromStore(this.isStoreVariableType(variable));\r\n\t\t\tif (resolvedData !== undefined && resolvedData !== null) {\r\n\t\t\t\tstring = string.replace(variable, resolvedData)\r\n\t\t\t}\r\n\t\t})\r\n\t\tcoreVendors.lodash.forEach(variablesFromContext, (variable) => {\r\n\t\t\tresolvedData = this.resolveDataFromContext(this.isContextVariableType(variable));\r\n\t\t\tif (resolvedData !== undefined && resolvedData !== null) {\r\n\t\t\t\tstring = string.replace(variable, resolvedData)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.currentContext = undefined;\r\n\t\treturn string;\r\n\t}\r\n\r\n\tresolveParamsHelper(params) {\r\n\t\tif (typeof params === 'string') {\r\n\t\t\tconst storeVarName = this.isStoreVariableType(params);\r\n\t\t\tif (storeVarName !== null) {\r\n\t\t\t\treturn this.resolveDataFromStore(storeVarName);\r\n\t\t\t}\r\n\t\t\tconst contextVarName = this.isContextVariableType(params);\r\n\t\t\tif (contextVarName !== null) {\r\n\t\t\t\treturn this.resolveDataFromContext(contextVarName)\r\n\t\t\t}\r\n\t\t\treturn params\r\n\t\t}\r\n\t\tif (typeof params === 'object') {\r\n\t\t\tconst props = Object.keys(params);\r\n\t\t\tcoreVendors.lodash.forEach(props, prop => {\r\n\t\t\t\tif (params[prop]) {\r\n\t\t\t\t\tif (typeof params[prop] === 'string') {\r\n\t\t\t\t\t\tconst storeVarName = this.isStoreVariableType(params[prop]);\r\n\t\t\t\t\t\tif (storeVarName !== null) {\r\n\t\t\t\t\t\t\tparams[prop] = this.resolveDataFromStore(storeVarName);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst contextVarName = this.isContextVariableType(params[prop]);\r\n\t\t\t\t\t\t\tif (contextVarName !== null) {\r\n\t\t\t\t\t\t\t\tparams[prop] = this.resolveDataFromContext(contextVarName);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (typeof params[prop] === 'object') {\r\n\t\t\t\t\t\tthis.resolveParamsHelper(params[prop]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tisStoreVariableType(potentialVariableName: string) {\r\n\t\tif (potentialVariableName) {\r\n\t\t\tconst match = potentialVariableName.match(/\\${(.*)}/);\r\n\t\t\treturn match && match[1];\r\n\t\t}\r\n\t}\r\n\r\n\tisContextVariableType(potentialVariableName: string) {\r\n\t\tif (potentialVariableName) {\r\n\t\t\tconst match = potentialVariableName.match(/\\#{(.*)}/);\r\n\t\t\treturn match && match[1];\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","import { HttpBackend, HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { CdsMetadata } from '../class/cds-metadata';\r\nimport { CDSMetadata } from '../class/CDSMetadata';\r\ndeclare var userInfo: any;\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CdsHttpService {\r\n\r\n\tprivate http: HttpClient;\r\n\trequest: any = {\r\n\t\t\"get\": this.get.bind(this),\r\n\t\t\"post\": this.post.bind(this),\r\n\t\t\"put\": this.put.bind(this),\r\n\t\t\"delete\": this.delete.bind(this)\r\n\t};\r\n\r\n\tconstructor(\r\n\t\tprivate backend: HttpBackend\r\n\t) {\r\n\t\tthis.http = new HttpClient(this.backend);\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * \r\n\t * @param values \r\n\t * @description creates http header\r\n\t */\r\n\tprivate getHttpHeaders(values): Object {\r\n\t\t\r\n\t\tconst headers: Map = new Map();\r\n\t\tlet dummyMap:Map=new Map(Object.entries(values));\t\t\r\n\t\t\tconst token = (userInfo.Token ? userInfo.Token : userInfo.token);\r\n\t\t\tdummyMap.delete(\"no-cookie\");\r\n\t\t\tdummyMap.delete(\"cookie\");\r\n\t\t\tif (!dummyMap.has(\"no-authorization\")){ headers.set('Authorization', 'Bearer ' + token);}else{dummyMap.delete(\"no-authorization\"); }\r\n\t\t\tif (!dummyMap.has('Ocp-Apim-Subscription-Key')) headers.set('Ocp-Apim-Subscription-Key', userInfo.OcpApimSubscriptionKey);\r\n\t\t\tif (dummyMap.has('userexecutioncontext')) headers.set('userexecutioncontext', JSON.stringify(userInfo.UserContext));\r\n\t\t\tif (dummyMap.has('requestverificationtoken')) headers.set('requestverificationtoken', userInfo.requestverificationtoken);\r\n\t\t\t//enable CoorelationId \r\n\t\t\theaders.set('x-gep-transaction-scope-id', this.getGUID());\r\n\t\t\t// fixing none collable eterator issue.\r\n\t\t\t// adding this eterator to copy the headers being passed from the portal/project-team end to create a new header and pss them into\r\n\t\t\tdummyMap.forEach((value,key) => {\r\n\t\t\t\tif(!headers.has(key)) headers.set(key, value);\r\n\t\t\t\t\r\n\t\t\t})\r\n\t\treturn new HttpHeaders(Object['fromEntries'](headers));\r\n\t}\r\n\r\n\tpublic createHttpMethod(options: CDSMetadata): Observable;\r\n\r\n\tpublic createHttpMethod(options: CdsMetadata): Observable;\r\n\r\n\tpublic createHttpMethod(options: any): Observable {\r\n\t\tconst header = this.getHttpHeaders(options.headers);\r\n\t\tconst httpOptions:any={headers:header};\r\n\t\tif (options.queryParams) httpOptions['params'] = options.queryParams;\r\n\t\tif (options.responseType) httpOptions['responseType'] = options.responseType;\r\n\t\thttpOptions[\"withCredentials\"]= Object(options.headers).hasOwnProperty(\"cookie\")?true:false;\r\n\t\treturn this.request[options.method.toLowerCase()](this.getBaseURL(options.endpoint), httpOptions, options.payload);\r\n\t}\r\n\r\n\r\n\tprivate getGUID() {\r\n\t\treturn 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n\t\t\tvar r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);\r\n\t\t\treturn v.toString(16);\r\n\t\t});\r\n\t}\r\n\r\n\tgetBaseURL(url:string){\r\n\t\tif(!url.startsWith(\"http\")){\r\n\t\t\treturn userInfo.ApiUrlBase + url;\r\n\t\t}\r\n\t\treturn url;\r\n\t}\r\n\t// #region requests\r\n\r\n\t/**\r\n\t * \r\n\t * @param endpoint \r\n\t * @param options \r\n\t * @description creates http get method\r\n\t */\r\n\tget(endpoint, options): Observable {\r\n\t\treturn this.http.get(endpoint, options);\r\n\t}\r\n\r\n\t/**\r\n\t * \r\n\t * @param endpoint \r\n\t * @param params \r\n\t * @param options\r\n\t * @description creates post method \r\n\t */\r\n\tpost(endpoint, options, params): Observable {\r\n\t\treturn this.http.post(endpoint, params, options);\r\n\t}\r\n\r\n\tput(endpoint, options, params): Observable {\r\n\t\treturn this.http.put(endpoint, params, options);\r\n\t}\r\n\r\n\tdelete(endpoint, options): Observable {\r\n\t\treturn this.http.delete(endpoint, options);\r\n\t}\r\n\r\n\t// #endregion\r\n\r\n}\r\n","import { HttpBackend, HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { coreVendors } from '@nexxe/core-vendors';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { CdsMetadata } from '../class/cds-metadata';\r\nimport { CDSMetadata } from '../class/CDSMetadata';\r\nimport { Status } from '../enums/status';\r\nimport { ICDSChange } from '../interfaces/icds';\r\nimport { CdsDataComposerService } from './cds-data-composer.service';\r\nimport { CdsHttpService } from './cds-http.service';\r\nimport { CdsStoreService } from './cds-store.service';\r\nimport { CdsUtilitiesService } from './cds-utilities.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CdsRequestService {\r\n\tprivate _channelService;\r\n\tpublic get channelService() {\r\n\t\treturn this._channelService;\r\n\t}\r\n\tpublic set channelService(value) {\r\n\t\tthis._channelService = value;\r\n\t}\r\n\tconstructor(\r\n\t\tprivate utility: CdsUtilitiesService,\r\n\t\tprivate injector: Injector,\r\n\t\tprivate store: CdsStoreService,\r\n\t\tprivate cdsHttp: CdsHttpService,\r\n\t\tprivate cdsComposer: CdsDataComposerService\r\n\t) {\r\n\r\n\t}\r\n\t/**\r\n\t\t * \r\n\t\t * @param req \r\n\t\t * @description creates http subscription and xhr requests\r\n\t\t */\r\n\texecute(req: CDSMetadata): void;\r\n\r\n\texecute(req: CdsMetadata): void;\r\n\r\n\texecute(req: any): void {\r\n\t\t//var date = new Date();\r\n\t\tvar http = this.cdsHttp.createHttpMethod(req);\r\n\t\treq.status = Status.progress;\r\n\r\n\t\tvar httpSubscription = http.subscribe((response) => {\r\n\t\t\tif (response && response.errorCode) this._channelService.send({\r\n\t\t\t\tfrom: \"CDS\",\r\n\t\t\t\tto: [{\r\n\t\t\t\t\treceiverName: 'CDS_ERROR_CODE_RECEIVER',\r\n\t\t\t\t\tacknowledged: false\r\n\t\t\t\t}],\r\n\t\t\t\taction: 'CDS_ERROR',\r\n\t\t\t\tparams: {\r\n\t\t\t\t\tresponse: response\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tresponse = response && response.data ? response.data : response;\r\n\t\t\tif (req.outputPath) {\r\n\t\t\t\tresponse = coreVendors.lodash.get(response, req.outputPath);\r\n\t\t\t}\r\n\t\t\treq.status = Status.success;\r\n\t\t\tthis.utility.updateResponse(req.key, req.id, response);\r\n\t\t\tthis.utility.updateStats(req.key, req.id, (new Date()).getTime());\r\n\t\t\tthis.store.request.next({ patch: { key: req.key, id: req.id }, store: response } as ICDSChange)\r\n\t\t\t//this.autoInvoke(req);\r\n\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tif (error && error.status == 403) {\r\n\t\t\t\t\tlet message = this._channelService.createMessage({\r\n\t\t\t\t\t\tfrom: \"CDS\",\r\n\t\t\t\t\t\ttoList: [\"ERROR_CODE_RECEIVER\"],\r\n\t\t\t\t\t\taction: '403_ERROR',\r\n\t\t\t\t\t\tparams: { response: error }\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis._channelService.send(message);\r\n\t\t\t\t}\r\n\t\t\t\treq.status = Status.failed;\r\n\t\t\t\tthis.store.request.next({ patch: { key: req.key, id: req.id }, store: error } as ICDSChange)\r\n\t\t\t}, () => {\r\n\t\t\t\thttpSubscription.unsubscribe();\r\n\t\t\t});\r\n\t}\r\n\r\n\texecuteMultiple(reqs: Array, keys: Array, ids: Array, responses: Object, pendingResponses: Array<{ obs: Observable, key: string, id: string }>);\r\n\texecuteMultiple(reqs: Array, keys: Array, ids: Array, responses: Object, pendingResponses: Array<{ obs: Observable, key: string, id: string }>);\r\n\texecuteMultiple(reqs: Array, keys: Array, ids: Array, responses: Object, pendingResponses: Array<{ obs: Observable, key: string, id: string }>) {\r\n\t\tlet http: Observable;\r\n\t\tlet count = reqs.length + pendingResponses.length;\r\n\t\tif (count === 0) this.store.request.next({ patch: { key: keys, id: ids }, store: responses } as ICDSChange);\r\n\t\tvar httpSubscriptions = new Subscription();\r\n\t\tif (pendingResponses.length) {\r\n\t\t\tpendingResponses.forEach(pro => httpSubscriptions.add(pro.obs.subscribe((c: { key, id, response }) => {\r\n\t\t\t\tresponses[pro.key] = this.utility.getExistingResponse(pro.key, pro.id);\r\n\t\t\t\tcount--;\r\n\t\t\t\tif (!count) {\r\n\t\t\t\t\thttpSubscriptions.unsubscribe();\r\n\t\t\t\t\tthis.store.request.next({ patch: { key: keys, id: ids }, store: responses } as ICDSChange);\r\n\t\t\t\t}\r\n\t\t\t})))\r\n\t\t}\r\n\t\tcoreVendors.lodash.forEach(reqs, (req) => {\r\n\t\t\thttp = this.cdsHttp.createHttpMethod(req)\r\n\t\t\treq.status = Status.progress\r\n\t\t\thttpSubscriptions.add(http.subscribe((response) => {\r\n\t\t\t\tif (response && response.errorCode) this._channelService.send({\r\n\t\t\t\t\tfrom: \"CDS\",\r\n\t\t\t\t\tto: [{\r\n\t\t\t\t\t\treceiverName: 'WORKSPACE',\r\n\t\t\t\t\t\tacknowledged: false\r\n\t\t\t\t\t}],\r\n\t\t\t\t\taction: 'CDS_ERROR',\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tresponse: response\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tresponse = response && response.data ? response.data : response;\r\n\t\t\t\treq.status = Status.success;\r\n\t\t\t\tthis.utility.updateResponse(req.key, req.id, response);\r\n\t\t\t\tthis.utility.updateStats(req.key, req.id, (new Date()).getTime());\r\n\t\t\t\tresponses[req.key] = response;\r\n\t\t\t\tcount--\r\n\t\t\t\tif (!count) {\r\n\t\t\t\t\thttpSubscriptions.unsubscribe();\r\n\t\t\t\t\tthis.store.request.next({ patch: { key: keys, id: ids }, store: responses } as ICDSChange);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\treq.status = Status.failed;\r\n\t\t\t\t\tthis.store.request.error({ patch: { key: keys, id: ids }, store: error } as ICDSChange);\r\n\t\t\t\t}));\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ICDSConfig } from '../interfaces/icdsconfig';\r\nimport { ICDS, ICDSChange } from '../interfaces/icds';\r\nimport { CdsMetadata } from '../class/cds-metadata';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { CDSMetadata } from '../class/CDSMetadata';\r\n\r\nexport interface IResponseCollection {\r\n\t[key: string]: any\r\n}\r\n\r\nexport interface ICall {\r\n\tmetadata: CdsMetadata | CDSMetadata,\r\n\tresponse: any\r\n}\r\n\r\n\r\nexport interface IActiveRequest {\r\n\t[key: string]: IRequest\r\n}\r\n\r\nexport interface IRequest {\r\n\t[key: string]: ICall\r\n}\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CdsStoreService {\r\n\r\n\trequest: BehaviorSubject;\r\n\tstream$: Observable;\r\n\tconfigStore = new Map();\r\n\r\n\r\n\tconstructor() {\r\n\t\tthis.request = new BehaviorSubject({\r\n\t\t\tstore: {},\r\n\t\t\tpatch: { key: '', id: '' }\r\n\t\t} as ICDSChange);\r\n\t\tthis.stream$ = this.request.asObservable();\r\n\t}\r\n\t/**\r\n\t * Cds Config \r\n\t*/\r\n\tCDSConfig: ICDSConfig;\r\n\tcurrentConfigStoreId: string;\r\n\r\n\t/**\r\n\t * metadata recevied when initial loading of the app will be saved here\r\n\t */\r\n\tMetadataCollection: ICDS = {};\r\n\r\n\tactivateStore(storeId: string) {\r\n\t\tthis.currentConfigStoreId = storeId;\r\n\t\tthis.CDSConfig = this.configStore.get(storeId);\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Active Requests \r\n\t*/\r\n\r\n\tActiveRequests: IActiveRequest = {};\r\n\t/* \r\n\t\tTODO:FIGURE out a way to associate the endpoint with store and use that to drop endponts from active requests when cds config is dropped.\r\n\t*/\r\n\r\n\t/**\r\n\t * maximum cached calls per API\r\n\t */\r\n\tMaximumCalls = 10;\r\n\r\n\treset(storeId?: string) {\r\n\t\tthis.CDSConfig = null;\r\n\t}\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { coreVendors } from '@nexxe/core-vendors';\r\nimport { iif, Observable, of, Subject, throwError } from 'rxjs';\r\nimport { filter, first, map, mergeMap } from 'rxjs/operators';\r\nimport { CdsMetadata } from '../class/cds-metadata';\r\nimport { CDSMetadata } from '../class/CDSMetadata';\r\nimport { Status } from '../enums/status';\r\nimport { ICDSChange, ParamsType } from '../interfaces/icds';\r\nimport { ICDSConfig } from '../interfaces/icdsconfig';\r\nimport { ICDSOptions } from '../interfaces/icdsoptions';\r\nimport { IContext } from '../interfaces/irequestmetadata';\r\nimport { CdsStoreService, IRequest } from './cds-store.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CdsUtilitiesService {\r\n\r\n\tprivate sub = new Subject<{ key: string, id: string, response: any }>();\r\n\tpublic responseStream$ = this.sub.asObservable();\r\n\tconstructor(private store: CdsStoreService) { }\r\n\r\n\tregisterMetadata(config: ICDSConfig, storeId: string) {\r\n\t\tthis.addConfigToStore(config, storeId);\r\n\t\tthis.store.reset();\r\n\t\tthis.store.activateStore(storeId || \"default\");\r\n\t}\r\n\r\n\tregisterExistingMetaData(storeId: string) {\r\n\t\tif (this.store.currentConfigStoreId !== storeId) {\r\n\t\t\tthis.store.reset();\r\n\t\t\tthis.store.activateStore(storeId);\r\n\t\t}\r\n\t}\r\n\r\n\taddConfigToStore(config: ICDSConfig, storeId: string) {\r\n\t\tif (storeId === 'default' || !this.store.configStore.get(storeId))\r\n\t\t\tthis.store.configStore.set(storeId, config);\r\n\t\telse\r\n\t\t\tthrow new Error(`The storeId \"${storeId}\" already exists in CDS.`);\r\n\r\n\t}\r\n\r\n\talreadyExistsInStore(storeId: string) {\r\n\t\treturn this.store.configStore.get(storeId);\r\n\t}\r\n\r\n\tremoveConfigFromStore(storeId: string) {\r\n\t\tif (this.store.configStore.has(storeId)) {\r\n\t\t\tconst endpoints = coreVendors.lodash.reduce(Object.keys(this.store.configStore.get(storeId).source), (acc, endpoint) => { acc.push(endpoint); return acc; }, [])\r\n\t\t\tcoreVendors.lodash.forEach(endpoints, endpoint => delete this.store.ActiveRequests[endpoint])\r\n\t\t\tthis.store.configStore.delete(storeId);\r\n\t\t}\r\n\t}\r\n\r\n\tgetMetadata(key: string): ICDSOptions {\r\n\t\tif (key) {\r\n\t\t\tif (this.store.CDSConfig.source[key]) return this.store.CDSConfig.source[key];\r\n\t\t\telse throw new Error('key not found');\r\n\t\t}\r\n\t}\r\n\r\n\tisExist(key): Boolean {\r\n\t\treturn this.getMetadata(key) ? true : false;\r\n\t}\r\n\r\n\tverifyExistingRequest(potentialMatchingMetadata: CDSMetadata, override?: boolean): CDSMetadata;\r\n\tverifyExistingRequest(potentialMatchingMetadata: CdsMetadata, override?: boolean): CdsMetadata;\r\n\r\n\tverifyExistingRequest(potentialMatchingMetadata: any, override?: boolean): any {\r\n\t\tif (!override) {\r\n\t\t\tif (this.isExist(potentialMatchingMetadata.key)) {\r\n\t\t\t\tconst cdsMetadata = this.hasInvokedBefore(potentialMatchingMetadata);\r\n\t\t\t\tif (cdsMetadata) {\r\n\t\t\t\t\treturn !this.isExpired(cdsMetadata) ? cdsMetadata : null;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tisExpired(cdsMetadata: CdsMetadata): boolean;\r\n\tisExpired(cdsMetadata: CDSMetadata): boolean;\r\n\r\n\tisExpired(cdsMetadata: any): boolean {\r\n\t\tif (cdsMetadata.status != Status.progress) {\r\n\t\t\treturn cdsMetadata.isExpired;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\thasInvokedBefore(potentialMatchingMetadata: CDSMetadata): CDSMetadata;\r\n\r\n\thasInvokedBefore(potentialMatchingMetadata: CdsMetadata): CdsMetadata;\r\n\r\n\thasInvokedBefore(potentialMatchingMetadata: any): any {\r\n\t\t//TODO add for loop to check if the object is available\r\n\t\tconst request = this.store.ActiveRequests[potentialMatchingMetadata.key];\r\n\t\tif (request) {\r\n\t\t\tconst calls = Object.keys(request);\r\n\t\t\tconst iteratorThreshold = calls.length > this.store.MaximumCalls ? calls.length - this.store.MaximumCalls : 0;\r\n\r\n\t\t\tfor (let i = calls.length - 1; i >= iteratorThreshold; i--) {\r\n\t\t\t\tif (potentialMatchingMetadata.endpoint === request[calls[i]].metadata.endpoint && coreVendors.lodash.isEqual(potentialMatchingMetadata.payload, request[calls[i]].metadata.payload) && coreVendors.lodash.isEqual(potentialMatchingMetadata.queryParams, request[calls[i]].metadata.queryParams)) {\r\n\t\t\t\t\treturn request[calls[i]].metadata;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\r\n\t}\r\n\r\n\tcreateNewRequest(key: string, params?: ParamsType, payload?: ParamsType, urlTemplate?: Object, isFormDataReq?: boolean, override?: boolean): string {\r\n\t\t/*using clone deep to save an instance of the the Params to be used later in compare to validate if the API invoked before or not.*/\r\n\t\tconst req: CdsMetadata = this.createCdsMetadata(key, params, payload, urlTemplate, isFormDataReq);\r\n\t\tlet matchedMetadata: CdsMetadata;\r\n\t\tif (!this.store.ActiveRequests[req.key]) {\r\n\t\t\tthis.store.ActiveRequests[req.key] = {};\r\n\t\t} else if (!isFormDataReq) {\r\n\t\t\tmatchedMetadata = this.verifyExistingRequest(req, override);\r\n\t\t}\r\n\t\tif (!matchedMetadata || isFormDataReq) {\r\n\t\t\tconst a = { [req.id]: { \"metadata\": req, \"response\": null } } as IRequest;\r\n\t\t\tthis.store.ActiveRequests[req.key] = { ...this.store.ActiveRequests[req.key], ...a };\r\n\t\t\treturn req.id;\r\n\t\t} else {\r\n\t\t\treturn matchedMetadata.id\r\n\t\t}\r\n\t}\r\n\r\n\tcreateRequest(key: string, context?: IContext, isFormDataReq?: boolean, override?: boolean): string {\r\n\t\t/*using clone deep to save an instance of the the Params to be used later in compare to validate if the API invoked before or not.*/\r\n\t\tconst req: CDSMetadata = this.createCDSMetadata(key, context);\r\n\t\tlet matchedMetadata: CDSMetadata;\r\n\t\tif (!this.store.ActiveRequests[req.key]) {\r\n\t\t\tthis.store.ActiveRequests[req.key] = {};\r\n\t\t} else if (!isFormDataReq) {\r\n\t\t\tmatchedMetadata = this.verifyExistingRequest(req, override);\r\n\t\t}\r\n\t\tif (!matchedMetadata || isFormDataReq) {\r\n\t\t\tconst a = { [req.id]: { \"metadata\": req, \"response\": null } } as IRequest;\r\n\t\t\tthis.store.ActiveRequests[req.key] = { ...this.store.ActiveRequests[req.key], ...a };\r\n\t\t\treturn req.id;\r\n\t\t} else {\r\n\t\t\treturn matchedMetadata.id\r\n\t\t}\r\n\t}\r\n\r\n\tcreateCdsMetadata(key: string, params?: ParamsType, payload?: ParamsType, urlTemplate?: Object, isFormDataReq?: boolean) {\r\n\t\tconst id = this.getID();\r\n\t\treturn new CdsMetadata(key, this.store.CDSConfig.source[key], this.store.CDSConfig, id, coreVendors.lodash.cloneDeep(params), isFormDataReq ? payload : coreVendors.lodash.cloneDeep(payload), urlTemplate);\r\n\t}\r\n\r\n\tcreateCDSMetadata(key: string, context?: IContext): CDSMetadata {\r\n\t\tconst id = this.getID();\r\n\t\treturn new CDSMetadata(key, this.store.CDSConfig.source[key], this.store.CDSConfig, id, context);\r\n\t}\r\n\r\n\tremoveKey(key: string, id: string) {\r\n\t\tdelete this.store.ActiveRequests[key][id];\r\n\t}\r\n\r\n\r\n\r\n\tpublishResponse(key, id) {\r\n\t\tthis.store.request.next({ patch: { key: key, id: id }, store: this.store.ActiveRequests[key][id].response } as ICDSChange);\r\n\t}\r\n\r\n\tgetInProgressResponse(key, id) {\r\n\t\treturn this.responseStream$.pipe(\r\n\t\t\tfilter(_ => _.key === key && _.id === id),\r\n\t\t\tfirst()\r\n\t\t)\r\n\r\n\t}\r\n\r\n\tgetExistingResponse(key: string, id: string) {\r\n\t\treturn this.store.ActiveRequests[key][id].response;\r\n\t}\r\n\r\n\tgetMetadataStatus(key: string, id: string) {\r\n\t\tconst metadata = this.getCdsMetadata(key, id);\r\n\t\treturn metadata.status;\r\n\t}\r\n\r\n\tgetCdsMetadata(key: string, id: string) {\r\n\t\treturn this.store.ActiveRequests[key] && this.store.ActiveRequests[key][id] && this.store.ActiveRequests[key][id].metadata;\r\n\t}\r\n\r\n\t/**\r\n\t * \r\n\t * @param key \r\n\t * @description return an observable for the triggered API\r\n\t */\r\n\tgetResponse(keys: string | Array, ids: string | Array): Observable {\r\n\t\treturn this.store.stream$.pipe(\r\n\t\t\tfilter(_ => _.patch.key == keys && _.patch.id == ids),\r\n\t\t\tfirst(),\r\n\t\t\tmergeMap(change => iif(() =>\r\n\t\t\t\tchange.store instanceof HttpErrorResponse,\r\n\t\t\t\t>throwError(change),\r\n\t\t\t\t>of(change)\r\n\t\t\t)\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\tgetFormDataResponse(keys: string | Array, ids: string | Array) {\r\n\t\treturn this.store.stream$.pipe(filter(_ => _.patch.key == keys && _.patch.id == ids), map((_) => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.removeKey(keys, ids);\r\n\t\t\t});\r\n\t\t\treturn _\r\n\t\t}))\r\n\t}\r\n\r\n\t// #region CDSOptions\r\n\r\n\tupdateStatus(key, status): void {\r\n\t\tconst node = this.getMetadata(key);\r\n\t\tnode.status = status;\r\n\t}\r\n\r\n\tupdateStats(key, id, stats: number): void {\r\n\t\tconst node = this.getCdsMetadata(key, id);\r\n\t\tnode && (node.lastSuccess = stats);\r\n\t}\r\n\r\n\tupdateResponse(key: string, id: string, response): void {\r\n\t\tthis.store.ActiveRequests[key] && this.store.ActiveRequests[key][id] && ((this.store.ActiveRequests[key][id].response = response) && this.sub.next({ key, id, response }));\r\n\t}\r\n\r\n\t// #endregion\r\n\r\n\r\n\t// #region Queue\r\n\r\n\tupdateQueue(req: CdsMetadata,): void {\r\n\t\tif (!this.store.ActiveRequests[req.key]) {\r\n\t\t\tthis.store.ActiveRequests[req.key] = {};\r\n\t\t}\r\n\t\tconst a = { [req.id]: { \"params\": req.queryParams, \"payload\": req.payload } };\r\n\t}\r\n\tremoveFromQueue(req: CdsMetadata): void {\r\n\t\tthis.store.ActiveRequests[req.key] && coreVendors.lodash.omit(this.store.ActiveRequests, [req.key]);\r\n\t}\r\n\tisInQueue(req: CdsMetadata): boolean {\r\n\t\treturn coreVendors.lodash.has(this.store.ActiveRequests, req.key);\r\n\t}\r\n\tcheckAvailableInQueue(key: string): boolean {\r\n\t\treturn this.store.ActiveRequests[key] ? true : false;\r\n\t}\r\n\r\n\r\n\t// #endregion\r\n\r\n\r\n\r\n\tgetID(): string {\r\n\t\t// Math.random should be unique because of its seeding algorithm.\r\n\t\t// Convert it to base 36 (numbers + letters), and grab the first 9 characters\r\n\t\t// after the decimal.\r\n\t\treturn '_' + Math.random().toString(36).substr(2, 9);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { coreVendors } from '@nexxe/core-vendors';\r\nimport { Observable } from 'rxjs';\r\nimport { CdsMetadata } from '../class/cds-metadata';\r\nimport { Status } from '../enums/status';\r\nimport { ParamsType } from '../interfaces/icds';\r\nimport { ICDSConfig } from '../interfaces/icdsconfig';\r\nimport { CdsDataComposerService } from './cds-data-composer.service';\r\nimport { CdsRequestService } from './cds-request.service';\r\nimport { CdsUtilitiesService } from './cds-utilities.service';\r\n\r\n\r\nexport function MethodDepricator(deprecation: IMethodDeprecatorMetaData): MethodDecorator {\r\n\tconst innerFunc = function (target: Function, name: string, descriptor: any) {\r\n\r\n\t\tconst originalMethod = descriptor.value;\r\n\t\tconst message = deprecation.message ?\r\n\t\t\tdeprecation.message :\r\n\t\t\t`The method \"${name}\", in the class \"${target.constructor.name}\", is deprecated and will no longer be supported`\r\n\t\t\t+ (deprecation.date ? ` from ${deprecation.date}.` : ` in the future releases.`)\r\n\t\t\t+ (deprecation.alternate ? ` Please use ${deprecation.alternate} instead.` : ``)\r\n\r\n\r\n\t\tdescriptor.value = function (...args: any[]) {\r\n\t\t\tconsole.warn(message);\r\n\t\t\treturn originalMethod.apply(this, args);\r\n\t\t}\r\n\r\n\t\treturn descriptor;\r\n\t}\r\n\treturn innerFunc;\r\n}\r\n\r\nexport interface IMethodDeprecatorMetaData {\r\n\tmessage?: string;\r\n\tdate?: string;\r\n\talternate?: string;\r\n}\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CdsService {\r\n\r\n\tconstructor(\r\n\t\tprivate utilities: CdsUtilitiesService,\r\n\t\tprivate cdsRequest: CdsRequestService,\r\n\t\tprivate cdsComposer: CdsDataComposerService\r\n\t) {\r\n\t\tCdsMetadata.cdsDataComposer = this.cdsComposer;\r\n\t}\r\n\t@MethodDepricator({\r\n\t\tdate: '04/01/2021',\r\n\t\talternate: 'the method \"load\" in the \"ConfigurableDataSourceService\" class'\r\n\t})\r\n\tload(config: ICDSConfig, storeId: string = 'default') {\r\n\t\t//this is to fix the signature of the object comes up from from the CDN.\r\n\t\tif (Array.isArray(config.source)) {\r\n\t\t\tconfig.source = config.source[0];\r\n\t\t}\r\n\t\tthis.utilities.registerMetadata(config, storeId);\r\n\t}\r\n\r\n\tprivate loadExisting(storeId: string) {\r\n\t\tthis.utilities.registerExistingMetaData(storeId);\r\n\t}\r\n\r\n\tunload(storeId: string) {\r\n\t\tthis.utilities.removeConfigFromStore(storeId);\r\n\t}\r\n\r\n\texistsInStore(storeId: string) {\r\n\t\treturn this.utilities.alreadyExistsInStore(storeId);\r\n\t}\r\n\r\n\t/**\r\n\t * \r\n\t * @param key CDS ID\r\n\t * @param params params required \r\n\t * @param payload in case of the call type is post\r\n\t * @param override to inforce invoking a new API everytime\r\n\t */\r\n\t@MethodDepricator({\r\n\t\tdate: '04/01/2021',\r\n\t\talternate: 'the method \"request\" in the \"ConfigurableDataSourceService\" class'\r\n\t})\r\n\trequest(keys: string | Array, params?: ParamsType | Array, payload?: ParamsType | Array, urltemplate?: Object | Array, override?: boolean | Array, storeId: string = 'default'): Observable {\r\n\t\tthis.loadExisting(storeId);\r\n\t\treturn Array.isArray(keys) ? this.requestMultiple(keys, >params, >payload, >urltemplate, >override) : this.requestSingle(keys, params, payload, urltemplate, override);\r\n\t}\r\n\r\n\t@MethodDepricator({\r\n\t\tdate: '04/01/2021',\r\n\t\talternate: 'the method \"requestWithFormData\" in the \"ConfigurableDataSourceService\" class'\r\n\t})\r\n\trequestWithFormData(key: string, params?: ParamsType, payload?: ParamsType, urltemplate?: Object) {\r\n\t\tconst id = this.utilities.createNewRequest(key, params, payload, urltemplate, true);\r\n\t\tthis.executeRequest(key, id);\r\n\t\treturn this.utilities.getFormDataResponse(key, id);\r\n\t}\r\n\r\n\tprivate requestSingle(key: string, params?: ParamsType, payload?: ParamsType, urltemplate?: Object, override?: boolean) {\r\n\t\tconst id = this.utilities.createNewRequest(key, params, payload, urltemplate, false, override);\r\n\t\tthis.executeRequest(key, id);\r\n\t\treturn this.utilities.getResponse(key, id);\r\n\t}\r\n\r\n\tprivate requestMultiple(keys: Array, params?: Array, payload?: Array, urltemplate?: Array, override?: Array): Observable {\r\n\t\tlet ids = [];\r\n\t\tcoreVendors.lodash.forEach(keys, (key, index) => {\r\n\t\t\tconst id = this.utilities.createNewRequest(key, params && params[index], payload && payload[index], urltemplate && urltemplate[index], false, override && override[index]);\r\n\t\t\tids.push(id);\r\n\t\t})\r\n\t\tthis.executeRequest(keys, ids);\r\n\t\treturn this.utilities.getResponse(keys, ids);\r\n\t}\r\n\r\n\t///TO DO execute\r\n\tprivate executeRequest(keys: string | Array, ids: string | Array) {\r\n\t\tif (typeof ids === 'string' && typeof keys === 'string') {\r\n\t\t\tthis.executeSingleRequest(keys, ids)\r\n\t\t} else if (Array.isArray(keys) && Array.isArray(ids)) {\r\n\t\t\tthis.executeMultipleRequests(keys, ids);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate executeSingleRequest(key: string, id: string) {\r\n\t\tconst status = this.utilities.getMetadataStatus(key, id);\r\n\t\tif (status == Status.success) {\r\n\t\t\tthis.utilities.publishResponse(key, id);\r\n\t\t}\r\n\t\telse if (status == Status.notUsed) {\r\n\t\t\tthis.cdsRequest.execute(this.utilities.getCdsMetadata(key, id));\r\n\t\t} else if (status === Status.progress) {\r\n\t\t\tthis.utilities.getInProgressResponse(key, id).subscribe(() => {\r\n\t\t\t\tthis.utilities.publishResponse(key, id);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tprivate executeMultipleRequests(keys: Array, ids: Array) {\r\n\t\tconst responses = {};\r\n\t\tconst cdsMetaDataArray = Array();\r\n\t\tconst pendingResponses = Array<{ obs: Observable, key: string, id: string }>();\r\n\t\tcoreVendors.lodash.forEach(keys, (key, index) => {\r\n\t\t\tconst status = this.utilities.getMetadataStatus(key, ids[index]);\r\n\t\t\tif (status == Status.success) {\r\n\t\t\t\tresponses[key] = this.utilities.getExistingResponse(key, ids[index]);\r\n\t\t\t}\r\n\t\t\telse if (status == Status.notUsed) {\r\n\t\t\t\tcdsMetaDataArray.push(this.utilities.getCdsMetadata(key, ids[index]));\r\n\t\t\t}\r\n\t\t\telse if (status == Status.progress) {\r\n\t\t\t\tpendingResponses.push({ obs: this.utilities.getInProgressResponse(key, index), key, id: ids[index] });\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.cdsRequest.executeMultiple(cdsMetaDataArray, keys, ids, responses, pendingResponses);\r\n\t}\r\n\r\n\tregisterServices(services: { [key: string]: Object }) {\r\n\t\tthis.cdsComposer.dataModelService = services['DmDataModelManagerService'];\r\n\t}\r\n}\r\n\r\n\r\n","import { Inject, Injectable, Injector } from '@angular/core';\r\nimport { coreVendors } from '@nexxe/core-vendors';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { CDSMetadata } from '../class/CDSMetadata';\r\nimport { Status } from '../enums/status';\r\nimport { ParamsType } from '../interfaces/icds';\r\nimport { ICDSConfig } from '../interfaces/icdsconfig';\r\nimport { IContext, IRequestOptions } from '../interfaces/irequestmetadata';\r\nimport { CdsDataComposerService } from './cds-data-composer.service';\r\nimport { CdsRequestService } from './cds-request.service';\r\nimport { CdsUtilitiesService } from './cds-utilities.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ConfigurableDataSourceService {\r\n\tprivate get utilities(): CdsUtilitiesService { return this.ngInjector.get(CdsUtilitiesService); }\r\n\tprivate get cdsRequest(): CdsRequestService { return this.ngInjector.get(CdsRequestService); }\r\n\tprivate get cdsComposer(): CdsDataComposerService { return this.ngInjector.get(CdsDataComposerService); }\r\n\r\n\tconstructor(@Inject(Injector) private ngInjector: Injector) {\r\n\t\tCDSMetadata.cdsDataComposer = this.cdsComposer;\r\n\t}\r\n\r\n\tload(config: ICDSConfig, storeId: string = 'default') {\r\n\t\t//this is to fix the signature of the object comes up from from the CDN.\r\n\t\tif (Array.isArray(config.source)) {\r\n\t\t\tconfig.source = config.source[0];\r\n\t\t}\r\n\t\tthis.utilities.registerMetadata(config, storeId);\r\n\t}\r\n\r\n\tprivate loadExisting(storeId: string) {\r\n\t\tthis.utilities.registerExistingMetaData(storeId);\r\n\t}\r\n\r\n\tunload(storeId: string) {\r\n\t\tthis.utilities.removeConfigFromStore(storeId);\r\n\t}\r\n\r\n\t/**\r\n\t * \r\n\t * @param key CDS ID\r\n\t * @param params params required \r\n\t * @param payload in case of the call type is post\r\n\t * @param override to inforce invoking a new API everytime\r\n\t */\r\n\r\n\trequest(requestMetadata: IRequestOptions): Observable {\r\n\t\tthis.loadExisting(requestMetadata.storeId ? requestMetadata.storeId : 'default');\r\n\t\treturn Array.isArray(requestMetadata.keys) ? this.requestMultiple(requestMetadata.keys, >requestMetadata.contexts, >requestMetadata.override) : this.requestSingle(requestMetadata.keys, requestMetadata.contexts, requestMetadata.override);\r\n\t}\r\n\r\n\tprivate requestSingle(key: string, context: IContext, override?: boolean) {\r\n\t\tconst id = this.utilities.createRequest(key, context, false, override);\r\n\t\tthis.executeRequest(key, id);\r\n\t\treturn this.utilities.getResponse(key, id);\r\n\t}\r\n\r\n\trequestWithFormData(requestMetadata: IRequestOptions) {\r\n\t\tthis.loadExisting(requestMetadata.storeId ? requestMetadata.storeId : 'default');\r\n\t\tconst id = this.utilities.createRequest(requestMetadata.keys, requestMetadata.contexts, true);\r\n\t\tthis.executeRequest(requestMetadata.keys, id);\r\n\t\treturn this.utilities.getFormDataResponse(requestMetadata.keys, id);\r\n\t}\r\n\r\n\tprivate requestMultiple(keys: Array, contexts?: Array, override?: Array): Observable {\r\n\t\tlet ids = [];\r\n\t\tcoreVendors.lodash.forEach(keys, (key, index) => {\r\n\t\t\tconst id = this.utilities.createRequest(key, contexts && contexts[index], false, override[index]);\r\n\t\t\tids.push(id);\r\n\t\t})\r\n\t\tthis.executeRequest(keys, ids);\r\n\t\treturn this.utilities.getResponse(keys, ids);\r\n\t}\r\n\r\n\t///TO DO execute\r\n\tprivate executeRequest(keys: string | Array, ids: string | Array) {\r\n\t\tif (typeof ids === 'string' && typeof keys === 'string') {\r\n\t\t\tthis.executeSingleRequest(keys, ids)\r\n\t\t} else if (Array.isArray(keys) && Array.isArray(ids)) {\r\n\t\t\tthis.executeMultipleRequests(keys, ids);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate executeSingleRequest(key: string, id: string) {\r\n\t\tconst status = this.utilities.getMetadataStatus(key, id);\r\n\t\tif (status == Status.success) {\r\n\t\t\tthis.utilities.publishResponse(key, id);\r\n\t\t}\r\n\t\telse if (status == Status.notUsed) {\r\n\t\t\tthis.cdsRequest.execute(this.utilities.getCdsMetadata(key, id));\r\n\t\t}\r\n\t\telse if (status === Status.progress) {\r\n\t\t\tthis.utilities.getInProgressResponse(key, id).subscribe(() => {\r\n\t\t\t\tthis.utilities.publishResponse(key, id);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tprivate executeMultipleRequests(keys: Array, ids: Array) {\r\n\t\tconst responses = {};\r\n\t\tconst cdsMetaDataArray = Array();\r\n\t\tconst pendingResponses = Array<{ obs: Observable, key: string, id: string }>();\r\n\t\tcoreVendors.lodash.forEach(keys, (key, index) => {\r\n\t\t\tconst status = this.utilities.getMetadataStatus(key, ids[index]);\r\n\t\t\tif (status == Status.success) {\r\n\t\t\t\tresponses[key] = this.utilities.getExistingResponse(key, ids[index]);\r\n\t\t\t}\r\n\t\t\telse if (status == Status.notUsed) {\r\n\t\t\t\tcdsMetaDataArray.push(this.utilities.getCdsMetadata(key, ids[index]));\r\n\t\t\t}\r\n\t\t\telse if (status == Status.progress) {\r\n\t\t\t\tpendingResponses.push({ obs: this.utilities.getInProgressResponse(key, ids[index]), key, id: ids[index] });\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.cdsRequest.executeMultiple(cdsMetaDataArray, keys, ids, responses, pendingResponses);\r\n\t}\r\n\r\n\tregisterServices({ DmDataModelManagerService, ChannelService }: { [key: string]: Object }) {\r\n\t\tDmDataModelManagerService && (this.cdsComposer.dataModelService = DmDataModelManagerService);\r\n\t\tChannelService && (this.cdsRequest.channelService = ChannelService);\r\n\t}\r\n\r\n}\r\n","module.exports = window[\"umle.ng.common\"];","module.exports = window[\"umle.ng.common.http\"];","module.exports = window[\"umle.ng.core\"];","module.exports = window[\"umle.rxjs\"];","module.exports = window[\"umle.rxjs.operators\"];","module.exports = window[\"umle.tslib\"];"],"sourceRoot":"webpack:///"}