mobicloud-core 1.17.53 → 1.17.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -56,4 +56,4 @@ export class CloudApplicationInfo {
|
|
|
56
56
|
}
|
|
57
57
|
export class DataApplicationInfo {
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV0YWlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHlwZXMvYXBwbGljYXRpb24tZGV0YWlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCO0NBdUM5QjtBQUVELE1BQU0sT0FBTyxlQUFlO0NBTTNCO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBTVg7QUFORCxXQUFZLHdCQUF3QjtJQUVoQyx5Q0FBYSxDQUFBO0lBQ2IsbURBQXVCLENBQUE7SUFDdkIscURBQXlCLENBQUE7SUFDekIsMkNBQWUsQ0FBQTtBQUNuQixDQUFDLEVBTlcsd0JBQXdCLEtBQXhCLHdCQUF3QixRQU1uQztBQUVELE1BQU0sT0FBTyxzQkFBc0I7Q0FJbEM7QUFFRCxNQUFNLE9BQU8sZ0NBQWdDO0NBSTVDO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBT1g7QUFQRCxXQUFZLG1CQUFtQjtJQUUzQixvQ0FBYSxDQUFBO0lBQ2Isd0NBQWlCLENBQUE7SUFDakIsb0RBQTZCLENBQUE7SUFDN0IsOENBQXVCLENBQUE7SUFDdkIsc0VBQStDLENBQUE7QUFDbkQsQ0FBQyxFQVBXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFPOUI7QUFFRCxNQUFNLE9BQU8sa0JBQWtCO0NBSTlCO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FLMUI7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0NBRTdCO0FBRUQsTUFBTSxDQUFOLElBQVkseUJBS1g7QUFMRCxXQUFZLHlCQUF5QjtJQUVqQyw0Q0FBZSxDQUFBO0lBQ2YsOENBQWlCLENBQUE7SUFDakIsZ0RBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQUxXLHlCQUF5QixLQUF6Qix5QkFBeUIsUUFLcEM7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0NBRTdCO0FBRUQsTUFBTSxDQUFOLElBQVksMkJBSVg7QUFKRCxXQUFZLDJCQUEyQjtJQUVuQyw0REFBNkIsQ0FBQTtJQUM3QiwwREFBMkIsQ0FBQTtBQUMvQixDQUFDLEVBSlcsMkJBQTJCLEtBQTNCLDJCQUEyQixRQUl0QztBQUVELE1BQU0sT0FBTyxhQUFhO0NBR3pCO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FLMUI7QUFFRCxNQUFNLE9BQU8sWUFBWTtDQUl4QjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFFbkIsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7SUFDYixnQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsV0FBVyxLQUFYLFdBQVcsUUFLdEI7QUFFRCxNQUFNLE9BQU8sb0JBQW9CO0NBV2hDO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtDQU8vQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkRldGFpbHMge1xuXHROYW1lITogICAgICAgICAgICAgICBcdFx0c3RyaW5nO1xuICAgIE9yZ2FuaXphdGlvbklkITogICAgIFx0XHRzdHJpbmc7XG5cdE9yZ2FuaXphdGlvbk5hbWUhOlx0XHRcdHN0cmluZzsgICAgXG4gICAgT3JnYW5pemF0aW9uRW1haWwhOiAgXHRcdHN0cmluZzsgICAgXG4gICAgT3JnYW5pemF0aW9uQWNjb3VudE51bWJlciE6IHN0cmluZztcbiAgICBTdG9yYWdlQWNjb3VudE5hbWUhOiAgICAgICAgc3RyaW5nO1xuICAgIFNlcnZpY2VidXNOYW1lITogICAgICAgICAgICBzdHJpbmc7XG5cbiAgICBIYXNoZWRQYXNzd29yZHMhOiAgICBcdFx0Ym9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICBDZXJ0aWZpY2F0ZUxvZ2luITogICBcdFx0Ym9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICBBbGxvd1N1Yk9yZ2FuaXphdGlvbnMhOiAgIFx0Ym9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICBPd25lck9yZ2FuaXphdGlvbklkOiAgICAgXHRcdHN0cmluZyB8IHVuZGVmaW5lZDtcblx0T3duZXJPcmdhbml6YXRpb25OYW1lOlx0XHRcdHN0cmluZyB8IHVuZGVmaW5lZDsgXG4gICAgT3duZXJPcmdhbml6YXRpb25BY2NvdW50TnVtYmVyOlx0XHRcdHN0cmluZyB8IHVuZGVmaW5lZDsgXG5cbiAgICBJc01hc3Rlck9yZ2FuaXphdGlvbiE6ICAgXHRcdGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBNYXBQcm92aWRlcj86ICAgICAgICAgICAgICAgTWFwUHJvdmlkZXIgfCB1bmRlZmluZWQ7XG4gICAgTWFwUHJvdmlkZXJLZXk/OiAgICAgICAgICAgIHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIEN1cnJlbmN5PzogICAgICAgICAgICBDb21wYW55Q3VycmVuY3kgfCB1bmRlZmluZWQ7XG4gICAgV21zTG9jYXRpb25TZXR0aW5nPzogICAgICAgICAgICBXbXNMb2NhdGlvblNldHRpbmcgfCB1bmRlZmluZWQ7XG4gICAgSm91cm5hbFNldHRpbmc/OiAgICAgICAgICAgICAgICBKb3VybmFsU2V0dGluZyB8IHVuZGVmaW5lZDtcbiAgICBTZXJ2aWNlUGxhbm5pbmdTZXR0aW5nPzogICAgICAgICAgICBTZXJ2aWNlUGxhbm5pbmdTZXR0aW5nIHwgdW5kZWZpbmVkO1xuICAgIFdlYnNoaXBwZXJTZXR0aW5nPzogICAgICAgICAgICBXZWJzaGlwcGVyU2V0dGluZyB8IHVuZGVmaW5lZDtcbiAgICBTaGlwbWVudFNldHRpbmdzPzogICAgICAgICAgICBhbnkgfCB1bmRlZmluZWQ7XG4gICAgTW9kdWxlU2V0dGluZz86ICAgICAgICAgICAgTW9kdWxlU2V0dGluZyB8IHVuZGVmaW5lZDtcblxuICAgIFByb2R1Y3Rpb25TZXR0aW5nPzogICAgICAgICAgICBQcm9kdWN0aW9uU2V0dGluZyB8IHVuZGVmaW5lZDtcblxuICAgIERlZmF1bHREYXNoYm9hcmRTbGlkZVNob3dTZXR0aW5nPzogICAgICAgICAgICBEZWZhdWx0RGFzaGJvYXJkU2xpZGVTaG93U2V0dGluZyB8IHVuZGVmaW5lZDtcblxuICAgIERlZmF1bHRJbnZlbnRMb2NhdGlvbklkPzogICAgICAgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIERlZmF1bHRJbnZlbnRMb2NhdGlvbj86ICAgICAgICAgYW55IHwgdW5kZWZpbmVkO1xuXG4gICAgQ2xvdWRBcHBsaWNhdGlvbnM/OiAgICAgICAgICAgIENsb3VkQXBwbGljYXRpb25JbmZvW10gfCB1bmRlZmluZWQ7XG4gICAgRGF0YUFwcGxpY2F0aW9ucz86ICAgICAgICAgICAgRGF0YUFwcGxpY2F0aW9uSW5mb1tdIHwgdW5kZWZpbmVkO1xuICAgIC8vIE1vYmlzb2x1dGlvbnNDbG91ZEFwcGxpY2F0aW9uPzogICAgICAgICAgICBDbG91ZEFwcGxpY2F0aW9uSW5mbyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGNsYXNzIENvbXBhbnlDdXJyZW5jeSB7XG4gICAgSWQ/OiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBOYW1lPzogICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIERlc2NyaXB0aW9uPzogICAgICAgICAgICAgICBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQ3VycmVuY3lJZD86ICAgICAgICAgICAgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIENvZGU/OiAgICAgICAgICAgICAgICAgIHN0cmluZyB8IHVuZGVmaW5lZDsgICAgICBcbn1cblxuZXhwb3J0IGVudW0gRW1wbG95ZWVTZWN1cml0eVJvbGVUeXBlXG57XG4gICAgTm9uZSA9IFwiTm9uZVwiLFxuICAgIFN1cGVyVXNlciA9IFwiU3VwZXJVc2VyXCIsXG4gICAgQWNjb3VudGFudCA9IFwiQWNjb3VudGFudFwiLFxuICAgIEFkbWluID0gXCJBZG1pblwiLFxufVxuXG5leHBvcnQgY2xhc3MgU2VydmljZVBsYW5uaW5nU2V0dGluZyB7XG4gICAgVGFza1BhcnRfU2VydmljZVJlcG9ydElkPzogICAgICAgICAgICAgICBcdCAgICBzdHJpbmd8dW5kZWZpbmVkO1xuICAgIFRhc2tQYXJ0X0FwcHJvdmVNb2RlPzogICAgICAgICAgICAgICAgICBUYXNrUGFydEFwcHJvdmVNb2RlfHVuZGVmaW5lZDtcbiBcbn1cblxuZXhwb3J0IGNsYXNzIERlZmF1bHREYXNoYm9hcmRTbGlkZVNob3dTZXR0aW5nIHtcbiAgICBTdGFydHVwSWQ/OiAgICAgICAgICAgICAgIFx0ICAgIHN0cmluZ3x1bmRlZmluZWQ7XG4gICAgU3RhcnR1cE5hbWU/OiAgICAgICAgICAgICAgICAgIHN0cmluZ3x1bmRlZmluZWQ7XG4gXG59XG5cbmV4cG9ydCBlbnVtIFRhc2tQYXJ0QXBwcm92ZU1vZGVcbntcbiAgICBOb25lID0gXCJOb25lXCIsXG4gICAgUG9zdGVkID0gXCJQb3N0ZWRcIixcbiAgICBDcmVhdGVSZXBvcnQgPSBcIkNyZWF0ZVJlcG9ydFwiLFxuICAgIFNlbmRFbWFpbCA9IFwiU2VuZEVtYWlsXCIsXG4gICAgQ3JlYXRlUmVwb3J0U2VuZEVtYWlsID0gXCJDcmVhdGVSZXBvcnRTZW5kRW1haWxcIixcbn1cblxuZXhwb3J0IGNsYXNzIFdtc0xvY2F0aW9uU2V0dGluZyB7XG4gICAgUGF0dGVybj86ICAgICAgICAgICAgICAgXHQgICAgc3RyaW5nfHVuZGVmaW5lZDtcbiAgICBVcGRhdGVPbkNoYW5nZT86ICAgICAgICAgICAgICAgICAgYm9vbGVhbnx1bmRlZmluZWQ7XG5cbn1cblxuZXhwb3J0IGNsYXNzIEpvdXJuYWxTZXR0aW5nIHtcbiAgICBBcHByb3ZhbF9Db3VudGluZ0pvdXJuYWw/OiAgICAgIHN0cmluZ3x1bmRlZmluZWQ7XG4gICAgQXBwcm92YWxfVHJhbnNmZXJKb3VybmFsPzogICAgICBzdHJpbmd8dW5kZWZpbmVkO1xuICAgIEFwcHJvdmFsX1JlY2VpdmluZ0pvdXJuYWw/OiAgICAgc3RyaW5nfHVuZGVmaW5lZDtcbiAgICBBcHByb3ZhbF9Qcm9maXRMb3NzSm91cm5hbD86ICAgIHN0cmluZ3x1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0aW9uU2V0dGluZyB7XG4gICAgRGVmYXVsdE1ycExldmVsPzogICAgIFByb2R1Y3Rpb25TZXR0aW5nTXJwTGV2ZWx8dW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZW51bSBQcm9kdWN0aW9uU2V0dGluZ01ycExldmVsXG57XG4gICAgTVJQX0kgPSBcIk1SUF9JXCIsXG4gICAgTVJQX0lJID0gXCJNUlBfSUlcIixcbiAgICBNUlBfSUlJID0gXCJNUlBfSUlJXCJcbn1cblxuZXhwb3J0IGNsYXNzIFdlYnNoaXBwZXJTZXR0aW5nIHtcbiAgICBQYWNrYWdlV2VpZ2h0TW9kZT86ICAgICBXZWJzaGlwcGVyUGFja2FnZVdlaWdodE1vZGV8dW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZW51bSBXZWJzaGlwcGVyUGFja2FnZVdlaWdodE1vZGVcbntcbiAgICBQYWNrYWdlRml4ZWQgPSBcIlBhY2thZ2VGaXhlZFwiLFxuICAgIEl0ZW1zV2VpZ2h0ID0gXCJJdGVtc1dlaWdodFwiXG59XG5cbmV4cG9ydCBjbGFzcyBNb2R1bGVTZXR0aW5nIHtcbiAgICBTb2x1dGlvbnM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICBBZGRPbnM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2ZpbGVEZXRhaWxzIHtcbiAgICBJZD86ICAgICAgICAgICAgICAgXHQgICAgc3RyaW5nfHVuZGVmaW5lZDtcbiAgICBOYW1lPzogICAgICAgICAgICAgICAgICBzdHJpbmd8dW5kZWZpbmVkO1xuXHRJbWFnZT86ICAgICAgICAgICAgICAgICBQcm9maWxlSW1hZ2V8dW5kZWZpbmVkOyAgICBcbiAgICBVc2VyPzogICAgICAgICAgICAgICAgICBhbnl8dW5kZWZpbmVkOyAgXG59XG5cbmV4cG9ydCBjbGFzcyBQcm9maWxlSW1hZ2Uge1xuXHRTdG9yYWdlQWNjb3VudE5hbWU/OiAgICBzdHJpbmd8dW5kZWZpbmVkO1xuICAgIEJsb2JDb250YWluZXJOYW1lOiAgICAgXHRzdHJpbmd8dW5kZWZpbmVkO1xuXHRCbG9iTmFtZT86ICAgICAgICAgICAgICBzdHJpbmd8dW5kZWZpbmVkOyAgICBcbn1cblxuZXhwb3J0IGVudW0gTWFwUHJvdmlkZXJcbntcbiAgICBOb25lID0gXCJOb25lXCIsXG4gICAgQmluZyA9IFwiQmluZ1wiLFxuICAgIEdvb2dsZSA9IFwiR29vZ2xlXCJcbn1cblxuZXhwb3J0IGNsYXNzIENsb3VkQXBwbGljYXRpb25JbmZvIHtcbiAgICBJZD86ICAgICAgICAgICAgICAgXHQgICAgc3RyaW5nfHVuZGVmaW5lZDtcbiAgICBOYW1lPzogICAgICAgICAgICAgICBcdCAgICBzdHJpbmd8dW5kZWZpbmVkO1xuICAgIEFwcGxpY2F0aW9uTmFtZT86ICAgICAgICAgICBzdHJpbmd8dW5kZWZpbmVkO1xuICAgIFB1YmxpY1VybD86ICAgICAgICAgc3RyaW5nfHVuZGVmaW5lZDtcbiAgICBEYXRhQ29ubmVjdG9yTmFtZT86ICAgICAgICAgc3RyaW5nfHVuZGVmaW5lZDtcbiAgICBEYXRhQ29ubmVjdG9yVHlwZU5hbWU/OiAgICAgc3RyaW5nfHVuZGVmaW5lZDtcblxuICAgIERhdGFDb25uZWN0b3JfQ29ubmVjdG9yVHlwZT86ICAgICBzdHJpbmd8dW5kZWZpbmVkO1xuICAgIERhdGFDb25uZWN0b3JfQ2F0ZWdvcnk/OiAgICAgc3RyaW5nfHVuZGVmaW5lZDtcbiAgICBEYXRhQ29ubmVjdG9yX0RlZmF1bHQ/OiAgICAgYm9vbGVhbnx1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhQXBwbGljYXRpb25JbmZvIHtcbiAgICBJZD86ICAgICAgICAgICAgICAgXHQgICAgc3RyaW5nfHVuZGVmaW5lZDtcbiAgICBOYW1lPzogICAgICAgICAgICAgICBcdCAgICBzdHJpbmd8dW5kZWZpbmVkO1xuICAgIERlZmF1bHQ/OiAgICAgICAgICAgYm9vbGVhbnx1bmRlZmluZWQ7XG4gICAgVHlwZU5hbWU/OiAgICAgICAgIHN0cmluZ3x1bmRlZmluZWQ7XG4gICAgQ29ubmVjdG9yVHlwZT86ICAgICBzdHJpbmd8dW5kZWZpbmVkO1xuICAgIENhdGVnb3J5PzogICAgIHN0cmluZ3x1bmRlZmluZWQ7XG59Il19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobicloud-core.mjs","sources":["../../src/lib/mobicloud-core.component.ts","../../src/lib/types/mobi-user-profile.ts","../../src/lib/types/application-details.ts","../../src/lib/services/mobicloud-config.service.ts","../../src/lib/services/mobicloud-core.service.ts","../../src/lib/token-http-interceptor.ts","../../src/lib/validators/username-validator.ts","../../src/lib/mobicloud-core.module.ts","../../src/lib/guards/mobi-authentication.guard.ts","../../src/lib/guards/mobi-organization.guard.ts","../../src/lib/guards/mobi-b2b.guard.ts","../../src/lib/utils.ts","../../src/lib/types/language-info.ts","../../src/lib/types/theme-info.ts","../../src/lib/types/country.ts","../../src/lib/types/organization-info.ts","../../src/lib/types/ui-types.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-mobicloud-core',\n template: `\n <p>\n mobicloud-core works!\n </p>\n `,\n styles: [\n ]\n})\nexport class MobicloudCoreComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { WritableSignal, effect } from '@angular/core';\nimport { User } from 'oidc-client';\nimport { Observable } from 'rxjs';\n\nexport class MobiUserProfile {\n user: User|null = null;\n \n // constructor(oidc_User: Observable<User | undefined>) {\n // oidc_User.subscribe(u => this.user = u); \n // }\n\n constructor(user: User|null) {\n this.user = user;\n }\n\n // constructor(user: WritableSignal<User|null>) {\n // effect(() => {\n // this.user = user();\n // });\n // }\n \n get idToken() : string | undefined{\n return this.user?.id_token;\n }\n \n get refreshToken() : string | undefined{\n return this.user?.refresh_token;\n }\n \n get accessToken() : string | undefined{\n return this.user?.access_token;\n }\n \n get tokenType() : string | undefined{\n return this.user?.token_type;\n }\n \n get tokenScope() : string | undefined{\n return this.user?.scope;\n }\n \n get tokenExpiresAt() : number | undefined{\n return this.user?.expires_at;\n }\n \n get tokenExpiresAt_Date(): Date | undefined {\n if(this.user)\n return new Date(this.user.expires_at * 1000);\n return undefined;\n }\n \n get tokenExpiresIn() : number | undefined{\n return this.user?.expires_in;\n }\n \n get tokenIsExpired() : boolean | undefined{\n return this.user?.expired;\n }\n \n get shouldRenewToken() : boolean{\n if(this.user)\n return this.user.expires_in <= 120;\n return false;\n }\n \n // --- Profile\n get user_id() : string | undefined{\n return this.user?.profile?.sub;\n }\n \n get user_name() : string | undefined{\n return this.user?.profile?.name;\n }\n \n get user_username() : string | undefined{\n return this.user?.profile?.username;\n }\n \n get user_email() : string | undefined{\n return this.user?.profile?.email;\n }\n \n get user_partytype() : string | undefined{\n return this.user?.profile?.partytype;\n }\n \n get user_partyid() : string | undefined{\n return this.user?.profile?.partyid;\n }\n \n get user_partyname() : string | undefined{\n return this.user?.profile?.partyname;\n }\n \n get user_accountnumber() : string | undefined{\n return this.user?.profile?.account_number;\n }\n \n get user_authtype() : string | undefined{\n return this.user?.profile?.auth_type;\n }\n \n get user_roles() : string[] | undefined {\n return this.user?.profile?.role;\n }\n \n get isOrganizationAdmin() : boolean | undefined{\n if(this.user_roles)\n return this.user_roles?.includes('ORGADMIN');\n return false;\n }\n \n get isOrganizationUser() : boolean | undefined{\n if(this.user_roles)\n return this.user_roles?.includes('ORGUSER');\n return false;\n }\n \n get isEmployeeUser() : boolean | undefined{\n if(this.user_roles)\n return this.user_roles?.includes('EMPUSER');\n return false;\n }\n\n get isEmployeeMasterUser() : boolean | undefined{\n if(this.user_roles)\n return this.user_roles?.includes('EMPUSER') && this.user_roles?.includes('MASTER');\n return false;\n }\n \n get employeeNumber() : string | undefined{\n return this.user?.profile?.empl_number;\n } \n\n get securityRole() : string | undefined{\n return this.user?.profile?.security_role;\n } \n \n //-- B2B -----\n\n get isCustomerUser() : boolean | undefined{\n if(this.user_roles)\n return this.user_roles.includes('CUSTUSER');\n return false;\n }\n \n get user_customer_id() : string | undefined{\n return this.user?.profile?.cust_id;\n }\n\n get user_customer_accountnumber() : string | undefined{\n return this.user?.profile?.cust_account;\n }\n\n get user_customer_name() : string | undefined{\n return this.user?.profile?.cust_name;\n }\n\n get isVendorUser() : boolean{\n if(this.user_roles)\n return this.user_roles.includes('VENDUSER');\n return false;\n }\n\n get isMasterUser() : boolean{\n if(this.user_roles)\n return this.user_roles.includes('MASTER');\n return false;\n }\n\n get isMasterAdmin() : boolean{\n if(this.user_roles)\n return this.user_roles.includes('MASTERADMIN');\n return false;\n }\n\n get user_vendor_id() : string | undefined{\n return this.user?.profile?.vend_id;\n }\n\n get user_vendor_accountnumber() : string | undefined{\n return this.user?.profile?.vend_account;\n }\n\n get user_vendor_name() : string | undefined{\n return this.user?.profile?.vend_name;\n } \n\n get isB2BUser() : boolean{\n return this.isCustomerUser || this.isVendorUser;\n }\n }","export class ApplicationDetails {\n\tName!: \t\tstring;\n OrganizationId!: \t\tstring;\n\tOrganizationName!:\t\t\tstring; \n OrganizationEmail!: \t\tstring; \n OrganizationAccountNumber!: string;\n StorageAccountName!: string;\n ServicebusName!: string;\n\n HashedPasswords!: \t\tboolean | undefined;\n CertificateLogin!: \t\tboolean | undefined;\n AllowSubOrganizations!: \tboolean | undefined;\n OwnerOrganizationId: \t\tstring | undefined;\n\tOwnerOrganizationName:\t\t\tstring | undefined; \n OwnerOrganizationAccountNumber:\t\t\tstring | undefined; \n\n IsMasterOrganization!: \t\tboolean | undefined;\n\n MapProvider?: MapProvider | undefined;\n MapProviderKey?: string | undefined;\n\n Currency?: CompanyCurrency | undefined;\n WmsLocationSetting?: WmsLocationSetting | undefined;\n JournalSetting?: JournalSetting | undefined;\n ServicePlanningSetting?: ServicePlanningSetting | undefined;\n WebshipperSetting?: WebshipperSetting | undefined;\n ShipmentSettings?: any | undefined;\n ModuleSetting?: ModuleSetting | undefined;\n\n ProductionSetting?: ProductionSetting | undefined;\n\n DefaultDashboardSlideShowSetting?: DefaultDashboardSlideShowSetting | undefined;\n\n CloudApplications?: CloudApplicationInfo[] | undefined;\n DataApplications?: DataApplicationInfo[] | undefined;\n // MobisolutionsCloudApplication?: CloudApplicationInfo | undefined;\n}\n\nexport class CompanyCurrency {\n Id?: string | undefined;\n Name?: string | undefined;\n Description?: string | undefined;\n CurrencyId?: string | undefined;\n Code?: string | undefined; \n}\n\nexport enum EmployeeSecurityRoleType\n{\n None = \"None\",\n SuperUser = \"SuperUser\",\n Accountant = \"Accountant\",\n Admin = \"Admin\",\n}\n\nexport class ServicePlanningSetting {\n TaskPart_ServiceReportId?: \t string|undefined;\n TaskPart_ApproveMode?: TaskPartApproveMode|undefined;\n \n}\n\nexport class DefaultDashboardSlideShowSetting {\n StartupId?: \t string|undefined;\n StartupName?: string|undefined;\n \n}\n\nexport enum TaskPartApproveMode\n{\n None = \"None\",\n Posted = \"Posted\",\n CreateReport = \"CreateReport\",\n SendEmail = \"SendEmail\",\n CreateReportSendEmail = \"CreateReportSendEmail\",\n}\n\nexport class WmsLocationSetting {\n Pattern?: \t string|undefined;\n UpdateOnChange?: boolean|undefined;\n\n}\n\nexport class JournalSetting {\n Approval_CountingJournal?: string|undefined;\n Approval_TransferJournal?: string|undefined;\n Approval_ReceivingJournal?: string|undefined;\n Approval_ProfitLossJournal?: string|undefined;\n}\n\nexport class ProductionSetting {\n DefaultMrpLevel?: ProductionSettingMrpLevel|undefined;\n}\n\nexport enum ProductionSettingMrpLevel\n{\n MRP_I = \"MRP_I\",\n MRP_II = \"MRP_II\",\n MRP_III = \"MRP_III\"\n}\n\nexport class WebshipperSetting {\n PackageWeightMode?: WebshipperPackageWeightMode|undefined;\n}\n\nexport enum WebshipperPackageWeightMode\n{\n PackageFixed = \"PackageFixed\",\n ItemsWeight = \"ItemsWeight\"\n}\n\nexport class ModuleSetting {\n Solutions?: string[] | undefined;\n AddOns?: string[] | undefined;\n}\n\nexport class ProfileDetails {\n Id?: \t string|undefined;\n Name?: string|undefined;\n\tImage?: ProfileImage|undefined; \n User?: any|undefined; \n}\n\nexport class ProfileImage {\n\tStorageAccountName?: string|undefined;\n BlobContainerName: \tstring|undefined;\n\tBlobName?: string|undefined; \n}\n\nexport enum MapProvider\n{\n None = \"None\",\n Bing = \"Bing\",\n Google = \"Google\"\n}\n\nexport class CloudApplicationInfo {\n Id?: \t string|undefined;\n Name?: \t string|undefined;\n ApplicationName?: string|undefined;\n PublicUrl?: string|undefined;\n DataConnectorName?: string|undefined;\n DataConnectorTypeName?: string|undefined;\n\n DataConnector_ConnectorType?: string|undefined;\n DataConnector_Category?: string|undefined;\n DataConnector_Default?: boolean|undefined;\n}\n\nexport class DataApplicationInfo {\n Id?: \t string|undefined;\n Name?: \t string|undefined;\n Default?: boolean|undefined;\n TypeName?: string|undefined;\n ConnectorType?: string|undefined;\n Category?: string|undefined;\n}","import '@angular/localize/init';\nimport { Injectable, Injector, LOCALE_ID, Inject, signal } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map } from 'rxjs/operators';\nimport { firstValueFrom, of } from 'rxjs';\nimport { registerLocaleData } from '@angular/common';\nimport localeDA from '@angular/common/locales/da';\nimport { LanguageInfo } from \"../types/language-info\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobicloudConfigService {\n\n AppInjector: Injector;\n\n public _config_name: string = '';\n public _app_name: string = '';\n public _app_title: string = '';\n public _environment: string = '';\n public _default_api_baseurl: string = ''; \n public _default_taskscheduler_baseurl: string = ''; \n public _host_url: string = '';\n public _host_url_en: string = '';\n public _oidc_authority: string = '';\n public _oidc_client_id: string = '';\n public _oidc_client_secret: string = ''; \n public _oidc_response_type: string = '';\n public _oidc_scopes: string = '';\n public _oidc_log: boolean = false;\n public _log_httptrafic: number = 0;\n public _themes_enabled: boolean|undefined = false;\n\n currentLocaleId = signal<string>('');\n\n languageName = signal<string>('');\n\n constructor(private http: HttpClient, private injector: Injector, @Inject(LOCALE_ID) public localeId: string) {\n this.AppInjector = injector;\n console.log(\"Application Language:\", this.CurrentLanguage);\n // console.log(\"Application baseHref:\", this.baseHref);\n if(this.localeId == \"da\") {\n registerLocaleData(localeDA, 'da'); \n }\n this.currentLocaleId.set(this.localeId);\n this.languageName.set(this.getLanguageName(this.localeId));\n }\n\n checkIfConfigFileExists(config_file: string): Promise<boolean> {\n const timestamp = Date.now();\n return firstValueFrom(\n this.http.head(`./assets/${config_file}?t=${timestamp}`).pipe(\n map(() => true), // File exists\n catchError(() => of(false)) // File doesn't exist\n )\n );\n }\n\n async getConfigData(config_file: string): Promise<any> {\n const config_file_url = await this.checkIfConfigFileExists('app.config.runtime.json')\n ? './assets/app.config.runtime.json'\n : `./assets/${config_file}`;\n \n const configdata = await firstValueFrom(\n this.http.get(`${config_file_url}?t=${Date.now()}`)\n );\n \n Object.assign(this, configdata);\n return configdata;\n }\n\n\n getLanguageName(locale: string) : string {\n if(locale == \"da\"){\n return $localize`:@@LanguageName-da:Danish`;\n }\n else{\n return $localize`:@@LanguageName-en-US:English`;\n } \n }\n\n get CurrentLanguage() : string {\n if(this.localeId == \"da\"){\n return \"DK\";\n }\n else if(this.localeId == \"en-US\"){\n return \"US\";\n } \n else {\n return this.localeId;\n }\n }\n \n getSupportedLanguages() : LanguageInfo[]\n {\n const languages: LanguageInfo[] = [{LocaleId: 'da', LanguageName: this.getLanguageName('da'), FlagCode: 'DK'}, {LocaleId: 'en-US', LanguageName: this.getLanguageName('en-US'), FlagCode: 'GB'}];\n return languages;\n }\n\n getApiSiteUrl() : string{\n return `${this._default_api_baseurl}`;\n }\n\n getTaskschedulerUrl() : string{\n return `${this._default_taskscheduler_baseurl}`;\n }\n\n getApiBaseUrl() : string{\n return `${this.getApiSiteUrl()}api/`;\n }\n\n getMobiManagementDataUrl() : string{\n return `${this.getApiBaseUrl()}mobimanagement/`;\n } \n\n getRepositoryUrl() : string{\n return `${this.getApiBaseUrl()}repository/`;\n } \n\n get config_name(): string {\n return this._config_name;\n }\n \n get app_name(): string {\n return this._app_name;\n }\n\n get app_title(): string {\n return this._app_title;\n }\n\n get environment(): string {\n return this._environment;\n }\n\n get oidc_authority(): string {\n return this._oidc_authority;\n }\n\n get oidc_client_id(): string {\n return this._oidc_client_id;\n }\n\n get oidc_client_secret(): string {\n return this._oidc_client_secret;\n }\n\n get host_url(): string {\n return this._host_url;\n }\n\n get host_url_en(): string {\n return this._host_url_en;\n }\n\n get oidc_base_url(): string {\n if(this.localeId == \"da\") {\n return this.host_url;\n }\n else{\n return this.host_url_en;\n } \n }\n\n get oidc_redirect_uri(): string {\n return `${this.oidc_base_url}signin-callback`;\n }\n\n get oidc_redirect_silent_uri(): string {\n return `${this.oidc_base_url}signin-silent-callback`;\n }\n\n get oidc_post_logout_redirect_uri(): string {\n return `${this.oidc_base_url}signout-callback`;\n }\n\n get oidc_response_type(): string {\n return this._oidc_response_type;\n }\n\n get oidc_scopes(): string {\n return this._oidc_scopes;\n }\n\n get oidc_log(): boolean {\n return this._oidc_log;\n }\n\n get log_httptrafic(): number {\n return this._log_httptrafic;\n }\n\n get themes_enabled(): boolean|undefined {\n return this._themes_enabled;\n }\n \n}\n","import { Injectable, EventEmitter, signal } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\nimport { UserManager, User, Log } from 'oidc-client';\nimport { firstValueFrom, retry } from 'rxjs';\nimport { timeout } from 'rxjs/operators';\nimport { MobicloudConfigService } from \"./mobicloud-config.service\";\nimport { MobiUserProfile } from \"../types/mobi-user-profile\";\nimport { ApplicationDetails, ProfileDetails, EmployeeSecurityRoleType } from \"../types/application-details\";\nimport { Country } from \"../types/country\";\nimport { IODataResult } from \"../types/odata-result\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobicloudCoreService {\n\n public _appVersion: string = '';\n public _appName: string = '';\n public _appTitle: string = '';\n\n public require_Organization:boolean = true;\n public require_Customer:boolean = false;\n public require_Vendor:boolean = false;\n\n private manager: UserManager | undefined;\n\n user = signal<User | null>(null);\n mobiUserProfile= signal<MobiUserProfile | undefined>(undefined);\n applicationDetails = signal<ApplicationDetails | undefined>(undefined);\n profileDetails = signal<ProfileDetails | undefined>(undefined);\n countries = signal<Map<string, Country> | undefined>(undefined); \n\n public UserChanged: EventEmitter<{user: User|undefined|null, profile: MobiUserProfile|undefined, profileDetails:ProfileDetails|undefined}> = new EventEmitter<{user: User|undefined|null, profile: MobiUserProfile|undefined, profileDetails:ProfileDetails|undefined}>(); \n\n constructor(protected httpClient: HttpClient, public configService: MobicloudConfigService) { \n this.usermanager_UserLoaded = this.usermanager_UserLoaded.bind(this); \n this.usermanager_UserUnloaded = this.usermanager_UserUnloaded.bind(this); \n\n if(this.configService.oidc_log){\n Log.logger = console;\n Log.level = Log.DEBUG; \n }\n this.manager = new UserManager(\n {\n authority: configService.oidc_authority,\n client_id: configService.oidc_client_id,\n client_secret: configService.oidc_client_secret,\n redirect_uri: configService.oidc_redirect_uri,\n post_logout_redirect_uri: configService.oidc_post_logout_redirect_uri,\n response_type: configService.oidc_response_type,\n scope: configService.oidc_scopes,\n filterProtocolClaims: true,\n loadUserInfo: true,\n silent_redirect_uri: configService.oidc_redirect_silent_uri\n }\n );\n\n this.manager.events.addUserLoaded(this.usermanager_UserLoaded); \n this.manager.events.addUserUnloaded(this.usermanager_UserUnloaded);\n\n if(this.configService.oidc_log){\n this.enableOidcLogEvents(); \n }\n\n this.manager.clearStaleState();\n\n this.manager.getUser().then((_user:User|null) => {\n this.user.set(_user);\n if(_user)\n this.mobiUserProfile.set(new MobiUserProfile(_user));\n else\n this.mobiUserProfile.set(undefined);\n\n if(this.configService.oidc_log)\n console.log(\"constructor::manager.getUser()\", \"getUser complete\", _user, this.user(), this.mobiUserProfile());\n\n this.onUserChanged().then(() => \n {\n if(this.configService.oidc_log)\n console.log(\"constructor::manager.getUser()\", \"onUserChanged complete\", this.user(), this.mobiUserProfile()); \n });\n });\n }\n\n usermanager_UserLoaded(_user:User){\n this.user.set(_user);\n if(_user)\n this.mobiUserProfile.set(new MobiUserProfile(_user));\n else\n this.mobiUserProfile.set(undefined);\n\n if(this.configService.oidc_log){\n console.log('User loaded', _user, this.user(), this.mobiUserProfile(), this.profileDetails());\n }\n this.onUserChanged(); \n }\n\n usermanager_UserUnloaded(){\n this.user.set(null);\n this.mobiUserProfile.set(undefined);\n this.onUserChanged(); \n\n if(this.configService.oidc_log){\n console.log('User unloaded', this.user(), this.mobiUserProfile(), this.profileDetails());\n } \n }\n\n protected async onUserChanged() : Promise<void>\n {\n if(this.configService.oidc_log){\n console.log(\"onUserChanged\", \"user\", this.user(), this.mobiUserProfile(), this.profileDetails()); \n }\n \n if (this.user()) {\n //Load application details (related to logged in organization user)\n let appResult = await this.getApplicationDetails();\n if(this.configService.oidc_log)\n console.log(\"onUserChanged\", \"appResult\",appResult);\n\n //Load Profile Details (The actual employee)\n let profileDetailsResult = await this.getProfileDetails();\n if(this.configService.oidc_log){\n console.log(\"onUserChanged\", \"getProfileDetails result\",profileDetailsResult); \n console.log(\"onUserChanged\", \"getProfileDetails\", this.profileDetails());\n } \n \n //Load countries (if not loaded)\n if(!this.countries()){\n let countriesResult = await this.getCountries();\n if(this.configService.oidc_log){\n console.log(\"onUserChanged\", \"getCountries result\",countriesResult); \n console.log(\"onUserChanged\", \"getCountries\", this.countries());\n }\n }\n }\n else {\n this.mobiUserProfile.set(undefined);\n this.profileDetails.set(undefined);\n this.applicationDetails.set(undefined);\n }\n\n this.UserChanged.emit({user: this.user(), profile: this.mobiUserProfile(), profileDetails: this.profileDetails()});\n }\n\n\n async getApplicationDetails(requestTimeout:number=30000): Promise<ApplicationDetails | undefined> {\n if (!this.isAuthenticated()) {\n console.warn(\"ApplicationDetails is null, user not authenticated\");\n this.applicationDetails.set(undefined);\n return undefined;\n }\n \n if (this.isMasterUserAuthenticated() && !this.hasMasterOrganization()) {\n console.warn(\"ApplicationDetails is null, MasterOrganization is not selected\");\n this.applicationDetails.set(undefined);\n return undefined;\n }\n \n try {\n const url = `${this.configService.getApiBaseUrl()}ApplicationDetails`;\n const params = new HttpParams()\n .set('key', this.configService.app_name)\n .set('env', this.configService.environment);\n \n const appDetails = await firstValueFrom(\n this.httpClient.get<ApplicationDetails>(url, { params }).pipe(\n timeout(requestTimeout),retry({\n count: 2,\n delay: 1000,\n resetOnSuccess: true\n })\n )\n );\n\n this.applicationDetails.set(appDetails);\n return appDetails;\n \n } \n catch (error: any) {\n console.error(\"getApplicationDetails error:\", error);\n this.applicationDetails.set(undefined);\n throw error;\n }\n }\n\n async getCountries(): Promise<Map<string, Country>> {\n const url = `${this.configService.getMobiManagementDataUrl()}Country`;\n \n try {\n const result:IODataResult<Country> = await firstValueFrom(\n this.httpClient.get<IODataResult<Country>>(url, {\n params: {\n '$filter': 'enabled eq true',\n '$orderby': 'Name',\n '$select': 'code2,Name,LocalName,TradeArea,Shipping_Require_State'\n }\n }).pipe(timeout(15000),retry({\n count: 2,\n delay: 1000,\n resetOnSuccess: true\n }))\n );\n \n const countries_map = new Map(result.value.map((country:Country) => [country.Code2 ?? '', country]));\n \n this.countries.set(countries_map);\n \n return countries_map;\n \n } \n catch (error:any) {\n console.error(error);\n // return new Map<string, Country>();\n throw error;\n }\n }\n \n async getProfileDetails(requestTimeout:number=30000): Promise<ProfileDetails | undefined> {\n if (!this.isAuthenticated() || !this.mobiUserProfile()?.user_id) {\n if(this.configService.oidc_log){\n let profile = this.mobiUserProfile();\n console.log(\"getProfileDetails\", \"no user\",profile); \n } \n this.profileDetails.set(undefined);\n return undefined;\n }\n \n let url:string|undefined;\n let orgid_override:string|undefined;\n if(this.mobiUserProfile()?.isEmployeeUser){ \n if(this.mobiUserProfile()?.isEmployeeMasterUser){\n let user_org_id = this.mobiUserProfile()?.user_partyid?.toLowerCase();\n if(user_org_id != undefined){\n orgid_override = user_org_id;\n }\n if(this.configService.oidc_log){\n console.log(\"getProfileDetails\", \"isEmployeeMasterUser\", user_org_id, orgid_override); \n } \n // console.log(\"isEmployeeMasterUser\", app_orgId, user_org_id, orgid_override);\n }\n url = `${this.configService.getMobiManagementDataUrl()}employee(${this.mobiUserProfile()?.user_id})?$expand=Image($select=StorageAccountName,BlobContainerName,BlobName)`;\n }\n else if(this.mobiUserProfile()?.isCustomerUser){\n url = `${this.configService.getMobiManagementDataUrl()}customeruser(${this.mobiUserProfile()?.user_id})?$expand=Image($select=StorageAccountName,BlobContainerName,BlobName)`;\n }\n else if(this.mobiUserProfile()?.isVendorUser){\n url = `${this.configService.getMobiManagementDataUrl()}vendoruser(${this.mobiUserProfile()?.user_id})?$expand=Image($select=StorageAccountName,BlobContainerName,BlobName)`;\n }\n if (!url) {\n if(this.configService.oidc_log){\n let profile = this.mobiUserProfile();\n console.log(\"getProfileDetails\", \"no url\", profile); \n } \n this.profileDetails.set(undefined);\n return undefined;\n }\n \n try {\n // console.log(url);\n let headers = new HttpHeaders();\n if(orgid_override){\n headers = headers.set(\"OrganizationId\", orgid_override);\n }\n \n if(this.configService.oidc_log){\n console.log(\"getProfileDetails\", \"url\", url); \n console.log(\"getProfileDetails\", \"headers\", headers); \n } \n\n const result = await firstValueFrom(\n this.httpClient.get<IODataResult<any>>(url, { headers: headers }).pipe(\n timeout(requestTimeout)\n )\n );\n\n if(this.configService.oidc_log){\n console.log(\"getProfileDetails\", \"result\", result); \n } \n \n if (!result.value || !result.value[0]) {\n return undefined;\n }\n const _user = result.value[0];\n const _profileDetails = Object.assign(new ProfileDetails(), {\n Id: _user.Id?.toString(),\n Name: _user.Name,\n Image: _user.Image,\n User: _user\n });\n\n this.profileDetails.set(_profileDetails);\n\n if(this.configService.oidc_log){\n console.log(\"getProfileDetails\", \"profileDetails\", _profileDetails); \n } \n\n return _profileDetails;\n \n } catch (error: any) {\n console.error(\"getProfileDetails error:\", error);\n this.profileDetails.set(undefined);\n return undefined;\n }\n } \n\n\n // --- SignIn ------------------------------------------------------\n\n public async signIn(redirectUrl: string): Promise<any> {\n if(this.configService.oidc_log){\n console.log(\"signIn\", redirectUrl); \n }\n let result = await this.manager?.signinRedirect({ data: { redirectUrl: redirectUrl } }).catch( (reason: any) =>\n {\n console.error(\"signIn failed:\", reason, this.user(), this.mobiUserProfile());\n return new Error(reason);\n });\n if(this.configService.oidc_log){\n console.log(\"signIn\", \"result\", result, this.user(), this.mobiUserProfile()); \n }\n return result;\n }\n\n public async completeSignIn(): Promise<User|null> { \n let _user = await this.manager?.signinRedirectCallback() ?? null;\n if(this.configService.oidc_log){\n console.log(\"completeSignIn\", _user, this.user(), this.mobiUserProfile()); \n }\n return _user;\n }\n\n // --- Silent SignIn -----------------------------------------------\n\n public async signInSilent(): Promise<any> { \n if(this.configService.oidc_log){\n console.log(\"signInSilent\"); \n } \n let result = await this.manager?.signinSilent().then((_user:User) =>\n {\n if(this.configService.oidc_log){\n console.log(\"signInSilent\", \"result\", _user, this.user(), this.mobiUserProfile()); \n } \n this.onSignedInSilent(_user);\n }).catch( (reason: any) =>\n {\n console.error(\"signInSilent failed:\", reason, this.user(), this.mobiUserProfile());\n return new Error(reason);\n });\n\n if(this.configService.oidc_log){\n console.log(\"signInSilent\", \"result\", result, this.user(), this.mobiUserProfile()); \n }\n return result;\n }\n\n public onSignedInSilent(_user: User){\n if(this.configService.oidc_log){\n console.log(\"onSignedInSilent\", _user, this.user(), this.mobiUserProfile()); \n } \n }\n\n public async completeSilentSignIn() : Promise<any>{ \n if(this.configService.oidc_log){\n console.log(\"completeSilentSignIn\", this.user(), this.mobiUserProfile()); \n } \n let result = await this.manager?.signinSilentCallback();\n\n if(this.configService.oidc_log){\n console.log(\"signInSilent\", \"result\", result, this.user(), this.mobiUserProfile()); \n }\n return result;\n }\n\n // --- SignOut -----------------------------------------------------\n\n public async signout(): Promise<any> {\n if(this.configService.oidc_log){\n console.log(\"signout\", this.user(), this.mobiUserProfile()); \n } \n return await this.manager?.signoutRedirect();\n }\n\n public async completeSignout() {\n if(this.configService.oidc_log){\n console.log(\"completeSignout\", this.user(), this.mobiUserProfile()); \n }\n }\n\n enableOidcLogEvents(){\n if(this.manager){\n // this.manager.events.addUserLoaded((_user:User) => {\n // console.log('User loaded:', _user);\n // });\n\n // this.manager.events.addUserUnloaded(() => {\n // console.log('User unloaded');\n // });\n\n this.manager.events.addUserSignedIn(() => {\n console.log('User signed in...');\n });\n\n this.manager.events.addAccessTokenExpiring(() => {\n console.log('Access token expiring...');\n });\n\n this.manager.events.addAccessTokenExpired(() => {\n console.log('Access token expired');\n });\n\n this.manager.events.addSilentRenewError((error: Error) => {\n console.error('Silent renew error:', error);\n });\n\n this.manager.events.addUserSignedOut(() => {\n console.log('User signed out from identity server');\n console.trace('User signed out stack trace');\n // This is particularly important to check - if this is firing,\n // it could trigger app reloads\n });\n\n this.manager.events.removeUserSignedOut(() => {\n console.log('removeUserSignedOut called');\n });\n\n this.manager.events.addUserSessionChanged(() => {\n console.log('addUserSessionChanged called');\n });\n\n this.manager.events.removeUserSessionChanged(() => {\n console.log('removeUserSessionChanged called');\n });\n }\n }\n\n // --- Helper methods -----------------------------------------------------\n\n public isAuthenticated(): boolean {\n return this.user() != null && !this.user()?.expired;\n }\n\n public isOrganizationAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin || this.mobiUserProfile()?.isEmployeeUser);\n }\n\n public isMasterOrganizationAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin || this.mobiUserProfile()?.isEmployeeUser)) || this.isMasterUserAuthenticated();\n }\n\n public isOrganizationUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin);\n }\n\n public isMasterOrganizationUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin)) || this.isMasterUserAuthenticated();\n }\n\n public isMasterOrganizationAdminAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationAdmin)) || this.isMasterUserAuthenticated();\n }\n\n public isEmployeeAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin || this.mobiUserProfile()?.isEmployeeUser);\n }\n\n public isEmployeeMasterUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isEmployeeMasterUser);\n }\n\n public isMasterEmployeeAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin || this.mobiUserProfile()?.isEmployeeUser)) || this.isMasterUserAuthenticated();\n } \n\n public isCustomerUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isCustomerUser);\n }\n\n public isMasterCustomerUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isCustomerUser)) || this.isMasterUserAuthenticated();\n }\n\n public isVendorUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isVendorUser);\n }\n\n public isMasterVendorUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isVendorUser)) || this.isMasterUserAuthenticated();\n } \n\n public isB2BAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.isOrganizationAuthenticated() || this.isCustomerUserAuthenticated()|| this.isVendorUserAuthenticated());\n }\n\n public isMasterB2BAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.isOrganizationAuthenticated() || this.isCustomerUserAuthenticated()|| this.isVendorUserAuthenticated()) || this.isMasterUserAuthenticated();\n }\n\n public isMasterUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isMasterUser || this.mobiUserProfile()?.isMasterAdmin);\n }\n\n public isMasterAdminAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isMasterAdmin);\n }\n\n public securityRole(): EmployeeSecurityRoleType|undefined {\n if(this.isAuthenticated() && this.mobiUserProfile() != null && this.mobiUserProfile()?.securityRole){\n return EmployeeSecurityRoleType[this.mobiUserProfile()?.securityRole as keyof typeof EmployeeSecurityRoleType];\n }\n return undefined;\n }\n\n public hasMasterOrganization(): boolean {\n var strMasterOrganizationId = localStorage.getItem(\"MasterOrganizationId\");\n if(strMasterOrganizationId && strMasterOrganizationId.length > 0){\n return true;\n }\n else{\n return false;\n }\n }\n\n public getMasterOrganization(): string|null {\n var strMasterOrganizationId = localStorage.getItem(\"MasterOrganizationId\");\n return strMasterOrganizationId;\n }\n\n public async setMasterOrganization(strMasterOrganizationId: string|null): Promise<void> {\n if(strMasterOrganizationId){\n localStorage.setItem(\"MasterOrganizationId\", strMasterOrganizationId);\n let appdetails = await this.getApplicationDetails();\n if(this.configService.oidc_log)\n console.log(\"setMasterOrganization\", \"appResult\", appdetails); \n }\n else{\n this.removeMasterOrganization();\n // return new Promise(resolve => { resolve(undefined); });\n }\n }\n\n public removeMasterOrganization(): void {\n localStorage.removeItem(\"MasterOrganizationId\");\n }\n\n public hasMasterCustomer(): boolean {\n var strMasterCustomerId = localStorage.getItem(\"MasterCustomerId\");\n if(strMasterCustomerId && strMasterCustomerId.length > 0){\n return true;\n }\n else{\n return false;\n }\n }\n\n public getMasterCustomer(): string|null {\n var strMasterCustomerId = localStorage.getItem(\"MasterCustomerId\");\n return strMasterCustomerId;\n }\n\n public setMasterCustomer(strMasterCustomerId: string|null): void {\n if(strMasterCustomerId){\n localStorage.setItem(\"MasterCustomerId\", strMasterCustomerId); \n }\n else{\n this.removeMasterCustomer();\n }\n }\n\n public removeMasterCustomer(): void {\n localStorage.removeItem(\"MasterCustomerId\");\n } \n\n public hasMasterVendor(): boolean {\n var strMasterVendorId = localStorage.getItem(\"MasterVendorId\");\n if(strMasterVendorId && strMasterVendorId.length > 0){\n return true;\n }\n else{\n return false;\n }\n }\n\n public getMasterVendor(): string|null {\n var strMasterVendorId = localStorage.getItem(\"MasterVendorId\");\n return strMasterVendorId;\n }\n\n public setMasterVendor(strMasterVendorId: string|null): void {\n if(strMasterVendorId){\n localStorage.setItem(\"MasterVendorId\", strMasterVendorId); \n }\n else{\n this.removeMasterVendor();\n }\n }\n\n public removeMasterVendor(): void {\n localStorage.removeItem(\"MasterVendorId\");\n } \n\n public redirectUrl(): string {\n return this.user()?.state?.redirectUrl;\n }\n\n public get accessToken(): string {\n return this.user()?.access_token ?? '';\n }\n\n public get authorizationHeader(): string|undefined {\n return this.user()?.token_type?.concat(\" \", (this.user()?.access_token ?? ''));\n }\n\n public get tokenExpiresAt(): Date|undefined {\n if(this.user()){\n let expires_at = this.user()?.expires_at;\n if(expires_at)\n return new Date(expires_at * 1000);\n }\n return undefined;\n }\n\n public get tokenValidUntil(): Date|undefined {\n if(this.user()){\n let expires_at = this.user()?.expires_at;\n if(expires_at)\n return new Date((expires_at -120) * 1000);\n }\n return undefined;\n }\n\n public get isTokenExpired(): boolean {\n if(this.user()){\n let expires_in = this.user()?.expires_in;\n if(expires_in)\n return expires_in <= 120;\n }\n return false;\n }\n\n handleError(error:any) {\n let errorMessage = '';\n if (error && error.error && error.error.error){\n //Get Json error\n errorMessage = error.error.error;\n }\n else if(error && error.error instanceof ErrorEvent) {\n // Get client-side error\n errorMessage = error.error.message;\n } \n else {\n // Get server-side error\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\n }\n // window.alert(errorMessage);\n let anyRemoved:boolean = evaluateForMasterOrganizationClearance(errorMessage);\n if(anyRemoved){\n location.reload();\n }\n return new Error(errorMessage);\n }\n\n //-- Permissions\n SecurityRolePriorityMap: Record<EmployeeSecurityRoleType, number> = {\n [EmployeeSecurityRoleType.None]: 0,\n [EmployeeSecurityRoleType.SuperUser]: 1,\n [EmployeeSecurityRoleType.Accountant]: 2,\n [EmployeeSecurityRoleType.Admin]: 3\n };\n\n requireEmployeePermission(mobiUserProfile:MobiUserProfile, callback: ((valid:boolean) => void)|undefined = undefined, securityRole:EmployeeSecurityRoleType = EmployeeSecurityRoleType.None) : boolean{\n let valid = (mobiUserProfile.isOrganizationUser || \n mobiUserProfile.isOrganizationAdmin ||\n (mobiUserProfile.isMasterUser || mobiUserProfile.isMasterAdmin));\n if(!valid){\n valid = mobiUserProfile.isEmployeeUser ?? false;\n if(valid){\n let emplSecurityRole = EmployeeSecurityRoleType.None;\n if(mobiUserProfile.securityRole){\n emplSecurityRole = EmployeeSecurityRoleType[mobiUserProfile.securityRole as keyof typeof EmployeeSecurityRoleType];\n }\n valid = this.SecurityRolePriorityMap[emplSecurityRole] >= this.SecurityRolePriorityMap[securityRole];\n }\n }\n if(callback){\n callback(valid ?? false);\n }\n return valid ?? false;\n }\n\n requireOrganizationUser(mobiUserProfile:MobiUserProfile, callback: ((valid:boolean) => void)|undefined = undefined) : boolean{\n let valid = (mobiUserProfile.isOrganizationUser || \n mobiUserProfile.isOrganizationAdmin ||\n (mobiUserProfile.isMasterUser || mobiUserProfile.isMasterAdmin));\n if(callback){\n callback(valid ?? false);\n }\n return valid ?? false;\n }\n\n requireOrganizationAdmin(mobiUserProfile:MobiUserProfile, callback: ((valid:boolean) => void)|undefined = undefined) : boolean{\n let valid = (mobiUserProfile.isOrganizationAdmin ||\n (mobiUserProfile.isMasterUser || mobiUserProfile.isMasterAdmin));\n if(callback){\n callback(valid ?? false);\n }\n return valid ?? false;\n }\n\n requireMasterPermission(mobiUserProfile:MobiUserProfile, callback: ((valid:boolean) => void)|undefined = undefined) : boolean{\n let valid = (mobiUserProfile.isMasterUser || mobiUserProfile.isMasterAdmin);\n if(callback){\n callback(valid ?? false);\n }\n return valid ?? false;\n }\n\n requireMasterAdminPermission(mobiUserProfile:MobiUserProfile, callback: ((valid:boolean) => void)|undefined = undefined) : boolean{\n let valid = mobiUserProfile.isMasterAdmin;\n if(!valid){\n let isEmployeeMaster = (mobiUserProfile.isMasterUser ?? false) && (mobiUserProfile.isEmployeeUser ?? false);\n if(isEmployeeMaster){\n let emplSecurityRole = EmployeeSecurityRoleType.None;\n if(mobiUserProfile.securityRole){\n emplSecurityRole = EmployeeSecurityRoleType[mobiUserProfile.securityRole as keyof typeof EmployeeSecurityRoleType];\n }\n valid = (this.SecurityRolePriorityMap[emplSecurityRole] == this.SecurityRolePriorityMap[EmployeeSecurityRoleType.Admin]);\n }\n }\n if(callback){\n callback(valid ?? false);\n }\n return valid ?? false;\n } \n\n\n}\n\nexport function evaluateForMasterOrganizationClearance(errorMessage:string) : boolean{\n let anyRemoved:boolean = false;\n\n if(errorMessage && (\n errorMessage.toString().indexOf('No Test database has been setup') >= 0 || \n errorMessage.toString().indexOf('Organization does not exist') >= 0\n )){\n // console.log(\"Check for clearance of MasterOrganizationId\");\n \n let masterOrgId = localStorage.getItem(\"MasterOrganizationId\");\n if(masterOrgId){\n console.log(\"Clearing MasterOrganizationId:\", masterOrgId);\n localStorage.removeItem(\"MasterOrganizationId\");\n anyRemoved = true;\n }\n\n let customerId = localStorage.getItem(\"MasterCustomerId\");\n if(customerId){\n console.log(\"Clearing MasterCustomerId:\", customerId);\n localStorage.removeItem(\"MasterCustomerId\");\n anyRemoved = true;\n }\n\n let vendorId = localStorage.getItem(\"MasterVendorId\");\n if(vendorId){\n console.log(\"Clearing MasterVendorId:\", vendorId);\n localStorage.removeItem(\"MasterVendorId\");\n anyRemoved = true;\n }\n }\n\n return anyRemoved;\n}\n","import { Injectable } from '@angular/core';\nimport {HttpEvent,HttpInterceptor,HttpHandler,HttpRequest,HttpErrorResponse} from \"@angular/common/http\";\nimport { Observable } from \"rxjs\";\n\n// import { ConfigService } from \"../../services/config.service\";\n// import { UserService } from \"../../services/user.service\";\nimport { MobicloudConfigService } from \"./services/mobicloud-config.service\";\nimport { MobicloudCoreService } from \"./services/mobicloud-core.service\";\n\nimport { from } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Injectable()\nexport class TokenHttpInterceptor implements HttpInterceptor {\n \n private coreService: MobicloudCoreService | undefined;\n\n constructor(protected configService: MobicloudConfigService) \n { \n }\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n // All HTTP requests are going to go through this method\n\n if((this.configService?._default_api_baseurl && req.url.includes(this.configService._default_api_baseurl)) || (this.configService?._default_taskscheduler_baseurl && req.url.includes(this.configService._default_taskscheduler_baseurl))){\n if(this.coreService === undefined){ \n this.coreService = this.configService.AppInjector.get(MobicloudCoreService);\n }\n // console.log(\"userservice: \" + this.userService);\n if(this.configService.log_httptrafic > 1){\n console.log({log: \"token-http-interceptor request\", request: req});\n }\n // if (!req.headers.has(\"Access-Control-Allow-Origin\")) {\n // req = req.clone({\n // headers: req.headers.set(\"Access-Control-Allow-Origin\", \"*\")\n // });\n // }\n\n const language: string = this.configService.CurrentLanguage;\n \n if (language && !req.headers.has(\"Language\")) {\n req = req.clone({\n headers: req.headers.set(\"Language\", language)\n });\n }\n if (language && !req.headers.has(\"Application\")) {\n req = req.clone({\n headers: req.headers.set(\"Application\", this.configService._app_name)\n });\n } \n if(this.configService.log_httptrafic > 1){\n console.log(req); \n }\n if(this.coreService && this.coreService.isAuthenticated()){\n if(this.coreService.isTokenExpired) {\n if(this.configService.log_httptrafic > 0)\n console.warn({log: \"token is expired (silent signin)\", tokenValidUntil: this.coreService.tokenValidUntil, tokenExpiresAt: this.coreService.tokenExpiresAt, is: this.coreService.isTokenExpired, auth_header: this.coreService.authorizationHeader, user: this.coreService.user} );\n return from(this.coreService.signInSilent()).pipe(\n switchMap((user) => {\n if(this.configService.log_httptrafic > 0)\n console.log({log: \"token renewed (adding new token)\", tokenValidUntil: this.coreService?.tokenValidUntil, tokenExpiresAt: this.coreService?.tokenExpiresAt, is: this.coreService?.isTokenExpired, auth_header: this.coreService?.authorizationHeader, user: this.coreService?.user} );\n req = req.clone({headers: req.headers.set(\"Authorization\", this.coreService?.authorizationHeader ?? '')}); \n\n // if(this.coreService && this.coreService.isMasterUserAuthenticated() && this.coreService.require_Organization && !req.headers.has(\"OrganizationId\")){\n if(this.coreService && this.coreService.require_Organization && !req.headers.has(\"OrganizationId\")){ \n var strMasterOrganizationId = this.coreService.getMasterOrganization();\n if(strMasterOrganizationId && strMasterOrganizationId.length > 0){\n req = req.clone({headers: req.headers.set(\"OrganizationId\", strMasterOrganizationId)});\n }\n } \n\n // if(this.coreService && this.coreService.isMasterEmployeeAuthenticated() && this.coreService.require_Customer && !req.headers.has(\"CustomerId\")){\n if(this.coreService && this.coreService.require_Customer && !req.headers.has(\"CustomerId\")){ \n var strMasterCustomerId = this.coreService.getMasterCustomer();\n if(strMasterCustomerId && strMasterCustomerId.length > 0){\n req = req.clone({headers: req.headers.set(\"CustomerId\", strMasterCustomerId)});\n }\n }\n\n // if(this.coreService && this.coreService.isMasterEmployeeAuthenticated() && this.coreService.require_Vendor && !req.headers.has(\"VendorId\")){\n if(this.coreService && this.coreService.require_Vendor && !req.headers.has(\"VendorId\")){ \n var strMasterVendorId = this.coreService.getMasterVendor();\n if(strMasterVendorId && strMasterVendorId.length > 0){\n req = req.clone({headers: req.headers.set(\"VendorId\", strMasterVendorId)});\n }\n } \n\n return next.handle(req);\n })\n );\n } \n else{\n if(this.configService.log_httptrafic > 0)\n console.log({log: \"token not expired\", tokenValidUntil: this.coreService.tokenValidUntil, tokenExpiresAt: this.coreService.tokenExpiresAt, is: this.coreService.isTokenExpired, auth_header: this.coreService.authorizationHeader, user: this.coreService.user} );\n if (!req.headers.has(\"Authorization\")) {\n req = req.clone({headers: req.headers.set(\"Authorization\", this.coreService.authorizationHeader ?? '')}); \n }\n // if(this.coreService.isMasterUserAuthenticated() && !req.headers.has(\"OrganizationId\")){\n if(this.coreService && this.coreService.require_Organization && !req.headers.has(\"OrganizationId\")){\n var strMasterOrganizationId = this.coreService.getMasterOrganization();\n if(strMasterOrganizationId && strMasterOrganizationId.length > 0){\n req = req.clone({headers: req.headers.set(\"OrganizationId\", strMasterOrganizationId)});\n }\n }\n // if(this.coreService && this.coreService.isMasterEmployeeAuthenticated() && this.coreService.require_Customer && !req.headers.has(\"CustomerId\")){\n if(this.coreService && this.coreService.require_Customer && !req.headers.has(\"CustomerId\")){ \n var strMasterCustomerId = this.coreService.getMasterCustomer();\n if(strMasterCustomerId && strMasterCustomerId.length > 0){\n req = req.clone({headers: req.headers.set(\"CustomerId\", strMasterCustomerId)});\n }\n }\n\n // if(this.coreService && this.coreService.isMasterEmployeeAuthenticated() && this.coreService.require_Vendor && !req.headers.has(\"VendorId\")){\n if(this.coreService && this.coreService.require_Vendor && !req.headers.has(\"VendorId\")){ \n var strMasterVendorId = this.coreService.getMasterVendor();\n if(strMasterVendorId && strMasterVendorId.length > 0){\n req = req.clone({headers: req.headers.set(\"VendorId\", strMasterVendorId)});\n }\n } \n return next.handle(req);\n }\n }\n else{\n if(this.configService.log_httptrafic > 0)\n console.log({log: \"user not athenticated\", tokenValidUntil: this.coreService.tokenValidUntil, tokenExpiresAt: this.coreService.tokenExpiresAt, is: this.coreService.isTokenExpired, auth_header: this.coreService.authorizationHeader, user: this.coreService.user} );\n return next.handle(req); \n } \n } \n else{\n if(this.configService.log_httptrafic > 1)\n console.log(\"not app request: \", req);\n return next.handle(req);\n } \n } \n}\n","import '@angular/localize/init';\nimport { Injectable } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { Observable, throwError, firstValueFrom } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map, timeout } from 'rxjs/operators';\n\nimport { MobicloudCoreService } from \"../services/mobicloud-core.service\";\n\n@Injectable()\nexport class UsernameValidator {\n\n currentUserId: string |undefined;\n debouncer: any |undefined;\n\n constructor(protected httpClient: HttpClient, public coreService: MobicloudCoreService){ \n } \n \n checkUsername(control: UntypedFormControl): any {\n\n clearTimeout(this.debouncer);\n \n return new Promise(resolve => {\n \n this.debouncer = setTimeout(() => {\n let parameterString = `?username=${control.value}`;\n if(this.currentUserId){\n parameterString += `¤tUserId=${this.currentUserId}`;\n }\n this.executeFunction<boolean>(parameterString).then(response => {\n response.subscribe((result) => {\n if(result){\n // console.log(\"user taken\");\n resolve({ \n \"usernametaken\": true\n });\n } else{\n // console.log(\"user not taken\");\n resolve(null);\n } \n });\n }),\n (err:any) => { \n resolve({'usernametaken': true});\n }\n }, 1000); \n \n });\n }\n\n async executeFunction<T>(parameterString: string = '', requestTimeout: number = 30000) : Promise<Observable<T>>{\n console.log(`${this.coreService.configService.getMobiManagementDataUrl()}Employee/UsernameTaken()${parameterString}`);\n return this.httpClient.get<any>(`${this.coreService.configService.getMobiManagementDataUrl()}Employee/UsernameTaken()${parameterString}`)\n .pipe(timeout(requestTimeout), catchError(this.handleError))\n .pipe(map(result => result['value'])); \n }\n \n handleError(error:any) {\n let errorMessage = '';\n if (error && error.error && error.error.error){\n //Get Json error\n errorMessage = error.error.error;\n }\n else if(error && error.error instanceof ErrorEvent) {\n // Get client-side error\n errorMessage = error.error.message;\n } \n else {\n // Get server-side error\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\n }\n\n return throwError(() => errorMessage);\n } \n\n async usernameValidation_devextreme(username: string, currentUserId?: string): Promise<void> {\n const params = new URLSearchParams();\n params.set('username', username);\n if (currentUserId) {\n params.set('currentUserId', currentUserId);\n }\n \n const url = `${this.coreService.configService.getMobiManagementDataUrl()}Employee/UsernameTaken()?${params}`;\n \n try {\n const res: any = await firstValueFrom(this.httpClient.get(url));\n \n res.isValid = !res.value;\n if (res.isValid) {\n res.message = $localize`:@@ValidationText-UsernameAvailable:Username is available`;\n return res;\n } else {\n throw $localize`:@@ErrorText-UsernameTaken:Username is not available`;\n }\n } catch (error) {\n console.error(error);\n throw \"Error: Unable to validate username\";\n }\n }\n \n async usernameValidation_customer_devextreme(customerId: string, username: string, currentUserId?: string): Promise<void> {\n const params = new URLSearchParams();\n params.set('username', username);\n if (currentUserId) {\n params.set('currentUserId', currentUserId);\n }\n \n const url = `${this.coreService.configService.getMobiManagementDataUrl()}Customer(${customerId})/UsernameTaken()?${params}`;\n \n try {\n const res: any = await firstValueFrom(this.httpClient.get(url));\n \n res.isValid = !res.value;\n if (res.isValid) {\n res.message = $localize`:@@ValidationText-UsernameAvailable:Username is available`;\n return res;\n } else {\n throw $localize`:@@ErrorText-UsernameTaken:Username is not available`;\n }\n } catch (error) {\n console.error(error);\n throw \"Error: Unable to validate username\";\n }\n } \n \n async usernameValidation_vendor_devextreme(vendorId: string, username: string, currentUserId?: string): Promise<void> {\n const params = new URLSearchParams();\n params.set('username', username);\n if (currentUserId) {\n params.set('currentUserId', currentUserId);\n }\n \n const url = `${this.coreService.configService.getMobiManagementDataUrl()}Vendor(${vendorId})/UsernameTaken()?${params}`;\n \n try {\n const res: any = await firstValueFrom(this.httpClient.get(url));\n \n res.isValid = !res.value;\n if (res.isValid) {\n res.message = $localize`:@@ValidationText-UsernameAvailable:Username is available`;\n return res;\n } else {\n throw $localize`:@@ErrorText-UsernameTaken:Username is not available`;\n }\n } catch (error) {\n console.error(error);\n throw \"Error: Unable to validate username\";\n }\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { MobicloudCoreComponent } from './mobicloud-core.component';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { TokenHttpInterceptor } from \"./token-http-interceptor\";\nimport { MobicloudConfigService } from \"./services/mobicloud-config.service\";\nimport { UsernameValidator } from \"./validators/username-validator\";\n\n@NgModule({\n declarations: [MobicloudCoreComponent],\n imports: [\n ],\n exports: [MobicloudCoreComponent]\n})\nexport class MobicloudCoreModule {\n\n static forRoot(): ModuleWithProviders<MobicloudCoreModule> {\n return {\n ngModule: MobicloudCoreModule,\n providers: [\n {provide: HTTP_INTERCEPTORS, useClass: TokenHttpInterceptor, deps: [MobicloudConfigService], multi: true},\n UsernameValidator\n ]\n };\n } \n }\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { MobicloudCoreService } from \"../services/mobicloud-core.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiAuthenticationGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n if (this.coreService.isAuthenticated()) {\n return true;\n }\n\n this.coreService.signIn(state.url);\n return false;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { MobicloudCoreService } from \"../services/mobicloud-core.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiOrganizationGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n \n const userProfile = this.coreService.mobiUserProfile();\n \n if (!userProfile) {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n return false;\n }\n\n return new Observable<boolean>((observer) => {\n this.coreService.requireEmployeePermission(userProfile, (valid: boolean) => {\n if (valid && this.coreService.isAuthenticated()) {\n observer.next(true);\n observer.complete();\n } else {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n observer.next(false);\n observer.complete();\n }\n });\n });\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiMasterUserGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n const userProfile = this.coreService.mobiUserProfile();\n \n if (!userProfile) {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n return false;\n }\n\n return new Observable<boolean>((observer) => {\n this.coreService.requireMasterPermission(userProfile, (valid: boolean) => {\n if (valid && this.coreService.isAuthenticated()) {\n observer.next(true);\n observer.complete();\n } else {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n observer.next(false);\n observer.complete();\n }\n });\n });\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiMasterAdminGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n const userProfile = this.coreService.mobiUserProfile();\n \n if (!userProfile) {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n return false;\n }\n\n return new Observable<boolean>((observer) => {\n this.coreService.requireMasterAdminPermission(userProfile, (valid: boolean) => {\n if (valid && this.coreService.isAuthenticated()) {\n observer.next(true);\n observer.complete();\n } else {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n observer.next(false);\n observer.complete();\n }\n });\n });\n }\n}\n\n//-------\n@Injectable({\n providedIn: 'root'\n})\nexport class MasterOrganizationGuard implements CanActivate {\n constructor(\n private router: Router, \n private coreService: MobicloudCoreService\n ) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n const userProfile = this.coreService.mobiUserProfile();\n \n if (!userProfile) {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n return false;\n }\n\n // Convert the callback-based method to an Observable\n return new Observable<boolean>((observer) => {\n this.coreService.requireEmployeePermission(userProfile, (valid: boolean) => {\n \n if (valid && this.coreService.isAuthenticated()) {\n if (this.coreService.isMasterUserAuthenticated()) {\n const strMasterOrganizationId = localStorage.getItem(\"MasterOrganizationId\");\n \n if (strMasterOrganizationId && strMasterOrganizationId.length > 0) {\n observer.next(true);\n observer.complete();\n } else {\n this.router.navigateByUrl('/selectorganization');\n observer.next(false);\n observer.complete();\n }\n } else {\n observer.next(true);\n observer.complete();\n }\n } else {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n observer.next(false);\n observer.complete();\n }\n });\n });\n }\n}","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { MobicloudCoreService } from \"../services/mobicloud-core.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiB2BAuthenticationGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n if (this.coreService.isB2BAuthenticated()) {\n return true;\n }\n\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n \n return false;\n }\n\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiCustomerUserAuthenticationGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n if (this.coreService.isCustomerUserAuthenticated()) {\n return true;\n }\n\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n \n return false;\n }\n\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiVendorUserAuthenticationGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n if (this.coreService.isVendorUserAuthenticated()) {\n return true;\n }\n\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n \n return false;\n }\n\n}","export function convertToISODates_ODataValues (values: any, value_names: string[]){\n for (const key in value_names) {\n if(values[value_names[key]]){\n if(!(values[value_names[key]] instanceof Date)){\n values[value_names[key]] = new Date(values[value_names[key]]);\n }\n values[value_names[key]] = new Date(values[value_names[key]]).toISOString();\n }\n } \n}\n\nexport function setZeroTime_ODataValues (values: any, value_names: string[]){\n for (const key in value_names) {\n if(values[value_names[key]]){\n if(!(values[value_names[key]] instanceof Date)){\n values[value_names[key]] = new Date(values[value_names[key]]);\n }\n // console.log(values[value_names[key]]);\n values[value_names[key]].setUTCFullYear(values[value_names[key]].getFullYear());\n values[value_names[key]].setUTCMonth(values[value_names[key]].getMonth());\n values[value_names[key]].setUTCDate(values[value_names[key]].getDate());\n values[value_names[key]].setUTCHours(0); \n values[value_names[key]].setUTCMinutes(0); \n values[value_names[key]].setUTCSeconds(0); \n values[value_names[key]].setUTCMilliseconds(0); \n \n // console.log(values[value_names[key]]); \n values[value_names[key]] = new Date(values[value_names[key]]).toISOString();\n }\n } \n}\n\nexport function setZeroTime_ODataValues_original (values: any, value_names: string[]){\n for (const key in value_names) {\n if(values[value_names[key]]){\n if(!(values[value_names[key]] instanceof Date)){\n values[value_names[key]] = new Date(values[value_names[key]]);\n }\n // console.log(values[value_names[key]]);\n values[value_names[key]].setFullYear(values[value_names[key]].getFullYear());\n values[value_names[key]].setMonth(values[value_names[key]].getMonth());\n values[value_names[key]].setDate(values[value_names[key]].getDate());\n values[value_names[key]].setHours(0); \n values[value_names[key]].setMinutes(0); \n values[value_names[key]].setSeconds(0); \n values[value_names[key]].setMilliseconds(0); \n \n // console.log(values[value_names[key]].toISOString());\n }\n } \n}\n\nexport function ensureDateEqual(date1: Date, date2: any) : Date|undefined{\n if(date1){\n if(!(date1 instanceof Date)){\n date1 = new Date(date1);\n }\n\n if(date2){\n if(!(date2 instanceof Date)){\n date2 = new Date(date2);\n }\n var start = new Date(date2); \n start.setFullYear(date1.getFullYear());\n start.setMonth(date1.getMonth());\n start.setDate(date1.getDate());\n return start;\n }\n }\n return undefined;\n}\n\n//--- Grouping, Sorting and Filtering helper function\nexport function fullNameFilterExpression_Employee(this:any, filterValue: any, selectedFilterOperation: any, field: string | undefined) {\n let column:any = this as any;\n let filterExpression : any[]|undefined;\n\n if(filterValue){\n switch(selectedFilterOperation) { \n case 'contains': {\n if(field)\n filterExpression = [[`${field}/FirstName`, selectedFilterOperation, filterValue], \"or\", [`${field}/LastName`, selectedFilterOperation, filterValue]]; \n else\n filterExpression = [[`FirstName`, selectedFilterOperation, filterValue], \"or\", [`LastName`, selectedFilterOperation, filterValue]]; \n break; \n } \n case 'notcontains': {\n if(field)\n filterExpression = [[`${field}/FirstName`, selectedFilterOperation, filterValue], \"and\", [`${field}/LastName`, selectedFilterOperation, filterValue]]; \n else\n filterExpression = [[`FirstName`, selectedFilterOperation, filterValue], \"and\", [`LastName`, selectedFilterOperation, filterValue]]; \n break; \n }\n case 'startswith': {\n if(field)\n filterExpression = [`${field}/FirstName`, selectedFilterOperation, filterValue];\n else\n filterExpression = [`FirstName`, selectedFilterOperation, filterValue];\n break; \n } \n case 'endswith': {\n if(field)\n filterExpression = [`${field}/LastName`, selectedFilterOperation, filterValue]; \n else\n filterExpression = [`LastName`, selectedFilterOperation, filterValue]; \n break; \n } \n default: { \n break; \n } \n } \n}\n\n if(!filterExpression){\n filterExpression = column.defaultCalculateFilterExpression.apply(column, arguments);\n }\n\n return filterExpression;\n}\n\n\nexport function dateFunctionFilterExpression(this:any, filterValue: any, selectedFilterOperation: any, field: string|undefined, odata_Function: string|undefined) {\n let column:any = this as any;\n let filterExpression : any[]|undefined;\n\n if(filterValue){\n switch(selectedFilterOperation) { \n case '=': {\n filterExpression = [[`${odata_Function}(${field})`, selectedFilterOperation, filterValue]]; \n break; \n } \n case '<>': {\n filterExpression = [[`${odata_Function}(${field})`, selectedFilterOperation, filterValue]]; \n break; \n }\n case '<': {\n //Less than\n filterExpression = [`${odata_Function}(${field})`, selectedFilterOperation, filterValue];\n break; \n } \n case '>': {\n //Greater than\n filterExpression = [`${odata_Function}(${field})`, selectedFilterOperation, filterValue]; \n break; \n } \n default: { \n break; \n } \n } \n}\n\n if(!filterExpression){\n filterExpression = column.defaultCalculateFilterExpression.apply(column, arguments);\n }\n\n // console.log(\"date filter: \", filterExpression);\n return filterExpression;\n}\n\nexport function getBlobUrl(storageAccountName: string, blobPath: string) : string{\n const delim = blobPath.startsWith('/') ? '' : '/';\n return `https://${storageAccountName}.blob.core.windows.net${delim}${blobPath}`;\n}\n\nexport function getProfileImageUrl(storageAccountName: string|undefined, blobContainerName: string|undefined, blobName: string|undefined) : string{\n if(storageAccountName && blobContainerName && blobName){\n return getBlobUrl(storageAccountName, blobContainerName + blobName);\n }\n return './assets/png/no-profile-img-32.png';\n}\n","export class LanguageInfo {\n LocaleId?: string; \n LanguageName?: string;\n FlagCode?: string;\n}","export class ThemeInfo {\n ThemeName?: string; \n ThemeCaption?: string;\n Svg?: string;\n}","export class Country {\n Id?: number; \n Enabled?: boolean;\n Code3?: string;\n Code2?: string;\n Name?: string;\n NameOfficial?: string;\n LocalName?: string;\n LocalNameOfficial?: string; \n Flag_32?: string;\n Flag_128?: string;\n Latitude?: number;\n Longitude?: number;\n zoom?: number;\n TradeArea?: string;\n Language?: string;\n Shipping_Require_State?: boolean; \n}\n\nexport class CountryState {\n Id?: number; \n Name?: string;\n Name_Native?: string;\n\n CountryId?: number; \n CountryCode?: string;\n CountryName?: string;\n CountryLocalName?: string;\n\n StateCode?: string;\n Type?: string;\n\n Latitude?: number;\n Longitude?: number;\n}\n\nexport class CountryCity {\n Id?: number; \n Name?: string;\n\n StateId?: number; \n StateCode?: string;\n StateName?: string;\n StateName_Native?: string;\n \n CountryId?: number; \n CountryCode?: string;\n CountryName?: string;\n CountryLocalName?: string;\n\n Latitude?: number;\n Longitude?: number;\n}\n\nexport class CountryPostalCode {\n Id?: number; \n Name?: string;\n PostalCode?: string;\n\n CountryId?: number; \n CountryCode?: string;\n CountryName?: string;\n CountryLocalName?: string;\n\n AdminName1?: string;\n AdminName1_Native?: string; \n AdminCode1?: string;\n AdminName2?: string;\n AdminCode2?: string;\n AdminName3?: string;\n AdminCode3?: string;\n\n Latitude?: number;\n Longitude?: number;\n}","export class OrganizationInfo {\n OrganizationId: string | undefined;\n Name: string | undefined;\n Email: string | undefined; \n AccountNumber: string | undefined;\n\n HashedPasswords: boolean | undefined;\n CertificateLogin: boolean | undefined;\n Demo: boolean | undefined;\n Active: boolean | undefined;\n\n PartnerId: string | undefined;\n PartnerName: string | undefined;\n\n StorageAccount: StorageAccountInfo | undefined;\n}\n\nexport class StorageAccountInfo {\n Key: string | undefined;\n Name: string | undefined;\n}","export interface IToolbarItem {\n name?: string;\n caption: string;\n svg: string;\n link?: string|undefined;\n linkstate?: any|undefined;\n click?: string|undefined;\n click_paramters?: any[]|undefined;\n children?: IToolbarItem[]|undefined;\n cssClass?: string | undefined;\n cssClass_Icon?: string | undefined;\n itemtype?: string | undefined;\n }\n \n export interface IMenuNode {\n name?: string;\n caption: string;\n svg: string;\n svg_active: string;\n link?: string|undefined;\n linkstate?: any|undefined;\n click?: string|undefined;\n click_paramters?: any[]|undefined; \n children?: IMenuNode[]|undefined;\n }\n\n export enum MenuState {\n OpenedNormal = \"OpenNormal\",\n OpenCollapsed = \"OpenCollapsed\",\n Closed = \"Closed\"\n }"],"names":["i2.MobicloudConfigService","i1.MobicloudConfigService","i2.MobicloudCoreService","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mobicloud-core.mjs","sources":["../../src/lib/mobicloud-core.component.ts","../../src/lib/types/mobi-user-profile.ts","../../src/lib/types/application-details.ts","../../src/lib/services/mobicloud-config.service.ts","../../src/lib/services/mobicloud-core.service.ts","../../src/lib/token-http-interceptor.ts","../../src/lib/validators/username-validator.ts","../../src/lib/mobicloud-core.module.ts","../../src/lib/guards/mobi-authentication.guard.ts","../../src/lib/guards/mobi-organization.guard.ts","../../src/lib/guards/mobi-b2b.guard.ts","../../src/lib/utils.ts","../../src/lib/types/language-info.ts","../../src/lib/types/theme-info.ts","../../src/lib/types/country.ts","../../src/lib/types/organization-info.ts","../../src/lib/types/ui-types.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-mobicloud-core',\n template: `\n <p>\n mobicloud-core works!\n </p>\n `,\n styles: [\n ]\n})\nexport class MobicloudCoreComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { WritableSignal, effect } from '@angular/core';\nimport { User } from 'oidc-client';\nimport { Observable } from 'rxjs';\n\nexport class MobiUserProfile {\n user: User|null = null;\n \n // constructor(oidc_User: Observable<User | undefined>) {\n // oidc_User.subscribe(u => this.user = u); \n // }\n\n constructor(user: User|null) {\n this.user = user;\n }\n\n // constructor(user: WritableSignal<User|null>) {\n // effect(() => {\n // this.user = user();\n // });\n // }\n \n get idToken() : string | undefined{\n return this.user?.id_token;\n }\n \n get refreshToken() : string | undefined{\n return this.user?.refresh_token;\n }\n \n get accessToken() : string | undefined{\n return this.user?.access_token;\n }\n \n get tokenType() : string | undefined{\n return this.user?.token_type;\n }\n \n get tokenScope() : string | undefined{\n return this.user?.scope;\n }\n \n get tokenExpiresAt() : number | undefined{\n return this.user?.expires_at;\n }\n \n get tokenExpiresAt_Date(): Date | undefined {\n if(this.user)\n return new Date(this.user.expires_at * 1000);\n return undefined;\n }\n \n get tokenExpiresIn() : number | undefined{\n return this.user?.expires_in;\n }\n \n get tokenIsExpired() : boolean | undefined{\n return this.user?.expired;\n }\n \n get shouldRenewToken() : boolean{\n if(this.user)\n return this.user.expires_in <= 120;\n return false;\n }\n \n // --- Profile\n get user_id() : string | undefined{\n return this.user?.profile?.sub;\n }\n \n get user_name() : string | undefined{\n return this.user?.profile?.name;\n }\n \n get user_username() : string | undefined{\n return this.user?.profile?.username;\n }\n \n get user_email() : string | undefined{\n return this.user?.profile?.email;\n }\n \n get user_partytype() : string | undefined{\n return this.user?.profile?.partytype;\n }\n \n get user_partyid() : string | undefined{\n return this.user?.profile?.partyid;\n }\n \n get user_partyname() : string | undefined{\n return this.user?.profile?.partyname;\n }\n \n get user_accountnumber() : string | undefined{\n return this.user?.profile?.account_number;\n }\n \n get user_authtype() : string | undefined{\n return this.user?.profile?.auth_type;\n }\n \n get user_roles() : string[] | undefined {\n return this.user?.profile?.role;\n }\n \n get isOrganizationAdmin() : boolean | undefined{\n if(this.user_roles)\n return this.user_roles?.includes('ORGADMIN');\n return false;\n }\n \n get isOrganizationUser() : boolean | undefined{\n if(this.user_roles)\n return this.user_roles?.includes('ORGUSER');\n return false;\n }\n \n get isEmployeeUser() : boolean | undefined{\n if(this.user_roles)\n return this.user_roles?.includes('EMPUSER');\n return false;\n }\n\n get isEmployeeMasterUser() : boolean | undefined{\n if(this.user_roles)\n return this.user_roles?.includes('EMPUSER') && this.user_roles?.includes('MASTER');\n return false;\n }\n \n get employeeNumber() : string | undefined{\n return this.user?.profile?.empl_number;\n } \n\n get securityRole() : string | undefined{\n return this.user?.profile?.security_role;\n } \n \n //-- B2B -----\n\n get isCustomerUser() : boolean | undefined{\n if(this.user_roles)\n return this.user_roles.includes('CUSTUSER');\n return false;\n }\n \n get user_customer_id() : string | undefined{\n return this.user?.profile?.cust_id;\n }\n\n get user_customer_accountnumber() : string | undefined{\n return this.user?.profile?.cust_account;\n }\n\n get user_customer_name() : string | undefined{\n return this.user?.profile?.cust_name;\n }\n\n get isVendorUser() : boolean{\n if(this.user_roles)\n return this.user_roles.includes('VENDUSER');\n return false;\n }\n\n get isMasterUser() : boolean{\n if(this.user_roles)\n return this.user_roles.includes('MASTER');\n return false;\n }\n\n get isMasterAdmin() : boolean{\n if(this.user_roles)\n return this.user_roles.includes('MASTERADMIN');\n return false;\n }\n\n get user_vendor_id() : string | undefined{\n return this.user?.profile?.vend_id;\n }\n\n get user_vendor_accountnumber() : string | undefined{\n return this.user?.profile?.vend_account;\n }\n\n get user_vendor_name() : string | undefined{\n return this.user?.profile?.vend_name;\n } \n\n get isB2BUser() : boolean{\n return this.isCustomerUser || this.isVendorUser;\n }\n }","export class ApplicationDetails {\n\tName!: \t\tstring;\n OrganizationId!: \t\tstring;\n\tOrganizationName!:\t\t\tstring; \n OrganizationEmail!: \t\tstring; \n OrganizationAccountNumber!: string;\n StorageAccountName!: string;\n ServicebusName!: string;\n\n HashedPasswords!: \t\tboolean | undefined;\n CertificateLogin!: \t\tboolean | undefined;\n AllowSubOrganizations!: \tboolean | undefined;\n OwnerOrganizationId: \t\tstring | undefined;\n\tOwnerOrganizationName:\t\t\tstring | undefined; \n OwnerOrganizationAccountNumber:\t\t\tstring | undefined; \n\n IsMasterOrganization!: \t\tboolean | undefined;\n\n MapProvider?: MapProvider | undefined;\n MapProviderKey?: string | undefined;\n\n Currency?: CompanyCurrency | undefined;\n WmsLocationSetting?: WmsLocationSetting | undefined;\n JournalSetting?: JournalSetting | undefined;\n ServicePlanningSetting?: ServicePlanningSetting | undefined;\n WebshipperSetting?: WebshipperSetting | undefined;\n ShipmentSettings?: any | undefined;\n ModuleSetting?: ModuleSetting | undefined;\n\n ProductionSetting?: ProductionSetting | undefined;\n\n DefaultDashboardSlideShowSetting?: DefaultDashboardSlideShowSetting | undefined;\n\n DefaultInventLocationId?: string | undefined;\n DefaultInventLocation?: any | undefined;\n\n CloudApplications?: CloudApplicationInfo[] | undefined;\n DataApplications?: DataApplicationInfo[] | undefined;\n // MobisolutionsCloudApplication?: CloudApplicationInfo | undefined;\n}\n\nexport class CompanyCurrency {\n Id?: string | undefined;\n Name?: string | undefined;\n Description?: string | undefined;\n CurrencyId?: string | undefined;\n Code?: string | undefined; \n}\n\nexport enum EmployeeSecurityRoleType\n{\n None = \"None\",\n SuperUser = \"SuperUser\",\n Accountant = \"Accountant\",\n Admin = \"Admin\",\n}\n\nexport class ServicePlanningSetting {\n TaskPart_ServiceReportId?: \t string|undefined;\n TaskPart_ApproveMode?: TaskPartApproveMode|undefined;\n \n}\n\nexport class DefaultDashboardSlideShowSetting {\n StartupId?: \t string|undefined;\n StartupName?: string|undefined;\n \n}\n\nexport enum TaskPartApproveMode\n{\n None = \"None\",\n Posted = \"Posted\",\n CreateReport = \"CreateReport\",\n SendEmail = \"SendEmail\",\n CreateReportSendEmail = \"CreateReportSendEmail\",\n}\n\nexport class WmsLocationSetting {\n Pattern?: \t string|undefined;\n UpdateOnChange?: boolean|undefined;\n\n}\n\nexport class JournalSetting {\n Approval_CountingJournal?: string|undefined;\n Approval_TransferJournal?: string|undefined;\n Approval_ReceivingJournal?: string|undefined;\n Approval_ProfitLossJournal?: string|undefined;\n}\n\nexport class ProductionSetting {\n DefaultMrpLevel?: ProductionSettingMrpLevel|undefined;\n}\n\nexport enum ProductionSettingMrpLevel\n{\n MRP_I = \"MRP_I\",\n MRP_II = \"MRP_II\",\n MRP_III = \"MRP_III\"\n}\n\nexport class WebshipperSetting {\n PackageWeightMode?: WebshipperPackageWeightMode|undefined;\n}\n\nexport enum WebshipperPackageWeightMode\n{\n PackageFixed = \"PackageFixed\",\n ItemsWeight = \"ItemsWeight\"\n}\n\nexport class ModuleSetting {\n Solutions?: string[] | undefined;\n AddOns?: string[] | undefined;\n}\n\nexport class ProfileDetails {\n Id?: \t string|undefined;\n Name?: string|undefined;\n\tImage?: ProfileImage|undefined; \n User?: any|undefined; \n}\n\nexport class ProfileImage {\n\tStorageAccountName?: string|undefined;\n BlobContainerName: \tstring|undefined;\n\tBlobName?: string|undefined; \n}\n\nexport enum MapProvider\n{\n None = \"None\",\n Bing = \"Bing\",\n Google = \"Google\"\n}\n\nexport class CloudApplicationInfo {\n Id?: \t string|undefined;\n Name?: \t string|undefined;\n ApplicationName?: string|undefined;\n PublicUrl?: string|undefined;\n DataConnectorName?: string|undefined;\n DataConnectorTypeName?: string|undefined;\n\n DataConnector_ConnectorType?: string|undefined;\n DataConnector_Category?: string|undefined;\n DataConnector_Default?: boolean|undefined;\n}\n\nexport class DataApplicationInfo {\n Id?: \t string|undefined;\n Name?: \t string|undefined;\n Default?: boolean|undefined;\n TypeName?: string|undefined;\n ConnectorType?: string|undefined;\n Category?: string|undefined;\n}","import '@angular/localize/init';\nimport { Injectable, Injector, LOCALE_ID, Inject, signal } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map } from 'rxjs/operators';\nimport { firstValueFrom, of } from 'rxjs';\nimport { registerLocaleData } from '@angular/common';\nimport localeDA from '@angular/common/locales/da';\nimport { LanguageInfo } from \"../types/language-info\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobicloudConfigService {\n\n AppInjector: Injector;\n\n public _config_name: string = '';\n public _app_name: string = '';\n public _app_title: string = '';\n public _environment: string = '';\n public _default_api_baseurl: string = ''; \n public _default_taskscheduler_baseurl: string = ''; \n public _host_url: string = '';\n public _host_url_en: string = '';\n public _oidc_authority: string = '';\n public _oidc_client_id: string = '';\n public _oidc_client_secret: string = ''; \n public _oidc_response_type: string = '';\n public _oidc_scopes: string = '';\n public _oidc_log: boolean = false;\n public _log_httptrafic: number = 0;\n public _themes_enabled: boolean|undefined = false;\n\n currentLocaleId = signal<string>('');\n\n languageName = signal<string>('');\n\n constructor(private http: HttpClient, private injector: Injector, @Inject(LOCALE_ID) public localeId: string) {\n this.AppInjector = injector;\n console.log(\"Application Language:\", this.CurrentLanguage);\n // console.log(\"Application baseHref:\", this.baseHref);\n if(this.localeId == \"da\") {\n registerLocaleData(localeDA, 'da'); \n }\n this.currentLocaleId.set(this.localeId);\n this.languageName.set(this.getLanguageName(this.localeId));\n }\n\n checkIfConfigFileExists(config_file: string): Promise<boolean> {\n const timestamp = Date.now();\n return firstValueFrom(\n this.http.head(`./assets/${config_file}?t=${timestamp}`).pipe(\n map(() => true), // File exists\n catchError(() => of(false)) // File doesn't exist\n )\n );\n }\n\n async getConfigData(config_file: string): Promise<any> {\n const config_file_url = await this.checkIfConfigFileExists('app.config.runtime.json')\n ? './assets/app.config.runtime.json'\n : `./assets/${config_file}`;\n \n const configdata = await firstValueFrom(\n this.http.get(`${config_file_url}?t=${Date.now()}`)\n );\n \n Object.assign(this, configdata);\n return configdata;\n }\n\n\n getLanguageName(locale: string) : string {\n if(locale == \"da\"){\n return $localize`:@@LanguageName-da:Danish`;\n }\n else{\n return $localize`:@@LanguageName-en-US:English`;\n } \n }\n\n get CurrentLanguage() : string {\n if(this.localeId == \"da\"){\n return \"DK\";\n }\n else if(this.localeId == \"en-US\"){\n return \"US\";\n } \n else {\n return this.localeId;\n }\n }\n \n getSupportedLanguages() : LanguageInfo[]\n {\n const languages: LanguageInfo[] = [{LocaleId: 'da', LanguageName: this.getLanguageName('da'), FlagCode: 'DK'}, {LocaleId: 'en-US', LanguageName: this.getLanguageName('en-US'), FlagCode: 'GB'}];\n return languages;\n }\n\n getApiSiteUrl() : string{\n return `${this._default_api_baseurl}`;\n }\n\n getTaskschedulerUrl() : string{\n return `${this._default_taskscheduler_baseurl}`;\n }\n\n getApiBaseUrl() : string{\n return `${this.getApiSiteUrl()}api/`;\n }\n\n getMobiManagementDataUrl() : string{\n return `${this.getApiBaseUrl()}mobimanagement/`;\n } \n\n getRepositoryUrl() : string{\n return `${this.getApiBaseUrl()}repository/`;\n } \n\n get config_name(): string {\n return this._config_name;\n }\n \n get app_name(): string {\n return this._app_name;\n }\n\n get app_title(): string {\n return this._app_title;\n }\n\n get environment(): string {\n return this._environment;\n }\n\n get oidc_authority(): string {\n return this._oidc_authority;\n }\n\n get oidc_client_id(): string {\n return this._oidc_client_id;\n }\n\n get oidc_client_secret(): string {\n return this._oidc_client_secret;\n }\n\n get host_url(): string {\n return this._host_url;\n }\n\n get host_url_en(): string {\n return this._host_url_en;\n }\n\n get oidc_base_url(): string {\n if(this.localeId == \"da\") {\n return this.host_url;\n }\n else{\n return this.host_url_en;\n } \n }\n\n get oidc_redirect_uri(): string {\n return `${this.oidc_base_url}signin-callback`;\n }\n\n get oidc_redirect_silent_uri(): string {\n return `${this.oidc_base_url}signin-silent-callback`;\n }\n\n get oidc_post_logout_redirect_uri(): string {\n return `${this.oidc_base_url}signout-callback`;\n }\n\n get oidc_response_type(): string {\n return this._oidc_response_type;\n }\n\n get oidc_scopes(): string {\n return this._oidc_scopes;\n }\n\n get oidc_log(): boolean {\n return this._oidc_log;\n }\n\n get log_httptrafic(): number {\n return this._log_httptrafic;\n }\n\n get themes_enabled(): boolean|undefined {\n return this._themes_enabled;\n }\n \n}\n","import { Injectable, EventEmitter, signal } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\nimport { UserManager, User, Log } from 'oidc-client';\nimport { firstValueFrom, retry } from 'rxjs';\nimport { timeout } from 'rxjs/operators';\nimport { MobicloudConfigService } from \"./mobicloud-config.service\";\nimport { MobiUserProfile } from \"../types/mobi-user-profile\";\nimport { ApplicationDetails, ProfileDetails, EmployeeSecurityRoleType } from \"../types/application-details\";\nimport { Country } from \"../types/country\";\nimport { IODataResult } from \"../types/odata-result\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobicloudCoreService {\n\n public _appVersion: string = '';\n public _appName: string = '';\n public _appTitle: string = '';\n\n public require_Organization:boolean = true;\n public require_Customer:boolean = false;\n public require_Vendor:boolean = false;\n\n private manager: UserManager | undefined;\n\n user = signal<User | null>(null);\n mobiUserProfile= signal<MobiUserProfile | undefined>(undefined);\n applicationDetails = signal<ApplicationDetails | undefined>(undefined);\n profileDetails = signal<ProfileDetails | undefined>(undefined);\n countries = signal<Map<string, Country> | undefined>(undefined); \n\n public UserChanged: EventEmitter<{user: User|undefined|null, profile: MobiUserProfile|undefined, profileDetails:ProfileDetails|undefined}> = new EventEmitter<{user: User|undefined|null, profile: MobiUserProfile|undefined, profileDetails:ProfileDetails|undefined}>(); \n\n constructor(protected httpClient: HttpClient, public configService: MobicloudConfigService) { \n this.usermanager_UserLoaded = this.usermanager_UserLoaded.bind(this); \n this.usermanager_UserUnloaded = this.usermanager_UserUnloaded.bind(this); \n\n if(this.configService.oidc_log){\n Log.logger = console;\n Log.level = Log.DEBUG; \n }\n this.manager = new UserManager(\n {\n authority: configService.oidc_authority,\n client_id: configService.oidc_client_id,\n client_secret: configService.oidc_client_secret,\n redirect_uri: configService.oidc_redirect_uri,\n post_logout_redirect_uri: configService.oidc_post_logout_redirect_uri,\n response_type: configService.oidc_response_type,\n scope: configService.oidc_scopes,\n filterProtocolClaims: true,\n loadUserInfo: true,\n silent_redirect_uri: configService.oidc_redirect_silent_uri\n }\n );\n\n this.manager.events.addUserLoaded(this.usermanager_UserLoaded); \n this.manager.events.addUserUnloaded(this.usermanager_UserUnloaded);\n\n if(this.configService.oidc_log){\n this.enableOidcLogEvents(); \n }\n\n this.manager.clearStaleState();\n\n this.manager.getUser().then((_user:User|null) => {\n this.user.set(_user);\n if(_user)\n this.mobiUserProfile.set(new MobiUserProfile(_user));\n else\n this.mobiUserProfile.set(undefined);\n\n if(this.configService.oidc_log)\n console.log(\"constructor::manager.getUser()\", \"getUser complete\", _user, this.user(), this.mobiUserProfile());\n\n this.onUserChanged().then(() => \n {\n if(this.configService.oidc_log)\n console.log(\"constructor::manager.getUser()\", \"onUserChanged complete\", this.user(), this.mobiUserProfile()); \n });\n });\n }\n\n usermanager_UserLoaded(_user:User){\n this.user.set(_user);\n if(_user)\n this.mobiUserProfile.set(new MobiUserProfile(_user));\n else\n this.mobiUserProfile.set(undefined);\n\n if(this.configService.oidc_log){\n console.log('User loaded', _user, this.user(), this.mobiUserProfile(), this.profileDetails());\n }\n this.onUserChanged(); \n }\n\n usermanager_UserUnloaded(){\n this.user.set(null);\n this.mobiUserProfile.set(undefined);\n this.onUserChanged(); \n\n if(this.configService.oidc_log){\n console.log('User unloaded', this.user(), this.mobiUserProfile(), this.profileDetails());\n } \n }\n\n protected async onUserChanged() : Promise<void>\n {\n if(this.configService.oidc_log){\n console.log(\"onUserChanged\", \"user\", this.user(), this.mobiUserProfile(), this.profileDetails()); \n }\n \n if (this.user()) {\n //Load application details (related to logged in organization user)\n let appResult = await this.getApplicationDetails();\n if(this.configService.oidc_log)\n console.log(\"onUserChanged\", \"appResult\",appResult);\n\n //Load Profile Details (The actual employee)\n let profileDetailsResult = await this.getProfileDetails();\n if(this.configService.oidc_log){\n console.log(\"onUserChanged\", \"getProfileDetails result\",profileDetailsResult); \n console.log(\"onUserChanged\", \"getProfileDetails\", this.profileDetails());\n } \n \n //Load countries (if not loaded)\n if(!this.countries()){\n let countriesResult = await this.getCountries();\n if(this.configService.oidc_log){\n console.log(\"onUserChanged\", \"getCountries result\",countriesResult); \n console.log(\"onUserChanged\", \"getCountries\", this.countries());\n }\n }\n }\n else {\n this.mobiUserProfile.set(undefined);\n this.profileDetails.set(undefined);\n this.applicationDetails.set(undefined);\n }\n\n this.UserChanged.emit({user: this.user(), profile: this.mobiUserProfile(), profileDetails: this.profileDetails()});\n }\n\n\n async getApplicationDetails(requestTimeout:number=30000): Promise<ApplicationDetails | undefined> {\n if (!this.isAuthenticated()) {\n console.warn(\"ApplicationDetails is null, user not authenticated\");\n this.applicationDetails.set(undefined);\n return undefined;\n }\n \n if (this.isMasterUserAuthenticated() && !this.hasMasterOrganization()) {\n console.warn(\"ApplicationDetails is null, MasterOrganization is not selected\");\n this.applicationDetails.set(undefined);\n return undefined;\n }\n \n try {\n const url = `${this.configService.getApiBaseUrl()}ApplicationDetails`;\n const params = new HttpParams()\n .set('key', this.configService.app_name)\n .set('env', this.configService.environment);\n \n const appDetails = await firstValueFrom(\n this.httpClient.get<ApplicationDetails>(url, { params }).pipe(\n timeout(requestTimeout),retry({\n count: 2,\n delay: 1000,\n resetOnSuccess: true\n })\n )\n );\n\n this.applicationDetails.set(appDetails);\n return appDetails;\n \n } \n catch (error: any) {\n console.error(\"getApplicationDetails error:\", error);\n this.applicationDetails.set(undefined);\n throw error;\n }\n }\n\n async getCountries(): Promise<Map<string, Country>> {\n const url = `${this.configService.getMobiManagementDataUrl()}Country`;\n \n try {\n const result:IODataResult<Country> = await firstValueFrom(\n this.httpClient.get<IODataResult<Country>>(url, {\n params: {\n '$filter': 'enabled eq true',\n '$orderby': 'Name',\n '$select': 'code2,Name,LocalName,TradeArea,Shipping_Require_State'\n }\n }).pipe(timeout(15000),retry({\n count: 2,\n delay: 1000,\n resetOnSuccess: true\n }))\n );\n \n const countries_map = new Map(result.value.map((country:Country) => [country.Code2 ?? '', country]));\n \n this.countries.set(countries_map);\n \n return countries_map;\n \n } \n catch (error:any) {\n console.error(error);\n // return new Map<string, Country>();\n throw error;\n }\n }\n \n async getProfileDetails(requestTimeout:number=30000): Promise<ProfileDetails | undefined> {\n if (!this.isAuthenticated() || !this.mobiUserProfile()?.user_id) {\n if(this.configService.oidc_log){\n let profile = this.mobiUserProfile();\n console.log(\"getProfileDetails\", \"no user\",profile); \n } \n this.profileDetails.set(undefined);\n return undefined;\n }\n \n let url:string|undefined;\n let orgid_override:string|undefined;\n if(this.mobiUserProfile()?.isEmployeeUser){ \n if(this.mobiUserProfile()?.isEmployeeMasterUser){\n let user_org_id = this.mobiUserProfile()?.user_partyid?.toLowerCase();\n if(user_org_id != undefined){\n orgid_override = user_org_id;\n }\n if(this.configService.oidc_log){\n console.log(\"getProfileDetails\", \"isEmployeeMasterUser\", user_org_id, orgid_override); \n } \n // console.log(\"isEmployeeMasterUser\", app_orgId, user_org_id, orgid_override);\n }\n url = `${this.configService.getMobiManagementDataUrl()}employee(${this.mobiUserProfile()?.user_id})?$expand=Image($select=StorageAccountName,BlobContainerName,BlobName)`;\n }\n else if(this.mobiUserProfile()?.isCustomerUser){\n url = `${this.configService.getMobiManagementDataUrl()}customeruser(${this.mobiUserProfile()?.user_id})?$expand=Image($select=StorageAccountName,BlobContainerName,BlobName)`;\n }\n else if(this.mobiUserProfile()?.isVendorUser){\n url = `${this.configService.getMobiManagementDataUrl()}vendoruser(${this.mobiUserProfile()?.user_id})?$expand=Image($select=StorageAccountName,BlobContainerName,BlobName)`;\n }\n if (!url) {\n if(this.configService.oidc_log){\n let profile = this.mobiUserProfile();\n console.log(\"getProfileDetails\", \"no url\", profile); \n } \n this.profileDetails.set(undefined);\n return undefined;\n }\n \n try {\n // console.log(url);\n let headers = new HttpHeaders();\n if(orgid_override){\n headers = headers.set(\"OrganizationId\", orgid_override);\n }\n \n if(this.configService.oidc_log){\n console.log(\"getProfileDetails\", \"url\", url); \n console.log(\"getProfileDetails\", \"headers\", headers); \n } \n\n const result = await firstValueFrom(\n this.httpClient.get<IODataResult<any>>(url, { headers: headers }).pipe(\n timeout(requestTimeout)\n )\n );\n\n if(this.configService.oidc_log){\n console.log(\"getProfileDetails\", \"result\", result); \n } \n \n if (!result.value || !result.value[0]) {\n return undefined;\n }\n const _user = result.value[0];\n const _profileDetails = Object.assign(new ProfileDetails(), {\n Id: _user.Id?.toString(),\n Name: _user.Name,\n Image: _user.Image,\n User: _user\n });\n\n this.profileDetails.set(_profileDetails);\n\n if(this.configService.oidc_log){\n console.log(\"getProfileDetails\", \"profileDetails\", _profileDetails); \n } \n\n return _profileDetails;\n \n } catch (error: any) {\n console.error(\"getProfileDetails error:\", error);\n this.profileDetails.set(undefined);\n return undefined;\n }\n } \n\n\n // --- SignIn ------------------------------------------------------\n\n public async signIn(redirectUrl: string): Promise<any> {\n if(this.configService.oidc_log){\n console.log(\"signIn\", redirectUrl); \n }\n let result = await this.manager?.signinRedirect({ data: { redirectUrl: redirectUrl } }).catch( (reason: any) =>\n {\n console.error(\"signIn failed:\", reason, this.user(), this.mobiUserProfile());\n return new Error(reason);\n });\n if(this.configService.oidc_log){\n console.log(\"signIn\", \"result\", result, this.user(), this.mobiUserProfile()); \n }\n return result;\n }\n\n public async completeSignIn(): Promise<User|null> { \n let _user = await this.manager?.signinRedirectCallback() ?? null;\n if(this.configService.oidc_log){\n console.log(\"completeSignIn\", _user, this.user(), this.mobiUserProfile()); \n }\n return _user;\n }\n\n // --- Silent SignIn -----------------------------------------------\n\n public async signInSilent(): Promise<any> { \n if(this.configService.oidc_log){\n console.log(\"signInSilent\"); \n } \n let result = await this.manager?.signinSilent().then((_user:User) =>\n {\n if(this.configService.oidc_log){\n console.log(\"signInSilent\", \"result\", _user, this.user(), this.mobiUserProfile()); \n } \n this.onSignedInSilent(_user);\n }).catch( (reason: any) =>\n {\n console.error(\"signInSilent failed:\", reason, this.user(), this.mobiUserProfile());\n return new Error(reason);\n });\n\n if(this.configService.oidc_log){\n console.log(\"signInSilent\", \"result\", result, this.user(), this.mobiUserProfile()); \n }\n return result;\n }\n\n public onSignedInSilent(_user: User){\n if(this.configService.oidc_log){\n console.log(\"onSignedInSilent\", _user, this.user(), this.mobiUserProfile()); \n } \n }\n\n public async completeSilentSignIn() : Promise<any>{ \n if(this.configService.oidc_log){\n console.log(\"completeSilentSignIn\", this.user(), this.mobiUserProfile()); \n } \n let result = await this.manager?.signinSilentCallback();\n\n if(this.configService.oidc_log){\n console.log(\"signInSilent\", \"result\", result, this.user(), this.mobiUserProfile()); \n }\n return result;\n }\n\n // --- SignOut -----------------------------------------------------\n\n public async signout(): Promise<any> {\n if(this.configService.oidc_log){\n console.log(\"signout\", this.user(), this.mobiUserProfile()); \n } \n return await this.manager?.signoutRedirect();\n }\n\n public async completeSignout() {\n if(this.configService.oidc_log){\n console.log(\"completeSignout\", this.user(), this.mobiUserProfile()); \n }\n }\n\n enableOidcLogEvents(){\n if(this.manager){\n // this.manager.events.addUserLoaded((_user:User) => {\n // console.log('User loaded:', _user);\n // });\n\n // this.manager.events.addUserUnloaded(() => {\n // console.log('User unloaded');\n // });\n\n this.manager.events.addUserSignedIn(() => {\n console.log('User signed in...');\n });\n\n this.manager.events.addAccessTokenExpiring(() => {\n console.log('Access token expiring...');\n });\n\n this.manager.events.addAccessTokenExpired(() => {\n console.log('Access token expired');\n });\n\n this.manager.events.addSilentRenewError((error: Error) => {\n console.error('Silent renew error:', error);\n });\n\n this.manager.events.addUserSignedOut(() => {\n console.log('User signed out from identity server');\n console.trace('User signed out stack trace');\n // This is particularly important to check - if this is firing,\n // it could trigger app reloads\n });\n\n this.manager.events.removeUserSignedOut(() => {\n console.log('removeUserSignedOut called');\n });\n\n this.manager.events.addUserSessionChanged(() => {\n console.log('addUserSessionChanged called');\n });\n\n this.manager.events.removeUserSessionChanged(() => {\n console.log('removeUserSessionChanged called');\n });\n }\n }\n\n // --- Helper methods -----------------------------------------------------\n\n public isAuthenticated(): boolean {\n return this.user() != null && !this.user()?.expired;\n }\n\n public isOrganizationAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin || this.mobiUserProfile()?.isEmployeeUser);\n }\n\n public isMasterOrganizationAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin || this.mobiUserProfile()?.isEmployeeUser)) || this.isMasterUserAuthenticated();\n }\n\n public isOrganizationUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin);\n }\n\n public isMasterOrganizationUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin)) || this.isMasterUserAuthenticated();\n }\n\n public isMasterOrganizationAdminAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationAdmin)) || this.isMasterUserAuthenticated();\n }\n\n public isEmployeeAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin || this.mobiUserProfile()?.isEmployeeUser);\n }\n\n public isEmployeeMasterUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isEmployeeMasterUser);\n }\n\n public isMasterEmployeeAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isOrganizationUser || this.mobiUserProfile()?.isOrganizationAdmin || this.mobiUserProfile()?.isEmployeeUser)) || this.isMasterUserAuthenticated();\n } \n\n public isCustomerUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isCustomerUser);\n }\n\n public isMasterCustomerUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isCustomerUser)) || this.isMasterUserAuthenticated();\n }\n\n public isVendorUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isVendorUser);\n }\n\n public isMasterVendorUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.mobiUserProfile() != null && (this.mobiUserProfile()?.isVendorUser)) || this.isMasterUserAuthenticated();\n } \n\n public isB2BAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.isOrganizationAuthenticated() || this.isCustomerUserAuthenticated()|| this.isVendorUserAuthenticated());\n }\n\n public isMasterB2BAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && (this.isOrganizationAuthenticated() || this.isCustomerUserAuthenticated()|| this.isVendorUserAuthenticated()) || this.isMasterUserAuthenticated();\n }\n\n public isMasterUserAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isMasterUser || this.mobiUserProfile()?.isMasterAdmin);\n }\n\n public isMasterAdminAuthenticated(): boolean|undefined {\n return this.isAuthenticated() && this.mobiUserProfile() != null && (this.mobiUserProfile()?.isMasterAdmin);\n }\n\n public securityRole(): EmployeeSecurityRoleType|undefined {\n if(this.isAuthenticated() && this.mobiUserProfile() != null && this.mobiUserProfile()?.securityRole){\n return EmployeeSecurityRoleType[this.mobiUserProfile()?.securityRole as keyof typeof EmployeeSecurityRoleType];\n }\n return undefined;\n }\n\n public hasMasterOrganization(): boolean {\n var strMasterOrganizationId = localStorage.getItem(\"MasterOrganizationId\");\n if(strMasterOrganizationId && strMasterOrganizationId.length > 0){\n return true;\n }\n else{\n return false;\n }\n }\n\n public getMasterOrganization(): string|null {\n var strMasterOrganizationId = localStorage.getItem(\"MasterOrganizationId\");\n return strMasterOrganizationId;\n }\n\n public async setMasterOrganization(strMasterOrganizationId: string|null): Promise<void> {\n if(strMasterOrganizationId){\n localStorage.setItem(\"MasterOrganizationId\", strMasterOrganizationId);\n let appdetails = await this.getApplicationDetails();\n if(this.configService.oidc_log)\n console.log(\"setMasterOrganization\", \"appResult\", appdetails); \n }\n else{\n this.removeMasterOrganization();\n // return new Promise(resolve => { resolve(undefined); });\n }\n }\n\n public removeMasterOrganization(): void {\n localStorage.removeItem(\"MasterOrganizationId\");\n }\n\n public hasMasterCustomer(): boolean {\n var strMasterCustomerId = localStorage.getItem(\"MasterCustomerId\");\n if(strMasterCustomerId && strMasterCustomerId.length > 0){\n return true;\n }\n else{\n return false;\n }\n }\n\n public getMasterCustomer(): string|null {\n var strMasterCustomerId = localStorage.getItem(\"MasterCustomerId\");\n return strMasterCustomerId;\n }\n\n public setMasterCustomer(strMasterCustomerId: string|null): void {\n if(strMasterCustomerId){\n localStorage.setItem(\"MasterCustomerId\", strMasterCustomerId); \n }\n else{\n this.removeMasterCustomer();\n }\n }\n\n public removeMasterCustomer(): void {\n localStorage.removeItem(\"MasterCustomerId\");\n } \n\n public hasMasterVendor(): boolean {\n var strMasterVendorId = localStorage.getItem(\"MasterVendorId\");\n if(strMasterVendorId && strMasterVendorId.length > 0){\n return true;\n }\n else{\n return false;\n }\n }\n\n public getMasterVendor(): string|null {\n var strMasterVendorId = localStorage.getItem(\"MasterVendorId\");\n return strMasterVendorId;\n }\n\n public setMasterVendor(strMasterVendorId: string|null): void {\n if(strMasterVendorId){\n localStorage.setItem(\"MasterVendorId\", strMasterVendorId); \n }\n else{\n this.removeMasterVendor();\n }\n }\n\n public removeMasterVendor(): void {\n localStorage.removeItem(\"MasterVendorId\");\n } \n\n public redirectUrl(): string {\n return this.user()?.state?.redirectUrl;\n }\n\n public get accessToken(): string {\n return this.user()?.access_token ?? '';\n }\n\n public get authorizationHeader(): string|undefined {\n return this.user()?.token_type?.concat(\" \", (this.user()?.access_token ?? ''));\n }\n\n public get tokenExpiresAt(): Date|undefined {\n if(this.user()){\n let expires_at = this.user()?.expires_at;\n if(expires_at)\n return new Date(expires_at * 1000);\n }\n return undefined;\n }\n\n public get tokenValidUntil(): Date|undefined {\n if(this.user()){\n let expires_at = this.user()?.expires_at;\n if(expires_at)\n return new Date((expires_at -120) * 1000);\n }\n return undefined;\n }\n\n public get isTokenExpired(): boolean {\n if(this.user()){\n let expires_in = this.user()?.expires_in;\n if(expires_in)\n return expires_in <= 120;\n }\n return false;\n }\n\n handleError(error:any) {\n let errorMessage = '';\n if (error && error.error && error.error.error){\n //Get Json error\n errorMessage = error.error.error;\n }\n else if(error && error.error instanceof ErrorEvent) {\n // Get client-side error\n errorMessage = error.error.message;\n } \n else {\n // Get server-side error\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\n }\n // window.alert(errorMessage);\n let anyRemoved:boolean = evaluateForMasterOrganizationClearance(errorMessage);\n if(anyRemoved){\n location.reload();\n }\n return new Error(errorMessage);\n }\n\n //-- Permissions\n SecurityRolePriorityMap: Record<EmployeeSecurityRoleType, number> = {\n [EmployeeSecurityRoleType.None]: 0,\n [EmployeeSecurityRoleType.SuperUser]: 1,\n [EmployeeSecurityRoleType.Accountant]: 2,\n [EmployeeSecurityRoleType.Admin]: 3\n };\n\n requireEmployeePermission(mobiUserProfile:MobiUserProfile, callback: ((valid:boolean) => void)|undefined = undefined, securityRole:EmployeeSecurityRoleType = EmployeeSecurityRoleType.None) : boolean{\n let valid = (mobiUserProfile.isOrganizationUser || \n mobiUserProfile.isOrganizationAdmin ||\n (mobiUserProfile.isMasterUser || mobiUserProfile.isMasterAdmin));\n if(!valid){\n valid = mobiUserProfile.isEmployeeUser ?? false;\n if(valid){\n let emplSecurityRole = EmployeeSecurityRoleType.None;\n if(mobiUserProfile.securityRole){\n emplSecurityRole = EmployeeSecurityRoleType[mobiUserProfile.securityRole as keyof typeof EmployeeSecurityRoleType];\n }\n valid = this.SecurityRolePriorityMap[emplSecurityRole] >= this.SecurityRolePriorityMap[securityRole];\n }\n }\n if(callback){\n callback(valid ?? false);\n }\n return valid ?? false;\n }\n\n requireOrganizationUser(mobiUserProfile:MobiUserProfile, callback: ((valid:boolean) => void)|undefined = undefined) : boolean{\n let valid = (mobiUserProfile.isOrganizationUser || \n mobiUserProfile.isOrganizationAdmin ||\n (mobiUserProfile.isMasterUser || mobiUserProfile.isMasterAdmin));\n if(callback){\n callback(valid ?? false);\n }\n return valid ?? false;\n }\n\n requireOrganizationAdmin(mobiUserProfile:MobiUserProfile, callback: ((valid:boolean) => void)|undefined = undefined) : boolean{\n let valid = (mobiUserProfile.isOrganizationAdmin ||\n (mobiUserProfile.isMasterUser || mobiUserProfile.isMasterAdmin));\n if(callback){\n callback(valid ?? false);\n }\n return valid ?? false;\n }\n\n requireMasterPermission(mobiUserProfile:MobiUserProfile, callback: ((valid:boolean) => void)|undefined = undefined) : boolean{\n let valid = (mobiUserProfile.isMasterUser || mobiUserProfile.isMasterAdmin);\n if(callback){\n callback(valid ?? false);\n }\n return valid ?? false;\n }\n\n requireMasterAdminPermission(mobiUserProfile:MobiUserProfile, callback: ((valid:boolean) => void)|undefined = undefined) : boolean{\n let valid = mobiUserProfile.isMasterAdmin;\n if(!valid){\n let isEmployeeMaster = (mobiUserProfile.isMasterUser ?? false) && (mobiUserProfile.isEmployeeUser ?? false);\n if(isEmployeeMaster){\n let emplSecurityRole = EmployeeSecurityRoleType.None;\n if(mobiUserProfile.securityRole){\n emplSecurityRole = EmployeeSecurityRoleType[mobiUserProfile.securityRole as keyof typeof EmployeeSecurityRoleType];\n }\n valid = (this.SecurityRolePriorityMap[emplSecurityRole] == this.SecurityRolePriorityMap[EmployeeSecurityRoleType.Admin]);\n }\n }\n if(callback){\n callback(valid ?? false);\n }\n return valid ?? false;\n } \n\n\n}\n\nexport function evaluateForMasterOrganizationClearance(errorMessage:string) : boolean{\n let anyRemoved:boolean = false;\n\n if(errorMessage && (\n errorMessage.toString().indexOf('No Test database has been setup') >= 0 || \n errorMessage.toString().indexOf('Organization does not exist') >= 0\n )){\n // console.log(\"Check for clearance of MasterOrganizationId\");\n \n let masterOrgId = localStorage.getItem(\"MasterOrganizationId\");\n if(masterOrgId){\n console.log(\"Clearing MasterOrganizationId:\", masterOrgId);\n localStorage.removeItem(\"MasterOrganizationId\");\n anyRemoved = true;\n }\n\n let customerId = localStorage.getItem(\"MasterCustomerId\");\n if(customerId){\n console.log(\"Clearing MasterCustomerId:\", customerId);\n localStorage.removeItem(\"MasterCustomerId\");\n anyRemoved = true;\n }\n\n let vendorId = localStorage.getItem(\"MasterVendorId\");\n if(vendorId){\n console.log(\"Clearing MasterVendorId:\", vendorId);\n localStorage.removeItem(\"MasterVendorId\");\n anyRemoved = true;\n }\n }\n\n return anyRemoved;\n}\n","import { Injectable } from '@angular/core';\nimport {HttpEvent,HttpInterceptor,HttpHandler,HttpRequest,HttpErrorResponse} from \"@angular/common/http\";\nimport { Observable } from \"rxjs\";\n\n// import { ConfigService } from \"../../services/config.service\";\n// import { UserService } from \"../../services/user.service\";\nimport { MobicloudConfigService } from \"./services/mobicloud-config.service\";\nimport { MobicloudCoreService } from \"./services/mobicloud-core.service\";\n\nimport { from } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Injectable()\nexport class TokenHttpInterceptor implements HttpInterceptor {\n \n private coreService: MobicloudCoreService | undefined;\n\n constructor(protected configService: MobicloudConfigService) \n { \n }\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n // All HTTP requests are going to go through this method\n\n if((this.configService?._default_api_baseurl && req.url.includes(this.configService._default_api_baseurl)) || (this.configService?._default_taskscheduler_baseurl && req.url.includes(this.configService._default_taskscheduler_baseurl))){\n if(this.coreService === undefined){ \n this.coreService = this.configService.AppInjector.get(MobicloudCoreService);\n }\n // console.log(\"userservice: \" + this.userService);\n if(this.configService.log_httptrafic > 1){\n console.log({log: \"token-http-interceptor request\", request: req});\n }\n // if (!req.headers.has(\"Access-Control-Allow-Origin\")) {\n // req = req.clone({\n // headers: req.headers.set(\"Access-Control-Allow-Origin\", \"*\")\n // });\n // }\n\n const language: string = this.configService.CurrentLanguage;\n \n if (language && !req.headers.has(\"Language\")) {\n req = req.clone({\n headers: req.headers.set(\"Language\", language)\n });\n }\n if (language && !req.headers.has(\"Application\")) {\n req = req.clone({\n headers: req.headers.set(\"Application\", this.configService._app_name)\n });\n } \n if(this.configService.log_httptrafic > 1){\n console.log(req); \n }\n if(this.coreService && this.coreService.isAuthenticated()){\n if(this.coreService.isTokenExpired) {\n if(this.configService.log_httptrafic > 0)\n console.warn({log: \"token is expired (silent signin)\", tokenValidUntil: this.coreService.tokenValidUntil, tokenExpiresAt: this.coreService.tokenExpiresAt, is: this.coreService.isTokenExpired, auth_header: this.coreService.authorizationHeader, user: this.coreService.user} );\n return from(this.coreService.signInSilent()).pipe(\n switchMap((user) => {\n if(this.configService.log_httptrafic > 0)\n console.log({log: \"token renewed (adding new token)\", tokenValidUntil: this.coreService?.tokenValidUntil, tokenExpiresAt: this.coreService?.tokenExpiresAt, is: this.coreService?.isTokenExpired, auth_header: this.coreService?.authorizationHeader, user: this.coreService?.user} );\n req = req.clone({headers: req.headers.set(\"Authorization\", this.coreService?.authorizationHeader ?? '')}); \n\n // if(this.coreService && this.coreService.isMasterUserAuthenticated() && this.coreService.require_Organization && !req.headers.has(\"OrganizationId\")){\n if(this.coreService && this.coreService.require_Organization && !req.headers.has(\"OrganizationId\")){ \n var strMasterOrganizationId = this.coreService.getMasterOrganization();\n if(strMasterOrganizationId && strMasterOrganizationId.length > 0){\n req = req.clone({headers: req.headers.set(\"OrganizationId\", strMasterOrganizationId)});\n }\n } \n\n // if(this.coreService && this.coreService.isMasterEmployeeAuthenticated() && this.coreService.require_Customer && !req.headers.has(\"CustomerId\")){\n if(this.coreService && this.coreService.require_Customer && !req.headers.has(\"CustomerId\")){ \n var strMasterCustomerId = this.coreService.getMasterCustomer();\n if(strMasterCustomerId && strMasterCustomerId.length > 0){\n req = req.clone({headers: req.headers.set(\"CustomerId\", strMasterCustomerId)});\n }\n }\n\n // if(this.coreService && this.coreService.isMasterEmployeeAuthenticated() && this.coreService.require_Vendor && !req.headers.has(\"VendorId\")){\n if(this.coreService && this.coreService.require_Vendor && !req.headers.has(\"VendorId\")){ \n var strMasterVendorId = this.coreService.getMasterVendor();\n if(strMasterVendorId && strMasterVendorId.length > 0){\n req = req.clone({headers: req.headers.set(\"VendorId\", strMasterVendorId)});\n }\n } \n\n return next.handle(req);\n })\n );\n } \n else{\n if(this.configService.log_httptrafic > 0)\n console.log({log: \"token not expired\", tokenValidUntil: this.coreService.tokenValidUntil, tokenExpiresAt: this.coreService.tokenExpiresAt, is: this.coreService.isTokenExpired, auth_header: this.coreService.authorizationHeader, user: this.coreService.user} );\n if (!req.headers.has(\"Authorization\")) {\n req = req.clone({headers: req.headers.set(\"Authorization\", this.coreService.authorizationHeader ?? '')}); \n }\n // if(this.coreService.isMasterUserAuthenticated() && !req.headers.has(\"OrganizationId\")){\n if(this.coreService && this.coreService.require_Organization && !req.headers.has(\"OrganizationId\")){\n var strMasterOrganizationId = this.coreService.getMasterOrganization();\n if(strMasterOrganizationId && strMasterOrganizationId.length > 0){\n req = req.clone({headers: req.headers.set(\"OrganizationId\", strMasterOrganizationId)});\n }\n }\n // if(this.coreService && this.coreService.isMasterEmployeeAuthenticated() && this.coreService.require_Customer && !req.headers.has(\"CustomerId\")){\n if(this.coreService && this.coreService.require_Customer && !req.headers.has(\"CustomerId\")){ \n var strMasterCustomerId = this.coreService.getMasterCustomer();\n if(strMasterCustomerId && strMasterCustomerId.length > 0){\n req = req.clone({headers: req.headers.set(\"CustomerId\", strMasterCustomerId)});\n }\n }\n\n // if(this.coreService && this.coreService.isMasterEmployeeAuthenticated() && this.coreService.require_Vendor && !req.headers.has(\"VendorId\")){\n if(this.coreService && this.coreService.require_Vendor && !req.headers.has(\"VendorId\")){ \n var strMasterVendorId = this.coreService.getMasterVendor();\n if(strMasterVendorId && strMasterVendorId.length > 0){\n req = req.clone({headers: req.headers.set(\"VendorId\", strMasterVendorId)});\n }\n } \n return next.handle(req);\n }\n }\n else{\n if(this.configService.log_httptrafic > 0)\n console.log({log: \"user not athenticated\", tokenValidUntil: this.coreService.tokenValidUntil, tokenExpiresAt: this.coreService.tokenExpiresAt, is: this.coreService.isTokenExpired, auth_header: this.coreService.authorizationHeader, user: this.coreService.user} );\n return next.handle(req); \n } \n } \n else{\n if(this.configService.log_httptrafic > 1)\n console.log(\"not app request: \", req);\n return next.handle(req);\n } \n } \n}\n","import '@angular/localize/init';\nimport { Injectable } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { Observable, throwError, firstValueFrom } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map, timeout } from 'rxjs/operators';\n\nimport { MobicloudCoreService } from \"../services/mobicloud-core.service\";\n\n@Injectable()\nexport class UsernameValidator {\n\n currentUserId: string |undefined;\n debouncer: any |undefined;\n\n constructor(protected httpClient: HttpClient, public coreService: MobicloudCoreService){ \n } \n \n checkUsername(control: UntypedFormControl): any {\n\n clearTimeout(this.debouncer);\n \n return new Promise(resolve => {\n \n this.debouncer = setTimeout(() => {\n let parameterString = `?username=${control.value}`;\n if(this.currentUserId){\n parameterString += `¤tUserId=${this.currentUserId}`;\n }\n this.executeFunction<boolean>(parameterString).then(response => {\n response.subscribe((result) => {\n if(result){\n // console.log(\"user taken\");\n resolve({ \n \"usernametaken\": true\n });\n } else{\n // console.log(\"user not taken\");\n resolve(null);\n } \n });\n }),\n (err:any) => { \n resolve({'usernametaken': true});\n }\n }, 1000); \n \n });\n }\n\n async executeFunction<T>(parameterString: string = '', requestTimeout: number = 30000) : Promise<Observable<T>>{\n console.log(`${this.coreService.configService.getMobiManagementDataUrl()}Employee/UsernameTaken()${parameterString}`);\n return this.httpClient.get<any>(`${this.coreService.configService.getMobiManagementDataUrl()}Employee/UsernameTaken()${parameterString}`)\n .pipe(timeout(requestTimeout), catchError(this.handleError))\n .pipe(map(result => result['value'])); \n }\n \n handleError(error:any) {\n let errorMessage = '';\n if (error && error.error && error.error.error){\n //Get Json error\n errorMessage = error.error.error;\n }\n else if(error && error.error instanceof ErrorEvent) {\n // Get client-side error\n errorMessage = error.error.message;\n } \n else {\n // Get server-side error\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\n }\n\n return throwError(() => errorMessage);\n } \n\n async usernameValidation_devextreme(username: string, currentUserId?: string): Promise<void> {\n const params = new URLSearchParams();\n params.set('username', username);\n if (currentUserId) {\n params.set('currentUserId', currentUserId);\n }\n \n const url = `${this.coreService.configService.getMobiManagementDataUrl()}Employee/UsernameTaken()?${params}`;\n \n try {\n const res: any = await firstValueFrom(this.httpClient.get(url));\n \n res.isValid = !res.value;\n if (res.isValid) {\n res.message = $localize`:@@ValidationText-UsernameAvailable:Username is available`;\n return res;\n } else {\n throw $localize`:@@ErrorText-UsernameTaken:Username is not available`;\n }\n } catch (error) {\n console.error(error);\n throw \"Error: Unable to validate username\";\n }\n }\n \n async usernameValidation_customer_devextreme(customerId: string, username: string, currentUserId?: string): Promise<void> {\n const params = new URLSearchParams();\n params.set('username', username);\n if (currentUserId) {\n params.set('currentUserId', currentUserId);\n }\n \n const url = `${this.coreService.configService.getMobiManagementDataUrl()}Customer(${customerId})/UsernameTaken()?${params}`;\n \n try {\n const res: any = await firstValueFrom(this.httpClient.get(url));\n \n res.isValid = !res.value;\n if (res.isValid) {\n res.message = $localize`:@@ValidationText-UsernameAvailable:Username is available`;\n return res;\n } else {\n throw $localize`:@@ErrorText-UsernameTaken:Username is not available`;\n }\n } catch (error) {\n console.error(error);\n throw \"Error: Unable to validate username\";\n }\n } \n \n async usernameValidation_vendor_devextreme(vendorId: string, username: string, currentUserId?: string): Promise<void> {\n const params = new URLSearchParams();\n params.set('username', username);\n if (currentUserId) {\n params.set('currentUserId', currentUserId);\n }\n \n const url = `${this.coreService.configService.getMobiManagementDataUrl()}Vendor(${vendorId})/UsernameTaken()?${params}`;\n \n try {\n const res: any = await firstValueFrom(this.httpClient.get(url));\n \n res.isValid = !res.value;\n if (res.isValid) {\n res.message = $localize`:@@ValidationText-UsernameAvailable:Username is available`;\n return res;\n } else {\n throw $localize`:@@ErrorText-UsernameTaken:Username is not available`;\n }\n } catch (error) {\n console.error(error);\n throw \"Error: Unable to validate username\";\n }\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { MobicloudCoreComponent } from './mobicloud-core.component';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { TokenHttpInterceptor } from \"./token-http-interceptor\";\nimport { MobicloudConfigService } from \"./services/mobicloud-config.service\";\nimport { UsernameValidator } from \"./validators/username-validator\";\n\n@NgModule({\n declarations: [MobicloudCoreComponent],\n imports: [\n ],\n exports: [MobicloudCoreComponent]\n})\nexport class MobicloudCoreModule {\n\n static forRoot(): ModuleWithProviders<MobicloudCoreModule> {\n return {\n ngModule: MobicloudCoreModule,\n providers: [\n {provide: HTTP_INTERCEPTORS, useClass: TokenHttpInterceptor, deps: [MobicloudConfigService], multi: true},\n UsernameValidator\n ]\n };\n } \n }\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { MobicloudCoreService } from \"../services/mobicloud-core.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiAuthenticationGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n if (this.coreService.isAuthenticated()) {\n return true;\n }\n\n this.coreService.signIn(state.url);\n return false;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { MobicloudCoreService } from \"../services/mobicloud-core.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiOrganizationGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n \n const userProfile = this.coreService.mobiUserProfile();\n \n if (!userProfile) {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n return false;\n }\n\n return new Observable<boolean>((observer) => {\n this.coreService.requireEmployeePermission(userProfile, (valid: boolean) => {\n if (valid && this.coreService.isAuthenticated()) {\n observer.next(true);\n observer.complete();\n } else {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n observer.next(false);\n observer.complete();\n }\n });\n });\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiMasterUserGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n const userProfile = this.coreService.mobiUserProfile();\n \n if (!userProfile) {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n return false;\n }\n\n return new Observable<boolean>((observer) => {\n this.coreService.requireMasterPermission(userProfile, (valid: boolean) => {\n if (valid && this.coreService.isAuthenticated()) {\n observer.next(true);\n observer.complete();\n } else {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n observer.next(false);\n observer.complete();\n }\n });\n });\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiMasterAdminGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n const userProfile = this.coreService.mobiUserProfile();\n \n if (!userProfile) {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n return false;\n }\n\n return new Observable<boolean>((observer) => {\n this.coreService.requireMasterAdminPermission(userProfile, (valid: boolean) => {\n if (valid && this.coreService.isAuthenticated()) {\n observer.next(true);\n observer.complete();\n } else {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n observer.next(false);\n observer.complete();\n }\n });\n });\n }\n}\n\n//-------\n@Injectable({\n providedIn: 'root'\n})\nexport class MasterOrganizationGuard implements CanActivate {\n constructor(\n private router: Router, \n private coreService: MobicloudCoreService\n ) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n const userProfile = this.coreService.mobiUserProfile();\n \n if (!userProfile) {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n return false;\n }\n\n // Convert the callback-based method to an Observable\n return new Observable<boolean>((observer) => {\n this.coreService.requireEmployeePermission(userProfile, (valid: boolean) => {\n \n if (valid && this.coreService.isAuthenticated()) {\n if (this.coreService.isMasterUserAuthenticated()) {\n const strMasterOrganizationId = localStorage.getItem(\"MasterOrganizationId\");\n \n if (strMasterOrganizationId && strMasterOrganizationId.length > 0) {\n observer.next(true);\n observer.complete();\n } else {\n this.router.navigateByUrl('/selectorganization');\n observer.next(false);\n observer.complete();\n }\n } else {\n observer.next(true);\n observer.complete();\n }\n } else {\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n observer.next(false);\n observer.complete();\n }\n });\n });\n }\n}","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { MobicloudCoreService } from \"../services/mobicloud-core.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiB2BAuthenticationGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n if (this.coreService.isB2BAuthenticated()) {\n return true;\n }\n\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n \n return false;\n }\n\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiCustomerUserAuthenticationGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n if (this.coreService.isCustomerUserAuthenticated()) {\n return true;\n }\n\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n \n return false;\n }\n\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MobiVendorUserAuthenticationGuard implements CanActivate {\n\n constructor(private router: Router, private coreService: MobicloudCoreService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n\n if (this.coreService.isVendorUserAuthenticated()) {\n return true;\n }\n\n if (!this.coreService.isAuthenticated()) {\n this.coreService.signIn(state.url);\n }\n \n return false;\n }\n\n}","export function convertToISODates_ODataValues (values: any, value_names: string[]){\n for (const key in value_names) {\n if(values[value_names[key]]){\n if(!(values[value_names[key]] instanceof Date)){\n values[value_names[key]] = new Date(values[value_names[key]]);\n }\n values[value_names[key]] = new Date(values[value_names[key]]).toISOString();\n }\n } \n}\n\nexport function setZeroTime_ODataValues (values: any, value_names: string[]){\n for (const key in value_names) {\n if(values[value_names[key]]){\n if(!(values[value_names[key]] instanceof Date)){\n values[value_names[key]] = new Date(values[value_names[key]]);\n }\n // console.log(values[value_names[key]]);\n values[value_names[key]].setUTCFullYear(values[value_names[key]].getFullYear());\n values[value_names[key]].setUTCMonth(values[value_names[key]].getMonth());\n values[value_names[key]].setUTCDate(values[value_names[key]].getDate());\n values[value_names[key]].setUTCHours(0); \n values[value_names[key]].setUTCMinutes(0); \n values[value_names[key]].setUTCSeconds(0); \n values[value_names[key]].setUTCMilliseconds(0); \n \n // console.log(values[value_names[key]]); \n values[value_names[key]] = new Date(values[value_names[key]]).toISOString();\n }\n } \n}\n\nexport function setZeroTime_ODataValues_original (values: any, value_names: string[]){\n for (const key in value_names) {\n if(values[value_names[key]]){\n if(!(values[value_names[key]] instanceof Date)){\n values[value_names[key]] = new Date(values[value_names[key]]);\n }\n // console.log(values[value_names[key]]);\n values[value_names[key]].setFullYear(values[value_names[key]].getFullYear());\n values[value_names[key]].setMonth(values[value_names[key]].getMonth());\n values[value_names[key]].setDate(values[value_names[key]].getDate());\n values[value_names[key]].setHours(0); \n values[value_names[key]].setMinutes(0); \n values[value_names[key]].setSeconds(0); \n values[value_names[key]].setMilliseconds(0); \n \n // console.log(values[value_names[key]].toISOString());\n }\n } \n}\n\nexport function ensureDateEqual(date1: Date, date2: any) : Date|undefined{\n if(date1){\n if(!(date1 instanceof Date)){\n date1 = new Date(date1);\n }\n\n if(date2){\n if(!(date2 instanceof Date)){\n date2 = new Date(date2);\n }\n var start = new Date(date2); \n start.setFullYear(date1.getFullYear());\n start.setMonth(date1.getMonth());\n start.setDate(date1.getDate());\n return start;\n }\n }\n return undefined;\n}\n\n//--- Grouping, Sorting and Filtering helper function\nexport function fullNameFilterExpression_Employee(this:any, filterValue: any, selectedFilterOperation: any, field: string | undefined) {\n let column:any = this as any;\n let filterExpression : any[]|undefined;\n\n if(filterValue){\n switch(selectedFilterOperation) { \n case 'contains': {\n if(field)\n filterExpression = [[`${field}/FirstName`, selectedFilterOperation, filterValue], \"or\", [`${field}/LastName`, selectedFilterOperation, filterValue]]; \n else\n filterExpression = [[`FirstName`, selectedFilterOperation, filterValue], \"or\", [`LastName`, selectedFilterOperation, filterValue]]; \n break; \n } \n case 'notcontains': {\n if(field)\n filterExpression = [[`${field}/FirstName`, selectedFilterOperation, filterValue], \"and\", [`${field}/LastName`, selectedFilterOperation, filterValue]]; \n else\n filterExpression = [[`FirstName`, selectedFilterOperation, filterValue], \"and\", [`LastName`, selectedFilterOperation, filterValue]]; \n break; \n }\n case 'startswith': {\n if(field)\n filterExpression = [`${field}/FirstName`, selectedFilterOperation, filterValue];\n else\n filterExpression = [`FirstName`, selectedFilterOperation, filterValue];\n break; \n } \n case 'endswith': {\n if(field)\n filterExpression = [`${field}/LastName`, selectedFilterOperation, filterValue]; \n else\n filterExpression = [`LastName`, selectedFilterOperation, filterValue]; \n break; \n } \n default: { \n break; \n } \n } \n}\n\n if(!filterExpression){\n filterExpression = column.defaultCalculateFilterExpression.apply(column, arguments);\n }\n\n return filterExpression;\n}\n\n\nexport function dateFunctionFilterExpression(this:any, filterValue: any, selectedFilterOperation: any, field: string|undefined, odata_Function: string|undefined) {\n let column:any = this as any;\n let filterExpression : any[]|undefined;\n\n if(filterValue){\n switch(selectedFilterOperation) { \n case '=': {\n filterExpression = [[`${odata_Function}(${field})`, selectedFilterOperation, filterValue]]; \n break; \n } \n case '<>': {\n filterExpression = [[`${odata_Function}(${field})`, selectedFilterOperation, filterValue]]; \n break; \n }\n case '<': {\n //Less than\n filterExpression = [`${odata_Function}(${field})`, selectedFilterOperation, filterValue];\n break; \n } \n case '>': {\n //Greater than\n filterExpression = [`${odata_Function}(${field})`, selectedFilterOperation, filterValue]; \n break; \n } \n default: { \n break; \n } \n } \n}\n\n if(!filterExpression){\n filterExpression = column.defaultCalculateFilterExpression.apply(column, arguments);\n }\n\n // console.log(\"date filter: \", filterExpression);\n return filterExpression;\n}\n\nexport function getBlobUrl(storageAccountName: string, blobPath: string) : string{\n const delim = blobPath.startsWith('/') ? '' : '/';\n return `https://${storageAccountName}.blob.core.windows.net${delim}${blobPath}`;\n}\n\nexport function getProfileImageUrl(storageAccountName: string|undefined, blobContainerName: string|undefined, blobName: string|undefined) : string{\n if(storageAccountName && blobContainerName && blobName){\n return getBlobUrl(storageAccountName, blobContainerName + blobName);\n }\n return './assets/png/no-profile-img-32.png';\n}\n","export class LanguageInfo {\n LocaleId?: string; \n LanguageName?: string;\n FlagCode?: string;\n}","export class ThemeInfo {\n ThemeName?: string; \n ThemeCaption?: string;\n Svg?: string;\n}","export class Country {\n Id?: number; \n Enabled?: boolean;\n Code3?: string;\n Code2?: string;\n Name?: string;\n NameOfficial?: string;\n LocalName?: string;\n LocalNameOfficial?: string; \n Flag_32?: string;\n Flag_128?: string;\n Latitude?: number;\n Longitude?: number;\n zoom?: number;\n TradeArea?: string;\n Language?: string;\n Shipping_Require_State?: boolean; \n}\n\nexport class CountryState {\n Id?: number; \n Name?: string;\n Name_Native?: string;\n\n CountryId?: number; \n CountryCode?: string;\n CountryName?: string;\n CountryLocalName?: string;\n\n StateCode?: string;\n Type?: string;\n\n Latitude?: number;\n Longitude?: number;\n}\n\nexport class CountryCity {\n Id?: number; \n Name?: string;\n\n StateId?: number; \n StateCode?: string;\n StateName?: string;\n StateName_Native?: string;\n \n CountryId?: number; \n CountryCode?: string;\n CountryName?: string;\n CountryLocalName?: string;\n\n Latitude?: number;\n Longitude?: number;\n}\n\nexport class CountryPostalCode {\n Id?: number; \n Name?: string;\n PostalCode?: string;\n\n CountryId?: number; \n CountryCode?: string;\n CountryName?: string;\n CountryLocalName?: string;\n\n AdminName1?: string;\n AdminName1_Native?: string; \n AdminCode1?: string;\n AdminName2?: string;\n AdminCode2?: string;\n AdminName3?: string;\n AdminCode3?: string;\n\n Latitude?: number;\n Longitude?: number;\n}","export class OrganizationInfo {\n OrganizationId: string | undefined;\n Name: string | undefined;\n Email: string | undefined; \n AccountNumber: string | undefined;\n\n HashedPasswords: boolean | undefined;\n CertificateLogin: boolean | undefined;\n Demo: boolean | undefined;\n Active: boolean | undefined;\n\n PartnerId: string | undefined;\n PartnerName: string | undefined;\n\n StorageAccount: StorageAccountInfo | undefined;\n}\n\nexport class StorageAccountInfo {\n Key: string | undefined;\n Name: string | undefined;\n}","export interface IToolbarItem {\n name?: string;\n caption: string;\n svg: string;\n link?: string|undefined;\n linkstate?: any|undefined;\n click?: string|undefined;\n click_paramters?: any[]|undefined;\n children?: IToolbarItem[]|undefined;\n cssClass?: string | undefined;\n cssClass_Icon?: string | undefined;\n itemtype?: string | undefined;\n }\n \n export interface IMenuNode {\n name?: string;\n caption: string;\n svg: string;\n svg_active: string;\n link?: string|undefined;\n linkstate?: any|undefined;\n click?: string|undefined;\n click_paramters?: any[]|undefined; \n children?: IMenuNode[]|undefined;\n }\n\n export enum MenuState {\n OpenedNormal = \"OpenNormal\",\n OpenCollapsed = \"OpenCollapsed\",\n Closed = \"Closed\"\n }"],"names":["i2.MobicloudConfigService","i1.MobicloudConfigService","i2.MobicloudCoreService","i1"],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ export declare class ApplicationDetails {
|
|
|
24
24
|
ModuleSetting?: ModuleSetting | undefined;
|
|
25
25
|
ProductionSetting?: ProductionSetting | undefined;
|
|
26
26
|
DefaultDashboardSlideShowSetting?: DefaultDashboardSlideShowSetting | undefined;
|
|
27
|
+
DefaultInventLocationId?: string | undefined;
|
|
28
|
+
DefaultInventLocation?: any | undefined;
|
|
27
29
|
CloudApplications?: CloudApplicationInfo[] | undefined;
|
|
28
30
|
DataApplications?: DataApplicationInfo[] | undefined;
|
|
29
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-details.d.ts","sourceRoot":"","sources":["../../../src/lib/types/application-details.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"application-details.d.ts","sourceRoot":"","sources":["../../../src/lib/types/application-details.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mobicloud-core",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.54",
|
|
4
4
|
"author": "Brian Bugge",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@angular/cdk": "^17.3.10",
|
|
@@ -49,17 +49,17 @@
|
|
|
49
49
|
"esm": "./esm2022/icons/mobicloud-core-icons.mjs",
|
|
50
50
|
"default": "./fesm2022/mobicloud-core-icons.mjs"
|
|
51
51
|
},
|
|
52
|
-
"./devextreme": {
|
|
53
|
-
"types": "./devextreme/index.d.ts",
|
|
54
|
-
"esm2022": "./esm2022/devextreme/mobicloud-core-devextreme.mjs",
|
|
55
|
-
"esm": "./esm2022/devextreme/mobicloud-core-devextreme.mjs",
|
|
56
|
-
"default": "./fesm2022/mobicloud-core-devextreme.mjs"
|
|
57
|
-
},
|
|
58
52
|
"./components": {
|
|
59
53
|
"types": "./components/index.d.ts",
|
|
60
54
|
"esm2022": "./esm2022/components/mobicloud-core-components.mjs",
|
|
61
55
|
"esm": "./esm2022/components/mobicloud-core-components.mjs",
|
|
62
56
|
"default": "./fesm2022/mobicloud-core-components.mjs"
|
|
57
|
+
},
|
|
58
|
+
"./devextreme": {
|
|
59
|
+
"types": "./devextreme/index.d.ts",
|
|
60
|
+
"esm2022": "./esm2022/devextreme/mobicloud-core-devextreme.mjs",
|
|
61
|
+
"esm": "./esm2022/devextreme/mobicloud-core-devextreme.mjs",
|
|
62
|
+
"default": "./fesm2022/mobicloud-core-devextreme.mjs"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"sideEffects": false
|