diff --git a/src/Umbraco.Web.UI.Client/e2e/installer.spec.ts b/src/Umbraco.Web.UI.Client/e2e/installer.spec.ts index 72bc7fa7e4..7e2a621f26 100644 --- a/src/Umbraco.Web.UI.Client/e2e/installer.spec.ts +++ b/src/Umbraco.Web.UI.Client/e2e/installer.spec.ts @@ -1,7 +1,7 @@ const { rest } = window.MockServiceWorker; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; -import { ProblemDetailsModel, RuntimeLevelModel, ServerStatusResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { ProblemDetails, RuntimeLevelModel, ServerStatusResponseModel } from '@umbraco-cms/backoffice/backend-api'; import { expect, test } from './test.js'; test.describe('installer tests', () => { @@ -62,7 +62,7 @@ test.describe('installer tests', () => { return res( // Respond with a 200 status code ctx.status(400), - ctx.json({ + ctx.json({ status: 400, type: 'validation', detail: 'Something went wrong', diff --git a/src/Umbraco.Web.UI.Client/e2e/upgrader.spec.ts b/src/Umbraco.Web.UI.Client/e2e/upgrader.spec.ts index 35728d313a..8e719ebec4 100644 --- a/src/Umbraco.Web.UI.Client/e2e/upgrader.spec.ts +++ b/src/Umbraco.Web.UI.Client/e2e/upgrader.spec.ts @@ -1,6 +1,6 @@ const { rest } = window.MockServiceWorker; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; -import { ProblemDetailsModel, RuntimeLevelModel, ServerStatusResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { ProblemDetails, RuntimeLevelModel, ServerStatusResponseModel } from '@umbraco-cms/backoffice/backend-api'; import { expect, test } from './test.js'; test.describe('upgrader tests', () => { @@ -43,7 +43,7 @@ test.describe('upgrader tests', () => { return res( // Respond with a 200 status code ctx.status(400), - ctx.json({ + ctx.json({ status: 400, type: 'error', detail: 'Something went wrong', diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-error.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-error.element.ts index 0b3391ba90..ad0a977421 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-error.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-error.element.ts @@ -1,5 +1,5 @@ import { css, html, nothing, customElement, property } from '@umbraco-cms/backoffice/external/lit'; -import type { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import type { ProblemDetails } from '@umbraco-cms/backoffice/backend-api'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; /** @@ -23,7 +23,7 @@ export class UmbAppErrorElement extends UmbLitElement { @property() error?: unknown; - private renderProblemDetails = (problemDetails: ProblemDetailsModel) => html` + private renderProblemDetails = (problemDetails: ProblemDetails) => html`

${problemDetails.title}

${problemDetails.detail}

${problemDetails.stack}
@@ -35,7 +35,7 @@ export class UmbAppErrorElement extends UmbLitElement {
${error.stack}
`; - private isProblemDetails(error: unknown): error is ProblemDetailsModel { + private isProblemDetails(error: unknown): error is ProblemDetails { return typeof error === 'object' && error !== null && 'detail' in error && 'title' in error; } diff --git a/src/Umbraco.Web.UI.Client/src/apps/installer/database/installer-database.element.ts b/src/Umbraco.Web.UI.Client/src/apps/installer/database/installer-database.element.ts index 6245f82c74..e3448233c0 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/installer/database/installer-database.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/installer/database/installer-database.element.ts @@ -16,7 +16,7 @@ import { DatabaseInstallResponseModel, DatabaseSettingsPresentationModel, InstallResource, - ProblemDetailsModel, + ProblemDetails, } from '@umbraco-cms/backoffice/backend-api'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { tryExecute } from '@umbraco-cms/backoffice/resources'; @@ -216,7 +216,7 @@ export class UmbInstallerDatabaseElement extends UmbLitElement { history.replaceState(null, '', 'section/content'); } - private _handleRejected(e: ProblemDetailsModel) { + private _handleRejected(e: ProblemDetails) { this._installerContext?.setInstallStatus(e); } diff --git a/src/Umbraco.Web.UI.Client/src/apps/installer/error/installer-error.element.ts b/src/Umbraco.Web.UI.Client/src/apps/installer/error/installer-error.element.ts index 75556a5aae..8fdb1a0233 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/installer/error/installer-error.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/installer/error/installer-error.element.ts @@ -1,12 +1,12 @@ import { UmbInstallerContext, UMB_INSTALLER_CONTEXT_TOKEN } from '../installer.context.js'; import { css, CSSResultGroup, html, nothing, customElement, state } from '@umbraco-cms/backoffice/external/lit'; -import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { ProblemDetails } from '@umbraco-cms/backoffice/backend-api'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-installer-error') export class UmbInstallerErrorElement extends UmbLitElement { @state() - _error?: ProblemDetailsModel; + _error?: ProblemDetails; private _installerContext?: UmbInstallerContext; @@ -34,7 +34,7 @@ export class UmbInstallerErrorElement extends UmbLitElement { this._installerContext?.reset(); } - private _renderError(error: ProblemDetailsModel) { + private _renderError(error: ProblemDetails) { return html`

Description: ${error.title}

${error.errors ? this._renderErrors(error.errors) : nothing} diff --git a/src/Umbraco.Web.UI.Client/src/apps/installer/installer.context.ts b/src/Umbraco.Web.UI.Client/src/apps/installer/installer.context.ts index d81b13b572..a87c1fad4d 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/installer/installer.context.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/installer/installer.context.ts @@ -3,7 +3,7 @@ import { InstallVResponseModel, InstallResource, InstallSettingsResponseModel, - ProblemDetailsModel, + ProblemDetails, TelemetryLevelModel, } from '@umbraco-cms/backoffice/backend-api'; import { tryExecute } from '@umbraco-cms/backoffice/resources'; @@ -29,7 +29,7 @@ export class UmbInstallerContext { private _settings = new UmbObjectState(undefined); public readonly settings = this._settings.asObservable(); - private _installStatus = new UmbObjectState(null); + private _installStatus = new UmbObjectState(null); public readonly installStatus = this._installStatus.asObservable(); constructor() { @@ -49,10 +49,10 @@ export class UmbInstallerContext { /** * Observable method to get the install status in the installation process * @public - * @return {*} {(Observable)} + * @return {*} {(Observable)} * @memberof UmbInstallerContext */ - public installStatusChanges(): Observable { + public installStatusChanges(): Observable { return this.installStatus; } @@ -107,10 +107,10 @@ export class UmbInstallerContext { /** * Set the install status * @public - * @param {(ProblemDetailsModel | null)} status + * @param {(ProblemDetails | null)} status * @memberof UmbInstallerContext */ - public setInstallStatus(status: ProblemDetailsModel | null): void { + public setInstallStatus(status: ProblemDetails | null): void { this._installStatus.next(status); } diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/index.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/index.ts index 8420b1093f..4df73b330f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/index.ts @@ -1 +1 @@ -export * from './src'; +export * from './src/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts index e7eb5ba7ea..67a1f1c10a 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts @@ -691,7 +691,6 @@ class UmbDataTypeData extends UmbEntityData = [ hasChildren: true, type: 'dictionary-item', isContainer: false, - icon: 'umb:book-alt', }, { parentId: 'aae7d0ab-53ba-485d-b8bd-12537f9925cb', @@ -50,7 +49,6 @@ const dictionaryTree: Array = [ hasChildren: false, type: 'dictionary-item', isContainer: false, - icon: 'umb:book-alt', }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/document-type.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/document-type.data.ts index db797ad212..3e4cbb3580 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/document-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/document-type.data.ts @@ -1057,7 +1057,6 @@ export const data: Array = [ export const treeData: Array = [ { - $type: 'DocumentTypeTreeItemViewModel', name: 'All property editors document type', type: 'document-type', hasChildren: false, @@ -1067,7 +1066,6 @@ export const treeData: Array = [ icon: '', }, { - $type: 'DocumentTypeTreeItemViewModel', name: 'Page Document Type', type: 'document-type', hasChildren: false, @@ -1077,7 +1075,6 @@ export const treeData: Array = [ icon: 'umb:document', }, { - $type: 'DocumentTypeTreeItemViewModel', name: 'Page Document Type Compositional', type: 'document-type', hasChildren: false, @@ -1087,7 +1084,6 @@ export const treeData: Array = [ icon: 'umb:document', }, { - $type: 'DocumentTypeTreeItemViewModel', name: 'Page Document Type Inherited', type: 'document-type', hasChildren: false, @@ -1097,7 +1093,6 @@ export const treeData: Array = [ icon: 'umb:document', }, { - $type: 'DocumentTypeTreeItemViewModel', name: 'Simple Document Type', type: 'document-type', hasChildren: false, @@ -1107,7 +1102,6 @@ export const treeData: Array = [ icon: 'umb:document', }, { - $type: 'DocumentTypeTreeItemViewModel', name: 'Simple Document Type 2', type: 'document-type', hasChildren: false, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/document.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/document.data.ts index f4ab7b768a..0a3d0fda4c 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/document.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/document.data.ts @@ -476,7 +476,6 @@ export const data: Array = [ export const treeData: Array = [ { - $type: 'DocumentTreeItemViewModel', isProtected: false, isPublished: true, isEdited: false, @@ -491,7 +490,6 @@ export const treeData: Array = [ hasChildren: false, }, { - $type: 'DocumentTreeItemViewModel', isProtected: false, isPublished: true, isEdited: false, @@ -506,7 +504,6 @@ export const treeData: Array = [ hasChildren: true, }, { - $type: 'DocumentTreeItemViewModel', isProtected: false, isPublished: false, isEdited: false, @@ -521,7 +518,6 @@ export const treeData: Array = [ hasChildren: false, }, { - $type: 'DocumentTreeItemViewModel', name: 'Document 5', type: 'document', icon: 'document', @@ -536,7 +532,6 @@ export const treeData: Array = [ isTrashed: false, }, { - $type: 'DocumentTreeItemViewModel', name: 'Simple', type: 'document', icon: 'document', diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/media-type.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/media-type.data.ts index 93ed60a5ca..4cf1363d3e 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/media-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/media-type.data.ts @@ -5,7 +5,6 @@ import { FolderTreeItemResponseModel, PagedFolderTreeItemResponseModel } from '@ export const data: Array = [ { - $type: 'media-type', name: 'Media Type 1', type: 'media-type', hasChildren: false, @@ -13,12 +12,10 @@ export const data: Array = [ isContainer: false, parentId: null, isFolder: false, - icon: '', alias: 'mediaType1', properties: [], }, { - $type: 'media-type', name: 'Media Type 2', type: 'media-type', hasChildren: false, @@ -26,7 +23,6 @@ export const data: Array = [ isContainer: false, parentId: null, isFolder: false, - icon: '', alias: 'mediaType2', properties: [], }, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/media.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/media.data.ts index 87987c7e3c..b28201d42c 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/media.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/media.data.ts @@ -8,7 +8,6 @@ export const data: Array = [ { name: 'Flipped Car', type: 'media', - icon: 'picture', hasChildren: false, id: 'f2f81a40-c989-4b6b-84e2-057cecd3adc1', isContainer: false, @@ -34,7 +33,6 @@ export const data: Array = [ { name: 'Umbracoffee', type: 'media', - icon: 'picture', hasChildren: false, id: '69431027-8867-45bf-a93b-72bbdabfb177', isContainer: false, @@ -60,7 +58,6 @@ export const data: Array = [ { name: 'People', type: 'media', - icon: 'folder', hasChildren: true, id: '69461027-8867-45bf-a93b-72bbdabfb177', isContainer: true, @@ -74,7 +71,6 @@ export const data: Array = [ { name: 'Products', type: 'media', - icon: 'folder', hasChildren: true, id: '69461027-8867-45bf-a93b-5224dabfb177', isContainer: true, @@ -88,7 +84,6 @@ export const data: Array = [ { name: 'John Smith', type: 'media', - icon: 'picture', hasChildren: false, id: '69431027-8867-45s7-a93b-7uibdabfb177', isContainer: false, @@ -114,7 +109,6 @@ export const data: Array = [ { name: 'Jane Doe', type: 'media', - icon: 'picture', hasChildren: false, id: '69431027-8867-45s7-a93b-7uibdabf2147', isContainer: false, @@ -140,7 +134,6 @@ export const data: Array = [ { name: 'A very nice hat', type: 'media', - icon: 'picture', hasChildren: false, id: '694hdj27-8867-45s7-a93b-7uibdabf2147', isContainer: false, @@ -166,7 +159,6 @@ export const data: Array = [ { name: 'Fancy old chair', type: 'media', - icon: 'picture', hasChildren: false, id: '694hdj27-1237-45s7-a93b-7uibdabfas47', isContainer: false, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/member-group.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/member-group.data.ts index e97b238cd4..f4c4b355a3 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/member-group.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/member-group.data.ts @@ -7,7 +7,6 @@ export const data: Array = [ { name: 'Member Group AAA', type: 'member-group', - icon: 'umb:document', hasChildren: false, id: '76708ccd-4179-464c-b694-6969149dd9f9', isContainer: false, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/member-type.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/member-type.data.ts index f8cab90696..ef0843e4c3 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/member-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/member-type.data.ts @@ -7,7 +7,6 @@ export const data: Array = [ { name: 'Member Type 1', type: 'member-type', - icon: 'icon-user', hasChildren: false, id: 'd59be02f-1df9-4228-aa1e-01917d806cda', isContainer: false, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/member.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/member.data.ts index f2e017fe3f..48eeb82231 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/member.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/member.data.ts @@ -10,7 +10,6 @@ export const data: Array = [ { name: 'Member AAA', type: 'member', - icon: 'umb:user', hasChildren: false, id: 'aaa08ccd-4179-464c-b634-6969149dd9f9', isContainer: false, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/partial-views.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/partial-views.data.ts index 003043d9fc..7e98fe19d7 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/partial-views.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/partial-views.data.ts @@ -11,7 +11,6 @@ export const data: Array = [ isFolder: true, name: 'blockgrid', type: 'partial-view', - icon: 'umb:folder', hasChildren: true, }, { @@ -19,7 +18,6 @@ export const data: Array = [ isFolder: true, name: 'blocklist', type: 'partial-view', - icon: 'umb:folder', hasChildren: true, }, { @@ -27,7 +25,6 @@ export const data: Array = [ isFolder: true, name: 'grid', type: 'partial-view', - icon: 'umb:folder', hasChildren: true, }, { @@ -35,7 +32,6 @@ export const data: Array = [ isFolder: false, name: 'area.cshtml', type: 'partial-view', - icon: 'umb:article', hasChildren: false, }, { @@ -43,7 +39,6 @@ export const data: Array = [ isFolder: false, name: 'items.cshtml', type: 'partial-view', - icon: 'umb:article', hasChildren: false, }, { @@ -51,7 +46,6 @@ export const data: Array = [ isFolder: false, name: 'default.cshtml', type: 'partial-view', - icon: 'umb:article', hasChildren: false, }, { @@ -59,7 +53,6 @@ export const data: Array = [ isFolder: false, name: 'editors', type: 'partial-view', - icon: 'umb:folder', hasChildren: false, }, { @@ -67,7 +60,6 @@ export const data: Array = [ isFolder: false, name: 'items.cshtml', type: 'partial-view', - icon: 'umb:article', hasChildren: false, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/relation-type.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/relation-type.data.ts index 73c7061746..8463438cdd 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/relation-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/relation-type.data.ts @@ -74,47 +74,42 @@ export const data: Array = [ export const treeData: Array = [ { id: 'e0d39ff5-71d8-453f-b682-9d8d31ee5e06', - $type: 'EntityTreeItemViewModel', + isContainer: false, parentId: null, name: 'Relate Document On Copy', - icon: 'umb:trafic', type: 'relation-type', }, { id: 'ac68cde6-763f-4231-a751-1101b57defd2', - $type: 'EntityTreeItemViewModel', + isContainer: false, parentId: null, name: 'Relate Parent Document On Delete', - icon: 'umb:trafic', type: 'relation-type', }, { id: '6f9b800c-762c-42d4-85d9-bf40a77d689e', - $type: 'EntityTreeItemViewModel', + isContainer: false, parentId: null, name: 'Relate Parent Media Folder On Delete', - icon: 'umb:trafic', type: 'relation-type', }, { id: 'd421727d-43de-4205-b4c6-037404f309ad', - $type: 'EntityTreeItemViewModel', + isContainer: false, parentId: null, name: 'Related Media', - icon: 'umb:trafic', type: 'relation-type', }, { id: 'e9a0a28e-2d5b-4229-ac00-66f2df230513', - $type: 'EntityTreeItemViewModel', + isContainer: false, parentId: null, name: 'Related Document', - icon: 'umb:trafic', type: 'relation-type', }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/stylesheet.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/stylesheet.data.ts index aa66e2935a..05548ef529 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/stylesheet.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/stylesheet.data.ts @@ -15,7 +15,6 @@ export const data: Array = [ isFolder: false, name: 'Stylesheet File 1.css', type: 'stylesheet', - icon: 'umb:brackets', hasChildren: false, content: `Stylesheet content 1`, }, @@ -24,7 +23,6 @@ export const data: Array = [ isFolder: false, name: 'Stylesheet File 2.css', type: 'stylesheet', - icon: 'umb:brackets', hasChildren: false, content: `Stylesheet content 2`, }, @@ -33,7 +31,6 @@ export const data: Array = [ isFolder: true, name: 'Folder 1', type: 'stylesheet', - icon: 'umb:folder', hasChildren: true, content: `Stylesheet content 3`, }, @@ -42,7 +39,6 @@ export const data: Array = [ isFolder: false, name: 'Stylesheet File 3.css', type: 'stylesheet', - icon: 'umb:brackets', hasChildren: false, content: `Stylesheet content 3`, }, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/template.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/template.data.ts index 9bfc263044..3f86982c48 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/template.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/template.data.ts @@ -39,7 +39,6 @@ export const data: Array = [ parentId: null, name: 'Doc 1', type: 'template', - icon: 'umb:layout', hasChildren: false, alias: 'Doc1', content: `@using Umbraco.Extensions @@ -62,7 +61,6 @@ export const data: Array = [ parentId: null, name: 'Test', type: 'template', - icon: 'umb:layout', hasChildren: true, alias: 'Test', content: @@ -75,7 +73,6 @@ export const data: Array = [ masterTemplateId: '9a84c0b3-03b4-4dd4-84ac-706740ac0f71', name: 'Child', type: 'template', - icon: 'umb:layout', hasChildren: false, alias: 'Test', content: @@ -88,7 +85,6 @@ export const data: Array = [ name: 'Has Master Template', masterTemplateId: '9a84c0b3-03b4-4dd4-84ac-706740ac0f71', type: 'template', - icon: 'umb:layout', hasChildren: false, alias: 'hasMasterTemplate', content: diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/user-groups.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/user-groups.data.ts index 0ec4dbad02..968fb0919d 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/user-groups.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/user-groups.data.ts @@ -17,7 +17,6 @@ class UmbUserGroupsData extends UmbEntityData { export const data: Array = [ { - $type: 'UserGroupResponseModel', id: 'c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', name: 'Administrators', icon: 'umb:medal', diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/users.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/users.data.ts index dadb4faae1..c3ace50024 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/users.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/users.data.ts @@ -23,7 +23,6 @@ class UmbUsersData extends UmbData { const firstUser = this.data[0]; return { - $type: 'CurrentUserResponseModel', id: firstUser.id, name: firstUser.name, email: firstUser.email, @@ -113,7 +112,6 @@ export const data: Array = [ { id: 'bca6c733-a63d-4353-a271-9a8b6bcca8bd', type: 'user', - $type: 'UserResponseModel', contentStartNodeIds: [], mediaStartNodeIds: [], name: 'Umbraco User', @@ -131,7 +129,6 @@ export const data: Array = [ { id: '82e11d3d-b91d-43c9-9071-34d28e62e81d', type: 'user', - $type: 'UserResponseModel', contentStartNodeIds: [], mediaStartNodeIds: [], name: 'Amelie Walker', @@ -149,7 +146,6 @@ export const data: Array = [ { id: 'aa1d83a9-bc7f-47d2-b288-58d8a31f5017', type: 'user', - $type: 'UserResponseModel', contentStartNodeIds: [], mediaStartNodeIds: [], name: 'Oliver Kim', @@ -167,7 +163,6 @@ export const data: Array = [ { id: 'ff2f4a50-d3d4-4bc4-869d-c7948c160e54', type: 'user', - $type: 'UserResponseModel', contentStartNodeIds: [], mediaStartNodeIds: [], name: 'Eliana Nieves', @@ -185,7 +180,6 @@ export const data: Array = [ { id: 'c290c6d9-9f12-4838-8567-621b52a178de', type: 'user', - $type: 'UserResponseModel', contentStartNodeIds: [], mediaStartNodeIds: [], name: 'Jasmine Patel', diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils.ts index 3bea1d8168..272efad196 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils.ts @@ -13,7 +13,6 @@ export const createEntityTreeItem = (item: any): EntityTreeItemResponseModel => return { name: item.name, type: item.type, - icon: item.icon, hasChildren: item.hasChildren, id: item.id, isContainer: item.isContainer, @@ -24,7 +23,6 @@ export const createEntityTreeItem = (item: any): EntityTreeItemResponseModel => export const createFolderTreeItem = (item: any): FolderTreeItemResponseModel => { return { ...createEntityTreeItem(item), - $type: 'FolderTreeItemResponseModel', isFolder: item.isFolder, }; }; @@ -45,7 +43,6 @@ export const createDocumentTreeItem = ( ): DocumentTreeItemResponseModel & { isTrashed: boolean } => { return { ...createContentTreeItem(item), - $type: 'DocumentTreeItemViewModel', type: 'document', icon: 'document', // TODO: Should get this from document type... name: item.variants?.[0].name ?? '', @@ -71,7 +68,6 @@ export const createFileSystemTreeItem = (item: any): FileSystemTreeItemPresentat return { name: item.name, type: item.type, - icon: item.icon, hasChildren: item.hasChildren, path: item.path, isFolder: item.isFolder, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/folder.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/folder.handlers.ts index f59c6f30ab..dbf40c4849 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/folder.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/folder.handlers.ts @@ -2,7 +2,7 @@ const { rest } = window.MockServiceWorker; import { umbDataTypeData } from '../../data/data-type.data.js'; import { slug } from './slug.js'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; -import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { ProblemDetails } from '@umbraco-cms/backoffice/backend-api'; export const folderHandlers = [ rest.post(umbracoPath(`${slug}/folder`), async (req, res, ctx) => { @@ -44,7 +44,7 @@ export const folderHandlers = [ } catch (error) { return res( ctx.status(404), - ctx.json({ + ctx.json({ status: 404, type: 'error', detail: 'Not Found', diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/dictionary.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/dictionary.handlers.ts index a720b0a7b7..874bb40a16 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/dictionary.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/dictionary.handlers.ts @@ -20,7 +20,6 @@ const importResponse: DictionaryItemResponseModel & EntityTreeItemResponseModel hasChildren: false, type: 'dictionary-item', isContainer: false, - icon: 'umb:book-alt', translations: [ { isoCode: 'en', diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/install.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/install.handlers.ts index 5edcd01462..7d36eaf4fc 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/install.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/install.handlers.ts @@ -3,7 +3,7 @@ import { DatabaseInstallResponseModel, InstallVResponseModel, InstallSettingsResponseModel, - ProblemDetailsModel, + ProblemDetails, TelemetryLevelModel, } from '@umbraco-cms/backoffice/backend-api'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; @@ -84,7 +84,7 @@ export const handlers = [ if (body.name === 'validate') { return res( ctx.status(400), - ctx.json({ + ctx.json({ type: 'connection', status: 400, detail: 'Database connection failed', @@ -106,7 +106,7 @@ export const handlers = [ // Respond with a 200 status code ctx.status(400), ctx.delay(1000), - ctx.json({ + ctx.json({ type: 'validation', status: 400, detail: 'Something went wrong', diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/language.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/language.handlers.ts index 86cefc4af3..0ac0d51b67 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/language.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/language.handlers.ts @@ -1,6 +1,6 @@ const { rest } = window.MockServiceWorker; import { umbLanguagesData } from '../data/languages.data.js'; -import { LanguageResponseModel, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { LanguageResponseModel, ProblemDetails } from '@umbraco-cms/backoffice/backend-api'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; // TODO: add schema @@ -48,7 +48,7 @@ export const handlers = [ } catch (error) { return res( ctx.status(400), - ctx.json({ + ctx.json({ status: 400, type: 'validation', detail: 'Something went wrong', diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/folder/folder-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/folder/folder-modal.element.ts index 5e2fdeb512..4f329a9def 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/folder/folder-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/common/folder/folder-modal.element.ts @@ -4,7 +4,7 @@ import { UmbFolderModalData, UmbFolderModalResult, UmbModalContext } from '@umbr import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { UmbFolderRepository } from '@umbraco-cms/backoffice/repository'; import { createExtensionClass, ManifestBase } from '@umbraco-cms/backoffice/extension-api'; -import { FolderReponseModel, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { FolderReponseModel, ProblemDetails } from '@umbraco-cms/backoffice/backend-api'; import { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; @@ -102,7 +102,7 @@ export class UmbFolderModalElement extends UmbLitElement { const isValid = this._formElement?.checkValidity(); if (!isValid) return; - let error: ProblemDetailsModel | undefined; + let error: ProblemDetails | undefined; const formData = new FormData(this._formElement); const folderName = formData.get('name') as string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item.context.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item.context.interface.ts index 2d208cf3cf..c03290698a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item.context.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item.context.interface.ts @@ -1,6 +1,6 @@ import type { Observable } from '@umbraco-cms/backoffice/external/rxjs'; import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; -import type { ProblemDetailsModel, TreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api'; +import type { ProblemDetails, TreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api'; import { UmbPagedData } from '@umbraco-cms/backoffice/repository'; export interface UmbTreeItemContext { @@ -20,7 +20,7 @@ export interface UmbTreeItemContext | undefined; - error?: ProblemDetailsModel | undefined; + error?: ProblemDetails | undefined; asObservable?: () => Observable; }>; toggleContextMenu(): void; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree.context.ts index 05fb106310..ef94d2f024 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree.context.ts @@ -4,7 +4,7 @@ import { ManifestTree, umbExtensionsRegistry } from '@umbraco-cms/backoffice/ext import { UmbBooleanState } from '@umbraco-cms/backoffice/observable-api'; import { UmbBaseController, UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; import { createExtensionClass } from '@umbraco-cms/backoffice/extension-api'; -import { ProblemDetailsModel, TreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api'; +import { ProblemDetails, TreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api'; import { UmbContextProviderController } from '@umbraco-cms/backoffice/context-api'; import { UmbSelectionManagerBase } from '@umbraco-cms/backoffice/utils'; @@ -22,7 +22,7 @@ export interface UmbTreeContext deselect(unique: string | null): void; requestChildrenOf: (parentUnique: string | null) => Promise<{ data?: UmbPagedData; - error?: ProblemDetailsModel; + error?: ProblemDetails; asObservable?: () => Observable; }>; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts index 08e918d046..4aad7b6baa 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts @@ -51,7 +51,7 @@ export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement< const { data } = await this.#documentTypeRepository.requestRootTreeItems(); if (!data) return; - const allFullModels: Array = []; + const allFullModels: Array = []; await Promise.all( data.items.map((item) => { if (item.id) { @@ -83,7 +83,7 @@ export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement< render() { return html` - + ${this._allowedDocumentTypes.length === 0 ? html`

No allowed types

` : nothing} ${this._allowedDocumentTypes.map( diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/document-type.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/document-type.repository.ts index b4a4954507..52234e5c7f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/document-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/document-type.repository.ts @@ -14,7 +14,7 @@ import { } from '@umbraco-cms/backoffice/backend-api'; import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; -type ItemType = DocumentTypeResponseModel & { $type: string }; +type ItemType = DocumentTypeResponseModel; export class UmbDocumentTypeRepository implements @@ -181,7 +181,7 @@ export class UmbDocumentTypeRepository // Temporary hack while we are not in control of IDs: - const newDocument = { ...(await this.requestById(newId)).data, $type: '' }; + const newDocument = { ...(await this.requestById(newId)).data }; if (newDocument) { const notification = { data: { message: `Document Type created` } }; @@ -255,7 +255,6 @@ export const createTreeItem = (item: ItemType): FolderTreeItemResponseModel => { // TODO: needs parentID, this is missing in the current model. Should be good when updated to a createModel. return { - $type: 'FolderTreeItemResponseModel', type: 'document-type', parentId: null, name: item.name, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/sources/document-type.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/sources/document-type.server.data.ts index fae6d284af..492fb7fec9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/sources/document-type.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/sources/document-type.server.data.ts @@ -56,10 +56,8 @@ export class UmbDocumentTypeServerDataSource * @memberof UmbDocumentTypeServerDataSource */ async createScaffold(parentId: string | null) { - // TODO: Type hack to append $type and parentId to the DocumentTypeResponseModel. //, parentId: string | null - const data: DocumentTypeResponseModel & { $type: string } = { - $type: 'string', + const data: DocumentTypeResponseModel = { id: UmbId.new(), //parentId: parentId, name: '', @@ -99,7 +97,6 @@ export class UmbDocumentTypeServerDataSource documentType = { ...documentType }; // TODO: Hack to remove some props that ruins the document-type post end-point. - (documentType as any).$type = undefined; (documentType as any).id = undefined; // TODO: Investigate if this matters (should go away anyway when we have the end-point accepts us defining the ids.) @@ -131,7 +128,6 @@ export class UmbDocumentTypeServerDataSource documentType = { ...documentType }; // TODO: Hack to remove some props that ruins the document-type post end-point. - (documentType as any).$type = undefined; (documentType as any).id = undefined; return tryExecuteAndNotify(this.#host, DocumentTypeResource.putDocumentTypeById({ id, requestBody: documentType })); diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/document-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/document-table-collection-view.element.ts index aa87997ff4..8dec27dc4d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/document-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/collection/views/table/document-table-collection-view.element.ts @@ -79,7 +79,6 @@ export class UmbDocumentTableCollectionViewElement extends UmbLitElement { if (!item.id) throw new Error('Item id is missing.'); return { id: item.id, - icon: item.icon, data: [ { columnAlias: 'entityName', diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts index 71b0024cd2..777fff649f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts @@ -65,7 +65,6 @@ export class UmbDocumentServerDataSource values: [], variants: [ { - $type: 'DocumentVariantRequestModel', state: ContentStateModel.DRAFT, publishDate: null, culture: null, @@ -92,12 +91,11 @@ export class UmbDocumentServerDataSource // TODO: Hack to remove some props that ruins the document-type post end-point. const unFroozenDocument = { ...document }; - (unFroozenDocument as any).$type = undefined; (unFroozenDocument as any).id = undefined; (unFroozenDocument.variants as any) = unFroozenDocument.variants?.map((variant) => { - return { ...variant, $type: undefined }; + return { ...variant }; }) ?? []; return tryExecuteAndNotify(this.#host, DocumentResource.postDocument({ requestBody: unFroozenDocument })); @@ -114,12 +112,11 @@ export class UmbDocumentServerDataSource // TODO: Hack to remove some props that ruins the document-type post end-point. const unFroozenDocument = { ...document }; - (unFroozenDocument as any).$type = undefined; (unFroozenDocument as any).id = undefined; (unFroozenDocument.variants as any) = unFroozenDocument.variants?.map((variant) => { - return { ...variant, $type: undefined }; + return { ...variant }; }) ?? []; return tryExecuteAndNotify(this.#host, DocumentResource.putDocumentById({ id, requestBody: unFroozenDocument })); diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts index cf1096d0e1..98d18c9624 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts @@ -152,7 +152,7 @@ export class UmbDocumentWorkspaceContext } } setPropertyValue(alias: string, value: unknown, variantId?: UmbVariantId) { - const entry = { $type: 'DocumentValueModel', ...variantId?.toObject(), alias, value }; + const entry = { ...variantId?.toObject(), alias, value }; const currentData = this.#draft.value; if (currentData) { const values = appendToFrozenArray( diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection-view/media-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection-view/media-table-collection-view.element.ts index d2b890631c..ee3881bf61 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection-view/media-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection-view/media-table-collection-view.element.ts @@ -67,7 +67,6 @@ export class UmbMediaTableCollectionViewElement extends UmbLitElement { this._tableItems = mediaItems.map((item) => { return { id: item.id, - icon: item.icon, data: [ { columnAlias: 'mediaName', diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/members/repository/sources/member.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/members/members/repository/sources/member.tree.server.data.ts index 8348c70143..dbe714abc5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/members/repository/sources/member.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/members/repository/sources/member.tree.server.data.ts @@ -45,7 +45,7 @@ export class UmbMemberTreeServerDataSource implements MemberTreeDataSource { return { data, error: undefined }; // if (ids) { - // const error: ProblemDetailsModel = { title: 'Ids are missing' }; + // const error: ProblemDetails = { title: 'Ids are missing' }; // return { error }; // } diff --git a/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/models.ts b/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/models.ts index 33e35d560d..a21244deba 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/models.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/models.ts @@ -1,5 +1,5 @@ import { DataTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; -export interface UmbDataTypeModel extends Omit { +export interface UmbDataTypeModel extends DataTypeResponseModel { type: 'data-type' | 'data-type-folder' | 'data-type-root'; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/repository/data-type.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/repository/data-type.repository.ts index 9fcad97e91..498e2ba81b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/repository/data-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/repository/data-type.repository.ts @@ -365,7 +365,6 @@ export const createTreeItem = (item: CreateDataTypeRequestModel): FolderTreeItem if (!item.id) throw new Error('item.id is null or undefined'); return { - $type: 'FolderTreeItemResponseModel', type: 'data-type', parentId: item.parentId, name: item.name, diff --git a/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/repository/sources/data-type-folder.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/repository/sources/data-type-folder.server.data.ts index a6258bec44..04c7e0223b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/repository/sources/data-type-folder.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/repository/sources/data-type-folder.server.data.ts @@ -35,7 +35,6 @@ export class UmbDataTypeFolderServerDataSource implements UmbFolderDataSource { */ async createScaffold(parentId: string | null) { const scaffold: FolderReponseModel = { - $type: 'FolderReponseModel', name: '', id: UmbId.new(), parentId, diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/code-editor/code-editor.stories.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/code-editor/code-editor.stories.ts index f857399c2a..655c8cb844 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/code-editor/code-editor.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/code-editor/code-editor.stories.ts @@ -132,11 +132,11 @@ const codeSnippets: Record = { } setName(value: string) { - this.#data.next({ ...this.#data.value, $type: this.#data.value?.$type || '', name: value }); + this.#data.next({ ...this.#data.value, name: value }); } setContent(value: string) { - this.#data.next({ ...this.#data.value, $type: this.#data.value?.$type || '', content: value }); + this.#data.next({ ...this.#data.value, content: value }); } async load(entityId: string) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/repository/partial-views.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/repository/partial-views.repository.ts index dd11f0140c..ba053e001f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/repository/partial-views.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/repository/partial-views.repository.ts @@ -4,7 +4,7 @@ import { UmbPartialViewsTreeStore, UMB_PARTIAL_VIEW_TREE_STORE_CONTEXT_TOKEN } f import { Observable } from '@umbraco-cms/backoffice/external/rxjs'; import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; -import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { ProblemDetails } from '@umbraco-cms/backoffice/backend-api'; import { UmbDetailRepository, UmbTreeRepository } from '@umbraco-cms/backoffice/repository'; import { UmbTreeRootEntityModel } from '@umbraco-cms/backoffice/tree'; @@ -30,7 +30,7 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR ]); } - requestTreeRoot(): Promise<{ data?: UmbTreeRootEntityModel | undefined; error?: ProblemDetailsModel | undefined }> { + requestTreeRoot(): Promise<{ data?: UmbTreeRootEntityModel | undefined; error?: ProblemDetails | undefined }> { //throw new Error('Method not implemented.'); return { data: undefined, error: undefined } as any; } @@ -38,7 +38,7 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR requestItemsLegacy?: | ((uniques: string[]) => Promise<{ data?: any[] | undefined; - error?: ProblemDetailsModel | undefined; + error?: ProblemDetails | undefined; asObservable?: (() => Observable) | undefined; }>) | undefined; @@ -52,7 +52,7 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR // TODO: This method to be done, or able to go away? // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - requestById(id: string): Promise<{ data?: any; error?: ProblemDetailsModel | undefined }> { + requestById(id: string): Promise<{ data?: any; error?: ProblemDetails | undefined }> { throw new Error('Method not implemented.'); } @@ -88,7 +88,7 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR await this.#init; if (!keys) { - const error: ProblemDetailsModel = { title: 'Keys are missing' }; + const error: ProblemDetails = { title: 'Keys are missing' }; return { data: undefined, error }; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/repository/sources/partial-views.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/repository/sources/partial-views.tree.server.data.ts index 9abb91e1b0..619f372a74 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/repository/sources/partial-views.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/repository/sources/partial-views.tree.server.data.ts @@ -1,5 +1,5 @@ import { PartialViewsTreeDataSource } from './index.js'; -import { PartialViewResource, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { PartialViewResource, ProblemDetails } from '@umbraco-cms/backoffice/backend-api'; import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @@ -24,7 +24,7 @@ export class UmbPartialViewsTreeServerDataSource implements PartialViewsTreeData take?: number | undefined; }) { if (!path) { - const error: ProblemDetailsModel = { title: 'Path is missing' }; + const error: ProblemDetails = { title: 'Path is missing' }; return error; } @@ -40,7 +40,7 @@ export class UmbPartialViewsTreeServerDataSource implements PartialViewsTreeData async getItem(id: Array) { if (!id) { - const error: ProblemDetailsModel = { title: 'Paths are missing' }; + const error: ProblemDetails = { title: 'Paths are missing' }; return error; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/workspace/partial-views-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/workspace/partial-views-workspace.context.ts index 6ccc43c323..94e1fd891b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/workspace/partial-views-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/workspace/partial-views-workspace.context.ts @@ -31,11 +31,11 @@ export class UmbPartialViewsWorkspaceContext extends UmbWorkspaceContext, '$type'>, + MissingPropsType extends object = Diff, // Maybe this Omit<..., "$ype"> can be removed, but for now it kept showing up as a difference, though its not a difference on the two types. ToType = IncomingDataType & ExtendedDataType >( diff --git a/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/extend-data-source-response-data.function.ts b/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/extend-data-source-response-data.function.ts index d962cfe699..b4481d0b2d 100644 --- a/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/extend-data-source-response-data.function.ts +++ b/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/extend-data-source-response-data.function.ts @@ -21,8 +21,7 @@ import { Diff } from '@umbraco-cms/backoffice/utils'; export function extendDataSourceResponseData< ExtendedDataType extends IncomingDataType, IncomingDataType extends object = object, - MissingPropsType extends object = Omit, '$type'>, - // Maybe this Omit<..., "$ype"> can be removed, but for now it kept showing up as a difference, though its not a difference on the two types. + MissingPropsType extends object = Diff, ToType = IncomingDataType & ExtendedDataType >(response: DataSourceResponse, appendData: MissingPropsType): DataSourceResponse { if (response.data === undefined) return response as unknown as DataSourceResponse; diff --git a/src/Umbraco.Web.UI.Client/src/shared/repository/folder-repository.interface.ts b/src/Umbraco.Web.UI.Client/src/shared/repository/folder-repository.interface.ts index 3d9559bb2b..a16d32ae3d 100644 --- a/src/Umbraco.Web.UI.Client/src/shared/repository/folder-repository.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/shared/repository/folder-repository.interface.ts @@ -2,23 +2,23 @@ import type { CreateFolderRequestModel, FolderModelBaseModel, FolderReponseModel, - ProblemDetailsModel, + ProblemDetails, UpdateFolderReponseModel, } from '@umbraco-cms/backoffice/backend-api'; export interface UmbFolderRepository { createFolderScaffold(parentId: string | null): Promise<{ data?: FolderReponseModel; - error?: ProblemDetailsModel; + error?: ProblemDetails; }>; createFolder(folderRequest: CreateFolderRequestModel): Promise<{ data?: string; - error?: ProblemDetailsModel; + error?: ProblemDetails; }>; requestFolder(unique: string): Promise<{ data?: FolderReponseModel; - error?: ProblemDetailsModel; + error?: ProblemDetails; }>; updateFolder( @@ -26,10 +26,10 @@ export interface UmbFolderRepository { folder: FolderModelBaseModel ): Promise<{ data?: UpdateFolderReponseModel; - error?: ProblemDetailsModel; + error?: ProblemDetails; }>; deleteFolder(id: string): Promise<{ - error?: ProblemDetailsModel; + error?: ProblemDetails; }>; } diff --git a/src/Umbraco.Web.UI.Client/src/shared/repository/item-repository.interface.ts b/src/Umbraco.Web.UI.Client/src/shared/repository/item-repository.interface.ts index 68093be25c..c1e7a02cb1 100644 --- a/src/Umbraco.Web.UI.Client/src/shared/repository/item-repository.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/shared/repository/item-repository.interface.ts @@ -1,10 +1,10 @@ import type { Observable } from '@umbraco-cms/backoffice/external/rxjs'; -import { ItemResponseModelBaseModel, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { ItemResponseModelBaseModel, ProblemDetails } from '@umbraco-cms/backoffice/backend-api'; export interface UmbItemRepository { requestItems: (uniques: string[]) => Promise<{ data?: Array | undefined; - error?: ProblemDetailsModel | undefined; + error?: ProblemDetails | undefined; asObservable?: () => Observable>; }>; items: (uniques: string[]) => Promise>>; diff --git a/src/Umbraco.Web.UI.Client/src/shared/repository/tree-repository.interface.ts b/src/Umbraco.Web.UI.Client/src/shared/repository/tree-repository.interface.ts index b1924711bd..4fda292e92 100644 --- a/src/Umbraco.Web.UI.Client/src/shared/repository/tree-repository.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/shared/repository/tree-repository.interface.ts @@ -1,6 +1,6 @@ import type { Observable } from '@umbraco-cms/backoffice/external/rxjs'; import type { UmbTreeRootEntityModel, UmbTreeRootModel } from '@umbraco-cms/backoffice/tree'; -import { ProblemDetailsModel, EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { ProblemDetails, EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; export interface UmbPagedData { total: number; @@ -13,25 +13,25 @@ export interface UmbTreeRepository< > { requestTreeRoot: () => Promise<{ data?: TreeRootType; - error?: ProblemDetailsModel; + error?: ProblemDetails; }>; requestRootTreeItems: () => Promise<{ data?: UmbPagedData; - error?: ProblemDetailsModel; + error?: ProblemDetails; asObservable?: () => Observable; }>; requestTreeItemsOf: (parentUnique: string | null) => Promise<{ data?: UmbPagedData; - error?: ProblemDetailsModel; + error?: ProblemDetails; asObservable?: () => Observable; }>; // TODO: remove this when all repositories are migrated to the new interface items interface requestItemsLegacy?: (uniques: string[]) => Promise<{ data?: Array; - error?: ProblemDetailsModel; + error?: ProblemDetails; asObservable?: () => Observable; }>; diff --git a/src/Umbraco.Web.UI.Client/src/shared/resources/resource.controller.ts b/src/Umbraco.Web.UI.Client/src/shared/resources/resource.controller.ts index 63440f558b..fe11c93631 100644 --- a/src/Umbraco.Web.UI.Client/src/shared/resources/resource.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/shared/resources/resource.controller.ts @@ -65,7 +65,7 @@ export class UmbResourceController extends UmbBaseController { // Cancelled - do nothing return {}; } else { - // ApiError - body could hold a ProblemDetailsModel from the server + // ApiError - body could hold a ProblemDetails from the server if (typeof error.body !== 'undefined' && !!error.body) { try { (error as any).body = typeof error.body === 'string' ? JSON.parse(error.body) : error.body; diff --git a/src/Umbraco.Web.UI.Client/storybook/stories/extending/tree.mdx b/src/Umbraco.Web.UI.Client/storybook/stories/extending/tree.mdx index 43b7eedbd2..af8c97fc9e 100644 --- a/src/Umbraco.Web.UI.Client/storybook/stories/extending/tree.mdx +++ b/src/Umbraco.Web.UI.Client/storybook/stories/extending/tree.mdx @@ -111,7 +111,7 @@ export interface UmbTreeItemContext { requestChildren(): Promise<{ data: PagedResponse | undefined; - error: ProblemDetailsModel | undefined; + error: ProblemDetails | undefined; asObservable?: () => Observable; }>; toggleContextMenu(): void;