update dashboard telemetry
This commit is contained in:
@@ -2,8 +2,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib';
|
||||
import { css, html, LitElement } from 'lit';
|
||||
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
||||
import { customElement, state } from 'lit/decorators.js';
|
||||
import { getConsentLevel, getConsentLevels, postConsentLevel } from '@umbraco-cms/backend-api';
|
||||
import type { TelemetryModel } from '@umbraco-cms/models';
|
||||
import { ApiError, ProblemDetails, Telemetry, TelemetryLevel, TelemetryResource } from '@umbraco-cms/backend-api';
|
||||
|
||||
export type SettingOption = 'Minimal' | 'Basic' | 'Detailed';
|
||||
|
||||
@@ -19,10 +18,10 @@ export class UmbDashboardTelemetryElement extends LitElement {
|
||||
];
|
||||
|
||||
@state()
|
||||
private _telemetryFormData: TelemetryModel['level'] = 'Basic';
|
||||
private _telemetryFormData = TelemetryLevel.BASIC;
|
||||
|
||||
@state()
|
||||
private _telemetryLevels: TelemetryModel['level'][] = [];
|
||||
private _telemetryLevels: Telemetry[] = [];
|
||||
|
||||
@state()
|
||||
private _errorMessage = '';
|
||||
@@ -38,17 +37,20 @@ export class UmbDashboardTelemetryElement extends LitElement {
|
||||
|
||||
private async _setup() {
|
||||
try {
|
||||
const consentLevels = await getConsentLevels({});
|
||||
this._telemetryLevels = consentLevels.data as TelemetryModel['level'][];
|
||||
const consentLevels = await TelemetryResource.getUmbracoManagementApiV1Telemetry({});
|
||||
this._telemetryLevels = consentLevels.items ?? [];
|
||||
} catch (e) {
|
||||
this._errorMessage;
|
||||
if (e instanceof ApiError) {
|
||||
this._errorMessage = e.message;
|
||||
}
|
||||
}
|
||||
try {
|
||||
const consentSetting = await getConsentLevel({});
|
||||
this._telemetryFormData = consentSetting.data.telemetryLevel as TelemetryModel['level'];
|
||||
const consentSetting = await TelemetryResource.getUmbracoManagementApiV1TelemetryLevel();
|
||||
this._telemetryFormData = consentSetting.telemetryLevel ?? TelemetryLevel.BASIC;
|
||||
} catch (e) {
|
||||
if (e instanceof getConsentLevel.Error) {
|
||||
this._errorMessage = e.data.detail;
|
||||
if (e instanceof ApiError) {
|
||||
const error = e.body as ProblemDetails;
|
||||
this._errorMessage = error.detail;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,12 +58,14 @@ export class UmbDashboardTelemetryElement extends LitElement {
|
||||
private _handleSubmit = async (e: CustomEvent<SubmitEvent>) => {
|
||||
e.stopPropagation();
|
||||
try {
|
||||
await postConsentLevel({ telemetryLevel: this._telemetryFormData });
|
||||
await TelemetryResource.postUmbracoManagementApiV1TelemetryLevel({
|
||||
requestBody: { telemetryLevel: this._telemetryFormData },
|
||||
});
|
||||
} catch (e) {
|
||||
if (e instanceof postConsentLevel.Error) {
|
||||
const error = e.getActualType();
|
||||
if (error.status === 400) {
|
||||
this._errorMessage = error.data.detail || 'Unknown error, please try again';
|
||||
if (e instanceof ApiError) {
|
||||
const error = e.body as ProblemDetails;
|
||||
if (e.status === 400) {
|
||||
this._errorMessage = error.detail || 'Unknown error, please try again';
|
||||
}
|
||||
} else {
|
||||
this._errorMessage = 'Unknown error, please try again';
|
||||
@@ -75,7 +79,7 @@ export class UmbDashboardTelemetryElement extends LitElement {
|
||||
|
||||
private _handleChange(e: InputEvent) {
|
||||
const target = e.target as HTMLInputElement;
|
||||
this._telemetryFormData = this._telemetryLevels[parseInt(target.value) - 1];
|
||||
this._telemetryFormData = this._telemetryLevels[parseInt(target.value) - 1].telemetryLevel ?? TelemetryLevel.BASIC;
|
||||
}
|
||||
|
||||
private get _selectedTelemetryIndex() {
|
||||
@@ -99,7 +103,7 @@ export class UmbDashboardTelemetryElement extends LitElement {
|
||||
<li>System information: Webserver, server OS, server framework, server OS language, and database provider.</li>
|
||||
<li>Configuration settings: Modelsbuilder mode, if custom Umbraco path exists, ASP environment, and if you are in debug mode.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<i>We might change what we send on the Detailed level in the future. If so, it will be listed above.
|
||||
By choosing "Detailed" you agree to current and future anonymized information being collected.</i>`;
|
||||
default:
|
||||
|
||||
@@ -2,7 +2,8 @@ import { rest } from 'msw';
|
||||
|
||||
import { umbracoPath } from '@umbraco-cms/utils';
|
||||
|
||||
import type { ManifestsPackagesInstalledResponse, ManifestsResponse } from '@umbraco-cms/models';
|
||||
interface ManifestsResponse extends Record<string, any> {}
|
||||
interface ManifestsPackagesInstalledResponse extends ManifestsResponse {}
|
||||
|
||||
export const manifestDevelopmentHandler = rest.get(umbracoPath('/manifests'), (_req, res, ctx) => {
|
||||
return res(
|
||||
|
||||
Reference in New Issue
Block a user