@c8y/ng1-modules 1022.34.0 → 1022.44.3

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.
@@ -1 +1 @@
1
- (()=>{function e(i,a,e,t){var n=a.cleanFields,o="audit/auditRecords",r={headers:a.contentHeaders("auditRecord")},c={WARNING:"WARNING",MINOR:"MINOR",MAJOR:"MAJOR",CRITICAL:"CRITICAL"},s=_.keys(c),l=["id","self","creationTime"],u=l,t={Alarm:t("Alarm"),Application:t("Application"),BulkOperation:t("Bulk operation"),CepModule:t("Event processing"),Connector:t("Data broker connector"),DataHub:t("DataHub"),DevicesAvailabilityMonitoring:t("Devices availability monitoring"),Event:t("Event"),Inventory:t("Inventory"),InventoryRole:t("Inventory role"),Operation:t("Operation"),Option:t("Option"),Group:t("Global role"),Report:t("Report"),SingleSignOn:t("Single sign-on"),SmartRule:t("Smart rule"),SYSTEM:t("System"),Tenant:t("Tenant"),TenantAuthConfig:t("Tenant auth configuration"),TrustedCertificates:t("Trusted certificate"),User:t("User"),UserAuthentication:t("User login")};return e.enhanceWithKeysUtil({target:{types:t,typeicons:{Alarm:"bell",Application:"c8y-atom",BulkOperation:"c8y-energy",CepModule:"c8y-event-processing",Connector:"sitemap",DataHub:"c8y-data-hub",DevicesAvailabilityMonitoring:"desktop",Event:"online1",Inventory:"c8y-modules",InventoryRole:"insurance-agent",Operation:"c8y-energy",Option:"sliders",Group:"connected-people",SingleSignOn:"sign-in",SmartRule:"c8y-smart-rules",SYSTEM:"server",Tenant:"c8y-sub-tenants",TenantAuthConfig:"shield",TrustedCertificates:"certificate",User:"c8y-user",UserAuthentication:"id-badge"},list:function e(t){var n=a.url(o);t=a.pageSizeNoTotalFilter(t);t.revert&&(r=a.timeOrderFilter({}),t.dateFrom=t.dateFrom||r.dateFrom,t.dateTo=t.dateTo||r.dateTo);var r={params:t};t=a.cleanListCallback("auditRecords",e,t);return i.get(n,r).then(t)},detail:function(e){e=(e=>(e=e.id||e,a.url("".concat(o,"/").concat(e))))(e);return i.get(e)},create:function(e){var t=a.url(o),e=n(e,u);return i.post(t,e,r)},severity:c,severityList:s},reservedKeys:l,standardKeys:{}})}e.$inject=["$http","c8yBase","c8yUtil","gettext"],angular.module("c8y.core").factory("c8yAudits",e)})();
1
+ (()=>{function e(i,a,e,t){var n=a.cleanFields,o="audit/auditRecords",r={headers:a.contentHeaders("auditRecord")},c={WARNING:"WARNING",MINOR:"MINOR",MAJOR:"MAJOR",CRITICAL:"CRITICAL"},s=_.keys(c),l=["id","self","creationTime"],u=l,t={Alarm:t("Alarm"),Application:t("Application"),BulkOperation:t("Bulk operation"),CepModule:t("Event processing"),Connector:t("Data broker connector"),DataHub:t("DataHub"),DevicesAvailabilityMonitoring:t("Devices availability monitoring"),Event:t("Event"),Inventory:t("Inventory"),InventoryRole:t("Inventory role"),Operation:t("Operation"),Option:t("Option"),Group:t("Global role"),Report:t("Report"),SingleSignOn:t("Single sign-on"),SmartRule:t("Smart rule"),SYSTEM:t("System"),Tenant:t("Tenant"),TenantAuthConfig:t("Tenant auth configuration"),TrustedCertificates:t("Trusted certificate"),TenantCertificateAuthority:t("Tenant certificate authority"),User:t("User"),UserAuthentication:t("User login")};return e.enhanceWithKeysUtil({target:{types:t,typeicons:{Alarm:"bell",Application:"c8y-atom",BulkOperation:"c8y-energy",CepModule:"c8y-event-processing",Connector:"sitemap",DataHub:"c8y-data-hub",DevicesAvailabilityMonitoring:"desktop",Event:"online1",Inventory:"c8y-modules",InventoryRole:"insurance-agent",Operation:"c8y-energy",Option:"sliders",Group:"connected-people",SingleSignOn:"sign-in",SmartRule:"c8y-smart-rules",SYSTEM:"server",Tenant:"c8y-sub-tenants",TenantAuthConfig:"shield",TrustedCertificates:"certificate",TenantCertificateAuthority:"contract",User:"c8y-user",UserAuthentication:"id-badge"},list:function e(t){var n=a.url(o);t=a.pageSizeNoTotalFilter(t);t.revert&&(r=a.timeOrderFilter({}),t.dateFrom=t.dateFrom||r.dateFrom,t.dateTo=t.dateTo||r.dateTo);var r={params:t};t=a.cleanListCallback("auditRecords",e,t);return i.get(n,r).then(t)},detail:function(e){e=(e=>(e=e.id||e,a.url("".concat(o,"/").concat(e))))(e);return i.get(e)},create:function(e){var t=a.url(o),e=n(e,u);return i.post(t,e,r)},severity:c,severityList:s},reservedKeys:l,standardKeys:{}})}e.$inject=["$http","c8yBase","c8yUtil","gettext"],angular.module("c8y.core").factory("c8yAudits",e)})();
@@ -1 +1 @@
1
- function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _iterableToArrayLimit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],u=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}function _arrayWithHoles(e){if(Array.isArray(e))return e}(()=>{function e(r,R,n,a,o,K,W,i){var s,t,u,c,l,p,h,d,f,g,y="_tcy8",m="_ocy8",v="TFAToken",k="Basic",w=a.defer(),q=a.defer(),x=/\.html$/,G=/\.json$/,H=document.createElement("a"),A={hasAuth:!1},T=i.appKey,X=k,S=k,Y=!1;function I(e){var t=e;e.startsWith(k)&&(t=e.replace(k,"").trim());e=W(t).match(/(([^/]*)\/)?([^/:]+):(.+)/);return{tenant:e[2],user:e[3],password:e[4]}}function P(e,t,n){n="".concat((n?"".concat(n,"/"):"")+e,":").concat(t);return K(n)}function M(e){return e.headers||(e.headers={}),_.defaults(e.headers,B.headers()),e}function b(){return l.post(p.url("user/logout"),{},{silentError:!0}).then(function(e){return D(),e.data},D)}function D(){O(),_.isFunction(i.logout)&&i.logout()}function C(r){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:k,o={token:r,type:(t=e).charAt(0).toUpperCase()+t.slice(1).toLowerCase()},t=p.url("user/currentUser?auth");if(u=o.token,S=o.type,window.c8y_testing)return a.when(F(o));i.tokenType=e;e={url:t,silentError:!0,skipInterceptor:!0,headers:{Authorization:o.token?"".concat(o.type," ").concat(o.token):void 0,tfatoken:c,UseXBasic:!0,Accept:"application/vnd.com.nsn.cumulocity.user+json;"}};return l(e).then(p.getResData).then(function(e){return r?(e=e,n=I((t=o).token),t.token=P(((e,t)=>{var n=(e=_slicedToArray(e.user.match(/^(.+\$)?(.+)?$/),3))[1],e=e[2];return"".concat(n||"").concat(e?t.id:"")})(n,e),n.password,e.self.match(/\/user\/([\w-]+)\//)[1]),t):$();var t,n}).then(F)}function F(e){var t=e.token,e=e.type;i.token=t,s=i.token,X=e,j(i.appKey);t=!(T||i.isLocal)?h.currentAppCached().then(function(e){i.appConfig=_.defaults(i.appConfig||{},e),j(e.key)}):a.when();return o.sessionStorage&&o.sessionStorage.setItem(y,s),o.localStorage.getItem(y)&&o.localStorage.setItem(y,s),t.then($)}function $(){w.resolve(),e({hasAuth:!0})}function e(e){_.isEqual(e,A)||(A=e,R.$emit("authStateChange",A))}function V(){c=void 0,delete i.TFAToken,J()}function L(e){var t;i.TFAToken=e,E(c=i.TFAToken,!1,v),e="two-factor-authentication",t="logout-on-browser-termination",n.get("c8ySettings").getSystemOptionValue({category:e,key:t},!1).then(function(e){E(c,!e,v)})}function O(){V(),delete i.token,w.promise.$$state.status&&(w=a.defer()),e({hasAuth:!1}),z()}function E(e,t,n){o["".concat(t?"local":"session","Storage")].setItem(n,e)}function U(e){return o.localStorage.getItem(e)||o.sessionStorage.getItem(e)||void 0}function j(e){i.appKey=e,T=i.appKey}function z(){o.localStorage.removeItem(y),o.sessionStorage.removeItem(y),o.localStorage.removeItem(m),o.sessionStorage.removeItem(m)}function J(){o.localStorage.removeItem(v),o.sessionStorage.removeItem(v)}function N(){var e=i.token||U(y),t=i.TFAToken||U(v),n=i.tokenType||U(m);return j(i.appKey),t&&L(t),C(e,n).catch(z)}function Q(e){t=e}function Z(e){e=e.headers("tfatoken");return e&&L(e),C(u,S)}function ee(e){e=_.map(e,function(n){var e={};return e[n.prop]=!1,l({url:p.url("tenant/".concat(n.path)),silentError:!0}).then(function(e){var t={};return t[n.prop]=n.checkFn(e),t}).catch(function(){return e})});return a.all(e).then(function(e){return _.reduce(e,function(e,t){return _.assign(e,t)},{})})}q.resolve(),Q(i.passResetToken||(()=>r.search?r.search():{})().token);var B={decodeToken:I,encodeToken:P,logout:b,updatePassword:function(e){var t,n;return s?(n=P((t=I(s)).user,e,t.tenant),g&&g.updateBasicAuth({user:t.user,password:e,tenant:t.tenant}),F({token:n,type:i.tokenType||k})):a.resolve()},request:function(e){var t=e.url,n=(e=>{var t=i.baseUrl||"/";if(!e)return!0;H.href=e||"";var n=H.host;return 1<t.length&&-1<e.indexOf(t)||!n||n===(()=>{var e=r.host(),t=r.port();return 80!==t&&443!==t?[e,t].join(":"):e})()})(t);return!n||x.test(t)||G.test(t)||e.skipInterceptor?e:(t=n&&!((t=e).headers&&t.headers.Authorization)&&(t=e,!s||!t.noAppKey)?B.initializing.done?w.promise:a.all([B.initializing,w.promise]):q.promise,n=n?_.partial(M,e):function(){return e},s&&window.c8y_testing?n():t.then(n))},responseError:function(e){_.isFunction(e.headers)&&e.headers("tfatokenexpired")&&A.hasAuth&&b();var t=Boolean(i.token);return 401!==e.status||t||Y||(t=p.url("user/currentUser"),l.get(t,{headers:p.contentHeaders("user",!0),silentError:!0}).then(function(){return!0},function(e){return 401!==e.status}).then(function(e){e||(Y=!0,b())})),a.reject(e)},setAuthToken:C,clearTokens:O,setTFAToken:L,clearTFAToken:V,saveAuthToken:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:k;E(s,e,y),E(t,e,m)},checkSavedTokens:N,setAppKey:j,headers:function(){var e={Authorization:s?"".concat(X," ").concat(s):void 0,tfatoken:c,UseXBasic:!0};return e["X-Cumulocity-Application-Key"]=T,e},resetPasword:function(e){return e={method:"POST",url:p.url("user/passwordReset"),params:{tenantId:e.tenant},data:{email:e.email},silentError:!0},l(e)},changePasswordWithResetToken:function(e){return e={method:"PUT",url:p.url("user/passwordReset"),params:{tenantId:e.tenant},data:{email:e.email,token:t,newPassword:e.newPassword,passwordStrength:(e.passwordStrength||"").toUpperCase()},silentError:!0},l(e).then(function(e){return t=void 0,r.url(r.path()),e})},setRecoverPassToken:Q,verifyTFACode:function(e){return J(),e={url:p.url("user/pin"),data:{pin:e},method:"POST",silentError:!0,headers:{Authorization:"".concat(S||k," ").concat(u),"Content-Type":"application/vnd.com.nsn.cumulocity.user+json;"}},l(e).then(Z)},getPassword:function(){return s&&I(s).password},getUserFromToken:function(){return I(s).user},getTenantFromToken:function(){return I(s).tenant},mustEnforcePasswordStrength:function(e){return ee([{path:"system/options/password/enforce.strength",prop:"systemLevel",checkFn:function(e){return"true"===(e.data||{}).value}},{path:"security-options/password/strength.validity",prop:"tenantLevel",checkFn:function(e){return"true"===(e.data||{}).value}}]).then(function(e){return e.systemLevel||e.tenantLevel})},getPasswordMinGreenLength:function(e){return ee([{path:"system/options/password/green.min-length",prop:"minGreenLength",checkFn:function(e){return _.parseInt((e.data||{}).value)}}]).then(function(e){return e.minGreenLength})},onSetToken:F,authReady:$,isSupportUser:function(){var e=I(u);return(e?e.user:"").includes("$")},getLoginOptions:function(){return d},whenAuthorized:function(){return w.promise}};return B.initializing=a.resolve().then(function(){l=n.get("$http"),p=n.get("c8yBase"),h=n.get("c8yApplication"),n.has("c8yAuthBridgeService")&&(g=n.get("c8yAuthBridgeService"))}).then(window.preventInit?function(){}:function(){var e;return window.c8y_testing?a.when():window.C8Y_APP&&window.C8Y_APP.loginOptions?(d=window.C8Y_APP.loginOptions,a.when()):(e=[{type:(f=n.get("c8yLoginOptions",[l,p])).loginOptions.BASIC.value}],f.list({skipInterceptor:!0,silentError:!0,params:{tenantId:p.getParamFromUrl("tenantId",window.location.search)}}).then(function(e){d=e.data.loginOptions},function(){d=e}))}).then(function(){var e;return window.c8y_testing?(F({token:i.token,type:i.tokenType||k}),{testing:!0}):i.oauthCode?(e=i.oauthCode,z(),e={silentError:!1,url:p.url("tenant/oauth"+"?grant_type=authorization_code".concat(_.get(p.appOption("oauth"),"uriAddition",""))+"&code=".concat(e)),method:"POST",skipInterceptor:!0},l(e).then($)):t?(r.search("token",t),O(),{recoverPassword:!0}):i.noSavedTokens?{noSavedTokens:!0}:N()}).finally(function(){B.initializing.done=!0}),window.c8y_testing&&(o.localStorage||(o.localStorage=window.localStorage),o.sessionStorage||(o.sessionStorage=window.sessionStorage)),B}e.$inject=["$location","$rootScope","$injector","$q","$window","utoa","atou","info"],angular.module("c8y.core").factory("c8yAuth",e).config(["$httpProvider",function(e){e.interceptors.push("c8yAuth")}])})();
1
+ function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var n;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _iterableToArrayLimit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],u=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}function _arrayWithHoles(e){if(Array.isArray(e))return e}(()=>{function e(r,R,n,a,o,K,W,i){var s,t,u,c,l,p,h,d,f,g,y="_tcy8",m="_ocy8",v="TFAToken",k="Basic",w=a.defer(),q=a.defer(),x=/\.html$/,G=/\.json$/,H=document.createElement("a"),A={hasAuth:!1},T=i.appKey,X=k,S=k,Y=!1;function I(e){var t=e;e.startsWith(k)&&(t=e.replace(k,"").trim());e=W(t).match(/(([^/]*)\/)?([^/:]+):(.+)/);return{tenant:e[2],user:e[3],password:e[4]}}function P(e,t,n){n="".concat((n?"".concat(n,"/"):"")+e,":").concat(t);return K(n)}function M(e){return e.headers||(e.headers={}),_.defaults(e.headers,B.headers()),e}function b(){return l.post(p.url("user/logout"),{},{silentError:!0}).then(function(e){return D(),e.data},D)}function D(){O(),_.isFunction(i.logout)&&i.logout()}function C(r){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:k,o={token:r,type:(t=e).charAt(0).toUpperCase()+t.slice(1).toLowerCase()},t=p.url("user/currentUser?auth");if(u=o.token,S=o.type,window.c8y_testing)return a.when(F(o));i.tokenType=e;e={url:t,silentError:!0,skipInterceptor:!0,headers:{Authorization:o.token?"".concat(o.type," ").concat(o.token):void 0,tfatoken:c,UseXBasic:!0,Accept:"application/vnd.com.nsn.cumulocity.user+json;"}};return l(e).then(p.getResData).then(function(e){return r?(e=e,n=I((t=o).token),t.token=P(((e,t)=>{var n=(e=_slicedToArray(e.user.match(/^(.+\$)?(.+)?$/),3))[1],e=e[2];return"".concat(n||"").concat(e?t.id:"")})(n,e),n.password,e.self.match(/\/user\/([\w-]+)\//)[1]),t):$();var t,n}).then(F)}function F(e){var t=e.token,e=e.type;i.token=t,i.tokenType=e,s=i.token,X=e,j(i.appKey);t=!(T||i.isLocal)?h.currentAppCached().then(function(e){i.appConfig=_.defaults(i.appConfig||{},e),j(e.key)}):a.when();return o.sessionStorage&&o.sessionStorage.setItem(y,s),o.localStorage.getItem(y)&&o.localStorage.setItem(y,s),t.then($)}function $(){w.resolve(),e({hasAuth:!0})}function e(e){_.isEqual(e,A)||(A=e,R.$emit("authStateChange",A))}function V(){c=void 0,delete i.TFAToken,J()}function L(e){var t;i.TFAToken=e,E(c=i.TFAToken,!1,v),e="two-factor-authentication",t="logout-on-browser-termination",n.get("c8ySettings").getSystemOptionValue({category:e,key:t},!1).then(function(e){E(c,!e,v)})}function O(){V(),delete i.token,w.promise.$$state.status&&(w=a.defer()),e({hasAuth:!1}),z()}function E(e,t,n){o["".concat(t?"local":"session","Storage")].setItem(n,e)}function U(e){return o.localStorage.getItem(e)||o.sessionStorage.getItem(e)||void 0}function j(e){i.appKey=e,T=i.appKey}function z(){o.localStorage.removeItem(y),o.sessionStorage.removeItem(y),o.localStorage.removeItem(m),o.sessionStorage.removeItem(m)}function J(){o.localStorage.removeItem(v),o.sessionStorage.removeItem(v)}function N(){var e=i.token||U(y),t=i.TFAToken||U(v),n=i.tokenType||U(m);return j(i.appKey),t&&L(t),C(e,n).catch(z)}function Q(e){t=e}function Z(e){e=e.headers("tfatoken");return e&&L(e),C(u,S)}function ee(e){e=_.map(e,function(n){var e={};return e[n.prop]=!1,l({url:p.url("tenant/".concat(n.path)),silentError:!0}).then(function(e){var t={};return t[n.prop]=n.checkFn(e),t}).catch(function(){return e})});return a.all(e).then(function(e){return _.reduce(e,function(e,t){return _.assign(e,t)},{})})}q.resolve(),Q(i.passResetToken||(()=>r.search?r.search():{})().token);var B={decodeToken:I,encodeToken:P,logout:b,updatePassword:function(e){var t,n;return s?(n=P((t=I(s)).user,e,t.tenant),g&&g.updateBasicAuth({user:t.user,password:e,tenant:t.tenant}),F({token:n,type:i.tokenType||k})):a.resolve()},request:function(e){var t=e.url,n=(e=>{var t=i.baseUrl||"/";if(!e)return!0;H.href=e||"";var n=H.host;return 1<t.length&&-1<e.indexOf(t)||!n||n===(()=>{var e=r.host(),t=r.port();return 80!==t&&443!==t?[e,t].join(":"):e})()})(t);return!n||x.test(t)||G.test(t)||e.skipInterceptor?e:(t=n&&!((t=e).headers&&t.headers.Authorization)&&(t=e,!s||!t.noAppKey)?B.initializing.done?w.promise:a.all([B.initializing,w.promise]):q.promise,n=n?_.partial(M,e):function(){return e},s&&window.c8y_testing?n():t.then(n))},responseError:function(e){_.isFunction(e.headers)&&e.headers("tfatokenexpired")&&A.hasAuth&&b();var t=Boolean(i.token);return 401!==e.status||t||Y||(t=p.url("user/currentUser"),l.get(t,{headers:p.contentHeaders("user",!0),silentError:!0}).then(function(){return!0},function(e){return 401!==e.status}).then(function(e){e||(Y=!0,b())})),a.reject(e)},setAuthToken:C,clearTokens:O,setTFAToken:L,clearTFAToken:V,saveAuthToken:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:k;E(s,e,y),E(t,e,m)},checkSavedTokens:N,setAppKey:j,headers:function(){var e={Authorization:s?"".concat(X," ").concat(s):void 0,tfatoken:c,UseXBasic:!0};return e["X-Cumulocity-Application-Key"]=T,e},resetPasword:function(e){return e={method:"POST",url:p.url("user/passwordReset"),params:{tenantId:e.tenant},data:{email:e.email},silentError:!0},l(e)},changePasswordWithResetToken:function(e){return e={method:"PUT",url:p.url("user/passwordReset"),params:{tenantId:e.tenant},data:{email:e.email,token:t,newPassword:e.newPassword,passwordStrength:(e.passwordStrength||"").toUpperCase()},silentError:!0},l(e).then(function(e){return t=void 0,r.url(r.path()),e})},setRecoverPassToken:Q,verifyTFACode:function(e){return J(),e={url:p.url("user/pin"),data:{pin:e},method:"POST",silentError:!0,headers:{Authorization:"".concat(S||k," ").concat(u),"Content-Type":"application/vnd.com.nsn.cumulocity.user+json;"}},l(e).then(Z)},getPassword:function(){return s&&I(s).password},getUserFromToken:function(){return I(s).user},getTenantFromToken:function(){return I(s).tenant},mustEnforcePasswordStrength:function(e){return ee([{path:"system/options/password/enforce.strength",prop:"systemLevel",checkFn:function(e){return"true"===(e.data||{}).value}},{path:"security-options/password/strength.validity",prop:"tenantLevel",checkFn:function(e){return"true"===(e.data||{}).value}}]).then(function(e){return e.systemLevel||e.tenantLevel})},getPasswordMinGreenLength:function(e){return ee([{path:"system/options/password/green.min-length",prop:"minGreenLength",checkFn:function(e){return _.parseInt((e.data||{}).value)}}]).then(function(e){return e.minGreenLength})},onSetToken:F,authReady:$,isSupportUser:function(){var e=I(u);return(e?e.user:"").includes("$")},getLoginOptions:function(){return d},whenAuthorized:function(){return w.promise}};return B.initializing=a.resolve().then(function(){l=n.get("$http"),p=n.get("c8yBase"),h=n.get("c8yApplication"),n.has("c8yAuthBridgeService")&&(g=n.get("c8yAuthBridgeService"))}).then(window.preventInit?function(){}:function(){var e;return window.c8y_testing?a.when():window.C8Y_APP&&window.C8Y_APP.loginOptions?(d=window.C8Y_APP.loginOptions,a.when()):(e=[{type:(f=n.get("c8yLoginOptions",[l,p])).loginOptions.BASIC.value}],f.list({skipInterceptor:!0,silentError:!0,params:{tenantId:p.getParamFromUrl("tenantId",window.location.search)}}).then(function(e){d=e.data.loginOptions},function(){d=e}))}).then(function(){var e;return window.c8y_testing?(F({token:i.token,type:i.tokenType||k}),{testing:!0}):i.oauthCode?(e=i.oauthCode,z(),e={silentError:!1,url:p.url("tenant/oauth"+"?grant_type=authorization_code".concat(_.get(p.appOption("oauth"),"uriAddition",""))+"&code=".concat(e)),method:"POST",skipInterceptor:!0},l(e).then($)):t?(r.search("token",t),O(),{recoverPassword:!0}):i.noSavedTokens?{noSavedTokens:!0}:N()}).finally(function(){B.initializing.done=!0}),window.c8y_testing&&(o.localStorage||(o.localStorage=window.localStorage),o.sessionStorage||(o.sessionStorage=window.sessionStorage)),B}e.$inject=["$location","$rootScope","$injector","$q","$window","utoa","atou","info"],angular.module("c8y.core").factory("c8yAuth",e).config(["$httpProvider",function(e){e.interceptors.push("c8yAuth")}])})();
@@ -1 +1 @@
1
- function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,n){var t;if(e)return"string"==typeof e?_arrayLikeToArray(e,n):"Map"===(t="Object"===(t={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,n):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function ownKeys(n,e){var t,r=Object.keys(n);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(n),e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),r.push.apply(r,t)),r}function _objectSpread(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(t),!0).forEach(function(e){_defineProperty(n,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))})}return n}function _defineProperty(e,n,t){return(n=_toPropertyKey(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,n){if("object"!=_typeof(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0===t)return("string"===n?String:Number)(e);t=t.call(e,n||"default");if("object"!=_typeof(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(()=>{function e(c,s,t,f,o,e,r,u){var n="user/{tenant}/users",i="user/currentUser",a=null,l={headers:f.contentHeaders("user",!0)},d={headers:f.contentHeaders("user",!0)};function p(e,n){return e.replace(/\{tenant\}/g,n)}function h(e,n){e=_.cloneDeep(e);return e.id&&delete e.userName,n&&delete e.email,delete e.id,delete e.self,delete e.effectiveRoles,e}function y(e){var n=e.id||e;return g().then(function(e){return"".concat(e,"/").concat(encodeURIComponent(n))})}function v(){return s.when(f.url(i))}function g(){return b().then(function(e){return f.url(p(n,e.tenant))})}function m(e){e=e.match(/\/user\/([\w-]+)\//);if(e.length<2)throw new Error("Cannot find tenant on user self URL");return e[1]}function b(e){var n=u.has("c8yAppStateService")&&u.get("c8yAppStateService"),n=(!a&&!e&&n&&n.currentUser.value&&((n=_objectSpread({},n.currentUser.value)).tenant=m(n.self),a=s.resolve(n)),i),t=_.cloneDeep(d);return(a=e?null:a)&&!_.isFunction(a.then)?s.when(a):a=a||c.get(f.url(n),t).then(function(e){return(a=e.data).tenant=m(a.self),a},function(){return a=null,s.reject()})}function w(e){var e=f.pageSizeFilter(e),n={params:e},t=f.cleanListCallback("users",w,e);return g().then(function(e){return c.get(e,n).then(t)})}function S(e,n){var t={silentError:n};return y(e).then(function(e){return c.get(e,t)})}function T(){var e=f.url(i),n=_.cloneDeep(d);return c.get(e,n)}function P(r,o){var u=o,i=h(r,!u),n=_.cloneDeep(l),a=u?v():y(r);return a.then(function(e){return c.put(e,i,n)}).then(function(e){var n=s.resolve(e),t=e.data;return!_.isUndefined(i.password)&&u&&(i.id=t.id,n=n.then(function(){return s.when(O(i))})),_.isUndefined(r.owner)||r.owner===t.owner||(n=n.then(null===r.owner?function(){return y(e=t).then(function(e){return c.delete("".concat(e,"/owner"))}).then(function(){return S(e)});var e}:function(){return e=a,n={owner:r.owner},t={"Content-Type":f.mimeType("userOwnerReference")},e.then(function(e){return"".concat(e,"/owner")}).then(function(e){return c.put(e,n,{headers:t})});var e,n,t})),n=(n=_.isUndefined(r.delegatedBy)||r.delegatedBy===t.delegatedBy?n:n.then(null===r.delegatedBy?function(){return y(e=t).then(function(e){return c.delete("".concat(e,"/delegatedby"))}).then(function(){return S(e)});var e}:function(){return e=a,n={delegatedBy:r.delegatedBy},t={"Content-Type":f.mimeType("userDelegatedByReference")},e.then(function(e){return"".concat(e,"/delegatedby")}).then(function(e){return c.put(e,n,{headers:t})});var e,n,t})).then(function(){return o?T():S(r)})}).then(function(e){return t.$emit("c8yUser:update",{user:e.data,res:e}),e})}function A(e,n){var t,r;return e.id?P(e,n):(t=h(e,!1),r=_.cloneDeep(l),g().then(function(e){return c.post(e,t,r)}))}function O(n){return j(n).then(function(e){return e?o.updatePassword(n.password||o.getPassword()):s.resolve()})}function j(e){var n=e.id||e;return b().then(function(e){return s.when(e.id===n)})}function U(e){return _.get(e,"groups.references",[]).map(function(e){return e.group})}function k(e){var n=o.headers();return e&&(n.Authorization="Basic ".concat(e)),_.assign(n,f.contentHeaders("user",!0))}function E(){return b().then(function(e){return I(e)}).then(function(e){return e.enabledOnSystemLevel||e.enabledOnTenantLevel})}function I(e,n){n=n||m(e.self);return r.getTfaSettings(n)}function C(e,n){e=_.some(U(e),function(e){return e.name===n.enforcedUsersGroup});return n.enforcedOnSystemLevel||n.totpEnforcedOnTenantLevel||e}function D(e){return"".concat(e,"/roles/inventory")}return t.$on("authStateChange",function(e,n){n.hasAuth||(a=null)}),{current:b,getCurrentUser:function(){return a},checkIfCurrent:j,listAll:function(e){function t(e){r.push.apply(r,_toConsumableArray(e));var n=e.statistics.pageSize;return n=e.paging.next&&n<=e.length?e.paging.next().then(t):s.resolve(r)}var r=[];return w(_objectSpread({pageSize:f.MAX_PAGESIZE},e)).then(t)},list:w,detail:S,detailCurrent:T,remove:function(e){return y(e).then(function(e){return c.delete(e)})},enable:function(e){return A({id:e.id||e,enabled:!0})},disable:function(e){return A({id:e.id||e,enabled:!1})},save:A,saveCurrent:function(e){return A(e,!0)},savePhoneNumber:function(e,n){var t=f.url("user/currentUserPhone"),e={headers:k(o.encodeToken(e.name,e.password,e.tenant)),method:"PUT",url:t,data:{phone:n},silentError:!0};return c(e)},groups:U,isDeviceUser:function(e){return e.id.match(/^device_/)},isServiceUser:function(e){var n;return n=(e.id||e).match(/^service_/)?!0:n},hasRole:function(e,n){return((e,n)=>{var t=!1;return(e=_.get(e,"roles.references"))&&_.forEach(e,function(e){e.role.id===n&&(t=!0)}),t})(e,n)||((e,n)=>{var t=!1;return(e=_.get(e,"groups.references"))&&_.forEach(e,function(e){_.forEach(e.group.roles.references,function(e){e.role.id===n&&(t=!0)})}),t})(e,n)},getDevicePermissions:function(e,n){var t={params:f.pageSizeFilter({moId:n})};return y(e).then(function(e){return c.get("".concat(e,"/devicePermissions"),t)})},login:function(e,n,t,r){return n=o.encodeToken(n,t,e),o.setAuthToken(n).then(function(){return o.saveAuthToken(r)})},logout:function(){return o.logout()},revokeTokens:function(){return b().then(function(e){return f.url(p("user/logout/{tenant}/allUsers",e.tenant))}).then(function(e){return c.post(e)})},isAdmin:function(e){return _.some(e.groups.references,function(e){return"admins"===e.group.name})},changePassword:function(i,e,n){var a={newPassword:e,currentUserPassword:n};return j(i).then(function(e){return e?(r=i,o=a,u={"content-type":"application/json"},v().then(function(e){return c.put("".concat(e,"/password"),o,{headers:u})}).then(function(){return O(r)})):(n=a,t={"content-type":"application/json"},y(i).then(function(e){return c.put("".concat(e,"/password"),n,{headers:t})}));var n,t,r,o,u})},isCurrentPassword:function(e){return o.getPassword()===e},isTfaAvailable:E,isTfaActive:function(t){return _.isUndefined(t.id)?E():s.when(t).then(function(e){var n=e.twoFactorAuthenticationEnabled;return I(t).then(function(e){return"TOTP"!==e.strategy&&!!C(t,e)||n})})},getTenantTfaSettings:I,isEnforcedForUser:C,getTfaStrategy:function(){return e.detailValue({category:"two-factor-authentication",key:"strategy"},"SMS")},getHeaders:k,activateSupportUser:function(){var e=f.url("tenant/support-user/enable");return c.put(e)},deactivateSupportUser:function(){var e=f.url("tenant/support-user/disable");return c.put(e)},delegateTo:function(e){var n={id:e.id};return b().then(function(e){return n.delegatedBy=e.id,P(n)})},setUserTfaSettings:function(e,n){var t={"content-type":"application/json"};return y(e.id||e.userName).then(function(e){e="".concat(e,"/tfa");return c.put(e,n,{headers:t})})},getUserTfaSettings:function(e){return y(e).then(function(e){e="".concat(e,"/tfa");return c.get(e)})},hasExternalOrigin:function(e){return e.customProperties&&"OAUTH2"===e.customProperties.userOrigin},listInventoryRoles:function(e){return(e?s.resolve(e):b()).then(y).then(D).then(function(e){return c.get(e)})},assignInventoryRoles:function(e,n,t){var e=e?s.resolve(e):b(),r={managedObject:n,roles:_.map(t,function(e){return _.pick(e,"id")})};return e.then(y).then(D).then(function(e){return c.post(e,r)})},updateInventoryRoles:function(e,n,t){var e=e?s.resolve(e):b(),r={roles:_.map(t,function(e){return _.pick(e,"id")})};return e.then(y).then(D).then(function(e){return c.put("".concat(e,"/").concat(n),r)})},removeInventoryRoles:function(e,n){return(e?s.resolve(e):b()).then(y).then(D).then(function(e){return c.delete("".concat(e,"/").concat(n))})},sendPasswordResetMail:function(e,n){var t=f.url("user/passwordReset");return c({url:t,method:"POST",headers:{"content-type":"application/json",accept:"application/json"},params:n?{tenantId:n}:{},data:{email:e}})}}}e.$inject=["$http","$q","$rootScope","c8yBase","c8yAuth","c8ySettings","c8yTfaSettings","$injector"],angular.module("c8y.core").factory("c8yUser",e)})();
1
+ function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,n){var t;if(e)return"string"==typeof e?_arrayLikeToArray(e,n):"Map"===(t="Object"===(t={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,n):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function ownKeys(n,e){var t,r=Object.keys(n);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(n),e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),r.push.apply(r,t)),r}function _objectSpread(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(t),!0).forEach(function(e){_defineProperty(n,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))})}return n}function _defineProperty(e,n,t){return(n=_toPropertyKey(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,n){if("object"!=_typeof(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0===t)return("string"===n?String:Number)(e);t=t.call(e,n||"default");if("object"!=_typeof(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(()=>{function e(c,s,t,f,o,e,r,u){var n="user/{tenant}/users",a="user/currentUser",i=null,l={headers:f.contentHeaders("user",!0)},d={headers:f.contentHeaders("user",!0)};function p(e,n){return e.replace(/\{tenant\}/g,n)}function h(e,n){e=_.cloneDeep(e);return e.id&&delete e.userName,n&&delete e.email,delete e.id,delete e.self,delete e.effectiveRoles,e}function y(e){var n=e.id||e;return g().then(function(e){return"".concat(e,"/").concat(encodeURIComponent(n))})}function v(){return s.when(f.url(a))}function g(){return b().then(function(e){return f.url(p(n,e.tenant))})}function m(e){e=e.match(/\/user\/([\w-]+)\//);if(!e||e.length<2)throw new Error("Cannot find tenant on user self URL");return e[1]}function b(e){var n,t=u.has("c8yAppStateService")&&u.get("c8yAppStateService"),r=(!i&&!e&&t&&t.currentUser.value&&(n=_objectSpread({},t.currentUser.value),t=t.currentTenant.value,n.tenant=t?t.name:m(n.self),i=s.resolve(n)),a),t=_.cloneDeep(d);return(i=e?null:i)&&!_.isFunction(i.then)?s.when(i):i=i||c.get(f.url(r),t).then(function(e){return(i=e.data).tenant=m(i.self),i},function(){var e={headers:f.contentHeaders("currentUser",!0)};return i=null,c.get(f.url(r),e).then(function(e){return i=e.data},function(){return i=null,s.reject()})})}function w(e){var e=f.pageSizeFilter(e),n={params:e},t=f.cleanListCallback("users",w,e);return g().then(function(e){return c.get(e,n).then(t)})}function S(e,n){var t={silentError:n};return y(e).then(function(e){return c.get(e,t)})}function T(){var e=f.url(a),n=_.cloneDeep(d);return c.get(e,n)}function P(r,o){var u=o,a=h(r,!u),n=_.cloneDeep(l),i=u?v():y(r);return i.then(function(e){return c.put(e,a,n)}).then(function(e){var n=s.resolve(e),t=e.data;return!_.isUndefined(a.password)&&u&&(a.id=t.id,n=n.then(function(){return s.when(O(a))})),_.isUndefined(r.owner)||r.owner===t.owner||(n=n.then(null===r.owner?function(){return y(e=t).then(function(e){return c.delete("".concat(e,"/owner"))}).then(function(){return S(e)});var e}:function(){return e=i,n={owner:r.owner},t={"Content-Type":f.mimeType("userOwnerReference")},e.then(function(e){return"".concat(e,"/owner")}).then(function(e){return c.put(e,n,{headers:t})});var e,n,t})),n=(n=_.isUndefined(r.delegatedBy)||r.delegatedBy===t.delegatedBy?n:n.then(null===r.delegatedBy?function(){return y(e=t).then(function(e){return c.delete("".concat(e,"/delegatedby"))}).then(function(){return S(e)});var e}:function(){return e=i,n={delegatedBy:r.delegatedBy},t={"Content-Type":f.mimeType("userDelegatedByReference")},e.then(function(e){return"".concat(e,"/delegatedby")}).then(function(e){return c.put(e,n,{headers:t})});var e,n,t})).then(function(){return o?T():S(r)})}).then(function(e){return t.$emit("c8yUser:update",{user:e.data,res:e}),e})}function A(e,n){var t,r;return e.id?P(e,n):(t=h(e,!1),r=_.cloneDeep(l),g().then(function(e){return c.post(e,t,r)}))}function O(n){return j(n).then(function(e){return e?o.updatePassword(n.password||o.getPassword()):s.resolve()})}function j(e){var n=e.id||e;return b().then(function(e){return s.when(e.id===n)})}function U(e){return _.get(e,"groups.references",[]).map(function(e){return e.group})}function k(e){var n=o.headers();return e&&(n.Authorization="Basic ".concat(e)),_.assign(n,f.contentHeaders("user",!0))}function E(){return b().then(function(e){return I(e)}).then(function(e){return e.enabledOnSystemLevel||e.enabledOnTenantLevel})}function I(e,n){n=n||m(e.self);return r.getTfaSettings(n)}function C(e,n){e=_.some(U(e),function(e){return e.name===n.enforcedUsersGroup});return n.enforcedOnSystemLevel||n.totpEnforcedOnTenantLevel||e}function D(e){return"".concat(e,"/roles/inventory")}return t.$on("authStateChange",function(e,n){n.hasAuth||(i=null)}),{current:b,getCurrentUser:function(){return i},checkIfCurrent:j,listAll:function(e){function t(e){r.push.apply(r,_toConsumableArray(e));var n=e.statistics.pageSize;return n=e.paging.next&&n<=e.length?e.paging.next().then(t):s.resolve(r)}var r=[];return w(_objectSpread({pageSize:f.MAX_PAGESIZE},e)).then(t)},list:w,detail:S,detailCurrent:T,remove:function(e){return y(e).then(function(e){return c.delete(e)})},enable:function(e){return A({id:e.id||e,enabled:!0})},disable:function(e){return A({id:e.id||e,enabled:!1})},save:A,saveCurrent:function(e){return A(e,!0)},savePhoneNumber:function(e,n){var t=f.url("user/currentUserPhone"),e={headers:k(o.encodeToken(e.name,e.password,e.tenant)),method:"PUT",url:t,data:{phone:n},silentError:!0};return c(e)},groups:U,isDeviceUser:function(e){return e.id.match(/^device_/)},isServiceUser:function(e){var n;return n=(e.id||e).match(/^service_/)?!0:n},hasRole:function(e,n){return((e,n)=>{var t=!1;return(e=_.get(e,"roles.references"))&&_.forEach(e,function(e){e.role.id===n&&(t=!0)}),t})(e,n)||((e,n)=>{var t=!1;return(e=_.get(e,"groups.references"))&&_.forEach(e,function(e){_.forEach(e.group.roles.references,function(e){e.role.id===n&&(t=!0)})}),t})(e,n)},getDevicePermissions:function(e,n){var t={params:f.pageSizeFilter({moId:n})};return y(e).then(function(e){return c.get("".concat(e,"/devicePermissions"),t)})},login:function(e,n,t,r){return n=o.encodeToken(n,t,e),o.setAuthToken(n).then(function(){return o.saveAuthToken(r)})},logout:function(){return o.logout()},revokeTokens:function(){return b().then(function(e){return f.url(p("user/logout/{tenant}/allUsers",e.tenant))}).then(function(e){return c.post(e)})},isAdmin:function(e){return _.some(e.groups.references,function(e){return"admins"===e.group.name})},changePassword:function(a,e,n){var i={newPassword:e,currentUserPassword:n};return j(a).then(function(e){return e?(r=a,o=i,u={"content-type":"application/json"},v().then(function(e){return c.put("".concat(e,"/password"),o,{headers:u})}).then(function(){return O(r)})):(n=i,t={"content-type":"application/json"},y(a).then(function(e){return c.put("".concat(e,"/password"),n,{headers:t})}));var n,t,r,o,u})},isCurrentPassword:function(e){return o.getPassword()===e},isTfaAvailable:E,isTfaActive:function(t){return _.isUndefined(t.id)?E():s.when(t).then(function(e){var n=e.twoFactorAuthenticationEnabled;return I(t).then(function(e){return"TOTP"!==e.strategy&&!!C(t,e)||n})})},getTenantTfaSettings:I,isEnforcedForUser:C,getTfaStrategy:function(){return e.detailValue({category:"two-factor-authentication",key:"strategy"},"SMS")},getHeaders:k,activateSupportUser:function(){var e=f.url("tenant/support-user/enable");return c.put(e)},deactivateSupportUser:function(){var e=f.url("tenant/support-user/disable");return c.put(e)},delegateTo:function(e){var n={id:e.id};return b().then(function(e){return n.delegatedBy=e.id,P(n)})},setUserTfaSettings:function(e,n){var t={"content-type":"application/json"};return y(e.id||e.userName).then(function(e){e="".concat(e,"/tfa");return c.put(e,n,{headers:t})})},getUserTfaSettings:function(e){return y(e).then(function(e){e="".concat(e,"/tfa");return c.get(e)})},hasExternalOrigin:function(e){return e.customProperties&&"OAUTH2"===e.customProperties.userOrigin},listInventoryRoles:function(e){return(e?s.resolve(e):b()).then(y).then(D).then(function(e){return c.get(e)})},assignInventoryRoles:function(e,n,t){var e=e?s.resolve(e):b(),r={managedObject:n,roles:_.map(t,function(e){return _.pick(e,"id")})};return e.then(y).then(D).then(function(e){return c.post(e,r)})},updateInventoryRoles:function(e,n,t){var e=e?s.resolve(e):b(),r={roles:_.map(t,function(e){return _.pick(e,"id")})};return e.then(y).then(D).then(function(e){return c.put("".concat(e,"/").concat(n),r)})},removeInventoryRoles:function(e,n){return(e?s.resolve(e):b()).then(y).then(D).then(function(e){return c.delete("".concat(e,"/").concat(n))})},sendPasswordResetMail:function(e,n){var t=f.url("user/passwordReset");return c({url:t,method:"POST",headers:{"content-type":"application/json",accept:"application/json"},params:n?{tenantId:n}:{},data:{email:e}})}}}e.$inject=["$http","$q","$rootScope","c8yBase","c8yAuth","c8ySettings","c8yTfaSettings","$injector"],angular.module("c8y.core").factory("c8yUser",e)})();
@@ -2495,6 +2495,9 @@ msgstr "Branding"
2495
2495
  msgid "Branding JSON editor"
2496
2496
  msgstr "Branding JSON-Editor"
2497
2497
 
2498
+ msgid "Branding assets"
2499
+ msgstr "Branding-Assets"
2500
+
2498
2501
  msgid "Branding base editor"
2499
2502
  msgstr "Branding Basis-Editor"
2500
2503
 
@@ -2897,6 +2900,18 @@ msgstr "Zertifikat läuft in weniger als 90 Tagen ab"
2897
2900
  msgid "Certificate file"
2898
2901
  msgstr "Zertifikatsdatei"
2899
2902
 
2903
+ msgid "Certificate fingerprint: \"{{ fingerprint }}\".\n"
2904
+ "Certificate subject name: \"{{ subjectName }}\"."
2905
+ msgstr "Zertifikatfingerabdruck: „{{ fingerprint }}“.\n"
2906
+ "Name des Zertifikatsinhabers: „{{ subjectName }}“."
2907
+
2908
+ msgid "Certificate fingerprint: \"{{ fingerprint }}\".\n"
2909
+ "Certificate subject name: \"{{ subjectName }}\".\n"
2910
+ "Expiration date: {{ expirationDate | absoluteDate }}."
2911
+ msgstr "Zertifikat-Fingerabdruck: „{{ fingerprint }}“.\n"
2912
+ "Name des Zertifikatsinhabers: „{{ subjectName }}“.\n"
2913
+ "Ablaufdatum: {{ expirationDate | absoluteDate }}."
2914
+
2900
2915
  msgid "Certificate in PEM format"
2901
2916
  msgstr "Zertifikat im PEM-Format"
2902
2917
 
@@ -2909,6 +2924,11 @@ msgstr "Passwort für das Zertifikat"
2909
2924
  msgid "Certificate saved."
2910
2925
  msgstr "Zertifikat gespeichert."
2911
2926
 
2927
+ msgid "Certificate serial number: \"{{ serialNumber }}\".\n"
2928
+ "Expiration date: {{ expirationDate | absoluteDate }}."
2929
+ msgstr "Seriennummer des Zertifikats: „{{ serialNumber }}“.\n"
2930
+ "Ablaufdatum: {{ expirationDate | absoluteDate }}."
2931
+
2912
2932
  msgid "Certificates"
2913
2933
  msgstr "Zertifikate"
2914
2934
 
@@ -3363,6 +3383,9 @@ msgstr "Klicken Sie den Link, um die Datei mit den betroffenen Geräten herunter
3363
3383
  msgid "Click to add points and set the area. Drag the points to adjust."
3364
3384
  msgstr "Klicken Sie, um Punkte hinzuzufügen und den Bereich festzulegen. Ziehen Sie die Punkte zum Anpassen des Bereichs."
3365
3385
 
3386
+ msgid "Click to change"
3387
+ msgstr "Zum Ändern klicken"
3388
+
3366
3389
  msgid "Click to edit"
3367
3390
  msgstr "Klicken zum Bearbeiten"
3368
3391
 
@@ -3444,15 +3467,15 @@ msgstr "Coils (diskrete Ausgänge)"
3444
3467
  msgid "Collapse"
3445
3468
  msgstr "Einklappen"
3446
3469
 
3470
+ msgid "Collapse \"{{ assetPropertyLabel }}\""
3471
+ msgstr "Einklappen „{{ assetPropertyLabel }}“"
3472
+
3447
3473
  msgid "Collapse all"
3448
3474
  msgstr "Alle einklappen"
3449
3475
 
3450
3476
  msgid "Collapse navigator on start up"
3451
3477
  msgstr "Navigator beim Start einklappen"
3452
3478
 
3453
- msgid "Collapse {{ assetPropertyLabel }}"
3454
- msgstr "Einklappen {{ assetPropertyLabel }}"
3455
-
3456
3479
  msgid "Color"
3457
3480
  msgstr "Farbe"
3458
3481
 
@@ -3543,15 +3566,15 @@ msgstr "Komplexes Attribut."
3543
3566
  msgid "Compressed files must have an index.html at root. URLs in the web application can be relative."
3544
3567
  msgstr "Die Datei \"index.html\" muss sich im Root-Verzeichnis des Archivs befinden. Die URLs in der Web-Anwendung können relativ sein."
3545
3568
 
3569
+ msgid "Computed properties"
3570
+ msgstr "Berechnete Attribute"
3571
+
3546
3572
  msgid "Computed property configuration"
3547
3573
  msgstr "Berechnete Attribute konfigurieren"
3548
3574
 
3549
3575
  msgid "Computed property.`tooltip`"
3550
3576
  msgstr "Berechnetes Attribut."
3551
3577
 
3552
- msgid "Computed`properties`"
3553
- msgstr "Berechnet"
3554
-
3555
3578
  msgid "Concepts`KEEP_ORIGINAL`"
3556
3579
  msgstr "Concepts"
3557
3580
 
@@ -3633,6 +3656,9 @@ msgstr "Konfiguration wird aktualisiert."
3633
3656
  msgid "Configurations"
3634
3657
  msgstr "Konfigurationen"
3635
3658
 
3659
+ msgid "Configure"
3660
+ msgstr "Konfigurieren"
3661
+
3636
3662
  msgid "Configure DHCP settings"
3637
3663
  msgstr "DHCP-Parameter setzen"
3638
3664
 
@@ -3648,6 +3674,9 @@ msgstr "Spalte: {{label}} konfigurieren"
3648
3674
  msgid "Configure columns"
3649
3675
  msgstr "Spalten konfigurieren"
3650
3676
 
3677
+ msgid "Configure computed properties"
3678
+ msgstr "Berechnete Attribute konfigurieren"
3679
+
3651
3680
  msgid "Configure computed property"
3652
3681
  msgstr "Berechnetes Attribut konfigurieren"
3653
3682
 
@@ -3688,6 +3717,13 @@ msgstr "Position konfigurieren"
3688
3717
  msgid "Configure preferences"
3689
3718
  msgstr "Einstellungen konfigurieren"
3690
3719
 
3720
+ msgid "Configure the settings below for each computed property. These configurations determine how\n"
3721
+ " the properties will be calculated and displayed. All required fields must be completed before\n"
3722
+ " you can apply the changes."
3723
+ msgstr "Konfigurieren Sie die folgenden Einstellungen für jede berechnete Eigenschaft. Diese Konfigurationen legen fest, wie\n"
3724
+ " die Eigenschaften berechnet und angezeigt werden. Alle erforderlichen Felder müssen ausgefüllt werden, bevor\n"
3725
+ " Sie die Änderungen anwenden können."
3726
+
3691
3727
  msgid "Configured data point not available on the selected device."
3692
3728
  msgstr "Der konfigurierte Datenpunkt ist auf dem ausgewählten Gerät nicht verfügbar."
3693
3729
 
@@ -3955,6 +3991,9 @@ msgstr "Cookie-Einstellungen"
3955
3991
  msgid "Cookies are important to the proper functioning of a site. To improve your website experience, we use cookies to remember log-in details and provide secure log-in, collect statistics to optimize site functionality, and deliver content tailored to your interests. Click \"Agree and proceed\" to accept cookies and go directly to the site or click \"Configure preferences\" for further details and to manage your options. You can revoke your consent at any time."
3956
3992
  msgstr "Cookies sind essentiell für das ordnungsgemäße Funktionieren einer Website. Um Ihre Websitenutzung zu verbessern, verwenden wir Cookies, z. B. um Anmeldedaten zu speichern für eine sichere Anmeldung, um Statistiken zu sammeln, um die Funktionalität der Website zu optimieren und um auf Ihre Interessen zugeschnittene Inhalte zu liefern. Klicken Sie auf \"Akzeptieren und Fortfahren\", um Cookies zu akzeptieren und direkt zur Website zu gelangen, oder klicken Sie auf \"Einstellungen konfigurieren\", um weitere Einzelheiten zu erfahren und Ihre Optionen zu verwalten. Sie können Ihre Zustimmung jederzeit widerrufen."
3957
3993
 
3994
+ msgid "Copied asset file path to clipboard. You can use it e.g. in custom CSS."
3995
+ msgstr "Der Pfad der kopierten Asset-Datei wurde in die Zwischenablage kopiert. Sie können ihn z. B. in benutzerdefiniertem CSS verwenden."
3996
+
3958
3997
  msgid "Copied to clipboard"
3959
3998
  msgstr "In die Zwischenablage kopiert"
3960
3999
 
@@ -6434,6 +6473,9 @@ msgstr "Geben Sie die Zugangsdaten Ihres SMS-Anbieters ein. Dies aktiviert Platt
6434
6473
  msgid "Enter your email address and we'll send you a secure link to reset your password."
6435
6474
  msgstr "Geben Sie Ihre E-Mail-Adresse ein und wir senden Ihnen einen sicheren Link zum Zurücksetzen Ihres Passworts."
6436
6475
 
6476
+ msgid "Enter your feedback here"
6477
+ msgstr "Geben Sie hier Ihr Feedback ein"
6478
+
6437
6479
  msgid "Enter your password"
6438
6480
  msgstr "Geben Sie Ihr Passwort ein"
6439
6481
 
@@ -6596,6 +6638,9 @@ msgstr "Beenden des Bearbeitungsmodus"
6596
6638
  msgid "Expand"
6597
6639
  msgstr "Ausklappen"
6598
6640
 
6641
+ msgid "Expand \"{{ assetPropertyLabel }}\""
6642
+ msgstr "Ausklappen Sie „{{ assetPropertyLabel }}“"
6643
+
6599
6644
  msgid "Expand all"
6600
6645
  msgstr "Alle ausklappen"
6601
6646
 
@@ -6608,9 +6653,6 @@ msgstr "Breadcrumbs ausklappen"
6608
6653
  msgid "Expand node"
6609
6654
  msgstr "Knoten ausklappen"
6610
6655
 
6611
- msgid "Expand {{ assetPropertyLabel }}"
6612
- msgstr "Ausklappen {{ assetPropertyLabel }}"
6613
-
6614
6656
  msgid "Expand/collapse"
6615
6657
  msgstr "Aus-/Einklappen"
6616
6658
 
@@ -6859,6 +6901,9 @@ msgstr "Änderung der Domain in der Plattform fehlgeschlagen."
6859
6901
  msgid "Failed to update the connection"
6860
6902
  msgstr "Aktualisierung der Verbindung fehlgeschlagen"
6861
6903
 
6904
+ msgid "Failed to upload asset."
6905
+ msgstr "Das Hochladen der Datei ist fehlgeschlagen."
6906
+
6862
6907
  msgid "Failure reason"
6863
6908
  msgstr "Fehlergrund"
6864
6909
 
@@ -7429,6 +7474,9 @@ msgstr "Folgende Pflichtfelder sollten angegeben werden: {{fields}}"
7429
7474
  msgid "Font size of measurement value (px)"
7430
7475
  msgstr "Schriftgröße des Messwerts (px)"
7431
7476
 
7477
+ msgid "Fonts"
7478
+ msgstr "Schriftarten"
7479
+
7432
7480
  msgid "Fonts URL"
7433
7481
  msgstr "URL für Schriftarten"
7434
7482
 
@@ -8351,6 +8399,9 @@ msgstr "So verwenden Sie Attribute im Widget"
8351
8399
  msgid "How would you like to proceed with sub-users when the owner is deleted?"
8352
8400
  msgstr "Wie möchten Sie mit untergeordneten Benutzern verfahren, wenn der Besitzer gelöscht wird?"
8353
8401
 
8402
+ msgid "How would you rate your experience with this feature?"
8403
+ msgstr "Wie würden Sie Ihre Erfahrungen mit dieser Funktion bewerten?"
8404
+
8354
8405
  msgid "I/O and PLC"
8355
8406
  msgstr "I/O und PLC"
8356
8407
 
@@ -8460,6 +8511,9 @@ msgstr "Image \"{{imageName}}\" gelesen."
8460
8511
  msgid "Image display"
8461
8512
  msgstr "Bildanzeige"
8462
8513
 
8514
+ msgid "Images"
8515
+ msgstr "Bilder"
8516
+
8463
8517
  msgid "Imperial"
8464
8518
  msgstr "Imperial"
8465
8519
 
@@ -8842,6 +8896,9 @@ msgstr "Elemente"
8842
8896
  msgid "Items per page"
8843
8897
  msgstr "Elemente pro Seite"
8844
8898
 
8899
+ msgid "I’m open to being contacted for follow-up about my feedback"
8900
+ msgstr "Ich bin offen für eine Rückmeldung zu meinem Feedback."
8901
+
8845
8902
  msgid "J2ME commands"
8846
8903
  msgstr "J2ME-Kommandos"
8847
8904
 
@@ -9103,6 +9160,9 @@ msgstr "Links"
9103
9160
  msgid "Legacy"
9104
9161
  msgstr "Legacy"
9105
9162
 
9163
+ msgid "Legacy configuration"
9164
+ msgstr "Legacy-Konfiguration"
9165
+
9106
9166
  msgid "Legacy configuration snapshot"
9107
9167
  msgstr "Legacy-Konfigurationssnapshot"
9108
9168
 
@@ -9436,6 +9496,12 @@ msgstr "Login-Alias darf keine Schrägstriche (\"/\", \"\\\") oder die folgenden
9436
9496
  msgid "Login error"
9437
9497
  msgstr "Fehler beim Login"
9438
9498
 
9499
+ msgid "Login image"
9500
+ msgstr "Anmeldebild"
9501
+
9502
+ msgid "Login image file"
9503
+ msgstr "Anmeldebild-Datei"
9504
+
9439
9505
  msgid "Login options"
9440
9506
  msgstr "Anmeldeoptionen"
9441
9507
 
@@ -12346,9 +12412,15 @@ msgstr "Anbietername"
12346
12412
  msgid "Provisioned"
12347
12413
  msgstr "Provisioniert"
12348
12414
 
12415
+ msgid "Provisioned certificate stored in user object: \"{{ userName }}\""
12416
+ msgstr "Bereitgestelltes Zertifikat gespeichert im Benutzerobjekt: „{{ userName }}“"
12417
+
12349
12418
  msgid "Provisioned certificates"
12350
12419
  msgstr "Bereitgestellte Zertifikate"
12351
12420
 
12421
+ msgid "Provisioned certificates removed from user: \"{{ userName }}\""
12422
+ msgstr "Vom Benutzer entfernte bereitgestellte Zertifikate: „{{ userName }}“"
12423
+
12352
12424
  msgid "Public key"
12353
12425
  msgstr "Öffentlicher Schlüssel"
12354
12426
 
@@ -12808,9 +12880,6 @@ msgstr "Registrierung fehlgeschlagen"
12808
12880
  msgid "Regular expression"
12809
12881
  msgstr "Regulärer Ausdruck"
12810
12882
 
12811
- msgid "Regular`properties`"
12812
- msgstr "Standard"
12813
-
12814
12883
  msgid "Regular`style`"
12815
12884
  msgstr "Standard"
12816
12885
 
@@ -13162,6 +13231,9 @@ msgstr "Wiederhergestellter Dashboard-Status von {{ restoredStateCreationDate }}
13162
13231
  msgid "Result"
13163
13232
  msgstr "Ergebnis"
13164
13233
 
13234
+ msgid "Result type"
13235
+ msgstr "Ergebnistyp"
13236
+
13165
13237
  msgid "Results found"
13166
13238
  msgstr "Ergebnisse"
13167
13239
 
@@ -13228,6 +13300,9 @@ msgstr "Bereitgestelltes Zertifikat widerrufen?"
13228
13300
  msgid "Revoke provisioned certificates?"
13229
13301
  msgstr "Bereitgestellte Zertifikate widerrufen?"
13230
13302
 
13303
+ msgid "Revoked serials: {{ revokedSerials }}"
13304
+ msgstr "Widerrufene Seriennummern: {{ revokedSerials }}"
13305
+
13231
13306
  msgid "Right"
13232
13307
  msgstr "Rechts"
13233
13308
 
@@ -13624,6 +13699,9 @@ msgstr "Wählen Sie eine Konfiguration aus der Liste der geräteunterstützten K
13624
13699
  msgid "Select a configuration to preview."
13625
13700
  msgstr "Wählen Sie eine Konfiguration für die Vorschau."
13626
13701
 
13702
+ msgid "Select a data point to view its aggregated values in the time slider."
13703
+ msgstr "Wählen Sie einen Datenpunkt aus, um dessen aggregierte Werte im Zeitschieberegler anzuzeigen."
13704
+
13627
13705
  msgid "Select a date range"
13628
13706
  msgstr "Wählen Sie einen Datumsbereich"
13629
13707
 
@@ -14741,6 +14819,9 @@ msgstr "Schweregrad: {{ alarmSeverity }}"
14741
14819
  msgid "Shades"
14742
14820
  msgstr "Schattierungen"
14743
14821
 
14822
+ msgid "Share your feedback, suggestions, or any issues you’ve encountered."
14823
+ msgstr "Teilen Sie uns Ihr Feedback, Ihre Vorschläge oder Probleme mit, auf die Sie gestoßen sind."
14824
+
14744
14825
  msgid "Shared User Manager"
14745
14826
  msgstr "Geteilter Benutzermanager"
14746
14827
 
@@ -15442,6 +15523,9 @@ msgstr "Subjekt"
15442
15523
  msgid "Submit"
15443
15524
  msgstr "Senden"
15444
15525
 
15526
+ msgid "Submit feedback"
15527
+ msgstr "Feedback senden"
15528
+
15445
15529
  msgid "Subnet mask"
15446
15530
  msgstr "Subnetzmaske"
15447
15531
 
@@ -15586,6 +15670,12 @@ msgstr "Unterstützte Fieldbus-Version"
15586
15670
  msgid "Supported file types:"
15587
15671
  msgstr "Unterstützte Dateitypen:"
15588
15672
 
15673
+ msgid "Supported files: *.ico"
15674
+ msgstr "Unterstütztes Format: *.ico"
15675
+
15676
+ msgid "Supported files: *.png, *.svg, *.jpg"
15677
+ msgstr "Unterstützte Formate: *.png, *.svg, *.jpg"
15678
+
15589
15679
  msgid "Supported formats: OpenSSHv1, OpenSSHv2, PEM, SSH2.<br>Supported algorithms: RSA, DSA, ECDSA, ED25519."
15590
15680
  msgstr "Unterstützte Formate: OpenSSHv1, OpenSSHv2, PEM, SSH2.<br>Unterstützte Algorithmen: RSA, DSA, ECDSA, ED25519."
15591
15681
 
@@ -15787,6 +15877,18 @@ msgstr "Mandant aktiviert."
15787
15877
  msgid "Tenant auth configuration"
15788
15878
  msgstr "Mandanten-Auth-Konfiguration"
15789
15879
 
15880
+ msgid "Tenant certificate authority"
15881
+ msgstr "Zertifizierungsstelle für Mieter"
15882
+
15883
+ msgid "Tenant certificate authority (CA) created for tenant \"{{ tenantId }}\""
15884
+ msgstr "Für den Mandanten „{{ tenantId }}“ erstellte Mandanten-Zertifizierungsstelle (CA)"
15885
+
15886
+ msgid "Tenant certificate authority (CA) renewal for tenant \"{{ tenantId }}\" failed"
15887
+ msgstr "Die Erneuerung der Zertifizierungsstelle (CA) für den Mandanten „{{ tenantId }}“ ist fehlgeschlagen."
15888
+
15889
+ msgid "Tenant certificate authority (CA) was renewed for tenant \"{{ tenantId }}\""
15890
+ msgstr "Die Zertifizierungsstelle (CA) für den Mandanten „{{ tenantId }}“ wurde erneuert."
15891
+
15790
15892
  msgid "Tenant created."
15791
15893
  msgstr "Mandant erstellt."
15792
15894
 
@@ -15877,6 +15979,9 @@ msgstr "Text für den Wert \"0\""
15877
15979
  msgid "Text-based configuration"
15878
15980
  msgstr "Textbasierte Konfiguration"
15879
15981
 
15982
+ msgid "Thank you for your feedback."
15983
+ msgstr "Vielen Dank für Ihr Feedback."
15984
+
15880
15985
  msgid "The \"Allowed domain\" setting allows your JavaScript web application to directly communicate with the REST API.\n\n"
15881
15986
  "Options:\n"
15882
15987
  "- Enter \"*\" to allow communication from any host,\n"
@@ -15896,6 +16001,9 @@ msgstr "Der \"contextPath\" oder \"key\" des hochgeladenen Archivs stimmen nicht
15896
16001
  msgid "The Administration application enables account administrators to manage their users, roles, tenants, applications and business rules and lets them configure a number of settings for their account."
15897
16002
  msgstr "Die Administration-Anwendung aktiviert Kontoadministratoren für die Verwaltung ihrer Benutzer, Rollen, Mandanten, Anwendungen und Geschäftsregeln und ermöglicht es Ihnen eine Reihe von Kontoeinstellungen für ihr Konto festzulegen."
15898
16003
 
16004
+ msgid "The CA certificate has not been renewed; however, it may still have sufficient validity remaining."
16005
+ msgstr "Das CA-Zertifikat wurde nicht erneuert, hat jedoch möglicherweise noch eine ausreichende Gültigkeitsdauer."
16006
+
15899
16007
  msgid "The Cockpit application allows you to build IoT applications in minutes.\n"
15900
16008
  " To get started, connect any device to the platform.\n"
15901
16009
  " If you do not have an IoT device to hand, you can start by connecting your smartphone.\n"
@@ -17679,6 +17787,9 @@ msgstr "Der Wert wurde in der Zwischenzeit im Hintergrund geändert."
17679
17787
  msgid "Value in ms"
17680
17788
  msgstr "Wert in ms"
17681
17789
 
17790
+ msgid "Value is applied in px"
17791
+ msgstr "Der Wert wird in px angewendet."
17792
+
17682
17793
  msgid "Value must be a full or relative URL."
17683
17794
  msgstr "Der Wert muss eine vollständige oder relative URL sein."
17684
17795
 
@@ -17754,6 +17865,9 @@ msgstr "Variable mit diesem Pfad wurde bereits hinzugefügt."
17754
17865
  msgid "Variables"
17755
17866
  msgstr "Variablen"
17756
17867
 
17868
+ msgid "Variants"
17869
+ msgstr "Varianten"
17870
+
17757
17871
  msgid "Vehicle tracking device"
17758
17872
  msgstr "Fahrzeug-Tracking-Gerät"
17759
17873
 
@@ -17914,6 +18028,12 @@ msgstr "Es werden keine personenbezogenen Daten gesammelt oder gespeichert.\n"
17914
18028
  msgid "We recommend you to meet these conditions for a stronger password:"
17915
18029
  msgstr "Wir empfehlen Ihnen, diese Bedingungen für ein sicheres Passwort zu erfüllen:"
17916
18030
 
18031
+ msgid "We value your feedback."
18032
+ msgstr "Wir schätzen Ihr Feedback."
18033
+
18034
+ msgid "We want to hear from you. Share your feedback on the <strong>{{featurePreviewName}}</strong> feature preview to help us improve Cumulocity."
18035
+ msgstr "Wir freuen uns über Ihr Feedback. Teilen Sie uns Ihre Meinung zu den <strong>{{featurePreviewName}}</strong> Feature-Vorschau mit, damit wir Cumulocity verbessern können."
18036
+
17917
18037
  msgid "We will now log you out and redirect to your new domain {{vm.redirectUrl}} in <b>1</b> second."
17918
18038
  msgid_plural "We will now log you out and redirect to your new domain {{vm.redirectUrl}} in <b>{{$count}}</b> seconds."
17919
18039
  msgstr[0] "Sie werden in <b>1</b> Sekunde abgemeldet und auf Ihre neue Domain {{vm.redirectUrl}} weitergeleitet."
@@ -18536,6 +18656,9 @@ msgstr "Das Video-Tag wird von Ihrem Browser nicht unterstützt."
18536
18656
  msgid "Your device was successfully registered."
18537
18657
  msgstr "Ihr Gerät wurde erfolgreich registriert."
18538
18658
 
18659
+ msgid "Your insights and suggestions directly influence the future of the platform."
18660
+ msgstr "Ihre Erkenntnisse und Vorschläge haben direkten Einfluss auf die Zukunft der Plattform."
18661
+
18539
18662
  msgid "Your password is expired. Please set a new password."
18540
18663
  msgstr "Ihr Passwort ist abgelaufen. Bitte setzen Sie ein neues Passwort."
18541
18664
 
@@ -18548,6 +18671,9 @@ msgstr "Das Passwort wird {{expirationTime | relativeDate}} ungültig. Ändern S
18548
18671
  msgid "Your phone number"
18549
18672
  msgstr "Ihre Telefonnummer"
18550
18673
 
18674
+ msgid "Your rating: {{ starCount }} star(s)"
18675
+ msgstr "Ihre Bewertung: {{ starCount }} Sterne"
18676
+
18551
18677
  msgid "Zoom in"
18552
18678
  msgstr "Vergrößern"
18553
18679