From 9ca24c3c22f1483f719013f36882eaf5a8955e66 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 11:30:52 +0200 Subject: [PATCH 001/134] add manifest model for external auth provider --- .../models/auth-provider.model.ts | 64 +++++++++++++++++++ .../core/extension-registry/models/index.ts | 5 +- 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts new file mode 100644 index 0000000000..e212a5208e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts @@ -0,0 +1,64 @@ +import type { ManifestElement } from '@umbraco-cms/backoffice/extension-api'; +import type { UUIInterfaceColor, UUIInterfaceLook } from '@umbraco-cms/backoffice/external/uui'; + +/** + * Represents an authentication provider that can be used to authenticate users. + * The provider needs to be registered in the API that the authorization request is sent to in order to be used. + * + * @see {forProviderName} for the provider name that this provider is for. + */ +export interface ManifestAuthProvider extends ManifestElement { + type: 'authProvider'; + + /** + * The provider name that this provider is for. + * @examples 'Umbraco.Github' + */ + forProviderName: string; + + meta?: MetaAuthProvider; +} + +export interface MetaAuthProvider { + /** + * The label of the provider that is shown to the user. + */ + label?: string; + + /** + * The default view of the provider that is shown to the user. + * If no element is provided, then the button will be rendered as a @see {UUIButtonElement} using these options. + */ + defaultView: { + /** + * The icon of the provider that is shown to the user. + * @examples ['icon-cloud', 'icon-github', 'icon-google', 'icon-facebook', 'icon-twitter', 'icon-x', 'icon-microsoft'] + * @default 'icon-cloud' + */ + icon?: string; + + /** + * The color of the provider that is shown to the user. + * @default 'secondary' + */ + color?: UUIInterfaceLook; + + /** + * The look of the provider that is shown to the user. + * @default 'default' + */ + look?: UUIInterfaceColor; + }; + + /** + * If true, the Umbraco backoffice login will be disabled. + * @default false + */ + denyLocalLogin?: boolean; + + /** + * If true, the user will be redirected to the provider's login page immediately. + * @default false + */ + autoRedirect?: boolean; +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts index bd329b9276..c6d951bd27 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts @@ -1,3 +1,4 @@ +import type { ManifestAuthProvider } from './auth-provider.model.js'; import type { ManifestBlockEditorCustomView } from './block-editor-custom-view.model.js'; import type { ManifestCollection } from './collection.models.js'; import type { ManifestCollectionView } from './collection-view.model.js'; @@ -64,6 +65,7 @@ import type { ManifestEntryPoint, } from '@umbraco-cms/backoffice/extension-api'; +export type * from './auth-provider.model.js'; export type * from './block-editor-custom-view.model.js'; export type * from './collection.models.js'; export type * from './collection-action.model.js'; @@ -131,12 +133,13 @@ export type ManifestWorkspaces = ManifestWorkspace | ManifestWorkspaceRoutableKi export type ManifestWorkspaceViews = ManifestWorkspaceView | ManifestWorkspaceViewContentTypeDesignEditorKind; export type ManifestTypes = + | ManifestAuthProvider | ManifestBundle - | ManifestCondition | ManifestBlockEditorCustomView | ManifestCollection | ManifestCollectionView | ManifestCollectionAction + | ManifestCondition | ManifestDashboard | ManifestDashboardCollection | ManifestDynamicRootOrigin From 090247d79078e290159f5c89372288c2722e5e91 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 11:45:06 +0200 Subject: [PATCH 002/134] add authProvider's to test it out --- .../src/mocks/handlers/manifests.handlers.ts | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts index e84f191d7f..3a37e7aec5 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts @@ -90,6 +90,32 @@ export const manifestDevelopmentHandler = rest.get(umbracoPath('/package/manifes }, ], }, + { + name: 'My Auth Package', + extensions: [ + { + type: 'authProvider', + alias: 'My.AuthProvider.Google', + name: 'My Custom Auth Provider', + forProviderName: 'Umbraco.Google', + meta: { + label: 'Sign in with Google', + }, + }, + { + type: 'authProvider', + alias: 'My.AUthProvider.Github', + name: 'My Github Auth Provider', + forProviderName: 'Umbraco.Github', + meta: { + label: 'Use Github!', + look: 'primary', + icon: 'icon-github', + color: 'success', + }, + }, + ], + }, ]), ); }); From 22e7742d47d500be5cc5f4a08cfc5dcc20761175 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 11:55:03 +0200 Subject: [PATCH 003/134] add support to supply an identity provider to the authorization request --- .../src/packages/core/auth/auth-flow.ts | 18 +++++++++++++----- .../src/packages/core/auth/auth.context.ts | 6 ++++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-flow.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-flow.ts index 4ced20b66d..01b20582f9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-flow.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-flow.ts @@ -187,15 +187,23 @@ export class UmbAuthFlow { } /** - * This method will make an authorization request to the server. + * Make an authorization request to the server using the specified identity provider. + * This method will redirect the user to the authorization endpoint of the server. * - * @param username The username to use for the authorization request. It will be provided to the OpenID server as a hint. + * @param identityProvider The identity provider to use for the authorization request. + * @param usernameHint (Optional) The username to use for the authorization request. It will be provided to the OpenID server as a hint. */ - makeAuthorizationRequest(username?: string): void { + makeAuthorizationRequest(identityProvider: string, usernameHint?: string): void { const extras: StringMap = { prompt: 'consent', access_type: 'offline' }; - if (username) { - extras['login_hint'] = username; + // If the identity provider is not 'Umbraco', we will add it to the extras. + if (identityProvider !== 'Umbraco') { + extras['identity_provider'] = identityProvider; + } + + // If there is a username hint, we will add it to the extras. + if (usernameHint) { + extras['login_hint'] = usernameHint; } // create a request diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts index f457655b18..f5a64ff438 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts @@ -26,9 +26,11 @@ export class UmbAuthContext extends UmbContextBase { /** * Initiates the login flow. + * @param identityProvider The provider to use for login. Default is 'Umbraco'. + * @param usernameHint The username hint to use for login. */ - makeAuthorizationRequest() { - return this.#authFlow.makeAuthorizationRequest(); + makeAuthorizationRequest(identityProvider = 'Umbraco', usernameHint?: string) { + return this.#authFlow.makeAuthorizationRequest(identityProvider, usernameHint); } /** From 762368c3a6a5f5c62ba44569eb976b9009ad18c1 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 12:03:15 +0200 Subject: [PATCH 004/134] move auth request logic to an auth controller to split up the logic --- .../src/apps/app/app-auth.controller.ts | 9 +++++++++ src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts new file mode 100644 index 0000000000..fdc4c6cb35 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -0,0 +1,9 @@ +import { UMB_AUTH_CONTEXT } from '@umbraco-cms/backoffice/auth'; +import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; + +export class UmbAppAuthController extends UmbControllerBase { + async makeAuthorizationRequest() { + const authContext = await this.getContext(UMB_AUTH_CONTEXT); + return authContext.makeAuthorizationRequest(); + } +} diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index d104ccab6c..89ab404a0f 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -1,6 +1,7 @@ import type { UmbAppErrorElement } from './app-error.element.js'; import { UmbAppContext } from './app.context.js'; import { UmbServerConnection } from './server-connection.js'; +import { UmbAppAuthController } from './app-auth.controller.js'; import type { UMB_AUTH_CONTEXT } from '@umbraco-cms/backoffice/auth'; import { UMB_STORAGE_REDIRECT_URL, UmbAuthContext } from '@umbraco-cms/backoffice/auth'; import { css, html, customElement, property } from '@umbraco-cms/backoffice/external/lit'; @@ -59,6 +60,7 @@ export class UmbAppElement extends UmbLitElement { #umbIconRegistry = new UmbIconRegistry(); #uuiIconRegistry = new UUIIconRegistryEssential(); #serverConnection?: UmbServerConnection; + #authController = new UmbAppAuthController(this); constructor() { super(); @@ -184,7 +186,7 @@ export class UmbAppElement extends UmbLitElement { } #isAuthorizedGuard(): Guard { - return () => { + return async () => { if (!this.#authContext) { throw new Error('[Fatal] AuthContext requested before it was initialized'); } @@ -197,7 +199,7 @@ export class UmbAppElement extends UmbLitElement { window.sessionStorage.setItem(UMB_STORAGE_REDIRECT_URL, location.href); // Make a request to the auth server to start the auth flow - this.#authContext.makeAuthorizationRequest(); + await this.#authController.makeAuthorizationRequest(); // Return false to prevent the route from being rendered return false; From 6dc10747cd1a6df818b07bf7b6250da1ca913d32 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 Apr 2024 13:58:02 +0200 Subject: [PATCH 005/134] generate new server models --- .../src/external/backend-api/src/index.ts | 78 +------------------ .../src/models/AllowedContentTypeModel.ts | 12 --- .../src/models/AllowedDocumentTypeModel.ts | 9 ++- .../src/models/AllowedMediaTypeModel.ts | 9 ++- .../src/models/AuditLogBaseModel.ts | 18 ----- .../src/models/AuditLogResponseModel.ts | 13 +++- .../AuditLogWithUsernameResponseModel.ts | 14 +++- ...ntTypeCompositionResponseModelBaseModel.ts | 13 ---- ...bleDocumentTypeCompositionResponseModel.ts | 10 ++- ...ilableMediaTypeCompositionResponseModel.ts | 10 ++- ...lableMemberTypeCompositionResponseModel.ts | 10 ++- .../ChangePasswordCurrentUserRequestModel.ts | 7 +- ...tValueModelDocumentVariantResponseModel.ts | 16 ---- ...ediaValueModelMediaVariantResponseModel.ts | 16 ---- .../models/ContentForDocumentResponseModel.ts | 16 ---- .../models/ContentForMediaResponseModel.ts | 14 ---- .../models/ContentForMemberResponseModel.ts | 14 ---- .../models/ContentTreeItemResponseModel.ts | 15 ---- .../src/models/ContentTypeCleanupBaseModel.ts | 11 --- ...llectionReferenceResponseModelBaseModel.ts | 11 --- ...entTypeCompositionRequestModelBaseModel.ts | 11 --- ...ntTypeCompositionResponseModelBaseModel.ts | 11 --- ...ContentTypeForDocumentTypeResponseModel.ts | 24 ------ .../ContentTypeForMediaTypeResponseModel.ts | 24 ------ .../ContentTypeForMemberTypeResponseModel.ts | 24 ------ ...tentTypeReferenceResponseModelBaseModel.ts | 13 ---- .../src/models/ContentUrlInfoBaseModel.ts | 10 --- .../src/models/CopyDataTypeRequestModel.ts | 2 +- .../src/models/CopyDocumentRequestModel.ts | 2 +- .../models/CopyDocumentTypeRequestModel.ts | 2 +- .../src/models/CopyMediaTypeRequestModel.ts | 2 +- .../CreateContentForDocumentRequestModel.ts | 17 ---- .../CreateContentForMediaRequestModel.ts | 16 ---- .../CreateContentForMemberRequestModel.ts | 14 ---- ...eContentTypeForDocumentTypeRequestModel.ts | 25 ------ ...eateContentTypeForMediaTypeRequestModel.ts | 25 ------ ...ateContentTypeForMemberTypeRequestModel.ts | 24 ------ .../src/models/CreateDataTypeRequestModel.ts | 12 ++- .../CreateDictionaryItemRequestModel.ts | 10 ++- ...cumentBlueprintFromDocumentRequestModel.ts | 2 +- .../CreateDocumentBlueprintRequestModel.ts | 12 ++- .../src/models/CreateDocumentRequestModel.ts | 14 +++- ...ntTypePropertyTypeContainerRequestModel.ts | 10 ++- ...ateDocumentTypePropertyTypeRequestModel.ts | 18 ++++- .../models/CreateDocumentTypeRequestModel.ts | 22 +++++- .../src/models/CreateFolderRequestModel.ts | 8 +- .../CreateInitialPasswordUserRequestModel.ts | 8 +- .../src/models/CreateLanguageRequestModel.ts | 10 ++- .../src/models/CreateMediaRequestModel.ts | 11 ++- ...iaTypePropertyTypeContainerRequestModel.ts | 10 ++- ...CreateMediaTypePropertyTypeRequestModel.ts | 18 ++++- .../src/models/CreateMediaTypeRequestModel.ts | 21 ++++- .../models/CreateMemberGroupRequestModel.ts | 7 +- .../src/models/CreateMemberRequestModel.ts | 10 ++- ...erTypePropertyTypeContainerRequestModel.ts | 10 ++- ...reateMemberTypePropertyTypeRequestModel.ts | 21 ++++- .../models/CreateMemberTypeRequestModel.ts | 20 ++++- .../src/models/CreatePackageRequestModel.ts | 19 ++++- .../CreatePartialViewFolderRequestModel.ts | 7 +- .../models/CreatePartialViewRequestModel.ts | 8 +- .../models/CreateScriptFolderRequestModel.ts | 7 +- .../src/models/CreateScriptRequestModel.ts | 8 +- .../CreateStylesheetFolderRequestModel.ts | 7 +- .../models/CreateStylesheetRequestModel.ts | 8 +- .../src/models/CreateTemplateRequestModel.ts | 9 ++- .../src/models/CreateUserGroupRequestModel.ts | 18 ++++- .../src/models/CreateUserRequestModel.ts | 10 ++- .../src/models/CreateWebhookRequestModel.ts | 10 ++- .../models/CultureAndScheduleRequestModel.ts | 2 +- .../src/models/DataTypeItemResponseModel.ts | 8 +- .../src/models/DataTypeModelBaseModel.ts | 14 ---- .../src/models/DataTypeResponseModel.ts | 10 ++- .../models/DataTypeTreeItemResponseModel.ts | 11 ++- .../DatabaseInstallPresentationModel.ts | 17 ---- .../src/models/DatabaseInstallRequestModel.ts | 14 +++- .../models/DictionaryItemItemResponseModel.ts | 7 +- .../models/DictionaryItemModelBaseModel.ts | 12 --- .../src/models/DictionaryItemResponseModel.ts | 8 +- .../models/DictionaryOverviewResponseModel.ts | 2 +- .../DocumentBlueprintItemResponseModel.ts | 7 +- .../models/DocumentBlueprintResponseModel.ts | 11 ++- .../DocumentBlueprintTreeItemResponseModel.ts | 10 ++- .../models/DocumentCollectionResponseModel.ts | 12 ++- .../src/models/DocumentItemResponseModel.ts | 6 +- .../DocumentPermissionPresentationModel.ts | 1 - .../DocumentRecycleBinItemResponseModel.ts | 9 ++- .../src/models/DocumentResponseModel.ts | 14 +++- .../models/DocumentTreeItemResponseModel.ts | 11 ++- .../src/models/DocumentTypeCleanupModel.ts | 8 +- ...entTypeCollectionReferenceResponseModel.ts | 8 +- .../DocumentTypeCompositionRequestModel.ts | 9 ++- .../DocumentTypeCompositionResponseModel.ts | 8 +- .../models/DocumentTypeItemResponseModel.ts | 8 +- ...tTypePropertyTypeContainerResponseModel.ts | 10 ++- .../DocumentTypePropertyTypeResponseModel.ts | 18 ++++- .../DocumentTypeReferenceResponseModel.ts | 8 +- .../src/models/DocumentTypeResponseModel.ts | 21 ++++- .../DocumentTypeTreeItemResponseModel.ts | 11 ++- .../src/models/DocumentUrlInfoModel.ts | 7 +- .../src/models/DocumentValueModel.ts | 9 ++- .../DocumentVariantItemResponseModel.ts | 7 +- .../src/models/DocumentVariantRequestModel.ts | 8 +- .../models/DocumentVariantResponseModel.ts | 10 ++- .../models/DocumentVersionResponseModel.ts | 14 +++- .../DomainsPresentationModelBaseModel.ts | 12 --- .../src/models/DomainsResponseModel.ts | 7 +- .../src/models/EntityTreeItemResponseModel.ts | 13 ---- .../FileSystemCreateRequestModelBaseModel.ts | 12 --- ...leSystemFileCreateRequestModelBaseModel.ts | 13 ---- .../FileSystemFileResponseModelBaseModel.ts | 14 ---- ...leSystemFileUpdateRequestModelBaseModel.ts | 9 --- .../src/models/FileSystemFolderModel.ts | 6 +- .../FileSystemItemResponseModelBaseModel.ts | 14 ---- .../FileSystemItemViewModelBaseModel.ts | 9 --- .../FileSystemRenameRequestModelBaseModel.ts | 9 --- .../FileSystemResponseModelBaseModel.ts | 13 ---- .../FileSystemTreeItemPresentationModel.ts | 8 +- .../src/models/FolderModelBaseModel.ts | 9 --- .../src/models/FolderResponseModel.ts | 7 +- .../src/models/FolderTreeItemResponseModel.ts | 11 --- .../HealthCheckGroupPresentationBaseModel.ts | 9 --- .../HealthCheckGroupPresentationModel.ts | 6 +- .../models/HealthCheckGroupResponseModel.ts | 6 +- .../src/models/HealthCheckModel.ts | 7 +- .../src/models/HealthCheckModelBaseModel.ts | 9 --- .../HealthCheckWithResultPresentationModel.ts | 6 +- .../models/ImportDictionaryRequestModel.ts | 2 +- .../src/models/InstallRequestModel.ts | 7 +- .../src/models/InviteUserRequestModel.ts | 11 ++- .../src/models/ItemResponseModelBaseModel.ts | 9 --- .../src/models/LanguageModelBaseModel.ts | 12 --- .../src/models/LanguageResponseModel.ts | 10 ++- .../models/MediaCollectionResponseModel.ts | 12 ++- .../src/models/MediaItemResponseModel.ts | 6 +- .../MediaRecycleBinItemResponseModel.ts | 9 ++- .../src/models/MediaResponseModel.ts | 10 ++- .../src/models/MediaTreeItemResponseModel.ts | 11 ++- ...diaTypeCollectionReferenceResponseModel.ts | 8 +- .../MediaTypeCompositionRequestModel.ts | 8 +- .../MediaTypeCompositionResponseModel.ts | 8 +- .../src/models/MediaTypeItemResponseModel.ts | 8 +- ...aTypePropertyTypeContainerResponseModel.ts | 10 ++- .../MediaTypePropertyTypeResponseModel.ts | 18 ++++- .../models/MediaTypeReferenceResponseModel.ts | 8 +- .../src/models/MediaTypeResponseModel.ts | 20 ++++- .../models/MediaTypeTreeItemResponseModel.ts | 11 ++- .../src/models/MediaUrlInfoModel.ts | 7 +- .../backend-api/src/models/MediaValueModel.ts | 9 ++- .../src/models/MediaVariantRequestModel.ts | 8 +- .../src/models/MediaVariantResponseModel.ts | 10 ++- .../models/MemberGroupItemResponseModel.ts | 7 +- .../MemberGroupPresentationBaseModel.ts | 9 --- .../src/models/MemberGroupResponseModel.ts | 7 +- .../src/models/MemberItemResponseModel.ts | 6 +- .../src/models/MemberResponseModel.ts | 10 ++- .../MemberTypeCompositionRequestModel.ts | 8 +- .../MemberTypeCompositionResponseModel.ts | 8 +- .../src/models/MemberTypeItemResponseModel.ts | 8 +- ...rTypePropertyTypeContainerResponseModel.ts | 10 ++- .../MemberTypePropertyTypeModelBaseModel.ts | 26 ------- .../MemberTypePropertyTypeResponseModel.ts | 21 ++++- .../MemberTypeReferenceResponseModel.ts | 8 +- .../src/models/MemberTypeResponseModel.ts | 20 ++++- .../src/models/MemberValueModel.ts | 9 ++- .../src/models/MemberVariantRequestModel.ts | 8 +- .../src/models/MemberVariantResponseModel.ts | 10 ++- .../src/models/MoveDataTypeRequestModel.ts | 2 +- .../src/models/MoveDictionaryRequestModel.ts | 2 +- .../src/models/MoveDocumentRequestModel.ts | 2 +- .../models/MoveDocumentTypeRequestModel.ts | 2 +- .../src/models/MoveMediaRequestModel.ts | 2 +- .../src/models/MoveMediaTypeRequestModel.ts | 2 +- .../NamedEntityTreeItemResponseModel.ts | 9 ++- .../models/NamedItemResponseModelBaseModel.ts | 10 --- .../backend-api/src/models/OkResult.ts | 9 --- .../models/PackageDefinitionResponseModel.ts | 20 ++++- .../src/models/PackageModelBaseModel.ts | 22 ------ .../PagedNamedEntityTreeItemResponseModel.ts | 8 +- ...agedPartialViewSnippetItemResponseModel.ts | 3 +- .../models/PartialViewFolderResponseModel.ts | 8 +- .../models/PartialViewItemResponseModel.ts | 9 ++- .../src/models/PartialViewResponseModel.ts | 9 ++- .../models/PartialViewSnippetResponseModel.ts | 8 +- .../PropertyTypeContainerModelBaseModel.ts | 15 ---- .../src/models/PropertyTypeModelBaseModel.ts | 23 ------ .../src/models/PublicAccessBaseModel.ts | 12 --- .../src/models/PublicAccessRequestModel.ts | 8 +- .../src/models/PublicAccessResponseModel.ts | 14 ---- .../RecycleBinItemResponseModelBaseModel.ts | 13 ---- .../src/models/RelationTypeBaseModel.ts | 11 --- .../models/RelationTypeItemResponseModel.ts | 8 +- .../src/models/RelationTypeResponseModel.ts | 12 +-- .../RelationTypeTreeItemResponseModel.ts | 11 --- .../models/RenamePartialViewRequestModel.ts | 6 +- .../src/models/RenameScriptRequestModel.ts | 6 +- .../models/RenameStylesheetRequestModel.ts | 6 +- .../models/ResetPasswordTokenRequestModel.ts | 8 +- .../SavedLogSearchPresenationBaseModel.ts | 10 --- .../src/models/SavedLogSearchRequestModel.ts | 7 +- .../src/models/SavedLogSearchResponseModel.ts | 7 +- .../src/models/ScriptFolderResponseModel.ts | 8 +- .../src/models/ScriptItemResponseModel.ts | 9 ++- .../src/models/ScriptResponseModel.ts | 9 ++- .../models/ServerConfigurationBaseModel.ts | 11 --- .../ServerTroubleshootingResponseModel.ts | 6 +- .../src/models/SetTourStatusRequestModel.ts | 8 +- .../src/models/SortingRequestModel.ts | 2 +- .../src/models/StaticFileItemResponseModel.ts | 9 ++- .../models/StylesheetFolderResponseModel.ts | 8 +- .../src/models/StylesheetItemResponseModel.ts | 9 ++- .../src/models/StylesheetResponseModel.ts | 9 ++- .../TelemetryRepresentationBaseModel.ts | 11 --- .../src/models/TelemetryRequestModel.ts | 6 +- .../src/models/TelemetryResponseModel.ts | 6 +- .../src/models/TemplateItemResponseModel.ts | 8 +- .../src/models/TemplateModelBaseModel.ts | 11 --- .../src/models/TemplateQueryExecuteModel.ts | 4 +- .../src/models/TemplateResponseModel.ts | 10 ++- .../TrackedReferenceContentTypeModel.ts | 11 --- .../TrackedReferenceDocumentTypeModel.ts | 8 +- .../models/TrackedReferenceMediaTypeModel.ts | 8 +- .../src/models/TreeItemPresentationModel.ts | 9 --- .../UnknownTypePermissionPresentationModel.ts | 1 - .../UpdateContentForDocumentRequestModel.ts | 13 ---- .../UpdateContentForMediaRequestModel.ts | 13 ---- .../UpdateContentForMemberRequestModel.ts | 13 ---- ...eContentTypeForDocumentTypeRequestModel.ts | 23 ------ ...dateContentTypeForMediaTypeRequestModel.ts | 23 ------ ...ateContentTypeForMemberTypeRequestModel.ts | 23 ------ .../src/models/UpdateDataTypeRequestModel.ts | 9 ++- .../UpdateDictionaryItemRequestModel.ts | 7 +- .../UpdateDocumentBlueprintRequestModel.ts | 8 +- .../src/models/UpdateDocumentRequestModel.ts | 11 ++- ...ntTypePropertyTypeContainerRequestModel.ts | 10 ++- ...ateDocumentTypePropertyTypeRequestModel.ts | 18 ++++- .../models/UpdateDocumentTypeRequestModel.ts | 20 ++++- .../src/models/UpdateDomainsRequestModel.ts | 7 +- .../src/models/UpdateFolderResponseModel.ts | 6 +- .../src/models/UpdateLanguageRequestModel.ts | 9 ++- .../src/models/UpdateMediaRequestModel.ts | 8 +- ...iaTypePropertyTypeContainerRequestModel.ts | 10 ++- ...UpdateMediaTypePropertyTypeRequestModel.ts | 18 ++++- .../src/models/UpdateMediaTypeRequestModel.ts | 19 ++++- .../models/UpdateMemberGroupRequestModel.ts | 6 +- .../src/models/UpdateMemberRequestModel.ts | 9 ++- ...erTypePropertyTypeContainerRequestModel.ts | 10 ++- ...pdateMemberTypePropertyTypeRequestModel.ts | 21 ++++- .../models/UpdateMemberTypeRequestModel.ts | 19 ++++- .../src/models/UpdatePackageRequestModel.ts | 20 ++++- .../models/UpdatePartialViewRequestModel.ts | 6 +- .../src/models/UpdateScriptRequestModel.ts | 6 +- .../models/UpdateStylesheetRequestModel.ts | 6 +- .../src/models/UpdateTemplateRequestModel.ts | 8 +- .../src/models/UpdateUserGroupRequestModel.ts | 18 ++++- .../src/models/UpdateUserRequestModel.ts | 10 ++- .../src/models/UpdateWebhookRequestModel.ts | 10 ++- .../src/models/UserGroupBaseModel.ts | 23 ------ .../src/models/UserGroupItemResponseModel.ts | 8 +- .../src/models/UserGroupResponseModel.ts | 19 ++++- ...ionModel.ts => UserInstallRequestModel.ts} | 2 +- .../src/models/UserItemResponseModel.ts | 7 +- .../src/models/UserPresentationBaseModel.ts | 12 --- .../src/models/UserResponseModel.ts | 9 ++- .../models/UserTourStatusesResponseModel.ts | 3 +- .../src/models/ValueModelBaseModel.ts | 12 --- .../src/models/VariantItemResponseModel.ts | 7 +- .../VariantItemResponseModelBaseModel.ts | 10 --- .../src/models/VariantModelBaseModel.ts | 11 --- .../models/VariantResponseModelBaseModel.ts | 13 ---- .../models/VerifyInviteUserResponseModel.ts | 11 +++ .../VerifyResetPasswordResponseModel.ts | 11 +++ .../src/models/WebhookModelBaseModel.ts | 12 --- .../src/models/WebhookResponseModel.ts | 9 ++- .../src/services/DataTypeResource.ts | 12 +-- .../src/services/DictionaryResource.ts | 14 +--- .../src/services/DocumentBlueprintResource.ts | 4 +- .../src/services/DocumentResource.ts | 19 ++--- .../src/services/DocumentTypeResource.ts | 14 ++-- .../src/services/DocumentVersionResource.ts | 2 +- .../src/services/DynamicRootResource.ts | 2 +- .../src/services/HealthCheckResource.ts | 6 +- .../src/services/IndexerResource.ts | 8 +- .../src/services/InstallResource.ts | 2 +- .../src/services/LanguageResource.ts | 4 +- .../src/services/LogViewerResource.ts | 4 +- .../backend-api/src/services/MediaResource.ts | 10 +-- .../src/services/MediaTypeResource.ts | 12 +-- .../src/services/MemberGroupResource.ts | 8 +- .../src/services/MemberResource.ts | 6 +- .../src/services/MemberTypeResource.ts | 8 +- .../src/services/ModelsBuilderResource.ts | 4 +- .../src/services/PackageResource.ts | 8 +- .../src/services/PartialViewResource.ts | 10 +-- .../src/services/ProfilingResource.ts | 2 +- .../services/RedirectManagementResource.ts | 2 +- .../src/services/RelationTypeResource.ts | 4 +- .../src/services/ScriptResource.ts | 8 +- .../src/services/SecurityResource.ts | 9 ++- .../src/services/ServerResource.ts | 8 +- .../src/services/StaticFileResource.ts | 4 +- .../src/services/StylesheetResource.ts | 8 +- .../src/services/TelemetryResource.ts | 2 +- .../src/services/TemplateResource.ts | 20 ++--- .../src/services/TemporaryFileResource.ts | 4 +- .../backend-api/src/services/TourResource.ts | 2 +- .../src/services/UpgradeResource.ts | 2 +- .../src/services/UserGroupResource.ts | 4 +- .../backend-api/src/services/UserResource.ts | 37 +++++---- .../src/services/WebhookResource.ts | 4 +- 309 files changed, 1437 insertions(+), 1814 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedContentTypeModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableContentTypeCompositionResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForDocumentResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForMediaResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForMemberResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTreeItemResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCleanupBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCollectionReferenceResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCompositionRequestModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCompositionResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForDocumentTypeResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForMediaTypeResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForMemberTypeResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeReferenceResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentUrlInfoBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForDocumentRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForMediaRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForMemberRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForDocumentTypeRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForMediaTypeRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForMemberTypeRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DatabaseInstallPresentationModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DomainsPresentationModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/EntityTreeItemResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemCreateRequestModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileCreateRequestModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileUpdateRequestModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemItemResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemItemViewModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemRenameRequestModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderTreeItemResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupPresentationBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ItemResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/LanguageModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupPresentationBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedItemResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/OkResult.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PropertyTypeContainerModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PropertyTypeModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RecycleBinItemResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeTreeItemResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchPresenationBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ServerConfigurationBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryRepresentationBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceContentTypeModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TreeItemPresentationModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForDocumentRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForMediaRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForMemberRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForDocumentTypeRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForMediaTypeRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForMemberTypeRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupBaseModel.ts rename src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/{UserInstallPresentationModel.ts => UserInstallRequestModel.ts} (84%) delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserPresentationBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ValueModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantItemResponseModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantModelBaseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantResponseModelBaseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyInviteUserResponseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordResponseModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/WebhookModelBaseModel.ts diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts index 2c78b0aa5e..1c8b628c5e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts @@ -7,15 +7,12 @@ export { CancelablePromise, CancelError } from './core/CancelablePromise'; export { OpenAPI } from './core/OpenAPI'; export type { OpenAPIConfig } from './core/OpenAPI'; -export type { AllowedContentTypeModel } from './models/AllowedContentTypeModel'; export type { AllowedDocumentTypeModel } from './models/AllowedDocumentTypeModel'; export type { AllowedMediaTypeModel } from './models/AllowedMediaTypeModel'; -export type { AuditLogBaseModel } from './models/AuditLogBaseModel'; export type { AuditLogEntityModel } from './models/AuditLogEntityModel'; export type { AuditLogResponseModel } from './models/AuditLogResponseModel'; export type { AuditLogWithUsernameResponseModel } from './models/AuditLogWithUsernameResponseModel'; export { AuditTypeModel } from './models/AuditTypeModel'; -export type { AvailableContentTypeCompositionResponseModelBaseModel } from './models/AvailableContentTypeCompositionResponseModelBaseModel'; export type { AvailableDocumentTypeCompositionResponseModel } from './models/AvailableDocumentTypeCompositionResponseModel'; export type { AvailableMediaTypeCompositionResponseModel } from './models/AvailableMediaTypeCompositionResponseModel'; export type { AvailableMemberTypeCompositionResponseModel } from './models/AvailableMemberTypeCompositionResponseModel'; @@ -23,31 +20,10 @@ export type { ChangePasswordCurrentUserRequestModel } from './models/ChangePassw export type { ChangePasswordUserRequestModel } from './models/ChangePasswordUserRequestModel'; export { CompositionTypeModel } from './models/CompositionTypeModel'; export type { ConsentLevelPresentationModel } from './models/ConsentLevelPresentationModel'; -export type { ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel } from './models/ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel'; -export type { ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel } from './models/ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel'; -export type { ContentForDocumentResponseModel } from './models/ContentForDocumentResponseModel'; -export type { ContentForMediaResponseModel } from './models/ContentForMediaResponseModel'; -export type { ContentForMemberResponseModel } from './models/ContentForMemberResponseModel'; -export type { ContentTreeItemResponseModel } from './models/ContentTreeItemResponseModel'; -export type { ContentTypeCleanupBaseModel } from './models/ContentTypeCleanupBaseModel'; -export type { ContentTypeCollectionReferenceResponseModelBaseModel } from './models/ContentTypeCollectionReferenceResponseModelBaseModel'; -export type { ContentTypeCompositionRequestModelBaseModel } from './models/ContentTypeCompositionRequestModelBaseModel'; -export type { ContentTypeCompositionResponseModelBaseModel } from './models/ContentTypeCompositionResponseModelBaseModel'; -export type { ContentTypeForDocumentTypeResponseModel } from './models/ContentTypeForDocumentTypeResponseModel'; -export type { ContentTypeForMediaTypeResponseModel } from './models/ContentTypeForMediaTypeResponseModel'; -export type { ContentTypeForMemberTypeResponseModel } from './models/ContentTypeForMemberTypeResponseModel'; -export type { ContentTypeReferenceResponseModelBaseModel } from './models/ContentTypeReferenceResponseModelBaseModel'; -export type { ContentUrlInfoBaseModel } from './models/ContentUrlInfoBaseModel'; export type { CopyDataTypeRequestModel } from './models/CopyDataTypeRequestModel'; export type { CopyDocumentRequestModel } from './models/CopyDocumentRequestModel'; export type { CopyDocumentTypeRequestModel } from './models/CopyDocumentTypeRequestModel'; export type { CopyMediaTypeRequestModel } from './models/CopyMediaTypeRequestModel'; -export type { CreateContentForDocumentRequestModel } from './models/CreateContentForDocumentRequestModel'; -export type { CreateContentForMediaRequestModel } from './models/CreateContentForMediaRequestModel'; -export type { CreateContentForMemberRequestModel } from './models/CreateContentForMemberRequestModel'; -export type { CreateContentTypeForDocumentTypeRequestModel } from './models/CreateContentTypeForDocumentTypeRequestModel'; -export type { CreateContentTypeForMediaTypeRequestModel } from './models/CreateContentTypeForMediaTypeRequestModel'; -export type { CreateContentTypeForMemberTypeRequestModel } from './models/CreateContentTypeForMemberTypeRequestModel'; export type { CreateDataTypeRequestModel } from './models/CreateDataTypeRequestModel'; export type { CreateDictionaryItemRequestModel } from './models/CreateDictionaryItemRequestModel'; export type { CreateDocumentBlueprintFromDocumentRequestModel } from './models/CreateDocumentBlueprintFromDocumentRequestModel'; @@ -83,13 +59,11 @@ export type { CultureAndScheduleRequestModel } from './models/CultureAndSchedule export type { CultureReponseModel } from './models/CultureReponseModel'; export type { CurrentUserResponseModel } from './models/CurrentUserResponseModel'; export type { CurrenUserConfigurationResponseModel } from './models/CurrenUserConfigurationResponseModel'; -export type { DatabaseInstallPresentationModel } from './models/DatabaseInstallPresentationModel'; export type { DatabaseInstallRequestModel } from './models/DatabaseInstallRequestModel'; export type { DatabaseSettingsPresentationModel } from './models/DatabaseSettingsPresentationModel'; export { DataTypeChangeModeModel } from './models/DataTypeChangeModeModel'; export type { DatatypeConfigurationResponseModel } from './models/DatatypeConfigurationResponseModel'; export type { DataTypeItemResponseModel } from './models/DataTypeItemResponseModel'; -export type { DataTypeModelBaseModel } from './models/DataTypeModelBaseModel'; export type { DataTypePropertyPresentationModel } from './models/DataTypePropertyPresentationModel'; export type { DataTypePropertyReferenceModel } from './models/DataTypePropertyReferenceModel'; export type { DataTypeReferenceResponseModel } from './models/DataTypeReferenceResponseModel'; @@ -99,7 +73,6 @@ export type { DefaultReferenceResponseModel } from './models/DefaultReferenceRes export type { DeleteUserGroupsRequestModel } from './models/DeleteUserGroupsRequestModel'; export type { DeleteUsersRequestModel } from './models/DeleteUsersRequestModel'; export type { DictionaryItemItemResponseModel } from './models/DictionaryItemItemResponseModel'; -export type { DictionaryItemModelBaseModel } from './models/DictionaryItemModelBaseModel'; export type { DictionaryItemResponseModel } from './models/DictionaryItemResponseModel'; export type { DictionaryItemTranslationModel } from './models/DictionaryItemTranslationModel'; export type { DictionaryOverviewResponseModel } from './models/DictionaryOverviewResponseModel'; @@ -139,7 +112,6 @@ export { DocumentVariantStateModel } from './models/DocumentVariantStateModel'; export type { DocumentVersionItemResponseModel } from './models/DocumentVersionItemResponseModel'; export type { DocumentVersionResponseModel } from './models/DocumentVersionResponseModel'; export type { DomainPresentationModel } from './models/DomainPresentationModel'; -export type { DomainsPresentationModelBaseModel } from './models/DomainsPresentationModelBaseModel'; export type { DomainsResponseModel } from './models/DomainsResponseModel'; export type { DynamicRootContextRequestModel } from './models/DynamicRootContextRequestModel'; export type { DynamicRootQueryOriginRequestModel } from './models/DynamicRootQueryOriginRequestModel'; @@ -149,29 +121,16 @@ export type { DynamicRootRequestModel } from './models/DynamicRootRequestModel'; export type { DynamicRootResponseModel } from './models/DynamicRootResponseModel'; export type { EnableTwoFactorRequestModel } from './models/EnableTwoFactorRequestModel'; export type { EnableUserRequestModel } from './models/EnableUserRequestModel'; -export type { EntityTreeItemResponseModel } from './models/EntityTreeItemResponseModel'; export { EventMessageTypeModel } from './models/EventMessageTypeModel'; export type { FieldPresentationModel } from './models/FieldPresentationModel'; -export type { FileSystemCreateRequestModelBaseModel } from './models/FileSystemCreateRequestModelBaseModel'; -export type { FileSystemFileCreateRequestModelBaseModel } from './models/FileSystemFileCreateRequestModelBaseModel'; -export type { FileSystemFileResponseModelBaseModel } from './models/FileSystemFileResponseModelBaseModel'; -export type { FileSystemFileUpdateRequestModelBaseModel } from './models/FileSystemFileUpdateRequestModelBaseModel'; export type { FileSystemFolderModel } from './models/FileSystemFolderModel'; -export type { FileSystemItemResponseModelBaseModel } from './models/FileSystemItemResponseModelBaseModel'; -export type { FileSystemItemViewModelBaseModel } from './models/FileSystemItemViewModelBaseModel'; -export type { FileSystemRenameRequestModelBaseModel } from './models/FileSystemRenameRequestModelBaseModel'; -export type { FileSystemResponseModelBaseModel } from './models/FileSystemResponseModelBaseModel'; export type { FileSystemTreeItemPresentationModel } from './models/FileSystemTreeItemPresentationModel'; -export type { FolderModelBaseModel } from './models/FolderModelBaseModel'; export type { FolderResponseModel } from './models/FolderResponseModel'; -export type { FolderTreeItemResponseModel } from './models/FolderTreeItemResponseModel'; export type { HealthCheckActionRequestModel } from './models/HealthCheckActionRequestModel'; -export type { HealthCheckGroupPresentationBaseModel } from './models/HealthCheckGroupPresentationBaseModel'; export type { HealthCheckGroupPresentationModel } from './models/HealthCheckGroupPresentationModel'; export type { HealthCheckGroupResponseModel } from './models/HealthCheckGroupResponseModel'; export type { HealthCheckGroupWithResultResponseModel } from './models/HealthCheckGroupWithResultResponseModel'; export type { HealthCheckModel } from './models/HealthCheckModel'; -export type { HealthCheckModelBaseModel } from './models/HealthCheckModelBaseModel'; export type { HealthCheckResultResponseModel } from './models/HealthCheckResultResponseModel'; export type { HealthCheckWithResultPresentationModel } from './models/HealthCheckWithResultPresentationModel'; export { HealthStatusModel } from './models/HealthStatusModel'; @@ -182,10 +141,8 @@ export type { InstallRequestModel } from './models/InstallRequestModel'; export type { InstallSettingsResponseModel } from './models/InstallSettingsResponseModel'; export type { InviteUserRequestModel } from './models/InviteUserRequestModel'; export type { ItemReferenceByIdResponseModel } from './models/ItemReferenceByIdResponseModel'; -export type { ItemResponseModelBaseModel } from './models/ItemResponseModelBaseModel'; export type { ItemSortingRequestModel } from './models/ItemSortingRequestModel'; export type { LanguageItemResponseModel } from './models/LanguageItemResponseModel'; -export type { LanguageModelBaseModel } from './models/LanguageModelBaseModel'; export type { LanguageResponseModel } from './models/LanguageResponseModel'; export type { LinkedLoginModel } from './models/LinkedLoginModel'; export type { LinkedLoginsRequestModel } from './models/LinkedLoginsRequestModel'; @@ -219,7 +176,6 @@ export type { MediaVariantRequestModel } from './models/MediaVariantRequestModel export type { MediaVariantResponseModel } from './models/MediaVariantResponseModel'; export type { MemberConfigurationResponseModel } from './models/MemberConfigurationResponseModel'; export type { MemberGroupItemResponseModel } from './models/MemberGroupItemResponseModel'; -export type { MemberGroupPresentationBaseModel } from './models/MemberGroupPresentationBaseModel'; export type { MemberGroupResponseModel } from './models/MemberGroupResponseModel'; export type { MemberItemResponseModel } from './models/MemberItemResponseModel'; export type { MemberResponseModel } from './models/MemberResponseModel'; @@ -228,7 +184,6 @@ export type { MemberTypeCompositionRequestModel } from './models/MemberTypeCompo export type { MemberTypeCompositionResponseModel } from './models/MemberTypeCompositionResponseModel'; export type { MemberTypeItemResponseModel } from './models/MemberTypeItemResponseModel'; export type { MemberTypePropertyTypeContainerResponseModel } from './models/MemberTypePropertyTypeContainerResponseModel'; -export type { MemberTypePropertyTypeModelBaseModel } from './models/MemberTypePropertyTypeModelBaseModel'; export type { MemberTypePropertyTypeResponseModel } from './models/MemberTypePropertyTypeResponseModel'; export type { MemberTypePropertyTypeVisibilityModel } from './models/MemberTypePropertyTypeVisibilityModel'; export type { MemberTypeReferenceResponseModel } from './models/MemberTypeReferenceResponseModel'; @@ -245,11 +200,9 @@ export type { MoveDocumentTypeRequestModel } from './models/MoveDocumentTypeRequ export type { MoveMediaRequestModel } from './models/MoveMediaRequestModel'; export type { MoveMediaTypeRequestModel } from './models/MoveMediaTypeRequestModel'; export type { NamedEntityTreeItemResponseModel } from './models/NamedEntityTreeItemResponseModel'; -export type { NamedItemResponseModelBaseModel } from './models/NamedItemResponseModelBaseModel'; export type { NoopSetupTwoFactorModel } from './models/NoopSetupTwoFactorModel'; export type { NotificationHeaderModel } from './models/NotificationHeaderModel'; export type { ObjectTypeResponseModel } from './models/ObjectTypeResponseModel'; -export type { OkResult } from './models/OkResult'; export { OperatorModel } from './models/OperatorModel'; export type { OutOfDateStatusResponseModel } from './models/OutOfDateStatusResponseModel'; export { OutOfDateTypeModel } from './models/OutOfDateTypeModel'; @@ -257,7 +210,6 @@ export type { PackageConfigurationResponseModel } from './models/PackageConfigur export type { PackageDefinitionResponseModel } from './models/PackageDefinitionResponseModel'; export type { PackageManifestResponseModel } from './models/PackageManifestResponseModel'; export type { PackageMigrationStatusResponseModel } from './models/PackageMigrationStatusResponseModel'; -export type { PackageModelBaseModel } from './models/PackageModelBaseModel'; export type { PagedAllowedDocumentTypeModel } from './models/PagedAllowedDocumentTypeModel'; export type { PagedAllowedMediaTypeModel } from './models/PagedAllowedMediaTypeModel'; export type { PagedAuditLogResponseModel } from './models/PagedAuditLogResponseModel'; @@ -324,25 +276,18 @@ export type { ProblemDetailsBuilderModel } from './models/ProblemDetailsBuilderM export type { ProfilingStatusRequestModel } from './models/ProfilingStatusRequestModel'; export type { ProfilingStatusResponseModel } from './models/ProfilingStatusResponseModel'; export type { PropertyTypeAppearanceModel } from './models/PropertyTypeAppearanceModel'; -export type { PropertyTypeContainerModelBaseModel } from './models/PropertyTypeContainerModelBaseModel'; -export type { PropertyTypeModelBaseModel } from './models/PropertyTypeModelBaseModel'; export type { PropertyTypeValidationModel } from './models/PropertyTypeValidationModel'; -export type { PublicAccessBaseModel } from './models/PublicAccessBaseModel'; export type { PublicAccessRequestModel } from './models/PublicAccessRequestModel'; -export type { PublicAccessResponseModel } from './models/PublicAccessResponseModel'; export type { PublishDocumentRequestModel } from './models/PublishDocumentRequestModel'; export type { PublishDocumentWithDescendantsRequestModel } from './models/PublishDocumentWithDescendantsRequestModel'; -export type { RecycleBinItemResponseModelBaseModel } from './models/RecycleBinItemResponseModelBaseModel'; export { RedirectStatusModel } from './models/RedirectStatusModel'; export type { RedirectUrlResponseModel } from './models/RedirectUrlResponseModel'; export type { RedirectUrlStatusResponseModel } from './models/RedirectUrlStatusResponseModel'; export type { ReferenceByIdModel } from './models/ReferenceByIdModel'; export type { RelationReferenceModel } from './models/RelationReferenceModel'; export type { RelationResponseModel } from './models/RelationResponseModel'; -export type { RelationTypeBaseModel } from './models/RelationTypeBaseModel'; export type { RelationTypeItemResponseModel } from './models/RelationTypeItemResponseModel'; export type { RelationTypeResponseModel } from './models/RelationTypeResponseModel'; -export type { RelationTypeTreeItemResponseModel } from './models/RelationTypeTreeItemResponseModel'; export type { RenamePartialViewRequestModel } from './models/RenamePartialViewRequestModel'; export type { RenameScriptRequestModel } from './models/RenameScriptRequestModel'; export type { RenameStylesheetRequestModel } from './models/RenameStylesheetRequestModel'; @@ -352,7 +297,6 @@ export type { ResetPasswordTokenRequestModel } from './models/ResetPasswordToken export type { ResetPasswordUserResponseModel } from './models/ResetPasswordUserResponseModel'; export { RuntimeLevelModel } from './models/RuntimeLevelModel'; export { RuntimeModeModel } from './models/RuntimeModeModel'; -export type { SavedLogSearchPresenationBaseModel } from './models/SavedLogSearchPresenationBaseModel'; export type { SavedLogSearchRequestModel } from './models/SavedLogSearchRequestModel'; export type { SavedLogSearchResponseModel } from './models/SavedLogSearchResponseModel'; export type { ScheduleRequestModel } from './models/ScheduleRequestModel'; @@ -362,7 +306,6 @@ export type { ScriptResponseModel } from './models/ScriptResponseModel'; export type { SearcherResponseModel } from './models/SearcherResponseModel'; export type { SearchResultResponseModel } from './models/SearchResultResponseModel'; export type { SecurityConfigurationResponseModel } from './models/SecurityConfigurationResponseModel'; -export type { ServerConfigurationBaseModel } from './models/ServerConfigurationBaseModel'; export type { ServerConfigurationItemResponseModel } from './models/ServerConfigurationItemResponseModel'; export type { ServerConfigurationResponseModel } from './models/ServerConfigurationResponseModel'; export type { ServerInformationResponseModel } from './models/ServerInformationResponseModel'; @@ -378,12 +321,10 @@ export type { StylesheetItemResponseModel } from './models/StylesheetItemRespons export type { StylesheetResponseModel } from './models/StylesheetResponseModel'; export type { TagResponseModel } from './models/TagResponseModel'; export { TelemetryLevelModel } from './models/TelemetryLevelModel'; -export type { TelemetryRepresentationBaseModel } from './models/TelemetryRepresentationBaseModel'; export type { TelemetryRequestModel } from './models/TelemetryRequestModel'; export type { TelemetryResponseModel } from './models/TelemetryResponseModel'; export type { TemplateConfigurationResponseModel } from './models/TemplateConfigurationResponseModel'; export type { TemplateItemResponseModel } from './models/TemplateItemResponseModel'; -export type { TemplateModelBaseModel } from './models/TemplateModelBaseModel'; export type { TemplateQueryExecuteFilterPresentationModel } from './models/TemplateQueryExecuteFilterPresentationModel'; export type { TemplateQueryExecuteModel } from './models/TemplateQueryExecuteModel'; export type { TemplateQueryExecuteSortModel } from './models/TemplateQueryExecuteSortModel'; @@ -397,19 +338,11 @@ export type { TemplateResponseModel } from './models/TemplateResponseModel'; export type { TemporaryFileConfigurationResponseModel } from './models/TemporaryFileConfigurationResponseModel'; export type { TemporaryFileResponseModel } from './models/TemporaryFileResponseModel'; export type { TourStatusModel } from './models/TourStatusModel'; -export type { TrackedReferenceContentTypeModel } from './models/TrackedReferenceContentTypeModel'; export type { TrackedReferenceDocumentTypeModel } from './models/TrackedReferenceDocumentTypeModel'; export type { TrackedReferenceMediaTypeModel } from './models/TrackedReferenceMediaTypeModel'; -export type { TreeItemPresentationModel } from './models/TreeItemPresentationModel'; export type { UnknownTypePermissionPresentationModel } from './models/UnknownTypePermissionPresentationModel'; export type { UnlockUsersRequestModel } from './models/UnlockUsersRequestModel'; export type { UnpublishDocumentRequestModel } from './models/UnpublishDocumentRequestModel'; -export type { UpdateContentForDocumentRequestModel } from './models/UpdateContentForDocumentRequestModel'; -export type { UpdateContentForMediaRequestModel } from './models/UpdateContentForMediaRequestModel'; -export type { UpdateContentForMemberRequestModel } from './models/UpdateContentForMemberRequestModel'; -export type { UpdateContentTypeForDocumentTypeRequestModel } from './models/UpdateContentTypeForDocumentTypeRequestModel'; -export type { UpdateContentTypeForMediaTypeRequestModel } from './models/UpdateContentTypeForMediaTypeRequestModel'; -export type { UpdateContentTypeForMemberTypeRequestModel } from './models/UpdateContentTypeForMemberTypeRequestModel'; export type { UpdateDataTypeRequestModel } from './models/UpdateDataTypeRequestModel'; export type { UpdateDictionaryItemRequestModel } from './models/UpdateDictionaryItemRequestModel'; export type { UpdateDocumentBlueprintRequestModel } from './models/UpdateDocumentBlueprintRequestModel'; @@ -441,30 +374,25 @@ export type { UpdateUserRequestModel } from './models/UpdateUserRequestModel'; export type { UpdateWebhookRequestModel } from './models/UpdateWebhookRequestModel'; export type { UpgradeSettingsResponseModel } from './models/UpgradeSettingsResponseModel'; export type { UserConfigurationResponseModel } from './models/UserConfigurationResponseModel'; -export type { UserGroupBaseModel } from './models/UserGroupBaseModel'; export type { UserGroupItemResponseModel } from './models/UserGroupItemResponseModel'; export type { UserGroupResponseModel } from './models/UserGroupResponseModel'; -export type { UserInstallPresentationModel } from './models/UserInstallPresentationModel'; +export type { UserInstallRequestModel } from './models/UserInstallRequestModel'; export type { UserItemResponseModel } from './models/UserItemResponseModel'; export { UserOrderModel } from './models/UserOrderModel'; export type { UserPermissionModel } from './models/UserPermissionModel'; export type { UserPermissionsResponseModel } from './models/UserPermissionsResponseModel'; -export type { UserPresentationBaseModel } from './models/UserPresentationBaseModel'; export type { UserResponseModel } from './models/UserResponseModel'; export type { UserSettingsPresentationModel } from './models/UserSettingsPresentationModel'; export { UserStateModel } from './models/UserStateModel'; export type { UserTourStatusesResponseModel } from './models/UserTourStatusesResponseModel'; export type { UserTwoFactorProviderModel } from './models/UserTwoFactorProviderModel'; -export type { ValueModelBaseModel } from './models/ValueModelBaseModel'; export type { VariantItemResponseModel } from './models/VariantItemResponseModel'; -export type { VariantItemResponseModelBaseModel } from './models/VariantItemResponseModelBaseModel'; -export type { VariantModelBaseModel } from './models/VariantModelBaseModel'; -export type { VariantResponseModelBaseModel } from './models/VariantResponseModelBaseModel'; export type { VerifyInviteUserRequestModel } from './models/VerifyInviteUserRequestModel'; +export type { VerifyInviteUserResponseModel } from './models/VerifyInviteUserResponseModel'; +export type { VerifyResetPasswordResponseModel } from './models/VerifyResetPasswordResponseModel'; export type { VerifyResetPasswordTokenRequestModel } from './models/VerifyResetPasswordTokenRequestModel'; export type { WebhookEventResponseModel } from './models/WebhookEventResponseModel'; export type { WebhookItemResponseModel } from './models/WebhookItemResponseModel'; -export type { WebhookModelBaseModel } from './models/WebhookModelBaseModel'; export type { WebhookResponseModel } from './models/WebhookResponseModel'; export { AuditLogResource } from './services/AuditLogResource'; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedContentTypeModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedContentTypeModel.ts deleted file mode 100644 index c7197ce531..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedContentTypeModel.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type AllowedContentTypeModel = { - id: string; - name: string; - description?: string | null; - icon?: string | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedDocumentTypeModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedDocumentTypeModel.ts index 1762891713..725f59422b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedDocumentTypeModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedDocumentTypeModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { AllowedContentTypeModel } from './AllowedContentTypeModel'; - -export type AllowedDocumentTypeModel = AllowedContentTypeModel; +export type AllowedDocumentTypeModel = { + id: string; + name: string; + description?: string | null; + icon?: string | null; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedMediaTypeModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedMediaTypeModel.ts index 49ce218c3a..bd575fa328 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedMediaTypeModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AllowedMediaTypeModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { AllowedContentTypeModel } from './AllowedContentTypeModel'; - -export type AllowedMediaTypeModel = AllowedContentTypeModel; +export type AllowedMediaTypeModel = { + id: string; + name: string; + description?: string | null; + icon?: string | null; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogBaseModel.ts deleted file mode 100644 index 31ec64b2dc..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogBaseModel.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { AuditLogEntityModel } from './AuditLogEntityModel'; -import type { AuditTypeModel } from './AuditTypeModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type AuditLogBaseModel = { - user: ReferenceByIdModel; - entity?: AuditLogEntityModel | null; - timestamp: string; - logType: AuditTypeModel; - comment?: string | null; - parameters?: string | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogResponseModel.ts index 4ecddd6605..b317408232 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogResponseModel.ts @@ -3,7 +3,16 @@ /* tslint:disable */ /* eslint-disable */ -import type { AuditLogBaseModel } from './AuditLogBaseModel'; +import type { AuditLogEntityModel } from './AuditLogEntityModel'; +import type { AuditTypeModel } from './AuditTypeModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type AuditLogResponseModel = AuditLogBaseModel; +export type AuditLogResponseModel = { + user: ReferenceByIdModel; + entity: AuditLogEntityModel; + timestamp: string; + logType: AuditTypeModel; + comment?: string | null; + parameters?: string | null; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogWithUsernameResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogWithUsernameResponseModel.ts index 2ee1c4acc5..5fe05e205b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogWithUsernameResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogWithUsernameResponseModel.ts @@ -3,10 +3,18 @@ /* tslint:disable */ /* eslint-disable */ -import type { AuditLogBaseModel } from './AuditLogBaseModel'; +import type { AuditLogEntityModel } from './AuditLogEntityModel'; +import type { AuditTypeModel } from './AuditTypeModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type AuditLogWithUsernameResponseModel = (AuditLogBaseModel & { +export type AuditLogWithUsernameResponseModel = { + user: ReferenceByIdModel; + entity: AuditLogEntityModel; + timestamp: string; + logType: AuditTypeModel; + comment?: string | null; + parameters?: string | null; userName?: string | null; userAvatars: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableContentTypeCompositionResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableContentTypeCompositionResponseModelBaseModel.ts deleted file mode 100644 index 43625c7194..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableContentTypeCompositionResponseModelBaseModel.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type AvailableContentTypeCompositionResponseModelBaseModel = { - id: string; - name: string; - icon: string; - folderPath: Array; - isCompatible: boolean; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableDocumentTypeCompositionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableDocumentTypeCompositionResponseModel.ts index 4b89e8a211..f287c721e9 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableDocumentTypeCompositionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableDocumentTypeCompositionResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { AvailableContentTypeCompositionResponseModelBaseModel } from './AvailableContentTypeCompositionResponseModelBaseModel'; - -export type AvailableDocumentTypeCompositionResponseModel = AvailableContentTypeCompositionResponseModelBaseModel; +export type AvailableDocumentTypeCompositionResponseModel = { + id: string; + name: string; + icon: string; + folderPath: Array; + isCompatible: boolean; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableMediaTypeCompositionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableMediaTypeCompositionResponseModel.ts index fc784a2174..a339d81430 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableMediaTypeCompositionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableMediaTypeCompositionResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { AvailableContentTypeCompositionResponseModelBaseModel } from './AvailableContentTypeCompositionResponseModelBaseModel'; - -export type AvailableMediaTypeCompositionResponseModel = AvailableContentTypeCompositionResponseModelBaseModel; +export type AvailableMediaTypeCompositionResponseModel = { + id: string; + name: string; + icon: string; + folderPath: Array; + isCompatible: boolean; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableMemberTypeCompositionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableMemberTypeCompositionResponseModel.ts index 83e8fab554..8ef9fdf4af 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableMemberTypeCompositionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AvailableMemberTypeCompositionResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { AvailableContentTypeCompositionResponseModelBaseModel } from './AvailableContentTypeCompositionResponseModelBaseModel'; - -export type AvailableMemberTypeCompositionResponseModel = AvailableContentTypeCompositionResponseModelBaseModel; +export type AvailableMemberTypeCompositionResponseModel = { + id: string; + name: string; + icon: string; + folderPath: Array; + isCompatible: boolean; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ChangePasswordCurrentUserRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ChangePasswordCurrentUserRequestModel.ts index bee5d23a50..dd395b8d39 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ChangePasswordCurrentUserRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ChangePasswordCurrentUserRequestModel.ts @@ -3,9 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { ChangePasswordUserRequestModel } from './ChangePasswordUserRequestModel'; - -export type ChangePasswordCurrentUserRequestModel = (ChangePasswordUserRequestModel & { +export type ChangePasswordCurrentUserRequestModel = { + newPassword: string; oldPassword?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel.ts deleted file mode 100644 index c3a8073181..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { DocumentValueModel } from './DocumentValueModel'; -import type { DocumentVariantResponseModel } from './DocumentVariantResponseModel'; - -export type ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel = { - values: Array; - variants: Array; - id: string; - creator?: string | null; - sortOrder: number; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel.ts deleted file mode 100644 index b9da60ae41..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MediaValueModel } from './MediaValueModel'; -import type { MediaVariantResponseModel } from './MediaVariantResponseModel'; - -export type ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel = { - values: Array; - variants: Array; - id: string; - creator?: string | null; - sortOrder: number; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForDocumentResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForDocumentResponseModel.ts deleted file mode 100644 index fc7cecb9f6..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForDocumentResponseModel.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { DocumentTypeReferenceResponseModel } from './DocumentTypeReferenceResponseModel'; -import type { DocumentValueModel } from './DocumentValueModel'; -import type { DocumentVariantResponseModel } from './DocumentVariantResponseModel'; - -export type ContentForDocumentResponseModel = { - values: Array; - variants: Array; - id: string; - documentType: DocumentTypeReferenceResponseModel; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForMediaResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForMediaResponseModel.ts deleted file mode 100644 index 5f4b42be51..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForMediaResponseModel.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MediaValueModel } from './MediaValueModel'; -import type { MediaVariantResponseModel } from './MediaVariantResponseModel'; - -export type ContentForMediaResponseModel = { - values: Array; - variants: Array; - id: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForMemberResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForMemberResponseModel.ts deleted file mode 100644 index 26b6266dfe..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentForMemberResponseModel.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MemberValueModel } from './MemberValueModel'; -import type { MemberVariantResponseModel } from './MemberVariantResponseModel'; - -export type ContentForMemberResponseModel = { - values: Array; - variants: Array; - id: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTreeItemResponseModel.ts deleted file mode 100644 index bb5f9c106d..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTreeItemResponseModel.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type ContentTreeItemResponseModel = { - hasChildren: boolean; - parent?: ReferenceByIdModel | null; - noAccess: boolean; - isTrashed: boolean; - id: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCleanupBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCleanupBaseModel.ts deleted file mode 100644 index 6ab4fb9195..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCleanupBaseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type ContentTypeCleanupBaseModel = { - preventCleanup: boolean; - keepAllVersionsNewerThanDays?: number | null; - keepLatestVersionPerDayForDays?: number | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCollectionReferenceResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCollectionReferenceResponseModelBaseModel.ts deleted file mode 100644 index 26866fcb40..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCollectionReferenceResponseModelBaseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type ContentTypeCollectionReferenceResponseModelBaseModel = { - id: string; - alias: string; - icon: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCompositionRequestModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCompositionRequestModelBaseModel.ts deleted file mode 100644 index 542c1c8653..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCompositionRequestModelBaseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type ContentTypeCompositionRequestModelBaseModel = { - id?: string | null; - currentPropertyAliases: Array; - currentCompositeIds: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCompositionResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCompositionResponseModelBaseModel.ts deleted file mode 100644 index 8de2c0f47e..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeCompositionResponseModelBaseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type ContentTypeCompositionResponseModelBaseModel = { - id: string; - name: string; - icon: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForDocumentTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForDocumentTypeResponseModel.ts deleted file mode 100644 index b89c790244..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForDocumentTypeResponseModel.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { DocumentTypePropertyTypeContainerResponseModel } from './DocumentTypePropertyTypeContainerResponseModel'; -import type { DocumentTypePropertyTypeResponseModel } from './DocumentTypePropertyTypeResponseModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type ContentTypeForDocumentTypeResponseModel = { - alias: string; - name: string; - description?: string | null; - icon: string; - allowedAsRoot: boolean; - variesByCulture: boolean; - variesBySegment: boolean; - collection?: ReferenceByIdModel | null; - isElement: boolean; - properties: Array; - containers: Array; - id: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForMediaTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForMediaTypeResponseModel.ts deleted file mode 100644 index 16d6ad3480..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForMediaTypeResponseModel.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MediaTypePropertyTypeContainerResponseModel } from './MediaTypePropertyTypeContainerResponseModel'; -import type { MediaTypePropertyTypeResponseModel } from './MediaTypePropertyTypeResponseModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type ContentTypeForMediaTypeResponseModel = { - alias: string; - name: string; - description?: string | null; - icon: string; - allowedAsRoot: boolean; - variesByCulture: boolean; - variesBySegment: boolean; - collection?: ReferenceByIdModel | null; - isElement: boolean; - properties: Array; - containers: Array; - id: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForMemberTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForMemberTypeResponseModel.ts deleted file mode 100644 index cb0ad99ab8..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeForMemberTypeResponseModel.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MemberTypePropertyTypeContainerResponseModel } from './MemberTypePropertyTypeContainerResponseModel'; -import type { MemberTypePropertyTypeResponseModel } from './MemberTypePropertyTypeResponseModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type ContentTypeForMemberTypeResponseModel = { - alias: string; - name: string; - description?: string | null; - icon: string; - allowedAsRoot: boolean; - variesByCulture: boolean; - variesBySegment: boolean; - collection?: ReferenceByIdModel | null; - isElement: boolean; - properties: Array; - containers: Array; - id: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeReferenceResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeReferenceResponseModelBaseModel.ts deleted file mode 100644 index af8e13c191..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentTypeReferenceResponseModelBaseModel.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type ContentTypeReferenceResponseModelBaseModel = { - id: string; - icon: string; - collection?: ReferenceByIdModel | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentUrlInfoBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentUrlInfoBaseModel.ts deleted file mode 100644 index aac3c51da0..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ContentUrlInfoBaseModel.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type ContentUrlInfoBaseModel = { - culture?: string | null; - url: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDataTypeRequestModel.ts index 44660e907d..bcc20cdb12 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDataTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CopyDataTypeRequestModel = { - target?: ReferenceByIdModel | null; + target: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentRequestModel.ts index 828849c9ac..cb9f18eecd 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentRequestModel.ts @@ -6,7 +6,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CopyDocumentRequestModel = { - target?: ReferenceByIdModel | null; + target: ReferenceByIdModel; relateToOriginal: boolean; includeDescendants: boolean; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentTypeRequestModel.ts index 346920d256..2455c2f5e7 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CopyDocumentTypeRequestModel = { - target?: ReferenceByIdModel | null; + target: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyMediaTypeRequestModel.ts index 943722db52..7efeb51614 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyMediaTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyMediaTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CopyMediaTypeRequestModel = { - target?: ReferenceByIdModel | null; + target: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForDocumentRequestModel.ts deleted file mode 100644 index 5f3da3b0ff..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForDocumentRequestModel.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { DocumentValueModel } from './DocumentValueModel'; -import type { DocumentVariantRequestModel } from './DocumentVariantRequestModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type CreateContentForDocumentRequestModel = { - values: Array; - variants: Array; - id?: string | null; - parent?: ReferenceByIdModel | null; - documentType: ReferenceByIdModel; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForMediaRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForMediaRequestModel.ts deleted file mode 100644 index 252171141b..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForMediaRequestModel.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MediaValueModel } from './MediaValueModel'; -import type { MediaVariantRequestModel } from './MediaVariantRequestModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type CreateContentForMediaRequestModel = { - values: Array; - variants: Array; - id?: string | null; - parent?: ReferenceByIdModel | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForMemberRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForMemberRequestModel.ts deleted file mode 100644 index db059bcee8..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentForMemberRequestModel.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MemberValueModel } from './MemberValueModel'; -import type { MemberVariantRequestModel } from './MemberVariantRequestModel'; - -export type CreateContentForMemberRequestModel = { - values: Array; - variants: Array; - id?: string | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForDocumentTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForDocumentTypeRequestModel.ts deleted file mode 100644 index 408026829b..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForDocumentTypeRequestModel.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { CreateDocumentTypePropertyTypeContainerRequestModel } from './CreateDocumentTypePropertyTypeContainerRequestModel'; -import type { CreateDocumentTypePropertyTypeRequestModel } from './CreateDocumentTypePropertyTypeRequestModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type CreateContentTypeForDocumentTypeRequestModel = { - alias: string; - name: string; - description?: string | null; - icon: string; - allowedAsRoot: boolean; - variesByCulture: boolean; - variesBySegment: boolean; - collection?: ReferenceByIdModel | null; - isElement: boolean; - properties: Array; - containers: Array; - id?: string | null; - parent?: ReferenceByIdModel | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForMediaTypeRequestModel.ts deleted file mode 100644 index 64b44f6d95..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForMediaTypeRequestModel.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { CreateMediaTypePropertyTypeContainerRequestModel } from './CreateMediaTypePropertyTypeContainerRequestModel'; -import type { CreateMediaTypePropertyTypeRequestModel } from './CreateMediaTypePropertyTypeRequestModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type CreateContentTypeForMediaTypeRequestModel = { - alias: string; - name: string; - description?: string | null; - icon: string; - allowedAsRoot: boolean; - variesByCulture: boolean; - variesBySegment: boolean; - collection?: ReferenceByIdModel | null; - isElement: boolean; - properties: Array; - containers: Array; - id?: string | null; - parent?: ReferenceByIdModel | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForMemberTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForMemberTypeRequestModel.ts deleted file mode 100644 index 103e02ebf5..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeForMemberTypeRequestModel.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { CreateMemberTypePropertyTypeContainerRequestModel } from './CreateMemberTypePropertyTypeContainerRequestModel'; -import type { CreateMemberTypePropertyTypeRequestModel } from './CreateMemberTypePropertyTypeRequestModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type CreateContentTypeForMemberTypeRequestModel = { - alias: string; - name: string; - description?: string | null; - icon: string; - allowedAsRoot: boolean; - variesByCulture: boolean; - variesBySegment: boolean; - collection?: ReferenceByIdModel | null; - isElement: boolean; - properties: Array; - containers: Array; - id?: string | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDataTypeRequestModel.ts index 7d883cdd2e..38d751dd93 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDataTypeRequestModel.ts @@ -3,11 +3,15 @@ /* tslint:disable */ /* eslint-disable */ -import type { DataTypeModelBaseModel } from './DataTypeModelBaseModel'; +import type { DataTypePropertyPresentationModel } from './DataTypePropertyPresentationModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateDataTypeRequestModel = (DataTypeModelBaseModel & { +export type CreateDataTypeRequestModel = { + name: string; + editorAlias: string; + editorUiAlias?: string | null; + values: Array; id?: string | null; - parent?: ReferenceByIdModel | null; -}); + parent: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDictionaryItemRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDictionaryItemRequestModel.ts index 772bbe9762..a79462d29c 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDictionaryItemRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDictionaryItemRequestModel.ts @@ -3,11 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { DictionaryItemModelBaseModel } from './DictionaryItemModelBaseModel'; +import type { DictionaryItemTranslationModel } from './DictionaryItemTranslationModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateDictionaryItemRequestModel = (DictionaryItemModelBaseModel & { +export type CreateDictionaryItemRequestModel = { + name: string; + translations: Array; id?: string | null; - parent?: ReferenceByIdModel | null; -}); + parent: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintFromDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintFromDocumentRequestModel.ts index f5a3a63852..fbc3e5885a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintFromDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintFromDocumentRequestModel.ts @@ -9,6 +9,6 @@ export type CreateDocumentBlueprintFromDocumentRequestModel = { document: ReferenceByIdModel; id?: string | null; name: string; - parent?: ReferenceByIdModel | null; + parent: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintRequestModel.ts index 51671b08dd..dbddba3051 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintRequestModel.ts @@ -3,7 +3,15 @@ /* tslint:disable */ /* eslint-disable */ -import type { CreateContentForDocumentRequestModel } from './CreateContentForDocumentRequestModel'; +import type { DocumentValueModel } from './DocumentValueModel'; +import type { DocumentVariantRequestModel } from './DocumentVariantRequestModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateDocumentBlueprintRequestModel = CreateContentForDocumentRequestModel; +export type CreateDocumentBlueprintRequestModel = { + values: Array; + variants: Array; + id?: string | null; + parent: ReferenceByIdModel; + documentType: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentRequestModel.ts index 97bccb7772..e09fd260ad 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentRequestModel.ts @@ -3,10 +3,16 @@ /* tslint:disable */ /* eslint-disable */ -import type { CreateContentForDocumentRequestModel } from './CreateContentForDocumentRequestModel'; +import type { DocumentValueModel } from './DocumentValueModel'; +import type { DocumentVariantRequestModel } from './DocumentVariantRequestModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateDocumentRequestModel = (CreateContentForDocumentRequestModel & { - template?: ReferenceByIdModel | null; -}); +export type CreateDocumentRequestModel = { + values: Array; + variants: Array; + id?: string | null; + parent: ReferenceByIdModel; + documentType: ReferenceByIdModel; + template: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeContainerRequestModel.ts index 75695a9551..1ba1780c0d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeContainerRequestModel.ts @@ -3,7 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateDocumentTypePropertyTypeContainerRequestModel = PropertyTypeContainerModelBaseModel; +export type CreateDocumentTypePropertyTypeContainerRequestModel = { + id: string; + parent: ReferenceByIdModel; + name?: string | null; + type: string; + sortOrder: number; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeRequestModel.ts index 49c3e3cf95..188c185c3f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeRequestModel.ts @@ -3,7 +3,21 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeModelBaseModel } from './PropertyTypeModelBaseModel'; +import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; +import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateDocumentTypePropertyTypeRequestModel = PropertyTypeModelBaseModel; +export type CreateDocumentTypePropertyTypeRequestModel = { + id: string; + container: ReferenceByIdModel; + sortOrder: number; + alias: string; + name: string; + description?: string | null; + dataType: ReferenceByIdModel; + variesByCulture: boolean; + variesBySegment: boolean; + validation: PropertyTypeValidationModel; + appearance: PropertyTypeAppearanceModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypeRequestModel.ts index 7d861190b2..d4d37fe03e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypeRequestModel.ts @@ -3,17 +3,31 @@ /* tslint:disable */ /* eslint-disable */ -import type { CreateContentTypeForDocumentTypeRequestModel } from './CreateContentTypeForDocumentTypeRequestModel'; +import type { CreateDocumentTypePropertyTypeContainerRequestModel } from './CreateDocumentTypePropertyTypeContainerRequestModel'; +import type { CreateDocumentTypePropertyTypeRequestModel } from './CreateDocumentTypePropertyTypeRequestModel'; import type { DocumentTypeCleanupModel } from './DocumentTypeCleanupModel'; import type { DocumentTypeCompositionModel } from './DocumentTypeCompositionModel'; import type { DocumentTypeSortModel } from './DocumentTypeSortModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateDocumentTypeRequestModel = (CreateContentTypeForDocumentTypeRequestModel & { +export type CreateDocumentTypeRequestModel = { + alias: string; + name: string; + description?: string | null; + icon: string; + allowedAsRoot: boolean; + variesByCulture: boolean; + variesBySegment: boolean; + collection: ReferenceByIdModel; + isElement: boolean; + properties: Array; + containers: Array; + id?: string | null; + parent: ReferenceByIdModel; allowedTemplates: Array; - defaultTemplate?: ReferenceByIdModel | null; + defaultTemplate: ReferenceByIdModel; cleanup: DocumentTypeCleanupModel; allowedDocumentTypes: Array; compositions: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateFolderRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateFolderRequestModel.ts index 6851e3a039..b89003ac6f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateFolderRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateFolderRequestModel.ts @@ -3,11 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { FolderModelBaseModel } from './FolderModelBaseModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateFolderRequestModel = (FolderModelBaseModel & { +export type CreateFolderRequestModel = { + name: string; id?: string | null; - parent?: ReferenceByIdModel | null; -}); + parent: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateInitialPasswordUserRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateInitialPasswordUserRequestModel.ts index dbc957ff82..e62a6c6cf4 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateInitialPasswordUserRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateInitialPasswordUserRequestModel.ts @@ -3,9 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { VerifyInviteUserRequestModel } from './VerifyInviteUserRequestModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateInitialPasswordUserRequestModel = (VerifyInviteUserRequestModel & { +export type CreateInitialPasswordUserRequestModel = { + user: ReferenceByIdModel; + token: string; password: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateLanguageRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateLanguageRequestModel.ts index 456b4e4b83..d1489b85d5 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateLanguageRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateLanguageRequestModel.ts @@ -3,9 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { LanguageModelBaseModel } from './LanguageModelBaseModel'; - -export type CreateLanguageRequestModel = (LanguageModelBaseModel & { +export type CreateLanguageRequestModel = { + name: string; + isDefault: boolean; + isMandatory: boolean; + fallbackIsoCode?: string | null; isoCode: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaRequestModel.ts index 937dcab69f..7c5051bba9 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaRequestModel.ts @@ -3,10 +3,15 @@ /* tslint:disable */ /* eslint-disable */ -import type { CreateContentForMediaRequestModel } from './CreateContentForMediaRequestModel'; +import type { MediaValueModel } from './MediaValueModel'; +import type { MediaVariantRequestModel } from './MediaVariantRequestModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateMediaRequestModel = (CreateContentForMediaRequestModel & { +export type CreateMediaRequestModel = { + values: Array; + variants: Array; + id?: string | null; + parent: ReferenceByIdModel; mediaType: ReferenceByIdModel; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts index 8fea33fee6..507e85d15a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts @@ -3,7 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateMediaTypePropertyTypeContainerRequestModel = PropertyTypeContainerModelBaseModel; +export type CreateMediaTypePropertyTypeContainerRequestModel = { + id: string; + parent: ReferenceByIdModel; + name?: string | null; + type: string; + sortOrder: number; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts index 344b1852fb..ec9cb2c9f7 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts @@ -3,7 +3,21 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeModelBaseModel } from './PropertyTypeModelBaseModel'; +import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; +import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateMediaTypePropertyTypeRequestModel = PropertyTypeModelBaseModel; +export type CreateMediaTypePropertyTypeRequestModel = { + id: string; + container: ReferenceByIdModel; + sortOrder: number; + alias: string; + name: string; + description?: string | null; + dataType: ReferenceByIdModel; + variesByCulture: boolean; + variesBySegment: boolean; + validation: PropertyTypeValidationModel; + appearance: PropertyTypeAppearanceModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts index 9db4ac7433..7106adfffb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts @@ -3,14 +3,27 @@ /* tslint:disable */ /* eslint-disable */ -import type { CreateContentTypeForMediaTypeRequestModel } from './CreateContentTypeForMediaTypeRequestModel'; +import type { CreateMediaTypePropertyTypeContainerRequestModel } from './CreateMediaTypePropertyTypeContainerRequestModel'; +import type { CreateMediaTypePropertyTypeRequestModel } from './CreateMediaTypePropertyTypeRequestModel'; import type { MediaTypeCompositionModel } from './MediaTypeCompositionModel'; import type { MediaTypeSortModel } from './MediaTypeSortModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateMediaTypeRequestModel = (CreateContentTypeForMediaTypeRequestModel & { +export type CreateMediaTypeRequestModel = { + alias: string; + name: string; + description?: string | null; + icon: string; + allowedAsRoot: boolean; + variesByCulture: boolean; + variesBySegment: boolean; + isElement: boolean; + properties: Array; + containers: Array; + id?: string | null; + parent: ReferenceByIdModel; allowedMediaTypes: Array; compositions: Array; - collection?: ReferenceByIdModel | null; -}); + collection: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberGroupRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberGroupRequestModel.ts index 3020dc0fcb..ebfbea378f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberGroupRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberGroupRequestModel.ts @@ -3,9 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { MemberGroupPresentationBaseModel } from './MemberGroupPresentationBaseModel'; - -export type CreateMemberGroupRequestModel = (MemberGroupPresentationBaseModel & { +export type CreateMemberGroupRequestModel = { + name: string; id?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberRequestModel.ts index 0034877615..65add263b9 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberRequestModel.ts @@ -3,15 +3,19 @@ /* tslint:disable */ /* eslint-disable */ -import type { CreateContentForMemberRequestModel } from './CreateContentForMemberRequestModel'; +import type { MemberValueModel } from './MemberValueModel'; +import type { MemberVariantRequestModel } from './MemberVariantRequestModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateMemberRequestModel = (CreateContentForMemberRequestModel & { +export type CreateMemberRequestModel = { + values: Array; + variants: Array; + id?: string | null; email: string; username: string; password: string; memberType: ReferenceByIdModel; groups?: Array | null; isApproved: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeContainerRequestModel.ts index baa52684a6..cb67a6066f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeContainerRequestModel.ts @@ -3,7 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateMemberTypePropertyTypeContainerRequestModel = PropertyTypeContainerModelBaseModel; +export type CreateMemberTypePropertyTypeContainerRequestModel = { + id: string; + parent: ReferenceByIdModel; + name?: string | null; + type: string; + sortOrder: number; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeRequestModel.ts index aeae062c72..8585badd84 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeRequestModel.ts @@ -3,7 +3,24 @@ /* tslint:disable */ /* eslint-disable */ -import type { MemberTypePropertyTypeModelBaseModel } from './MemberTypePropertyTypeModelBaseModel'; +import type { MemberTypePropertyTypeVisibilityModel } from './MemberTypePropertyTypeVisibilityModel'; +import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; +import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateMemberTypePropertyTypeRequestModel = MemberTypePropertyTypeModelBaseModel; +export type CreateMemberTypePropertyTypeRequestModel = { + id: string; + container: ReferenceByIdModel; + sortOrder: number; + alias: string; + name: string; + description?: string | null; + dataType: ReferenceByIdModel; + variesByCulture: boolean; + variesBySegment: boolean; + validation: PropertyTypeValidationModel; + appearance: PropertyTypeAppearanceModel; + isSensitive: boolean; + visibility: MemberTypePropertyTypeVisibilityModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypeRequestModel.ts index 5f7dc8d783..00078a21fe 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypeRequestModel.ts @@ -3,10 +3,24 @@ /* tslint:disable */ /* eslint-disable */ -import type { CreateContentTypeForMemberTypeRequestModel } from './CreateContentTypeForMemberTypeRequestModel'; +import type { CreateMemberTypePropertyTypeContainerRequestModel } from './CreateMemberTypePropertyTypeContainerRequestModel'; +import type { CreateMemberTypePropertyTypeRequestModel } from './CreateMemberTypePropertyTypeRequestModel'; import type { MemberTypeCompositionModel } from './MemberTypeCompositionModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type CreateMemberTypeRequestModel = (CreateContentTypeForMemberTypeRequestModel & { +export type CreateMemberTypeRequestModel = { + alias: string; + name: string; + description?: string | null; + icon: string; + allowedAsRoot: boolean; + variesByCulture: boolean; + variesBySegment: boolean; + collection: ReferenceByIdModel; + isElement: boolean; + properties: Array; + containers: Array; + id?: string | null; compositions: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePackageRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePackageRequestModel.ts index 73977ee1aa..97496f1f92 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePackageRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePackageRequestModel.ts @@ -3,7 +3,20 @@ /* tslint:disable */ /* eslint-disable */ -import type { PackageModelBaseModel } from './PackageModelBaseModel'; - -export type CreatePackageRequestModel = PackageModelBaseModel; +export type CreatePackageRequestModel = { + name: string; + contentNodeId?: string | null; + contentLoadChildNodes: boolean; + mediaIds: Array; + mediaLoadChildNodes: boolean; + documentTypes: Array; + mediaTypes: Array; + dataTypes: Array; + templates: Array; + partialViews: Array; + stylesheets: Array; + scripts: Array; + languages: Array; + dictionaryItems: Array; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewFolderRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewFolderRequestModel.ts index fd1a8dbe23..9ab85dbf89 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewFolderRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewFolderRequestModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemCreateRequestModelBaseModel } from './FileSystemCreateRequestModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type CreatePartialViewFolderRequestModel = FileSystemCreateRequestModelBaseModel; +export type CreatePartialViewFolderRequestModel = { + name: string; + parent: FileSystemFolderModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewRequestModel.ts index ce26671883..2e06f48e7b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewRequestModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemFileCreateRequestModelBaseModel } from './FileSystemFileCreateRequestModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type CreatePartialViewRequestModel = FileSystemFileCreateRequestModelBaseModel; +export type CreatePartialViewRequestModel = { + name: string; + parent: FileSystemFolderModel; + content: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptFolderRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptFolderRequestModel.ts index 4972e3c270..e910e2fd73 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptFolderRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptFolderRequestModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemCreateRequestModelBaseModel } from './FileSystemCreateRequestModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type CreateScriptFolderRequestModel = FileSystemCreateRequestModelBaseModel; +export type CreateScriptFolderRequestModel = { + name: string; + parent: FileSystemFolderModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptRequestModel.ts index 999ca5c0d3..d7fcc04ffd 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptRequestModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemFileCreateRequestModelBaseModel } from './FileSystemFileCreateRequestModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type CreateScriptRequestModel = FileSystemFileCreateRequestModelBaseModel; +export type CreateScriptRequestModel = { + name: string; + parent: FileSystemFolderModel; + content: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetFolderRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetFolderRequestModel.ts index 3b901eff6e..f5b5cd5a8a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetFolderRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetFolderRequestModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemCreateRequestModelBaseModel } from './FileSystemCreateRequestModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type CreateStylesheetFolderRequestModel = FileSystemCreateRequestModelBaseModel; +export type CreateStylesheetFolderRequestModel = { + name: string; + parent: FileSystemFolderModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetRequestModel.ts index f682637920..315785a407 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetRequestModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemFileCreateRequestModelBaseModel } from './FileSystemFileCreateRequestModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type CreateStylesheetRequestModel = FileSystemFileCreateRequestModelBaseModel; +export type CreateStylesheetRequestModel = { + name: string; + parent: FileSystemFolderModel; + content: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateTemplateRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateTemplateRequestModel.ts index 6f72bd38a3..a1997efd5e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateTemplateRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateTemplateRequestModel.ts @@ -3,9 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { TemplateModelBaseModel } from './TemplateModelBaseModel'; - -export type CreateTemplateRequestModel = (TemplateModelBaseModel & { +export type CreateTemplateRequestModel = { + name: string; + alias: string; + content?: string | null; id?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserGroupRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserGroupRequestModel.ts index 1cceb76e9a..786d71e7ee 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserGroupRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserGroupRequestModel.ts @@ -3,7 +3,21 @@ /* tslint:disable */ /* eslint-disable */ -import type { UserGroupBaseModel } from './UserGroupBaseModel'; +import type { DocumentPermissionPresentationModel } from './DocumentPermissionPresentationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; +import type { UnknownTypePermissionPresentationModel } from './UnknownTypePermissionPresentationModel'; -export type CreateUserGroupRequestModel = UserGroupBaseModel; +export type CreateUserGroupRequestModel = { + name: string; + icon?: string | null; + sections: Array; + languages: Array; + hasAccessToAllLanguages: boolean; + documentStartNode: ReferenceByIdModel; + documentRootAccess: boolean; + mediaStartNode: ReferenceByIdModel; + mediaRootAccess: boolean; + fallbackPermissions: Array; + permissions: Array<(DocumentPermissionPresentationModel | UnknownTypePermissionPresentationModel)>; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserRequestModel.ts index f222dc6861..08ecdf6439 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserRequestModel.ts @@ -3,9 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { UserPresentationBaseModel } from './UserPresentationBaseModel'; - -export type CreateUserRequestModel = (UserPresentationBaseModel & { +export type CreateUserRequestModel = { + email: string; + userName: string; + name: string; + userGroupIds: Array; id?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateWebhookRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateWebhookRequestModel.ts index 5efdacf129..323b7705d7 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateWebhookRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateWebhookRequestModel.ts @@ -3,10 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { WebhookModelBaseModel } from './WebhookModelBaseModel'; - -export type CreateWebhookRequestModel = (WebhookModelBaseModel & { +export type CreateWebhookRequestModel = { + enabled: boolean; + url: string; + contentTypeKeys: Array; + headers: Record; id?: string | null; events: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CultureAndScheduleRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CultureAndScheduleRequestModel.ts index 8ebf39abe3..9d8cfdc164 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CultureAndScheduleRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CultureAndScheduleRequestModel.ts @@ -7,6 +7,6 @@ import type { ScheduleRequestModel } from './ScheduleRequestModel'; export type CultureAndScheduleRequestModel = { culture?: string | null; - schedule?: ScheduleRequestModel | null; + schedule: ScheduleRequestModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeItemResponseModel.ts index bdf9f4f741..6ce59dedaa 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeItemResponseModel.ts @@ -3,10 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; - -export type DataTypeItemResponseModel = (NamedItemResponseModelBaseModel & { +export type DataTypeItemResponseModel = { + id: string; + name: string; editorUiAlias?: string | null; isDeletable: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeModelBaseModel.ts deleted file mode 100644 index 7c3a1d770a..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeModelBaseModel.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { DataTypePropertyPresentationModel } from './DataTypePropertyPresentationModel'; - -export type DataTypeModelBaseModel = { - name: string; - editorAlias: string; - editorUiAlias?: string | null; - values: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeResponseModel.ts index 2f4e18ad3c..56629e41fc 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeResponseModel.ts @@ -3,11 +3,15 @@ /* tslint:disable */ /* eslint-disable */ -import type { DataTypeModelBaseModel } from './DataTypeModelBaseModel'; +import type { DataTypePropertyPresentationModel } from './DataTypePropertyPresentationModel'; -export type DataTypeResponseModel = (DataTypeModelBaseModel & { +export type DataTypeResponseModel = { + name: string; + editorAlias: string; + editorUiAlias?: string | null; + values: Array; id: string; isDeletable: boolean; canIgnoreStartNodes: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeTreeItemResponseModel.ts index b52e27e07f..6515834ff8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeTreeItemResponseModel.ts @@ -3,10 +3,15 @@ /* tslint:disable */ /* eslint-disable */ -import type { FolderTreeItemResponseModel } from './FolderTreeItemResponseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type DataTypeTreeItemResponseModel = (FolderTreeItemResponseModel & { +export type DataTypeTreeItemResponseModel = { + hasChildren: boolean; + id: string; + parent: ReferenceByIdModel; + name: string; + isFolder: boolean; editorUiAlias?: string | null; isDeletable: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DatabaseInstallPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DatabaseInstallPresentationModel.ts deleted file mode 100644 index 2637a7496d..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DatabaseInstallPresentationModel.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type DatabaseInstallPresentationModel = { - id: string; - providerName: string; - server?: string | null; - name?: string | null; - username?: string | null; - password?: string | null; - useIntegratedAuthentication: boolean; - connectionString?: string | null; - trustServerCertificate: boolean; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DatabaseInstallRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DatabaseInstallRequestModel.ts index ad3537567e..d48d7e5551 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DatabaseInstallRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DatabaseInstallRequestModel.ts @@ -3,7 +3,15 @@ /* tslint:disable */ /* eslint-disable */ -import type { DatabaseInstallPresentationModel } from './DatabaseInstallPresentationModel'; - -export type DatabaseInstallRequestModel = DatabaseInstallPresentationModel; +export type DatabaseInstallRequestModel = { + id: string; + providerName: string; + server?: string | null; + name?: string | null; + username?: string | null; + password?: string | null; + useIntegratedAuthentication: boolean; + connectionString?: string | null; + trustServerCertificate: boolean; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemItemResponseModel.ts index 38f73f486d..04da3773ba 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemItemResponseModel.ts @@ -3,7 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; - -export type DictionaryItemItemResponseModel = NamedItemResponseModelBaseModel; +export type DictionaryItemItemResponseModel = { + id: string; + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemModelBaseModel.ts deleted file mode 100644 index 3ab80babb0..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemModelBaseModel.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { DictionaryItemTranslationModel } from './DictionaryItemTranslationModel'; - -export type DictionaryItemModelBaseModel = { - name: string; - translations: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemResponseModel.ts index 54a63654cf..5645077355 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryItemResponseModel.ts @@ -3,9 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { DictionaryItemModelBaseModel } from './DictionaryItemModelBaseModel'; +import type { DictionaryItemTranslationModel } from './DictionaryItemTranslationModel'; -export type DictionaryItemResponseModel = (DictionaryItemModelBaseModel & { +export type DictionaryItemResponseModel = { + name: string; + translations: Array; id: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryOverviewResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryOverviewResponseModel.ts index c703cb41b3..d257ce2606 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryOverviewResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryOverviewResponseModel.ts @@ -8,7 +8,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DictionaryOverviewResponseModel = { name?: string | null; id: string; - parent?: ReferenceByIdModel | null; + parent: ReferenceByIdModel; translatedIsoCodes: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintItemResponseModel.ts index 0faf7e1ffc..f7effed27c 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintItemResponseModel.ts @@ -4,9 +4,10 @@ /* eslint-disable */ import type { DocumentTypeReferenceResponseModel } from './DocumentTypeReferenceResponseModel'; -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; -export type DocumentBlueprintItemResponseModel = (NamedItemResponseModelBaseModel & { +export type DocumentBlueprintItemResponseModel = { + id: string; + name: string; documentType: DocumentTypeReferenceResponseModel; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintResponseModel.ts index d020fce117..4f6601241b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintResponseModel.ts @@ -3,7 +3,14 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentForDocumentResponseModel } from './ContentForDocumentResponseModel'; +import type { DocumentTypeReferenceResponseModel } from './DocumentTypeReferenceResponseModel'; +import type { DocumentValueModel } from './DocumentValueModel'; +import type { DocumentVariantResponseModel } from './DocumentVariantResponseModel'; -export type DocumentBlueprintResponseModel = ContentForDocumentResponseModel; +export type DocumentBlueprintResponseModel = { + values: Array; + variants: Array; + id: string; + documentType: DocumentTypeReferenceResponseModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts index 6c1c09490f..8019103d75 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts @@ -4,9 +4,13 @@ /* eslint-disable */ import type { DocumentTypeReferenceResponseModel } from './DocumentTypeReferenceResponseModel'; -import type { NamedEntityTreeItemResponseModel } from './NamedEntityTreeItemResponseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type DocumentBlueprintTreeItemResponseModel = (NamedEntityTreeItemResponseModel & { +export type DocumentBlueprintTreeItemResponseModel = { + hasChildren: boolean; + id: string; + parent: ReferenceByIdModel; + name: string; documentType: DocumentTypeReferenceResponseModel; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentCollectionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentCollectionResponseModel.ts index 49b0b794b6..c8636e3fd1 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentCollectionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentCollectionResponseModel.ts @@ -3,11 +3,17 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel } from './ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel'; import type { DocumentTypeCollectionReferenceResponseModel } from './DocumentTypeCollectionReferenceResponseModel'; +import type { DocumentValueModel } from './DocumentValueModel'; +import type { DocumentVariantResponseModel } from './DocumentVariantResponseModel'; -export type DocumentCollectionResponseModel = (ContentCollectionResponseModelBaseDocumentValueModelDocumentVariantResponseModel & { +export type DocumentCollectionResponseModel = { + values: Array; + variants: Array; + id: string; + creator?: string | null; + sortOrder: number; documentType: DocumentTypeCollectionReferenceResponseModel; updater?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentItemResponseModel.ts index 80630f509d..4721077438 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentItemResponseModel.ts @@ -5,12 +5,12 @@ import type { DocumentTypeReferenceResponseModel } from './DocumentTypeReferenceResponseModel'; import type { DocumentVariantItemResponseModel } from './DocumentVariantItemResponseModel'; -import type { ItemResponseModelBaseModel } from './ItemResponseModelBaseModel'; -export type DocumentItemResponseModel = (ItemResponseModelBaseModel & { +export type DocumentItemResponseModel = { + id: string; isTrashed: boolean; isProtected: boolean; documentType: DocumentTypeReferenceResponseModel; variants: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentPermissionPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentPermissionPresentationModel.ts index 420b96ec34..7cd831235e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentPermissionPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentPermissionPresentationModel.ts @@ -6,7 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DocumentPermissionPresentationModel = { - $type: string; document: ReferenceByIdModel; verbs: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentRecycleBinItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentRecycleBinItemResponseModel.ts index c594d375b0..bcb0ffdc78 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentRecycleBinItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentRecycleBinItemResponseModel.ts @@ -5,10 +5,13 @@ import type { DocumentTypeReferenceResponseModel } from './DocumentTypeReferenceResponseModel'; import type { DocumentVariantItemResponseModel } from './DocumentVariantItemResponseModel'; -import type { RecycleBinItemResponseModelBaseModel } from './RecycleBinItemResponseModelBaseModel'; +import type { ItemReferenceByIdResponseModel } from './ItemReferenceByIdResponseModel'; -export type DocumentRecycleBinItemResponseModel = (RecycleBinItemResponseModelBaseModel & { +export type DocumentRecycleBinItemResponseModel = { + id: string; + hasChildren: boolean; + parent: ItemReferenceByIdResponseModel; documentType: DocumentTypeReferenceResponseModel; variants: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentResponseModel.ts index 3186f6e122..6638494869 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentResponseModel.ts @@ -3,13 +3,19 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentForDocumentResponseModel } from './ContentForDocumentResponseModel'; +import type { DocumentTypeReferenceResponseModel } from './DocumentTypeReferenceResponseModel'; import type { DocumentUrlInfoModel } from './DocumentUrlInfoModel'; +import type { DocumentValueModel } from './DocumentValueModel'; +import type { DocumentVariantResponseModel } from './DocumentVariantResponseModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type DocumentResponseModel = (ContentForDocumentResponseModel & { +export type DocumentResponseModel = { + values: Array; + variants: Array; + id: string; + documentType: DocumentTypeReferenceResponseModel; urls: Array; - template?: ReferenceByIdModel | null; + template: ReferenceByIdModel; isTrashed: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTreeItemResponseModel.ts index 3f202d48c6..3e841b5d92 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTreeItemResponseModel.ts @@ -3,13 +3,18 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTreeItemResponseModel } from './ContentTreeItemResponseModel'; import type { DocumentTypeReferenceResponseModel } from './DocumentTypeReferenceResponseModel'; import type { DocumentVariantItemResponseModel } from './DocumentVariantItemResponseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type DocumentTreeItemResponseModel = (ContentTreeItemResponseModel & { +export type DocumentTreeItemResponseModel = { + hasChildren: boolean; + parent: ReferenceByIdModel; + noAccess: boolean; + isTrashed: boolean; + id: string; isProtected: boolean; documentType: DocumentTypeReferenceResponseModel; variants: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCleanupModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCleanupModel.ts index 08eae47a4c..c6bcdef753 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCleanupModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCleanupModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeCleanupBaseModel } from './ContentTypeCleanupBaseModel'; - -export type DocumentTypeCleanupModel = ContentTypeCleanupBaseModel; +export type DocumentTypeCleanupModel = { + preventCleanup: boolean; + keepAllVersionsNewerThanDays?: number | null; + keepLatestVersionPerDayForDays?: number | null; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCollectionReferenceResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCollectionReferenceResponseModel.ts index b934c7618f..8922a1b413 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCollectionReferenceResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCollectionReferenceResponseModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeCollectionReferenceResponseModelBaseModel } from './ContentTypeCollectionReferenceResponseModelBaseModel'; - -export type DocumentTypeCollectionReferenceResponseModel = ContentTypeCollectionReferenceResponseModelBaseModel; +export type DocumentTypeCollectionReferenceResponseModel = { + id: string; + alias: string; + icon: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCompositionRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCompositionRequestModel.ts index 344d632776..cfd8527f75 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCompositionRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCompositionRequestModel.ts @@ -3,9 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeCompositionRequestModelBaseModel } from './ContentTypeCompositionRequestModelBaseModel'; - -export type DocumentTypeCompositionRequestModel = (ContentTypeCompositionRequestModelBaseModel & { +export type DocumentTypeCompositionRequestModel = { + id?: string | null; + currentPropertyAliases: Array; + currentCompositeIds: Array; isElement: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCompositionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCompositionResponseModel.ts index 0377d10c3c..77785325a6 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCompositionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeCompositionResponseModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeCompositionResponseModelBaseModel } from './ContentTypeCompositionResponseModelBaseModel'; - -export type DocumentTypeCompositionResponseModel = ContentTypeCompositionResponseModelBaseModel; +export type DocumentTypeCompositionResponseModel = { + id: string; + name: string; + icon: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeItemResponseModel.ts index 1ed148dec1..a0c7a5c1be 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeItemResponseModel.ts @@ -3,10 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; - -export type DocumentTypeItemResponseModel = (NamedItemResponseModelBaseModel & { +export type DocumentTypeItemResponseModel = { + id: string; + name: string; isElement: boolean; icon?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts index f6a57aa6c7..9f25e3ff76 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts @@ -3,7 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type DocumentTypePropertyTypeContainerResponseModel = PropertyTypeContainerModelBaseModel; +export type DocumentTypePropertyTypeContainerResponseModel = { + id: string; + parent: ReferenceByIdModel; + name?: string | null; + type: string; + sortOrder: number; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts index 14837ade42..cd3aab28eb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts @@ -3,7 +3,21 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeModelBaseModel } from './PropertyTypeModelBaseModel'; +import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; +import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type DocumentTypePropertyTypeResponseModel = PropertyTypeModelBaseModel; +export type DocumentTypePropertyTypeResponseModel = { + id: string; + container: ReferenceByIdModel; + sortOrder: number; + alias: string; + name: string; + description?: string | null; + dataType: ReferenceByIdModel; + variesByCulture: boolean; + variesBySegment: boolean; + validation: PropertyTypeValidationModel; + appearance: PropertyTypeAppearanceModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeReferenceResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeReferenceResponseModel.ts index 1ce7ab1db8..117220a6bf 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeReferenceResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeReferenceResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeReferenceResponseModelBaseModel } from './ContentTypeReferenceResponseModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type DocumentTypeReferenceResponseModel = ContentTypeReferenceResponseModelBaseModel; +export type DocumentTypeReferenceResponseModel = { + id: string; + icon: string; + collection: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeResponseModel.ts index 320974edee..e5ccb1e1a3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeResponseModel.ts @@ -3,17 +3,30 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeForDocumentTypeResponseModel } from './ContentTypeForDocumentTypeResponseModel'; import type { DocumentTypeCleanupModel } from './DocumentTypeCleanupModel'; import type { DocumentTypeCompositionModel } from './DocumentTypeCompositionModel'; +import type { DocumentTypePropertyTypeContainerResponseModel } from './DocumentTypePropertyTypeContainerResponseModel'; +import type { DocumentTypePropertyTypeResponseModel } from './DocumentTypePropertyTypeResponseModel'; import type { DocumentTypeSortModel } from './DocumentTypeSortModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type DocumentTypeResponseModel = (ContentTypeForDocumentTypeResponseModel & { +export type DocumentTypeResponseModel = { + alias: string; + name: string; + description?: string | null; + icon: string; + allowedAsRoot: boolean; + variesByCulture: boolean; + variesBySegment: boolean; + collection: ReferenceByIdModel; + isElement: boolean; + properties: Array; + containers: Array; + id: string; allowedTemplates: Array; - defaultTemplate?: ReferenceByIdModel | null; + defaultTemplate: ReferenceByIdModel; cleanup: DocumentTypeCleanupModel; allowedDocumentTypes: Array; compositions: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts index cb9a379165..6168077dee 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts @@ -3,10 +3,15 @@ /* tslint:disable */ /* eslint-disable */ -import type { FolderTreeItemResponseModel } from './FolderTreeItemResponseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type DocumentTypeTreeItemResponseModel = (FolderTreeItemResponseModel & { +export type DocumentTypeTreeItemResponseModel = { + hasChildren: boolean; + id: string; + parent: ReferenceByIdModel; + name: string; + isFolder: boolean; isElement: boolean; icon: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentUrlInfoModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentUrlInfoModel.ts index 62d36438ef..19abf147fb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentUrlInfoModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentUrlInfoModel.ts @@ -3,7 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentUrlInfoBaseModel } from './ContentUrlInfoBaseModel'; - -export type DocumentUrlInfoModel = ContentUrlInfoBaseModel; +export type DocumentUrlInfoModel = { + culture?: string | null; + url: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentValueModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentValueModel.ts index d97801007c..7dbb92fb62 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentValueModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentValueModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { ValueModelBaseModel } from './ValueModelBaseModel'; - -export type DocumentValueModel = ValueModelBaseModel; +export type DocumentValueModel = { + culture?: string | null; + segment?: string | null; + alias: string; + value?: any; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantItemResponseModel.ts index cf73b0299c..be8ee74fa3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantItemResponseModel.ts @@ -4,9 +4,10 @@ /* eslint-disable */ import type { DocumentVariantStateModel } from './DocumentVariantStateModel'; -import type { VariantItemResponseModelBaseModel } from './VariantItemResponseModelBaseModel'; -export type DocumentVariantItemResponseModel = (VariantItemResponseModelBaseModel & { +export type DocumentVariantItemResponseModel = { + name: string; + culture?: string | null; state: DocumentVariantStateModel; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantRequestModel.ts index 4d79c4109a..cfe9479479 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantRequestModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { VariantModelBaseModel } from './VariantModelBaseModel'; - -export type DocumentVariantRequestModel = VariantModelBaseModel; +export type DocumentVariantRequestModel = { + culture?: string | null; + segment?: string | null; + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantResponseModel.ts index 4325188f65..fed5af6be7 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVariantResponseModel.ts @@ -4,10 +4,14 @@ /* eslint-disable */ import type { DocumentVariantStateModel } from './DocumentVariantStateModel'; -import type { VariantResponseModelBaseModel } from './VariantResponseModelBaseModel'; -export type DocumentVariantResponseModel = (VariantResponseModelBaseModel & { +export type DocumentVariantResponseModel = { + culture?: string | null; + segment?: string | null; + name: string; + createDate: string; + updateDate: string; state: DocumentVariantStateModel; publishDate?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVersionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVersionResponseModel.ts index ec869a897b..5fa747c5e8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVersionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVersionResponseModel.ts @@ -3,10 +3,16 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentForDocumentResponseModel } from './ContentForDocumentResponseModel'; +import type { DocumentTypeReferenceResponseModel } from './DocumentTypeReferenceResponseModel'; +import type { DocumentValueModel } from './DocumentValueModel'; +import type { DocumentVariantResponseModel } from './DocumentVariantResponseModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type DocumentVersionResponseModel = (ContentForDocumentResponseModel & { - document?: ReferenceByIdModel | null; -}); +export type DocumentVersionResponseModel = { + values: Array; + variants: Array; + id: string; + documentType: DocumentTypeReferenceResponseModel; + document: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DomainsPresentationModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DomainsPresentationModelBaseModel.ts deleted file mode 100644 index 193e811957..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DomainsPresentationModelBaseModel.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { DomainPresentationModel } from './DomainPresentationModel'; - -export type DomainsPresentationModelBaseModel = { - defaultIsoCode?: string | null; - domains: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DomainsResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DomainsResponseModel.ts index f8d8a1ff18..a9db3960b0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DomainsResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DomainsResponseModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { DomainsPresentationModelBaseModel } from './DomainsPresentationModelBaseModel'; +import type { DomainPresentationModel } from './DomainPresentationModel'; -export type DomainsResponseModel = DomainsPresentationModelBaseModel; +export type DomainsResponseModel = { + defaultIsoCode?: string | null; + domains: Array; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/EntityTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/EntityTreeItemResponseModel.ts deleted file mode 100644 index d14eb5cc31..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/EntityTreeItemResponseModel.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ReferenceByIdModel } from './ReferenceByIdModel'; -import type { TreeItemPresentationModel } from './TreeItemPresentationModel'; - -export type EntityTreeItemResponseModel = (TreeItemPresentationModel & { - id: string; - parent?: ReferenceByIdModel | null; -}); - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemCreateRequestModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemCreateRequestModelBaseModel.ts deleted file mode 100644 index 68a90eeeb1..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemCreateRequestModelBaseModel.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { FileSystemFolderModel } from './FileSystemFolderModel'; - -export type FileSystemCreateRequestModelBaseModel = { - name: string; - parent?: FileSystemFolderModel | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileCreateRequestModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileCreateRequestModelBaseModel.ts deleted file mode 100644 index 5b9eb3d4cf..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileCreateRequestModelBaseModel.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { FileSystemFolderModel } from './FileSystemFolderModel'; - -export type FileSystemFileCreateRequestModelBaseModel = { - name: string; - parent?: FileSystemFolderModel | null; - content: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileResponseModelBaseModel.ts deleted file mode 100644 index 59c8bb0c08..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileResponseModelBaseModel.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { FileSystemFolderModel } from './FileSystemFolderModel'; - -export type FileSystemFileResponseModelBaseModel = { - path: string; - name: string; - parent?: FileSystemFolderModel | null; - content: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileUpdateRequestModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileUpdateRequestModelBaseModel.ts deleted file mode 100644 index 44ec79a002..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFileUpdateRequestModelBaseModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type FileSystemFileUpdateRequestModelBaseModel = { - content: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFolderModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFolderModel.ts index 90964c53e9..4e3e5a8217 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFolderModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemFolderModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemItemViewModelBaseModel } from './FileSystemItemViewModelBaseModel'; - -export type FileSystemFolderModel = FileSystemItemViewModelBaseModel; +export type FileSystemFolderModel = { + path: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemItemResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemItemResponseModelBaseModel.ts deleted file mode 100644 index 6cc0280bfa..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemItemResponseModelBaseModel.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { FileSystemFolderModel } from './FileSystemFolderModel'; - -export type FileSystemItemResponseModelBaseModel = { - path: string; - name: string; - parent?: FileSystemFolderModel | null; - isFolder: boolean; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemItemViewModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemItemViewModelBaseModel.ts deleted file mode 100644 index d0153d4763..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemItemViewModelBaseModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type FileSystemItemViewModelBaseModel = { - path: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemRenameRequestModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemRenameRequestModelBaseModel.ts deleted file mode 100644 index bc4534ef58..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemRenameRequestModelBaseModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type FileSystemRenameRequestModelBaseModel = { - name: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemResponseModelBaseModel.ts deleted file mode 100644 index 7d72ab674f..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemResponseModelBaseModel.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { FileSystemFolderModel } from './FileSystemFolderModel'; - -export type FileSystemResponseModelBaseModel = { - path: string; - name: string; - parent?: FileSystemFolderModel | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemTreeItemPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemTreeItemPresentationModel.ts index 00ca2f7dc8..78a8e3d880 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemTreeItemPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemTreeItemPresentationModel.ts @@ -4,12 +4,12 @@ /* eslint-disable */ import type { FileSystemFolderModel } from './FileSystemFolderModel'; -import type { TreeItemPresentationModel } from './TreeItemPresentationModel'; -export type FileSystemTreeItemPresentationModel = (TreeItemPresentationModel & { +export type FileSystemTreeItemPresentationModel = { + hasChildren: boolean; name: string; path: string; - parent?: FileSystemFolderModel | null; + parent: FileSystemFolderModel; isFolder: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderModelBaseModel.ts deleted file mode 100644 index 3d9275f495..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderModelBaseModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type FolderModelBaseModel = { - name: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderResponseModel.ts index 3f544cb3e2..01664fd2e4 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderResponseModel.ts @@ -3,9 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { FolderModelBaseModel } from './FolderModelBaseModel'; - -export type FolderResponseModel = (FolderModelBaseModel & { +export type FolderResponseModel = { + name: string; id: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderTreeItemResponseModel.ts deleted file mode 100644 index 0d2e87e29c..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FolderTreeItemResponseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { NamedEntityTreeItemResponseModel } from './NamedEntityTreeItemResponseModel'; - -export type FolderTreeItemResponseModel = (NamedEntityTreeItemResponseModel & { - isFolder: boolean; -}); - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupPresentationBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupPresentationBaseModel.ts deleted file mode 100644 index 0fbcac06b9..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupPresentationBaseModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type HealthCheckGroupPresentationBaseModel = { - name: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupPresentationModel.ts index cdeff24d9a..08a8f79b0a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupPresentationModel.ts @@ -3,10 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { HealthCheckGroupPresentationBaseModel } from './HealthCheckGroupPresentationBaseModel'; import type { HealthCheckModel } from './HealthCheckModel'; -export type HealthCheckGroupPresentationModel = (HealthCheckGroupPresentationBaseModel & { +export type HealthCheckGroupPresentationModel = { + name: string; checks: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupResponseModel.ts index 4754ba19da..d807733fbb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckGroupResponseModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -import type { HealthCheckGroupPresentationBaseModel } from './HealthCheckGroupPresentationBaseModel'; - -export type HealthCheckGroupResponseModel = HealthCheckGroupPresentationBaseModel; +export type HealthCheckGroupResponseModel = { + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckModel.ts index 420710c538..4ceadfbc4f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckModel.ts @@ -3,10 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { HealthCheckModelBaseModel } from './HealthCheckModelBaseModel'; - -export type HealthCheckModel = (HealthCheckModelBaseModel & { +export type HealthCheckModel = { + id: string; name: string; description?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckModelBaseModel.ts deleted file mode 100644 index 0721373257..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckModelBaseModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type HealthCheckModelBaseModel = { - id: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckWithResultPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckWithResultPresentationModel.ts index c9e64a9b6c..48b5e80b41 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckWithResultPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/HealthCheckWithResultPresentationModel.ts @@ -3,10 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { HealthCheckModelBaseModel } from './HealthCheckModelBaseModel'; import type { HealthCheckResultResponseModel } from './HealthCheckResultResponseModel'; -export type HealthCheckWithResultPresentationModel = (HealthCheckModelBaseModel & { +export type HealthCheckWithResultPresentationModel = { + id: string; results?: Array | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ImportDictionaryRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ImportDictionaryRequestModel.ts index 13e5557845..8cb009f874 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ImportDictionaryRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ImportDictionaryRequestModel.ts @@ -7,6 +7,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type ImportDictionaryRequestModel = { temporaryFile: ReferenceByIdModel; - parent?: ReferenceByIdModel | null; + parent: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/InstallRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/InstallRequestModel.ts index 7e1cbeeea5..5b63007859 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/InstallRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/InstallRequestModel.ts @@ -3,14 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { DatabaseInstallPresentationModel } from './DatabaseInstallPresentationModel'; import type { DatabaseInstallRequestModel } from './DatabaseInstallRequestModel'; import type { TelemetryLevelModel } from './TelemetryLevelModel'; -import type { UserInstallPresentationModel } from './UserInstallPresentationModel'; +import type { UserInstallRequestModel } from './UserInstallRequestModel'; export type InstallRequestModel = { - user: UserInstallPresentationModel; - database: (DatabaseInstallPresentationModel | DatabaseInstallRequestModel); + user: UserInstallRequestModel; + database: DatabaseInstallRequestModel; telemetryLevel: TelemetryLevelModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/InviteUserRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/InviteUserRequestModel.ts index 2d27ef9b07..242f7c1dd6 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/InviteUserRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/InviteUserRequestModel.ts @@ -3,9 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { CreateUserRequestModel } from './CreateUserRequestModel'; - -export type InviteUserRequestModel = (CreateUserRequestModel & { +export type InviteUserRequestModel = { + email: string; + userName: string; + name: string; + userGroupIds: Array; + id?: string | null; message?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ItemResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ItemResponseModelBaseModel.ts deleted file mode 100644 index 28b7c0e199..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ItemResponseModelBaseModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type ItemResponseModelBaseModel = { - id: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/LanguageModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/LanguageModelBaseModel.ts deleted file mode 100644 index f05063ce04..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/LanguageModelBaseModel.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type LanguageModelBaseModel = { - name: string; - isDefault: boolean; - isMandatory: boolean; - fallbackIsoCode?: string | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/LanguageResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/LanguageResponseModel.ts index 26700efd0d..89e2b03c92 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/LanguageResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/LanguageResponseModel.ts @@ -3,9 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { LanguageModelBaseModel } from './LanguageModelBaseModel'; - -export type LanguageResponseModel = (LanguageModelBaseModel & { +export type LanguageResponseModel = { + name: string; + isDefault: boolean; + isMandatory: boolean; + fallbackIsoCode?: string | null; isoCode: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaCollectionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaCollectionResponseModel.ts index a28f2123e6..beae6558f5 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaCollectionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaCollectionResponseModel.ts @@ -3,10 +3,16 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel } from './ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel'; import type { MediaTypeCollectionReferenceResponseModel } from './MediaTypeCollectionReferenceResponseModel'; +import type { MediaValueModel } from './MediaValueModel'; +import type { MediaVariantResponseModel } from './MediaVariantResponseModel'; -export type MediaCollectionResponseModel = (ContentCollectionResponseModelBaseMediaValueModelMediaVariantResponseModel & { +export type MediaCollectionResponseModel = { + values: Array; + variants: Array; + id: string; + creator?: string | null; + sortOrder: number; mediaType: MediaTypeCollectionReferenceResponseModel; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaItemResponseModel.ts index ec38113736..71a85946b8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaItemResponseModel.ts @@ -3,13 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { ItemResponseModelBaseModel } from './ItemResponseModelBaseModel'; import type { MediaTypeReferenceResponseModel } from './MediaTypeReferenceResponseModel'; import type { VariantItemResponseModel } from './VariantItemResponseModel'; -export type MediaItemResponseModel = (ItemResponseModelBaseModel & { +export type MediaItemResponseModel = { + id: string; isTrashed: boolean; mediaType: MediaTypeReferenceResponseModel; variants: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaRecycleBinItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaRecycleBinItemResponseModel.ts index 56467ffbc9..72485bdcff 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaRecycleBinItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaRecycleBinItemResponseModel.ts @@ -3,12 +3,15 @@ /* tslint:disable */ /* eslint-disable */ +import type { ItemReferenceByIdResponseModel } from './ItemReferenceByIdResponseModel'; import type { MediaTypeReferenceResponseModel } from './MediaTypeReferenceResponseModel'; -import type { RecycleBinItemResponseModelBaseModel } from './RecycleBinItemResponseModelBaseModel'; import type { VariantItemResponseModel } from './VariantItemResponseModel'; -export type MediaRecycleBinItemResponseModel = (RecycleBinItemResponseModelBaseModel & { +export type MediaRecycleBinItemResponseModel = { + id: string; + hasChildren: boolean; + parent: ItemReferenceByIdResponseModel; mediaType: MediaTypeReferenceResponseModel; variants: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaResponseModel.ts index bdc16174e0..ce38706af1 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaResponseModel.ts @@ -3,13 +3,17 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentForMediaResponseModel } from './ContentForMediaResponseModel'; import type { MediaTypeReferenceResponseModel } from './MediaTypeReferenceResponseModel'; import type { MediaUrlInfoModel } from './MediaUrlInfoModel'; +import type { MediaValueModel } from './MediaValueModel'; +import type { MediaVariantResponseModel } from './MediaVariantResponseModel'; -export type MediaResponseModel = (ContentForMediaResponseModel & { +export type MediaResponseModel = { + values: Array; + variants: Array; + id: string; urls: Array; isTrashed: boolean; mediaType: MediaTypeReferenceResponseModel; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTreeItemResponseModel.ts index 24c7fad8f2..a602c16065 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTreeItemResponseModel.ts @@ -3,12 +3,17 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTreeItemResponseModel } from './ContentTreeItemResponseModel'; import type { MediaTypeReferenceResponseModel } from './MediaTypeReferenceResponseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; import type { VariantItemResponseModel } from './VariantItemResponseModel'; -export type MediaTreeItemResponseModel = (ContentTreeItemResponseModel & { +export type MediaTreeItemResponseModel = { + hasChildren: boolean; + parent: ReferenceByIdModel; + noAccess: boolean; + isTrashed: boolean; + id: string; mediaType: MediaTypeReferenceResponseModel; variants: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCollectionReferenceResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCollectionReferenceResponseModel.ts index fa9d9718fb..18201c74bd 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCollectionReferenceResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCollectionReferenceResponseModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeCollectionReferenceResponseModelBaseModel } from './ContentTypeCollectionReferenceResponseModelBaseModel'; - -export type MediaTypeCollectionReferenceResponseModel = ContentTypeCollectionReferenceResponseModelBaseModel; +export type MediaTypeCollectionReferenceResponseModel = { + id: string; + alias: string; + icon: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCompositionRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCompositionRequestModel.ts index 283f523faa..6926a4c8f0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCompositionRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCompositionRequestModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeCompositionRequestModelBaseModel } from './ContentTypeCompositionRequestModelBaseModel'; - -export type MediaTypeCompositionRequestModel = ContentTypeCompositionRequestModelBaseModel; +export type MediaTypeCompositionRequestModel = { + id?: string | null; + currentPropertyAliases: Array; + currentCompositeIds: Array; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCompositionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCompositionResponseModel.ts index 3068379d6e..9f575248b3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCompositionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeCompositionResponseModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeCompositionResponseModelBaseModel } from './ContentTypeCompositionResponseModelBaseModel'; - -export type MediaTypeCompositionResponseModel = ContentTypeCompositionResponseModelBaseModel; +export type MediaTypeCompositionResponseModel = { + id: string; + name: string; + icon: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeItemResponseModel.ts index 782e59631a..f06bb0c616 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeItemResponseModel.ts @@ -3,9 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; - -export type MediaTypeItemResponseModel = (NamedItemResponseModelBaseModel & { +export type MediaTypeItemResponseModel = { + id: string; + name: string; icon?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts index 8529996e90..02159092a8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts @@ -3,7 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type MediaTypePropertyTypeContainerResponseModel = PropertyTypeContainerModelBaseModel; +export type MediaTypePropertyTypeContainerResponseModel = { + id: string; + parent: ReferenceByIdModel; + name?: string | null; + type: string; + sortOrder: number; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts index 20a8e3efd5..2efa55277e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts @@ -3,7 +3,21 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeModelBaseModel } from './PropertyTypeModelBaseModel'; +import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; +import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type MediaTypePropertyTypeResponseModel = PropertyTypeModelBaseModel; +export type MediaTypePropertyTypeResponseModel = { + id: string; + container: ReferenceByIdModel; + sortOrder: number; + alias: string; + name: string; + description?: string | null; + dataType: ReferenceByIdModel; + variesByCulture: boolean; + variesBySegment: boolean; + validation: PropertyTypeValidationModel; + appearance: PropertyTypeAppearanceModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeReferenceResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeReferenceResponseModel.ts index 5aad862b1b..8131bec94f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeReferenceResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeReferenceResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeReferenceResponseModelBaseModel } from './ContentTypeReferenceResponseModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type MediaTypeReferenceResponseModel = ContentTypeReferenceResponseModelBaseModel; +export type MediaTypeReferenceResponseModel = { + id: string; + icon: string; + collection: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeResponseModel.ts index a4e5cd2e89..73a55054f3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeResponseModel.ts @@ -3,12 +3,26 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeForMediaTypeResponseModel } from './ContentTypeForMediaTypeResponseModel'; import type { MediaTypeCompositionModel } from './MediaTypeCompositionModel'; +import type { MediaTypePropertyTypeContainerResponseModel } from './MediaTypePropertyTypeContainerResponseModel'; +import type { MediaTypePropertyTypeResponseModel } from './MediaTypePropertyTypeResponseModel'; import type { MediaTypeSortModel } from './MediaTypeSortModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type MediaTypeResponseModel = (ContentTypeForMediaTypeResponseModel & { +export type MediaTypeResponseModel = { + alias: string; + name: string; + description?: string | null; + icon: string; + allowedAsRoot: boolean; + variesByCulture: boolean; + variesBySegment: boolean; + collection: ReferenceByIdModel; + isElement: boolean; + properties: Array; + containers: Array; + id: string; allowedMediaTypes: Array; compositions: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeTreeItemResponseModel.ts index 8455663b94..209e924a58 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeTreeItemResponseModel.ts @@ -3,9 +3,14 @@ /* tslint:disable */ /* eslint-disable */ -import type { FolderTreeItemResponseModel } from './FolderTreeItemResponseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type MediaTypeTreeItemResponseModel = (FolderTreeItemResponseModel & { +export type MediaTypeTreeItemResponseModel = { + hasChildren: boolean; + id: string; + parent: ReferenceByIdModel; + name: string; + isFolder: boolean; icon: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaUrlInfoModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaUrlInfoModel.ts index 787169ddaf..59052ac8bf 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaUrlInfoModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaUrlInfoModel.ts @@ -3,7 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentUrlInfoBaseModel } from './ContentUrlInfoBaseModel'; - -export type MediaUrlInfoModel = ContentUrlInfoBaseModel; +export type MediaUrlInfoModel = { + culture?: string | null; + url: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaValueModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaValueModel.ts index c65ef62bb0..895901a0ba 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaValueModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaValueModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { ValueModelBaseModel } from './ValueModelBaseModel'; - -export type MediaValueModel = ValueModelBaseModel; +export type MediaValueModel = { + culture?: string | null; + segment?: string | null; + alias: string; + value?: any; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaVariantRequestModel.ts index 8b6bc1f2e4..6ca86fbd75 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaVariantRequestModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { VariantModelBaseModel } from './VariantModelBaseModel'; - -export type MediaVariantRequestModel = VariantModelBaseModel; +export type MediaVariantRequestModel = { + culture?: string | null; + segment?: string | null; + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaVariantResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaVariantResponseModel.ts index 5934131d3e..fc5a78cf90 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaVariantResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaVariantResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { VariantResponseModelBaseModel } from './VariantResponseModelBaseModel'; - -export type MediaVariantResponseModel = VariantResponseModelBaseModel; +export type MediaVariantResponseModel = { + culture?: string | null; + segment?: string | null; + name: string; + createDate: string; + updateDate: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupItemResponseModel.ts index 690f274951..73d64914d1 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupItemResponseModel.ts @@ -3,7 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; - -export type MemberGroupItemResponseModel = NamedItemResponseModelBaseModel; +export type MemberGroupItemResponseModel = { + id: string; + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupPresentationBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupPresentationBaseModel.ts deleted file mode 100644 index bebe62bc79..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupPresentationBaseModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type MemberGroupPresentationBaseModel = { - name: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupResponseModel.ts index 67be1b3394..6488bffe06 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberGroupResponseModel.ts @@ -3,9 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { MemberGroupPresentationBaseModel } from './MemberGroupPresentationBaseModel'; - -export type MemberGroupResponseModel = (MemberGroupPresentationBaseModel & { +export type MemberGroupResponseModel = { + name: string; id: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberItemResponseModel.ts index 4fec6f420a..68839f0b2e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberItemResponseModel.ts @@ -3,12 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { ItemResponseModelBaseModel } from './ItemResponseModelBaseModel'; import type { MemberTypeReferenceResponseModel } from './MemberTypeReferenceResponseModel'; import type { VariantItemResponseModel } from './VariantItemResponseModel'; -export type MemberItemResponseModel = (ItemResponseModelBaseModel & { +export type MemberItemResponseModel = { + id: string; memberType: MemberTypeReferenceResponseModel; variants: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberResponseModel.ts index 3e5680d309..96f4773ecf 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberResponseModel.ts @@ -3,10 +3,14 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentForMemberResponseModel } from './ContentForMemberResponseModel'; import type { MemberTypeReferenceResponseModel } from './MemberTypeReferenceResponseModel'; +import type { MemberValueModel } from './MemberValueModel'; +import type { MemberVariantResponseModel } from './MemberVariantResponseModel'; -export type MemberResponseModel = (ContentForMemberResponseModel & { +export type MemberResponseModel = { + values: Array; + variants: Array; + id: string; email: string; username: string; memberType: MemberTypeReferenceResponseModel; @@ -18,5 +22,5 @@ export type MemberResponseModel = (ContentForMemberResponseModel & { lastLockoutDate?: string | null; lastPasswordChangeDate?: string | null; groups: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeCompositionRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeCompositionRequestModel.ts index 4229739646..ec2d8e6096 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeCompositionRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeCompositionRequestModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeCompositionRequestModelBaseModel } from './ContentTypeCompositionRequestModelBaseModel'; - -export type MemberTypeCompositionRequestModel = ContentTypeCompositionRequestModelBaseModel; +export type MemberTypeCompositionRequestModel = { + id?: string | null; + currentPropertyAliases: Array; + currentCompositeIds: Array; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeCompositionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeCompositionResponseModel.ts index 727ed971c6..24766e9f04 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeCompositionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeCompositionResponseModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeCompositionResponseModelBaseModel } from './ContentTypeCompositionResponseModelBaseModel'; - -export type MemberTypeCompositionResponseModel = ContentTypeCompositionResponseModelBaseModel; +export type MemberTypeCompositionResponseModel = { + id: string; + name: string; + icon: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeItemResponseModel.ts index 846b1d2159..6c66cb2c50 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeItemResponseModel.ts @@ -3,9 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; - -export type MemberTypeItemResponseModel = (NamedItemResponseModelBaseModel & { +export type MemberTypeItemResponseModel = { + id: string; + name: string; icon?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeContainerResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeContainerResponseModel.ts index 35eabeb2bd..e3f82d495e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeContainerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeContainerResponseModel.ts @@ -3,7 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type MemberTypePropertyTypeContainerResponseModel = PropertyTypeContainerModelBaseModel; +export type MemberTypePropertyTypeContainerResponseModel = { + id: string; + parent: ReferenceByIdModel; + name?: string | null; + type: string; + sortOrder: number; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeModelBaseModel.ts deleted file mode 100644 index 66b045f08b..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeModelBaseModel.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MemberTypePropertyTypeVisibilityModel } from './MemberTypePropertyTypeVisibilityModel'; -import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; -import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type MemberTypePropertyTypeModelBaseModel = { - id: string; - container?: ReferenceByIdModel | null; - sortOrder: number; - alias: string; - name: string; - description?: string | null; - dataType: ReferenceByIdModel; - variesByCulture: boolean; - variesBySegment: boolean; - validation: PropertyTypeValidationModel; - appearance: PropertyTypeAppearanceModel; - isSensitive: boolean; - visibility: MemberTypePropertyTypeVisibilityModel; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeResponseModel.ts index 3ab12a7228..4f30c7db81 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeResponseModel.ts @@ -3,7 +3,24 @@ /* tslint:disable */ /* eslint-disable */ -import type { MemberTypePropertyTypeModelBaseModel } from './MemberTypePropertyTypeModelBaseModel'; +import type { MemberTypePropertyTypeVisibilityModel } from './MemberTypePropertyTypeVisibilityModel'; +import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; +import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type MemberTypePropertyTypeResponseModel = MemberTypePropertyTypeModelBaseModel; +export type MemberTypePropertyTypeResponseModel = { + id: string; + container: ReferenceByIdModel; + sortOrder: number; + alias: string; + name: string; + description?: string | null; + dataType: ReferenceByIdModel; + variesByCulture: boolean; + variesBySegment: boolean; + validation: PropertyTypeValidationModel; + appearance: PropertyTypeAppearanceModel; + isSensitive: boolean; + visibility: MemberTypePropertyTypeVisibilityModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeReferenceResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeReferenceResponseModel.ts index ae2b46be69..62426f96ca 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeReferenceResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeReferenceResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeReferenceResponseModelBaseModel } from './ContentTypeReferenceResponseModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type MemberTypeReferenceResponseModel = ContentTypeReferenceResponseModelBaseModel; +export type MemberTypeReferenceResponseModel = { + id: string; + icon: string; + collection: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeResponseModel.ts index dadb181c44..40d7e0ebc4 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeResponseModel.ts @@ -3,10 +3,24 @@ /* tslint:disable */ /* eslint-disable */ -import type { ContentTypeForMemberTypeResponseModel } from './ContentTypeForMemberTypeResponseModel'; import type { MemberTypeCompositionModel } from './MemberTypeCompositionModel'; +import type { MemberTypePropertyTypeContainerResponseModel } from './MemberTypePropertyTypeContainerResponseModel'; +import type { MemberTypePropertyTypeResponseModel } from './MemberTypePropertyTypeResponseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type MemberTypeResponseModel = (ContentTypeForMemberTypeResponseModel & { +export type MemberTypeResponseModel = { + alias: string; + name: string; + description?: string | null; + icon: string; + allowedAsRoot: boolean; + variesByCulture: boolean; + variesBySegment: boolean; + collection: ReferenceByIdModel; + isElement: boolean; + properties: Array; + containers: Array; + id: string; compositions: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberValueModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberValueModel.ts index 0d2b1f9893..2aa8c7666e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberValueModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberValueModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { ValueModelBaseModel } from './ValueModelBaseModel'; - -export type MemberValueModel = ValueModelBaseModel; +export type MemberValueModel = { + culture?: string | null; + segment?: string | null; + alias: string; + value?: any; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberVariantRequestModel.ts index 63ecf05ade..4cac4a6d2f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberVariantRequestModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { VariantModelBaseModel } from './VariantModelBaseModel'; - -export type MemberVariantRequestModel = VariantModelBaseModel; +export type MemberVariantRequestModel = { + culture?: string | null; + segment?: string | null; + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberVariantResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberVariantResponseModel.ts index 015da14f9e..157c54ea08 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberVariantResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberVariantResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { VariantResponseModelBaseModel } from './VariantResponseModelBaseModel'; - -export type MemberVariantResponseModel = VariantResponseModelBaseModel; +export type MemberVariantResponseModel = { + culture?: string | null; + segment?: string | null; + name: string; + createDate: string; + updateDate: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDataTypeRequestModel.ts index db0b40b1ff..7836b247e1 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDataTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveDataTypeRequestModel = { - target?: ReferenceByIdModel | null; + target: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDictionaryRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDictionaryRequestModel.ts index 806e676efc..aac90a42c4 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDictionaryRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDictionaryRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveDictionaryRequestModel = { - target?: ReferenceByIdModel | null; + target: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentRequestModel.ts index 0dd9fe3ca0..69d0726d27 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveDocumentRequestModel = { - target?: ReferenceByIdModel | null; + target: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentTypeRequestModel.ts index b61b053f9d..7bebf64389 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveDocumentTypeRequestModel = { - target?: ReferenceByIdModel | null; + target: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaRequestModel.ts index caea949b55..06ddab0824 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveMediaRequestModel = { - target?: ReferenceByIdModel | null; + target: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaTypeRequestModel.ts index d3b5a7c349..b112e3d0da 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveMediaTypeRequestModel = { - target?: ReferenceByIdModel | null; + target: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedEntityTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedEntityTreeItemResponseModel.ts index b46ea3126a..83461d9889 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedEntityTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedEntityTreeItemResponseModel.ts @@ -3,9 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { EntityTreeItemResponseModel } from './EntityTreeItemResponseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type NamedEntityTreeItemResponseModel = (EntityTreeItemResponseModel & { +export type NamedEntityTreeItemResponseModel = { + hasChildren: boolean; + id: string; + parent: ReferenceByIdModel; name: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedItemResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedItemResponseModelBaseModel.ts deleted file mode 100644 index d7a2882b2c..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedItemResponseModelBaseModel.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type NamedItemResponseModelBaseModel = { - id: string; - name: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/OkResult.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/OkResult.ts deleted file mode 100644 index a199ea6e61..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/OkResult.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type OkResult = { - statusCode: number; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageDefinitionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageDefinitionResponseModel.ts index f5248ab237..87ae43326b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageDefinitionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageDefinitionResponseModel.ts @@ -3,10 +3,22 @@ /* tslint:disable */ /* eslint-disable */ -import type { PackageModelBaseModel } from './PackageModelBaseModel'; - -export type PackageDefinitionResponseModel = (PackageModelBaseModel & { +export type PackageDefinitionResponseModel = { + name: string; + contentNodeId?: string | null; + contentLoadChildNodes: boolean; + mediaIds: Array; + mediaLoadChildNodes: boolean; + documentTypes: Array; + mediaTypes: Array; + dataTypes: Array; + templates: Array; + partialViews: Array; + stylesheets: Array; + scripts: Array; + languages: Array; + dictionaryItems: Array; id: string; packagePath: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageModelBaseModel.ts deleted file mode 100644 index 71ee36a68b..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageModelBaseModel.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type PackageModelBaseModel = { - name: string; - contentNodeId?: string | null; - contentLoadChildNodes: boolean; - mediaIds: Array; - mediaLoadChildNodes: boolean; - documentTypes: Array; - mediaTypes: Array; - dataTypes: Array; - templates: Array; - partialViews: Array; - stylesheets: Array; - scripts: Array; - languages: Array; - dictionaryItems: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PagedNamedEntityTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PagedNamedEntityTreeItemResponseModel.ts index c42a7ab504..9e6dd22dec 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PagedNamedEntityTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PagedNamedEntityTreeItemResponseModel.ts @@ -3,16 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { DataTypeTreeItemResponseModel } from './DataTypeTreeItemResponseModel'; -import type { DocumentBlueprintTreeItemResponseModel } from './DocumentBlueprintTreeItemResponseModel'; -import type { DocumentTypeTreeItemResponseModel } from './DocumentTypeTreeItemResponseModel'; -import type { FolderTreeItemResponseModel } from './FolderTreeItemResponseModel'; -import type { MediaTypeTreeItemResponseModel } from './MediaTypeTreeItemResponseModel'; import type { NamedEntityTreeItemResponseModel } from './NamedEntityTreeItemResponseModel'; -import type { RelationTypeTreeItemResponseModel } from './RelationTypeTreeItemResponseModel'; export type PagedNamedEntityTreeItemResponseModel = { total: number; - items: Array<(NamedEntityTreeItemResponseModel | DataTypeTreeItemResponseModel | DocumentBlueprintTreeItemResponseModel | DocumentTypeTreeItemResponseModel | FolderTreeItemResponseModel | MediaTypeTreeItemResponseModel | RelationTypeTreeItemResponseModel)>; + items: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PagedPartialViewSnippetItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PagedPartialViewSnippetItemResponseModel.ts index 0c0746288c..4292c1a083 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PagedPartialViewSnippetItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PagedPartialViewSnippetItemResponseModel.ts @@ -4,10 +4,9 @@ /* eslint-disable */ import type { PartialViewSnippetItemResponseModel } from './PartialViewSnippetItemResponseModel'; -import type { PartialViewSnippetResponseModel } from './PartialViewSnippetResponseModel'; export type PagedPartialViewSnippetItemResponseModel = { total: number; - items: Array<(PartialViewSnippetItemResponseModel | PartialViewSnippetResponseModel)>; + items: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewFolderResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewFolderResponseModel.ts index b43f9b3618..8aec4b106d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewFolderResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewFolderResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemResponseModelBaseModel } from './FileSystemResponseModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type PartialViewFolderResponseModel = FileSystemResponseModelBaseModel; +export type PartialViewFolderResponseModel = { + path: string; + name: string; + parent: FileSystemFolderModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewItemResponseModel.ts index 0e02db6975..957f5156ac 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewItemResponseModel.ts @@ -3,7 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemItemResponseModelBaseModel } from './FileSystemItemResponseModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type PartialViewItemResponseModel = FileSystemItemResponseModelBaseModel; +export type PartialViewItemResponseModel = { + path: string; + name: string; + parent: FileSystemFolderModel; + isFolder: boolean; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewResponseModel.ts index 1918d146c2..b50f771914 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewResponseModel.ts @@ -3,7 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemFileResponseModelBaseModel } from './FileSystemFileResponseModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type PartialViewResponseModel = FileSystemFileResponseModelBaseModel; +export type PartialViewResponseModel = { + path: string; + name: string; + parent: FileSystemFolderModel; + content: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewSnippetResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewSnippetResponseModel.ts index 5937fb3414..7a9ef1d406 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewSnippetResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewSnippetResponseModel.ts @@ -3,9 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { PartialViewSnippetItemResponseModel } from './PartialViewSnippetItemResponseModel'; - -export type PartialViewSnippetResponseModel = (PartialViewSnippetItemResponseModel & { +export type PartialViewSnippetResponseModel = { + id: string; + name: string; content: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PropertyTypeContainerModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PropertyTypeContainerModelBaseModel.ts deleted file mode 100644 index 6009b9eefb..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PropertyTypeContainerModelBaseModel.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type PropertyTypeContainerModelBaseModel = { - id: string; - parent?: ReferenceByIdModel | null; - name?: string | null; - type: string; - sortOrder: number; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PropertyTypeModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PropertyTypeModelBaseModel.ts deleted file mode 100644 index 46d414389d..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PropertyTypeModelBaseModel.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; -import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type PropertyTypeModelBaseModel = { - id: string; - container?: ReferenceByIdModel | null; - sortOrder: number; - alias: string; - name: string; - description?: string | null; - dataType: ReferenceByIdModel; - variesByCulture: boolean; - variesBySegment: boolean; - validation: PropertyTypeValidationModel; - appearance: PropertyTypeAppearanceModel; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessBaseModel.ts deleted file mode 100644 index a0aba14ef8..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessBaseModel.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ReferenceByIdModel } from './ReferenceByIdModel'; - -export type PublicAccessBaseModel = { - loginDocument: ReferenceByIdModel; - errorDocument: ReferenceByIdModel; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessRequestModel.ts index 60f518c835..d0381e1f21 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessRequestModel.ts @@ -3,10 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { PublicAccessBaseModel } from './PublicAccessBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type PublicAccessRequestModel = (PublicAccessBaseModel & { +export type PublicAccessRequestModel = { + loginDocument: ReferenceByIdModel; + errorDocument: ReferenceByIdModel; memberUserNames: Array; memberGroupNames: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessResponseModel.ts deleted file mode 100644 index f6b2145385..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PublicAccessResponseModel.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MemberGroupItemResponseModel } from './MemberGroupItemResponseModel'; -import type { MemberItemResponseModel } from './MemberItemResponseModel'; -import type { PublicAccessBaseModel } from './PublicAccessBaseModel'; - -export type PublicAccessResponseModel = (PublicAccessBaseModel & { - members: Array; - groups: Array; -}); - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RecycleBinItemResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RecycleBinItemResponseModelBaseModel.ts deleted file mode 100644 index 33493007b2..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RecycleBinItemResponseModelBaseModel.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ItemReferenceByIdResponseModel } from './ItemReferenceByIdResponseModel'; - -export type RecycleBinItemResponseModelBaseModel = { - id: string; - hasChildren: boolean; - parent?: ItemReferenceByIdResponseModel | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeBaseModel.ts deleted file mode 100644 index db102160d3..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeBaseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type RelationTypeBaseModel = { - name: string; - isBidirectional: boolean; - isDependency: boolean; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeItemResponseModel.ts index 1f9bcdfe1e..0d0bbfd99e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeItemResponseModel.ts @@ -3,9 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; - -export type RelationTypeItemResponseModel = (NamedItemResponseModelBaseModel & { +export type RelationTypeItemResponseModel = { + id: string; + name: string; isDeletable: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeResponseModel.ts index 9f6eafd317..3de2216cf8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeResponseModel.ts @@ -4,12 +4,14 @@ /* eslint-disable */ import type { ObjectTypeResponseModel } from './ObjectTypeResponseModel'; -import type { RelationTypeBaseModel } from './RelationTypeBaseModel'; -export type RelationTypeResponseModel = (RelationTypeBaseModel & { +export type RelationTypeResponseModel = { + name: string; + isBidirectional: boolean; + isDependency: boolean; id: string; alias?: string | null; - parentObject?: ObjectTypeResponseModel | null; - childObject?: ObjectTypeResponseModel | null; -}); + parentObject: ObjectTypeResponseModel; + childObject: ObjectTypeResponseModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeTreeItemResponseModel.ts deleted file mode 100644 index c1c4ce7465..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeTreeItemResponseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { NamedEntityTreeItemResponseModel } from './NamedEntityTreeItemResponseModel'; - -export type RelationTypeTreeItemResponseModel = (NamedEntityTreeItemResponseModel & { - isDeletable: boolean; -}); - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenamePartialViewRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenamePartialViewRequestModel.ts index 73d12f36fb..7fc3f67271 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenamePartialViewRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenamePartialViewRequestModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemRenameRequestModelBaseModel } from './FileSystemRenameRequestModelBaseModel'; - -export type RenamePartialViewRequestModel = FileSystemRenameRequestModelBaseModel; +export type RenamePartialViewRequestModel = { + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenameScriptRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenameScriptRequestModel.ts index cb578affc0..0d7a9af13f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenameScriptRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenameScriptRequestModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemRenameRequestModelBaseModel } from './FileSystemRenameRequestModelBaseModel'; - -export type RenameScriptRequestModel = FileSystemRenameRequestModelBaseModel; +export type RenameScriptRequestModel = { + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenameStylesheetRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenameStylesheetRequestModel.ts index 6af9564ff7..44165fb93e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenameStylesheetRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RenameStylesheetRequestModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemRenameRequestModelBaseModel } from './FileSystemRenameRequestModelBaseModel'; - -export type RenameStylesheetRequestModel = FileSystemRenameRequestModelBaseModel; +export type RenameStylesheetRequestModel = { + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordTokenRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordTokenRequestModel.ts index 513669862d..e291336f61 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordTokenRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordTokenRequestModel.ts @@ -3,9 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { VerifyResetPasswordTokenRequestModel } from './VerifyResetPasswordTokenRequestModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type ResetPasswordTokenRequestModel = (VerifyResetPasswordTokenRequestModel & { +export type ResetPasswordTokenRequestModel = { + user: ReferenceByIdModel; + resetCode: string; password: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchPresenationBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchPresenationBaseModel.ts deleted file mode 100644 index 8e8e032cf0..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchPresenationBaseModel.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type SavedLogSearchPresenationBaseModel = { - name: string; - query: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchRequestModel.ts index c73ea6edcf..a9a6db7caf 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchRequestModel.ts @@ -3,7 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { SavedLogSearchPresenationBaseModel } from './SavedLogSearchPresenationBaseModel'; - -export type SavedLogSearchRequestModel = SavedLogSearchPresenationBaseModel; +export type SavedLogSearchRequestModel = { + name: string; + query: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchResponseModel.ts index 764e26b616..7544779e07 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SavedLogSearchResponseModel.ts @@ -3,7 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { SavedLogSearchPresenationBaseModel } from './SavedLogSearchPresenationBaseModel'; - -export type SavedLogSearchResponseModel = SavedLogSearchPresenationBaseModel; +export type SavedLogSearchResponseModel = { + name: string; + query: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptFolderResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptFolderResponseModel.ts index c1c41eee88..b1b538957a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptFolderResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptFolderResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemResponseModelBaseModel } from './FileSystemResponseModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type ScriptFolderResponseModel = FileSystemResponseModelBaseModel; +export type ScriptFolderResponseModel = { + path: string; + name: string; + parent: FileSystemFolderModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptItemResponseModel.ts index 714d81db7d..ed0c6cfc5e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptItemResponseModel.ts @@ -3,7 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemItemResponseModelBaseModel } from './FileSystemItemResponseModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type ScriptItemResponseModel = FileSystemItemResponseModelBaseModel; +export type ScriptItemResponseModel = { + path: string; + name: string; + parent: FileSystemFolderModel; + isFolder: boolean; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptResponseModel.ts index 789b07ca28..f9b7847b2a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptResponseModel.ts @@ -3,7 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemFileResponseModelBaseModel } from './FileSystemFileResponseModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type ScriptResponseModel = FileSystemFileResponseModelBaseModel; +export type ScriptResponseModel = { + path: string; + name: string; + parent: FileSystemFolderModel; + content: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ServerConfigurationBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ServerConfigurationBaseModel.ts deleted file mode 100644 index 0192f50c80..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ServerConfigurationBaseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ServerConfigurationItemResponseModel } from './ServerConfigurationItemResponseModel'; - -export type ServerConfigurationBaseModel = { - items: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ServerTroubleshootingResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ServerTroubleshootingResponseModel.ts index f46e4202ff..54a020dd94 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ServerTroubleshootingResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ServerTroubleshootingResponseModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { ServerConfigurationBaseModel } from './ServerConfigurationBaseModel'; +import type { ServerConfigurationItemResponseModel } from './ServerConfigurationItemResponseModel'; -export type ServerTroubleshootingResponseModel = ServerConfigurationBaseModel; +export type ServerTroubleshootingResponseModel = { + items: Array; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SetTourStatusRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SetTourStatusRequestModel.ts index b92400222f..b766154055 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SetTourStatusRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SetTourStatusRequestModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { TourStatusModel } from './TourStatusModel'; - -export type SetTourStatusRequestModel = TourStatusModel; +export type SetTourStatusRequestModel = { + alias: string; + completed: boolean; + disabled: boolean; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts index 3a0561adca..8875a0f2df 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts @@ -7,7 +7,7 @@ import type { ItemSortingRequestModel } from './ItemSortingRequestModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type SortingRequestModel = { - parent?: ReferenceByIdModel | null; + parent: ReferenceByIdModel; sorting: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StaticFileItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StaticFileItemResponseModel.ts index 2ad2984074..ab170dbd26 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StaticFileItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StaticFileItemResponseModel.ts @@ -3,7 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemItemResponseModelBaseModel } from './FileSystemItemResponseModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type StaticFileItemResponseModel = FileSystemItemResponseModelBaseModel; +export type StaticFileItemResponseModel = { + path: string; + name: string; + parent: FileSystemFolderModel; + isFolder: boolean; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetFolderResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetFolderResponseModel.ts index 3c0fda4061..bb636008d4 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetFolderResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetFolderResponseModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemResponseModelBaseModel } from './FileSystemResponseModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type StylesheetFolderResponseModel = FileSystemResponseModelBaseModel; +export type StylesheetFolderResponseModel = { + path: string; + name: string; + parent: FileSystemFolderModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetItemResponseModel.ts index c4b7d817c6..cf34c00e3e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetItemResponseModel.ts @@ -3,7 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemItemResponseModelBaseModel } from './FileSystemItemResponseModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type StylesheetItemResponseModel = FileSystemItemResponseModelBaseModel; +export type StylesheetItemResponseModel = { + path: string; + name: string; + parent: FileSystemFolderModel; + isFolder: boolean; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetResponseModel.ts index e32e8f2d74..59cbd1d1e1 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetResponseModel.ts @@ -3,7 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemFileResponseModelBaseModel } from './FileSystemFileResponseModelBaseModel'; +import type { FileSystemFolderModel } from './FileSystemFolderModel'; -export type StylesheetResponseModel = FileSystemFileResponseModelBaseModel; +export type StylesheetResponseModel = { + path: string; + name: string; + parent: FileSystemFolderModel; + content: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryRepresentationBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryRepresentationBaseModel.ts deleted file mode 100644 index fb7b6286a9..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryRepresentationBaseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { TelemetryLevelModel } from './TelemetryLevelModel'; - -export type TelemetryRepresentationBaseModel = { - telemetryLevel: TelemetryLevelModel; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryRequestModel.ts index 4038ab5922..51e086f3e8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryRequestModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { TelemetryRepresentationBaseModel } from './TelemetryRepresentationBaseModel'; +import type { TelemetryLevelModel } from './TelemetryLevelModel'; -export type TelemetryRequestModel = TelemetryRepresentationBaseModel; +export type TelemetryRequestModel = { + telemetryLevel: TelemetryLevelModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryResponseModel.ts index 6845564be7..cf83a280a0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TelemetryResponseModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { TelemetryRepresentationBaseModel } from './TelemetryRepresentationBaseModel'; +import type { TelemetryLevelModel } from './TelemetryLevelModel'; -export type TelemetryResponseModel = TelemetryRepresentationBaseModel; +export type TelemetryResponseModel = { + telemetryLevel: TelemetryLevelModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateItemResponseModel.ts index dc6a62ed51..caab43c55f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateItemResponseModel.ts @@ -3,9 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; - -export type TemplateItemResponseModel = (NamedItemResponseModelBaseModel & { +export type TemplateItemResponseModel = { + id: string; + name: string; alias: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateModelBaseModel.ts deleted file mode 100644 index 788f0cfcd9..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateModelBaseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type TemplateModelBaseModel = { - name: string; - alias: string; - content?: string | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateQueryExecuteModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateQueryExecuteModel.ts index 5ee9d6e4e5..d7ea3eed87 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateQueryExecuteModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateQueryExecuteModel.ts @@ -8,10 +8,10 @@ import type { TemplateQueryExecuteFilterPresentationModel } from './TemplateQuer import type { TemplateQueryExecuteSortModel } from './TemplateQueryExecuteSortModel'; export type TemplateQueryExecuteModel = { - rootDocument?: ReferenceByIdModel | null; + rootDocument: ReferenceByIdModel; documentTypeAlias?: string | null; filters?: Array | null; - sort?: TemplateQueryExecuteSortModel | null; + sort: TemplateQueryExecuteSortModel; take: number; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateResponseModel.ts index dab1be928a..c5d11c2343 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateResponseModel.ts @@ -4,10 +4,12 @@ /* eslint-disable */ import type { ReferenceByIdModel } from './ReferenceByIdModel'; -import type { TemplateModelBaseModel } from './TemplateModelBaseModel'; -export type TemplateResponseModel = (TemplateModelBaseModel & { +export type TemplateResponseModel = { + name: string; + alias: string; + content?: string | null; id: string; - masterTemplate?: ReferenceByIdModel | null; -}); + masterTemplate: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceContentTypeModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceContentTypeModel.ts deleted file mode 100644 index 3c5d0602c5..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceContentTypeModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type TrackedReferenceContentTypeModel = { - icon?: string | null; - alias?: string | null; - name?: string | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceDocumentTypeModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceDocumentTypeModel.ts index bf4b1bee03..d6db0e12e0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceDocumentTypeModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceDocumentTypeModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { TrackedReferenceContentTypeModel } from './TrackedReferenceContentTypeModel'; - -export type TrackedReferenceDocumentTypeModel = TrackedReferenceContentTypeModel; +export type TrackedReferenceDocumentTypeModel = { + icon?: string | null; + alias?: string | null; + name?: string | null; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceMediaTypeModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceMediaTypeModel.ts index d8b64564ea..41c533bbf1 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceMediaTypeModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TrackedReferenceMediaTypeModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { TrackedReferenceContentTypeModel } from './TrackedReferenceContentTypeModel'; - -export type TrackedReferenceMediaTypeModel = TrackedReferenceContentTypeModel; +export type TrackedReferenceMediaTypeModel = { + icon?: string | null; + alias?: string | null; + name?: string | null; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TreeItemPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TreeItemPresentationModel.ts deleted file mode 100644 index 3f84670b27..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TreeItemPresentationModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type TreeItemPresentationModel = { - hasChildren: boolean; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UnknownTypePermissionPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UnknownTypePermissionPresentationModel.ts index ca089bbf6f..168b32b22d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UnknownTypePermissionPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UnknownTypePermissionPresentationModel.ts @@ -4,7 +4,6 @@ /* eslint-disable */ export type UnknownTypePermissionPresentationModel = { - $type: string; verbs: Array; context: string; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForDocumentRequestModel.ts deleted file mode 100644 index 914404a689..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForDocumentRequestModel.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { DocumentValueModel } from './DocumentValueModel'; -import type { DocumentVariantRequestModel } from './DocumentVariantRequestModel'; - -export type UpdateContentForDocumentRequestModel = { - values: Array; - variants: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForMediaRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForMediaRequestModel.ts deleted file mode 100644 index 9abbcea7e2..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForMediaRequestModel.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MediaValueModel } from './MediaValueModel'; -import type { MediaVariantRequestModel } from './MediaVariantRequestModel'; - -export type UpdateContentForMediaRequestModel = { - values: Array; - variants: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForMemberRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForMemberRequestModel.ts deleted file mode 100644 index e25be5f883..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentForMemberRequestModel.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { MemberValueModel } from './MemberValueModel'; -import type { MemberVariantRequestModel } from './MemberVariantRequestModel'; - -export type UpdateContentForMemberRequestModel = { - values: Array; - variants: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForDocumentTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForDocumentTypeRequestModel.ts deleted file mode 100644 index 55e6966d8c..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForDocumentTypeRequestModel.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ReferenceByIdModel } from './ReferenceByIdModel'; -import type { UpdateDocumentTypePropertyTypeContainerRequestModel } from './UpdateDocumentTypePropertyTypeContainerRequestModel'; -import type { UpdateDocumentTypePropertyTypeRequestModel } from './UpdateDocumentTypePropertyTypeRequestModel'; - -export type UpdateContentTypeForDocumentTypeRequestModel = { - alias: string; - name: string; - description?: string | null; - icon: string; - allowedAsRoot: boolean; - variesByCulture: boolean; - variesBySegment: boolean; - collection?: ReferenceByIdModel | null; - isElement: boolean; - properties: Array; - containers: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForMediaTypeRequestModel.ts deleted file mode 100644 index 6edc724854..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForMediaTypeRequestModel.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ReferenceByIdModel } from './ReferenceByIdModel'; -import type { UpdateMediaTypePropertyTypeContainerRequestModel } from './UpdateMediaTypePropertyTypeContainerRequestModel'; -import type { UpdateMediaTypePropertyTypeRequestModel } from './UpdateMediaTypePropertyTypeRequestModel'; - -export type UpdateContentTypeForMediaTypeRequestModel = { - alias: string; - name: string; - description?: string | null; - icon: string; - allowedAsRoot: boolean; - variesByCulture: boolean; - variesBySegment: boolean; - collection?: ReferenceByIdModel | null; - isElement: boolean; - properties: Array; - containers: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForMemberTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForMemberTypeRequestModel.ts deleted file mode 100644 index 6e32bbb080..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeForMemberTypeRequestModel.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ReferenceByIdModel } from './ReferenceByIdModel'; -import type { UpdateMemberTypePropertyTypeContainerRequestModel } from './UpdateMemberTypePropertyTypeContainerRequestModel'; -import type { UpdateMemberTypePropertyTypeRequestModel } from './UpdateMemberTypePropertyTypeRequestModel'; - -export type UpdateContentTypeForMemberTypeRequestModel = { - alias: string; - name: string; - description?: string | null; - icon: string; - allowedAsRoot: boolean; - variesByCulture: boolean; - variesBySegment: boolean; - collection?: ReferenceByIdModel | null; - isElement: boolean; - properties: Array; - containers: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDataTypeRequestModel.ts index 635cf63785..43323378ff 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDataTypeRequestModel.ts @@ -3,7 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { DataTypeModelBaseModel } from './DataTypeModelBaseModel'; +import type { DataTypePropertyPresentationModel } from './DataTypePropertyPresentationModel'; -export type UpdateDataTypeRequestModel = DataTypeModelBaseModel; +export type UpdateDataTypeRequestModel = { + name: string; + editorAlias: string; + editorUiAlias?: string | null; + values: Array; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDictionaryItemRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDictionaryItemRequestModel.ts index 1348c0ca10..5381933ff4 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDictionaryItemRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDictionaryItemRequestModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { DictionaryItemModelBaseModel } from './DictionaryItemModelBaseModel'; +import type { DictionaryItemTranslationModel } from './DictionaryItemTranslationModel'; -export type UpdateDictionaryItemRequestModel = DictionaryItemModelBaseModel; +export type UpdateDictionaryItemRequestModel = { + name: string; + translations: Array; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentBlueprintRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentBlueprintRequestModel.ts index 77e39bc70d..0eb5028bac 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentBlueprintRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentBlueprintRequestModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { UpdateContentForDocumentRequestModel } from './UpdateContentForDocumentRequestModel'; +import type { DocumentValueModel } from './DocumentValueModel'; +import type { DocumentVariantRequestModel } from './DocumentVariantRequestModel'; -export type UpdateDocumentBlueprintRequestModel = UpdateContentForDocumentRequestModel; +export type UpdateDocumentBlueprintRequestModel = { + values: Array; + variants: Array; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentRequestModel.ts index 75b04656c5..2192a64268 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentRequestModel.ts @@ -3,10 +3,13 @@ /* tslint:disable */ /* eslint-disable */ +import type { DocumentValueModel } from './DocumentValueModel'; +import type { DocumentVariantRequestModel } from './DocumentVariantRequestModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -import type { UpdateContentForDocumentRequestModel } from './UpdateContentForDocumentRequestModel'; -export type UpdateDocumentRequestModel = (UpdateContentForDocumentRequestModel & { - template?: ReferenceByIdModel | null; -}); +export type UpdateDocumentRequestModel = { + values: Array; + variants: Array; + template: ReferenceByIdModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeContainerRequestModel.ts index a5b9b39f26..1ce7155233 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeContainerRequestModel.ts @@ -3,7 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type UpdateDocumentTypePropertyTypeContainerRequestModel = PropertyTypeContainerModelBaseModel; +export type UpdateDocumentTypePropertyTypeContainerRequestModel = { + id: string; + parent: ReferenceByIdModel; + name?: string | null; + type: string; + sortOrder: number; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeRequestModel.ts index ef34f46fe6..4d604adac5 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeRequestModel.ts @@ -3,7 +3,21 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeModelBaseModel } from './PropertyTypeModelBaseModel'; +import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; +import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type UpdateDocumentTypePropertyTypeRequestModel = PropertyTypeModelBaseModel; +export type UpdateDocumentTypePropertyTypeRequestModel = { + id: string; + container: ReferenceByIdModel; + sortOrder: number; + alias: string; + name: string; + description?: string | null; + dataType: ReferenceByIdModel; + variesByCulture: boolean; + variesBySegment: boolean; + validation: PropertyTypeValidationModel; + appearance: PropertyTypeAppearanceModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypeRequestModel.ts index b7ee352bb0..b795c6da61 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypeRequestModel.ts @@ -7,13 +7,25 @@ import type { DocumentTypeCleanupModel } from './DocumentTypeCleanupModel'; import type { DocumentTypeCompositionModel } from './DocumentTypeCompositionModel'; import type { DocumentTypeSortModel } from './DocumentTypeSortModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; -import type { UpdateContentTypeForDocumentTypeRequestModel } from './UpdateContentTypeForDocumentTypeRequestModel'; +import type { UpdateDocumentTypePropertyTypeContainerRequestModel } from './UpdateDocumentTypePropertyTypeContainerRequestModel'; +import type { UpdateDocumentTypePropertyTypeRequestModel } from './UpdateDocumentTypePropertyTypeRequestModel'; -export type UpdateDocumentTypeRequestModel = (UpdateContentTypeForDocumentTypeRequestModel & { +export type UpdateDocumentTypeRequestModel = { + alias: string; + name: string; + description?: string | null; + icon: string; + allowedAsRoot: boolean; + variesByCulture: boolean; + variesBySegment: boolean; + collection: ReferenceByIdModel; + isElement: boolean; + properties: Array; + containers: Array; allowedTemplates: Array; - defaultTemplate?: ReferenceByIdModel | null; + defaultTemplate: ReferenceByIdModel; cleanup: DocumentTypeCleanupModel; allowedDocumentTypes: Array; compositions: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDomainsRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDomainsRequestModel.ts index 2b35548f52..a5954d9801 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDomainsRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDomainsRequestModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { DomainsPresentationModelBaseModel } from './DomainsPresentationModelBaseModel'; +import type { DomainPresentationModel } from './DomainPresentationModel'; -export type UpdateDomainsRequestModel = DomainsPresentationModelBaseModel; +export type UpdateDomainsRequestModel = { + defaultIsoCode?: string | null; + domains: Array; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateFolderResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateFolderResponseModel.ts index d5efa20832..dcac13e4fd 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateFolderResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateFolderResponseModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -import type { FolderModelBaseModel } from './FolderModelBaseModel'; - -export type UpdateFolderResponseModel = FolderModelBaseModel; +export type UpdateFolderResponseModel = { + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateLanguageRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateLanguageRequestModel.ts index 9b4c7f6c2a..55a440a3c7 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateLanguageRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateLanguageRequestModel.ts @@ -3,7 +3,10 @@ /* tslint:disable */ /* eslint-disable */ -import type { LanguageModelBaseModel } from './LanguageModelBaseModel'; - -export type UpdateLanguageRequestModel = LanguageModelBaseModel; +export type UpdateLanguageRequestModel = { + name: string; + isDefault: boolean; + isMandatory: boolean; + fallbackIsoCode?: string | null; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaRequestModel.ts index 66f8fcd3ca..0942d3f2c5 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaRequestModel.ts @@ -3,7 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { UpdateContentForMediaRequestModel } from './UpdateContentForMediaRequestModel'; +import type { MediaValueModel } from './MediaValueModel'; +import type { MediaVariantRequestModel } from './MediaVariantRequestModel'; -export type UpdateMediaRequestModel = UpdateContentForMediaRequestModel; +export type UpdateMediaRequestModel = { + values: Array; + variants: Array; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts index 784c0540ad..853e24513d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts @@ -3,7 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type UpdateMediaTypePropertyTypeContainerRequestModel = PropertyTypeContainerModelBaseModel; +export type UpdateMediaTypePropertyTypeContainerRequestModel = { + id: string; + parent: ReferenceByIdModel; + name?: string | null; + type: string; + sortOrder: number; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts index 01c5dca483..606c5f1157 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts @@ -3,7 +3,21 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeModelBaseModel } from './PropertyTypeModelBaseModel'; +import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; +import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type UpdateMediaTypePropertyTypeRequestModel = PropertyTypeModelBaseModel; +export type UpdateMediaTypePropertyTypeRequestModel = { + id: string; + container: ReferenceByIdModel; + sortOrder: number; + alias: string; + name: string; + description?: string | null; + dataType: ReferenceByIdModel; + variesByCulture: boolean; + variesBySegment: boolean; + validation: PropertyTypeValidationModel; + appearance: PropertyTypeAppearanceModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts index 25341fe97d..6e0f3dd1e3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts @@ -5,10 +5,23 @@ import type { MediaTypeCompositionModel } from './MediaTypeCompositionModel'; import type { MediaTypeSortModel } from './MediaTypeSortModel'; -import type { UpdateContentTypeForMediaTypeRequestModel } from './UpdateContentTypeForMediaTypeRequestModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; +import type { UpdateMediaTypePropertyTypeContainerRequestModel } from './UpdateMediaTypePropertyTypeContainerRequestModel'; +import type { UpdateMediaTypePropertyTypeRequestModel } from './UpdateMediaTypePropertyTypeRequestModel'; -export type UpdateMediaTypeRequestModel = (UpdateContentTypeForMediaTypeRequestModel & { +export type UpdateMediaTypeRequestModel = { + alias: string; + name: string; + description?: string | null; + icon: string; + allowedAsRoot: boolean; + variesByCulture: boolean; + variesBySegment: boolean; + collection: ReferenceByIdModel; + isElement: boolean; + properties: Array; + containers: Array; allowedMediaTypes: Array; compositions: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberGroupRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberGroupRequestModel.ts index 18b082fb02..85d416d3f6 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberGroupRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberGroupRequestModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -import type { MemberGroupPresentationBaseModel } from './MemberGroupPresentationBaseModel'; - -export type UpdateMemberGroupRequestModel = MemberGroupPresentationBaseModel; +export type UpdateMemberGroupRequestModel = { + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberRequestModel.ts index 18dc534391..02bd5edebb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberRequestModel.ts @@ -3,9 +3,12 @@ /* tslint:disable */ /* eslint-disable */ -import type { UpdateContentForMemberRequestModel } from './UpdateContentForMemberRequestModel'; +import type { MemberValueModel } from './MemberValueModel'; +import type { MemberVariantRequestModel } from './MemberVariantRequestModel'; -export type UpdateMemberRequestModel = (UpdateContentForMemberRequestModel & { +export type UpdateMemberRequestModel = { + values: Array; + variants: Array; email: string; username: string; oldPassword?: string | null; @@ -14,5 +17,5 @@ export type UpdateMemberRequestModel = (UpdateContentForMemberRequestModel & { isApproved: boolean; isLockedOut: boolean; isTwoFactorEnabled: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeContainerRequestModel.ts index effedf5625..aa7dcf79e8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeContainerRequestModel.ts @@ -3,7 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type UpdateMemberTypePropertyTypeContainerRequestModel = PropertyTypeContainerModelBaseModel; +export type UpdateMemberTypePropertyTypeContainerRequestModel = { + id: string; + parent: ReferenceByIdModel; + name?: string | null; + type: string; + sortOrder: number; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeRequestModel.ts index f25dbc33e8..b12c2b4f1a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeRequestModel.ts @@ -3,7 +3,24 @@ /* tslint:disable */ /* eslint-disable */ -import type { MemberTypePropertyTypeModelBaseModel } from './MemberTypePropertyTypeModelBaseModel'; +import type { MemberTypePropertyTypeVisibilityModel } from './MemberTypePropertyTypeVisibilityModel'; +import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel'; +import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; -export type UpdateMemberTypePropertyTypeRequestModel = MemberTypePropertyTypeModelBaseModel; +export type UpdateMemberTypePropertyTypeRequestModel = { + id: string; + container: ReferenceByIdModel; + sortOrder: number; + alias: string; + name: string; + description?: string | null; + dataType: ReferenceByIdModel; + variesByCulture: boolean; + variesBySegment: boolean; + validation: PropertyTypeValidationModel; + appearance: PropertyTypeAppearanceModel; + isSensitive: boolean; + visibility: MemberTypePropertyTypeVisibilityModel; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypeRequestModel.ts index 63655cd01a..347a70b625 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypeRequestModel.ts @@ -4,9 +4,22 @@ /* eslint-disable */ import type { MemberTypeCompositionModel } from './MemberTypeCompositionModel'; -import type { UpdateContentTypeForMemberTypeRequestModel } from './UpdateContentTypeForMemberTypeRequestModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; +import type { UpdateMemberTypePropertyTypeContainerRequestModel } from './UpdateMemberTypePropertyTypeContainerRequestModel'; +import type { UpdateMemberTypePropertyTypeRequestModel } from './UpdateMemberTypePropertyTypeRequestModel'; -export type UpdateMemberTypeRequestModel = (UpdateContentTypeForMemberTypeRequestModel & { +export type UpdateMemberTypeRequestModel = { + alias: string; + name: string; + description?: string | null; + icon: string; + allowedAsRoot: boolean; + variesByCulture: boolean; + variesBySegment: boolean; + collection: ReferenceByIdModel; + isElement: boolean; + properties: Array; + containers: Array; compositions: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdatePackageRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdatePackageRequestModel.ts index c77502d8d6..85b28a9baf 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdatePackageRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdatePackageRequestModel.ts @@ -3,9 +3,21 @@ /* tslint:disable */ /* eslint-disable */ -import type { PackageModelBaseModel } from './PackageModelBaseModel'; - -export type UpdatePackageRequestModel = (PackageModelBaseModel & { +export type UpdatePackageRequestModel = { + name: string; + contentNodeId?: string | null; + contentLoadChildNodes: boolean; + mediaIds: Array; + mediaLoadChildNodes: boolean; + documentTypes: Array; + mediaTypes: Array; + dataTypes: Array; + templates: Array; + partialViews: Array; + stylesheets: Array; + scripts: Array; + languages: Array; + dictionaryItems: Array; packagePath: string; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdatePartialViewRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdatePartialViewRequestModel.ts index 74425b5145..68b2cbdd38 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdatePartialViewRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdatePartialViewRequestModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemFileUpdateRequestModelBaseModel } from './FileSystemFileUpdateRequestModelBaseModel'; - -export type UpdatePartialViewRequestModel = FileSystemFileUpdateRequestModelBaseModel; +export type UpdatePartialViewRequestModel = { + content: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateScriptRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateScriptRequestModel.ts index 64b5dd28d1..7fea8d250b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateScriptRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateScriptRequestModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemFileUpdateRequestModelBaseModel } from './FileSystemFileUpdateRequestModelBaseModel'; - -export type UpdateScriptRequestModel = FileSystemFileUpdateRequestModelBaseModel; +export type UpdateScriptRequestModel = { + content: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateStylesheetRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateStylesheetRequestModel.ts index 06dd317e1f..6e95bb058c 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateStylesheetRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateStylesheetRequestModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -import type { FileSystemFileUpdateRequestModelBaseModel } from './FileSystemFileUpdateRequestModelBaseModel'; - -export type UpdateStylesheetRequestModel = FileSystemFileUpdateRequestModelBaseModel; +export type UpdateStylesheetRequestModel = { + content: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateTemplateRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateTemplateRequestModel.ts index a4a734154c..837981d8e6 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateTemplateRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateTemplateRequestModel.ts @@ -3,7 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { TemplateModelBaseModel } from './TemplateModelBaseModel'; - -export type UpdateTemplateRequestModel = TemplateModelBaseModel; +export type UpdateTemplateRequestModel = { + name: string; + alias: string; + content?: string | null; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserGroupRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserGroupRequestModel.ts index f6f7cecb2d..d250020772 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserGroupRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserGroupRequestModel.ts @@ -3,7 +3,21 @@ /* tslint:disable */ /* eslint-disable */ -import type { UserGroupBaseModel } from './UserGroupBaseModel'; +import type { DocumentPermissionPresentationModel } from './DocumentPermissionPresentationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; +import type { UnknownTypePermissionPresentationModel } from './UnknownTypePermissionPresentationModel'; -export type UpdateUserGroupRequestModel = UserGroupBaseModel; +export type UpdateUserGroupRequestModel = { + name: string; + icon?: string | null; + sections: Array; + languages: Array; + hasAccessToAllLanguages: boolean; + documentStartNode: ReferenceByIdModel; + documentRootAccess: boolean; + mediaStartNode: ReferenceByIdModel; + mediaRootAccess: boolean; + fallbackPermissions: Array; + permissions: Array<(DocumentPermissionPresentationModel | UnknownTypePermissionPresentationModel)>; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserRequestModel.ts index a9985bc90d..acb30e4f35 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserRequestModel.ts @@ -3,11 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { UserPresentationBaseModel } from './UserPresentationBaseModel'; - -export type UpdateUserRequestModel = (UserPresentationBaseModel & { +export type UpdateUserRequestModel = { + email: string; + userName: string; + name: string; + userGroupIds: Array; languageIsoCode: string; documentStartNodeIds: Array; mediaStartNodeIds: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateWebhookRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateWebhookRequestModel.ts index c4efd99c20..476e64a89f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateWebhookRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateWebhookRequestModel.ts @@ -3,9 +3,11 @@ /* tslint:disable */ /* eslint-disable */ -import type { WebhookModelBaseModel } from './WebhookModelBaseModel'; - -export type UpdateWebhookRequestModel = (WebhookModelBaseModel & { +export type UpdateWebhookRequestModel = { + enabled: boolean; + url: string; + contentTypeKeys: Array; + headers: Record; events: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupBaseModel.ts deleted file mode 100644 index 12df62d966..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupBaseModel.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { DocumentPermissionPresentationModel } from './DocumentPermissionPresentationModel'; -import type { ReferenceByIdModel } from './ReferenceByIdModel'; -import type { UnknownTypePermissionPresentationModel } from './UnknownTypePermissionPresentationModel'; - -export type UserGroupBaseModel = { - name: string; - icon?: string | null; - sections: Array; - languages: Array; - hasAccessToAllLanguages: boolean; - documentStartNode?: ReferenceByIdModel | null; - documentRootAccess: boolean; - mediaStartNode?: ReferenceByIdModel | null; - mediaRootAccess: boolean; - fallbackPermissions: Array; - permissions: Array<(DocumentPermissionPresentationModel | UnknownTypePermissionPresentationModel)>; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupItemResponseModel.ts index 8ded3fdf6e..a048595095 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupItemResponseModel.ts @@ -3,9 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; - -export type UserGroupItemResponseModel = (NamedItemResponseModelBaseModel & { +export type UserGroupItemResponseModel = { + id: string; + name: string; icon?: string | null; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupResponseModel.ts index 04526f66a1..cb81986f85 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupResponseModel.ts @@ -3,10 +3,23 @@ /* tslint:disable */ /* eslint-disable */ -import type { UserGroupBaseModel } from './UserGroupBaseModel'; +import type { DocumentPermissionPresentationModel } from './DocumentPermissionPresentationModel'; +import type { ReferenceByIdModel } from './ReferenceByIdModel'; +import type { UnknownTypePermissionPresentationModel } from './UnknownTypePermissionPresentationModel'; -export type UserGroupResponseModel = (UserGroupBaseModel & { +export type UserGroupResponseModel = { + name: string; + icon?: string | null; + sections: Array; + languages: Array; + hasAccessToAllLanguages: boolean; + documentStartNode: ReferenceByIdModel; + documentRootAccess: boolean; + mediaStartNode: ReferenceByIdModel; + mediaRootAccess: boolean; + fallbackPermissions: Array; + permissions: Array<(DocumentPermissionPresentationModel | UnknownTypePermissionPresentationModel)>; id: string; isSystemGroup: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserInstallPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserInstallRequestModel.ts similarity index 84% rename from src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserInstallPresentationModel.ts rename to src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserInstallRequestModel.ts index 60841dad48..a24cc35709 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserInstallPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserInstallRequestModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -export type UserInstallPresentationModel = { +export type UserInstallRequestModel = { name: string; email: string; password: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserItemResponseModel.ts index fbe9a652d8..e5bcc26d58 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserItemResponseModel.ts @@ -3,7 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { NamedItemResponseModelBaseModel } from './NamedItemResponseModelBaseModel'; - -export type UserItemResponseModel = NamedItemResponseModelBaseModel; +export type UserItemResponseModel = { + id: string; + name: string; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserPresentationBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserPresentationBaseModel.ts deleted file mode 100644 index 13a3b9e8a7..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserPresentationBaseModel.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type UserPresentationBaseModel = { - email: string; - userName: string; - name: string; - userGroupIds: Array; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserResponseModel.ts index 32715c2d87..4f11202c48 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserResponseModel.ts @@ -3,10 +3,13 @@ /* tslint:disable */ /* eslint-disable */ -import type { UserPresentationBaseModel } from './UserPresentationBaseModel'; import type { UserStateModel } from './UserStateModel'; -export type UserResponseModel = (UserPresentationBaseModel & { +export type UserResponseModel = { + email: string; + userName: string; + name: string; + userGroupIds: Array; id: string; languageIsoCode?: string | null; documentStartNodeIds: Array; @@ -20,5 +23,5 @@ export type UserResponseModel = (UserPresentationBaseModel & { lastLockoutDate?: string | null; lastPasswordChangeDate?: string | null; isAdmin: boolean; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserTourStatusesResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserTourStatusesResponseModel.ts index be820dec20..d27675704d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserTourStatusesResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserTourStatusesResponseModel.ts @@ -3,10 +3,9 @@ /* tslint:disable */ /* eslint-disable */ -import type { SetTourStatusRequestModel } from './SetTourStatusRequestModel'; import type { TourStatusModel } from './TourStatusModel'; export type UserTourStatusesResponseModel = { - tourStatuses: Array<(TourStatusModel | SetTourStatusRequestModel)>; + tourStatuses: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ValueModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ValueModelBaseModel.ts deleted file mode 100644 index 6fef1698f5..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ValueModelBaseModel.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type ValueModelBaseModel = { - culture?: string | null; - segment?: string | null; - alias: string; - value?: any; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantItemResponseModel.ts index 803621a39c..eb139f6fb5 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantItemResponseModel.ts @@ -3,7 +3,8 @@ /* tslint:disable */ /* eslint-disable */ -import type { VariantItemResponseModelBaseModel } from './VariantItemResponseModelBaseModel'; - -export type VariantItemResponseModel = VariantItemResponseModelBaseModel; +export type VariantItemResponseModel = { + name: string; + culture?: string | null; +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantItemResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantItemResponseModelBaseModel.ts deleted file mode 100644 index 955c49c60c..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantItemResponseModelBaseModel.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type VariantItemResponseModelBaseModel = { - name: string; - culture?: string | null; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantModelBaseModel.ts deleted file mode 100644 index fc747713b2..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantModelBaseModel.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type VariantModelBaseModel = { - culture?: string | null; - segment?: string | null; - name: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantResponseModelBaseModel.ts deleted file mode 100644 index 62e1eea854..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VariantResponseModelBaseModel.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type VariantResponseModelBaseModel = { - culture?: string | null; - segment?: string | null; - name: string; - createDate: string; - updateDate: string; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyInviteUserResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyInviteUserResponseModel.ts new file mode 100644 index 0000000000..cc7f102b7f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyInviteUserResponseModel.ts @@ -0,0 +1,11 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { PasswordConfigurationResponseModel } from './PasswordConfigurationResponseModel'; + +export type VerifyInviteUserResponseModel = { + passwordConfiguration: PasswordConfigurationResponseModel; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordResponseModel.ts new file mode 100644 index 0000000000..1c80084a94 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordResponseModel.ts @@ -0,0 +1,11 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { PasswordConfigurationResponseModel } from './PasswordConfigurationResponseModel'; + +export type VerifyResetPasswordResponseModel = { + passwordConfiguration: PasswordConfigurationResponseModel; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/WebhookModelBaseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/WebhookModelBaseModel.ts deleted file mode 100644 index d3e579f232..0000000000 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/WebhookModelBaseModel.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type WebhookModelBaseModel = { - enabled: boolean; - url: string; - contentTypeKeys: Array; - headers: Record; -}; - diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/WebhookResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/WebhookResponseModel.ts index 6ac0c94a39..918c92805b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/WebhookResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/WebhookResponseModel.ts @@ -4,10 +4,13 @@ /* eslint-disable */ import type { WebhookEventResponseModel } from './WebhookEventResponseModel'; -import type { WebhookModelBaseModel } from './WebhookModelBaseModel'; -export type WebhookResponseModel = (WebhookModelBaseModel & { +export type WebhookResponseModel = { + enabled: boolean; + url: string; + contentTypeKeys: Array; + headers: Record; id: string; events: Array; -}); +}; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts index e347e92eae..d81fd0e52d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts @@ -48,7 +48,7 @@ export class DataTypeResource { } /** - * @returns any Success + * @returns DataTypeResponseModel Success * @throws ApiError */ public static getDataTypeById({ @@ -198,7 +198,7 @@ export class DataTypeResource { } /** - * @returns any Success + * @returns DataTypeReferenceResponseModel Success * @throws ApiError */ public static getDataTypeByIdReferences({ @@ -220,7 +220,7 @@ export class DataTypeResource { } /** - * @returns any Success + * @returns DatatypeConfigurationResponseModel Success * @throws ApiError */ public static getDataTypeConfiguration(): CancelablePromise { @@ -257,7 +257,7 @@ export class DataTypeResource { } /** - * @returns any Success + * @returns FolderResponseModel Success * @throws ApiError */ public static getDataTypeFolderById({ @@ -364,7 +364,7 @@ export class DataTypeResource { } /** - * @returns any Success + * @returns DataTypeItemResponseModel Success * @throws ApiError */ public static getItemDataType({ @@ -412,7 +412,7 @@ export class DataTypeResource { } /** - * @returns any Success + * @returns DataTypeTreeItemResponseModel Success * @throws ApiError */ public static getTreeDataTypeAncestors({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DictionaryResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DictionaryResource.ts index 6c4b632ba7..cb71eab60a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DictionaryResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DictionaryResource.ts @@ -3,19 +3,13 @@ /* tslint:disable */ /* eslint-disable */ import type { CreateDictionaryItemRequestModel } from '../models/CreateDictionaryItemRequestModel'; -import type { DataTypeTreeItemResponseModel } from '../models/DataTypeTreeItemResponseModel'; import type { DictionaryItemItemResponseModel } from '../models/DictionaryItemItemResponseModel'; import type { DictionaryItemResponseModel } from '../models/DictionaryItemResponseModel'; -import type { DocumentBlueprintTreeItemResponseModel } from '../models/DocumentBlueprintTreeItemResponseModel'; -import type { DocumentTypeTreeItemResponseModel } from '../models/DocumentTypeTreeItemResponseModel'; -import type { FolderTreeItemResponseModel } from '../models/FolderTreeItemResponseModel'; import type { ImportDictionaryRequestModel } from '../models/ImportDictionaryRequestModel'; -import type { MediaTypeTreeItemResponseModel } from '../models/MediaTypeTreeItemResponseModel'; import type { MoveDictionaryRequestModel } from '../models/MoveDictionaryRequestModel'; import type { NamedEntityTreeItemResponseModel } from '../models/NamedEntityTreeItemResponseModel'; import type { PagedDictionaryOverviewResponseModel } from '../models/PagedDictionaryOverviewResponseModel'; import type { PagedNamedEntityTreeItemResponseModel } from '../models/PagedNamedEntityTreeItemResponseModel'; -import type { RelationTypeTreeItemResponseModel } from '../models/RelationTypeTreeItemResponseModel'; import type { UpdateDictionaryItemRequestModel } from '../models/UpdateDictionaryItemRequestModel'; import type { CancelablePromise } from '../core/CancelablePromise'; @@ -77,7 +71,7 @@ export class DictionaryResource { } /** - * @returns any Success + * @returns DictionaryItemResponseModel Success * @throws ApiError */ public static getDictionaryById({ @@ -230,7 +224,7 @@ export class DictionaryResource { } /** - * @returns any Success + * @returns DictionaryItemItemResponseModel Success * @throws ApiError */ public static getItemDictionary({ @@ -251,14 +245,14 @@ export class DictionaryResource { } /** - * @returns any Success + * @returns NamedEntityTreeItemResponseModel Success * @throws ApiError */ public static getTreeDictionaryAncestors({ descendantId, }: { descendantId?: string, - }): CancelablePromise> { + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/dictionary/ancestors', diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts index c696b8b919..47bf7491d6 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts @@ -39,7 +39,7 @@ export class DocumentBlueprintResource { } /** - * @returns any Success + * @returns DocumentBlueprintResponseModel Success * @throws ApiError */ public static getDocumentBlueprintById({ @@ -136,7 +136,7 @@ export class DocumentBlueprintResource { } /** - * @returns any Success + * @returns DocumentBlueprintItemResponseModel Success * @throws ApiError */ public static getItemDocumentBlueprint({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts index a93a751137..8d51e7080d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts @@ -106,7 +106,7 @@ export class DocumentResource { } /** - * @returns any Success + * @returns DocumentResponseModel Success * @throws ApiError */ public static getDocumentById({ @@ -211,7 +211,7 @@ export class DocumentResource { } /** - * @returns any Success + * @returns DomainsResponseModel Success * @throws ApiError */ public static getDocumentByIdDomains({ @@ -233,7 +233,7 @@ export class DocumentResource { } /** - * @returns void + * @returns string Success * @throws ApiError */ public static putDocumentByIdDomains({ @@ -242,7 +242,7 @@ export class DocumentResource { }: { id: string, requestBody?: UpdateDomainsRequestModel, - }): CancelablePromise { + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', url: '/umbraco/management/api/v1/document/{id}/domains', @@ -251,6 +251,7 @@ export class DocumentResource { }, body: requestBody, mediaType: 'application/json', + responseHeader: 'Umb-Notifications', errors: { 400: `Bad Request`, 401: `The resource is protected and requires an authentication token`, @@ -314,7 +315,7 @@ export class DocumentResource { } /** - * @returns any Success + * @returns DocumentNotificationResponseModel Success * @throws ApiError */ public static getDocumentByIdNotifications({ @@ -668,7 +669,7 @@ export class DocumentResource { } /** - * @returns any Success + * @returns DocumentConfigurationResponseModel Success * @throws ApiError */ public static getDocumentConfiguration(): CancelablePromise { @@ -730,7 +731,7 @@ export class DocumentResource { } /** - * @returns any Success + * @returns DocumentItemResponseModel Success * @throws ApiError */ public static getItemDocument({ @@ -820,7 +821,7 @@ export class DocumentResource { } /** - * @returns any Success + * @returns ReferenceByIdModel Success * @throws ApiError */ public static getRecycleBinDocumentByIdOriginalParent({ @@ -924,7 +925,7 @@ export class DocumentResource { } /** - * @returns any Success + * @returns DocumentTreeItemResponseModel Success * @throws ApiError */ public static getTreeDocumentAncestors({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts index fb7e97feb5..fc77bc409e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts @@ -50,7 +50,7 @@ export class DocumentTypeResource { } /** - * @returns any Success + * @returns DocumentTypeResponseModel Success * @throws ApiError */ public static getDocumentTypeById({ @@ -153,7 +153,7 @@ export class DocumentTypeResource { } /** - * @returns any Success + * @returns DocumentTypeCompositionResponseModel Success * @throws ApiError */ public static getDocumentTypeByIdCompositionReferences({ @@ -256,7 +256,7 @@ export class DocumentTypeResource { } /** - * @returns any Success + * @returns AvailableDocumentTypeCompositionResponseModel Success * @throws ApiError */ public static postDocumentTypeAvailableCompositions({ @@ -276,7 +276,7 @@ export class DocumentTypeResource { } /** - * @returns any Success + * @returns DocumentTypeConfigurationResponseModel Success * @throws ApiError */ public static getDocumentTypeConfiguration(): CancelablePromise { @@ -313,7 +313,7 @@ export class DocumentTypeResource { } /** - * @returns any Success + * @returns FolderResponseModel Success * @throws ApiError */ public static getDocumentTypeFolderById({ @@ -387,7 +387,7 @@ export class DocumentTypeResource { } /** - * @returns any Success + * @returns DocumentTypeItemResponseModel Success * @throws ApiError */ public static getItemDocumentType({ @@ -435,7 +435,7 @@ export class DocumentTypeResource { } /** - * @returns any Success + * @returns DocumentTypeTreeItemResponseModel Success * @throws ApiError */ public static getTreeDocumentTypeAncestors({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentVersionResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentVersionResource.ts index c49f0984eb..04bb0852d2 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentVersionResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentVersionResource.ts @@ -44,7 +44,7 @@ export class DocumentVersionResource { } /** - * @returns any Success + * @returns DocumentVersionResponseModel Success * @throws ApiError */ public static getDocumentVersionById({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DynamicRootResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DynamicRootResource.ts index 8b91f9bf26..ed218ed07e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DynamicRootResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DynamicRootResource.ts @@ -12,7 +12,7 @@ import { request as __request } from '../core/request'; export class DynamicRootResource { /** - * @returns any Success + * @returns DynamicRootResponseModel Success * @throws ApiError */ public static postDynamicRootQuery({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HealthCheckResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HealthCheckResource.ts index a7ba30030a..9a646fe62a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HealthCheckResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HealthCheckResource.ts @@ -39,7 +39,7 @@ export class HealthCheckResource { } /** - * @returns any Success + * @returns HealthCheckGroupPresentationModel Success * @throws ApiError */ public static getHealthCheckGroupByName({ @@ -61,7 +61,7 @@ export class HealthCheckResource { } /** - * @returns any Success + * @returns HealthCheckGroupWithResultResponseModel Success * @throws ApiError */ public static postHealthCheckGroupByNameCheck({ @@ -83,7 +83,7 @@ export class HealthCheckResource { } /** - * @returns any Success + * @returns HealthCheckResultResponseModel Success * @throws ApiError */ public static postHealthCheckExecuteAction({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/IndexerResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/IndexerResource.ts index edd9f9661c..d0739dc929 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/IndexerResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/IndexerResource.ts @@ -3,7 +3,6 @@ /* tslint:disable */ /* eslint-disable */ import type { IndexResponseModel } from '../models/IndexResponseModel'; -import type { OkResult } from '../models/OkResult'; import type { PagedIndexResponseModel } from '../models/PagedIndexResponseModel'; import type { CancelablePromise } from '../core/CancelablePromise'; @@ -37,7 +36,7 @@ export class IndexerResource { } /** - * @returns any Success + * @returns IndexResponseModel Success * @throws ApiError */ public static getIndexerByIndexName({ @@ -59,20 +58,21 @@ export class IndexerResource { } /** - * @returns OkResult Success + * @returns string Success * @throws ApiError */ public static postIndexerByIndexNameRebuild({ indexName, }: { indexName: string, - }): CancelablePromise { + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/indexer/{indexName}/rebuild', path: { 'indexName': indexName, }, + responseHeader: 'Umb-Notifications', errors: { 400: `Bad Request`, 401: `The resource is protected and requires an authentication token`, diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/InstallResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/InstallResource.ts index cb350886f7..bbf2dbeaf6 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/InstallResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/InstallResource.ts @@ -13,7 +13,7 @@ import { request as __request } from '../core/request'; export class InstallResource { /** - * @returns any Success + * @returns InstallSettingsResponseModel Success * @throws ApiError */ public static getInstallSettings(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LanguageResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LanguageResource.ts index 3010b55c19..2e8edcbcf0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LanguageResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LanguageResource.ts @@ -15,7 +15,7 @@ import { request as __request } from '../core/request'; export class LanguageResource { /** - * @returns any Success + * @returns LanguageItemResponseModel Success * @throws ApiError */ public static getItemLanguage({ @@ -83,7 +83,7 @@ export class LanguageResource { } /** - * @returns any Success + * @returns LanguageResponseModel Success * @throws ApiError */ public static getLanguageByIsoCode({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LogViewerResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LogViewerResource.ts index d46fc4962a..e665e7dbc3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LogViewerResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LogViewerResource.ts @@ -43,7 +43,7 @@ export class LogViewerResource { } /** - * @returns any Success + * @returns LogLevelCountsReponseModel Success * @throws ApiError */ public static getLogViewerLevelCount({ @@ -184,7 +184,7 @@ export class LogViewerResource { } /** - * @returns any Success + * @returns SavedLogSearchResponseModel Success * @throws ApiError */ public static getLogViewerSavedSearchByName({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts index 307d1fb595..386acec03f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts @@ -67,7 +67,7 @@ export class MediaResource { } /** - * @returns any Success + * @returns MediaItemResponseModel Success * @throws ApiError */ public static getItemMedia({ @@ -139,7 +139,7 @@ export class MediaResource { } /** - * @returns any Success + * @returns MediaResponseModel Success * @throws ApiError */ public static getMediaById({ @@ -383,7 +383,7 @@ export class MediaResource { } /** - * @returns any Success + * @returns MediaConfigurationResponseModel Success * @throws ApiError */ public static getMediaConfiguration(): CancelablePromise { @@ -487,7 +487,7 @@ export class MediaResource { } /** - * @returns any Success + * @returns ReferenceByIdModel Success * @throws ApiError */ public static getRecycleBinMediaByIdOriginalParent({ @@ -591,7 +591,7 @@ export class MediaResource { } /** - * @returns any Success + * @returns MediaTreeItemResponseModel Success * @throws ApiError */ public static getTreeMediaAncestors({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts index baea888753..a6891b1f0a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts @@ -26,7 +26,7 @@ import { request as __request } from '../core/request'; export class MediaTypeResource { /** - * @returns any Success + * @returns MediaTypeItemResponseModel Success * @throws ApiError */ public static getItemMediaType({ @@ -97,7 +97,7 @@ export class MediaTypeResource { } /** - * @returns any Success + * @returns MediaTypeResponseModel Success * @throws ApiError */ public static getMediaTypeById({ @@ -200,7 +200,7 @@ export class MediaTypeResource { } /** - * @returns any Success + * @returns MediaTypeCompositionResponseModel Success * @throws ApiError */ public static getMediaTypeByIdCompositionReferences({ @@ -303,7 +303,7 @@ export class MediaTypeResource { } /** - * @returns any Success + * @returns AvailableMediaTypeCompositionResponseModel Success * @throws ApiError */ public static postMediaTypeAvailableCompositions({ @@ -346,7 +346,7 @@ export class MediaTypeResource { } /** - * @returns any Success + * @returns FolderResponseModel Success * @throws ApiError */ public static getMediaTypeFolderById({ @@ -420,7 +420,7 @@ export class MediaTypeResource { } /** - * @returns any Success + * @returns MediaTypeTreeItemResponseModel Success * @throws ApiError */ public static getTreeMediaTypeAncestors({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberGroupResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberGroupResource.ts index 506c860fe9..29398b687b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberGroupResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberGroupResource.ts @@ -16,7 +16,7 @@ import { request as __request } from '../core/request'; export class MemberGroupResource { /** - * @returns any Success + * @returns MemberGroupItemResponseModel Success * @throws ApiError */ public static getItemMemberGroup({ @@ -61,7 +61,7 @@ export class MemberGroupResource { } /** - * @returns any Success + * @returns MemberGroupResponseModel Success * @throws ApiError */ public static postMemberGroup({ @@ -82,7 +82,7 @@ export class MemberGroupResource { } /** - * @returns any Success + * @returns MemberGroupResponseModel Success * @throws ApiError */ public static getMemberGroupById({ @@ -128,7 +128,7 @@ export class MemberGroupResource { } /** - * @returns any Success + * @returns MemberGroupResponseModel Success * @throws ApiError */ public static putMemberGroupById({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberResource.ts index c4a422141c..752613be4a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberResource.ts @@ -64,7 +64,7 @@ export class MemberResource { } /** - * @returns any Success + * @returns MemberItemResponseModel Success * @throws ApiError */ public static getItemMember({ @@ -135,7 +135,7 @@ export class MemberResource { } /** - * @returns any Success + * @returns MemberResponseModel Success * @throws ApiError */ public static getMemberById({ @@ -237,7 +237,7 @@ export class MemberResource { } /** - * @returns any Success + * @returns MemberConfigurationResponseModel Success * @throws ApiError */ public static getMemberConfiguration(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberTypeResource.ts index e71c57bd9f..870b91e685 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberTypeResource.ts @@ -19,7 +19,7 @@ import { request as __request } from '../core/request'; export class MemberTypeResource { /** - * @returns any Success + * @returns MemberTypeItemResponseModel Success * @throws ApiError */ public static getItemMemberType({ @@ -90,7 +90,7 @@ export class MemberTypeResource { } /** - * @returns any Success + * @returns MemberTypeResponseModel Success * @throws ApiError */ public static getMemberTypeById({ @@ -163,7 +163,7 @@ export class MemberTypeResource { } /** - * @returns any Success + * @returns MemberTypeCompositionResponseModel Success * @throws ApiError */ public static getMemberTypeByIdCompositionReferences({ @@ -210,7 +210,7 @@ export class MemberTypeResource { } /** - * @returns any Success + * @returns AvailableMemberTypeCompositionResponseModel Success * @throws ApiError */ public static postMemberTypeAvailableCompositions({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ModelsBuilderResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ModelsBuilderResource.ts index f1d51bc3c8..2c820214d9 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ModelsBuilderResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ModelsBuilderResource.ts @@ -28,7 +28,7 @@ export class ModelsBuilderResource { } /** - * @returns any Success + * @returns ModelsBuilderResponseModel Success * @throws ApiError */ public static getModelsBuilderDashboard(): CancelablePromise { @@ -42,7 +42,7 @@ export class ModelsBuilderResource { } /** - * @returns any Success + * @returns OutOfDateStatusResponseModel Success * @throws ApiError */ public static getModelsBuilderStatus(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts index 9e35f2a517..add8e0b459 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts @@ -41,7 +41,7 @@ export class PackageResource { } /** - * @returns any Success + * @returns PackageConfigurationResponseModel Success * @throws ApiError */ public static getPackageConfiguration(): CancelablePromise { @@ -102,7 +102,7 @@ export class PackageResource { } /** - * @returns any Success + * @returns PackageDefinitionResponseModel Success * @throws ApiError */ public static getPackageCreatedById({ @@ -196,7 +196,7 @@ export class PackageResource { } /** - * @returns any Success + * @returns PackageManifestResponseModel Success * @throws ApiError */ public static getPackageManifest(): CancelablePromise> { @@ -210,7 +210,7 @@ export class PackageResource { } /** - * @returns any Success + * @returns PackageManifestResponseModel Success * @throws ApiError */ public static getPackageManifestPublic(): CancelablePromise> { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PartialViewResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PartialViewResource.ts index 7504bb951e..b21b91b50c 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PartialViewResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PartialViewResource.ts @@ -21,7 +21,7 @@ import { request as __request } from '../core/request'; export class PartialViewResource { /** - * @returns any Success + * @returns PartialViewItemResponseModel Success * @throws ApiError */ public static getItemPartialView({ @@ -65,7 +65,7 @@ export class PartialViewResource { } /** - * @returns any Success + * @returns PartialViewResponseModel Success * @throws ApiError */ public static getPartialViewByPath({ @@ -190,7 +190,7 @@ export class PartialViewResource { } /** - * @returns any Success + * @returns PartialViewFolderResponseModel Success * @throws ApiError */ public static getPartialViewFolderByPath({ @@ -260,7 +260,7 @@ export class PartialViewResource { } /** - * @returns any Success + * @returns PartialViewSnippetResponseModel Success * @throws ApiError */ public static getPartialViewSnippetById({ @@ -282,7 +282,7 @@ export class PartialViewResource { } /** - * @returns any Success + * @returns FileSystemTreeItemPresentationModel Success * @throws ApiError */ public static getTreePartialViewAncestors({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ProfilingResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ProfilingResource.ts index f2b9d345f4..239e9e1b2b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ProfilingResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ProfilingResource.ts @@ -12,7 +12,7 @@ import { request as __request } from '../core/request'; export class ProfilingResource { /** - * @returns any Success + * @returns ProfilingStatusResponseModel Success * @throws ApiError */ public static getProfilingStatus(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RedirectManagementResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RedirectManagementResource.ts index cb67b21bf7..351e30aa26 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RedirectManagementResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RedirectManagementResource.ts @@ -92,7 +92,7 @@ export class RedirectManagementResource { } /** - * @returns any Success + * @returns RedirectUrlStatusResponseModel Success * @throws ApiError */ public static getRedirectManagementStatus(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationTypeResource.ts index b8e8141a9f..2c9a938eba 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationTypeResource.ts @@ -13,7 +13,7 @@ import { request as __request } from '../core/request'; export class RelationTypeResource { /** - * @returns any Success + * @returns RelationTypeItemResponseModel Success * @throws ApiError */ public static getItemRelationType({ @@ -58,7 +58,7 @@ export class RelationTypeResource { } /** - * @returns any Success + * @returns RelationTypeResponseModel Success * @throws ApiError */ public static getRelationTypeById({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ScriptResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ScriptResource.ts index 6e0495ec7d..df1c2e080a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ScriptResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ScriptResource.ts @@ -19,7 +19,7 @@ import { request as __request } from '../core/request'; export class ScriptResource { /** - * @returns any Success + * @returns ScriptItemResponseModel Success * @throws ApiError */ public static getItemScript({ @@ -63,7 +63,7 @@ export class ScriptResource { } /** - * @returns any Success + * @returns ScriptResponseModel Success * @throws ApiError */ public static getScriptByPath({ @@ -188,7 +188,7 @@ export class ScriptResource { } /** - * @returns any Success + * @returns ScriptFolderResponseModel Success * @throws ApiError */ public static getScriptFolderByPath({ @@ -234,7 +234,7 @@ export class ScriptResource { } /** - * @returns any Success + * @returns FileSystemTreeItemPresentationModel Success * @throws ApiError */ public static getTreeScriptAncestors({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts index f229959ef2..d953c5bf14 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts @@ -5,6 +5,7 @@ import type { ResetPasswordRequestModel } from '../models/ResetPasswordRequestModel'; import type { ResetPasswordTokenRequestModel } from '../models/ResetPasswordTokenRequestModel'; import type { SecurityConfigurationResponseModel } from '../models/SecurityConfigurationResponseModel'; +import type { VerifyResetPasswordResponseModel } from '../models/VerifyResetPasswordResponseModel'; import type { VerifyResetPasswordTokenRequestModel } from '../models/VerifyResetPasswordTokenRequestModel'; import type { CancelablePromise } from '../core/CancelablePromise'; @@ -14,7 +15,7 @@ import { request as __request } from '../core/request'; export class SecurityResource { /** - * @returns any Success + * @returns SecurityConfigurationResponseModel Success * @throws ApiError */ public static getSecurityConfiguration(): CancelablePromise { @@ -72,14 +73,14 @@ export class SecurityResource { } /** - * @returns void + * @returns VerifyResetPasswordResponseModel Success * @throws ApiError */ public static postSecurityForgotPasswordVerify({ requestBody, }: { - requestBody?: (VerifyResetPasswordTokenRequestModel | ResetPasswordTokenRequestModel), - }): CancelablePromise { + requestBody?: VerifyResetPasswordTokenRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/security/forgot-password/verify', diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ServerResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ServerResource.ts index 15d61a5904..a791fe775b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ServerResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ServerResource.ts @@ -14,7 +14,7 @@ import { request as __request } from '../core/request'; export class ServerResource { /** - * @returns any Success + * @returns ServerConfigurationResponseModel Success * @throws ApiError */ public static getServerConfiguration(): CancelablePromise { @@ -28,7 +28,7 @@ export class ServerResource { } /** - * @returns any Success + * @returns ServerInformationResponseModel Success * @throws ApiError */ public static getServerInformation(): CancelablePromise { @@ -42,7 +42,7 @@ export class ServerResource { } /** - * @returns any Success + * @returns ServerStatusResponseModel Success * @throws ApiError */ public static getServerStatus(): CancelablePromise { @@ -56,7 +56,7 @@ export class ServerResource { } /** - * @returns any Success + * @returns ServerTroubleshootingResponseModel Success * @throws ApiError */ public static getServerTroubleshooting(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StaticFileResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StaticFileResource.ts index 95d59e2241..ffe89fb3e3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StaticFileResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StaticFileResource.ts @@ -13,7 +13,7 @@ import { request as __request } from '../core/request'; export class StaticFileResource { /** - * @returns any Success + * @returns StaticFileItemResponseModel Success * @throws ApiError */ public static getItemStaticFile({ @@ -34,7 +34,7 @@ export class StaticFileResource { } /** - * @returns any Success + * @returns FileSystemTreeItemPresentationModel Success * @throws ApiError */ public static getTreeStaticFileAncestors({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StylesheetResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StylesheetResource.ts index 636ee5780d..bdfb4b6886 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StylesheetResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StylesheetResource.ts @@ -19,7 +19,7 @@ import { request as __request } from '../core/request'; export class StylesheetResource { /** - * @returns any Success + * @returns StylesheetItemResponseModel Success * @throws ApiError */ public static getItemStylesheet({ @@ -63,7 +63,7 @@ export class StylesheetResource { } /** - * @returns any Success + * @returns StylesheetResponseModel Success * @throws ApiError */ public static getStylesheetByPath({ @@ -188,7 +188,7 @@ export class StylesheetResource { } /** - * @returns any Success + * @returns StylesheetFolderResponseModel Success * @throws ApiError */ public static getStylesheetFolderByPath({ @@ -234,7 +234,7 @@ export class StylesheetResource { } /** - * @returns any Success + * @returns FileSystemTreeItemPresentationModel Success * @throws ApiError */ public static getTreeStylesheetAncestors({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TelemetryResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TelemetryResource.ts index 9547c4866e..697b771963 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TelemetryResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TelemetryResource.ts @@ -37,7 +37,7 @@ export class TelemetryResource { } /** - * @returns any Success + * @returns TelemetryResponseModel Success * @throws ApiError */ public static getTelemetryLevel(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemplateResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemplateResource.ts index 4eaa4d03ff..6876a436fc 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemplateResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemplateResource.ts @@ -3,15 +3,9 @@ /* tslint:disable */ /* eslint-disable */ import type { CreateTemplateRequestModel } from '../models/CreateTemplateRequestModel'; -import type { DataTypeTreeItemResponseModel } from '../models/DataTypeTreeItemResponseModel'; -import type { DocumentBlueprintTreeItemResponseModel } from '../models/DocumentBlueprintTreeItemResponseModel'; -import type { DocumentTypeTreeItemResponseModel } from '../models/DocumentTypeTreeItemResponseModel'; -import type { FolderTreeItemResponseModel } from '../models/FolderTreeItemResponseModel'; -import type { MediaTypeTreeItemResponseModel } from '../models/MediaTypeTreeItemResponseModel'; import type { NamedEntityTreeItemResponseModel } from '../models/NamedEntityTreeItemResponseModel'; import type { PagedModelTemplateItemResponseModel } from '../models/PagedModelTemplateItemResponseModel'; import type { PagedNamedEntityTreeItemResponseModel } from '../models/PagedNamedEntityTreeItemResponseModel'; -import type { RelationTypeTreeItemResponseModel } from '../models/RelationTypeTreeItemResponseModel'; import type { TemplateConfigurationResponseModel } from '../models/TemplateConfigurationResponseModel'; import type { TemplateItemResponseModel } from '../models/TemplateItemResponseModel'; import type { TemplateQueryExecuteModel } from '../models/TemplateQueryExecuteModel'; @@ -27,7 +21,7 @@ import { request as __request } from '../core/request'; export class TemplateResource { /** - * @returns any Success + * @returns TemplateItemResponseModel Success * @throws ApiError */ public static getItemTemplate({ @@ -98,7 +92,7 @@ export class TemplateResource { } /** - * @returns any Success + * @returns TemplateResponseModel Success * @throws ApiError */ public static getTemplateById({ @@ -172,7 +166,7 @@ export class TemplateResource { } /** - * @returns any Success + * @returns TemplateConfigurationResponseModel Success * @throws ApiError */ public static getTemplateConfiguration(): CancelablePromise { @@ -186,7 +180,7 @@ export class TemplateResource { } /** - * @returns any Success + * @returns TemplateQueryResultResponseModel Success * @throws ApiError */ public static postTemplateQueryExecute({ @@ -206,7 +200,7 @@ export class TemplateResource { } /** - * @returns any Success + * @returns TemplateQuerySettingsResponseModel Success * @throws ApiError */ public static getTemplateQuerySettings(): CancelablePromise { @@ -220,14 +214,14 @@ export class TemplateResource { } /** - * @returns any Success + * @returns NamedEntityTreeItemResponseModel Success * @throws ApiError */ public static getTreeTemplateAncestors({ descendantId, }: { descendantId?: string, - }): CancelablePromise> { + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/template/ancestors', diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemporaryFileResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemporaryFileResource.ts index 6d587006f9..39d7b95187 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemporaryFileResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemporaryFileResource.ts @@ -37,7 +37,7 @@ export class TemporaryFileResource { } /** - * @returns any Success + * @returns TemporaryFileResponseModel Success * @throws ApiError */ public static getTemporaryFileById({ @@ -84,7 +84,7 @@ export class TemporaryFileResource { } /** - * @returns any Success + * @returns TemporaryFileConfigurationResponseModel Success * @throws ApiError */ public static getTemporaryFileConfiguration(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TourResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TourResource.ts index 06d5fe9885..a5936a3b48 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TourResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TourResource.ts @@ -12,7 +12,7 @@ import { request as __request } from '../core/request'; export class TourResource { /** - * @returns any Success + * @returns UserTourStatusesResponseModel Success * @throws ApiError */ public static getTour(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UpgradeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UpgradeResource.ts index 9987c2f24f..314c6992b0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UpgradeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UpgradeResource.ts @@ -28,7 +28,7 @@ export class UpgradeResource { } /** - * @returns any Success + * @returns UpgradeSettingsResponseModel Success * @throws ApiError */ public static getUpgradeSettings(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts index f950a6f533..dbaefbdc05 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts @@ -16,7 +16,7 @@ import { request as __request } from '../core/request'; export class UserGroupResource { /** - * @returns any Success + * @returns UserGroupItemResponseModel Success * @throws ApiError */ public static getItemUserGroup({ @@ -106,7 +106,7 @@ export class UserGroupResource { } /** - * @returns any Success + * @returns UserGroupResponseModel Success * @throws ApiError */ public static getUserGroupById({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts index 18a940811c..bba6a7f329 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts @@ -31,6 +31,7 @@ import type { UserResponseModel } from '../models/UserResponseModel'; import type { UserStateModel } from '../models/UserStateModel'; import type { UserTwoFactorProviderModel } from '../models/UserTwoFactorProviderModel'; import type { VerifyInviteUserRequestModel } from '../models/VerifyInviteUserRequestModel'; +import type { VerifyInviteUserResponseModel } from '../models/VerifyInviteUserResponseModel'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; @@ -80,7 +81,7 @@ export class UserResource { } /** - * @returns any Success + * @returns UserItemResponseModel Success * @throws ApiError */ public static getItemUser({ @@ -107,7 +108,7 @@ export class UserResource { public static postUser({ requestBody, }: { - requestBody?: (CreateUserRequestModel | InviteUserRequestModel), + requestBody?: CreateUserRequestModel, }): CancelablePromise { return __request(OpenAPI, { method: 'POST', @@ -172,7 +173,7 @@ export class UserResource { } /** - * @returns any Success + * @returns UserResponseModel Success * @throws ApiError */ public static getUserById({ @@ -249,7 +250,7 @@ export class UserResource { } /** - * @returns any Success + * @returns UserTwoFactorProviderModel Success * @throws ApiError */ public static getUserById2Fa({ @@ -308,7 +309,7 @@ export class UserResource { requestBody, }: { id: string, - requestBody?: (ChangePasswordUserRequestModel | ChangePasswordCurrentUserRequestModel), + requestBody?: ChangePasswordUserRequestModel, }): CancelablePromise { return __request(OpenAPI, { method: 'POST', @@ -329,7 +330,7 @@ export class UserResource { } /** - * @returns any Success + * @returns ResetPasswordUserResponseModel Success * @throws ApiError */ public static postUserByIdResetPassword({ @@ -407,7 +408,7 @@ export class UserResource { } /** - * @returns any Success + * @returns UserConfigurationResponseModel Success * @throws ApiError */ public static getUserConfiguration(): CancelablePromise { @@ -421,7 +422,7 @@ export class UserResource { } /** - * @returns any Success + * @returns CurrentUserResponseModel Success * @throws ApiError */ public static getUserCurrent(): CancelablePromise { @@ -436,7 +437,7 @@ export class UserResource { } /** - * @returns any Success + * @returns UserTwoFactorProviderModel Success * @throws ApiError */ public static getUserCurrent2Fa(): CancelablePromise> { @@ -574,7 +575,7 @@ export class UserResource { } /** - * @returns any Success + * @returns CurrenUserConfigurationResponseModel Success * @throws ApiError */ public static getUserCurrentConfiguration(): CancelablePromise { @@ -588,7 +589,7 @@ export class UserResource { } /** - * @returns any Success + * @returns LinkedLoginsRequestModel Success * @throws ApiError */ public static getUserCurrentLogins(): CancelablePromise { @@ -602,7 +603,7 @@ export class UserResource { } /** - * @returns any Success + * @returns UserPermissionsResponseModel Success * @throws ApiError */ public static getUserCurrentPermissions({ @@ -624,7 +625,7 @@ export class UserResource { } /** - * @returns any Success + * @returns UserPermissionsResponseModel Success * @throws ApiError */ public static getUserCurrentPermissionsDocument({ @@ -646,7 +647,7 @@ export class UserResource { } /** - * @returns any Success + * @returns UserPermissionsResponseModel Success * @throws ApiError */ public static getUserCurrentPermissionsMedia({ @@ -755,7 +756,6 @@ export class UserResource { responseHeader: 'Umb-Notifications', errors: { 400: `Bad Request`, - 401: `The resource is protected and requires an authentication token`, 404: `Not Found`, }, }); @@ -785,20 +785,19 @@ export class UserResource { } /** - * @returns string Success + * @returns VerifyInviteUserResponseModel Success * @throws ApiError */ public static postUserInviteVerify({ requestBody, }: { - requestBody?: (VerifyInviteUserRequestModel | CreateInitialPasswordUserRequestModel), - }): CancelablePromise { + requestBody?: VerifyInviteUserRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/user/invite/verify', body: requestBody, mediaType: 'application/json', - responseHeader: 'Umb-Notifications', errors: { 400: `Bad Request`, 404: `Not Found`, diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/WebhookResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/WebhookResource.ts index 4e7f80c31f..84da85fdfd 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/WebhookResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/WebhookResource.ts @@ -62,7 +62,7 @@ export class WebhookResource { } /** - * @returns any Success + * @returns WebhookResponseModel Success * @throws ApiError */ public static getWebhookById({ @@ -136,7 +136,7 @@ export class WebhookResource { } /** - * @returns any Success + * @returns WebhookItemResponseModel Success * @throws ApiError */ public static getWebhookItem({ From 885ccee901e04dcc617ab40154a58597d581ece8 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 Apr 2024 14:47:05 +0200 Subject: [PATCH 006/134] use UmbPropertyTypeContainerModel client model instead of server model --- ...ace-view-edit-content-no-router.element.ts | 4 ++-- .../block-workspace-view-edit-tab.element.ts | 5 ++--- .../edit/block-workspace-view-edit.element.ts | 5 ++--- .../src/packages/core/content-type/types.ts | 1 + .../content-type-design-editor.element.ts | 22 +++++++++---------- ...ocument-workspace-view-edit-tab.element.ts | 4 ++-- .../document-workspace-view-edit.element.ts | 4 ++-- .../media-workspace-view-edit-tab.element.ts | 4 ++-- .../edit/media-workspace-view-edit.element.ts | 4 ++-- ...mber-workspace-view-content-tab.element.ts | 4 ++-- .../member-workspace-view-content.element.ts | 4 ++-- 11 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.ts index f4d7f0f520..af2be3b183 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.ts @@ -4,7 +4,7 @@ import { css, html, customElement, state, repeat } from '@umbraco-cms/backoffice import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { PropertyTypeContainerModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; /** @@ -20,7 +20,7 @@ export class UmbBlockWorkspaceViewEditContentNoRouterElement extends UmbLitEleme private _hasRootGroups = false; @state() - _tabs?: Array; + _tabs?: Array; @state() private _activeTabId?: string | null | undefined; diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit-tab.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit-tab.element.ts index ff6c616007..2450e465c2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit-tab.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit-tab.element.ts @@ -1,10 +1,9 @@ import { UMB_BLOCK_WORKSPACE_CONTEXT } from '../../block-workspace.context-token.js'; import { css, html, customElement, property, state, repeat } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import type { UmbContentTypeModel } from '@umbraco-cms/backoffice/content-type'; +import type { UmbContentTypeModel, UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { PropertyTypeContainerModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; import './block-workspace-view-edit-properties.element.js'; // eslint-disable-next-line import/order @@ -43,7 +42,7 @@ export class UmbBlockWorkspaceViewEditTabElement extends UmbLitElement { hideSingleGroup = false; @state() - _groups: Array = []; + _groups: Array = []; @state() _hasProperties = false; diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.ts index 5a9aa48c74..f2b1f19f23 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.ts @@ -3,12 +3,11 @@ import type { UmbBlockWorkspaceElementManagerNames } from '../../block-workspace import type { UmbBlockWorkspaceViewEditTabElement } from './block-workspace-view-edit-tab.element.js'; import { css, html, customElement, state, repeat, property } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import type { UmbContentTypeModel } from '@umbraco-cms/backoffice/content-type'; +import type { UmbContentTypeModel, UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import type { UmbRoute, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router'; import { encodeFolderName } from '@umbraco-cms/backoffice/router'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { PropertyTypeContainerModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { ManifestWorkspaceView, UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; @customElement('umb-block-workspace-view-edit') @@ -35,7 +34,7 @@ export class UmbBlockWorkspaceViewEditElement extends UmbLitElement implements U private _routes: UmbRoute[] = []; @state() - _tabs?: Array; + _tabs?: Array; @state() private _routerPath?: string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/types.ts index 22f3f1c9f0..fc60183419 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/types.ts @@ -2,6 +2,7 @@ import type { CompositionTypeModel, PropertyTypeModelBaseModel } from '@umbraco- import type { UmbReferenceByUnique } from '@umbraco-cms/backoffice/models'; export type UmbPropertyContainerTypes = 'Group' | 'Tab'; + export interface UmbPropertyTypeContainerModel { id: string; parent: { id: string } | null; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/workspace/views/design/content-type-design-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/workspace/views/design/content-type-design-editor.element.ts index 3e8df8b21b..ff110e8543 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/workspace/views/design/content-type-design-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/workspace/views/design/content-type-design-editor.element.ts @@ -7,13 +7,11 @@ import { UMB_COMPOSITION_PICKER_MODAL, UmbContentTypeContainerStructureHelper, type UmbContentTypeModel, + type UmbPropertyTypeContainerModel, } from '@umbraco-cms/backoffice/content-type'; import { encodeFolderName } from '@umbraco-cms/backoffice/router'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { - CompositionTypeModel, - type PropertyTypeContainerModelBaseModel, -} from '@umbraco-cms/backoffice/external/backend-api'; +import { CompositionTypeModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbRoute, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router'; import type { ManifestWorkspaceViewContentTypeDesignEditorKind, @@ -26,7 +24,7 @@ import { UmbSorterController } from '@umbraco-cms/backoffice/sorter'; @customElement('umb-content-type-design-editor') export class UmbContentTypeDesignEditorElement extends UmbLitElement implements UmbWorkspaceViewElement { - #sorter = new UmbSorterController(this, { + #sorter = new UmbSorterController(this, { getUniqueOfElement: (element) => element.getAttribute('data-umb-tabs-id'), getUniqueOfModel: (tab) => tab.id, identifier: 'content-type-tabs-sorter', @@ -96,7 +94,7 @@ export class UmbContentTypeDesignEditorElement extends UmbLitElement implements private _routes: UmbRoute[] = []; @state() - _tabs?: Array; + _tabs?: Array; @state() private _routerPath?: string; @@ -233,7 +231,7 @@ export class UmbContentTypeDesignEditorElement extends UmbLitElement implements this._routes = routes; } - async #requestRemoveTab(tab: PropertyTypeContainerModelBaseModel | undefined) { + async #requestRemoveTab(tab: UmbPropertyTypeContainerModel | undefined) { // TODO: Localize this: const modalData: UmbConfirmModalData = { headline: 'Delete tab', @@ -290,7 +288,7 @@ export class UmbContentTypeDesignEditorElement extends UmbLitElement implements }, 100); } - async #tabNameChanged(event: InputEvent, tab: PropertyTypeContainerModelBaseModel) { + async #tabNameChanged(event: InputEvent, tab: UmbPropertyTypeContainerModel) { this._activeTabId = tab.id; let newName = (event.target as HTMLInputElement).value; @@ -432,7 +430,7 @@ export class UmbContentTypeDesignEditorElement extends UmbLitElement implements `; } - renderTab(tab: PropertyTypeContainerModelBaseModel) { + renderTab(tab: UmbPropertyTypeContainerModel) { const path = this._routerPath + (tab.name ? '/tab/' + encodeFolderName(tab.name) : '/tab'); const tabActive = path === this._activePath; const ownedTab = this._tabsStructureHelper.isOwnerChildContainer(tab.id!) ?? false; @@ -446,7 +444,7 @@ export class UmbContentTypeDesignEditorElement extends UmbLitElement implements `; } - renderTabInner(tab: PropertyTypeContainerModelBaseModel, tabActive: boolean, ownedTab: boolean) { + renderTabInner(tab: UmbPropertyTypeContainerModel, tabActive: boolean, ownedTab: boolean) { // TODO: Localize this: if (this._sortModeActive) { return html`
@@ -486,13 +484,13 @@ export class UmbContentTypeDesignEditorElement extends UmbLitElement implements } } - #changeOrderNumber(tab: PropertyTypeContainerModelBaseModel, e: UUIInputEvent) { + #changeOrderNumber(tab: UmbPropertyTypeContainerModel, e: UUIInputEvent) { if (!e.target.value || !tab.id) return; const sortOrder = Number(e.target.value); this._tabsStructureHelper.partialUpdateContainer(tab.id, { sortOrder }); } - renderDeleteFor(tab: PropertyTypeContainerModelBaseModel) { + renderDeleteFor(tab: UmbPropertyTypeContainerModel) { return html`(this); @state() - _groups: Array = []; + _groups: Array = []; @state() _hasProperties = false; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts index a4e4f46505..5c6a8a78fb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts @@ -2,11 +2,11 @@ import { UMB_DOCUMENT_WORKSPACE_CONTEXT } from '../../document-workspace.context import type { UmbDocumentWorkspaceViewEditTabElement } from './document-workspace-view-edit-tab.element.js'; import { css, html, customElement, state, repeat } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import type { UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import type { UmbRoute, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router'; import { encodeFolderName } from '@umbraco-cms/backoffice/router'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { PropertyTypeContainerModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; @customElement('umb-document-workspace-view-edit') @@ -21,7 +21,7 @@ export class UmbDocumentWorkspaceViewEditElement extends UmbLitElement implement private _routes: UmbRoute[] = []; @state() - private _tabs?: Array; + private _tabs?: Array; @state() private _routerPath?: string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/edit/media-workspace-view-edit-tab.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/edit/media-workspace-view-edit-tab.element.ts index 09d956fcaa..bb2af89442 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/edit/media-workspace-view-edit-tab.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/edit/media-workspace-view-edit-tab.element.ts @@ -1,9 +1,9 @@ import { UMB_MEDIA_WORKSPACE_CONTEXT } from '../../media-workspace.context-token.js'; import { css, html, customElement, property, state, repeat } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import type { UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { PropertyTypeContainerModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; import './media-workspace-view-edit-properties.element.js'; @customElement('umb-media-workspace-view-edit-tab') @@ -22,7 +22,7 @@ export class UmbMediaWorkspaceViewEditTabElement extends UmbLitElement { #groupStructureHelper = new UmbContentTypeContainerStructureHelper(this); @state() - _groups: Array = []; + _groups: Array = []; @state() _hasProperties = false; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/edit/media-workspace-view-edit.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/edit/media-workspace-view-edit.element.ts index 6551d7b099..3e8341b192 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/edit/media-workspace-view-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/edit/media-workspace-view-edit.element.ts @@ -2,11 +2,11 @@ import { UMB_MEDIA_WORKSPACE_CONTEXT } from '../../media-workspace.context-token import type { UmbMediaWorkspaceViewEditTabElement } from './media-workspace-view-edit-tab.element.js'; import { css, html, customElement, state, repeat, nothing } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import type { UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import type { UmbRoute, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router'; import { encodeFolderName } from '@umbraco-cms/backoffice/router'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { PropertyTypeContainerModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; @customElement('umb-media-workspace-view-edit') @@ -21,7 +21,7 @@ export class UmbMediaWorkspaceViewEditElement extends UmbLitElement implements U private _routes: UmbRoute[] = []; @state() - private _tabs?: Array; + private _tabs?: Array; @state() private _routerPath?: string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/views/content/member-workspace-view-content-tab.element.ts b/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/views/content/member-workspace-view-content-tab.element.ts index 59bcdc1441..b9566fe3ce 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/views/content/member-workspace-view-content-tab.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/views/content/member-workspace-view-content-tab.element.ts @@ -1,9 +1,9 @@ import { UMB_MEMBER_WORKSPACE_CONTEXT } from '../../member-workspace.context-token.js'; import { css, html, customElement, property, state, repeat } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import type { UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { PropertyTypeContainerModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; import './member-workspace-view-content-properties.element.js'; @customElement('umb-member-workspace-view-content-tab') @@ -22,7 +22,7 @@ export class UmbMemberWorkspaceViewContentTabElement extends UmbLitElement { #groupStructureHelper = new UmbContentTypeContainerStructureHelper(this); @state() - _groups: Array = []; + _groups: Array = []; @state() _hasProperties = false; diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/views/content/member-workspace-view-content.element.ts b/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/views/content/member-workspace-view-content.element.ts index bf23d60129..2d96b127d5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/views/content/member-workspace-view-content.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/views/content/member-workspace-view-content.element.ts @@ -2,11 +2,11 @@ import { UMB_MEMBER_WORKSPACE_CONTEXT } from '../../member-workspace.context-tok import type { UmbMemberWorkspaceViewContentTabElement } from './member-workspace-view-content-tab.element.js'; import { css, html, customElement, state, repeat, nothing } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import type { UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import type { UmbRoute, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router'; import { encodeFolderName } from '@umbraco-cms/backoffice/router'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { PropertyTypeContainerModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; @customElement('umb-member-workspace-view-edit') @@ -21,7 +21,7 @@ export class UmbMemberWorkspaceViewEditElement extends UmbLitElement implements private _routes: UmbRoute[] = []; @state() - private _tabs?: Array; + private _tabs?: Array; @state() private _routerPath?: string; From 951d8831cd3509e11534391330ae38de28c5e501 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 14:51:18 +0200 Subject: [PATCH 007/134] move isAuthorized logic into the auth controller --- .../src/apps/app/app-auth.controller.ts | 49 +++++++++++++++++-- .../src/apps/app/app.element.ts | 19 +------ 2 files changed, 46 insertions(+), 22 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index fdc4c6cb35..73c31479d9 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -1,9 +1,50 @@ -import { UMB_AUTH_CONTEXT } from '@umbraco-cms/backoffice/auth'; +import { UMB_AUTH_CONTEXT, UMB_STORAGE_REDIRECT_URL } from '@umbraco-cms/backoffice/auth'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; export class UmbAppAuthController extends UmbControllerBase { - async makeAuthorizationRequest() { - const authContext = await this.getContext(UMB_AUTH_CONTEXT); - return authContext.makeAuthorizationRequest(); + #authContext?: typeof UMB_AUTH_CONTEXT.TYPE; + + constructor(host: UmbControllerHost) { + super(host); + + this.consumeContext(UMB_AUTH_CONTEXT, (context) => { + this.#authContext = context; + }); + } + + /** + * Checks if the user is authorized. + * If not, the authorization flow is started. + */ + async isAuthorized(): Promise { + if (!this.#authContext) { + throw new Error('[Fatal] Auth context is not available'); + } + + const isAuthorized = this.#authContext.getIsAuthorized(); + + if (isAuthorized) { + return true; + } + + // Save location.href so we can redirect to it after login + window.sessionStorage.setItem(UMB_STORAGE_REDIRECT_URL, location.href); + + // Make a request to the auth server to start the auth flow + return this.makeAuthorizationRequest(); + } + + async makeAuthorizationRequest(): Promise { + if (!this.#authContext) { + throw new Error('[Fatal] Auth context is not available'); + } + + this.#authContext.makeAuthorizationRequest(); + + // Reinitialize the auth flow (load the state from local storage) + this.#authContext.setInitialState(); + + return true; } } diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 89ab404a0f..3ccb67046a 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -186,24 +186,7 @@ export class UmbAppElement extends UmbLitElement { } #isAuthorizedGuard(): Guard { - return async () => { - if (!this.#authContext) { - throw new Error('[Fatal] AuthContext requested before it was initialized'); - } - - if (this.#authContext.getIsAuthorized()) { - return true; - } - - // Save location.href so we can redirect to it after login - window.sessionStorage.setItem(UMB_STORAGE_REDIRECT_URL, location.href); - - // Make a request to the auth server to start the auth flow - await this.#authController.makeAuthorizationRequest(); - - // Return false to prevent the route from being rendered - return false; - }; + return () => this.#authController.isAuthorized(); } #errorPage(errorMsg: string, error?: unknown) { From d85a28139d5a1a0bb8fd743f6580e68e90b19f5b Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 Apr 2024 15:09:16 +0200 Subject: [PATCH 008/134] Update data-type-detail.server.data-source.ts --- .../detail/data-type-detail.server.data-source.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/repository/detail/data-type-detail.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/repository/detail/data-type-detail.server.data-source.ts index 343901d3a5..67d697e9eb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/repository/detail/data-type-detail.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/data-type/repository/detail/data-type-detail.server.data-source.ts @@ -2,7 +2,10 @@ import type { UmbDataTypeDetailModel, UmbDataTypePropertyModel } from '../../typ import { UMB_DATA_TYPE_ENTITY_TYPE } from '../../entity.js'; import { UmbId } from '@umbraco-cms/backoffice/id'; import type { UmbDetailDataSource } from '@umbraco-cms/backoffice/repository'; -import type { CreateDataTypeRequestModel, DataTypeModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { + CreateDataTypeRequestModel, + UpdateDataTypeRequestModel, +} from '@umbraco-cms/backoffice/external/backend-api'; import { DataTypeResource } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @@ -119,7 +122,7 @@ export class UmbDataTypeServerDataSource implements UmbDetailDataSource Date: Thu, 4 Apr 2024 15:16:34 +0200 Subject: [PATCH 009/134] add client model for document type clean up --- .../src/packages/documents/document-types/types.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/types.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/types.ts index 6f3dad4ddd..0cb1487c2f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/types.ts @@ -1,14 +1,19 @@ import type { UmbDocumentTypeEntityType } from './entity.js'; import type { UmbContentTypeModel } from '@umbraco-cms/backoffice/content-type'; -import type { ContentTypeCleanupBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; export interface UmbDocumentTypeDetailModel extends UmbContentTypeModel { entityType: UmbDocumentTypeEntityType; allowedTemplates: Array<{ id: string }>; defaultTemplate: { id: string } | null; - cleanup: ContentTypeCleanupBaseModel; + cleanup: UmbDocumentTypeCleanupModel; } +export type UmbDocumentTypeCleanupModel = { + preventCleanup: boolean; + keepAllVersionsNewerThanDays: number | null; + keepLatestVersionPerDayForDays: number | null; +}; + export interface UmbDocumentTypeCompositionRequestModel { unique: string; //Do we really need to send this to the server - Why isn't unique enough? From d0460e42bc654dbb31e22b548594713272475a8f Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 Apr 2024 15:16:54 +0200 Subject: [PATCH 010/134] use correct request model --- .../repository/culture-and-hostnames.repository.ts | 4 ++-- .../repository/culture-and-hostnames.server.data.ts | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/repository/culture-and-hostnames.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/repository/culture-and-hostnames.repository.ts index 5394709ce3..cdee66cafa 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/repository/culture-and-hostnames.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/repository/culture-and-hostnames.repository.ts @@ -3,7 +3,7 @@ import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification'; import type { UmbApi } from '@umbraco-cms/backoffice/extension-api'; -import type { DomainsPresentationModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { UpdateDomainsRequestModel } from '@umbraco-cms/backoffice/external/backend-api'; export class UmbDocumentCultureAndHostnamesRepository extends UmbControllerBase implements UmbApi { #dataSource = new UmbDocumentCultureAndHostnamesServerDataSource(this); @@ -28,7 +28,7 @@ export class UmbDocumentCultureAndHostnamesRepository extends UmbControllerBase return { error }; } - async updateCultureAndHostnames(unique: string, data: DomainsPresentationModelBaseModel) { + async updateCultureAndHostnames(unique: string, data: UpdateDomainsRequestModel) { if (!unique) throw new Error('Unique is missing'); if (!data) throw new Error('Data is missing'); diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/repository/culture-and-hostnames.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/repository/culture-and-hostnames.server.data.ts index fe4123f967..213f6406c0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/repository/culture-and-hostnames.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/repository/culture-and-hostnames.server.data.ts @@ -1,5 +1,5 @@ import { DocumentResource } from '@umbraco-cms/backoffice/external/backend-api'; -import type { DomainsPresentationModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { UpdateDomainsRequestModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @@ -34,10 +34,10 @@ export class UmbDocumentCultureAndHostnamesServerDataSource { /** * Updates Culture and Hostnames for the given Document unique * @param {string} unique - * @param {DomainsPresentationModelBaseModel} data + * @param {UpdateDomainsRequestModel} data * @memberof UmbDocumentCultureAndHostnamesServerDataSource */ - async update(unique: string, data: DomainsPresentationModelBaseModel) { + async update(unique: string, data: UpdateDomainsRequestModel) { if (!unique) throw new Error('Unique is missing'); return tryExecuteAndNotify(this.#host, DocumentResource.putDocumentByIdDomains({ id: unique, requestBody: data })); } From d7a1d45a1fd347b42c40b0d08daec44ed97f3152 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 Apr 2024 15:24:05 +0200 Subject: [PATCH 011/134] update to new model name --- .../log-viewer/repository/log-viewer.repository.ts | 8 ++------ .../log-viewer/workspace/logviewer-workspace.context.ts | 4 ++-- .../components/log-viewer-search-input-modal.element.ts | 4 ++-- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/log-viewer/repository/log-viewer.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/log-viewer/repository/log-viewer.repository.ts index a0e56eb99a..569caf7da8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/log-viewer/repository/log-viewer.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/log-viewer/repository/log-viewer.repository.ts @@ -6,13 +6,9 @@ import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification'; import type { DirectionModel, LogLevelModel, - SavedLogSearchPresenationBaseModel, + SavedLogSearchResponseModel, } from '@umbraco-cms/backoffice/external/backend-api'; -// Move to documentation / JSdoc -/* We need to create a new instance of the repository from within the element context. We want the notifications to be displayed in the right context. */ -// element -> context -> repository -> (store) -> data source -// All methods should be async and return a promise. Some methods might return an observable as part of the promise response. export class UmbLogViewerRepository { #host: UmbControllerHost; #searchDataSource: UmbLogSearchesServerDataSource; @@ -36,7 +32,7 @@ export class UmbLogViewerRepository { return this.#searchDataSource.getAllSavedSearches({ skip, take }); } - async saveSearch({ name, query }: SavedLogSearchPresenationBaseModel) { + async saveSearch({ name, query }: SavedLogSearchResponseModel) { await this.#init; this.#searchDataSource.postLogViewerSavedSearch({ name, query }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/logviewer-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/logviewer-workspace.context.ts index 73af896920..1040248603 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/logviewer-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/logviewer-workspace.context.ts @@ -7,7 +7,7 @@ import type { PagedLogMessageResponseModel, PagedLogTemplateResponseModel, PagedSavedLogSearchResponseModel, - SavedLogSearchPresenationBaseModel, + SavedLogSearchResponseModel, } from '@umbraco-cms/backoffice/external/backend-api'; import { DirectionModel, LogLevelModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; @@ -213,7 +213,7 @@ export class UmbLogViewerWorkspaceContext extends UmbControllerBase implements U } } - async saveSearch({ name, query }: SavedLogSearchPresenationBaseModel) { + async saveSearch({ name, query }: SavedLogSearchResponseModel) { const previousSavedSearches = this.#savedSearches.getValue()?.items ?? []; try { this.#savedSearches.update({ items: [...previousSavedSearches, { name, query }] }); diff --git a/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/views/search/components/log-viewer-search-input-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/views/search/components/log-viewer-search-input-modal.element.ts index 95d26c6bc7..fc7ab605f2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/views/search/components/log-viewer-search-input-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/log-viewer/workspace/views/search/components/log-viewer-search-input-modal.element.ts @@ -1,13 +1,13 @@ import { html, css, customElement, query, state } from '@umbraco-cms/backoffice/external/lit'; import type { UUIInputElement } from '@umbraco-cms/backoffice/external/uui'; import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal'; -import type { SavedLogSearchPresenationBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { SavedLogSearchResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; export interface UmbContextSaveSearchModalData { query: string; } -export interface UmbContextSaveSearchModalValue extends SavedLogSearchPresenationBaseModel {} +export interface UmbContextSaveSearchModalValue extends SavedLogSearchResponseModel {} @customElement('umb-log-viewer-save-search-modal') export default class UmbLogViewerSaveSearchModalElement extends UmbModalBaseElement< From 7c298cfd086dac4f8093230a54f8bc717250e263 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 Apr 2024 15:28:35 +0200 Subject: [PATCH 012/134] Update dictionary-detail.server.data-source.ts --- .../repository/detail/dictionary-detail.server.data-source.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/dictionary/repository/detail/dictionary-detail.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/dictionary/repository/detail/dictionary-detail.server.data-source.ts index 2f7a01821c..a41b6389f8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/dictionary/repository/detail/dictionary-detail.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/dictionary/repository/detail/dictionary-detail.server.data-source.ts @@ -4,7 +4,7 @@ import { UmbId } from '@umbraco-cms/backoffice/id'; import type { UmbDetailDataSource } from '@umbraco-cms/backoffice/repository'; import type { CreateDictionaryItemRequestModel, - DictionaryItemModelBaseModel, + UpdateDictionaryItemRequestModel, } from '@umbraco-cms/backoffice/external/backend-api'; import { DictionaryResource } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; @@ -111,7 +111,7 @@ export class UmbDictionaryServerDataSource implements UmbDetailDataSource Date: Thu, 4 Apr 2024 15:30:09 +0200 Subject: [PATCH 013/134] register public extensions in the app element --- .../src/apps/app/app-auth.controller.ts | 12 ++++++++++++ .../src/apps/app/app.element.ts | 3 +++ .../src/apps/backoffice/backoffice.element.ts | 8 +------- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index 73c31479d9..9d0c7983c9 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -1,9 +1,13 @@ import { UMB_AUTH_CONTEXT, UMB_STORAGE_REDIRECT_URL } from '@umbraco-cms/backoffice/auth'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { UmbServerExtensionRegistrator } from '@umbraco-cms/backoffice/extension-api'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; export class UmbAppAuthController extends UmbControllerBase { #authContext?: typeof UMB_AUTH_CONTEXT.TYPE; + #serverExtensionRegistrator = new UmbServerExtensionRegistrator(this, umbExtensionsRegistry); + #init; constructor(host: UmbControllerHost) { super(host); @@ -11,6 +15,8 @@ export class UmbAppAuthController extends UmbControllerBase { this.consumeContext(UMB_AUTH_CONTEXT, (context) => { this.#authContext = context; }); + + this.#init = Promise.all([this.#serverExtensionRegistrator.registerPublicExtensions()]); } /** @@ -35,11 +41,17 @@ export class UmbAppAuthController extends UmbControllerBase { return this.makeAuthorizationRequest(); } + /** + * Starts the authorization flow. + * It will check which providers are available and either redirect directly to the provider or show a provider selection screen. + */ async makeAuthorizationRequest(): Promise { if (!this.#authContext) { throw new Error('[Fatal] Auth context is not available'); } + await this.#init; + this.#authContext.makeAuthorizationRequest(); // Reinitialize the auth flow (load the state from local storage) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 3ccb67046a..94cf02eed0 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -67,6 +67,9 @@ export class UmbAppElement extends UmbLitElement { new UmbContextDebugController(this); + new UmbBundleExtensionInitializer(this, umbExtensionsRegistry); + new UmbEntryPointExtensionInitializer(this, umbExtensionsRegistry); + this.#umbIconRegistry.attach(this); this.#uuiIconRegistry.attach(this); } diff --git a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts index 4d77370af7..407e04a759 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts @@ -1,11 +1,7 @@ import { UmbBackofficeContext } from './backoffice.context.js'; import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; -import { - UmbBundleExtensionInitializer, - UmbEntryPointExtensionInitializer, - UmbServerExtensionRegistrator, -} from '@umbraco-cms/backoffice/extension-api'; +import { UmbServerExtensionRegistrator } from '@umbraco-cms/backoffice/extension-api'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import './components/index.js'; @@ -53,8 +49,6 @@ export class UmbBackofficeElement extends UmbLitElement { super(); new UmbBackofficeContext(this); - new UmbBundleExtensionInitializer(this, umbExtensionsRegistry); - new UmbEntryPointExtensionInitializer(this, umbExtensionsRegistry); new UmbServerExtensionRegistrator(this, umbExtensionsRegistry).registerAllExtensions(); // So far local packages are this simple to registerer, so no need for a manager to do that: From 6b57cf02edc4db03c662c4a239a80fbf62dc73dc Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:30:29 +0200 Subject: [PATCH 014/134] add imports --- src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 94cf02eed0..b11e26695d 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -12,6 +12,11 @@ import type { Guard, UmbRoute } from '@umbraco-cms/backoffice/router'; import { pathWithoutBasePath } from '@umbraco-cms/backoffice/router'; import { OpenAPI, RuntimeLevelModel } from '@umbraco-cms/backoffice/external/backend-api'; import { UmbContextDebugController } from '@umbraco-cms/backoffice/debug'; +import { + UmbBundleExtensionInitializer, + UmbEntryPointExtensionInitializer, +} from '@umbraco-cms/backoffice/extension-api'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; @customElement('umb-app') export class UmbAppElement extends UmbLitElement { From 01fd7e02e9f42dc6600a9bd07be34cc995e85aa6 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:30:43 +0200 Subject: [PATCH 015/134] remove unused import --- src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index b11e26695d..f4a9bb8239 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -3,7 +3,7 @@ import { UmbAppContext } from './app.context.js'; import { UmbServerConnection } from './server-connection.js'; import { UmbAppAuthController } from './app-auth.controller.js'; import type { UMB_AUTH_CONTEXT } from '@umbraco-cms/backoffice/auth'; -import { UMB_STORAGE_REDIRECT_URL, UmbAuthContext } from '@umbraco-cms/backoffice/auth'; +import { UmbAuthContext } from '@umbraco-cms/backoffice/auth'; import { css, html, customElement, property } from '@umbraco-cms/backoffice/external/lit'; import { UUIIconRegistryEssential } from '@umbraco-cms/backoffice/external/uui'; import { UmbIconRegistry } from '@umbraco-cms/backoffice/icon'; From 1b3d704b432228ebdfc2c8a298b12014cd081492 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:31:03 +0200 Subject: [PATCH 016/134] update the baseURL whenever it changes --- .../src/apps/app/app.element.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index f4a9bb8239..6d3070339e 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -27,7 +27,12 @@ export class UmbAppElement extends UmbLitElement { * @remarks This is the base URL of the Umbraco server, not the base URL of the backoffice. */ @property({ type: String }) - serverUrl = window.location.origin; + set serverUrl(url: string) { + OpenAPI.BASE = url; + } + get serverUrl() { + return OpenAPI.BASE; + } /** * The base path of the backoffice. @@ -70,6 +75,8 @@ export class UmbAppElement extends UmbLitElement { constructor() { super(); + OpenAPI.BASE = window.location.origin; + new UmbContextDebugController(this); new UmbBundleExtensionInitializer(this, umbExtensionsRegistry); @@ -85,14 +92,6 @@ export class UmbAppElement extends UmbLitElement { } async #setup() { - if (this.serverUrl === undefined) throw new Error('No serverUrl provided'); - - /* All requests to the server requires the base URL to be set. - We make sure it happens before we get the server status. - TODO: find the right place to set this - */ - OpenAPI.BASE = this.serverUrl; - this.#serverConnection = await new UmbServerConnection(this.serverUrl).connect(); this.#authContext = new UmbAuthContext(this, this.serverUrl, this.backofficePath, this.bypassAuth); From a25ec074c1c1838a393bc34aa3a4addaa103dc2c Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:31:13 +0200 Subject: [PATCH 017/134] add public manifest handlers --- .../src/mocks/browser-handlers.ts | 4 +- .../src/mocks/handlers/manifests.handlers.ts | 244 +++++++++--------- 2 files changed, 129 insertions(+), 119 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/browser-handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/browser-handlers.ts index 6a3c44ce04..a5751325f3 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/browser-handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/browser-handlers.ts @@ -90,11 +90,11 @@ switch (import.meta.env.VITE_UMBRACO_INSTALL_STATUS) { switch (import.meta.env.VITE_UMBRACO_EXTENSION_MOCKS) { case 'on': - handlers.push(manifestsHandlers.manifestDevelopmentHandler); + handlers.push(...manifestsHandlers.manifestDevelopmentHandlers); break; default: - handlers.push(manifestsHandlers.manifestEmptyHandler); + handlers.push(...manifestsHandlers.manifestEmptyHandlers); } export { handlers }; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts index 3a37e7aec5..df03f8cffd 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts @@ -3,127 +3,137 @@ const { rest } = window.MockServiceWorker; import type { PackageManifestResponse } from '../../packages/packages/types.js'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; -export const manifestDevelopmentHandler = rest.get(umbracoPath('/package/manifest'), (_req, res, ctx) => { - return res( - // Respond with a 200 status code - ctx.status(200), - ctx.json([ - { - name: 'My Package Name', - version: '1.0.0', - extensions: [ - { - type: 'bundle', - alias: 'My.Package.Bundle', - name: 'My Package Bundle', - js: '/App_Plugins/custom-bundle-package/index.js', - }, - ], - }, - { - name: 'Named Package', - version: '1.0.0', - extensions: [ - { - type: 'section', - alias: 'My.Section.Custom', - name: 'Custom Section', - js: '/App_Plugins/section.js', - elementName: 'my-section-custom', - weight: 1, - meta: { - label: 'Custom', - pathname: 'my-custom', +export const manifestDevelopmentHandlers = [ + rest.get(umbracoPath('/package/manifest'), (_req, res, ctx) => { + return res( + // Respond with a 200 status code + ctx.status(200), + ctx.json([ + { + name: 'My Package Name', + version: '1.0.0', + extensions: [ + { + type: 'bundle', + alias: 'My.Package.Bundle', + name: 'My Package Bundle', + js: '/App_Plugins/custom-bundle-package/index.js', }, - }, - { - type: 'propertyEditorUi', - alias: 'My.PropertyEditorUI.Custom', - name: 'My Custom Property Editor UI', - js: '/App_Plugins/property-editor.js', - elementName: 'my-property-editor-ui-custom', - meta: { - label: 'My Custom Property', - icon: 'document', - group: 'Common', - propertyEditorSchema: 'Umbraco.TextBox', + ], + }, + { + name: 'Named Package', + version: '1.0.0', + extensions: [ + { + type: 'section', + alias: 'My.Section.Custom', + name: 'Custom Section', + js: '/App_Plugins/section.js', + elementName: 'my-section-custom', + weight: 1, + meta: { + label: 'Custom', + pathname: 'my-custom', + }, }, - }, - ], - }, - { - name: 'Package with an entry point', - extensions: [ - { - type: 'entryPoint', - name: 'My Custom Entry Point', - alias: 'My.Entrypoint.Custom', - js: '/App_Plugins/custom-entrypoint.js', - }, - ], - }, - { - name: 'Package with a view', - extensions: [ - { - type: 'packageView', - alias: 'My.PackageView.Custom', - name: 'My Custom Package View', - js: '/App_Plugins/package-view.js', - meta: { - packageName: 'Package with a view', + { + type: 'propertyEditorUi', + alias: 'My.PropertyEditorUI.Custom', + name: 'My Custom Property Editor UI', + js: '/App_Plugins/property-editor.js', + elementName: 'my-property-editor-ui-custom', + meta: { + label: 'My Custom Property', + icon: 'document', + group: 'Common', + propertyEditorSchema: 'Umbraco.TextBox', + }, }, - }, - ], - }, - { - name: 'My MFA Package', - extensions: [ - { - type: 'mfaLoginProvider', - alias: 'My.MfaLoginProvider.Custom', - name: 'My Custom MFA Provider', - forProviderName: 'sms', - meta: { - label: 'Setup SMS Verification', + ], + }, + { + name: 'Package with an entry point', + extensions: [ + { + type: 'entryPoint', + name: 'My Custom Entry Point', + alias: 'My.Entrypoint.Custom', + js: '/App_Plugins/custom-entrypoint.js', }, - }, - ], - }, - { - name: 'My Auth Package', - extensions: [ - { - type: 'authProvider', - alias: 'My.AuthProvider.Google', - name: 'My Custom Auth Provider', - forProviderName: 'Umbraco.Google', - meta: { - label: 'Sign in with Google', + ], + }, + { + name: 'Package with a view', + extensions: [ + { + type: 'packageView', + alias: 'My.PackageView.Custom', + name: 'My Custom Package View', + js: '/App_Plugins/package-view.js', + meta: { + packageName: 'Package with a view', + }, }, - }, - { - type: 'authProvider', - alias: 'My.AUthProvider.Github', - name: 'My Github Auth Provider', - forProviderName: 'Umbraco.Github', - meta: { - label: 'Use Github!', - look: 'primary', - icon: 'icon-github', - color: 'success', + ], + }, + { + name: 'My MFA Package', + extensions: [ + { + type: 'mfaLoginProvider', + alias: 'My.MfaLoginProvider.Custom', + name: 'My Custom MFA Provider', + forProviderName: 'sms', + meta: { + label: 'Setup SMS Verification', + }, }, - }, - ], - }, - ]), - ); -}); + ], + }, + ]), + ); + }), + rest.get(umbracoPath('/package/manifest/public'), (_req, res, ctx) => { + return res( + ctx.status(200), + ctx.json([ + { + name: 'My Auth Package', + extensions: [ + { + type: 'authProvider', + alias: 'My.AuthProvider.Google', + name: 'My Custom Auth Provider', + forProviderName: 'Umbraco.Google', + meta: { + label: 'Sign in with Google', + }, + }, + { + type: 'authProvider', + alias: 'My.AUthProvider.Github', + name: 'My Github Auth Provider', + forProviderName: 'Umbraco.Github', + meta: { + label: 'Use Github!', + look: 'primary', + icon: 'icon-github', + color: 'success', + }, + }, + ], + }, + ]), + ); + }), +]; -export const manifestEmptyHandler = rest.get(umbracoPath('/package/manifest'), (_req, res, ctx) => { - return res( - // Respond with a 200 status code - ctx.status(200), - ctx.json([]), - ); -}); +export const manifestEmptyHandlers = [ + rest.get(umbracoPath('/package/manifest'), (_req, res, ctx) => { + return res(ctx.status(200), ctx.json([])); + }), + rest.get(umbracoPath('/package/manifest/public'), (_req, res, ctx) => { + return res(ctx.status(200), ctx.json([])); + }), +]; From cc1bb06379061961c602896c17529df70ead318a Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:32:32 +0200 Subject: [PATCH 018/134] dont send cookies to the backend --- src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 6d3070339e..95f3a81072 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -145,7 +145,6 @@ export class UmbAppElement extends UmbLitElement { // Instruct all requests to use the auth flow to get and use the access_token for all subsequent requests OpenAPI.TOKEN = () => this.#authContext!.getLatestToken(); OpenAPI.WITH_CREDENTIALS = true; - OpenAPI.CREDENTIALS = 'include'; } #redirect() { From 1154983c8121185fbaa285b01a40c1884e251ad8 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 Apr 2024 15:37:52 +0200 Subject: [PATCH 019/134] add client models for PropertyTypeModelBaseModel --- .../src/packages/core/content-type/types.ts | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/types.ts index fc60183419..76eeb7a5c7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/types.ts @@ -1,11 +1,11 @@ -import type { CompositionTypeModel, PropertyTypeModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { CompositionTypeModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbReferenceByUnique } from '@umbraco-cms/backoffice/models'; export type UmbPropertyContainerTypes = 'Group' | 'Tab'; export interface UmbPropertyTypeContainerModel { id: string; - parent: { id: string } | null; + parent: { id: string } | null; // TODO: change to unique name: string | null; type: UmbPropertyContainerTypes; sortOrder: number; @@ -32,8 +32,29 @@ export interface UmbPropertyTypeScaffoldModel extends Omit { +export interface UmbPropertyTypeModel { dataType: { unique: string }; + id: string; // TODO: change to unique + container?: { id: string } | null; // TODO: change to unique + sortOrder: number; + alias: string; + name: string; + description?: string | null; + variesByCulture: boolean; + variesBySegment: boolean; + validation: UmbPropertyTypeValidationModel; + appearance: UmbPropertyTypeAppearanceModel; +} + +export interface UmbPropertyTypeValidationModel { + mandatory: boolean; + mandatoryMessage?: string | null; + regEx?: string | null; + regExMessage?: string | null; +} + +export interface UmbPropertyTypeAppearanceModel { + labelOnTop: boolean; } export interface UmbContentTypeSortModel { From 2fe52cd500a2ad096f617800cdef5870697f51be Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:40:14 +0200 Subject: [PATCH 020/134] remove todo --- src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 95f3a81072..36c88357c3 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -40,7 +40,6 @@ export class UmbAppElement extends UmbLitElement { * @attr */ @property({ type: String }) - // TODO: get from base element or maybe move to UmbAuthContext.#getRedirectUrl since it is only used there backofficePath = '/umbraco'; /** From 184e498bc2fe07e0908c42b675673930de52ba50 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:02:35 +0200 Subject: [PATCH 021/134] initialize controllers only when it makes sense --- .../src/apps/app/app.element.ts | 12 ++++++++++-- .../src/apps/backoffice/backoffice.element.ts | 7 ------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 36c88357c3..91fff747cd 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -20,6 +20,13 @@ import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registr @customElement('umb-app') export class UmbAppElement extends UmbLitElement { + /** + * Backoffice extension registry. + * This enables to register and unregister extensions via DevTools, or just via querying this element via the DOM. + * @type {UmbExtensionsRegistry} + */ + public extensionRegistry = umbExtensionsRegistry; + /** * The base URL of the configured Umbraco server. * @@ -69,7 +76,7 @@ export class UmbAppElement extends UmbLitElement { #umbIconRegistry = new UmbIconRegistry(); #uuiIconRegistry = new UUIIconRegistryEssential(); #serverConnection?: UmbServerConnection; - #authController = new UmbAppAuthController(this); + #authController?: UmbAppAuthController; constructor() { super(); @@ -91,6 +98,7 @@ export class UmbAppElement extends UmbLitElement { } async #setup() { + this.#authController = new UmbAppAuthController(this); this.#serverConnection = await new UmbServerConnection(this.serverUrl).connect(); this.#authContext = new UmbAuthContext(this, this.serverUrl, this.backofficePath, this.bypassAuth); @@ -191,7 +199,7 @@ export class UmbAppElement extends UmbLitElement { } #isAuthorizedGuard(): Guard { - return () => this.#authController.isAuthorized(); + return () => this.#authController?.isAuthorized() ?? false; } #errorPage(errorMsg: string, error?: unknown) { diff --git a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts index 407e04a759..5e42145a82 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts @@ -38,13 +38,6 @@ const CORE_PACKAGES = [ @customElement('umb-backoffice') export class UmbBackofficeElement extends UmbLitElement { - /** - * Backoffice extension registry. - * This enables to register and unregister extensions via DevTools, or just via querying this element via the DOM. - * @type {UmbExtensionsRegistry} - */ - public extensionRegistry = umbExtensionsRegistry; - constructor() { super(); From 22324f00471fffd7bc442f3504a0adedd3f27df2 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:50:02 +0200 Subject: [PATCH 022/134] create modal to show auth providers --- .../src/packages/core/auth/index.ts | 1 + .../src/packages/core/auth/manifests.ts | 4 ++++ .../src/packages/core/auth/modals/index.ts | 1 + .../src/packages/core/auth/modals/manifests.ts | 10 ++++++++++ .../auth/modals/umb-app-auth-modal.element.ts | 17 +++++++++++++++++ .../auth/modals/umb-app-auth-modal.token.ts | 8 ++++++++ .../src/packages/core/manifests.ts | 2 ++ 7 files changed, 43 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/auth/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/index.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts index e6dc7d478d..e99e9b0dcf 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts @@ -1,3 +1,4 @@ export * from './auth.context.js'; export * from './auth.context.token.js'; +export * from './modals/index.js'; export * from './models/openApiConfiguration.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/manifests.ts new file mode 100644 index 0000000000..8ba79428c9 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/manifests.ts @@ -0,0 +1,4 @@ +import type { ManifestTypes } from '../extension-registry/models/index.js'; +import { manifests as modalManifests } from './modals/manifests.js'; + +export const manifests: Array = [...modalManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/index.ts new file mode 100644 index 0000000000..c574cd0af1 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/index.ts @@ -0,0 +1 @@ +export * from './umb-app-auth-modal.token.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/manifests.ts new file mode 100644 index 0000000000..315736dd1f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/manifests.ts @@ -0,0 +1,10 @@ +import type { ManifestModal } from '@umbraco-cms/backoffice/extension-registry'; + +export const manifests: Array = [ + { + type: 'modal', + alias: 'Umb.Modal.AppAuth', + name: 'Umb App Auth Modal', + js: () => import('./umb-app-auth-modal.element.js'), + }, +]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts new file mode 100644 index 0000000000..1f8418e3ca --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -0,0 +1,17 @@ +import { customElement, html } from '@umbraco-cms/backoffice/external/lit'; +import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; + +@customElement('umb-app-auth-modal') +export class UmbAppAuthModalElement extends UmbLitElement { + render() { + return html`

Umb App Auth Modal

`; + } +} + +export default UmbAppAuthModalElement; + +declare global { + interface HTMLElementTagNameMap { + 'umb-app-auth-modal': UmbAppAuthModalElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts new file mode 100644 index 0000000000..4b4e39656b --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts @@ -0,0 +1,8 @@ +import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; + +export const UMB_MODAL_APP_AUTH = new UmbModalToken('Umb.Modal.AppAuth', { + modal: { + size: 'small', + type: 'dialog', + }, +}); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/manifests.ts index 66d11f9961..d80662cc2c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/manifests.ts @@ -1,3 +1,4 @@ +import { manifests as authManifests } from './auth/manifests.js'; import { manifests as collectionManifests } from './collection/manifests.js'; import { manifests as contentTypeManifests } from './content-type/manifests.js'; import { manifests as cultureManifests } from './culture/manifests.js'; @@ -18,6 +19,7 @@ import { manifests as workspaceManifests } from './workspace/manifests.js'; import type { ManifestTypes, UmbBackofficeManifestKind } from './extension-registry/index.js'; export const manifests: Array = [ + ...authManifests, ...collectionManifests, ...contentTypeManifests, ...cultureManifests, From 5c8c0dd15eeee9aec22006a90c0d6cb0e6b7d266 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:50:23 +0200 Subject: [PATCH 023/134] load core extensions in app element --- src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts | 3 +++ .../src/apps/backoffice/backoffice.element.ts | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 91fff747cd..3e3dea0b60 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -1,3 +1,4 @@ +import { extensions as coreExtensions } from '../../packages/core/umbraco-package.js'; import type { UmbAppErrorElement } from './app-error.element.js'; import { UmbAppContext } from './app.context.js'; import { UmbServerConnection } from './server-connection.js'; @@ -90,6 +91,8 @@ export class UmbAppElement extends UmbLitElement { this.#umbIconRegistry.attach(this); this.#uuiIconRegistry.attach(this); + + umbExtensionsRegistry.registerMany(coreExtensions); } connectedCallback(): void { diff --git a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts index 5e42145a82..ae2d293e3e 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts @@ -10,7 +10,6 @@ import './components/index.js'; const CORE_PACKAGES = [ import('../../packages/audit-log/umbraco-package.js'), import('../../packages/block/umbraco-package.js'), - import('../../packages/core/umbraco-package.js'), import('../../packages/data-type/umbraco-package.js'), import('../../packages/dictionary/umbraco-package.js'), import('../../packages/documents/umbraco-package.js'), From 94c3d5fca8983074087382adaff9da2143dbcb84 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:50:38 +0200 Subject: [PATCH 024/134] add check to see if any auth providers are registered --- .../src/apps/app/app-auth.controller.ts | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index 9d0c7983c9..dba8a08626 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -1,8 +1,10 @@ -import { UMB_AUTH_CONTEXT, UMB_STORAGE_REDIRECT_URL } from '@umbraco-cms/backoffice/auth'; +import { UMB_AUTH_CONTEXT, UMB_MODAL_APP_AUTH, UMB_STORAGE_REDIRECT_URL } from '@umbraco-cms/backoffice/auth'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbServerExtensionRegistrator } from '@umbraco-cms/backoffice/extension-api'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; +import { firstValueFrom } from '@umbraco-cms/backoffice/external/rxjs'; +import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; export class UmbAppAuthController extends UmbControllerBase { #authContext?: typeof UMB_AUTH_CONTEXT.TYPE; @@ -52,11 +54,32 @@ export class UmbAppAuthController extends UmbControllerBase { await this.#init; - this.#authContext.makeAuthorizationRequest(); + // Figure out which providers are available + const availableProviders = await firstValueFrom(umbExtensionsRegistry.byType('authProvider')); + if (availableProviders.length === 0) { + // No providers available, initiate the authorization request to the default provider + this.#authContext.makeAuthorizationRequest(); + } else { + // Check if any provider is redirecting directly to the provider, and if so, redirect to that provider + const redirectProvider = availableProviders.find((provider) => provider.meta?.autoRedirect); + if (redirectProvider) { + this.#authContext.makeAuthorizationRequest(redirectProvider.forProviderName); + return true; + } + + // Show the provider selection screen + console.log('show modal for', availableProviders); + const modalContext = await this.getContext(UMB_MODAL_MANAGER_CONTEXT); + await modalContext + .open(this._host, UMB_MODAL_APP_AUTH) + .onSubmit() + .catch(() => undefined); + } // Reinitialize the auth flow (load the state from local storage) this.#authContext.setInitialState(); - return true; + // The authorization flow is finished, so let the caller know if the user is authorized + return this.#authContext.getIsAuthorized(); } } From 0fc301c4cdfb676cbbc7f871d6b80fa3097b90c1 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 Apr 2024 21:03:18 +0200 Subject: [PATCH 025/134] update server models --- .../src/models/AuditLogResponseModel.ts | 2 +- .../AuditLogWithUsernameResponseModel.ts | 2 +- .../src/models/CopyDataTypeRequestModel.ts | 2 +- .../src/models/CopyDocumentRequestModel.ts | 2 +- .../models/CopyDocumentTypeRequestModel.ts | 2 +- .../src/models/CopyMediaTypeRequestModel.ts | 2 +- .../src/models/CreateDataTypeRequestModel.ts | 2 +- .../CreateDictionaryItemRequestModel.ts | 2 +- ...cumentBlueprintFromDocumentRequestModel.ts | 2 +- .../CreateDocumentBlueprintRequestModel.ts | 2 +- .../src/models/CreateDocumentRequestModel.ts | 4 +-- ...ntTypePropertyTypeContainerRequestModel.ts | 2 +- ...ateDocumentTypePropertyTypeRequestModel.ts | 2 +- .../models/CreateDocumentTypeRequestModel.ts | 6 ++-- .../src/models/CreateFolderRequestModel.ts | 2 +- .../src/models/CreateMediaRequestModel.ts | 2 +- ...iaTypePropertyTypeContainerRequestModel.ts | 2 +- ...CreateMediaTypePropertyTypeRequestModel.ts | 2 +- .../src/models/CreateMediaTypeRequestModel.ts | 4 +-- ...erTypePropertyTypeContainerRequestModel.ts | 2 +- ...reateMemberTypePropertyTypeRequestModel.ts | 2 +- .../models/CreateMemberTypeRequestModel.ts | 2 +- .../CreatePartialViewFolderRequestModel.ts | 2 +- .../models/CreatePartialViewRequestModel.ts | 2 +- .../models/CreateScriptFolderRequestModel.ts | 2 +- .../src/models/CreateScriptRequestModel.ts | 2 +- .../CreateStylesheetFolderRequestModel.ts | 2 +- .../models/CreateStylesheetRequestModel.ts | 2 +- .../src/models/CreateUserGroupRequestModel.ts | 4 +-- .../models/CultureAndScheduleRequestModel.ts | 2 +- .../models/DataTypeTreeItemResponseModel.ts | 2 +- .../models/DictionaryOverviewResponseModel.ts | 2 +- .../DocumentBlueprintTreeItemResponseModel.ts | 2 +- .../DocumentPermissionPresentationModel.ts | 1 + .../DocumentRecycleBinItemResponseModel.ts | 2 +- .../src/models/DocumentResponseModel.ts | 2 +- .../models/DocumentTreeItemResponseModel.ts | 2 +- ...tTypePropertyTypeContainerResponseModel.ts | 2 +- .../DocumentTypePropertyTypeResponseModel.ts | 2 +- .../DocumentTypeReferenceResponseModel.ts | 2 +- .../src/models/DocumentTypeResponseModel.ts | 4 +-- .../DocumentTypeTreeItemResponseModel.ts | 2 +- .../models/DocumentVersionResponseModel.ts | 2 +- .../FileSystemTreeItemPresentationModel.ts | 2 +- .../models/ImportDictionaryRequestModel.ts | 2 +- .../MediaRecycleBinItemResponseModel.ts | 2 +- .../src/models/MediaTreeItemResponseModel.ts | 2 +- ...aTypePropertyTypeContainerResponseModel.ts | 2 +- .../MediaTypePropertyTypeResponseModel.ts | 2 +- .../models/MediaTypeReferenceResponseModel.ts | 2 +- .../src/models/MediaTypeResponseModel.ts | 2 +- .../models/MediaTypeTreeItemResponseModel.ts | 2 +- ...rTypePropertyTypeContainerResponseModel.ts | 2 +- .../MemberTypePropertyTypeResponseModel.ts | 2 +- .../MemberTypeReferenceResponseModel.ts | 2 +- .../src/models/MemberTypeResponseModel.ts | 2 +- .../src/models/MoveDataTypeRequestModel.ts | 2 +- .../src/models/MoveDictionaryRequestModel.ts | 2 +- .../src/models/MoveDocumentRequestModel.ts | 2 +- .../models/MoveDocumentTypeRequestModel.ts | 2 +- .../src/models/MoveMediaRequestModel.ts | 2 +- .../src/models/MoveMediaTypeRequestModel.ts | 2 +- .../NamedEntityTreeItemResponseModel.ts | 2 +- .../models/PartialViewFolderResponseModel.ts | 2 +- .../models/PartialViewItemResponseModel.ts | 2 +- .../src/models/PartialViewResponseModel.ts | 2 +- .../src/models/RelationTypeResponseModel.ts | 4 +-- .../src/models/ScriptFolderResponseModel.ts | 2 +- .../src/models/ScriptItemResponseModel.ts | 2 +- .../src/models/ScriptResponseModel.ts | 2 +- .../src/models/SortingRequestModel.ts | 2 +- .../src/models/StaticFileItemResponseModel.ts | 2 +- .../models/StylesheetFolderResponseModel.ts | 2 +- .../src/models/StylesheetItemResponseModel.ts | 2 +- .../src/models/StylesheetResponseModel.ts | 2 +- .../src/models/TemplateQueryExecuteModel.ts | 4 +-- .../src/models/TemplateResponseModel.ts | 2 +- .../UnknownTypePermissionPresentationModel.ts | 1 + .../src/models/UpdateDocumentRequestModel.ts | 2 +- ...ntTypePropertyTypeContainerRequestModel.ts | 2 +- ...ateDocumentTypePropertyTypeRequestModel.ts | 2 +- .../models/UpdateDocumentTypeRequestModel.ts | 4 +-- ...iaTypePropertyTypeContainerRequestModel.ts | 2 +- ...UpdateMediaTypePropertyTypeRequestModel.ts | 2 +- .../src/models/UpdateMediaTypeRequestModel.ts | 2 +- ...erTypePropertyTypeContainerRequestModel.ts | 2 +- ...pdateMemberTypePropertyTypeRequestModel.ts | 2 +- .../models/UpdateMemberTypeRequestModel.ts | 2 +- .../src/models/UpdateUserGroupRequestModel.ts | 4 +-- .../src/models/UserGroupResponseModel.ts | 4 +-- .../src/services/AuditLogResource.ts | 6 ++-- .../src/services/CultureResource.ts | 2 +- .../src/services/DataTypeResource.ts | 20 ++++++------ .../src/services/DictionaryResource.ts | 14 ++++---- .../src/services/DocumentBlueprintResource.ts | 6 ++-- .../src/services/DocumentResource.ts | 32 +++++++++---------- .../src/services/DocumentTypeResource.ts | 24 +++++++------- .../src/services/DocumentVersionResource.ts | 4 +-- .../src/services/DynamicRootResource.ts | 2 +- .../src/services/HealthCheckResource.ts | 8 ++--- .../backend-api/src/services/HelpResource.ts | 2 +- .../src/services/IndexerResource.ts | 4 +-- .../src/services/InstallResource.ts | 2 +- .../src/services/LanguageResource.ts | 6 ++-- .../src/services/LogViewerResource.ts | 12 +++---- .../backend-api/src/services/MediaResource.ts | 28 ++++++++-------- .../src/services/MediaTypeResource.ts | 22 ++++++------- .../src/services/MemberGroupResource.ts | 12 +++---- .../src/services/MemberResource.ts | 10 +++--- .../src/services/MemberTypeResource.ts | 12 +++---- .../src/services/ModelsBuilderResource.ts | 4 +-- .../src/services/ObjectTypesResource.ts | 2 +- .../src/services/PackageResource.ts | 14 ++++---- .../src/services/PartialViewResource.ts | 16 +++++----- .../src/services/ProfilingResource.ts | 2 +- .../services/RedirectManagementResource.ts | 6 ++-- .../src/services/RelationResource.ts | 2 +- .../src/services/RelationTypeResource.ts | 6 ++-- .../src/services/ScriptResource.ts | 12 +++---- .../src/services/SearcherResource.ts | 4 +-- .../src/services/SecurityResource.ts | 4 +-- .../src/services/ServerResource.ts | 8 ++--- .../src/services/StaticFileResource.ts | 8 ++--- .../src/services/StylesheetResource.ts | 12 +++---- .../backend-api/src/services/TagResource.ts | 2 +- .../src/services/TelemetryResource.ts | 4 +-- .../src/services/TemplateResource.ts | 18 +++++------ .../src/services/TemporaryFileResource.ts | 4 +-- .../backend-api/src/services/TourResource.ts | 2 +- .../src/services/UpgradeResource.ts | 2 +- .../src/services/UserGroupResource.ts | 6 ++-- .../backend-api/src/services/UserResource.ts | 30 ++++++++--------- .../src/services/WebhookResource.ts | 6 ++-- 133 files changed, 302 insertions(+), 300 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogResponseModel.ts index b317408232..69bb0cda07 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogResponseModel.ts @@ -9,7 +9,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type AuditLogResponseModel = { user: ReferenceByIdModel; - entity: AuditLogEntityModel; + entity?: AuditLogEntityModel | null; timestamp: string; logType: AuditTypeModel; comment?: string | null; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogWithUsernameResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogWithUsernameResponseModel.ts index 5fe05e205b..416fd4143b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogWithUsernameResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/AuditLogWithUsernameResponseModel.ts @@ -9,7 +9,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type AuditLogWithUsernameResponseModel = { user: ReferenceByIdModel; - entity: AuditLogEntityModel; + entity?: AuditLogEntityModel | null; timestamp: string; logType: AuditTypeModel; comment?: string | null; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDataTypeRequestModel.ts index bcc20cdb12..44660e907d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDataTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CopyDataTypeRequestModel = { - target: ReferenceByIdModel; + target?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentRequestModel.ts index cb9f18eecd..828849c9ac 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentRequestModel.ts @@ -6,7 +6,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CopyDocumentRequestModel = { - target: ReferenceByIdModel; + target?: ReferenceByIdModel | null; relateToOriginal: boolean; includeDescendants: boolean; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentTypeRequestModel.ts index 2455c2f5e7..346920d256 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyDocumentTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CopyDocumentTypeRequestModel = { - target: ReferenceByIdModel; + target?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyMediaTypeRequestModel.ts index 7efeb51614..943722db52 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyMediaTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CopyMediaTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CopyMediaTypeRequestModel = { - target: ReferenceByIdModel; + target?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDataTypeRequestModel.ts index 38d751dd93..5c29779e3b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDataTypeRequestModel.ts @@ -12,6 +12,6 @@ export type CreateDataTypeRequestModel = { editorUiAlias?: string | null; values: Array; id?: string | null; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDictionaryItemRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDictionaryItemRequestModel.ts index a79462d29c..deb3fb7478 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDictionaryItemRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDictionaryItemRequestModel.ts @@ -10,6 +10,6 @@ export type CreateDictionaryItemRequestModel = { name: string; translations: Array; id?: string | null; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintFromDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintFromDocumentRequestModel.ts index fbc3e5885a..f5a3a63852 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintFromDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintFromDocumentRequestModel.ts @@ -9,6 +9,6 @@ export type CreateDocumentBlueprintFromDocumentRequestModel = { document: ReferenceByIdModel; id?: string | null; name: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintRequestModel.ts index dbddba3051..cf28d637b5 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentBlueprintRequestModel.ts @@ -11,7 +11,7 @@ export type CreateDocumentBlueprintRequestModel = { values: Array; variants: Array; id?: string | null; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; documentType: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentRequestModel.ts index e09fd260ad..a21cf5989e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentRequestModel.ts @@ -11,8 +11,8 @@ export type CreateDocumentRequestModel = { values: Array; variants: Array; id?: string | null; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; documentType: ReferenceByIdModel; - template: ReferenceByIdModel; + template?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeContainerRequestModel.ts index 1ba1780c0d..370a87978b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeContainerRequestModel.ts @@ -7,7 +7,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CreateDocumentTypePropertyTypeContainerRequestModel = { id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name?: string | null; type: string; sortOrder: number; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeRequestModel.ts index 188c185c3f..902b96b771 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypePropertyTypeRequestModel.ts @@ -9,7 +9,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CreateDocumentTypePropertyTypeRequestModel = { id: string; - container: ReferenceByIdModel; + container?: ReferenceByIdModel | null; sortOrder: number; alias: string; name: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypeRequestModel.ts index d4d37fe03e..11d2577dd8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateDocumentTypeRequestModel.ts @@ -18,14 +18,14 @@ export type CreateDocumentTypeRequestModel = { allowedAsRoot: boolean; variesByCulture: boolean; variesBySegment: boolean; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; isElement: boolean; properties: Array; containers: Array; id?: string | null; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; allowedTemplates: Array; - defaultTemplate: ReferenceByIdModel; + defaultTemplate?: ReferenceByIdModel | null; cleanup: DocumentTypeCleanupModel; allowedDocumentTypes: Array; compositions: Array; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateFolderRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateFolderRequestModel.ts index b89003ac6f..f87cdddc18 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateFolderRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateFolderRequestModel.ts @@ -8,6 +8,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CreateFolderRequestModel = { name: string; id?: string | null; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaRequestModel.ts index 7c5051bba9..1dbf12c631 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaRequestModel.ts @@ -11,7 +11,7 @@ export type CreateMediaRequestModel = { values: Array; variants: Array; id?: string | null; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; mediaType: ReferenceByIdModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts index 507e85d15a..5a8ab7d46c 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts @@ -7,7 +7,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CreateMediaTypePropertyTypeContainerRequestModel = { id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name?: string | null; type: string; sortOrder: number; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts index ec9cb2c9f7..17a5b45de7 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts @@ -9,7 +9,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CreateMediaTypePropertyTypeRequestModel = { id: string; - container: ReferenceByIdModel; + container?: ReferenceByIdModel | null; sortOrder: number; alias: string; name: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts index 7106adfffb..f7c41dd1bd 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts @@ -21,9 +21,9 @@ export type CreateMediaTypeRequestModel = { properties: Array; containers: Array; id?: string | null; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; allowedMediaTypes: Array; compositions: Array; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeContainerRequestModel.ts index cb67a6066f..1815f05075 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeContainerRequestModel.ts @@ -7,7 +7,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CreateMemberTypePropertyTypeContainerRequestModel = { id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name?: string | null; type: string; sortOrder: number; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeRequestModel.ts index 8585badd84..f3681e28ca 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypePropertyTypeRequestModel.ts @@ -10,7 +10,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type CreateMemberTypePropertyTypeRequestModel = { id: string; - container: ReferenceByIdModel; + container?: ReferenceByIdModel | null; sortOrder: number; alias: string; name: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypeRequestModel.ts index 00078a21fe..4904e62cc0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMemberTypeRequestModel.ts @@ -16,7 +16,7 @@ export type CreateMemberTypeRequestModel = { allowedAsRoot: boolean; variesByCulture: boolean; variesBySegment: boolean; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; isElement: boolean; properties: Array; containers: Array; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewFolderRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewFolderRequestModel.ts index 9ab85dbf89..15282452c9 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewFolderRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewFolderRequestModel.ts @@ -7,6 +7,6 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type CreatePartialViewFolderRequestModel = { name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewRequestModel.ts index 2e06f48e7b..82139f8109 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreatePartialViewRequestModel.ts @@ -7,7 +7,7 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type CreatePartialViewRequestModel = { name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; content: string; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptFolderRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptFolderRequestModel.ts index e910e2fd73..54832896b3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptFolderRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptFolderRequestModel.ts @@ -7,6 +7,6 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type CreateScriptFolderRequestModel = { name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptRequestModel.ts index d7fcc04ffd..5e93399521 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateScriptRequestModel.ts @@ -7,7 +7,7 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type CreateScriptRequestModel = { name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; content: string; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetFolderRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetFolderRequestModel.ts index f5b5cd5a8a..e31be7b932 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetFolderRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetFolderRequestModel.ts @@ -7,6 +7,6 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type CreateStylesheetFolderRequestModel = { name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetRequestModel.ts index 315785a407..681e36ed05 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateStylesheetRequestModel.ts @@ -7,7 +7,7 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type CreateStylesheetRequestModel = { name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; content: string; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserGroupRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserGroupRequestModel.ts index 786d71e7ee..a7d78bca69 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserGroupRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateUserGroupRequestModel.ts @@ -13,9 +13,9 @@ export type CreateUserGroupRequestModel = { sections: Array; languages: Array; hasAccessToAllLanguages: boolean; - documentStartNode: ReferenceByIdModel; + documentStartNode?: ReferenceByIdModel | null; documentRootAccess: boolean; - mediaStartNode: ReferenceByIdModel; + mediaStartNode?: ReferenceByIdModel | null; mediaRootAccess: boolean; fallbackPermissions: Array; permissions: Array<(DocumentPermissionPresentationModel | UnknownTypePermissionPresentationModel)>; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CultureAndScheduleRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CultureAndScheduleRequestModel.ts index 9d8cfdc164..8ebf39abe3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CultureAndScheduleRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CultureAndScheduleRequestModel.ts @@ -7,6 +7,6 @@ import type { ScheduleRequestModel } from './ScheduleRequestModel'; export type CultureAndScheduleRequestModel = { culture?: string | null; - schedule: ScheduleRequestModel; + schedule?: ScheduleRequestModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeTreeItemResponseModel.ts index 6515834ff8..450ae578e0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DataTypeTreeItemResponseModel.ts @@ -8,7 +8,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DataTypeTreeItemResponseModel = { hasChildren: boolean; id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name: string; isFolder: boolean; editorUiAlias?: string | null; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryOverviewResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryOverviewResponseModel.ts index d257ce2606..c703cb41b3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryOverviewResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DictionaryOverviewResponseModel.ts @@ -8,7 +8,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DictionaryOverviewResponseModel = { name?: string | null; id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; translatedIsoCodes: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts index 8019103d75..1f877b1dcd 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts @@ -9,7 +9,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DocumentBlueprintTreeItemResponseModel = { hasChildren: boolean; id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name: string; documentType: DocumentTypeReferenceResponseModel; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentPermissionPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentPermissionPresentationModel.ts index 7cd831235e..420b96ec34 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentPermissionPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentPermissionPresentationModel.ts @@ -6,6 +6,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DocumentPermissionPresentationModel = { + $type: string; document: ReferenceByIdModel; verbs: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentRecycleBinItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentRecycleBinItemResponseModel.ts index bcb0ffdc78..0cbc6e3eed 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentRecycleBinItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentRecycleBinItemResponseModel.ts @@ -10,7 +10,7 @@ import type { ItemReferenceByIdResponseModel } from './ItemReferenceByIdResponse export type DocumentRecycleBinItemResponseModel = { id: string; hasChildren: boolean; - parent: ItemReferenceByIdResponseModel; + parent?: ItemReferenceByIdResponseModel | null; documentType: DocumentTypeReferenceResponseModel; variants: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentResponseModel.ts index 6638494869..e748a2fa23 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentResponseModel.ts @@ -15,7 +15,7 @@ export type DocumentResponseModel = { id: string; documentType: DocumentTypeReferenceResponseModel; urls: Array; - template: ReferenceByIdModel; + template?: ReferenceByIdModel | null; isTrashed: boolean; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTreeItemResponseModel.ts index 3e841b5d92..85c85414ce 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTreeItemResponseModel.ts @@ -9,7 +9,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DocumentTreeItemResponseModel = { hasChildren: boolean; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; noAccess: boolean; isTrashed: boolean; id: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts index 9f25e3ff76..ba1da5ed90 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts @@ -7,7 +7,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DocumentTypePropertyTypeContainerResponseModel = { id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name?: string | null; type: string; sortOrder: number; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts index cd3aab28eb..8ab9019a74 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts @@ -9,7 +9,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DocumentTypePropertyTypeResponseModel = { id: string; - container: ReferenceByIdModel; + container?: ReferenceByIdModel | null; sortOrder: number; alias: string; name: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeReferenceResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeReferenceResponseModel.ts index 117220a6bf..6c330ee6bc 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeReferenceResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeReferenceResponseModel.ts @@ -8,6 +8,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DocumentTypeReferenceResponseModel = { id: string; icon: string; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeResponseModel.ts index e5ccb1e1a3..59794877d0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeResponseModel.ts @@ -18,13 +18,13 @@ export type DocumentTypeResponseModel = { allowedAsRoot: boolean; variesByCulture: boolean; variesBySegment: boolean; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; isElement: boolean; properties: Array; containers: Array; id: string; allowedTemplates: Array; - defaultTemplate: ReferenceByIdModel; + defaultTemplate?: ReferenceByIdModel | null; cleanup: DocumentTypeCleanupModel; allowedDocumentTypes: Array; compositions: Array; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts index 6168077dee..2f19862537 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts @@ -8,7 +8,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type DocumentTypeTreeItemResponseModel = { hasChildren: boolean; id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name: string; isFolder: boolean; isElement: boolean; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVersionResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVersionResponseModel.ts index 5fa747c5e8..10863233ba 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVersionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentVersionResponseModel.ts @@ -13,6 +13,6 @@ export type DocumentVersionResponseModel = { variants: Array; id: string; documentType: DocumentTypeReferenceResponseModel; - document: ReferenceByIdModel; + document?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemTreeItemPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemTreeItemPresentationModel.ts index 78a8e3d880..01486b96aa 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemTreeItemPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/FileSystemTreeItemPresentationModel.ts @@ -9,7 +9,7 @@ export type FileSystemTreeItemPresentationModel = { hasChildren: boolean; name: string; path: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; isFolder: boolean; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ImportDictionaryRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ImportDictionaryRequestModel.ts index 8cb009f874..13e5557845 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ImportDictionaryRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ImportDictionaryRequestModel.ts @@ -7,6 +7,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type ImportDictionaryRequestModel = { temporaryFile: ReferenceByIdModel; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaRecycleBinItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaRecycleBinItemResponseModel.ts index 72485bdcff..f2c9eea412 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaRecycleBinItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaRecycleBinItemResponseModel.ts @@ -10,7 +10,7 @@ import type { VariantItemResponseModel } from './VariantItemResponseModel'; export type MediaRecycleBinItemResponseModel = { id: string; hasChildren: boolean; - parent: ItemReferenceByIdResponseModel; + parent?: ItemReferenceByIdResponseModel | null; mediaType: MediaTypeReferenceResponseModel; variants: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTreeItemResponseModel.ts index a602c16065..38f5c47d32 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTreeItemResponseModel.ts @@ -9,7 +9,7 @@ import type { VariantItemResponseModel } from './VariantItemResponseModel'; export type MediaTreeItemResponseModel = { hasChildren: boolean; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; noAccess: boolean; isTrashed: boolean; id: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts index 02159092a8..7010d27f93 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts @@ -7,7 +7,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MediaTypePropertyTypeContainerResponseModel = { id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name?: string | null; type: string; sortOrder: number; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts index 2efa55277e..fce0ed3697 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts @@ -9,7 +9,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MediaTypePropertyTypeResponseModel = { id: string; - container: ReferenceByIdModel; + container?: ReferenceByIdModel | null; sortOrder: number; alias: string; name: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeReferenceResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeReferenceResponseModel.ts index 8131bec94f..7c80250be0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeReferenceResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeReferenceResponseModel.ts @@ -8,6 +8,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MediaTypeReferenceResponseModel = { id: string; icon: string; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeResponseModel.ts index 73a55054f3..a555ac9333 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeResponseModel.ts @@ -17,7 +17,7 @@ export type MediaTypeResponseModel = { allowedAsRoot: boolean; variesByCulture: boolean; variesBySegment: boolean; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; isElement: boolean; properties: Array; containers: Array; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeTreeItemResponseModel.ts index 209e924a58..0b87665e8b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MediaTypeTreeItemResponseModel.ts @@ -8,7 +8,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MediaTypeTreeItemResponseModel = { hasChildren: boolean; id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name: string; isFolder: boolean; icon: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeContainerResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeContainerResponseModel.ts index e3f82d495e..f71c060336 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeContainerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeContainerResponseModel.ts @@ -7,7 +7,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MemberTypePropertyTypeContainerResponseModel = { id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name?: string | null; type: string; sortOrder: number; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeResponseModel.ts index 4f30c7db81..31eaefe421 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypePropertyTypeResponseModel.ts @@ -10,7 +10,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MemberTypePropertyTypeResponseModel = { id: string; - container: ReferenceByIdModel; + container?: ReferenceByIdModel | null; sortOrder: number; alias: string; name: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeReferenceResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeReferenceResponseModel.ts index 62426f96ca..c475116817 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeReferenceResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeReferenceResponseModel.ts @@ -8,6 +8,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MemberTypeReferenceResponseModel = { id: string; icon: string; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeResponseModel.ts index 40d7e0ebc4..1be5bcb73c 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MemberTypeResponseModel.ts @@ -16,7 +16,7 @@ export type MemberTypeResponseModel = { allowedAsRoot: boolean; variesByCulture: boolean; variesBySegment: boolean; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; isElement: boolean; properties: Array; containers: Array; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDataTypeRequestModel.ts index 7836b247e1..db0b40b1ff 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDataTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveDataTypeRequestModel = { - target: ReferenceByIdModel; + target?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDictionaryRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDictionaryRequestModel.ts index aac90a42c4..806e676efc 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDictionaryRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDictionaryRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveDictionaryRequestModel = { - target: ReferenceByIdModel; + target?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentRequestModel.ts index 69d0726d27..0dd9fe3ca0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveDocumentRequestModel = { - target: ReferenceByIdModel; + target?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentTypeRequestModel.ts index 7bebf64389..b61b053f9d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveDocumentTypeRequestModel = { - target: ReferenceByIdModel; + target?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaRequestModel.ts index 06ddab0824..caea949b55 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveMediaRequestModel = { - target: ReferenceByIdModel; + target?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaTypeRequestModel.ts index b112e3d0da..d3b5a7c349 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveMediaTypeRequestModel.ts @@ -6,6 +6,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type MoveMediaTypeRequestModel = { - target: ReferenceByIdModel; + target?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedEntityTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedEntityTreeItemResponseModel.ts index 83461d9889..1deec9c6ef 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedEntityTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/NamedEntityTreeItemResponseModel.ts @@ -8,7 +8,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type NamedEntityTreeItemResponseModel = { hasChildren: boolean; id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name: string; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewFolderResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewFolderResponseModel.ts index 8aec4b106d..58729a2f6f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewFolderResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewFolderResponseModel.ts @@ -8,6 +8,6 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type PartialViewFolderResponseModel = { path: string; name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewItemResponseModel.ts index 957f5156ac..eabd0ebafd 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewItemResponseModel.ts @@ -8,7 +8,7 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type PartialViewItemResponseModel = { path: string; name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; isFolder: boolean; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewResponseModel.ts index b50f771914..8ad71fa4a2 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PartialViewResponseModel.ts @@ -8,7 +8,7 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type PartialViewResponseModel = { path: string; name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; content: string; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeResponseModel.ts index 3de2216cf8..05d5eadf9f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationTypeResponseModel.ts @@ -11,7 +11,7 @@ export type RelationTypeResponseModel = { isDependency: boolean; id: string; alias?: string | null; - parentObject: ObjectTypeResponseModel; - childObject: ObjectTypeResponseModel; + parentObject?: ObjectTypeResponseModel | null; + childObject?: ObjectTypeResponseModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptFolderResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptFolderResponseModel.ts index b1b538957a..154bfb8359 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptFolderResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptFolderResponseModel.ts @@ -8,6 +8,6 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type ScriptFolderResponseModel = { path: string; name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptItemResponseModel.ts index ed0c6cfc5e..6d74d3170e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptItemResponseModel.ts @@ -8,7 +8,7 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type ScriptItemResponseModel = { path: string; name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; isFolder: boolean; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptResponseModel.ts index f9b7847b2a..c55092587d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ScriptResponseModel.ts @@ -8,7 +8,7 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type ScriptResponseModel = { path: string; name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; content: string; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts index 8875a0f2df..3a0561adca 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts @@ -7,7 +7,7 @@ import type { ItemSortingRequestModel } from './ItemSortingRequestModel'; import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type SortingRequestModel = { - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; sorting: Array; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StaticFileItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StaticFileItemResponseModel.ts index ab170dbd26..1d47aa6e4f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StaticFileItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StaticFileItemResponseModel.ts @@ -8,7 +8,7 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type StaticFileItemResponseModel = { path: string; name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; isFolder: boolean; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetFolderResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetFolderResponseModel.ts index bb636008d4..608989b702 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetFolderResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetFolderResponseModel.ts @@ -8,6 +8,6 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type StylesheetFolderResponseModel = { path: string; name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetItemResponseModel.ts index cf34c00e3e..02d537cef6 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetItemResponseModel.ts @@ -8,7 +8,7 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type StylesheetItemResponseModel = { path: string; name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; isFolder: boolean; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetResponseModel.ts index 59cbd1d1e1..8ec024c10d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/StylesheetResponseModel.ts @@ -8,7 +8,7 @@ import type { FileSystemFolderModel } from './FileSystemFolderModel'; export type StylesheetResponseModel = { path: string; name: string; - parent: FileSystemFolderModel; + parent?: FileSystemFolderModel | null; content: string; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateQueryExecuteModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateQueryExecuteModel.ts index d7ea3eed87..5ee9d6e4e5 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateQueryExecuteModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateQueryExecuteModel.ts @@ -8,10 +8,10 @@ import type { TemplateQueryExecuteFilterPresentationModel } from './TemplateQuer import type { TemplateQueryExecuteSortModel } from './TemplateQueryExecuteSortModel'; export type TemplateQueryExecuteModel = { - rootDocument: ReferenceByIdModel; + rootDocument?: ReferenceByIdModel | null; documentTypeAlias?: string | null; filters?: Array | null; - sort: TemplateQueryExecuteSortModel; + sort?: TemplateQueryExecuteSortModel | null; take: number; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateResponseModel.ts index c5d11c2343..3f9925fa3d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/TemplateResponseModel.ts @@ -10,6 +10,6 @@ export type TemplateResponseModel = { alias: string; content?: string | null; id: string; - masterTemplate: ReferenceByIdModel; + masterTemplate?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UnknownTypePermissionPresentationModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UnknownTypePermissionPresentationModel.ts index 168b32b22d..ca089bbf6f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UnknownTypePermissionPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UnknownTypePermissionPresentationModel.ts @@ -4,6 +4,7 @@ /* eslint-disable */ export type UnknownTypePermissionPresentationModel = { + $type: string; verbs: Array; context: string; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentRequestModel.ts index 2192a64268..49443c7267 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentRequestModel.ts @@ -10,6 +10,6 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type UpdateDocumentRequestModel = { values: Array; variants: Array; - template: ReferenceByIdModel; + template?: ReferenceByIdModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeContainerRequestModel.ts index 1ce7155233..31df6c2e24 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeContainerRequestModel.ts @@ -7,7 +7,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type UpdateDocumentTypePropertyTypeContainerRequestModel = { id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name?: string | null; type: string; sortOrder: number; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeRequestModel.ts index 4d604adac5..cb01572972 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypePropertyTypeRequestModel.ts @@ -9,7 +9,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type UpdateDocumentTypePropertyTypeRequestModel = { id: string; - container: ReferenceByIdModel; + container?: ReferenceByIdModel | null; sortOrder: number; alias: string; name: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypeRequestModel.ts index b795c6da61..1f1d8977b7 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateDocumentTypeRequestModel.ts @@ -18,12 +18,12 @@ export type UpdateDocumentTypeRequestModel = { allowedAsRoot: boolean; variesByCulture: boolean; variesBySegment: boolean; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; isElement: boolean; properties: Array; containers: Array; allowedTemplates: Array; - defaultTemplate: ReferenceByIdModel; + defaultTemplate?: ReferenceByIdModel | null; cleanup: DocumentTypeCleanupModel; allowedDocumentTypes: Array; compositions: Array; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts index 853e24513d..79933cd4d3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts @@ -7,7 +7,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type UpdateMediaTypePropertyTypeContainerRequestModel = { id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name?: string | null; type: string; sortOrder: number; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts index 606c5f1157..43734493c3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts @@ -9,7 +9,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type UpdateMediaTypePropertyTypeRequestModel = { id: string; - container: ReferenceByIdModel; + container?: ReferenceByIdModel | null; sortOrder: number; alias: string; name: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts index 6e0f3dd1e3..ae89525593 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts @@ -17,7 +17,7 @@ export type UpdateMediaTypeRequestModel = { allowedAsRoot: boolean; variesByCulture: boolean; variesBySegment: boolean; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; isElement: boolean; properties: Array; containers: Array; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeContainerRequestModel.ts index aa7dcf79e8..051e32c2a3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeContainerRequestModel.ts @@ -7,7 +7,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type UpdateMemberTypePropertyTypeContainerRequestModel = { id: string; - parent: ReferenceByIdModel; + parent?: ReferenceByIdModel | null; name?: string | null; type: string; sortOrder: number; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeRequestModel.ts index b12c2b4f1a..2c5d224e14 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypePropertyTypeRequestModel.ts @@ -10,7 +10,7 @@ import type { ReferenceByIdModel } from './ReferenceByIdModel'; export type UpdateMemberTypePropertyTypeRequestModel = { id: string; - container: ReferenceByIdModel; + container?: ReferenceByIdModel | null; sortOrder: number; alias: string; name: string; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypeRequestModel.ts index 347a70b625..7178cfdef1 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMemberTypeRequestModel.ts @@ -16,7 +16,7 @@ export type UpdateMemberTypeRequestModel = { allowedAsRoot: boolean; variesByCulture: boolean; variesBySegment: boolean; - collection: ReferenceByIdModel; + collection?: ReferenceByIdModel | null; isElement: boolean; properties: Array; containers: Array; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserGroupRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserGroupRequestModel.ts index d250020772..7c99d56cb8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserGroupRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateUserGroupRequestModel.ts @@ -13,9 +13,9 @@ export type UpdateUserGroupRequestModel = { sections: Array; languages: Array; hasAccessToAllLanguages: boolean; - documentStartNode: ReferenceByIdModel; + documentStartNode?: ReferenceByIdModel | null; documentRootAccess: boolean; - mediaStartNode: ReferenceByIdModel; + mediaStartNode?: ReferenceByIdModel | null; mediaRootAccess: boolean; fallbackPermissions: Array; permissions: Array<(DocumentPermissionPresentationModel | UnknownTypePermissionPresentationModel)>; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupResponseModel.ts index cb81986f85..fc3d8af015 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UserGroupResponseModel.ts @@ -13,9 +13,9 @@ export type UserGroupResponseModel = { sections: Array; languages: Array; hasAccessToAllLanguages: boolean; - documentStartNode: ReferenceByIdModel; + documentStartNode?: ReferenceByIdModel | null; documentRootAccess: boolean; - mediaStartNode: ReferenceByIdModel; + mediaStartNode?: ReferenceByIdModel | null; mediaRootAccess: boolean; fallbackPermissions: Array; permissions: Array<(DocumentPermissionPresentationModel | UnknownTypePermissionPresentationModel)>; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/AuditLogResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/AuditLogResource.ts index b83d457350..4b35f87f78 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/AuditLogResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/AuditLogResource.ts @@ -14,7 +14,7 @@ import { request as __request } from '../core/request'; export class AuditLogResource { /** - * @returns PagedAuditLogWithUsernameResponseModel Success + * @returns any Success * @throws ApiError */ public static getAuditLog({ @@ -44,7 +44,7 @@ export class AuditLogResource { } /** - * @returns PagedAuditLogResponseModel Success + * @returns any Success * @throws ApiError */ public static getAuditLogById({ @@ -79,7 +79,7 @@ export class AuditLogResource { } /** - * @returns PagedAuditLogResponseModel Success + * @returns any Success * @throws ApiError */ public static getAuditLogTypeByLogType({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/CultureResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/CultureResource.ts index 9147291447..534bc8d823 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/CultureResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/CultureResource.ts @@ -11,7 +11,7 @@ import { request as __request } from '../core/request'; export class CultureResource { /** - * @returns PagedCultureReponseModel Success + * @returns any Success * @throws ApiError */ public static getCulture({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts index d81fd0e52d..f34c3393dd 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts @@ -48,7 +48,7 @@ export class DataTypeResource { } /** - * @returns DataTypeResponseModel Success + * @returns any Success * @throws ApiError */ public static getDataTypeById({ @@ -198,7 +198,7 @@ export class DataTypeResource { } /** - * @returns DataTypeReferenceResponseModel Success + * @returns any Success * @throws ApiError */ public static getDataTypeByIdReferences({ @@ -220,7 +220,7 @@ export class DataTypeResource { } /** - * @returns DatatypeConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getDataTypeConfiguration(): CancelablePromise { @@ -257,7 +257,7 @@ export class DataTypeResource { } /** - * @returns FolderResponseModel Success + * @returns any Success * @throws ApiError */ public static getDataTypeFolderById({ @@ -331,7 +331,7 @@ export class DataTypeResource { } /** - * @returns PagedDataTypeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getFilterDataType({ @@ -364,7 +364,7 @@ export class DataTypeResource { } /** - * @returns DataTypeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemDataType({ @@ -385,7 +385,7 @@ export class DataTypeResource { } /** - * @returns PagedModelDataTypeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemDataTypeSearch({ @@ -412,7 +412,7 @@ export class DataTypeResource { } /** - * @returns DataTypeTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDataTypeAncestors({ @@ -433,7 +433,7 @@ export class DataTypeResource { } /** - * @returns PagedDataTypeTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDataTypeChildren({ @@ -463,7 +463,7 @@ export class DataTypeResource { } /** - * @returns PagedDataTypeTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDataTypeRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DictionaryResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DictionaryResource.ts index cb71eab60a..265fb3e886 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DictionaryResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DictionaryResource.ts @@ -19,7 +19,7 @@ import { request as __request } from '../core/request'; export class DictionaryResource { /** - * @returns PagedDictionaryOverviewResponseModel Success + * @returns any Success * @throws ApiError */ public static getDictionary({ @@ -71,7 +71,7 @@ export class DictionaryResource { } /** - * @returns DictionaryItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getDictionaryById({ @@ -146,7 +146,7 @@ export class DictionaryResource { } /** - * @returns binary Success + * @returns any Success * @throws ApiError */ public static getDictionaryByIdExport({ @@ -224,7 +224,7 @@ export class DictionaryResource { } /** - * @returns DictionaryItemItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemDictionary({ @@ -245,7 +245,7 @@ export class DictionaryResource { } /** - * @returns NamedEntityTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDictionaryAncestors({ @@ -266,7 +266,7 @@ export class DictionaryResource { } /** - * @returns PagedNamedEntityTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDictionaryChildren({ @@ -293,7 +293,7 @@ export class DictionaryResource { } /** - * @returns PagedNamedEntityTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDictionaryRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts index 47bf7491d6..2ec4757dbb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts @@ -39,7 +39,7 @@ export class DocumentBlueprintResource { } /** - * @returns DocumentBlueprintResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentBlueprintById({ @@ -136,7 +136,7 @@ export class DocumentBlueprintResource { } /** - * @returns DocumentBlueprintItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemDocumentBlueprint({ @@ -157,7 +157,7 @@ export class DocumentBlueprintResource { } /** - * @returns PagedDocumentBlueprintTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDocumentBlueprintRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts index 8d51e7080d..361f0bf34b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts @@ -36,7 +36,7 @@ import { request as __request } from '../core/request'; export class DocumentResource { /** - * @returns PagedDocumentCollectionResponseModel Success + * @returns any Success * @throws ApiError */ public static getCollectionDocumentById({ @@ -106,7 +106,7 @@ export class DocumentResource { } /** - * @returns DocumentResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentById({ @@ -211,7 +211,7 @@ export class DocumentResource { } /** - * @returns DomainsResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentByIdDomains({ @@ -315,7 +315,7 @@ export class DocumentResource { } /** - * @returns DocumentNotificationResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentByIdNotifications({ @@ -526,7 +526,7 @@ export class DocumentResource { } /** - * @returns PagedIReferenceResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentByIdReferencedBy({ @@ -555,7 +555,7 @@ export class DocumentResource { } /** - * @returns PagedReferenceByIdModel Success + * @returns any Success * @throws ApiError */ public static getDocumentByIdReferencedDescendants({ @@ -642,7 +642,7 @@ export class DocumentResource { } /** - * @returns PagedReferenceByIdModel Success + * @returns any Success * @throws ApiError */ public static getDocumentAreReferenced({ @@ -669,7 +669,7 @@ export class DocumentResource { } /** - * @returns DocumentConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentConfiguration(): CancelablePromise { @@ -731,7 +731,7 @@ export class DocumentResource { } /** - * @returns DocumentItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemDocument({ @@ -752,7 +752,7 @@ export class DocumentResource { } /** - * @returns PagedModelDocumentItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemDocumentSearch({ @@ -821,7 +821,7 @@ export class DocumentResource { } /** - * @returns ReferenceByIdModel Success + * @returns any Success * @throws ApiError */ public static getRecycleBinDocumentByIdOriginalParent({ @@ -874,7 +874,7 @@ export class DocumentResource { } /** - * @returns PagedDocumentRecycleBinItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getRecycleBinDocumentChildren({ @@ -901,7 +901,7 @@ export class DocumentResource { } /** - * @returns PagedDocumentRecycleBinItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getRecycleBinDocumentRoot({ @@ -925,7 +925,7 @@ export class DocumentResource { } /** - * @returns DocumentTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDocumentAncestors({ @@ -946,7 +946,7 @@ export class DocumentResource { } /** - * @returns PagedDocumentTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDocumentChildren({ @@ -976,7 +976,7 @@ export class DocumentResource { } /** - * @returns PagedDocumentTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDocumentRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts index fc77bc409e..a8ddaf5e7b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts @@ -50,7 +50,7 @@ export class DocumentTypeResource { } /** - * @returns DocumentTypeResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentTypeById({ @@ -123,7 +123,7 @@ export class DocumentTypeResource { } /** - * @returns PagedAllowedDocumentTypeModel Success + * @returns any Success * @throws ApiError */ public static getDocumentTypeByIdAllowedChildren({ @@ -153,7 +153,7 @@ export class DocumentTypeResource { } /** - * @returns DocumentTypeCompositionResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentTypeByIdCompositionReferences({ @@ -232,7 +232,7 @@ export class DocumentTypeResource { } /** - * @returns PagedAllowedDocumentTypeModel Success + * @returns any Success * @throws ApiError */ public static getDocumentTypeAllowedAtRoot({ @@ -256,7 +256,7 @@ export class DocumentTypeResource { } /** - * @returns AvailableDocumentTypeCompositionResponseModel Success + * @returns any Success * @throws ApiError */ public static postDocumentTypeAvailableCompositions({ @@ -276,7 +276,7 @@ export class DocumentTypeResource { } /** - * @returns DocumentTypeConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentTypeConfiguration(): CancelablePromise { @@ -313,7 +313,7 @@ export class DocumentTypeResource { } /** - * @returns FolderResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentTypeFolderById({ @@ -387,7 +387,7 @@ export class DocumentTypeResource { } /** - * @returns DocumentTypeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemDocumentType({ @@ -408,7 +408,7 @@ export class DocumentTypeResource { } /** - * @returns PagedModelDocumentTypeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemDocumentTypeSearch({ @@ -435,7 +435,7 @@ export class DocumentTypeResource { } /** - * @returns DocumentTypeTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDocumentTypeAncestors({ @@ -456,7 +456,7 @@ export class DocumentTypeResource { } /** - * @returns PagedDocumentTypeTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDocumentTypeChildren({ @@ -486,7 +486,7 @@ export class DocumentTypeResource { } /** - * @returns PagedDocumentTypeTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeDocumentTypeRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentVersionResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentVersionResource.ts index 04bb0852d2..ac1c69b4bd 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentVersionResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentVersionResource.ts @@ -12,7 +12,7 @@ import { request as __request } from '../core/request'; export class DocumentVersionResource { /** - * @returns PagedDocumentVersionItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentVersion({ @@ -44,7 +44,7 @@ export class DocumentVersionResource { } /** - * @returns DocumentVersionResponseModel Success + * @returns any Success * @throws ApiError */ public static getDocumentVersionById({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DynamicRootResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DynamicRootResource.ts index ed218ed07e..8b91f9bf26 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DynamicRootResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DynamicRootResource.ts @@ -12,7 +12,7 @@ import { request as __request } from '../core/request'; export class DynamicRootResource { /** - * @returns DynamicRootResponseModel Success + * @returns any Success * @throws ApiError */ public static postDynamicRootQuery({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HealthCheckResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HealthCheckResource.ts index 9a646fe62a..c6f725d3a6 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HealthCheckResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HealthCheckResource.ts @@ -15,7 +15,7 @@ import { request as __request } from '../core/request'; export class HealthCheckResource { /** - * @returns PagedHealthCheckGroupResponseModel Success + * @returns any Success * @throws ApiError */ public static getHealthCheckGroup({ @@ -39,7 +39,7 @@ export class HealthCheckResource { } /** - * @returns HealthCheckGroupPresentationModel Success + * @returns any Success * @throws ApiError */ public static getHealthCheckGroupByName({ @@ -61,7 +61,7 @@ export class HealthCheckResource { } /** - * @returns HealthCheckGroupWithResultResponseModel Success + * @returns any Success * @throws ApiError */ public static postHealthCheckGroupByNameCheck({ @@ -83,7 +83,7 @@ export class HealthCheckResource { } /** - * @returns HealthCheckResultResponseModel Success + * @returns any Success * @throws ApiError */ public static postHealthCheckExecuteAction({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HelpResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HelpResource.ts index 5a8f103da5..a0e655e7af 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HelpResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/HelpResource.ts @@ -11,7 +11,7 @@ import { request as __request } from '../core/request'; export class HelpResource { /** - * @returns PagedHelpPageResponseModel Success + * @returns any Success * @throws ApiError */ public static getHelp({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/IndexerResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/IndexerResource.ts index d0739dc929..98f9a8b49b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/IndexerResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/IndexerResource.ts @@ -12,7 +12,7 @@ import { request as __request } from '../core/request'; export class IndexerResource { /** - * @returns PagedIndexResponseModel Success + * @returns any Success * @throws ApiError */ public static getIndexer({ @@ -36,7 +36,7 @@ export class IndexerResource { } /** - * @returns IndexResponseModel Success + * @returns any Success * @throws ApiError */ public static getIndexerByIndexName({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/InstallResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/InstallResource.ts index bbf2dbeaf6..cb350886f7 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/InstallResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/InstallResource.ts @@ -13,7 +13,7 @@ import { request as __request } from '../core/request'; export class InstallResource { /** - * @returns InstallSettingsResponseModel Success + * @returns any Success * @throws ApiError */ public static getInstallSettings(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LanguageResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LanguageResource.ts index 2e8edcbcf0..2226026620 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LanguageResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LanguageResource.ts @@ -15,7 +15,7 @@ import { request as __request } from '../core/request'; export class LanguageResource { /** - * @returns LanguageItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemLanguage({ @@ -36,7 +36,7 @@ export class LanguageResource { } /** - * @returns PagedLanguageResponseModel Success + * @returns any Success * @throws ApiError */ public static getLanguage({ @@ -83,7 +83,7 @@ export class LanguageResource { } /** - * @returns LanguageResponseModel Success + * @returns any Success * @throws ApiError */ public static getLanguageByIsoCode({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LogViewerResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LogViewerResource.ts index e665e7dbc3..b7b40ca217 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LogViewerResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/LogViewerResource.ts @@ -19,7 +19,7 @@ import { request as __request } from '../core/request'; export class LogViewerResource { /** - * @returns PagedLoggerResponseModel Success + * @returns any Success * @throws ApiError */ public static getLogViewerLevel({ @@ -43,7 +43,7 @@ export class LogViewerResource { } /** - * @returns LogLevelCountsReponseModel Success + * @returns any Success * @throws ApiError */ public static getLogViewerLevelCount({ @@ -68,7 +68,7 @@ export class LogViewerResource { } /** - * @returns PagedLogMessageResponseModel Success + * @returns any Success * @throws ApiError */ public static getLogViewerLog({ @@ -107,7 +107,7 @@ export class LogViewerResource { } /** - * @returns PagedLogTemplateResponseModel Success + * @returns any Success * @throws ApiError */ public static getLogViewerMessageTemplate({ @@ -138,7 +138,7 @@ export class LogViewerResource { } /** - * @returns PagedSavedLogSearchResponseModel Success + * @returns any Success * @throws ApiError */ public static getLogViewerSavedSearch({ @@ -184,7 +184,7 @@ export class LogViewerResource { } /** - * @returns SavedLogSearchResponseModel Success + * @returns any Success * @throws ApiError */ public static getLogViewerSavedSearchByName({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts index 386acec03f..13e488d10b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts @@ -26,7 +26,7 @@ import { request as __request } from '../core/request'; export class MediaResource { /** - * @returns PagedMediaCollectionResponseModel Success + * @returns any Success * @throws ApiError */ public static getCollectionMedia({ @@ -67,7 +67,7 @@ export class MediaResource { } /** - * @returns MediaItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemMedia({ @@ -88,7 +88,7 @@ export class MediaResource { } /** - * @returns PagedModelMediaItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemMediaSearch({ @@ -139,7 +139,7 @@ export class MediaResource { } /** - * @returns MediaResponseModel Success + * @returns any Success * @throws ApiError */ public static getMediaById({ @@ -269,7 +269,7 @@ export class MediaResource { } /** - * @returns PagedIReferenceResponseModel Success + * @returns any Success * @throws ApiError */ public static getMediaByIdReferencedBy({ @@ -298,7 +298,7 @@ export class MediaResource { } /** - * @returns PagedReferenceByIdModel Success + * @returns any Success * @throws ApiError */ public static getMediaByIdReferencedDescendants({ @@ -356,7 +356,7 @@ export class MediaResource { } /** - * @returns PagedReferenceByIdModel Success + * @returns any Success * @throws ApiError */ public static getMediaAreReferenced({ @@ -383,7 +383,7 @@ export class MediaResource { } /** - * @returns MediaConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getMediaConfiguration(): CancelablePromise { @@ -487,7 +487,7 @@ export class MediaResource { } /** - * @returns ReferenceByIdModel Success + * @returns any Success * @throws ApiError */ public static getRecycleBinMediaByIdOriginalParent({ @@ -540,7 +540,7 @@ export class MediaResource { } /** - * @returns PagedMediaRecycleBinItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getRecycleBinMediaChildren({ @@ -567,7 +567,7 @@ export class MediaResource { } /** - * @returns PagedMediaRecycleBinItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getRecycleBinMediaRoot({ @@ -591,7 +591,7 @@ export class MediaResource { } /** - * @returns MediaTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeMediaAncestors({ @@ -612,7 +612,7 @@ export class MediaResource { } /** - * @returns PagedMediaTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeMediaChildren({ @@ -642,7 +642,7 @@ export class MediaResource { } /** - * @returns PagedMediaTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeMediaRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts index a6891b1f0a..3f6d2410eb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts @@ -26,7 +26,7 @@ import { request as __request } from '../core/request'; export class MediaTypeResource { /** - * @returns MediaTypeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemMediaType({ @@ -47,7 +47,7 @@ export class MediaTypeResource { } /** - * @returns PagedModelMediaTypeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemMediaTypeSearch({ @@ -97,7 +97,7 @@ export class MediaTypeResource { } /** - * @returns MediaTypeResponseModel Success + * @returns any Success * @throws ApiError */ public static getMediaTypeById({ @@ -170,7 +170,7 @@ export class MediaTypeResource { } /** - * @returns PagedAllowedMediaTypeModel Success + * @returns any Success * @throws ApiError */ public static getMediaTypeByIdAllowedChildren({ @@ -200,7 +200,7 @@ export class MediaTypeResource { } /** - * @returns MediaTypeCompositionResponseModel Success + * @returns any Success * @throws ApiError */ public static getMediaTypeByIdCompositionReferences({ @@ -279,7 +279,7 @@ export class MediaTypeResource { } /** - * @returns PagedAllowedMediaTypeModel Success + * @returns any Success * @throws ApiError */ public static getMediaTypeAllowedAtRoot({ @@ -303,7 +303,7 @@ export class MediaTypeResource { } /** - * @returns AvailableMediaTypeCompositionResponseModel Success + * @returns any Success * @throws ApiError */ public static postMediaTypeAvailableCompositions({ @@ -346,7 +346,7 @@ export class MediaTypeResource { } /** - * @returns FolderResponseModel Success + * @returns any Success * @throws ApiError */ public static getMediaTypeFolderById({ @@ -420,7 +420,7 @@ export class MediaTypeResource { } /** - * @returns MediaTypeTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeMediaTypeAncestors({ @@ -441,7 +441,7 @@ export class MediaTypeResource { } /** - * @returns PagedMediaTypeTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeMediaTypeChildren({ @@ -471,7 +471,7 @@ export class MediaTypeResource { } /** - * @returns PagedMediaTypeTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeMediaTypeRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberGroupResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberGroupResource.ts index 29398b687b..d80e275f0e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberGroupResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberGroupResource.ts @@ -16,7 +16,7 @@ import { request as __request } from '../core/request'; export class MemberGroupResource { /** - * @returns MemberGroupItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemMemberGroup({ @@ -37,7 +37,7 @@ export class MemberGroupResource { } /** - * @returns PagedMemberGroupResponseModel Success + * @returns any Success * @throws ApiError */ public static getMemberGroup({ @@ -61,7 +61,7 @@ export class MemberGroupResource { } /** - * @returns MemberGroupResponseModel Success + * @returns any Success * @throws ApiError */ public static postMemberGroup({ @@ -82,7 +82,7 @@ export class MemberGroupResource { } /** - * @returns MemberGroupResponseModel Success + * @returns any Success * @throws ApiError */ public static getMemberGroupById({ @@ -128,7 +128,7 @@ export class MemberGroupResource { } /** - * @returns MemberGroupResponseModel Success + * @returns any Success * @throws ApiError */ public static putMemberGroupById({ @@ -155,7 +155,7 @@ export class MemberGroupResource { } /** - * @returns PagedNamedEntityTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeMemberGroupRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberResource.ts index 752613be4a..3db3db8763 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberResource.ts @@ -18,7 +18,7 @@ import { request as __request } from '../core/request'; export class MemberResource { /** - * @returns PagedMemberResponseModel Success + * @returns any Success * @throws ApiError */ public static getFilterMember({ @@ -64,7 +64,7 @@ export class MemberResource { } /** - * @returns MemberItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemMember({ @@ -85,7 +85,7 @@ export class MemberResource { } /** - * @returns PagedModelMemberItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemMemberSearch({ @@ -135,7 +135,7 @@ export class MemberResource { } /** - * @returns MemberResponseModel Success + * @returns any Success * @throws ApiError */ public static getMemberById({ @@ -237,7 +237,7 @@ export class MemberResource { } /** - * @returns MemberConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getMemberConfiguration(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberTypeResource.ts index 870b91e685..7d1f97bdf1 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MemberTypeResource.ts @@ -19,7 +19,7 @@ import { request as __request } from '../core/request'; export class MemberTypeResource { /** - * @returns MemberTypeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemMemberType({ @@ -40,7 +40,7 @@ export class MemberTypeResource { } /** - * @returns PagedModelMemberTypeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemMemberTypeSearch({ @@ -90,7 +90,7 @@ export class MemberTypeResource { } /** - * @returns MemberTypeResponseModel Success + * @returns any Success * @throws ApiError */ public static getMemberTypeById({ @@ -163,7 +163,7 @@ export class MemberTypeResource { } /** - * @returns MemberTypeCompositionResponseModel Success + * @returns any Success * @throws ApiError */ public static getMemberTypeByIdCompositionReferences({ @@ -210,7 +210,7 @@ export class MemberTypeResource { } /** - * @returns AvailableMemberTypeCompositionResponseModel Success + * @returns any Success * @throws ApiError */ public static postMemberTypeAvailableCompositions({ @@ -230,7 +230,7 @@ export class MemberTypeResource { } /** - * @returns PagedNamedEntityTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeMemberTypeRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ModelsBuilderResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ModelsBuilderResource.ts index 2c820214d9..f1d51bc3c8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ModelsBuilderResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ModelsBuilderResource.ts @@ -28,7 +28,7 @@ export class ModelsBuilderResource { } /** - * @returns ModelsBuilderResponseModel Success + * @returns any Success * @throws ApiError */ public static getModelsBuilderDashboard(): CancelablePromise { @@ -42,7 +42,7 @@ export class ModelsBuilderResource { } /** - * @returns OutOfDateStatusResponseModel Success + * @returns any Success * @throws ApiError */ public static getModelsBuilderStatus(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ObjectTypesResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ObjectTypesResource.ts index e22032ecde..00759d1852 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ObjectTypesResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ObjectTypesResource.ts @@ -11,7 +11,7 @@ import { request as __request } from '../core/request'; export class ObjectTypesResource { /** - * @returns PagedObjectTypeResponseModel Success + * @returns any Success * @throws ApiError */ public static getObjectTypes({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts index add8e0b459..c83524dc6c 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts @@ -41,7 +41,7 @@ export class PackageResource { } /** - * @returns PackageConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getPackageConfiguration(): CancelablePromise { @@ -55,7 +55,7 @@ export class PackageResource { } /** - * @returns PagedPackageDefinitionResponseModel Success + * @returns any Success * @throws ApiError */ public static getPackageCreated({ @@ -102,7 +102,7 @@ export class PackageResource { } /** - * @returns PackageDefinitionResponseModel Success + * @returns any Success * @throws ApiError */ public static getPackageCreatedById({ @@ -174,7 +174,7 @@ export class PackageResource { } /** - * @returns binary Success + * @returns any Success * @throws ApiError */ public static getPackageCreatedByIdDownload({ @@ -196,7 +196,7 @@ export class PackageResource { } /** - * @returns PackageManifestResponseModel Success + * @returns any Success * @throws ApiError */ public static getPackageManifest(): CancelablePromise> { @@ -210,7 +210,7 @@ export class PackageResource { } /** - * @returns PackageManifestResponseModel Success + * @returns any Success * @throws ApiError */ public static getPackageManifestPublic(): CancelablePromise> { @@ -221,7 +221,7 @@ export class PackageResource { } /** - * @returns PagedPackageMigrationStatusResponseModel Success + * @returns any Success * @throws ApiError */ public static getPackageMigrationStatus({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PartialViewResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PartialViewResource.ts index b21b91b50c..258df0ccad 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PartialViewResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PartialViewResource.ts @@ -21,7 +21,7 @@ import { request as __request } from '../core/request'; export class PartialViewResource { /** - * @returns PartialViewItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemPartialView({ @@ -65,7 +65,7 @@ export class PartialViewResource { } /** - * @returns PartialViewResponseModel Success + * @returns any Success * @throws ApiError */ public static getPartialViewByPath({ @@ -190,7 +190,7 @@ export class PartialViewResource { } /** - * @returns PartialViewFolderResponseModel Success + * @returns any Success * @throws ApiError */ public static getPartialViewFolderByPath({ @@ -236,7 +236,7 @@ export class PartialViewResource { } /** - * @returns PagedPartialViewSnippetItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getPartialViewSnippet({ @@ -260,7 +260,7 @@ export class PartialViewResource { } /** - * @returns PartialViewSnippetResponseModel Success + * @returns any Success * @throws ApiError */ public static getPartialViewSnippetById({ @@ -282,7 +282,7 @@ export class PartialViewResource { } /** - * @returns FileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreePartialViewAncestors({ @@ -303,7 +303,7 @@ export class PartialViewResource { } /** - * @returns PagedFileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreePartialViewChildren({ @@ -330,7 +330,7 @@ export class PartialViewResource { } /** - * @returns PagedFileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreePartialViewRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ProfilingResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ProfilingResource.ts index 239e9e1b2b..f2b9d345f4 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ProfilingResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ProfilingResource.ts @@ -12,7 +12,7 @@ import { request as __request } from '../core/request'; export class ProfilingResource { /** - * @returns ProfilingStatusResponseModel Success + * @returns any Success * @throws ApiError */ public static getProfilingStatus(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RedirectManagementResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RedirectManagementResource.ts index 351e30aa26..608b436b61 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RedirectManagementResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RedirectManagementResource.ts @@ -13,7 +13,7 @@ import { request as __request } from '../core/request'; export class RedirectManagementResource { /** - * @returns PagedRedirectUrlResponseModel Success + * @returns any Success * @throws ApiError */ public static getRedirectManagement({ @@ -41,7 +41,7 @@ export class RedirectManagementResource { } /** - * @returns PagedRedirectUrlResponseModel Success + * @returns any Success * @throws ApiError */ public static getRedirectManagementById({ @@ -92,7 +92,7 @@ export class RedirectManagementResource { } /** - * @returns RedirectUrlStatusResponseModel Success + * @returns any Success * @throws ApiError */ public static getRedirectManagementStatus(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationResource.ts index 03ed4a82c8..470f38ac4a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationResource.ts @@ -11,7 +11,7 @@ import { request as __request } from '../core/request'; export class RelationResource { /** - * @returns PagedRelationResponseModel Success + * @returns any Success * @throws ApiError */ public static getRelationTypeById({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationTypeResource.ts index 2c9a938eba..40a2bb7c22 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationTypeResource.ts @@ -13,7 +13,7 @@ import { request as __request } from '../core/request'; export class RelationTypeResource { /** - * @returns RelationTypeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemRelationType({ @@ -34,7 +34,7 @@ export class RelationTypeResource { } /** - * @returns PagedRelationTypeResponseModel Success + * @returns any Success * @throws ApiError */ public static getRelationType({ @@ -58,7 +58,7 @@ export class RelationTypeResource { } /** - * @returns RelationTypeResponseModel Success + * @returns any Success * @throws ApiError */ public static getRelationTypeById({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ScriptResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ScriptResource.ts index df1c2e080a..576ac97f16 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ScriptResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ScriptResource.ts @@ -19,7 +19,7 @@ import { request as __request } from '../core/request'; export class ScriptResource { /** - * @returns ScriptItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemScript({ @@ -63,7 +63,7 @@ export class ScriptResource { } /** - * @returns ScriptResponseModel Success + * @returns any Success * @throws ApiError */ public static getScriptByPath({ @@ -188,7 +188,7 @@ export class ScriptResource { } /** - * @returns ScriptFolderResponseModel Success + * @returns any Success * @throws ApiError */ public static getScriptFolderByPath({ @@ -234,7 +234,7 @@ export class ScriptResource { } /** - * @returns FileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreeScriptAncestors({ @@ -255,7 +255,7 @@ export class ScriptResource { } /** - * @returns PagedFileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreeScriptChildren({ @@ -282,7 +282,7 @@ export class ScriptResource { } /** - * @returns PagedFileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreeScriptRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SearcherResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SearcherResource.ts index ff805a23dd..b4baa27a9d 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SearcherResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SearcherResource.ts @@ -12,7 +12,7 @@ import { request as __request } from '../core/request'; export class SearcherResource { /** - * @returns PagedSearcherResponseModel Success + * @returns any Success * @throws ApiError */ public static getSearcher({ @@ -36,7 +36,7 @@ export class SearcherResource { } /** - * @returns PagedSearchResultResponseModel Success + * @returns any Success * @throws ApiError */ public static getSearcherBySearcherNameQuery({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts index d953c5bf14..187b69ae51 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts @@ -15,7 +15,7 @@ import { request as __request } from '../core/request'; export class SecurityResource { /** - * @returns SecurityConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getSecurityConfiguration(): CancelablePromise { @@ -73,7 +73,7 @@ export class SecurityResource { } /** - * @returns VerifyResetPasswordResponseModel Success + * @returns any Success * @throws ApiError */ public static postSecurityForgotPasswordVerify({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ServerResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ServerResource.ts index a791fe775b..15d61a5904 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ServerResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ServerResource.ts @@ -14,7 +14,7 @@ import { request as __request } from '../core/request'; export class ServerResource { /** - * @returns ServerConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getServerConfiguration(): CancelablePromise { @@ -28,7 +28,7 @@ export class ServerResource { } /** - * @returns ServerInformationResponseModel Success + * @returns any Success * @throws ApiError */ public static getServerInformation(): CancelablePromise { @@ -42,7 +42,7 @@ export class ServerResource { } /** - * @returns ServerStatusResponseModel Success + * @returns any Success * @throws ApiError */ public static getServerStatus(): CancelablePromise { @@ -56,7 +56,7 @@ export class ServerResource { } /** - * @returns ServerTroubleshootingResponseModel Success + * @returns any Success * @throws ApiError */ public static getServerTroubleshooting(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StaticFileResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StaticFileResource.ts index ffe89fb3e3..321a4b3bb6 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StaticFileResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StaticFileResource.ts @@ -13,7 +13,7 @@ import { request as __request } from '../core/request'; export class StaticFileResource { /** - * @returns StaticFileItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemStaticFile({ @@ -34,7 +34,7 @@ export class StaticFileResource { } /** - * @returns FileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreeStaticFileAncestors({ @@ -55,7 +55,7 @@ export class StaticFileResource { } /** - * @returns PagedFileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreeStaticFileChildren({ @@ -82,7 +82,7 @@ export class StaticFileResource { } /** - * @returns PagedFileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreeStaticFileRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StylesheetResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StylesheetResource.ts index bdfb4b6886..98cd485ab7 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StylesheetResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/StylesheetResource.ts @@ -19,7 +19,7 @@ import { request as __request } from '../core/request'; export class StylesheetResource { /** - * @returns StylesheetItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemStylesheet({ @@ -63,7 +63,7 @@ export class StylesheetResource { } /** - * @returns StylesheetResponseModel Success + * @returns any Success * @throws ApiError */ public static getStylesheetByPath({ @@ -188,7 +188,7 @@ export class StylesheetResource { } /** - * @returns StylesheetFolderResponseModel Success + * @returns any Success * @throws ApiError */ public static getStylesheetFolderByPath({ @@ -234,7 +234,7 @@ export class StylesheetResource { } /** - * @returns FileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreeStylesheetAncestors({ @@ -255,7 +255,7 @@ export class StylesheetResource { } /** - * @returns PagedFileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreeStylesheetChildren({ @@ -282,7 +282,7 @@ export class StylesheetResource { } /** - * @returns PagedFileSystemTreeItemPresentationModel Success + * @returns any Success * @throws ApiError */ public static getTreeStylesheetRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TagResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TagResource.ts index 2d0c9675f7..6885224f62 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TagResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TagResource.ts @@ -11,7 +11,7 @@ import { request as __request } from '../core/request'; export class TagResource { /** - * @returns PagedTagResponseModel Success + * @returns any Success * @throws ApiError */ public static getTag({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TelemetryResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TelemetryResource.ts index 697b771963..f87ab544c9 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TelemetryResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TelemetryResource.ts @@ -13,7 +13,7 @@ import { request as __request } from '../core/request'; export class TelemetryResource { /** - * @returns PagedTelemetryResponseModel Success + * @returns any Success * @throws ApiError */ public static getTelemetry({ @@ -37,7 +37,7 @@ export class TelemetryResource { } /** - * @returns TelemetryResponseModel Success + * @returns any Success * @throws ApiError */ public static getTelemetryLevel(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemplateResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemplateResource.ts index 6876a436fc..01d5cece06 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemplateResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemplateResource.ts @@ -21,7 +21,7 @@ import { request as __request } from '../core/request'; export class TemplateResource { /** - * @returns TemplateItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemTemplate({ @@ -42,7 +42,7 @@ export class TemplateResource { } /** - * @returns PagedModelTemplateItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemTemplateSearch({ @@ -92,7 +92,7 @@ export class TemplateResource { } /** - * @returns TemplateResponseModel Success + * @returns any Success * @throws ApiError */ public static getTemplateById({ @@ -166,7 +166,7 @@ export class TemplateResource { } /** - * @returns TemplateConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getTemplateConfiguration(): CancelablePromise { @@ -180,7 +180,7 @@ export class TemplateResource { } /** - * @returns TemplateQueryResultResponseModel Success + * @returns any Success * @throws ApiError */ public static postTemplateQueryExecute({ @@ -200,7 +200,7 @@ export class TemplateResource { } /** - * @returns TemplateQuerySettingsResponseModel Success + * @returns any Success * @throws ApiError */ public static getTemplateQuerySettings(): CancelablePromise { @@ -214,7 +214,7 @@ export class TemplateResource { } /** - * @returns NamedEntityTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeTemplateAncestors({ @@ -235,7 +235,7 @@ export class TemplateResource { } /** - * @returns PagedNamedEntityTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeTemplateChildren({ @@ -262,7 +262,7 @@ export class TemplateResource { } /** - * @returns PagedNamedEntityTreeItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getTreeTemplateRoot({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemporaryFileResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemporaryFileResource.ts index 39d7b95187..6d587006f9 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemporaryFileResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TemporaryFileResource.ts @@ -37,7 +37,7 @@ export class TemporaryFileResource { } /** - * @returns TemporaryFileResponseModel Success + * @returns any Success * @throws ApiError */ public static getTemporaryFileById({ @@ -84,7 +84,7 @@ export class TemporaryFileResource { } /** - * @returns TemporaryFileConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getTemporaryFileConfiguration(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TourResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TourResource.ts index a5936a3b48..06d5fe9885 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TourResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/TourResource.ts @@ -12,7 +12,7 @@ import { request as __request } from '../core/request'; export class TourResource { /** - * @returns UserTourStatusesResponseModel Success + * @returns any Success * @throws ApiError */ public static getTour(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UpgradeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UpgradeResource.ts index 314c6992b0..9987c2f24f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UpgradeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UpgradeResource.ts @@ -28,7 +28,7 @@ export class UpgradeResource { } /** - * @returns UpgradeSettingsResponseModel Success + * @returns any Success * @throws ApiError */ public static getUpgradeSettings(): CancelablePromise { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts index dbaefbdc05..56df5f3884 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts @@ -16,7 +16,7 @@ import { request as __request } from '../core/request'; export class UserGroupResource { /** - * @returns UserGroupItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemUserGroup({ @@ -82,7 +82,7 @@ export class UserGroupResource { } /** - * @returns PagedUserGroupResponseModel Success + * @returns any Success * @throws ApiError */ public static getUserGroup({ @@ -106,7 +106,7 @@ export class UserGroupResource { } /** - * @returns UserGroupResponseModel Success + * @returns any Success * @throws ApiError */ public static getUserGroupById({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts index bba6a7f329..afe9e48f33 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts @@ -40,7 +40,7 @@ import { request as __request } from '../core/request'; export class UserResource { /** - * @returns PagedUserResponseModel Success + * @returns any Success * @throws ApiError */ public static getFilterUser({ @@ -81,7 +81,7 @@ export class UserResource { } /** - * @returns UserItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getItemUser({ @@ -148,7 +148,7 @@ export class UserResource { } /** - * @returns PagedUserResponseModel Success + * @returns any Success * @throws ApiError */ public static getUser({ @@ -173,7 +173,7 @@ export class UserResource { } /** - * @returns UserResponseModel Success + * @returns any Success * @throws ApiError */ public static getUserById({ @@ -250,7 +250,7 @@ export class UserResource { } /** - * @returns UserTwoFactorProviderModel Success + * @returns any Success * @throws ApiError */ public static getUserById2Fa({ @@ -330,7 +330,7 @@ export class UserResource { } /** - * @returns ResetPasswordUserResponseModel Success + * @returns any Success * @throws ApiError */ public static postUserByIdResetPassword({ @@ -408,7 +408,7 @@ export class UserResource { } /** - * @returns UserConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getUserConfiguration(): CancelablePromise { @@ -422,7 +422,7 @@ export class UserResource { } /** - * @returns CurrentUserResponseModel Success + * @returns any Success * @throws ApiError */ public static getUserCurrent(): CancelablePromise { @@ -437,7 +437,7 @@ export class UserResource { } /** - * @returns UserTwoFactorProviderModel Success + * @returns any Success * @throws ApiError */ public static getUserCurrent2Fa(): CancelablePromise> { @@ -575,7 +575,7 @@ export class UserResource { } /** - * @returns CurrenUserConfigurationResponseModel Success + * @returns any Success * @throws ApiError */ public static getUserCurrentConfiguration(): CancelablePromise { @@ -589,7 +589,7 @@ export class UserResource { } /** - * @returns LinkedLoginsRequestModel Success + * @returns any Success * @throws ApiError */ public static getUserCurrentLogins(): CancelablePromise { @@ -603,7 +603,7 @@ export class UserResource { } /** - * @returns UserPermissionsResponseModel Success + * @returns any Success * @throws ApiError */ public static getUserCurrentPermissions({ @@ -625,7 +625,7 @@ export class UserResource { } /** - * @returns UserPermissionsResponseModel Success + * @returns any Success * @throws ApiError */ public static getUserCurrentPermissionsDocument({ @@ -647,7 +647,7 @@ export class UserResource { } /** - * @returns UserPermissionsResponseModel Success + * @returns any Success * @throws ApiError */ public static getUserCurrentPermissionsMedia({ @@ -785,7 +785,7 @@ export class UserResource { } /** - * @returns VerifyInviteUserResponseModel Success + * @returns any Success * @throws ApiError */ public static postUserInviteVerify({ diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/WebhookResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/WebhookResource.ts index 84da85fdfd..c0a457ea98 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/WebhookResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/WebhookResource.ts @@ -15,7 +15,7 @@ import { request as __request } from '../core/request'; export class WebhookResource { /** - * @returns PagedWebhookResponseModel Success + * @returns any Success * @throws ApiError */ public static getWebhook({ @@ -62,7 +62,7 @@ export class WebhookResource { } /** - * @returns WebhookResponseModel Success + * @returns any Success * @throws ApiError */ public static getWebhookById({ @@ -136,7 +136,7 @@ export class WebhookResource { } /** - * @returns WebhookItemResponseModel Success + * @returns any Success * @throws ApiError */ public static getWebhookItem({ From 6ccebd2e368f094ce6b35f253d3b4fea0eba7a64 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 Apr 2024 21:38:31 +0200 Subject: [PATCH 026/134] Update language-detail.server.data-source.ts --- .../detail/language-detail.server.data-source.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/language/repository/detail/language-detail.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/language/repository/detail/language-detail.server.data-source.ts index edbeab9e4c..b7c7070d0f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/language/repository/detail/language-detail.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/language/repository/detail/language-detail.server.data-source.ts @@ -2,7 +2,10 @@ import type { UmbLanguageDetailModel } from '../../types.js'; import { UMB_LANGUAGE_ENTITY_TYPE } from '../../entity.js'; import { UmbId } from '@umbraco-cms/backoffice/id'; import type { UmbDetailDataSource } from '@umbraco-cms/backoffice/repository'; -import type { CreateLanguageRequestModel, LanguageModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { + CreateLanguageRequestModel, + UpdateLanguageRequestModel, +} from '@umbraco-cms/backoffice/external/backend-api'; import { LanguageResource } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @@ -118,7 +121,7 @@ export class UmbLanguageServerDataSource implements UmbDetailDataSource Date: Thu, 4 Apr 2024 22:02:38 +0200 Subject: [PATCH 027/134] add temp types --- .../src/mocks/data/utils/file-system/types.ts | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/types.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/types.ts new file mode 100644 index 0000000000..d07d69f1b6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/types.ts @@ -0,0 +1,26 @@ +import type { FileSystemFolderModel } from '@umbraco-cms/backoffice/external/backend-api'; + +// Temp mock model until they are moved to msw +export type CreateFileRequestModel = { + name: string; + parent?: FileSystemFolderModel | null; + content: string; +}; + +export type FileResponseModel = { + path: string; + name: string; + parent?: FileSystemFolderModel | null; + content: string; +}; + +export type UpdateFileRequestModel = { + content: string; +}; + +export type FileItemResponseModel = { + path: string; + name: string; + parent?: FileSystemFolderModel | null; + isFolder: boolean; +}; From 7db124d04f4489cd5e42559e5712389b984f832b Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 Apr 2024 22:03:05 +0200 Subject: [PATCH 028/134] use temp file types --- .../utils/file-system/file-system-base.ts | 3 +-- .../file-system/file-system-detail.manager.ts | 21 +++++++------------ .../file-system/file-system-folder.manager.ts | 10 +++------ .../file-system/file-system-item.manager.ts | 6 +++--- 4 files changed, 15 insertions(+), 25 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-base.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-base.ts index 15d9992ea5..c9a252c4de 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-base.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-base.ts @@ -1,8 +1,7 @@ import { UmbMockDBBase } from '../mock-db-base.js'; -import type { FileSystemResponseModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; export abstract class UmbFileSystemMockDbBase< - MockItemType extends FileSystemResponseModelBaseModel, + MockItemType extends { path: string }, > extends UmbMockDBBase { constructor(data: Array) { super(data); diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-detail.manager.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-detail.manager.ts index e18d6aacd8..d847ba3e70 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-detail.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-detail.manager.ts @@ -1,19 +1,14 @@ import type { UmbFileSystemMockDbBase } from './file-system-base.js'; -import type { - FileSystemFileCreateRequestModelBaseModel, - FileSystemFileResponseModelBaseModel, - FileSystemFileUpdateRequestModelBaseModel, - FileSystemResponseModelBaseModel, -} from '@umbraco-cms/backoffice/external/backend-api'; +import type { CreateFileRequestModel, FileResponseModel, UpdateFileRequestModel } from './types.js'; -export class UmbMockFileSystemDetailManager { +export class UmbMockFileSystemDetailManager { #db: UmbFileSystemMockDbBase; constructor(db: UmbFileSystemMockDbBase) { this.#db = db; } - create(request: FileSystemFileCreateRequestModelBaseModel) { + create(request: CreateFileRequestModel) { let path = request.parent ? `${request.parent.path}/${request.name}` : request.name; // ensure dash prefix if its not there path = path.startsWith('/') ? path : `/${path}`; @@ -24,14 +19,14 @@ export class UmbMockFileSystemDetailManager { + #defaultCreateMockItemMapper = (path: string, request: CreateFileRequestModel): MockItemType => { return { name: request.name, content: request.content, @@ -72,7 +67,7 @@ export class UmbMockFileSystemDetailManager { + #defaultReadResponseMapper = (item: MockItemType): FileResponseModel => { return { path: item.path, parent: item.parent, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-folder.manager.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-folder.manager.ts index b61ec4fe91..e2a3cccbc9 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-folder.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-folder.manager.ts @@ -1,11 +1,7 @@ import type { UmbFileSystemMockDbBase } from './file-system-base.js'; -import type { - FileSystemCreateRequestModelBaseModel, - FileSystemResponseModelBaseModel, -} from '@umbraco-cms/backoffice/external/backend-api'; export class UmbMockFileSystemFolderManager< - MockItemType extends FileSystemResponseModelBaseModel & { isFolder: boolean }, + MockItemType extends { path: string; name: string; parent?: { path: string } | null; isFolder: boolean }, > { #db: UmbFileSystemMockDbBase; @@ -13,7 +9,7 @@ export class UmbMockFileSystemFolderManager< this.#db = db; } - create(request: FileSystemCreateRequestModelBaseModel) { + create(request: any) { let path = request.parent ? `${request.parent.path}/${request.name}` : request.name; // ensure dash prefix if its not there path = path.startsWith('/') ? path : `/${path}`; @@ -48,7 +44,7 @@ export class UmbMockFileSystemFolderManager< } } - #defaultReadMapper = (item: MockItemType): FileSystemResponseModelBaseModel => { + #defaultReadMapper = (item: MockItemType) => { return { path: item.path, name: item.name, diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-item.manager.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-item.manager.ts index 0576c24737..38be839e1b 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-item.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-item.manager.ts @@ -1,7 +1,7 @@ import type { UmbMockDBBase } from '../mock-db-base.js'; -import type { FileSystemItemResponseModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { FileItemResponseModel } from './types.js'; -export class UmbMockFileSystemItemManager { +export class UmbMockFileSystemItemManager { #db: UmbMockDBBase; constructor(db: UmbMockDBBase) { @@ -14,7 +14,7 @@ export class UmbMockFileSystemItemManager ({ +const createFileItemResponseModelBaseModel = (item: any): FileItemResponseModel => ({ path: item.path, name: item.name, parent: item.parent, From 9c4bbed87c4581e075b21c1772cb9a11f2f70a13 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 08:59:30 +0200 Subject: [PATCH 029/134] extend the auth provider model --- .../models/auth-provider.model.ts | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts index e212a5208e..1abff595fd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts @@ -29,7 +29,7 @@ export interface MetaAuthProvider { * The default view of the provider that is shown to the user. * If no element is provided, then the button will be rendered as a @see {UUIButtonElement} using these options. */ - defaultView: { + defaultView?: { /** * The icon of the provider that is shown to the user. * @examples ['icon-cloud', 'icon-github', 'icon-google', 'icon-facebook', 'icon-twitter', 'icon-x', 'icon-microsoft'] @@ -51,14 +51,30 @@ export interface MetaAuthProvider { }; /** - * If true, the Umbraco backoffice login will be disabled. - * @default false + * The behavior of the provider when it is used. */ - denyLocalLogin?: boolean; + behavior?: { + /** + * If true, the Umbraco backoffice login will be disabled. + * @default false + */ + denyLocalLogin?: boolean; + + /** + * If true, the user will be redirected to the provider's login page immediately. + * @default false + */ + autoRedirect?: boolean; + }; /** - * If true, the user will be redirected to the provider's login page immediately. - * @default false + * The linking options of the provider when it is used. */ - autoRedirect?: boolean; + linking?: { + /** + * If true, the user will be able to link the provider to an existing account. + * @default false + */ + allowManualLinking?: boolean; + }; } From 307c9b37e6b94b41cb5192ebfe6fd6fb1813113e Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 09:50:50 +0200 Subject: [PATCH 030/134] register Umbraco as a provider --- .../src/packages/core/auth/manifests.ts | 3 ++- .../src/packages/core/auth/providers/manifests.ts | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/manifests.ts index 8ba79428c9..f0f6228203 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/manifests.ts @@ -1,4 +1,5 @@ import type { ManifestTypes } from '../extension-registry/models/index.js'; import { manifests as modalManifests } from './modals/manifests.js'; +import { manifests as providerManifests } from './providers/manifests.js'; -export const manifests: Array = [...modalManifests]; +export const manifests: Array = [...modalManifests, ...providerManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts new file mode 100644 index 0000000000..29f9ca30f6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts @@ -0,0 +1,14 @@ +import type { ManifestAuthProvider } from '@umbraco-cms/backoffice/extension-registry'; + +export const manifests: Array = [ + { + type: 'authProvider', + alias: 'Umb.AuthProviders.Umbraco', + name: 'Umbraco login provider', + forProviderName: 'Umbraco', + weight: 1000, + meta: { + label: 'Umbraco', + }, + }, +]; From 9c4bb5ba7773d048c834e6b9fba902d87042b83a Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 09:51:30 +0200 Subject: [PATCH 031/134] let the auth context know when exactly its container extension has been loaded and use it to return the providers --- .../src/packages/core/auth/auth.context.ts | 13 +++++++++++++ .../src/packages/core/index.ts | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts index f5a64ff438..a46deed70d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts @@ -1,3 +1,4 @@ +import { umbExtensionsRegistry } from '../extension-registry/index.js'; import { UmbAuthFlow } from './auth-flow.js'; import { UMB_AUTH_CONTEXT } from './auth.context.token.js'; import type { UmbOpenApiConfiguration } from './models/openApiConfiguration.js'; @@ -5,11 +6,15 @@ import { OpenAPI } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; import { UmbBooleanState } from '@umbraco-cms/backoffice/observable-api'; +import { ReplaySubject, filter, switchMap } from '@umbraco-cms/backoffice/external/rxjs'; export class UmbAuthContext extends UmbContextBase { #isAuthorized = new UmbBooleanState(false); readonly isAuthorized = this.#isAuthorized.asObservable(); + #isInitialized = new ReplaySubject(1); + readonly isInitialized = this.#isInitialized.asObservable().pipe(filter((isInitialized) => isInitialized)); + #isBypassed = false; #serverUrl; #backofficePath; @@ -143,6 +148,14 @@ export class UmbAuthContext extends UmbContextBase { }; } + setInitialized() { + this.#isInitialized.next(true); + } + + getAuthProviders() { + return this.isInitialized.pipe(switchMap(() => umbExtensionsRegistry.byType('authProvider'))); + } + #getRedirectUrl() { return `${window.location.origin}${this.#backofficePath}`; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/index.ts index 1896412056..7db1162c20 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/index.ts @@ -1,3 +1,4 @@ +import { UMB_AUTH_CONTEXT } from './auth/auth.context.token.js'; import { UmbBackofficeNotificationContainerElement, UmbBackofficeModalContainerElement } from './components/index.js'; import { UmbActionEventContext } from './action/action-event.context.js'; import { manifests as coreManifests } from './manifests.js'; @@ -46,4 +47,9 @@ export const onInit: UmbEntryPointOnInit = (host, extensionRegistry) => { new UmbNotificationContext(host); new UmbModalManagerContext(host); new UmbActionEventContext(host); + + host.consumeContext(UMB_AUTH_CONTEXT, (authContext) => { + // Initialize the auth context to let the app context know that the core module is ready + authContext.setInitialized(); + }); }; From ced4abd1c2905a81034268b32fd8c54388ec6e0b Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 09:51:59 +0200 Subject: [PATCH 032/134] let the app element initiate the public server extensions and wait to new up the auth controller until auth is required (i.e. not in install mode) --- src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 3e3dea0b60..80be3c84e1 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -16,6 +16,7 @@ import { UmbContextDebugController } from '@umbraco-cms/backoffice/debug'; import { UmbBundleExtensionInitializer, UmbEntryPointExtensionInitializer, + UmbServerExtensionRegistrator, } from '@umbraco-cms/backoffice/extension-api'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; @@ -101,12 +102,13 @@ export class UmbAppElement extends UmbLitElement { } async #setup() { - this.#authController = new UmbAppAuthController(this); this.#serverConnection = await new UmbServerConnection(this.serverUrl).connect(); this.#authContext = new UmbAuthContext(this, this.serverUrl, this.backofficePath, this.bypassAuth); new UmbAppContext(this, { backofficePath: this.backofficePath, serverUrl: this.serverUrl }); + await new UmbServerExtensionRegistrator(this, umbExtensionsRegistry).registerPublicExtensions(); + // Try to initialise the auth flow and get the runtime status try { // If the runtime level is "install" we should clear any cached tokens @@ -114,6 +116,7 @@ export class UmbAppElement extends UmbLitElement { if (this.#serverConnection.getStatus() === RuntimeLevelModel.INSTALL) { await this.#authContext.clearTokenStorage(); } else { + this.#authController = new UmbAppAuthController(this); await this.#setAuthStatus(); } From 5e0916bb11bee7cc71930d167a87c6df6142efb8 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 09:52:15 +0200 Subject: [PATCH 033/134] let the auth controller use the auth context to fetch the providers --- .../src/apps/app/app-auth.controller.ts | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index dba8a08626..290508e72a 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -1,15 +1,11 @@ import { UMB_AUTH_CONTEXT, UMB_MODAL_APP_AUTH, UMB_STORAGE_REDIRECT_URL } from '@umbraco-cms/backoffice/auth'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbServerExtensionRegistrator } from '@umbraco-cms/backoffice/extension-api'; -import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { firstValueFrom } from '@umbraco-cms/backoffice/external/rxjs'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; export class UmbAppAuthController extends UmbControllerBase { #authContext?: typeof UMB_AUTH_CONTEXT.TYPE; - #serverExtensionRegistrator = new UmbServerExtensionRegistrator(this, umbExtensionsRegistry); - #init; constructor(host: UmbControllerHost) { super(host); @@ -17,8 +13,6 @@ export class UmbAppAuthController extends UmbControllerBase { this.consumeContext(UMB_AUTH_CONTEXT, (context) => { this.#authContext = context; }); - - this.#init = Promise.all([this.#serverExtensionRegistrator.registerPublicExtensions()]); } /** @@ -52,28 +46,40 @@ export class UmbAppAuthController extends UmbControllerBase { throw new Error('[Fatal] Auth context is not available'); } - await this.#init; - // Figure out which providers are available - const availableProviders = await firstValueFrom(umbExtensionsRegistry.byType('authProvider')); + const availableProviders = await firstValueFrom(this.#authContext.getAuthProviders()); + if (availableProviders.length === 0) { - // No providers available, initiate the authorization request to the default provider + throw new Error('[Fatal] No auth providers available'); + } + + if (availableProviders.length === 1) { + // One provider available (most likely the Umbraco provider), so initiate the authorization request to the default provider this.#authContext.makeAuthorizationRequest(); } else { - // Check if any provider is redirecting directly to the provider, and if so, redirect to that provider - const redirectProvider = availableProviders.find((provider) => provider.meta?.autoRedirect); - if (redirectProvider) { - this.#authContext.makeAuthorizationRequest(redirectProvider.forProviderName); - return true; - } + // Check if any provider is redirecting directly to the provider + const redirectProvider = availableProviders.find((provider) => provider.meta?.behavior?.autoRedirect); - // Show the provider selection screen - console.log('show modal for', availableProviders); - const modalContext = await this.getContext(UMB_MODAL_MANAGER_CONTEXT); - await modalContext - .open(this._host, UMB_MODAL_APP_AUTH) - .onSubmit() - .catch(() => undefined); + if (redirectProvider) { + // Redirect directly to the provider + this.#authContext.makeAuthorizationRequest(redirectProvider.forProviderName); + } else { + // Show the provider selection screen + console.log('show modal for', availableProviders); + const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT); + await modalManager + .open(this._host, UMB_MODAL_APP_AUTH) + .onSubmit() + .catch(() => undefined); + } + } + + return this.#updateState(); + } + + #updateState() { + if (!this.#authContext) { + throw new Error('[Fatal] Auth context is not available'); } // Reinitialize the auth flow (load the state from local storage) From c0bb2d3d9795d75593cd01be44268df9d597a51d Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 10:17:43 +0200 Subject: [PATCH 034/134] append to shadowRoot --- src/Umbraco.Web.UI.Client/src/packages/core/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/index.ts index 7db1162c20..3e424e1398 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/index.ts @@ -39,10 +39,10 @@ export const onInit: UmbEntryPointOnInit = (host, extensionRegistry) => { extensionRegistry.registerMany(coreManifests); const notificationContainerElement = new UmbBackofficeNotificationContainerElement(); - host.appendChild(notificationContainerElement); + host.shadowRoot?.appendChild(notificationContainerElement); const modalContainerElement = new UmbBackofficeModalContainerElement(); - host.appendChild(modalContainerElement); + host.shadowRoot?.appendChild(modalContainerElement); new UmbNotificationContext(host); new UmbModalManagerContext(host); From abc1a9f32ec997b7e187681ee10e7f3db42cfaf0 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 12:08:42 +0200 Subject: [PATCH 035/134] add more to default provider --- .../src/apps/app/app-auth.controller.ts | 9 +++++++-- .../src/packages/core/auth/providers/manifests.ts | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index 290508e72a..0c2eac7678 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -65,12 +65,17 @@ export class UmbAppAuthController extends UmbControllerBase { this.#authContext.makeAuthorizationRequest(redirectProvider.forProviderName); } else { // Show the provider selection screen - console.log('show modal for', availableProviders); const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT); - await modalManager + const selected = await modalManager .open(this._host, UMB_MODAL_APP_AUTH) .onSubmit() .catch(() => undefined); + + if (!selected?.providerName) { + return false; + } + + this.#authContext.makeAuthorizationRequest(selected.providerName); } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts index 29f9ca30f6..f1f2f89b41 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts @@ -8,7 +8,10 @@ export const manifests: Array = [ forProviderName: 'Umbraco', weight: 1000, meta: { - label: 'Umbraco', + label: 'Sign in with Umbraco', + defaultView: { + look: 'primary', + }, }, }, ]; From 59d372249098ce1708e1722881e830eeaa23bac9 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 12:08:50 +0200 Subject: [PATCH 036/134] fix typo for typings --- .../core/extension-registry/models/auth-provider.model.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts index 1abff595fd..116be49a73 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/auth-provider.model.ts @@ -41,13 +41,13 @@ export interface MetaAuthProvider { * The color of the provider that is shown to the user. * @default 'secondary' */ - color?: UUIInterfaceLook; + color?: UUIInterfaceColor; /** * The look of the provider that is shown to the user. * @default 'default' */ - look?: UUIInterfaceColor; + look?: UUIInterfaceLook; }; /** From fe40efdf1da993467b25f4eb6c6ef95ebb049587 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 12:09:12 +0200 Subject: [PATCH 037/134] show a modal when more than 1 provider and add a default element if nothing is provided --- .../auth-provider-default.element.ts | 50 +++++++++++++++++++ .../packages/core/auth/components/index.ts | 1 + .../src/packages/core/auth/index.ts | 3 ++ .../auth/modals/umb-app-auth-modal.element.ts | 40 +++++++++++++-- .../auth/modals/umb-app-auth-modal.token.ts | 7 ++- 5 files changed, 94 insertions(+), 7 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/auth/components/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts new file mode 100644 index 0000000000..58e04c5797 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts @@ -0,0 +1,50 @@ +import type { ManifestAuthProvider } from '../../index.js'; +import { UmbLitElement } from '../../lit-element/lit-element.element.js'; +import { UmbTextStyles } from '../../style/index.js'; +import { css, customElement, html, nothing, property } from '@umbraco-cms/backoffice/external/lit'; + +@customElement('umb-auth-provider-default') +export class UmbAuthProviderDefaultElement extends UmbLitElement { + @property({ attribute: false }) + manifest!: ManifestAuthProvider; + + @property({ attribute: false }) + onSubmit!: (providerName: string) => void; + + render() { + return html` + this.onSubmit(this.manifest.forProviderName)} + id="auth-provider-button" + .label=${this.manifest.meta?.label ?? this.manifest.forProviderName} + .look=${this.manifest.meta?.defaultView?.look ?? 'outline'} + .color=${this.manifest.meta?.defaultView?.color ?? 'default'}> + ${this.manifest.meta?.defaultView?.icon + ? html`` + : nothing} + ${this.manifest.meta?.label ?? this.manifest.forProviderName} + + `; + } + + static styles = [ + UmbTextStyles, + css` + :host { + display: block; + padding: 20px; + } + + #auth-provider-button { + width: 100%; + } + `, + ]; +} + +declare global { + interface HTMLElementTagNameMap { + 'umb-auth-provider-default': UmbAuthProviderDefaultElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/index.ts new file mode 100644 index 0000000000..e5fdd6f189 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/index.ts @@ -0,0 +1 @@ +export * from './auth-provider-default.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts index e99e9b0dcf..e05fbbb7ed 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts @@ -1,4 +1,7 @@ +import './components/index.js'; + export * from './auth.context.js'; export * from './auth.context.token.js'; export * from './modals/index.js'; export * from './models/openApiConfiguration.js'; +export * from './components/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts index 1f8418e3ca..69b3b8b8ef 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -1,11 +1,41 @@ -import { customElement, html } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import { UmbModalBaseElement } from '../../modal/index.js'; +import type { UmbModalAppAuthValue } from './umb-app-auth-modal.token.js'; +import { css, customElement, html } from '@umbraco-cms/backoffice/external/lit'; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; @customElement('umb-app-auth-modal') -export class UmbAppAuthModalElement extends UmbLitElement { - render() { - return html`

Umb App Auth Modal

`; +export class UmbAppAuthModalElement extends UmbModalBaseElement { + get props() { + return { + onSubmit: this.onSubmit, + }; } + + render() { + return html` + + + + `; + } + + private onSubmit = (providerName: string) => { + this.value = { providerName }; + this._submitModal(); + }; + + static styles = [ + UmbTextStyles, + css` + :host { + display: block; + padding: 20px; + } + `, + ]; } export default UmbAppAuthModalElement; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts index 4b4e39656b..20ce925dd9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts @@ -1,8 +1,11 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; -export const UMB_MODAL_APP_AUTH = new UmbModalToken('Umb.Modal.AppAuth', { +export type UmbModalAppAuthValue = { + providerName?: string; +}; + +export const UMB_MODAL_APP_AUTH = new UmbModalToken('Umb.Modal.AppAuth', { modal: { - size: 'small', type: 'dialog', }, }); From 9050de6c57965b01dfa39b1a5392b1f87e8e636a Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 12:30:15 +0200 Subject: [PATCH 038/134] remove unused utils --- .../src/mocks/data/utils.ts | 32 ------------------- 1 file changed, 32 deletions(-) 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 f3a9ac812e..1635df1b75 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils.ts @@ -1,35 +1,3 @@ -import type { - FolderTreeItemResponseModel, - FileSystemTreeItemPresentationModel, - NamedEntityTreeItemResponseModel, -} from '@umbraco-cms/backoffice/external/backend-api'; - -export const createEntityTreeItem = (item: any): NamedEntityTreeItemResponseModel => { - return { - name: item.name, - hasChildren: item.hasChildren, - id: item.id, - parent: item.parent, - }; -}; - -export const folderTreeItemMapper = (item: any): FolderTreeItemResponseModel => { - return { - ...createEntityTreeItem(item), - isFolder: item.isFolder, - }; -}; - -export const createFileSystemTreeItem = (item: any): FileSystemTreeItemPresentationModel => { - return { - path: item.path, - parent: item.parent ?? null, - name: item.name, - hasChildren: item.hasChildren ?? false, - isFolder: item.isFolder ?? false, - }; -}; - export const arrayFilter = (filterBy: Array, value?: Array): boolean => { // if a filter is not set, return all items if (!filterBy) { From 4c1f0167d2f3dcebd7eb3c141d3ac64991b1bba3 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 12:30:31 +0200 Subject: [PATCH 039/134] add tree mapper --- .../src/mocks/data/data-type/data-type.db.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/data-type/data-type.db.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/data-type/data-type.db.ts index b6108cf716..fad4ede41a 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/data-type/data-type.db.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/data-type/data-type.db.ts @@ -1,7 +1,6 @@ import { UmbEntityMockDbBase } from '../utils/entity/entity-base.js'; import { UmbMockEntityFolderManager } from '../utils/entity/entity-folder.manager.js'; import { UmbMockEntityTreeManager } from '../utils/entity/entity-tree.manager.js'; -import { folderTreeItemMapper } from '../utils.js'; import { UmbMockEntityItemManager } from '../utils/entity/entity-item.manager.js'; import { UmbMockEntityDetailManager } from '../utils/entity/entity-detail.manager.js'; import type { UmbMockDataTypeModel } from './data-type.data.js'; @@ -12,10 +11,11 @@ import type { CreateFolderRequestModel, DataTypeItemResponseModel, DataTypeResponseModel, + DataTypeTreeItemResponseModel, } from '@umbraco-cms/backoffice/external/backend-api'; class UmbDataTypeMockDB extends UmbEntityMockDbBase { - tree = new UmbMockEntityTreeManager(this, folderTreeItemMapper); + tree = new UmbMockEntityTreeManager(this, treeItemMapper); folder = new UmbMockEntityFolderManager(this, createFolderMockMapper); item = new UmbMockEntityItemManager(this, itemResponseMapper); detail = new UmbMockEntityDetailManager(this, createDetailMockMapper, detailResponseMapper); @@ -25,6 +25,17 @@ class UmbDataTypeMockDB extends UmbEntityMockDbBase { } } +const treeItemMapper = (model: UmbMockDataTypeModel): DataTypeTreeItemResponseModel => { + return { + name: model.name, + hasChildren: model.hasChildren, + id: model.id, + parent: model.parent, + isFolder: model.isFolder, + isDeletable: model.isDeletable, + }; +}; + const createFolderMockMapper = (request: CreateFolderRequestModel): UmbMockDataTypeModel => { return { name: request.name, From d6185b45d0e4c2bee964b7878facd94ba45caa1e Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 12:30:40 +0200 Subject: [PATCH 040/134] add tree mapper --- .../src/mocks/data/template/template.db.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/template/template.db.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/template/template.db.ts index e0394582b7..59719a4c8c 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/template/template.db.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/template/template.db.ts @@ -1,15 +1,17 @@ import { UmbEntityMockDbBase } from '../utils/entity/entity-base.js'; import { UmbMockEntityTreeManager } from '../utils/entity/entity-tree.manager.js'; -import { folderTreeItemMapper } from '../utils.js'; import { UmbMockEntityItemManager } from '../utils/entity/entity-item.manager.js'; import type { UmbMockTemplateModel } from './template.data.js'; import { data } from './template.data.js'; import { UmbMockTemplateDetailManager } from './template-detail.manager.js'; import { UmbMockTemplateQueryManager } from './template-query.manager.js'; -import type { TemplateItemResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { + NamedEntityTreeItemResponseModel, + TemplateItemResponseModel, +} from '@umbraco-cms/backoffice/external/backend-api'; class UmbTemplateMockDB extends UmbEntityMockDbBase { - tree = new UmbMockEntityTreeManager(this, folderTreeItemMapper); + tree = new UmbMockEntityTreeManager(this, treeItemMapper); item = new UmbMockEntityItemManager(this, itemMapper); detail = new UmbMockTemplateDetailManager(this); query = new UmbMockTemplateQueryManager(this); @@ -19,6 +21,15 @@ class UmbTemplateMockDB extends UmbEntityMockDbBase { } } +const treeItemMapper = (model: UmbMockTemplateModel): NamedEntityTreeItemResponseModel => { + return { + name: model.name, + hasChildren: model.hasChildren, + id: model.id, + parent: model.parent, + }; +}; + const itemMapper = (item: UmbMockTemplateModel): TemplateItemResponseModel => { return { id: item.id, From 4d26eb824593f1669bbb21e52e2071463167b50e Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 12:30:49 +0200 Subject: [PATCH 041/134] temp custom model --- .../src/mocks/data/utils/entity/entity-folder.manager.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-folder.manager.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-folder.manager.ts index 87eaef9361..04fc1eee37 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-folder.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-folder.manager.ts @@ -2,11 +2,10 @@ import type { UmbEntityMockDbBase } from './entity-base.js'; import type { CreateFolderRequestModel, FolderResponseModel, - FolderTreeItemResponseModel, UpdateFolderResponseModel, } from '@umbraco-cms/backoffice/external/backend-api'; -export class UmbMockEntityFolderManager { +export class UmbMockEntityFolderManager { #db: UmbEntityMockDbBase; #createMockFolderMapper: (request: CreateFolderRequestModel) => MockItemType; From a2b185d4784a90ea1df07e04a20b1ab73b39dae3 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 12:31:27 +0200 Subject: [PATCH 042/134] add mapper --- .../utils/file-system/file-system-tree.manager.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-tree.manager.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-tree.manager.ts index 2641be20f2..d9c4a65ac9 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-tree.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/file-system/file-system-tree.manager.ts @@ -1,5 +1,4 @@ import type { UmbMockDBBase } from '../mock-db-base.js'; -import { createFileSystemTreeItem } from '../../utils.js'; import { pagedResult } from '../paged-result.js'; import type { FileSystemTreeItemPresentationModel } from '@umbraco-cms/backoffice/external/backend-api'; @@ -39,3 +38,13 @@ export class UmbMockFileSystemTreeManager { + return { + path: item.path, + parent: item.parent ?? null, + name: item.name, + hasChildren: item.hasChildren ?? false, + isFolder: item.isFolder ?? false, + }; +}; From 2f61a03936634399473f42f446a3e892370cf9a9 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 12:31:45 +0200 Subject: [PATCH 043/134] align with backend model --- .../src/packages/documents/document-types/types.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/types.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/types.ts index 0cb1487c2f..7d3825ef1e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/types.ts @@ -10,8 +10,8 @@ export interface UmbDocumentTypeDetailModel extends UmbContentTypeModel { export type UmbDocumentTypeCleanupModel = { preventCleanup: boolean; - keepAllVersionsNewerThanDays: number | null; - keepLatestVersionPerDayForDays: number | null; + keepAllVersionsNewerThanDays?: number | null; + keepLatestVersionPerDayForDays?: number | null; }; export interface UmbDocumentTypeCompositionRequestModel { From dae1cac7f3af600de026e22dcae1287bbfc142e0 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 12:32:04 +0200 Subject: [PATCH 044/134] temp mock models --- .../src/mocks/data/utils/entity/entity-recycle-bin.ts | 5 +++-- .../src/mocks/data/utils/entity/entity-tree.manager.ts | 3 +-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-recycle-bin.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-recycle-bin.ts index 2cb6918b2d..2ffdb1f066 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-recycle-bin.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-recycle-bin.ts @@ -1,8 +1,9 @@ import { UmbEntityMockDbBase } from './entity-base.js'; import { UmbMockEntityTreeManager } from './entity-tree.manager.js'; -import type { ContentTreeItemResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; -export class UmbEntityRecycleBin extends UmbEntityMockDbBase { +export class UmbEntityRecycleBin< + MockType extends { id: string; isTrashed: boolean; hasChildren: boolean }, +> extends UmbEntityMockDbBase { tree; constructor(data: Array, treeItemMapper: (model: MockType) => any) { diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-tree.manager.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-tree.manager.ts index def3178707..a35f9b763a 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-tree.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-tree.manager.ts @@ -1,9 +1,8 @@ import { pagedResult } from '../paged-result.js'; import type { UmbEntityMockDbBase } from './entity-base.js'; import { UmbId } from '@umbraco-cms/backoffice/id'; -import type { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; -export class UmbMockEntityTreeManager { +export class UmbMockEntityTreeManager { #db: UmbEntityMockDbBase; #treeItemMapper: (item: T) => any; From 422af8256a75d5cbd1e66971d892cdf524d0d44b Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 13:14:36 +0200 Subject: [PATCH 045/134] add variant property value model --- .../src/packages/core/variant/types.ts | 6 ++++++ .../property-structure-workspace-context.interface.ts | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/variant/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/variant/types.ts index f0703003f6..8de38ee4b2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/variant/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/variant/types.ts @@ -1,6 +1,12 @@ import type { UmbVariantId } from './variant-id.class.js'; import type { UmbLanguageDetailModel } from '@umbraco-cms/backoffice/language'; import type { ScheduleRequestModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { UmbPropertyValueData } from '@umbraco-cms/backoffice/property'; + +export interface UmbVariantPropertyValueModel extends UmbPropertyValueData { + culture: string | null; + segment: string | null; +} export interface UmbVariantModel { createDate: string | null; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/property-structure-workspace-context.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/property-structure-workspace-context.interface.ts index da9d3467e2..682abaa2e6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/property-structure-workspace-context.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/contexts/tokens/property-structure-workspace-context.interface.ts @@ -1,7 +1,7 @@ import type { UmbEntityWorkspaceContext } from './entity-workspace-context.interface.js'; import type { Observable } from '@umbraco-cms/backoffice/external/rxjs'; -import type { ValueModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { UmbVariantPropertyValueModel } from '@umbraco-cms/backoffice/variant'; export interface UmbPropertyStructureWorkspaceContext extends UmbEntityWorkspaceContext { - propertyStructureById(id: string): Promise>; + propertyStructureById(id: string): Promise>; } From aaf30682eb8092dc3c0aa975b8594514673a46fe Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 13:14:48 +0200 Subject: [PATCH 046/134] temp mock type --- .../content-type-structure-server-data-source-base.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/structure/content-type-structure-server-data-source-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/structure/content-type-structure-server-data-source-base.ts index 262330e804..8765c33180 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/structure/content-type-structure-server-data-source-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/repository/structure/content-type-structure-server-data-source-base.ts @@ -1,11 +1,18 @@ import type { UmbPagedModel } from '../../../repository/types.js'; import type { UmbContentTypeStructureDataSource } from './content-type-structure-data-source.interface.js'; -import type { AllowedContentTypeModel, ItemResponseModelBaseModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; +// Temp type +type AllowedContentTypeModel = { + id: string; + name: string; + description?: string | null; + icon?: string | null; +}; + export interface UmbContentTypeStructureServerDataSourceBaseArgs< - ServerItemType extends ItemResponseModelBaseModel, + ServerItemType extends AllowedContentTypeModel, ClientItemType extends { unique: string }, > { getAllowedChildrenOf: (unique: string | null) => Promise>; From f46f7bb459e5ce07daea7cca3762be2080bd0ed4 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 13:24:40 +0200 Subject: [PATCH 047/134] adjust size and color --- .../core/auth/modals/umb-app-auth-modal.element.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts index 69b3b8b8ef..5acc1ebe77 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -13,8 +13,9 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement + @@ -33,6 +34,12 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement Date: Fri, 5 Apr 2024 13:24:48 +0200 Subject: [PATCH 048/134] add fallback variable for color to body layout --- .../packages/core/components/body-layout/body-layout.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/body-layout/body-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/body-layout/body-layout.element.ts index 1d589df449..22be2b754a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/body-layout/body-layout.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/body-layout/body-layout.element.ts @@ -134,7 +134,7 @@ export class UmbBodyLayoutElement extends LitElement { css` :host { display: flex; - background-color: var(--uui-color-background); + background-color: var(--umb-body-layout-color-background, var(--uui-color-background)); width: 100%; height: 100%; flex-direction: column; From 02a08e5d5f3a68b95f35b965b679e8ff06a39e0e Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 13:25:40 +0200 Subject: [PATCH 049/134] add language keys --- src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts | 4 ++++ src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts index d802dcc5cd..c038966225 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts @@ -1013,6 +1013,10 @@ export default { lockoutWillOccur: 'Du har været inaktiv, og du vil blive logget ud om', renewSession: 'Forny for at gemme dine ændringer', }, + login: { + instruction: 'Log ind på Umbraco', + signInWith: 'Log ind med {0}', + }, main: { dashboard: 'Skrivebord', sections: 'Sektioner', diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts index 3d2682e341..682a1bbb9a 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts @@ -1010,6 +1010,10 @@ export default { lockoutWillOccur: "You've been idle and logout will automatically occur in", renewSession: 'Renew now to save your work', }, + login: { + instruction: 'Sign in to Umbraco', + signInWith: 'Sign in with {0}', + }, main: { dashboard: 'Dashboard', sections: 'Sections', From bcc99cd16355a8f70e4cef5ff35f9f92fc6c9fde Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 13:25:47 +0200 Subject: [PATCH 050/134] remove padding --- .../core/auth/components/auth-provider-default.element.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts index 58e04c5797..b7e523adfc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts @@ -33,7 +33,6 @@ export class UmbAuthProviderDefaultElement extends UmbLitElement { css` :host { display: block; - padding: 20px; } #auth-provider-button { From 0494e514c18d4e6c703c721faf0b2d9ba5244e13 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 13:29:16 +0200 Subject: [PATCH 051/134] add margin and icon --- .../core/auth/components/auth-provider-default.element.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts index b7e523adfc..8c30b32f48 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts @@ -21,7 +21,7 @@ export class UmbAuthProviderDefaultElement extends UmbLitElement { .look=${this.manifest.meta?.defaultView?.look ?? 'outline'} .color=${this.manifest.meta?.defaultView?.color ?? 'default'}> ${this.manifest.meta?.defaultView?.icon - ? html`` + ? html`` : nothing} ${this.manifest.meta?.label ?? this.manifest.forProviderName}
@@ -33,6 +33,7 @@ export class UmbAuthProviderDefaultElement extends UmbLitElement { css` :host { display: block; + margin-bottom: var(--uui-size-space-5); } #auth-provider-button { From 271f4711cddbb50d7efdbd67e0a7fb7f617bafa3 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 13:30:23 +0200 Subject: [PATCH 052/134] export media tree item model --- src/Umbraco.Web.UI.Client/src/packages/media/media/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/index.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/index.ts index 3bf1a83c99..a475f13f31 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/index.ts @@ -10,3 +10,5 @@ export * from './utils/index.js'; export { UMB_MEDIA_TREE_ALIAS } from './tree/index.js'; export { UMB_MEDIA_COLLECTION_ALIAS } from './collection/index.js'; export { UMB_MEDIA_MENU_ALIAS } from './menu/manifests.js'; + +export type { UmbMediaTreeItemModel } from './tree/index.js'; From 25a7f429c7794f1d3f41e2397d873a1c600b13fc Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 13:30:45 +0200 Subject: [PATCH 053/134] Update media-tree-picker-modal.token.ts --- .../core/modal/token/media-tree-picker-modal.token.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/media-tree-picker-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/media-tree-picker-modal.token.ts index 2dd6ea690c..e7be987ac8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/media-tree-picker-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/media-tree-picker-modal.token.ts @@ -1,8 +1,8 @@ import { UmbModalToken } from './modal-token.js'; import type { UmbPickerModalValue, UmbTreePickerModalData } from '@umbraco-cms/backoffice/modal'; -import type { ContentTreeItemResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { UmbMediaTreeItemModel } from '@umbraco-cms/backoffice/media'; -export type UmbMediaTreePickerModalData = UmbTreePickerModalData; +export type UmbMediaTreePickerModalData = UmbTreePickerModalData; export type UmbMediaTreePickerModalValue = UmbPickerModalValue; export const UMB_MEDIA_TREE_PICKER_MODAL = new UmbModalToken( From f48573d26553e626fca039fe37d7e390f066331b Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 13:36:28 +0200 Subject: [PATCH 054/134] Update tree-server-data-source-base.ts --- .../packages/core/tree/data/tree-server-data-source-base.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/data/tree-server-data-source-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/data/tree-server-data-source-base.ts index 844c91d1cf..1c2e14d22e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/data/tree-server-data-source-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/data/tree-server-data-source-base.ts @@ -7,11 +7,10 @@ import type { } from './types.js'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import type { TreeItemPresentationModel } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbPagedModel } from '@umbraco-cms/backoffice/repository'; export interface UmbTreeServerDataSourceBaseArgs< - ServerTreeItemType extends TreeItemPresentationModel, + ServerTreeItemType extends { hasChildren: boolean }, ClientTreeItemType extends UmbTreeItemModelBase, > { getRootItems: (args: UmbTreeRootItemsRequestArgs) => Promise>; @@ -27,7 +26,7 @@ export interface UmbTreeServerDataSourceBaseArgs< * @implements {UmbTreeDataSource} */ export abstract class UmbTreeServerDataSourceBase< - ServerTreeItemType extends TreeItemPresentationModel, + ServerTreeItemType extends { hasChildren: boolean }, ClientTreeItemType extends UmbTreeItemModelBase, > implements UmbTreeDataSource { From 0f55f62be06642b25ea13c9fb942a30a60ba48dd Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 13:42:10 +0200 Subject: [PATCH 055/134] map up the onSubmit, state and provider --- .../src/apps/app/app-auth.controller.ts | 17 +++++++++++---- .../src/packages/core/auth/index.ts | 2 ++ .../auth/modals/umb-app-auth-modal.element.ts | 5 +++-- .../auth/modals/umb-app-auth-modal.token.ts | 21 ++++++++++++++++--- .../src/packages/core/auth/types.ts | 5 +++++ 5 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index 0c2eac7678..d0335524f1 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -1,4 +1,9 @@ -import { UMB_AUTH_CONTEXT, UMB_MODAL_APP_AUTH, UMB_STORAGE_REDIRECT_URL } from '@umbraco-cms/backoffice/auth'; +import { + UMB_AUTH_CONTEXT, + UMB_MODAL_APP_AUTH, + UMB_STORAGE_REDIRECT_URL, + type UmbUserLoginState, +} from '@umbraco-cms/backoffice/auth'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { firstValueFrom } from '@umbraco-cms/backoffice/external/rxjs'; @@ -41,7 +46,7 @@ export class UmbAppAuthController extends UmbControllerBase { * Starts the authorization flow. * It will check which providers are available and either redirect directly to the provider or show a provider selection screen. */ - async makeAuthorizationRequest(): Promise { + async makeAuthorizationRequest(userLoginState: UmbUserLoginState = 'loggingIn'): Promise { if (!this.#authContext) { throw new Error('[Fatal] Auth context is not available'); } @@ -67,7 +72,11 @@ export class UmbAppAuthController extends UmbControllerBase { // Show the provider selection screen const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT); const selected = await modalManager - .open(this._host, UMB_MODAL_APP_AUTH) + .open(this._host, UMB_MODAL_APP_AUTH, { + data: { + userLoginState, + }, + }) .onSubmit() .catch(() => undefined); @@ -75,7 +84,7 @@ export class UmbAppAuthController extends UmbControllerBase { return false; } - this.#authContext.makeAuthorizationRequest(selected.providerName); + this.#authContext.makeAuthorizationRequest(selected.providerName, selected.loginHint); } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts index e05fbbb7ed..2f5cf6b67d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/index.ts @@ -5,3 +5,5 @@ export * from './auth.context.token.js'; export * from './modals/index.js'; export * from './models/openApiConfiguration.js'; export * from './components/index.js'; + +export type * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts index 5acc1ebe77..7cba576d77 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -1,12 +1,13 @@ import { UmbModalBaseElement } from '../../modal/index.js'; -import type { UmbModalAppAuthValue } from './umb-app-auth-modal.token.js'; +import type { UmbModalAppAuthConfig, UmbModalAppAuthValue } from './umb-app-auth-modal.token.js'; import { css, customElement, html } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; @customElement('umb-app-auth-modal') -export class UmbAppAuthModalElement extends UmbModalBaseElement { +export class UmbAppAuthModalElement extends UmbModalBaseElement { get props() { return { + userLoginState: this.data?.userLoginState ?? 'loggingIn', onSubmit: this.onSubmit, }; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts index 20ce925dd9..9b763e4c36 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts @@ -1,10 +1,25 @@ +import type { UmbUserLoginState } from '../types.js'; import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; -export type UmbModalAppAuthValue = { - providerName?: string; +export type UmbModalAppAuthConfig = { + userLoginState: UmbUserLoginState; }; -export const UMB_MODAL_APP_AUTH = new UmbModalToken('Umb.Modal.AppAuth', { +export type UmbModalAppAuthValue = { + /** + * The name of the provider that the user has selected to authenticate with. + * @required + */ + providerName?: string; + + /** + * The login hint that the user has provided to the provider. + * @optional + */ + loginHint?: string; +}; + +export const UMB_MODAL_APP_AUTH = new UmbModalToken('Umb.Modal.AppAuth', { modal: { type: 'dialog', }, diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts new file mode 100644 index 0000000000..d1933d0607 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts @@ -0,0 +1,5 @@ +/** + * User login state that can be used to determine the current state of the user. + * @example 'loggedIn' + */ +export type UmbUserLoginState = 'loggingIn' | 'loggedOut' | 'timedOut'; From 0755d4d410b5db5e941f2e135c5d45381e79723a Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 13:51:09 +0200 Subject: [PATCH 056/134] add state to logout button --- .../modals/current-user/current-user-modal.element.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/modals/current-user/current-user-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/modals/current-user/current-user-modal.element.ts index 9ad8bd483b..1e89d04f19 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/current-user/modals/current-user/current-user-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/current-user/modals/current-user/current-user-modal.element.ts @@ -1,12 +1,12 @@ import { UMB_CURRENT_USER_CONTEXT } from '../../current-user.context.js'; import type { UmbCurrentUserModel } from '../../types.js'; -import { UMB_APP_CONTEXT } from '@umbraco-cms/backoffice/app'; import { UMB_AUTH_CONTEXT } from '@umbraco-cms/backoffice/auth'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import type { CSSResultGroup } from '@umbraco-cms/backoffice/external/lit'; import { css, html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit'; import type { UmbModalContext } from '@umbraco-cms/backoffice/modal'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import type { UUIButtonState } from '@umbraco-cms/backoffice/external/uui'; @customElement('umb-current-user-modal') export class UmbCurrentUserModalElement extends UmbLitElement { @@ -16,6 +16,9 @@ export class UmbCurrentUserModalElement extends UmbLitElement { @state() private _currentUser?: UmbCurrentUserModel; + @state() + private _logOutButtonState?: UUIButtonState; + #authContext?: typeof UMB_AUTH_CONTEXT.TYPE; #currentUserContext?: typeof UMB_CURRENT_USER_CONTEXT.TYPE; @@ -50,7 +53,9 @@ export class UmbCurrentUserModalElement extends UmbLitElement { private async _logout() { if (!this.#authContext) return; - this.#authContext.signOut(); + this._logOutButtonState = 'waiting'; + await this.#authContext.signOut(); + this._logOutButtonState = 'success'; } render() { @@ -65,6 +70,7 @@ export class UmbCurrentUserModalElement extends UmbLitElement { From e838c0ea1b721f0f4d22aac760f6942e9a0166cb Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:23:42 +0200 Subject: [PATCH 057/134] let the auth context know if a 401 is encountered, which most likely means the user is timed out --- .../src/packages/core/auth/auth.context.ts | 10 ++++++ .../core/resources/resource.controller.ts | 35 +++++++++++-------- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts index a46deed70d..cf99b23c35 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts @@ -95,6 +95,16 @@ export class UmbAuthContext extends UmbContextBase { return this.#authFlow.clearTokenStorage(); } + /** + * Handles the case where the user has timed out, i.e. the token has expired. + * This will clear the token storage and set the user as unauthorized. + * @memberof UmbAuthContext + */ + timeOut() { + this.clearTokenStorage(); + this.#isAuthorized.setValue(false); + } + /** * Signs the user out by removing any tokens from the browser. * @memberof UmbAuthContext diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/resources/resource.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/resources/resource.controller.ts index b7dc4e9992..edbefc578b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/resources/resource.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/resources/resource.controller.ts @@ -1,4 +1,5 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ +import { UMB_AUTH_CONTEXT } from '../auth/index.js'; import { isApiError, isCancelError, isCancelablePromise } from './apiTypeValidators.function.js'; import { UMB_NOTIFICATION_CONTEXT, type UmbNotificationOptions } from '@umbraco-cms/backoffice/notification'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; @@ -11,6 +12,8 @@ export class UmbResourceController extends UmbControllerBase { #notificationContext?: typeof UMB_NOTIFICATION_CONTEXT.TYPE; + #authContext?: typeof UMB_AUTH_CONTEXT.TYPE; + constructor(host: UmbControllerHost, promise: Promise, alias?: string) { super(host, alias); @@ -19,6 +22,10 @@ export class UmbResourceController extends UmbControllerBase { new UmbContextConsumerController(host, UMB_NOTIFICATION_CONTEXT, (_instance) => { this.#notificationContext = _instance; }); + + new UmbContextConsumerController(host, UMB_AUTH_CONTEXT, (_instance) => { + this.#authContext = _instance; + }); } hostConnected(): void { @@ -78,21 +85,21 @@ export class UmbResourceController extends UmbControllerBase { // Go through the error status codes and act accordingly switch (error.status ?? 0) { - case 401: - // Unauthorized - console.log('Unauthorized'); - - // TODO: Do not remove the token here but instead let whatever is listening to the event decide what to do - localStorage.removeItem('umb:userAuthTokenResponse'); - - // TODO: Show a modal dialog to login either by bubbling an event to UmbAppElement or by showing a modal directly - this.#notificationContext?.peek('warning', { - data: { - headline: 'Session Expired', - message: 'Your session has expired. Please refresh the page.', - }, - }); + case 401: { + // See if we can get the UmbAuthContext and let it know the user is timed out + if (this.#authContext) { + this.#authContext.timeOut(); + } else { + // If we can't get the auth context, show a notification + this.#notificationContext?.peek('warning', { + data: { + headline: 'Session Expired', + message: 'Your session has expired. Please refresh the page.', + }, + }); + } break; + } case 500: // Server Error From 362c3188be3e32f21aa7931bd69d4bcb09165752 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:23:59 +0200 Subject: [PATCH 058/134] listen to changes for timeout but only if the value changed --- .../src/apps/app/app-auth.controller.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index d0335524f1..dfeb8455c1 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -6,7 +6,7 @@ import { } from '@umbraco-cms/backoffice/auth'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { firstValueFrom } from '@umbraco-cms/backoffice/external/rxjs'; +import { distinctUntilChanged, filter, firstValueFrom, skip } from '@umbraco-cms/backoffice/external/rxjs'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; export class UmbAppAuthController extends UmbControllerBase { @@ -17,6 +17,22 @@ export class UmbAppAuthController extends UmbControllerBase { this.consumeContext(UMB_AUTH_CONTEXT, (context) => { this.#authContext = context; + + // Observe the user's authorization state and start the authorization flow if the user is not authorized + this.observe( + context.isAuthorized.pipe( + // Only continue if the value has changed + distinctUntilChanged(), + // Skip the first since it is always false + skip(1), + // Only continue if the value is false + filter((x) => !x), + ), + () => { + this.makeAuthorizationRequest('timedOut'); + }, + '_authState', + ); }); } From c5d25e4b7a0ee9371b5b99fbdb85144ba91e4906 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:24:05 +0200 Subject: [PATCH 059/134] add skip --- src/Umbraco.Web.UI.Client/src/external/rxjs/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Umbraco.Web.UI.Client/src/external/rxjs/index.ts b/src/Umbraco.Web.UI.Client/src/external/rxjs/index.ts index f7d17284b7..cc5b1fcd73 100644 --- a/src/Umbraco.Web.UI.Client/src/external/rxjs/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/rxjs/index.ts @@ -17,4 +17,5 @@ export { switchMap, filter, startWith, + skip, } from 'rxjs'; From 78497b3032ebd7426747985dbb810ec40e88a684 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 15:27:17 +0200 Subject: [PATCH 060/134] add support to set a backdrop for a modal --- .../backoffice-modal-container.element.ts | 24 ++++++++++++++++--- .../modal/context/modal-manager.context.ts | 5 ++++ .../core/modal/context/modal.context.ts | 3 +++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts index 48d0068860..ee8be1c38b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts @@ -1,6 +1,6 @@ import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import type { CSSResultGroup } from '@umbraco-cms/backoffice/external/lit'; -import { css, html, repeat, customElement, state, nothing } from '@umbraco-cms/backoffice/external/lit'; +import { css, html, repeat, customElement, state, nothing, property } from '@umbraco-cms/backoffice/external/lit'; import type { UmbModalManagerContext, UmbModalContext } from '@umbraco-cms/backoffice/modal'; import { UMB_MODAL_MANAGER_CONTEXT, UmbModalElement } from '@umbraco-cms/backoffice/modal'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; @@ -13,6 +13,9 @@ export class UmbBackofficeModalContainerElement extends UmbLitElement { @state() _modals: Array = []; + @property({ reflect: true, attribute: 'fill-background' }) + fillBackground = false; + private _modalManager?: UmbModalManagerContext; constructor() { @@ -35,6 +38,7 @@ export class UmbBackofficeModalContainerElement extends UmbLitElement { /** We cannot render the umb-modal element directly in the uui-modal-container because it wont get recognized by UUI. * We therefore have a helper class which creates the uui-modal element and returns it. */ #createModalElements(modals: Array) { + this.fillBackground = false; const oldValue = this._modals; this._modals = modals; @@ -61,6 +65,15 @@ export class UmbBackofficeModalContainerElement extends UmbLitElement { modal.addEventListener('umb:destroy', this.#onCloseEnd.bind(this, modal.key)); this._modalElementMap.set(modal.key, modalElement); + + // If any of the modals are fillBackground, set the fillBackground property to true + if (modal.backdropBackground) { + this.fillBackground = true; + this.shadowRoot + ?.getElementById('container') + ?.style.setProperty('--backdrop-background', modal.backdropBackground); + } + this.requestUpdate(); }); } @@ -78,13 +91,13 @@ export class UmbBackofficeModalContainerElement extends UmbLitElement { render() { return html` - + ${this._modals.length > 0 ? repeat( this._modals, (modal) => modal.key, (modal) => this.#renderModal(modal.key), - ) + ) : ''} `; @@ -97,6 +110,11 @@ export class UmbBackofficeModalContainerElement extends UmbLitElement { position: absolute; z-index: 1000; } + + :host([fill-background]) #container::after { + background: var(--backdrop-background); + opacity: 0.75; + } `, ]; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/context/modal-manager.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/context/modal-manager.context.ts index d923e06b0b..eb74e7deca 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/context/modal-manager.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/context/modal-manager.context.ts @@ -12,6 +12,11 @@ export interface UmbModalConfig { key?: string; type?: UmbModalType; size?: UUIModalSidebarSize; + + /** + * Set the background property of the modal backdrop + */ + backdropBackground?: string; } export class UmbModalManagerContext extends UmbContextBase { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/context/modal.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/context/modal.context.ts index a22c2dd674..05d6220b7a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/context/modal.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/context/modal.context.ts @@ -32,6 +32,7 @@ export class UmbModalContext; @@ -51,10 +52,12 @@ export class UmbModalContext Date: Fri, 5 Apr 2024 15:27:34 +0200 Subject: [PATCH 061/134] track if it's the first time logging in and set a backdrop corresponding to that --- .../src/apps/app/app-auth.controller.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index dfeb8455c1..518f62d1ff 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -11,6 +11,7 @@ import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; export class UmbAppAuthController extends UmbControllerBase { #authContext?: typeof UMB_AUTH_CONTEXT.TYPE; + #firstTimeLoggingIn = true; constructor(host: UmbControllerHost) { super(host); @@ -29,6 +30,7 @@ export class UmbAppAuthController extends UmbControllerBase { filter((x) => !x), ), () => { + this.#firstTimeLoggingIn = false; this.makeAuthorizationRequest('timedOut'); }, '_authState', @@ -92,6 +94,11 @@ export class UmbAppAuthController extends UmbControllerBase { data: { userLoginState, }, + modal: { + backdropBackground: this.#firstTimeLoggingIn + ? "url('https://picsum.photos/1440') center center / cover no-repeat" + : 'rgb(0, 0, 0)', + }, }) .onSubmit() .catch(() => undefined); From 9a5fe32c613e80d7ea8fe3e349250e623275af5f Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 15:28:39 +0200 Subject: [PATCH 062/134] remove temp login screen --- .../apps/auth/e2e/login.spec.ts | 19 --- .../apps/auth/index.html | 15 -- .../apps/auth/package.json | 20 --- .../apps/auth/playwright.config.ts | 108 ------------- .../apps/auth/public/favicon.svg | 17 -- .../apps/auth/public/login.jpeg | Bin 30678 -> 0 bytes .../apps/auth/public/umbraco_logo_white.svg | 1 - .../auth/public/umbraco_logomark_white.svg | 1 - .../apps/auth/src/auth-layout.element.ts | 72 --------- .../apps/auth/src/auth-legacy.context.ts | 10 -- .../apps/auth/src/auth.context.ts | 13 -- .../apps/auth/src/auth.repository.ts | 44 ------ .../external-login-provider-test.element.ts | 40 ----- .../external-login-provider-test2.element.ts | 53 ------- .../src/external-login-providers/manifests.ts | 29 ---- .../apps/auth/src/index.ts | 7 - .../apps/auth/src/login.element.ts | 148 ------------------ .../apps/auth/src/login.test.ts | 21 --- .../apps/auth/src/types.ts | 16 -- .../apps/auth/src/vite-env.d.ts | 6 - .../apps/auth/tsconfig.json | 12 -- .../apps/auth/tsconfig.node.json | 9 -- .../apps/auth/vite.config.ts | 32 ---- src/Umbraco.Web.UI.Client/package.json | 3 +- 24 files changed, 1 insertion(+), 695 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/e2e/login.spec.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/index.html delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/package.json delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/playwright.config.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/public/favicon.svg delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/public/login.jpeg delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/public/umbraco_logo_white.svg delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/public/umbraco_logomark_white.svg delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/auth-layout.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/auth-legacy.context.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/auth.context.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/auth.repository.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/external-login-provider-test.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/external-login-provider-test2.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/manifests.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/index.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/login.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/login.test.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/types.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/src/vite-env.d.ts delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/tsconfig.json delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/tsconfig.node.json delete mode 100644 src/Umbraco.Web.UI.Client/apps/auth/vite.config.ts diff --git a/src/Umbraco.Web.UI.Client/apps/auth/e2e/login.spec.ts b/src/Umbraco.Web.UI.Client/apps/auth/e2e/login.spec.ts deleted file mode 100644 index d34e280a56..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/e2e/login.spec.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test('login', async ({ page }) => { - await page.goto('/'); - - // Fill input[name="email"] - await page.locator('input[name="email"]').fill('test@umbraco.com'); - - // Fill input[name="password"] - await page.locator('input[name="password"]').fill('test123456'); - - // Wait for console.log to be called - page.on('console', (message) => { - expect(message.text()).toBe('login'); - }); - - // Click [aria-label="Login"] - await page.locator('[aria-label="Login"]').click(); -}); diff --git a/src/Umbraco.Web.UI.Client/apps/auth/index.html b/src/Umbraco.Web.UI.Client/apps/auth/index.html deleted file mode 100644 index 75922ccae2..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - Umbraco Auth - - - - - - - - diff --git a/src/Umbraco.Web.UI.Client/apps/auth/package.json b/src/Umbraco.Web.UI.Client/apps/auth/package.json deleted file mode 100644 index addf6d7ebf..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@umbraco-cms/login", - "version": "0.0.0", - "license": "MIT", - "author": { - "name": "Umbraco HQ", - "email": "backoffice@umbraco.com" - }, - "type": "module", - "module": "dist/main.js", - "files": [ - "dist" - ], - "scripts": { - "dev": "vite", - "build": "tsc && vite build", - "build:watch": "vite build --watch", - "preview": "vite preview" - } -} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/playwright.config.ts b/src/Umbraco.Web.UI.Client/apps/auth/playwright.config.ts deleted file mode 100644 index f7bf259530..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/playwright.config.ts +++ /dev/null @@ -1,108 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test'; -import { devices } from '@playwright/test'; - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000, - }, - /* Run tests in files in parallel */ - fullyParallel: true, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - // baseURL: 'http://localhost:3000', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'], - }, - }, - - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'], - }, - }, - - { - name: 'webkit', - use: { - ...devices['Desktop Safari'], - }, - }, - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - command: 'npm run dev', - port: 5173, - reuseExistingServer: !process.env.CI, - }, -}; - -export default config; diff --git a/src/Umbraco.Web.UI.Client/apps/auth/public/favicon.svg b/src/Umbraco.Web.UI.Client/apps/auth/public/favicon.svg deleted file mode 100644 index 19acb4bc1e..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/public/favicon.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - diff --git a/src/Umbraco.Web.UI.Client/apps/auth/public/login.jpeg b/src/Umbraco.Web.UI.Client/apps/auth/public/login.jpeg deleted file mode 100644 index 412cd17865c1b847affa4f0c2abc74645f678187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30678 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 diff --git a/src/Umbraco.Web.UI.Client/apps/auth/public/umbraco_logo_white.svg b/src/Umbraco.Web.UI.Client/apps/auth/public/umbraco_logo_white.svg deleted file mode 100644 index 3de8e82ed3..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/public/umbraco_logo_white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/apps/auth/public/umbraco_logomark_white.svg b/src/Umbraco.Web.UI.Client/apps/auth/public/umbraco_logomark_white.svg deleted file mode 100644 index 9372e25d3e..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/public/umbraco_logomark_white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/auth-layout.element.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/auth-layout.element.ts deleted file mode 100644 index 163ece1736..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/auth-layout.element.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { css, CSSResultGroup, html, LitElement } from 'lit'; -import { customElement } from 'lit/decorators.js'; - -@customElement('umb-auth-layout') -export class UmbAuthLayoutElement extends LitElement { - render() { - return html` -
- - - -
- - - -
- `; - } - - static styles: CSSResultGroup = [ - css` - #background { - position: fixed; - overflow: hidden; - background-position: 50%; - background-repeat: no-repeat; - background-size: cover; - background-image: url('login.jpeg'); - width: 100vw; - height: 100vh; - } - - #logo { - position: fixed; - top: var(--uui-size-space-5); - left: var(--uui-size-space-5); - height: 30px; - } - - #logo img { - height: 100%; - } - - #container { - position: relative; - display: flex; - align-items: center; - justify-content: center; - width: 100vw; - height: 100vh; - } - - #box { - width: 500px; - padding: var(--uui-size-space-6) var(--uui-size-space-5) var(--uui-size-space-5) var(--uui-size-space-5); - } - - #email, - #password { - width: 100%; - } - `, - ]; -} - -declare global { - interface HTMLElementTagNameMap { - 'umb-auth-layout': UmbAuthLayoutElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/auth-legacy.context.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/auth-legacy.context.ts deleted file mode 100644 index 42b0679aab..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/auth-legacy.context.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { LoginRequestModel, IUmbAuthContext, LoginResponse } from './types.js'; - -export class UmbAuthLegacyContext implements IUmbAuthContext { - readonly #AUTH_URL = '/umbraco/backoffice/umbracoapi/authentication/postlogin'; - readonly supportsPersistLogin = true; - - login(data: LoginRequestModel): Promise { - throw new Error('Method not implemented.'); - } -} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/auth.context.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/auth.context.ts deleted file mode 100644 index c38afcb618..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/auth.context.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { UmbAuthRepository } from './auth.repository.js'; -import { LoginRequestModel, IUmbAuthContext } from './types.js'; - -export class UmbAuthContext implements IUmbAuthContext { - readonly #AUTH_URL = '/umbraco/management/api/v1/security/back-office'; - readonly supportsPersistLogin = false; - - #authRepository = new UmbAuthRepository(this.#AUTH_URL); - - public async login(data: LoginRequestModel) { - return this.#authRepository.login(data); - } -} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/auth.repository.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/auth.repository.ts deleted file mode 100644 index f615a915c1..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/auth.repository.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { LoginRequestModel } from './types.js'; - -export class UmbAuthRepository { - #authURL = ''; - - constructor(authUrl: string) { - this.#authURL = authUrl; - } - - public async login(data: LoginRequestModel) { - const request = new Request(this.#authURL + '/login', { - method: 'POST', - body: JSON.stringify({ - username: data.username, - password: data.password, - }), - headers: { - 'Content-Type': 'application/json', - }, - }); - const response = await fetch(request); - - //TODO: What kind of data does the old backoffice expect? - //NOTE: this conditionally adds error and data to the response object - return { - status: response.status, - ...(!response.ok && { error: this.#getErrorText(response) }), - ...(response.ok && { data: 'WHAT DATA SHOULD BE RETURNED?' }), - }; - } - - #getErrorText(response: Response) { - switch (response.status) { - case 401: - return 'Oops! It seems like your login credentials are invalid or expired. Please double-check your username and password and try again.'; - - case 500: - return "We're sorry, but the server encountered an unexpected error. Please refresh the page or try again later.."; - - default: - return response.statusText; - } - } -} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/external-login-provider-test.element.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/external-login-provider-test.element.ts deleted file mode 100644 index 7dda2a047e..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/external-login-provider-test.element.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { css, html, LitElement } from 'lit'; -import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; -import { customElement } from 'lit/decorators.js'; - -@customElement('umb-external-login-provider-test') -export class UmbExternalLoginProviderTestElement extends LitElement { - render() { - return html` - Custom External Login Provider -

This is an example of a custom external login provider using the external login provider extension point

- - `; - } - - static styles = [ - UUITextStyles, - css` - :host { - display: flex; - flex-direction: column; - gap: var(--uui-size-space-4); - padding: var(--uui-size-space-5); - border: 1px solid var(--uui-color-border); - background: var(--uui-color-surface-alt); - border-radius: var(--uui-border-radius); - } - p { - margin: 0; - } - `, - ]; -} - -export default UmbExternalLoginProviderTestElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-external-login-provider-test': UmbExternalLoginProviderTestElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/external-login-provider-test2.element.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/external-login-provider-test2.element.ts deleted file mode 100644 index 652293ad27..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/external-login-provider-test2.element.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { css, html, LitElement } from 'lit'; -import { UUITextStyles } from '@umbraco-ui/uui-css'; -import { customElement } from 'lit/decorators.js'; - -@customElement('umb-external-login-provider-test2') -export class UmbExternalLoginProviderTest2Element extends LitElement { - render() { - return html` - Another Custom External Login Provider -

This is an example of another custom external login provider

- - Email - - - - `; - } - - static styles = [ - UUITextStyles, - css` - :host { - display: flex; - flex-direction: column; - gap: var(--uui-size-space-4); - padding: var(--uui-size-space-5); - border: 1px solid var(--uui-color-border); - background: var(--uui-color-surface-alt); - border-radius: var(--uui-border-radius); - } - p { - margin: 0; - } - uui-input { - width: 100%; - } - `, - ]; -} - -export default UmbExternalLoginProviderTest2Element; - -declare global { - interface HTMLElementTagNameMap { - 'umb-external-login-provider-test2': UmbExternalLoginProviderTest2Element; - } -} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/manifests.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/manifests.ts deleted file mode 100644 index 534b6a9cc2..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/external-login-providers/manifests.ts +++ /dev/null @@ -1,29 +0,0 @@ -// TODO: could these be renamed as login providers? -import type { ManifestExternalLoginProvider } from '@umbraco-cms/backoffice/extension-registry'; - -export const manifests: Array = [ - { - type: 'externalLoginProvider', - alias: 'Umb.ExternalLoginProvider.Test', - name: 'Test External Login Provider', - elementName: 'umb-external-login-provider-test', - element: () => import('./external-login-provider-test.element.js'), - weight: 2, - meta: { - label: 'Test External Login Provider', - pathname: 'test/test/test', - }, - }, - { - type: 'externalLoginProvider', - alias: 'Umb.ExternalLoginProvider.Test2', - name: 'Test External Login Provider 2', - elementName: 'umb-external-login-provider-test2', - element: () => import('./external-login-provider-test2.element.js'), - weight: 1, - meta: { - label: 'Test External Login Provider 2', - pathname: 'test/test/test', - }, - }, -]; diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/index.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/index.ts deleted file mode 100644 index 43ef4da338..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import 'element-internals-polyfill'; - -import '@umbraco-ui/uui-css/dist/uui-css.css'; -import '../../../src/css/umb-css.css'; -import '@umbraco-ui/uui'; - -import './login.element.js'; diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/login.element.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/login.element.ts deleted file mode 100644 index d55dd07276..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/login.element.ts +++ /dev/null @@ -1,148 +0,0 @@ -import { UUITextStyles } from '@umbraco-ui/uui-css'; -import { css, CSSResultGroup, html, LitElement, nothing } from 'lit'; -import { customElement, property, state } from 'lit/decorators.js'; - -import type { UUIButtonState } from '@umbraco-ui/uui'; -import type { IUmbAuthContext } from './types.js'; -import { UmbAuthLegacyContext } from './auth-legacy.context.js'; -import { UmbAuthContext } from './auth.context.js'; - -import './auth-layout.element.js'; - -@customElement('umb-login') -export default class UmbLoginElement extends LitElement { - #authContext: IUmbAuthContext; - - @property({ type: String, attribute: 'return-url' }) - returnUrl = ''; - - @property({ type: Boolean }) - isLegacy = false; - - @state() - private _loginState: UUIButtonState = undefined; - - @state() - private _loginError = ''; - - constructor() { - super(); - if (this.isLegacy) { - this.#authContext = new UmbAuthLegacyContext(); - } else { - this.#authContext = new UmbAuthContext(); - } - } - - #handleSubmit = async (e: SubmitEvent) => { - e.preventDefault(); - - const form = e.target as HTMLFormElement; - if (!form) return; - - if (!form.checkValidity()) return; - - const formData = new FormData(form); - - const username = formData.get('email') as string; - const password = formData.get('password') as string; - const persist = formData.has('persist'); - - this._loginState = 'waiting'; - - const response = await this.#authContext.login({ username, password, persist }); - - this._loginError = response.error || ''; - this._loginState = response.error ? 'failed' : 'success'; - - if (response.error) return; - - location.href = this.returnUrl; - }; - - get #greeting() { - return [ - 'Happy super Sunday', - 'Happy marvelous Monday', - 'Happy tubular Tuesday', - 'Happy wonderful Wednesday', - 'Happy thunderous Thursday', - 'Happy funky Friday', - 'Happy Saturday', - ][new Date().getDay()]; - } - - render() { - return html` - -
-

${this.#greeting}

- -
- - Email - - - - - Password - - - - ${this.#authContext.supportsPersistLogin - ? html` - Remember me - ` - : nothing} - - ${this.#renderErrorMessage()} - - -
-
-
-
- `; - } - - #renderErrorMessage() { - if (!this._loginError || this._loginState !== 'failed') return nothing; - - return html`

${this._loginError}

`; - } - - static styles: CSSResultGroup = [ - UUITextStyles, - css` - #email, - #password { - width: 100%; - } - .text-danger { - color: var(--uui-color-danger-standalone); - } - `, - ]; -} - -declare global { - interface HTMLElementTagNameMap { - 'umb-login': UmbLoginElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/login.test.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/login.test.ts deleted file mode 100644 index 3bdfaccdd0..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/login.test.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { expect, fixture, html } from '@open-wc/testing'; -import { type UmbTestRunnerWindow, defaultA11yConfig } from '@umbraco-cms/internal/test-utils'; -import UmbLoginElement from './login.element.js'; - -describe('UmbLogin', () => { - let element: UmbLoginElement; - - beforeEach(async () => { - element = await fixture(html``); - }); - - it('is defined with its own instance', () => { - expect(element).to.be.instanceOf(UmbLoginElement); - }); - - if ((window as UmbTestRunnerWindow).__UMBRACO_TEST_RUN_A11Y_TEST) { - it('passes the a11y audit', async () => { - await expect(element).to.be.accessible(defaultA11yConfig); - }); - } -}); diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/types.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/types.ts deleted file mode 100644 index 114c515c5d..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/types.ts +++ /dev/null @@ -1,16 +0,0 @@ -export type LoginRequestModel = { - username: string; - password: string; - persist: boolean; -}; - -export interface IUmbAuthContext { - login(data: LoginRequestModel): Promise; - supportsPersistLogin: boolean; -} - -export type LoginResponse = { - data?: string; - error?: string; - status: number; -}; diff --git a/src/Umbraco.Web.UI.Client/apps/auth/src/vite-env.d.ts b/src/Umbraco.Web.UI.Client/apps/auth/src/vite-env.d.ts deleted file mode 100644 index b0fda2b4ce..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/src/vite-env.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/// - -/* -interface ImportMetaEnv { -} -*/ diff --git a/src/Umbraco.Web.UI.Client/apps/auth/tsconfig.json b/src/Umbraco.Web.UI.Client/apps/auth/tsconfig.json deleted file mode 100644 index 3f90319d83..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "declaration": false - }, - "include": ["src/**/*.ts"], - "references": [ - { - "path": "./tsconfig.node.json" - } - ] -} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/tsconfig.node.json b/src/Umbraco.Web.UI.Client/apps/auth/tsconfig.node.json deleted file mode 100644 index b8b8971494..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/tsconfig.node.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "module": "esnext", - "moduleResolution": "node", - "allowSyntheticDefaultImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/src/Umbraco.Web.UI.Client/apps/auth/vite.config.ts b/src/Umbraco.Web.UI.Client/apps/auth/vite.config.ts deleted file mode 100644 index 74cb265ca6..0000000000 --- a/src/Umbraco.Web.UI.Client/apps/auth/vite.config.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { defineConfig } from 'vite'; -import viteTSConfigPaths from 'vite-tsconfig-paths'; - -// https://vitejs.dev/config/ -export default defineConfig({ - build: { - lib: { - entry: 'src/index.ts', - formats: ['es'], - fileName: 'main', - }, - target: 'esnext', - sourcemap: true, - rollupOptions: { - external: [/^@umbraco-cms\/backoffice\//], - output: { - manualChunks: { - uui: ['@umbraco-ui/uui'], - }, - }, - }, - outDir: '../../../Umbraco.Cms.StaticAssets/wwwroot/umbraco/auth', - emptyOutDir: true, - }, - server: { - fs: { - // Allow serving files from the global node_modules folder - allow: ['.', '../../node_modules'], - }, - }, - plugins: [viteTSConfigPaths()], -}); diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index e8c3085c05..33e545c0fa 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -117,7 +117,6 @@ "url": "https://umbraco.com" }, "scripts": { - "auth:test:e2e": "npx playwright test --config apps/auth/", "backoffice:test:e2e": "npx playwright test", "build-storybook": "npm run wc-analyze && storybook build", "build:for:cms": "npm run build && node ./devops/build/copy-to-cms.js", @@ -146,7 +145,7 @@ "preview": "vite preview --open", "storybook:build": "npm run wc-analyze && storybook build", "storybook": "npm run wc-analyze && storybook dev -p 6006", - "test:e2e": "npm run auth:test:e2e && npm run backoffice:test:e2e", + "test:e2e": "npm run backoffice:test:e2e", "test:dev": "web-test-runner --config ./web-test-runner.dev.config.mjs", "test:dev-watch": "web-test-runner --watch --config ./web-test-runner.dev.config.mjs", "test:watch": "web-test-runner --watch", From bcbbe4965c8f8645ed27cf0f2cc8dfb60d8e6d34 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:19:00 +0200 Subject: [PATCH 063/134] install simple-icons and add a few brand icons (recommendation from team at lucide) --- .../devops/icons/index.js | 36 ++++++++++- src/Umbraco.Web.UI.Client/package-lock.json | 14 +++++ src/Umbraco.Web.UI.Client/package.json | 1 + .../core/icon-registry/icon-dictionary.json | 60 ++++++++++++++++--- .../core/icon-registry/icons/icon-azure.js | 1 + .../core/icon-registry/icons/icon-facebook.js | 1 + .../core/icon-registry/icons/icon-gitbook.js | 1 + .../core/icon-registry/icons/icon-github.js | 1 + .../core/icon-registry/icons/icon-gitlab.js | 1 + .../core/icon-registry/icons/icon-google.js | 1 + .../core/icon-registry/icons/icon-linkedin.js | 1 + .../core/icon-registry/icons/icon-mastodon.js | 1 + .../icon-registry/icons/icon-microsoft.js | 1 + .../icon-registry/icons/icon-twitter-x.js | 1 + .../core/icon-registry/icons/icon-twitter.js | 1 + .../core/icon-registry/icons/icons.json | 2 +- .../core/icon-registry/svgs/icon-twitter.svg | 5 ++ 17 files changed, 117 insertions(+), 12 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-azure.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-facebook.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-gitbook.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-github.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-gitlab.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-google.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-linkedin.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-mastodon.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-microsoft.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter-x.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter.js create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-twitter.svg diff --git a/src/Umbraco.Web.UI.Client/devops/icons/index.js b/src/Umbraco.Web.UI.Client/devops/icons/index.js index 29e84f3a96..0835e420c5 100644 --- a/src/Umbraco.Web.UI.Client/devops/icons/index.js +++ b/src/Umbraco.Web.UI.Client/devops/icons/index.js @@ -12,6 +12,7 @@ const umbracoSvgDirectory = `${moduleDirectory}/svgs`; const iconMapJson = `${moduleDirectory}/icon-dictionary.json`; const lucideSvgDirectory = 'node_modules/lucide-static/icons'; +const simpleIconsSvgDirectory = 'node_modules/simple-icons/icons'; const run = async () => { var icons = await collectDictionaryIcons(); @@ -50,8 +51,39 @@ const collectDictionaryIcons = async () => { }; icons.push(icon); - } catch(e) { - console.log(`Could not load file: '${path}'`); + } catch (e) { + console.log(`[Lucide] Could not load file: '${path}'`); + } + } + }); + + // SimpleIcons: + fileJSON.simpleIcons.forEach((iconDef) => { + if (iconDef.file && iconDef.name) { + const path = simpleIconsSvgDirectory + "/" + iconDef.file; + + try { + const rawData = readFileSync(path); + let svg = rawData.toString() + const iconFileName = iconDef.name; + + // SimpleIcons need to use fill="currentColor" + const pattern = /fill=/g; + if (!pattern.test(svg)) { + svg = svg.replace(/=0.12.18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/simple-icons" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index 33e545c0fa..929d6ea64c 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -226,6 +226,7 @@ "rollup-plugin-import-css": "^3.4.0", "rollup-plugin-web-worker-loader": "^1.6.1", "storybook": "^7.6.17", + "simple-icons": "^11.11.0", "tiny-glob": "^0.2.9", "tsc-alias": "^1.8.8", "typedoc": "^0.25.10", diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json index d46fcbda58..1e30ae54aa 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json @@ -1486,7 +1486,7 @@ { "name": "icon-newspaper-alt", "file": "newspaper.svg", - "legacy":true + "legacy": true }, { "name": "icon-newspaper", @@ -1737,22 +1737,22 @@ { "name": "icon-price-dollar", "file": "badge-dollar-sign.svg", - "legacy":true + "legacy": true }, { "name": "icon-price-euro", "file": "badge-euro.svg", - "legacy":true + "legacy": true }, { "name": "icon-price-pound", "file": "badge-pound-sterling.svg", - "legacy":true + "legacy": true }, { "name": "icon-price-yen", "file": "badge-japanese-yen", - "legacy":true + "legacy": true }, { "name": "icon-print", @@ -2429,10 +2429,6 @@ "name": "icon-zoom-in", "file": "zoom-in.svg" }, - - - - { "name": "icon-zoom-out", "file": "zoom-out.svg" @@ -2446,6 +2442,52 @@ "file": "database.svg" } ], + "simpleIcons": [ + { + "name": "icon-azure", + "file": "microsoftazure.svg" + }, + { + "name": "icon-facebook", + "file": "facebook.svg" + }, + { + "name": "icon-gitbook", + "file": "gitbook.svg" + }, + { + "name": "icon-github", + "file": "github.svg" + }, + { + "name": "icon-gitlab", + "file": "gitlab.svg" + }, + { + "name": "icon-google", + "file": "google.svg" + }, + { + "name": "icon-linkedin", + "file": "linkedin.svg" + }, + { + "name": "icon-mastodon", + "file": "mastodon.svg" + }, + { + "name": "icon-microsoft", + "file": "microsoft.svg" + }, + { + "name": "icon-twitter", + "file": "twitter.svg" + }, + { + "name": "icon-twitter-x", + "file": "x.svg" + } + ], "umbraco": [ { "name": "icon-umbraco", diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-azure.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-azure.js new file mode 100644 index 0000000000..c12ff1b97a --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-azure.js @@ -0,0 +1 @@ +export default `Microsoft Azure`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-facebook.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-facebook.js new file mode 100644 index 0000000000..d3cd4e5675 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-facebook.js @@ -0,0 +1 @@ +export default `Facebook`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-gitbook.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-gitbook.js new file mode 100644 index 0000000000..3cad1567e6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-gitbook.js @@ -0,0 +1 @@ +export default `GitBook`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-github.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-github.js new file mode 100644 index 0000000000..e7308eddeb --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-github.js @@ -0,0 +1 @@ +export default `GitHub`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-gitlab.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-gitlab.js new file mode 100644 index 0000000000..8ef7e658bd --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-gitlab.js @@ -0,0 +1 @@ +export default `GitLab`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-google.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-google.js new file mode 100644 index 0000000000..4e6e37bca7 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-google.js @@ -0,0 +1 @@ +export default `Google`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-linkedin.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-linkedin.js new file mode 100644 index 0000000000..1fb9aeb48b --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-linkedin.js @@ -0,0 +1 @@ +export default `LinkedIn`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-mastodon.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-mastodon.js new file mode 100644 index 0000000000..40c5f92c70 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-mastodon.js @@ -0,0 +1 @@ +export default `Mastodon`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-microsoft.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-microsoft.js new file mode 100644 index 0000000000..48d6ba0e9a --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-microsoft.js @@ -0,0 +1 @@ +export default `Microsoft`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter-x.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter-x.js new file mode 100644 index 0000000000..34ab0e67f8 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter-x.js @@ -0,0 +1 @@ +export default `X`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter.js new file mode 100644 index 0000000000..5e4a5c4737 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter.js @@ -0,0 +1 @@ +export default `Twitter`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icons.json b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icons.json index 5cb738864a..da2d594374 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icons.json +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icons.json @@ -1 +1 @@ -[{"name":"icon-activity","path":"./icons/icon-activity.js"},{"name":"icon-add","path":"./icons/icon-add.js"},{"name":"icon-addressbook","path":"./icons/icon-addressbook.js"},{"name":"icon-alarm-clock","path":"./icons/icon-alarm-clock.js"},{"name":"icon-alert-alt","path":"./icons/icon-alert-alt.js"},{"name":"icon-alert","path":"./icons/icon-alert.js"},{"name":"icon-alt","path":"./icons/icon-alt.js"},{"name":"icon-anchor","path":"./icons/icon-anchor.js"},{"name":"icon-app","path":"./icons/icon-app.js"},{"name":"icon-application-window-alt","path":"./icons/icon-application-window-alt.js"},{"name":"icon-application-window","path":"./icons/icon-application-window.js"},{"name":"icon-arrivals","path":"./icons/icon-arrivals.js"},{"name":"icon-arrow-down","path":"./icons/icon-arrow-down.js"},{"name":"icon-arrow-left","path":"./icons/icon-arrow-left.js"},{"name":"icon-arrow-right","path":"./icons/icon-arrow-right.js"},{"name":"icon-arrow-up","path":"./icons/icon-arrow-up.js"},{"name":"icon-attachment","path":"./icons/icon-attachment.js"},{"name":"icon-autofill","path":"./icons/icon-autofill.js"},{"name":"icon-award","path":"./icons/icon-award.js"},{"name":"icon-axis-rotation-2","path":"./icons/icon-axis-rotation-2.js"},{"name":"icon-axis-rotation-3","path":"./icons/icon-axis-rotation-3.js"},{"name":"icon-axis-rotation","path":"./icons/icon-axis-rotation.js"},{"name":"icon-backspace","path":"./icons/icon-backspace.js"},{"name":"icon-badge-add","path":"./icons/icon-badge-add.js"},{"name":"icon-badge-remove","path":"./icons/icon-badge-remove.js"},{"name":"icon-badge-restricted","legacy":true,"path":"./icons/icon-badge-restricted.js"},{"name":"icon-bar-chart","path":"./icons/icon-bar-chart.js"},{"name":"icon-barcode","path":"./icons/icon-barcode.js"},{"name":"icon-bars","path":"./icons/icon-bars.js"},{"name":"icon-battery-full","path":"./icons/icon-battery-full.js"},{"name":"icon-battery-low","path":"./icons/icon-battery-low.js"},{"name":"icon-beer-glass","path":"./icons/icon-beer-glass.js"},{"name":"icon-bell-off","path":"./icons/icon-bell-off.js"},{"name":"icon-bell","path":"./icons/icon-bell.js"},{"name":"icon-binarycode","path":"./icons/icon-binarycode.js"},{"name":"icon-bird","path":"./icons/icon-bird.js"},{"name":"icon-birthday-cake","path":"./icons/icon-birthday-cake.js"},{"name":"icon-block","path":"./icons/icon-block.js"},{"name":"icon-bluetooth","path":"./icons/icon-bluetooth.js"},{"name":"icon-boat-shipping","path":"./icons/icon-boat-shipping.js"},{"name":"icon-bones","path":"./icons/icon-bones.js"},{"name":"icon-book-alt-2","path":"./icons/icon-book-alt-2.js"},{"name":"icon-book-alt","path":"./icons/icon-book-alt.js"},{"name":"icon-book","path":"./icons/icon-book.js"},{"name":"icon-bookmark","path":"./icons/icon-bookmark.js"},{"name":"icon-books","path":"./icons/icon-books.js"},{"name":"icon-box-alt","path":"./icons/icon-box-alt.js"},{"name":"icon-box-open","path":"./icons/icon-box-open.js"},{"name":"icon-box","path":"./icons/icon-box.js"},{"name":"icon-brackets","path":"./icons/icon-brackets.js"},{"name":"icon-brick","path":"./icons/icon-brick.js"},{"name":"icon-briefcase","path":"./icons/icon-briefcase.js"},{"name":"icon-browser-window","path":"./icons/icon-browser-window.js"},{"name":"icon-brush-alt-2","path":"./icons/icon-brush-alt-2.js"},{"name":"icon-brush-alt","path":"./icons/icon-brush-alt.js"},{"name":"icon-brush","path":"./icons/icon-brush.js"},{"name":"icon-bug","path":"./icons/icon-bug.js"},{"name":"icon-bulleted-list","path":"./icons/icon-bulleted-list.js"},{"name":"icon-burn","path":"./icons/icon-burn.js"},{"name":"icon-bus","path":"./icons/icon-bus.js"},{"name":"icon-calculator","path":"./icons/icon-calculator.js"},{"name":"icon-calendar-alt","path":"./icons/icon-calendar-alt.js"},{"name":"icon-calendar","path":"./icons/icon-calendar.js"},{"name":"icon-camcorder","legacy":true,"path":"./icons/icon-camcorder.js"},{"name":"icon-camera-roll","path":"./icons/icon-camera-roll.js"},{"name":"icon-candy","path":"./icons/icon-candy.js"},{"name":"icon-caps-lock","path":"./icons/icon-caps-lock.js"},{"name":"icon-car","path":"./icons/icon-car.js"},{"name":"icon-categories","path":"./icons/icon-categories.js"},{"name":"icon-certificate","path":"./icons/icon-certificate.js"},{"name":"icon-chart-curve","path":"./icons/icon-chart-curve.js"},{"name":"icon-chart","path":"./icons/icon-chart.js"},{"name":"icon-chat-active","legacy":true,"path":"./icons/icon-chat-active.js"},{"name":"icon-chat","path":"./icons/icon-chat.js"},{"name":"icon-check","path":"./icons/icon-check.js"},{"name":"icon-checkbox-dotted","path":"./icons/icon-checkbox-dotted.js"},{"name":"icon-checkbox-empty","legacy":true,"path":"./icons/icon-checkbox-empty.js"},{"name":"icon-checkbox","path":"./icons/icon-checkbox.js"},{"name":"icon-chip-alt","legacy":true,"path":"./icons/icon-chip-alt.js"},{"name":"icon-chip","path":"./icons/icon-chip.js"},{"name":"icon-cinema","path":"./icons/icon-cinema.js"},{"name":"icon-circle-dotted-active","path":"./icons/icon-circle-dotted-active.js"},{"name":"icon-circle-dotted","path":"./icons/icon-circle-dotted.js"},{"name":"icon-circuits","path":"./icons/icon-circuits.js"},{"name":"icon-client","legacy":true,"path":"./icons/icon-client.js"},{"name":"icon-cloud-drive","path":"./icons/icon-cloud-drive.js"},{"name":"icon-cloud-upload","path":"./icons/icon-cloud-upload.js"},{"name":"icon-cloud","path":"./icons/icon-cloud.js"},{"name":"icon-cloudy","path":"./icons/icon-cloudy.js"},{"name":"icon-clubs","path":"./icons/icon-clubs.js"},{"name":"icon-cocktail","path":"./icons/icon-cocktail.js"},{"name":"icon-code","path":"./icons/icon-code.js"},{"name":"icon-coffee","path":"./icons/icon-coffee.js"},{"name":"icon-coin-euro","path":"./icons/icon-coin-euro.js"},{"name":"icon-coin-yen","path":"./icons/icon-coin-yen.js"},{"name":"icon-coins-alt","legacy":true,"path":"./icons/icon-coins-alt.js"},{"name":"icon-coins","path":"./icons/icon-coins.js"},{"name":"icon-color-bucket","path":"./icons/icon-color-bucket.js"},{"name":"icon-colorpicker","path":"./icons/icon-colorpicker.js"},{"name":"icon-columns","path":"./icons/icon-columns.js"},{"name":"icon-combination-lock-open","path":"./icons/icon-combination-lock-open.js"},{"name":"icon-combination-lock","path":"./icons/icon-combination-lock.js"},{"name":"icon-command","path":"./icons/icon-command.js"},{"name":"icon-company","path":"./icons/icon-company.js"},{"name":"icon-compress","path":"./icons/icon-compress.js"},{"name":"icon-connection","path":"./icons/icon-connection.js"},{"name":"icon-console","path":"./icons/icon-console.js"},{"name":"icon-contrast","path":"./icons/icon-contrast.js"},{"name":"icon-conversation-alt","path":"./icons/icon-conversation-alt.js"},{"name":"icon-conversation","legacy":true,"path":"./icons/icon-conversation.js"},{"name":"icon-coverflow","path":"./icons/icon-coverflow.js"},{"name":"icon-credit-card-alt","legacy":true,"path":"./icons/icon-credit-card-alt.js"},{"name":"icon-credit-card","path":"./icons/icon-credit-card.js"},{"name":"icon-crop","path":"./icons/icon-crop.js"},{"name":"icon-crosshair","path":"./icons/icon-crosshair.js"},{"name":"icon-crown-alt","legacy":true,"path":"./icons/icon-crown-alt.js"},{"name":"icon-crown","path":"./icons/icon-crown.js"},{"name":"icon-cupcake","legacy":true,"path":"./icons/icon-cupcake.js"},{"name":"icon-curve","path":"./icons/icon-curve.js"},{"name":"icon-cut","path":"./icons/icon-cut.js"},{"name":"icon-dashboard","path":"./icons/icon-dashboard.js"},{"name":"icon-defrag","path":"./icons/icon-defrag.js"},{"name":"icon-delete-key","path":"./icons/icon-delete-key.js"},{"name":"icon-delete","path":"./icons/icon-delete.js"},{"name":"icon-departure","path":"./icons/icon-departure.js"},{"name":"icon-desktop","legacy":true,"path":"./icons/icon-desktop.js"},{"name":"icon-diagnostics","path":"./icons/icon-diagnostics.js"},{"name":"icon-diagonal-arrow-alt","path":"./icons/icon-diagonal-arrow-alt.js"},{"name":"icon-diagonal-arrow","path":"./icons/icon-diagonal-arrow.js"},{"name":"icon-diamond","path":"./icons/icon-diamond.js"},{"name":"icon-diamonds","path":"./icons/icon-diamonds.js"},{"name":"icon-dice","path":"./icons/icon-dice.js"},{"name":"icon-diploma-alt","legacy":true,"path":"./icons/icon-diploma-alt.js"},{"name":"icon-diploma","path":"./icons/icon-diploma.js"},{"name":"icon-directions-alt","path":"./icons/icon-directions-alt.js"},{"name":"icon-directions","path":"./icons/icon-directions.js"},{"name":"icon-disc","path":"./icons/icon-disc.js"},{"name":"icon-disk-image","path":"./icons/icon-disk-image.js"},{"name":"icon-display","path":"./icons/icon-display.js"},{"name":"icon-dna","path":"./icons/icon-dna.js"},{"name":"icon-dock-connector","path":"./icons/icon-dock-connector.js"},{"name":"icon-document-dashed-line","path":"./icons/icon-document-dashed-line.js"},{"name":"icon-document","path":"./icons/icon-document.js"},{"name":"icon-documents","path":"./icons/icon-documents.js"},{"name":"icon-donate","legacy":true,"path":"./icons/icon-donate.js"},{"name":"icon-door-open-alt","legacy":true,"path":"./icons/icon-door-open-alt.js"},{"name":"icon-door-open","path":"./icons/icon-door-open.js"},{"name":"icon-download-alt","path":"./icons/icon-download-alt.js"},{"name":"icon-download","path":"./icons/icon-download.js"},{"name":"icon-drop","path":"./icons/icon-drop.js"},{"name":"icon-eco","path":"./icons/icon-eco.js"},{"name":"icon-economy","legacy":true,"path":"./icons/icon-economy.js"},{"name":"icon-edit","path":"./icons/icon-edit.js"},{"name":"icon-employee","legacy":true,"path":"./icons/icon-employee.js"},{"name":"icon-energy-saving-bulb","path":"./icons/icon-energy-saving-bulb.js"},{"name":"icon-enter","path":"./icons/icon-enter.js"},{"name":"icon-equalizer","path":"./icons/icon-equalizer.js"},{"name":"icon-escape","path":"./icons/icon-escape.js"},{"name":"icon-ethernet","path":"./icons/icon-ethernet.js"},{"name":"icon-eye","path":"./icons/icon-eye.js"},{"name":"icon-facebook-like","path":"./icons/icon-facebook-like.js"},{"name":"icon-factory","path":"./icons/icon-factory.js"},{"name":"icon-favorite","path":"./icons/icon-favorite.js"},{"name":"icon-file-cabinet","path":"./icons/icon-file-cabinet.js"},{"name":"icon-files","path":"./icons/icon-files.js"},{"name":"icon-filter","path":"./icons/icon-filter.js"},{"name":"icon-fingerprint","path":"./icons/icon-fingerprint.js"},{"name":"icon-fire","path":"./icons/icon-fire.js"},{"name":"icon-firewire","legacy":true,"path":"./icons/icon-firewire.js"},{"name":"icon-flag-alt","path":"./icons/icon-flag-alt.js"},{"name":"icon-flag","path":"./icons/icon-flag.js"},{"name":"icon-flash","path":"./icons/icon-flash.js"},{"name":"icon-flashlight","path":"./icons/icon-flashlight.js"},{"name":"icon-flowerpot","path":"./icons/icon-flowerpot.js"},{"name":"icon-folder","path":"./icons/icon-folder.js"},{"name":"icon-folders","path":"./icons/icon-folders.js"},{"name":"icon-font","path":"./icons/icon-font.js"},{"name":"icon-food","path":"./icons/icon-food.js"},{"name":"icon-footprints","path":"./icons/icon-footprints.js"},{"name":"icon-forking","path":"./icons/icon-forking.js"},{"name":"icon-frame-alt","legacy":true,"path":"./icons/icon-frame-alt.js"},{"name":"icon-frame","path":"./icons/icon-frame.js"},{"name":"icon-fullscreen-alt","path":"./icons/icon-fullscreen-alt.js"},{"name":"icon-fullscreen","path":"./icons/icon-fullscreen.js"},{"name":"icon-game","path":"./icons/icon-game.js"},{"name":"icon-geometry","legacy":true,"path":"./icons/icon-geometry.js"},{"name":"icon-gift","path":"./icons/icon-gift.js"},{"name":"icon-glasses","path":"./icons/icon-glasses.js"},{"name":"icon-globe-alt","path":"./icons/icon-globe-alt.js"},{"name":"icon-globe-asia","legacy":true,"path":"./icons/icon-globe-asia.js"},{"name":"icon-globe-europe-africa","legacy":true,"path":"./icons/icon-globe-europe-africa.js"},{"name":"icon-globe-inverted-america","legacy":true,"path":"./icons/icon-globe-inverted-america.js"},{"name":"icon-globe-inverted-asia","legacy":true,"path":"./icons/icon-globe-inverted-asia.js"},{"name":"icon-globe-inverted-europe-africa","legacy":true,"path":"./icons/icon-globe-inverted-europe-africa.js"},{"name":"icon-globe","path":"./icons/icon-globe.js"},{"name":"icon-gps","path":"./icons/icon-gps.js"},{"name":"icon-graduate","path":"./icons/icon-graduate.js"},{"name":"icon-grid","path":"./icons/icon-grid.js"},{"name":"icon-hammer","path":"./icons/icon-hammer.js"},{"name":"icon-hand-active-alt","legacy":true,"path":"./icons/icon-hand-active-alt.js"},{"name":"icon-hand-active","path":"./icons/icon-hand-active.js"},{"name":"icon-hand-pointer-alt","legacy":true,"path":"./icons/icon-hand-pointer-alt.js"},{"name":"icon-hand-pointer","path":"./icons/icon-hand-pointer.js"},{"name":"icon-handshake","path":"./icons/icon-handshake.js"},{"name":"icon-handtool-alt","legacy":true,"path":"./icons/icon-handtool-alt.js"},{"name":"icon-handtool","path":"./icons/icon-handtool.js"},{"name":"icon-hard-drive-alt","legacy":true,"path":"./icons/icon-hard-drive-alt.js"},{"name":"icon-hard-drive","legacy":true,"path":"./icons/icon-hard-drive.js"},{"name":"icon-headphones","path":"./icons/icon-headphones.js"},{"name":"icon-headset","legacy":true,"path":"./icons/icon-headset.js"},{"name":"icon-hearts","path":"./icons/icon-hearts.js"},{"name":"icon-height","path":"./icons/icon-height.js"},{"name":"icon-help-alt","path":"./icons/icon-help-alt.js"},{"name":"icon-help","path":"./icons/icon-help.js"},{"name":"icon-home","path":"./icons/icon-home.js"},{"name":"icon-hourglass","path":"./icons/icon-hourglass.js"},{"name":"icon-imac","legacy":true,"path":"./icons/icon-imac.js"},{"name":"icon-inbox-full","legacy":true,"path":"./icons/icon-inbox-full.js"},{"name":"icon-inbox","path":"./icons/icon-inbox.js"},{"name":"icon-indent","path":"./icons/icon-indent.js"},{"name":"icon-infinity","path":"./icons/icon-infinity.js"},{"name":"icon-info","path":"./icons/icon-info.js"},{"name":"icon-invoice","legacy":true,"path":"./icons/icon-invoice.js"},{"name":"icon-ipad","legacy":true,"path":"./icons/icon-ipad.js"},{"name":"icon-iphone","legacy":true,"path":"./icons/icon-iphone.js"},{"name":"icon-item-arrangement","legacy":true,"path":"./icons/icon-item-arrangement.js"},{"name":"icon-junk","path":"./icons/icon-junk.js"},{"name":"icon-key","path":"./icons/icon-key.js"},{"name":"icon-keyboard","path":"./icons/icon-keyboard.js"},{"name":"icon-lab","path":"./icons/icon-lab.js"},{"name":"icon-laptop","path":"./icons/icon-laptop.js"},{"name":"icon-layers-alt","legacy":true,"path":"./icons/icon-layers-alt.js"},{"name":"icon-layers","path":"./icons/icon-layers.js"},{"name":"icon-layout","path":"./icons/icon-layout.js"},{"name":"icon-left-double-arrow","path":"./icons/icon-left-double-arrow.js"},{"name":"icon-legal","path":"./icons/icon-legal.js"},{"name":"icon-lense","legacy":true,"path":"./icons/icon-lense.js"},{"name":"icon-library","path":"./icons/icon-library.js"},{"name":"icon-light-down","path":"./icons/icon-light-down.js"},{"name":"icon-light-up","path":"./icons/icon-light-up.js"},{"name":"icon-lightning","path":"./icons/icon-lightning.js"},{"name":"icon-link","path":"./icons/icon-link.js"},{"name":"icon-list","path":"./icons/icon-list.js"},{"name":"icon-load","legacy":true,"path":"./icons/icon-load.js"},{"name":"icon-loading","legacy":true,"path":"./icons/icon-loading.js"},{"name":"icon-location-nearby","path":"./icons/icon-location-nearby.js"},{"name":"icon-lock","path":"./icons/icon-lock.js"},{"name":"icon-log-out","path":"./icons/icon-log-out.js"},{"name":"icon-logout","legacy":true,"path":"./icons/icon-logout.js"},{"name":"icon-loupe","legacy":true,"path":"./icons/icon-loupe.js"},{"name":"icon-magnet","path":"./icons/icon-magnet.js"},{"name":"icon-mailbox","path":"./icons/icon-mailbox.js"},{"name":"icon-map-alt","path":"./icons/icon-map-alt.js"},{"name":"icon-map-location","legacy":true,"path":"./icons/icon-map-location.js"},{"name":"icon-map-marker","path":"./icons/icon-map-marker.js"},{"name":"icon-map","path":"./icons/icon-map.js"},{"name":"icon-medal","path":"./icons/icon-medal.js"},{"name":"icon-medical-emergency","path":"./icons/icon-medical-emergency.js"},{"name":"icon-medicine","path":"./icons/icon-medicine.js"},{"name":"icon-meeting","legacy":true,"path":"./icons/icon-meeting.js"},{"name":"icon-megaphone","path":"./icons/icon-megaphone.js"},{"name":"icon-merge","path":"./icons/icon-merge.js"},{"name":"icon-message-open","path":"./icons/icon-message-open.js"},{"name":"icon-message-unopened","legacy":true,"path":"./icons/icon-message-unopened.js"},{"name":"icon-message","path":"./icons/icon-message.js"},{"name":"icon-microscope","path":"./icons/icon-microscope.js"},{"name":"icon-mindmap","legacy":true,"path":"./icons/icon-mindmap.js"},{"name":"icon-mobile","path":"./icons/icon-mobile.js"},{"name":"icon-mountain","path":"./icons/icon-mountain.js"},{"name":"icon-mouse-cursor","path":"./icons/icon-mouse-cursor.js"},{"name":"icon-mouse","path":"./icons/icon-mouse.js"},{"name":"icon-movie-alt","path":"./icons/icon-movie-alt.js"},{"name":"icon-movie","path":"./icons/icon-movie.js"},{"name":"icon-multiple-credit-cards","path":"./icons/icon-multiple-credit-cards.js"},{"name":"icon-music","path":"./icons/icon-music.js"},{"name":"icon-name-badge","legacy":true,"path":"./icons/icon-name-badge.js"},{"name":"icon-navigation-bottom","legacy":true,"path":"./icons/icon-navigation-bottom.js"},{"name":"icon-navigation-down","legacy":true,"path":"./icons/icon-navigation-down.js"},{"name":"icon-navigation-first","legacy":true,"path":"./icons/icon-navigation-first.js"},{"name":"icon-navigation-horizontal","legacy":true,"path":"./icons/icon-navigation-horizontal.js"},{"name":"icon-navigation-last","legacy":true,"path":"./icons/icon-navigation-last.js"},{"name":"icon-navigation-left","legacy":true,"path":"./icons/icon-navigation-left.js"},{"name":"icon-navigation-right","legacy":true,"path":"./icons/icon-navigation-right.js"},{"name":"icon-navigation-road","legacy":true,"path":"./icons/icon-navigation-road.js"},{"name":"icon-navigation-up","legacy":true,"path":"./icons/icon-navigation-up.js"},{"name":"icon-navigation-vertical","legacy":true,"path":"./icons/icon-navigation-vertical.js"},{"name":"icon-navigation","legacy":true,"path":"./icons/icon-navigation.js"},{"name":"icon-navigational-arrow","path":"./icons/icon-navigational-arrow.js"},{"name":"icon-network-alt","path":"./icons/icon-network-alt.js"},{"name":"icon-newspaper-alt","legacy":true,"path":"./icons/icon-newspaper-alt.js"},{"name":"icon-newspaper","path":"./icons/icon-newspaper.js"},{"name":"icon-next-media","legacy":true,"path":"./icons/icon-next-media.js"},{"name":"icon-next","legacy":true,"path":"./icons/icon-next.js"},{"name":"icon-nodes","legacy":true,"path":"./icons/icon-nodes.js"},{"name":"icon-notepad-alt","legacy":true,"path":"./icons/icon-notepad-alt.js"},{"name":"icon-notepad","path":"./icons/icon-notepad.js"},{"name":"icon-old-key","path":"./icons/icon-old-key.js"},{"name":"icon-old-phone","legacy":true,"path":"./icons/icon-old-phone.js"},{"name":"icon-operator","path":"./icons/icon-operator.js"},{"name":"icon-ordered-list","path":"./icons/icon-ordered-list.js"},{"name":"icon-out","path":"./icons/icon-out.js"},{"name":"icon-outbox","legacy":true,"path":"./icons/icon-outbox.js"},{"name":"icon-outdent","path":"./icons/icon-outdent.js"},{"name":"icon-page-add","path":"./icons/icon-page-add.js"},{"name":"icon-page-down","path":"./icons/icon-page-down.js"},{"name":"icon-page-remove","path":"./icons/icon-page-remove.js"},{"name":"icon-page-restricted","path":"./icons/icon-page-restricted.js"},{"name":"icon-page-up","path":"./icons/icon-page-up.js"},{"name":"icon-paint-roller","legacy":true,"path":"./icons/icon-paint-roller.js"},{"name":"icon-palette","path":"./icons/icon-palette.js"},{"name":"icon-panel-show","path":"./icons/icon-panel-show.js"},{"name":"icon-pannel-close","path":"./icons/icon-pannel-close.js"},{"name":"icon-paper-bag","legacy":true,"path":"./icons/icon-paper-bag.js"},{"name":"icon-paper-plane-alt","path":"./icons/icon-paper-plane-alt.js"},{"name":"icon-paper-plane","path":"./icons/icon-paper-plane.js"},{"name":"icon-partly-cloudy","path":"./icons/icon-partly-cloudy.js"},{"name":"icon-paste-in","legacy":true,"path":"./icons/icon-paste-in.js"},{"name":"icon-pause","path":"./icons/icon-pause.js"},{"name":"icon-pc","legacy":true,"path":"./icons/icon-pc.js"},{"name":"icon-people-alt-2","legacy":true,"path":"./icons/icon-people-alt-2.js"},{"name":"icon-people-alt","legacy":true,"path":"./icons/icon-people-alt.js"},{"name":"icon-people-female","legacy":true,"path":"./icons/icon-people-female.js"},{"name":"icon-people","path":"./icons/icon-people.js"},{"name":"icon-phone-ring","path":"./icons/icon-phone-ring.js"},{"name":"icon-phone","path":"./icons/icon-phone.js"},{"name":"icon-photo-album","path":"./icons/icon-photo-album.js"},{"name":"icon-picture","path":"./icons/icon-picture.js"},{"name":"icon-pictures-alt-2","path":"./icons/icon-pictures-alt-2.js"},{"name":"icon-pictures-alt","legacy":true,"path":"./icons/icon-pictures-alt.js"},{"name":"icon-pictures","path":"./icons/icon-pictures.js"},{"name":"icon-pie-chart","path":"./icons/icon-pie-chart.js"},{"name":"icon-piggy-bank","path":"./icons/icon-piggy-bank.js"},{"name":"icon-pin-location","path":"./icons/icon-pin-location.js"},{"name":"icon-plane","path":"./icons/icon-plane.js"},{"name":"icon-planet","legacy":true,"path":"./icons/icon-planet.js"},{"name":"icon-play","path":"./icons/icon-play.js"},{"name":"icon-playing-cards","legacy":true,"path":"./icons/icon-playing-cards.js"},{"name":"icon-playlist","path":"./icons/icon-playlist.js"},{"name":"icon-plugin","path":"./icons/icon-plugin.js"},{"name":"icon-podcast","path":"./icons/icon-podcast.js"},{"name":"icon-poll","legacy":true,"path":"./icons/icon-poll.js"},{"name":"icon-post-it","path":"./icons/icon-post-it.js"},{"name":"icon-power-outlet","legacy":true,"path":"./icons/icon-power-outlet.js"},{"name":"icon-power","path":"./icons/icon-power.js"},{"name":"icon-presentation","path":"./icons/icon-presentation.js"},{"name":"icon-previous-media","path":"./icons/icon-previous-media.js"},{"name":"icon-previous","path":"./icons/icon-previous.js"},{"name":"icon-price-dollar","legacy":true,"path":"./icons/icon-price-dollar.js"},{"name":"icon-price-euro","legacy":true,"path":"./icons/icon-price-euro.js"},{"name":"icon-price-pound","legacy":true,"path":"./icons/icon-price-pound.js"},{"name":"icon-print","path":"./icons/icon-print.js"},{"name":"icon-printer-alt","legacy":true,"path":"./icons/icon-printer-alt.js"},{"name":"icon-projector","path":"./icons/icon-projector.js"},{"name":"icon-pulse","path":"./icons/icon-pulse.js"},{"name":"icon-pushpin","path":"./icons/icon-pushpin.js"},{"name":"icon-qr-code","path":"./icons/icon-qr-code.js"},{"name":"icon-quote","path":"./icons/icon-quote.js"},{"name":"icon-radio-alt","path":"./icons/icon-radio-alt.js"},{"name":"icon-radio-receiver","path":"./icons/icon-radio-receiver.js"},{"name":"icon-radio","path":"./icons/icon-radio.js"},{"name":"icon-rain","path":"./icons/icon-rain.js"},{"name":"icon-rate","legacy":true,"path":"./icons/icon-rate.js"},{"name":"icon-re-post","path":"./icons/icon-re-post.js"},{"name":"icon-readonly","legacy":true,"path":"./icons/icon-readonly.js"},{"name":"icon-receipt-alt","path":"./icons/icon-receipt-alt.js"},{"name":"icon-reception","path":"./icons/icon-reception.js"},{"name":"icon-record","legacy":true,"path":"./icons/icon-record.js"},{"name":"icon-redo","path":"./icons/icon-redo.js"},{"name":"icon-refresh","path":"./icons/icon-refresh.js"},{"name":"icon-remote","legacy":true,"path":"./icons/icon-remote.js"},{"name":"icon-remove","path":"./icons/icon-remove.js"},{"name":"icon-repeat-one","path":"./icons/icon-repeat-one.js"},{"name":"icon-repeat","path":"./icons/icon-repeat.js"},{"name":"icon-reply-arrow","path":"./icons/icon-reply-arrow.js"},{"name":"icon-return-to-top","legacy":true,"path":"./icons/icon-return-to-top.js"},{"name":"icon-right-double-arrow","legacy":true,"path":"./icons/icon-right-double-arrow.js"},{"name":"icon-roadsign","legacy":true,"path":"./icons/icon-roadsign.js"},{"name":"icon-rocket","path":"./icons/icon-rocket.js"},{"name":"icon-rss","path":"./icons/icon-rss.js"},{"name":"icon-ruler-alt","path":"./icons/icon-ruler-alt.js"},{"name":"icon-ruler","path":"./icons/icon-ruler.js"},{"name":"icon-satellite-dish","path":"./icons/icon-satellite-dish.js"},{"name":"icon-save","path":"./icons/icon-save.js"},{"name":"icon-scan","path":"./icons/icon-scan.js"},{"name":"icon-school","path":"./icons/icon-school.js"},{"name":"icon-screensharing","path":"./icons/icon-screensharing.js"},{"name":"icon-script-alt","legacy":true,"path":"./icons/icon-script-alt.js"},{"name":"icon-script","path":"./icons/icon-script.js"},{"name":"icon-scull","path":"./icons/icon-scull.js"},{"name":"icon-search","path":"./icons/icon-search.js"},{"name":"icon-sensor","path":"./icons/icon-sensor.js"},{"name":"icon-server-alt","legacy":true,"path":"./icons/icon-server-alt.js"},{"name":"icon-server","path":"./icons/icon-server.js"},{"name":"icon-settings-alt","legacy":true,"path":"./icons/icon-settings-alt.js"},{"name":"icon-settings","path":"./icons/icon-settings.js"},{"name":"icon-share-alt","path":"./icons/icon-share-alt.js"},{"name":"icon-share","path":"./icons/icon-share.js"},{"name":"icon-sharing-iphone","path":"./icons/icon-sharing-iphone.js"},{"name":"icon-shield","path":"./icons/icon-shield.js"},{"name":"icon-shift","path":"./icons/icon-shift.js"},{"name":"icon-shipping-box","path":"./icons/icon-shipping-box.js"},{"name":"icon-shipping","path":"./icons/icon-shipping.js"},{"name":"icon-shoe","path":"./icons/icon-shoe.js"},{"name":"icon-shopping-basket-alt-2","legacy":true,"path":"./icons/icon-shopping-basket-alt-2.js"},{"name":"icon-shopping-basket-alt","path":"./icons/icon-shopping-basket-alt.js"},{"name":"icon-shopping-basket","path":"./icons/icon-shopping-basket.js"},{"name":"icon-shuffle","path":"./icons/icon-shuffle.js"},{"name":"icon-sience","path":"./icons/icon-sience.js"},{"name":"icon-single-note","path":"./icons/icon-single-note.js"},{"name":"icon-sitemap","legacy":true,"path":"./icons/icon-sitemap.js"},{"name":"icon-sleep","path":"./icons/icon-sleep.js"},{"name":"icon-slideshow","legacy":true,"path":"./icons/icon-slideshow.js"},{"name":"icon-smiley-inverted","legacy":true,"path":"./icons/icon-smiley-inverted.js"},{"name":"icon-smiley","path":"./icons/icon-smiley.js"},{"name":"icon-snow","path":"./icons/icon-snow.js"},{"name":"icon-sound-low","path":"./icons/icon-sound-low.js"},{"name":"icon-sound-medium","legacy":true,"path":"./icons/icon-sound-medium.js"},{"name":"icon-sound-off","path":"./icons/icon-sound-off.js"},{"name":"icon-sound-waves","path":"./icons/icon-sound-waves.js"},{"name":"icon-sound","path":"./icons/icon-sound.js"},{"name":"icon-spades","path":"./icons/icon-spades.js"},{"name":"icon-speaker","path":"./icons/icon-speaker.js"},{"name":"icon-speed-gauge","path":"./icons/icon-speed-gauge.js"},{"name":"icon-split","path":"./icons/icon-split.js"},{"name":"icon-sprout","path":"./icons/icon-sprout.js"},{"name":"icon-squiggly-line","legacy":true,"path":"./icons/icon-squiggly-line.js"},{"name":"icon-ssd","legacy":true,"path":"./icons/icon-ssd.js"},{"name":"icon-stacked-disks","legacy":true,"path":"./icons/icon-stacked-disks.js"},{"name":"icon-stamp","legacy":true,"path":"./icons/icon-stamp.js"},{"name":"icon-stop-alt","path":"./icons/icon-stop-alt.js"},{"name":"icon-stop-hand","legacy":true,"path":"./icons/icon-stop-hand.js"},{"name":"icon-stop","path":"./icons/icon-stop.js"},{"name":"icon-store","path":"./icons/icon-store.js"},{"name":"icon-stream","legacy":true,"path":"./icons/icon-stream.js"},{"name":"icon-sunny","path":"./icons/icon-sunny.js"},{"name":"icon-sweatshirt","legacy":true,"path":"./icons/icon-sweatshirt.js"},{"name":"icon-sync","path":"./icons/icon-sync.js"},{"name":"icon-t-shirt","path":"./icons/icon-t-shirt.js"},{"name":"icon-tab-key","path":"./icons/icon-tab-key.js"},{"name":"icon-tag","path":"./icons/icon-tag.js"},{"name":"icon-tags","path":"./icons/icon-tags.js"},{"name":"icon-takeaway-cup","legacy":true,"path":"./icons/icon-takeaway-cup.js"},{"name":"icon-target","path":"./icons/icon-target.js"},{"name":"icon-temperatrure-alt","path":"./icons/icon-temperatrure-alt.js"},{"name":"icon-temperature","path":"./icons/icon-temperature.js"},{"name":"icon-terminal","path":"./icons/icon-terminal.js"},{"name":"icon-theater","path":"./icons/icon-theater.js"},{"name":"icon-thumb-down","path":"./icons/icon-thumb-down.js"},{"name":"icon-thumb-up","path":"./icons/icon-thumb-up.js"},{"name":"icon-thumbnail-list","path":"./icons/icon-thumbnail-list.js"},{"name":"icon-thumbnails-small","path":"./icons/icon-thumbnails-small.js"},{"name":"icon-thumbnails","path":"./icons/icon-thumbnails.js"},{"name":"icon-ticket","path":"./icons/icon-ticket.js"},{"name":"icon-time","path":"./icons/icon-time.js"},{"name":"icon-timer","path":"./icons/icon-timer.js"},{"name":"icon-tools","legacy":true,"path":"./icons/icon-tools.js"},{"name":"icon-top","legacy":true,"path":"./icons/icon-top.js"},{"name":"icon-traffic-alt","legacy":true,"path":"./icons/icon-traffic-alt.js"},{"name":"icon-trafic","path":"./icons/icon-trafic.js"},{"name":"icon-train","path":"./icons/icon-train.js"},{"name":"icon-trash-alt-2","legacy":true,"path":"./icons/icon-trash-alt-2.js"},{"name":"icon-trash-alt","legacy":true,"path":"./icons/icon-trash-alt.js"},{"name":"icon-trash","path":"./icons/icon-trash.js"},{"name":"icon-tree","path":"./icons/icon-tree.js"},{"name":"icon-trophy","path":"./icons/icon-trophy.js"},{"name":"icon-truck","path":"./icons/icon-truck.js"},{"name":"icon-tv-old","path":"./icons/icon-tv-old.js"},{"name":"icon-tv","path":"./icons/icon-tv.js"},{"name":"icon-umb-content","legacy":true,"path":"./icons/icon-umb-content.js"},{"name":"icon-umb-developer","legacy":true,"path":"./icons/icon-umb-developer.js"},{"name":"icon-umb-media","legacy":true,"path":"./icons/icon-umb-media.js"},{"name":"icon-umb-settings","legacy":true,"path":"./icons/icon-umb-settings.js"},{"name":"icon-umb-users","legacy":true,"path":"./icons/icon-umb-users.js"},{"name":"icon-umbrella","path":"./icons/icon-umbrella.js"},{"name":"icon-undo","path":"./icons/icon-undo.js"},{"name":"icon-unlocked","path":"./icons/icon-unlocked.js"},{"name":"icon-untitled","legacy":true,"path":"./icons/icon-untitled.js"},{"name":"icon-usb-connector","legacy":true,"path":"./icons/icon-usb-connector.js"},{"name":"icon-usb","path":"./icons/icon-usb.js"},{"name":"icon-user-female","legacy":true,"path":"./icons/icon-user-female.js"},{"name":"icon-user-females-alt","legacy":true,"path":"./icons/icon-user-females-alt.js"},{"name":"icon-user-females","legacy":true,"path":"./icons/icon-user-females.js"},{"name":"icon-user-glasses","legacy":true,"path":"./icons/icon-user-glasses.js"},{"name":"icon-user","path":"./icons/icon-user.js"},{"name":"icon-users-alt","legacy":true,"path":"./icons/icon-users-alt.js"},{"name":"icon-users","path":"./icons/icon-users.js"},{"name":"icon-utilities","path":"./icons/icon-utilities.js"},{"name":"icon-vcard","path":"./icons/icon-vcard.js"},{"name":"icon-video","path":"./icons/icon-video.js"},{"name":"icon-voice","path":"./icons/icon-voice.js"},{"name":"icon-wall-plug","path":"./icons/icon-wall-plug.js"},{"name":"icon-wallet","path":"./icons/icon-wallet.js"},{"name":"icon-wand","path":"./icons/icon-wand.js"},{"name":"icon-webhook","path":"./icons/icon-webhook.js"},{"name":"icon-weight","path":"./icons/icon-weight.js"},{"name":"icon-width","path":"./icons/icon-width.js"},{"name":"icon-wifi","path":"./icons/icon-wifi.js"},{"name":"icon-window-popin","path":"./icons/icon-window-popin.js"},{"name":"icon-window-sizes","path":"./icons/icon-window-sizes.js"},{"name":"icon-wine-glass","path":"./icons/icon-wine-glass.js"},{"name":"icon-wrench","path":"./icons/icon-wrench.js"},{"name":"icon-wrong","path":"./icons/icon-wrong.js"},{"name":"icon-zip","path":"./icons/icon-zip.js"},{"name":"icon-zom-out","legacy":true,"path":"./icons/icon-zom-out.js"},{"name":"icon-zoom-in","path":"./icons/icon-zoom-in.js"},{"name":"icon-zoom-out","path":"./icons/icon-zoom-out.js"},{"name":"icon-star","path":"./icons/icon-star.js"},{"name":"icon-database","path":"./icons/icon-database.js"},{"name":"icon-umbraco","path":"./icons/icon-umbraco.js"},{"name":"icon-application-error","legacy":true,"path":"./icons/icon-application-error.js"},{"name":"icon-art-easel","legacy":true,"path":"./icons/icon-art-easel.js"},{"name":"icon-article","legacy":true,"path":"./icons/icon-article.js"},{"name":"icon-auction-hammer","legacy":true,"path":"./icons/icon-auction-hammer.js"},{"name":"icon-baby-stroller","legacy":true,"path":"./icons/icon-baby-stroller.js"},{"name":"icon-badge-count","legacy":true,"path":"./icons/icon-badge-count.js"},{"name":"icon-ball","legacy":true,"path":"./icons/icon-ball.js"},{"name":"icon-band-aid","legacy":true,"path":"./icons/icon-band-aid.js"},{"name":"icon-bill-dollar","legacy":true,"path":"./icons/icon-bill-dollar.js"},{"name":"icon-bill-euro","legacy":true,"path":"./icons/icon-bill-euro.js"},{"name":"icon-bill-pound","legacy":true,"path":"./icons/icon-bill-pound.js"},{"name":"icon-bill-yen","legacy":true,"path":"./icons/icon-bill-yen.js"},{"name":"icon-bill","legacy":true,"path":"./icons/icon-bill.js"},{"name":"icon-billboard","legacy":true,"path":"./icons/icon-billboard.js"},{"name":"icon-bills-dollar","legacy":true,"path":"./icons/icon-bills-dollar.js"},{"name":"icon-bills-euro","legacy":true,"path":"./icons/icon-bills-euro.js"},{"name":"icon-bills-pound","legacy":true,"path":"./icons/icon-bills-pound.js"},{"name":"icon-bills-yen","legacy":true,"path":"./icons/icon-bills-yen.js"},{"name":"icon-bills","legacy":true,"path":"./icons/icon-bills.js"},{"name":"icon-binoculars","legacy":true,"path":"./icons/icon-binoculars.js"},{"name":"icon-blueprint","legacy":true,"path":"./icons/icon-blueprint.js"},{"name":"icon-bomb","legacy":true,"path":"./icons/icon-bomb.js"},{"name":"icon-cash-register","legacy":true,"path":"./icons/icon-cash-register.js"},{"name":"icon-checkbox-dotted-active","legacy":true,"path":"./icons/icon-checkbox-dotted-active.js"},{"name":"icon-chess","legacy":true,"path":"./icons/icon-chess.js"},{"name":"icon-circus","legacy":true,"path":"./icons/icon-circus.js"},{"name":"icon-clothes-hanger","legacy":true,"path":"./icons/icon-clothes-hanger.js"},{"name":"icon-coin-dollar","legacy":true,"path":"./icons/icon-coin-dollar.js"},{"name":"icon-coin-pound","legacy":true,"path":"./icons/icon-coin-pound.js"},{"name":"icon-coin","legacy":true,"path":"./icons/icon-coin.js"},{"name":"icon-coins-dollar-alt","legacy":true,"path":"./icons/icon-coins-dollar-alt.js"},{"name":"icon-coins-dollar","legacy":true,"path":"./icons/icon-coins-dollar.js"},{"name":"icon-coins-euro-alt","legacy":true,"path":"./icons/icon-coins-euro-alt.js"},{"name":"icon-coins-euro","legacy":true,"path":"./icons/icon-coins-euro.js"},{"name":"icon-coins-pound-alt","legacy":true,"path":"./icons/icon-coins-pound-alt.js"},{"name":"icon-coins-pound","legacy":true,"path":"./icons/icon-coins-pound.js"},{"name":"icon-coins-yen-alt","legacy":true,"path":"./icons/icon-coins-yen-alt.js"},{"name":"icon-coins-yen","legacy":true,"path":"./icons/icon-coins-yen.js"},{"name":"icon-comb","legacy":true,"path":"./icons/icon-comb.js"},{"name":"icon-desk","legacy":true,"path":"./icons/icon-desk.js"},{"name":"icon-dollar-bag","legacy":true,"path":"./icons/icon-dollar-bag.js"},{"name":"icon-eject","legacy":true,"path":"./icons/icon-eject.js"},{"name":"icon-euro-bag","legacy":true,"path":"./icons/icon-euro-bag.js"},{"name":"icon-exit-fullscreen","legacy":true,"path":"./icons/icon-exit-fullscreen.js"},{"name":"icon-female-symbol","legacy":true,"path":"./icons/icon-female-symbol.js"},{"name":"icon-filter-arrows","legacy":true,"path":"./icons/icon-filter-arrows.js"},{"name":"icon-firewall","legacy":true,"path":"./icons/icon-firewall.js"},{"name":"icon-folder-open","legacy":true,"path":"./icons/icon-folder-open.js"},{"name":"icon-folder-outline","legacy":true,"path":"./icons/icon-folder-outline.js"},{"name":"icon-handprint","legacy":true,"path":"./icons/icon-handprint.js"},{"name":"icon-hat","legacy":true,"path":"./icons/icon-hat.js"},{"name":"icon-hd","legacy":true,"path":"./icons/icon-hd.js"},{"name":"icon-inactive-line","legacy":true,"path":"./icons/icon-inactive-line.js"},{"name":"icon-keychain","legacy":true,"path":"./icons/icon-keychain.js"},{"name":"icon-keyhole","legacy":true,"path":"./icons/icon-keyhole.js"},{"name":"icon-lightbulb-active","legacy":true,"path":"./icons/icon-lightbulb-active.js"},{"name":"icon-lightbulb","legacy":true,"path":"./icons/icon-lightbulb.js"},{"name":"icon-linux-tux","legacy":true,"path":"./icons/icon-linux-tux.js"},{"name":"icon-locate","legacy":true,"path":"./icons/icon-locate.js"},{"name":"icon-location-near-me","legacy":true,"path":"./icons/icon-location-near-me.js"},{"name":"icon-male-and-female","legacy":true,"path":"./icons/icon-male-and-female.js"},{"name":"icon-male-symbol","legacy":true,"path":"./icons/icon-male-symbol.js"},{"name":"icon-molecular-network","legacy":true,"path":"./icons/icon-molecular-network.js"},{"name":"icon-molecular","legacy":true,"path":"./icons/icon-molecular.js"},{"name":"icon-multiple-windows","legacy":true,"path":"./icons/icon-multiple-windows.js"},{"name":"icon-navigation-top","legacy":true,"path":"./icons/icon-navigation-top.js"},{"name":"icon-os-x","legacy":true,"path":"./icons/icon-os-x.js"},{"name":"icon-pants","legacy":true,"path":"./icons/icon-pants.js"},{"name":"icon-parachute-drop","legacy":true,"path":"./icons/icon-parachute-drop.js"},{"name":"icon-parental-control","legacy":true,"path":"./icons/icon-parental-control.js"},{"name":"icon-path","legacy":true,"path":"./icons/icon-path.js"},{"name":"icon-piracy","legacy":true,"path":"./icons/icon-piracy.js"},{"name":"icon-poker-chip","legacy":true,"path":"./icons/icon-poker-chip.js"},{"name":"icon-pound-bag","legacy":true,"path":"./icons/icon-pound-bag.js"},{"name":"icon-price-yen","legacy":true,"path":"./icons/icon-price-yen.js"},{"name":"icon-receipt-dollar","legacy":true,"path":"./icons/icon-receipt-dollar.js"},{"name":"icon-receipt-euro","legacy":true,"path":"./icons/icon-receipt-euro.js"},{"name":"icon-receipt-pound","legacy":true,"path":"./icons/icon-receipt-pound.js"},{"name":"icon-receipt-yen","legacy":true,"path":"./icons/icon-receipt-yen.js"},{"name":"icon-resize","legacy":true,"path":"./icons/icon-resize.js"},{"name":"icon-road","legacy":true,"path":"./icons/icon-road.js"},{"name":"icon-safe","legacy":true,"path":"./icons/icon-safe.js"},{"name":"icon-safedial","legacy":true,"path":"./icons/icon-safedial.js"},{"name":"icon-sandbox-toys","legacy":true,"path":"./icons/icon-sandbox-toys.js"},{"name":"icon-security-camera","legacy":true,"path":"./icons/icon-security-camera.js"},{"name":"icon-settings-alt-2","legacy":true,"path":"./icons/icon-settings-alt-2.js"},{"name":"icon-share-alt-2","legacy":true,"path":"./icons/icon-share-alt-2.js"},{"name":"icon-shorts","legacy":true,"path":"./icons/icon-shorts.js"},{"name":"icon-simcard","legacy":true,"path":"./icons/icon-simcard.js"},{"name":"icon-split-alt","legacy":true,"path":"./icons/icon-split-alt.js"},{"name":"icon-tab","legacy":true,"path":"./icons/icon-tab.js"},{"name":"icon-tactics","legacy":true,"path":"./icons/icon-tactics.js"},{"name":"icon-theif","legacy":true,"path":"./icons/icon-theif.js"},{"name":"icon-thought-bubble","legacy":true,"path":"./icons/icon-thought-bubble.js"},{"name":"icon-umb-contour","legacy":true,"path":"./icons/icon-umb-contour.js"},{"name":"icon-umb-deploy","legacy":true,"path":"./icons/icon-umb-deploy.js"},{"name":"icon-umb-members","legacy":true,"path":"./icons/icon-umb-members.js"},{"name":"icon-universal","legacy":true,"path":"./icons/icon-universal.js"},{"name":"icon-war","legacy":true,"path":"./icons/icon-war.js"},{"name":"icon-windows","legacy":true,"path":"./icons/icon-windows.js"},{"name":"icon-yen-bag","legacy":true,"path":"./icons/icon-yen-bag.js"}] \ No newline at end of file +[{"name":"icon-activity","path":"./icons/icon-activity.js"},{"name":"icon-add","path":"./icons/icon-add.js"},{"name":"icon-addressbook","path":"./icons/icon-addressbook.js"},{"name":"icon-alarm-clock","path":"./icons/icon-alarm-clock.js"},{"name":"icon-alert-alt","path":"./icons/icon-alert-alt.js"},{"name":"icon-alert","path":"./icons/icon-alert.js"},{"name":"icon-alt","path":"./icons/icon-alt.js"},{"name":"icon-anchor","path":"./icons/icon-anchor.js"},{"name":"icon-app","path":"./icons/icon-app.js"},{"name":"icon-application-window-alt","path":"./icons/icon-application-window-alt.js"},{"name":"icon-application-window","path":"./icons/icon-application-window.js"},{"name":"icon-arrivals","path":"./icons/icon-arrivals.js"},{"name":"icon-arrow-down","path":"./icons/icon-arrow-down.js"},{"name":"icon-arrow-left","path":"./icons/icon-arrow-left.js"},{"name":"icon-arrow-right","path":"./icons/icon-arrow-right.js"},{"name":"icon-arrow-up","path":"./icons/icon-arrow-up.js"},{"name":"icon-attachment","path":"./icons/icon-attachment.js"},{"name":"icon-autofill","path":"./icons/icon-autofill.js"},{"name":"icon-award","path":"./icons/icon-award.js"},{"name":"icon-axis-rotation-2","path":"./icons/icon-axis-rotation-2.js"},{"name":"icon-axis-rotation-3","path":"./icons/icon-axis-rotation-3.js"},{"name":"icon-axis-rotation","path":"./icons/icon-axis-rotation.js"},{"name":"icon-backspace","path":"./icons/icon-backspace.js"},{"name":"icon-badge-add","path":"./icons/icon-badge-add.js"},{"name":"icon-badge-remove","path":"./icons/icon-badge-remove.js"},{"name":"icon-badge-restricted","legacy":true,"path":"./icons/icon-badge-restricted.js"},{"name":"icon-bar-chart","path":"./icons/icon-bar-chart.js"},{"name":"icon-barcode","path":"./icons/icon-barcode.js"},{"name":"icon-bars","path":"./icons/icon-bars.js"},{"name":"icon-battery-full","path":"./icons/icon-battery-full.js"},{"name":"icon-battery-low","path":"./icons/icon-battery-low.js"},{"name":"icon-beer-glass","path":"./icons/icon-beer-glass.js"},{"name":"icon-bell-off","path":"./icons/icon-bell-off.js"},{"name":"icon-bell","path":"./icons/icon-bell.js"},{"name":"icon-binarycode","path":"./icons/icon-binarycode.js"},{"name":"icon-bird","path":"./icons/icon-bird.js"},{"name":"icon-birthday-cake","path":"./icons/icon-birthday-cake.js"},{"name":"icon-block","path":"./icons/icon-block.js"},{"name":"icon-bluetooth","path":"./icons/icon-bluetooth.js"},{"name":"icon-boat-shipping","path":"./icons/icon-boat-shipping.js"},{"name":"icon-bones","path":"./icons/icon-bones.js"},{"name":"icon-book-alt-2","path":"./icons/icon-book-alt-2.js"},{"name":"icon-book-alt","path":"./icons/icon-book-alt.js"},{"name":"icon-book","path":"./icons/icon-book.js"},{"name":"icon-bookmark","path":"./icons/icon-bookmark.js"},{"name":"icon-books","path":"./icons/icon-books.js"},{"name":"icon-box-alt","path":"./icons/icon-box-alt.js"},{"name":"icon-box-open","path":"./icons/icon-box-open.js"},{"name":"icon-box","path":"./icons/icon-box.js"},{"name":"icon-brackets","path":"./icons/icon-brackets.js"},{"name":"icon-brick","path":"./icons/icon-brick.js"},{"name":"icon-briefcase","path":"./icons/icon-briefcase.js"},{"name":"icon-browser-window","path":"./icons/icon-browser-window.js"},{"name":"icon-brush-alt-2","path":"./icons/icon-brush-alt-2.js"},{"name":"icon-brush-alt","path":"./icons/icon-brush-alt.js"},{"name":"icon-brush","path":"./icons/icon-brush.js"},{"name":"icon-bug","path":"./icons/icon-bug.js"},{"name":"icon-bulleted-list","path":"./icons/icon-bulleted-list.js"},{"name":"icon-burn","path":"./icons/icon-burn.js"},{"name":"icon-bus","path":"./icons/icon-bus.js"},{"name":"icon-calculator","path":"./icons/icon-calculator.js"},{"name":"icon-calendar-alt","path":"./icons/icon-calendar-alt.js"},{"name":"icon-calendar","path":"./icons/icon-calendar.js"},{"name":"icon-camcorder","legacy":true,"path":"./icons/icon-camcorder.js"},{"name":"icon-camera-roll","path":"./icons/icon-camera-roll.js"},{"name":"icon-candy","path":"./icons/icon-candy.js"},{"name":"icon-caps-lock","path":"./icons/icon-caps-lock.js"},{"name":"icon-car","path":"./icons/icon-car.js"},{"name":"icon-categories","path":"./icons/icon-categories.js"},{"name":"icon-certificate","path":"./icons/icon-certificate.js"},{"name":"icon-chart-curve","path":"./icons/icon-chart-curve.js"},{"name":"icon-chart","path":"./icons/icon-chart.js"},{"name":"icon-chat-active","legacy":true,"path":"./icons/icon-chat-active.js"},{"name":"icon-chat","path":"./icons/icon-chat.js"},{"name":"icon-check","path":"./icons/icon-check.js"},{"name":"icon-checkbox-dotted","path":"./icons/icon-checkbox-dotted.js"},{"name":"icon-checkbox-empty","legacy":true,"path":"./icons/icon-checkbox-empty.js"},{"name":"icon-checkbox","path":"./icons/icon-checkbox.js"},{"name":"icon-chip-alt","legacy":true,"path":"./icons/icon-chip-alt.js"},{"name":"icon-chip","path":"./icons/icon-chip.js"},{"name":"icon-cinema","path":"./icons/icon-cinema.js"},{"name":"icon-circle-dotted-active","path":"./icons/icon-circle-dotted-active.js"},{"name":"icon-circle-dotted","path":"./icons/icon-circle-dotted.js"},{"name":"icon-circuits","path":"./icons/icon-circuits.js"},{"name":"icon-client","legacy":true,"path":"./icons/icon-client.js"},{"name":"icon-cloud-drive","path":"./icons/icon-cloud-drive.js"},{"name":"icon-cloud-upload","path":"./icons/icon-cloud-upload.js"},{"name":"icon-cloud","path":"./icons/icon-cloud.js"},{"name":"icon-cloudy","path":"./icons/icon-cloudy.js"},{"name":"icon-clubs","path":"./icons/icon-clubs.js"},{"name":"icon-cocktail","path":"./icons/icon-cocktail.js"},{"name":"icon-code","path":"./icons/icon-code.js"},{"name":"icon-coffee","path":"./icons/icon-coffee.js"},{"name":"icon-coin-euro","path":"./icons/icon-coin-euro.js"},{"name":"icon-coin-yen","path":"./icons/icon-coin-yen.js"},{"name":"icon-coins-alt","legacy":true,"path":"./icons/icon-coins-alt.js"},{"name":"icon-coins","path":"./icons/icon-coins.js"},{"name":"icon-color-bucket","path":"./icons/icon-color-bucket.js"},{"name":"icon-colorpicker","path":"./icons/icon-colorpicker.js"},{"name":"icon-columns","path":"./icons/icon-columns.js"},{"name":"icon-combination-lock-open","path":"./icons/icon-combination-lock-open.js"},{"name":"icon-combination-lock","path":"./icons/icon-combination-lock.js"},{"name":"icon-command","path":"./icons/icon-command.js"},{"name":"icon-company","path":"./icons/icon-company.js"},{"name":"icon-compress","path":"./icons/icon-compress.js"},{"name":"icon-connection","path":"./icons/icon-connection.js"},{"name":"icon-console","path":"./icons/icon-console.js"},{"name":"icon-contrast","path":"./icons/icon-contrast.js"},{"name":"icon-conversation-alt","path":"./icons/icon-conversation-alt.js"},{"name":"icon-conversation","legacy":true,"path":"./icons/icon-conversation.js"},{"name":"icon-coverflow","path":"./icons/icon-coverflow.js"},{"name":"icon-credit-card-alt","legacy":true,"path":"./icons/icon-credit-card-alt.js"},{"name":"icon-credit-card","path":"./icons/icon-credit-card.js"},{"name":"icon-crop","path":"./icons/icon-crop.js"},{"name":"icon-crosshair","path":"./icons/icon-crosshair.js"},{"name":"icon-crown-alt","legacy":true,"path":"./icons/icon-crown-alt.js"},{"name":"icon-crown","path":"./icons/icon-crown.js"},{"name":"icon-cupcake","legacy":true,"path":"./icons/icon-cupcake.js"},{"name":"icon-curve","path":"./icons/icon-curve.js"},{"name":"icon-cut","path":"./icons/icon-cut.js"},{"name":"icon-dashboard","path":"./icons/icon-dashboard.js"},{"name":"icon-defrag","path":"./icons/icon-defrag.js"},{"name":"icon-delete-key","path":"./icons/icon-delete-key.js"},{"name":"icon-delete","path":"./icons/icon-delete.js"},{"name":"icon-departure","path":"./icons/icon-departure.js"},{"name":"icon-desktop","legacy":true,"path":"./icons/icon-desktop.js"},{"name":"icon-diagnostics","path":"./icons/icon-diagnostics.js"},{"name":"icon-diagonal-arrow-alt","path":"./icons/icon-diagonal-arrow-alt.js"},{"name":"icon-diagonal-arrow","path":"./icons/icon-diagonal-arrow.js"},{"name":"icon-diamond","path":"./icons/icon-diamond.js"},{"name":"icon-diamonds","path":"./icons/icon-diamonds.js"},{"name":"icon-dice","path":"./icons/icon-dice.js"},{"name":"icon-diploma-alt","legacy":true,"path":"./icons/icon-diploma-alt.js"},{"name":"icon-diploma","path":"./icons/icon-diploma.js"},{"name":"icon-directions-alt","path":"./icons/icon-directions-alt.js"},{"name":"icon-directions","path":"./icons/icon-directions.js"},{"name":"icon-disc","path":"./icons/icon-disc.js"},{"name":"icon-disk-image","path":"./icons/icon-disk-image.js"},{"name":"icon-display","path":"./icons/icon-display.js"},{"name":"icon-dna","path":"./icons/icon-dna.js"},{"name":"icon-dock-connector","path":"./icons/icon-dock-connector.js"},{"name":"icon-document-dashed-line","path":"./icons/icon-document-dashed-line.js"},{"name":"icon-document","path":"./icons/icon-document.js"},{"name":"icon-documents","path":"./icons/icon-documents.js"},{"name":"icon-donate","legacy":true,"path":"./icons/icon-donate.js"},{"name":"icon-door-open-alt","legacy":true,"path":"./icons/icon-door-open-alt.js"},{"name":"icon-door-open","path":"./icons/icon-door-open.js"},{"name":"icon-download-alt","path":"./icons/icon-download-alt.js"},{"name":"icon-download","path":"./icons/icon-download.js"},{"name":"icon-drop","path":"./icons/icon-drop.js"},{"name":"icon-eco","path":"./icons/icon-eco.js"},{"name":"icon-economy","legacy":true,"path":"./icons/icon-economy.js"},{"name":"icon-edit","path":"./icons/icon-edit.js"},{"name":"icon-employee","legacy":true,"path":"./icons/icon-employee.js"},{"name":"icon-energy-saving-bulb","path":"./icons/icon-energy-saving-bulb.js"},{"name":"icon-enter","path":"./icons/icon-enter.js"},{"name":"icon-equalizer","path":"./icons/icon-equalizer.js"},{"name":"icon-escape","path":"./icons/icon-escape.js"},{"name":"icon-ethernet","path":"./icons/icon-ethernet.js"},{"name":"icon-eye","path":"./icons/icon-eye.js"},{"name":"icon-facebook-like","path":"./icons/icon-facebook-like.js"},{"name":"icon-factory","path":"./icons/icon-factory.js"},{"name":"icon-favorite","path":"./icons/icon-favorite.js"},{"name":"icon-file-cabinet","path":"./icons/icon-file-cabinet.js"},{"name":"icon-files","path":"./icons/icon-files.js"},{"name":"icon-filter","path":"./icons/icon-filter.js"},{"name":"icon-fingerprint","path":"./icons/icon-fingerprint.js"},{"name":"icon-fire","path":"./icons/icon-fire.js"},{"name":"icon-firewire","legacy":true,"path":"./icons/icon-firewire.js"},{"name":"icon-flag-alt","path":"./icons/icon-flag-alt.js"},{"name":"icon-flag","path":"./icons/icon-flag.js"},{"name":"icon-flash","path":"./icons/icon-flash.js"},{"name":"icon-flashlight","path":"./icons/icon-flashlight.js"},{"name":"icon-flowerpot","path":"./icons/icon-flowerpot.js"},{"name":"icon-folder","path":"./icons/icon-folder.js"},{"name":"icon-folders","path":"./icons/icon-folders.js"},{"name":"icon-font","path":"./icons/icon-font.js"},{"name":"icon-food","path":"./icons/icon-food.js"},{"name":"icon-footprints","path":"./icons/icon-footprints.js"},{"name":"icon-forking","path":"./icons/icon-forking.js"},{"name":"icon-frame-alt","legacy":true,"path":"./icons/icon-frame-alt.js"},{"name":"icon-frame","path":"./icons/icon-frame.js"},{"name":"icon-fullscreen-alt","path":"./icons/icon-fullscreen-alt.js"},{"name":"icon-fullscreen","path":"./icons/icon-fullscreen.js"},{"name":"icon-game","path":"./icons/icon-game.js"},{"name":"icon-geometry","legacy":true,"path":"./icons/icon-geometry.js"},{"name":"icon-gift","path":"./icons/icon-gift.js"},{"name":"icon-glasses","path":"./icons/icon-glasses.js"},{"name":"icon-globe-alt","path":"./icons/icon-globe-alt.js"},{"name":"icon-globe-asia","legacy":true,"path":"./icons/icon-globe-asia.js"},{"name":"icon-globe-europe-africa","legacy":true,"path":"./icons/icon-globe-europe-africa.js"},{"name":"icon-globe-inverted-america","legacy":true,"path":"./icons/icon-globe-inverted-america.js"},{"name":"icon-globe-inverted-asia","legacy":true,"path":"./icons/icon-globe-inverted-asia.js"},{"name":"icon-globe-inverted-europe-africa","legacy":true,"path":"./icons/icon-globe-inverted-europe-africa.js"},{"name":"icon-globe","path":"./icons/icon-globe.js"},{"name":"icon-gps","path":"./icons/icon-gps.js"},{"name":"icon-graduate","path":"./icons/icon-graduate.js"},{"name":"icon-grid","path":"./icons/icon-grid.js"},{"name":"icon-hammer","path":"./icons/icon-hammer.js"},{"name":"icon-hand-active-alt","legacy":true,"path":"./icons/icon-hand-active-alt.js"},{"name":"icon-hand-active","path":"./icons/icon-hand-active.js"},{"name":"icon-hand-pointer-alt","legacy":true,"path":"./icons/icon-hand-pointer-alt.js"},{"name":"icon-hand-pointer","path":"./icons/icon-hand-pointer.js"},{"name":"icon-handshake","path":"./icons/icon-handshake.js"},{"name":"icon-handtool-alt","legacy":true,"path":"./icons/icon-handtool-alt.js"},{"name":"icon-handtool","path":"./icons/icon-handtool.js"},{"name":"icon-hard-drive-alt","legacy":true,"path":"./icons/icon-hard-drive-alt.js"},{"name":"icon-hard-drive","legacy":true,"path":"./icons/icon-hard-drive.js"},{"name":"icon-headphones","path":"./icons/icon-headphones.js"},{"name":"icon-headset","legacy":true,"path":"./icons/icon-headset.js"},{"name":"icon-hearts","path":"./icons/icon-hearts.js"},{"name":"icon-height","path":"./icons/icon-height.js"},{"name":"icon-help-alt","path":"./icons/icon-help-alt.js"},{"name":"icon-help","path":"./icons/icon-help.js"},{"name":"icon-home","path":"./icons/icon-home.js"},{"name":"icon-hourglass","path":"./icons/icon-hourglass.js"},{"name":"icon-imac","legacy":true,"path":"./icons/icon-imac.js"},{"name":"icon-inbox-full","legacy":true,"path":"./icons/icon-inbox-full.js"},{"name":"icon-inbox","path":"./icons/icon-inbox.js"},{"name":"icon-indent","path":"./icons/icon-indent.js"},{"name":"icon-infinity","path":"./icons/icon-infinity.js"},{"name":"icon-info","path":"./icons/icon-info.js"},{"name":"icon-invoice","legacy":true,"path":"./icons/icon-invoice.js"},{"name":"icon-ipad","legacy":true,"path":"./icons/icon-ipad.js"},{"name":"icon-iphone","legacy":true,"path":"./icons/icon-iphone.js"},{"name":"icon-item-arrangement","legacy":true,"path":"./icons/icon-item-arrangement.js"},{"name":"icon-junk","path":"./icons/icon-junk.js"},{"name":"icon-key","path":"./icons/icon-key.js"},{"name":"icon-keyboard","path":"./icons/icon-keyboard.js"},{"name":"icon-lab","path":"./icons/icon-lab.js"},{"name":"icon-laptop","path":"./icons/icon-laptop.js"},{"name":"icon-layers-alt","legacy":true,"path":"./icons/icon-layers-alt.js"},{"name":"icon-layers","path":"./icons/icon-layers.js"},{"name":"icon-layout","path":"./icons/icon-layout.js"},{"name":"icon-left-double-arrow","path":"./icons/icon-left-double-arrow.js"},{"name":"icon-legal","path":"./icons/icon-legal.js"},{"name":"icon-lense","legacy":true,"path":"./icons/icon-lense.js"},{"name":"icon-library","path":"./icons/icon-library.js"},{"name":"icon-light-down","path":"./icons/icon-light-down.js"},{"name":"icon-light-up","path":"./icons/icon-light-up.js"},{"name":"icon-lightning","path":"./icons/icon-lightning.js"},{"name":"icon-link","path":"./icons/icon-link.js"},{"name":"icon-list","path":"./icons/icon-list.js"},{"name":"icon-load","legacy":true,"path":"./icons/icon-load.js"},{"name":"icon-loading","legacy":true,"path":"./icons/icon-loading.js"},{"name":"icon-location-nearby","path":"./icons/icon-location-nearby.js"},{"name":"icon-lock","path":"./icons/icon-lock.js"},{"name":"icon-log-out","path":"./icons/icon-log-out.js"},{"name":"icon-logout","legacy":true,"path":"./icons/icon-logout.js"},{"name":"icon-loupe","legacy":true,"path":"./icons/icon-loupe.js"},{"name":"icon-magnet","path":"./icons/icon-magnet.js"},{"name":"icon-mailbox","path":"./icons/icon-mailbox.js"},{"name":"icon-map-alt","path":"./icons/icon-map-alt.js"},{"name":"icon-map-location","legacy":true,"path":"./icons/icon-map-location.js"},{"name":"icon-map-marker","path":"./icons/icon-map-marker.js"},{"name":"icon-map","path":"./icons/icon-map.js"},{"name":"icon-medal","path":"./icons/icon-medal.js"},{"name":"icon-medical-emergency","path":"./icons/icon-medical-emergency.js"},{"name":"icon-medicine","path":"./icons/icon-medicine.js"},{"name":"icon-meeting","legacy":true,"path":"./icons/icon-meeting.js"},{"name":"icon-megaphone","path":"./icons/icon-megaphone.js"},{"name":"icon-merge","path":"./icons/icon-merge.js"},{"name":"icon-message-open","path":"./icons/icon-message-open.js"},{"name":"icon-message-unopened","legacy":true,"path":"./icons/icon-message-unopened.js"},{"name":"icon-message","path":"./icons/icon-message.js"},{"name":"icon-microscope","path":"./icons/icon-microscope.js"},{"name":"icon-mindmap","legacy":true,"path":"./icons/icon-mindmap.js"},{"name":"icon-mobile","path":"./icons/icon-mobile.js"},{"name":"icon-mountain","path":"./icons/icon-mountain.js"},{"name":"icon-mouse-cursor","path":"./icons/icon-mouse-cursor.js"},{"name":"icon-mouse","path":"./icons/icon-mouse.js"},{"name":"icon-movie-alt","path":"./icons/icon-movie-alt.js"},{"name":"icon-movie","path":"./icons/icon-movie.js"},{"name":"icon-multiple-credit-cards","path":"./icons/icon-multiple-credit-cards.js"},{"name":"icon-music","path":"./icons/icon-music.js"},{"name":"icon-name-badge","legacy":true,"path":"./icons/icon-name-badge.js"},{"name":"icon-navigation-bottom","legacy":true,"path":"./icons/icon-navigation-bottom.js"},{"name":"icon-navigation-down","legacy":true,"path":"./icons/icon-navigation-down.js"},{"name":"icon-navigation-first","legacy":true,"path":"./icons/icon-navigation-first.js"},{"name":"icon-navigation-horizontal","legacy":true,"path":"./icons/icon-navigation-horizontal.js"},{"name":"icon-navigation-last","legacy":true,"path":"./icons/icon-navigation-last.js"},{"name":"icon-navigation-left","legacy":true,"path":"./icons/icon-navigation-left.js"},{"name":"icon-navigation-right","legacy":true,"path":"./icons/icon-navigation-right.js"},{"name":"icon-navigation-road","legacy":true,"path":"./icons/icon-navigation-road.js"},{"name":"icon-navigation-up","legacy":true,"path":"./icons/icon-navigation-up.js"},{"name":"icon-navigation-vertical","legacy":true,"path":"./icons/icon-navigation-vertical.js"},{"name":"icon-navigation","legacy":true,"path":"./icons/icon-navigation.js"},{"name":"icon-navigational-arrow","path":"./icons/icon-navigational-arrow.js"},{"name":"icon-network-alt","path":"./icons/icon-network-alt.js"},{"name":"icon-newspaper-alt","legacy":true,"path":"./icons/icon-newspaper-alt.js"},{"name":"icon-newspaper","path":"./icons/icon-newspaper.js"},{"name":"icon-next-media","legacy":true,"path":"./icons/icon-next-media.js"},{"name":"icon-next","legacy":true,"path":"./icons/icon-next.js"},{"name":"icon-nodes","legacy":true,"path":"./icons/icon-nodes.js"},{"name":"icon-notepad-alt","legacy":true,"path":"./icons/icon-notepad-alt.js"},{"name":"icon-notepad","path":"./icons/icon-notepad.js"},{"name":"icon-old-key","path":"./icons/icon-old-key.js"},{"name":"icon-old-phone","legacy":true,"path":"./icons/icon-old-phone.js"},{"name":"icon-operator","path":"./icons/icon-operator.js"},{"name":"icon-ordered-list","path":"./icons/icon-ordered-list.js"},{"name":"icon-out","path":"./icons/icon-out.js"},{"name":"icon-outbox","legacy":true,"path":"./icons/icon-outbox.js"},{"name":"icon-outdent","path":"./icons/icon-outdent.js"},{"name":"icon-page-add","path":"./icons/icon-page-add.js"},{"name":"icon-page-down","path":"./icons/icon-page-down.js"},{"name":"icon-page-remove","path":"./icons/icon-page-remove.js"},{"name":"icon-page-restricted","path":"./icons/icon-page-restricted.js"},{"name":"icon-page-up","path":"./icons/icon-page-up.js"},{"name":"icon-paint-roller","legacy":true,"path":"./icons/icon-paint-roller.js"},{"name":"icon-palette","path":"./icons/icon-palette.js"},{"name":"icon-panel-show","path":"./icons/icon-panel-show.js"},{"name":"icon-pannel-close","path":"./icons/icon-pannel-close.js"},{"name":"icon-paper-bag","legacy":true,"path":"./icons/icon-paper-bag.js"},{"name":"icon-paper-plane-alt","path":"./icons/icon-paper-plane-alt.js"},{"name":"icon-paper-plane","path":"./icons/icon-paper-plane.js"},{"name":"icon-partly-cloudy","path":"./icons/icon-partly-cloudy.js"},{"name":"icon-paste-in","legacy":true,"path":"./icons/icon-paste-in.js"},{"name":"icon-pause","path":"./icons/icon-pause.js"},{"name":"icon-pc","legacy":true,"path":"./icons/icon-pc.js"},{"name":"icon-people-alt-2","legacy":true,"path":"./icons/icon-people-alt-2.js"},{"name":"icon-people-alt","legacy":true,"path":"./icons/icon-people-alt.js"},{"name":"icon-people-female","legacy":true,"path":"./icons/icon-people-female.js"},{"name":"icon-people","path":"./icons/icon-people.js"},{"name":"icon-phone-ring","path":"./icons/icon-phone-ring.js"},{"name":"icon-phone","path":"./icons/icon-phone.js"},{"name":"icon-photo-album","path":"./icons/icon-photo-album.js"},{"name":"icon-picture","path":"./icons/icon-picture.js"},{"name":"icon-pictures-alt-2","path":"./icons/icon-pictures-alt-2.js"},{"name":"icon-pictures-alt","legacy":true,"path":"./icons/icon-pictures-alt.js"},{"name":"icon-pictures","path":"./icons/icon-pictures.js"},{"name":"icon-pie-chart","path":"./icons/icon-pie-chart.js"},{"name":"icon-piggy-bank","path":"./icons/icon-piggy-bank.js"},{"name":"icon-pin-location","path":"./icons/icon-pin-location.js"},{"name":"icon-plane","path":"./icons/icon-plane.js"},{"name":"icon-planet","legacy":true,"path":"./icons/icon-planet.js"},{"name":"icon-play","path":"./icons/icon-play.js"},{"name":"icon-playing-cards","legacy":true,"path":"./icons/icon-playing-cards.js"},{"name":"icon-playlist","path":"./icons/icon-playlist.js"},{"name":"icon-plugin","path":"./icons/icon-plugin.js"},{"name":"icon-podcast","path":"./icons/icon-podcast.js"},{"name":"icon-poll","legacy":true,"path":"./icons/icon-poll.js"},{"name":"icon-post-it","path":"./icons/icon-post-it.js"},{"name":"icon-power-outlet","legacy":true,"path":"./icons/icon-power-outlet.js"},{"name":"icon-power","path":"./icons/icon-power.js"},{"name":"icon-presentation","path":"./icons/icon-presentation.js"},{"name":"icon-previous-media","path":"./icons/icon-previous-media.js"},{"name":"icon-previous","path":"./icons/icon-previous.js"},{"name":"icon-price-dollar","legacy":true,"path":"./icons/icon-price-dollar.js"},{"name":"icon-price-euro","legacy":true,"path":"./icons/icon-price-euro.js"},{"name":"icon-price-pound","legacy":true,"path":"./icons/icon-price-pound.js"},{"name":"icon-print","path":"./icons/icon-print.js"},{"name":"icon-printer-alt","legacy":true,"path":"./icons/icon-printer-alt.js"},{"name":"icon-projector","path":"./icons/icon-projector.js"},{"name":"icon-pulse","path":"./icons/icon-pulse.js"},{"name":"icon-pushpin","path":"./icons/icon-pushpin.js"},{"name":"icon-qr-code","path":"./icons/icon-qr-code.js"},{"name":"icon-quote","path":"./icons/icon-quote.js"},{"name":"icon-radio-alt","path":"./icons/icon-radio-alt.js"},{"name":"icon-radio-receiver","path":"./icons/icon-radio-receiver.js"},{"name":"icon-radio","path":"./icons/icon-radio.js"},{"name":"icon-rain","path":"./icons/icon-rain.js"},{"name":"icon-rate","legacy":true,"path":"./icons/icon-rate.js"},{"name":"icon-re-post","path":"./icons/icon-re-post.js"},{"name":"icon-readonly","legacy":true,"path":"./icons/icon-readonly.js"},{"name":"icon-receipt-alt","path":"./icons/icon-receipt-alt.js"},{"name":"icon-reception","path":"./icons/icon-reception.js"},{"name":"icon-record","legacy":true,"path":"./icons/icon-record.js"},{"name":"icon-redo","path":"./icons/icon-redo.js"},{"name":"icon-refresh","path":"./icons/icon-refresh.js"},{"name":"icon-remote","legacy":true,"path":"./icons/icon-remote.js"},{"name":"icon-remove","path":"./icons/icon-remove.js"},{"name":"icon-repeat-one","path":"./icons/icon-repeat-one.js"},{"name":"icon-repeat","path":"./icons/icon-repeat.js"},{"name":"icon-reply-arrow","path":"./icons/icon-reply-arrow.js"},{"name":"icon-return-to-top","legacy":true,"path":"./icons/icon-return-to-top.js"},{"name":"icon-right-double-arrow","legacy":true,"path":"./icons/icon-right-double-arrow.js"},{"name":"icon-roadsign","legacy":true,"path":"./icons/icon-roadsign.js"},{"name":"icon-rocket","path":"./icons/icon-rocket.js"},{"name":"icon-rss","path":"./icons/icon-rss.js"},{"name":"icon-ruler-alt","path":"./icons/icon-ruler-alt.js"},{"name":"icon-ruler","path":"./icons/icon-ruler.js"},{"name":"icon-satellite-dish","path":"./icons/icon-satellite-dish.js"},{"name":"icon-save","path":"./icons/icon-save.js"},{"name":"icon-scan","path":"./icons/icon-scan.js"},{"name":"icon-school","path":"./icons/icon-school.js"},{"name":"icon-screensharing","path":"./icons/icon-screensharing.js"},{"name":"icon-script-alt","legacy":true,"path":"./icons/icon-script-alt.js"},{"name":"icon-script","path":"./icons/icon-script.js"},{"name":"icon-scull","path":"./icons/icon-scull.js"},{"name":"icon-search","path":"./icons/icon-search.js"},{"name":"icon-sensor","path":"./icons/icon-sensor.js"},{"name":"icon-server-alt","legacy":true,"path":"./icons/icon-server-alt.js"},{"name":"icon-server","path":"./icons/icon-server.js"},{"name":"icon-settings-alt","legacy":true,"path":"./icons/icon-settings-alt.js"},{"name":"icon-settings","path":"./icons/icon-settings.js"},{"name":"icon-share-alt","path":"./icons/icon-share-alt.js"},{"name":"icon-share","path":"./icons/icon-share.js"},{"name":"icon-sharing-iphone","path":"./icons/icon-sharing-iphone.js"},{"name":"icon-shield","path":"./icons/icon-shield.js"},{"name":"icon-shift","path":"./icons/icon-shift.js"},{"name":"icon-shipping-box","path":"./icons/icon-shipping-box.js"},{"name":"icon-shipping","path":"./icons/icon-shipping.js"},{"name":"icon-shoe","path":"./icons/icon-shoe.js"},{"name":"icon-shopping-basket-alt-2","legacy":true,"path":"./icons/icon-shopping-basket-alt-2.js"},{"name":"icon-shopping-basket-alt","path":"./icons/icon-shopping-basket-alt.js"},{"name":"icon-shopping-basket","path":"./icons/icon-shopping-basket.js"},{"name":"icon-shuffle","path":"./icons/icon-shuffle.js"},{"name":"icon-sience","path":"./icons/icon-sience.js"},{"name":"icon-single-note","path":"./icons/icon-single-note.js"},{"name":"icon-sitemap","legacy":true,"path":"./icons/icon-sitemap.js"},{"name":"icon-sleep","path":"./icons/icon-sleep.js"},{"name":"icon-slideshow","legacy":true,"path":"./icons/icon-slideshow.js"},{"name":"icon-smiley-inverted","legacy":true,"path":"./icons/icon-smiley-inverted.js"},{"name":"icon-smiley","path":"./icons/icon-smiley.js"},{"name":"icon-snow","path":"./icons/icon-snow.js"},{"name":"icon-sound-low","path":"./icons/icon-sound-low.js"},{"name":"icon-sound-medium","legacy":true,"path":"./icons/icon-sound-medium.js"},{"name":"icon-sound-off","path":"./icons/icon-sound-off.js"},{"name":"icon-sound-waves","path":"./icons/icon-sound-waves.js"},{"name":"icon-sound","path":"./icons/icon-sound.js"},{"name":"icon-spades","path":"./icons/icon-spades.js"},{"name":"icon-speaker","path":"./icons/icon-speaker.js"},{"name":"icon-speed-gauge","path":"./icons/icon-speed-gauge.js"},{"name":"icon-split","path":"./icons/icon-split.js"},{"name":"icon-sprout","path":"./icons/icon-sprout.js"},{"name":"icon-squiggly-line","legacy":true,"path":"./icons/icon-squiggly-line.js"},{"name":"icon-ssd","legacy":true,"path":"./icons/icon-ssd.js"},{"name":"icon-stacked-disks","legacy":true,"path":"./icons/icon-stacked-disks.js"},{"name":"icon-stamp","legacy":true,"path":"./icons/icon-stamp.js"},{"name":"icon-stop-alt","path":"./icons/icon-stop-alt.js"},{"name":"icon-stop-hand","legacy":true,"path":"./icons/icon-stop-hand.js"},{"name":"icon-stop","path":"./icons/icon-stop.js"},{"name":"icon-store","path":"./icons/icon-store.js"},{"name":"icon-stream","legacy":true,"path":"./icons/icon-stream.js"},{"name":"icon-sunny","path":"./icons/icon-sunny.js"},{"name":"icon-sweatshirt","legacy":true,"path":"./icons/icon-sweatshirt.js"},{"name":"icon-sync","path":"./icons/icon-sync.js"},{"name":"icon-t-shirt","path":"./icons/icon-t-shirt.js"},{"name":"icon-tab-key","path":"./icons/icon-tab-key.js"},{"name":"icon-tag","path":"./icons/icon-tag.js"},{"name":"icon-tags","path":"./icons/icon-tags.js"},{"name":"icon-takeaway-cup","legacy":true,"path":"./icons/icon-takeaway-cup.js"},{"name":"icon-target","path":"./icons/icon-target.js"},{"name":"icon-temperatrure-alt","path":"./icons/icon-temperatrure-alt.js"},{"name":"icon-temperature","path":"./icons/icon-temperature.js"},{"name":"icon-terminal","path":"./icons/icon-terminal.js"},{"name":"icon-theater","path":"./icons/icon-theater.js"},{"name":"icon-thumb-down","path":"./icons/icon-thumb-down.js"},{"name":"icon-thumb-up","path":"./icons/icon-thumb-up.js"},{"name":"icon-thumbnail-list","path":"./icons/icon-thumbnail-list.js"},{"name":"icon-thumbnails-small","path":"./icons/icon-thumbnails-small.js"},{"name":"icon-thumbnails","path":"./icons/icon-thumbnails.js"},{"name":"icon-ticket","path":"./icons/icon-ticket.js"},{"name":"icon-time","path":"./icons/icon-time.js"},{"name":"icon-timer","path":"./icons/icon-timer.js"},{"name":"icon-tools","legacy":true,"path":"./icons/icon-tools.js"},{"name":"icon-top","legacy":true,"path":"./icons/icon-top.js"},{"name":"icon-traffic-alt","legacy":true,"path":"./icons/icon-traffic-alt.js"},{"name":"icon-trafic","path":"./icons/icon-trafic.js"},{"name":"icon-train","path":"./icons/icon-train.js"},{"name":"icon-trash-alt-2","legacy":true,"path":"./icons/icon-trash-alt-2.js"},{"name":"icon-trash-alt","legacy":true,"path":"./icons/icon-trash-alt.js"},{"name":"icon-trash","path":"./icons/icon-trash.js"},{"name":"icon-tree","path":"./icons/icon-tree.js"},{"name":"icon-trophy","path":"./icons/icon-trophy.js"},{"name":"icon-truck","path":"./icons/icon-truck.js"},{"name":"icon-tv-old","path":"./icons/icon-tv-old.js"},{"name":"icon-tv","path":"./icons/icon-tv.js"},{"name":"icon-umb-content","legacy":true,"path":"./icons/icon-umb-content.js"},{"name":"icon-umb-developer","legacy":true,"path":"./icons/icon-umb-developer.js"},{"name":"icon-umb-media","legacy":true,"path":"./icons/icon-umb-media.js"},{"name":"icon-umb-settings","legacy":true,"path":"./icons/icon-umb-settings.js"},{"name":"icon-umb-users","legacy":true,"path":"./icons/icon-umb-users.js"},{"name":"icon-umbrella","path":"./icons/icon-umbrella.js"},{"name":"icon-undo","path":"./icons/icon-undo.js"},{"name":"icon-unlocked","path":"./icons/icon-unlocked.js"},{"name":"icon-untitled","legacy":true,"path":"./icons/icon-untitled.js"},{"name":"icon-usb-connector","legacy":true,"path":"./icons/icon-usb-connector.js"},{"name":"icon-usb","path":"./icons/icon-usb.js"},{"name":"icon-user-female","legacy":true,"path":"./icons/icon-user-female.js"},{"name":"icon-user-females-alt","legacy":true,"path":"./icons/icon-user-females-alt.js"},{"name":"icon-user-females","legacy":true,"path":"./icons/icon-user-females.js"},{"name":"icon-user-glasses","legacy":true,"path":"./icons/icon-user-glasses.js"},{"name":"icon-user","path":"./icons/icon-user.js"},{"name":"icon-users-alt","legacy":true,"path":"./icons/icon-users-alt.js"},{"name":"icon-users","path":"./icons/icon-users.js"},{"name":"icon-utilities","path":"./icons/icon-utilities.js"},{"name":"icon-vcard","path":"./icons/icon-vcard.js"},{"name":"icon-video","path":"./icons/icon-video.js"},{"name":"icon-voice","path":"./icons/icon-voice.js"},{"name":"icon-wall-plug","path":"./icons/icon-wall-plug.js"},{"name":"icon-wallet","path":"./icons/icon-wallet.js"},{"name":"icon-wand","path":"./icons/icon-wand.js"},{"name":"icon-webhook","path":"./icons/icon-webhook.js"},{"name":"icon-weight","path":"./icons/icon-weight.js"},{"name":"icon-width","path":"./icons/icon-width.js"},{"name":"icon-wifi","path":"./icons/icon-wifi.js"},{"name":"icon-window-popin","path":"./icons/icon-window-popin.js"},{"name":"icon-window-sizes","path":"./icons/icon-window-sizes.js"},{"name":"icon-wine-glass","path":"./icons/icon-wine-glass.js"},{"name":"icon-wrench","path":"./icons/icon-wrench.js"},{"name":"icon-wrong","path":"./icons/icon-wrong.js"},{"name":"icon-zip","path":"./icons/icon-zip.js"},{"name":"icon-zom-out","legacy":true,"path":"./icons/icon-zom-out.js"},{"name":"icon-zoom-in","path":"./icons/icon-zoom-in.js"},{"name":"icon-zoom-out","path":"./icons/icon-zoom-out.js"},{"name":"icon-star","path":"./icons/icon-star.js"},{"name":"icon-database","path":"./icons/icon-database.js"},{"name":"icon-azure","path":"./icons/icon-azure.js"},{"name":"icon-facebook","path":"./icons/icon-facebook.js"},{"name":"icon-gitbook","path":"./icons/icon-gitbook.js"},{"name":"icon-github","path":"./icons/icon-github.js"},{"name":"icon-gitlab","path":"./icons/icon-gitlab.js"},{"name":"icon-google","path":"./icons/icon-google.js"},{"name":"icon-linkedin","path":"./icons/icon-linkedin.js"},{"name":"icon-mastodon","path":"./icons/icon-mastodon.js"},{"name":"icon-microsoft","path":"./icons/icon-microsoft.js"},{"name":"icon-twitter","path":"./icons/icon-twitter.js"},{"name":"icon-twitter-x","path":"./icons/icon-twitter-x.js"},{"name":"icon-umbraco","path":"./icons/icon-umbraco.js"},{"name":"icon-application-error","legacy":true,"path":"./icons/icon-application-error.js"},{"name":"icon-art-easel","legacy":true,"path":"./icons/icon-art-easel.js"},{"name":"icon-article","legacy":true,"path":"./icons/icon-article.js"},{"name":"icon-auction-hammer","legacy":true,"path":"./icons/icon-auction-hammer.js"},{"name":"icon-baby-stroller","legacy":true,"path":"./icons/icon-baby-stroller.js"},{"name":"icon-badge-count","legacy":true,"path":"./icons/icon-badge-count.js"},{"name":"icon-ball","legacy":true,"path":"./icons/icon-ball.js"},{"name":"icon-band-aid","legacy":true,"path":"./icons/icon-band-aid.js"},{"name":"icon-bill-dollar","legacy":true,"path":"./icons/icon-bill-dollar.js"},{"name":"icon-bill-euro","legacy":true,"path":"./icons/icon-bill-euro.js"},{"name":"icon-bill-pound","legacy":true,"path":"./icons/icon-bill-pound.js"},{"name":"icon-bill-yen","legacy":true,"path":"./icons/icon-bill-yen.js"},{"name":"icon-bill","legacy":true,"path":"./icons/icon-bill.js"},{"name":"icon-billboard","legacy":true,"path":"./icons/icon-billboard.js"},{"name":"icon-bills-dollar","legacy":true,"path":"./icons/icon-bills-dollar.js"},{"name":"icon-bills-euro","legacy":true,"path":"./icons/icon-bills-euro.js"},{"name":"icon-bills-pound","legacy":true,"path":"./icons/icon-bills-pound.js"},{"name":"icon-bills-yen","legacy":true,"path":"./icons/icon-bills-yen.js"},{"name":"icon-bills","legacy":true,"path":"./icons/icon-bills.js"},{"name":"icon-binoculars","legacy":true,"path":"./icons/icon-binoculars.js"},{"name":"icon-blueprint","legacy":true,"path":"./icons/icon-blueprint.js"},{"name":"icon-bomb","legacy":true,"path":"./icons/icon-bomb.js"},{"name":"icon-cash-register","legacy":true,"path":"./icons/icon-cash-register.js"},{"name":"icon-checkbox-dotted-active","legacy":true,"path":"./icons/icon-checkbox-dotted-active.js"},{"name":"icon-chess","legacy":true,"path":"./icons/icon-chess.js"},{"name":"icon-circus","legacy":true,"path":"./icons/icon-circus.js"},{"name":"icon-clothes-hanger","legacy":true,"path":"./icons/icon-clothes-hanger.js"},{"name":"icon-coin-dollar","legacy":true,"path":"./icons/icon-coin-dollar.js"},{"name":"icon-coin-pound","legacy":true,"path":"./icons/icon-coin-pound.js"},{"name":"icon-coin","legacy":true,"path":"./icons/icon-coin.js"},{"name":"icon-coins-dollar-alt","legacy":true,"path":"./icons/icon-coins-dollar-alt.js"},{"name":"icon-coins-dollar","legacy":true,"path":"./icons/icon-coins-dollar.js"},{"name":"icon-coins-euro-alt","legacy":true,"path":"./icons/icon-coins-euro-alt.js"},{"name":"icon-coins-euro","legacy":true,"path":"./icons/icon-coins-euro.js"},{"name":"icon-coins-pound-alt","legacy":true,"path":"./icons/icon-coins-pound-alt.js"},{"name":"icon-coins-pound","legacy":true,"path":"./icons/icon-coins-pound.js"},{"name":"icon-coins-yen-alt","legacy":true,"path":"./icons/icon-coins-yen-alt.js"},{"name":"icon-coins-yen","legacy":true,"path":"./icons/icon-coins-yen.js"},{"name":"icon-comb","legacy":true,"path":"./icons/icon-comb.js"},{"name":"icon-desk","legacy":true,"path":"./icons/icon-desk.js"},{"name":"icon-dollar-bag","legacy":true,"path":"./icons/icon-dollar-bag.js"},{"name":"icon-eject","legacy":true,"path":"./icons/icon-eject.js"},{"name":"icon-euro-bag","legacy":true,"path":"./icons/icon-euro-bag.js"},{"name":"icon-exit-fullscreen","legacy":true,"path":"./icons/icon-exit-fullscreen.js"},{"name":"icon-female-symbol","legacy":true,"path":"./icons/icon-female-symbol.js"},{"name":"icon-filter-arrows","legacy":true,"path":"./icons/icon-filter-arrows.js"},{"name":"icon-firewall","legacy":true,"path":"./icons/icon-firewall.js"},{"name":"icon-folder-open","legacy":true,"path":"./icons/icon-folder-open.js"},{"name":"icon-folder-outline","legacy":true,"path":"./icons/icon-folder-outline.js"},{"name":"icon-handprint","legacy":true,"path":"./icons/icon-handprint.js"},{"name":"icon-hat","legacy":true,"path":"./icons/icon-hat.js"},{"name":"icon-hd","legacy":true,"path":"./icons/icon-hd.js"},{"name":"icon-inactive-line","legacy":true,"path":"./icons/icon-inactive-line.js"},{"name":"icon-keychain","legacy":true,"path":"./icons/icon-keychain.js"},{"name":"icon-keyhole","legacy":true,"path":"./icons/icon-keyhole.js"},{"name":"icon-lightbulb-active","legacy":true,"path":"./icons/icon-lightbulb-active.js"},{"name":"icon-lightbulb","legacy":true,"path":"./icons/icon-lightbulb.js"},{"name":"icon-linux-tux","legacy":true,"path":"./icons/icon-linux-tux.js"},{"name":"icon-locate","legacy":true,"path":"./icons/icon-locate.js"},{"name":"icon-location-near-me","legacy":true,"path":"./icons/icon-location-near-me.js"},{"name":"icon-male-and-female","legacy":true,"path":"./icons/icon-male-and-female.js"},{"name":"icon-male-symbol","legacy":true,"path":"./icons/icon-male-symbol.js"},{"name":"icon-molecular-network","legacy":true,"path":"./icons/icon-molecular-network.js"},{"name":"icon-molecular","legacy":true,"path":"./icons/icon-molecular.js"},{"name":"icon-multiple-windows","legacy":true,"path":"./icons/icon-multiple-windows.js"},{"name":"icon-navigation-top","legacy":true,"path":"./icons/icon-navigation-top.js"},{"name":"icon-os-x","legacy":true,"path":"./icons/icon-os-x.js"},{"name":"icon-pants","legacy":true,"path":"./icons/icon-pants.js"},{"name":"icon-parachute-drop","legacy":true,"path":"./icons/icon-parachute-drop.js"},{"name":"icon-parental-control","legacy":true,"path":"./icons/icon-parental-control.js"},{"name":"icon-path","legacy":true,"path":"./icons/icon-path.js"},{"name":"icon-piracy","legacy":true,"path":"./icons/icon-piracy.js"},{"name":"icon-poker-chip","legacy":true,"path":"./icons/icon-poker-chip.js"},{"name":"icon-pound-bag","legacy":true,"path":"./icons/icon-pound-bag.js"},{"name":"icon-price-yen","legacy":true,"path":"./icons/icon-price-yen.js"},{"name":"icon-receipt-dollar","legacy":true,"path":"./icons/icon-receipt-dollar.js"},{"name":"icon-receipt-euro","legacy":true,"path":"./icons/icon-receipt-euro.js"},{"name":"icon-receipt-pound","legacy":true,"path":"./icons/icon-receipt-pound.js"},{"name":"icon-receipt-yen","legacy":true,"path":"./icons/icon-receipt-yen.js"},{"name":"icon-resize","legacy":true,"path":"./icons/icon-resize.js"},{"name":"icon-road","legacy":true,"path":"./icons/icon-road.js"},{"name":"icon-safe","legacy":true,"path":"./icons/icon-safe.js"},{"name":"icon-safedial","legacy":true,"path":"./icons/icon-safedial.js"},{"name":"icon-sandbox-toys","legacy":true,"path":"./icons/icon-sandbox-toys.js"},{"name":"icon-security-camera","legacy":true,"path":"./icons/icon-security-camera.js"},{"name":"icon-settings-alt-2","legacy":true,"path":"./icons/icon-settings-alt-2.js"},{"name":"icon-share-alt-2","legacy":true,"path":"./icons/icon-share-alt-2.js"},{"name":"icon-shorts","legacy":true,"path":"./icons/icon-shorts.js"},{"name":"icon-simcard","legacy":true,"path":"./icons/icon-simcard.js"},{"name":"icon-split-alt","legacy":true,"path":"./icons/icon-split-alt.js"},{"name":"icon-tab","legacy":true,"path":"./icons/icon-tab.js"},{"name":"icon-tactics","legacy":true,"path":"./icons/icon-tactics.js"},{"name":"icon-theif","legacy":true,"path":"./icons/icon-theif.js"},{"name":"icon-thought-bubble","legacy":true,"path":"./icons/icon-thought-bubble.js"},{"name":"icon-umb-contour","legacy":true,"path":"./icons/icon-umb-contour.js"},{"name":"icon-umb-deploy","legacy":true,"path":"./icons/icon-umb-deploy.js"},{"name":"icon-umb-members","legacy":true,"path":"./icons/icon-umb-members.js"},{"name":"icon-universal","legacy":true,"path":"./icons/icon-universal.js"},{"name":"icon-war","legacy":true,"path":"./icons/icon-war.js"},{"name":"icon-windows","legacy":true,"path":"./icons/icon-windows.js"},{"name":"icon-yen-bag","legacy":true,"path":"./icons/icon-yen-bag.js"}] \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-twitter.svg b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-twitter.svg new file mode 100644 index 0000000000..02f6e8c48b --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-twitter.svg @@ -0,0 +1,5 @@ + + + + From 68ff40ba97b2da4b3c0f64d8607ce0eba24211f7 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:19:11 +0200 Subject: [PATCH 064/134] use correct path to locate icons --- src/Umbraco.Web.UI.Client/devops/icons/index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/devops/icons/index.js b/src/Umbraco.Web.UI.Client/devops/icons/index.js index 0835e420c5..909ee19094 100644 --- a/src/Umbraco.Web.UI.Client/devops/icons/index.js +++ b/src/Umbraco.Web.UI.Client/devops/icons/index.js @@ -6,7 +6,7 @@ const path = pathModule.default; const getDirName = path.dirname; const glob = globModule.default; -const moduleDirectory = 'src/shared/icon-registry'; +const moduleDirectory = 'src/packages/core/icon-registry'; const iconsOutputDirectory = `${moduleDirectory}/icons`; const umbracoSvgDirectory = `${moduleDirectory}/svgs`; const iconMapJson = `${moduleDirectory}/icon-dictionary.json`; @@ -31,7 +31,7 @@ const collectDictionaryIcons = async () => { // Lucide: fileJSON.lucide.forEach((iconDef) => { - if(iconDef.file && iconDef.name) { + if (iconDef.file && iconDef.name) { const path = lucideSvgDirectory + "/" + iconDef.file; try { @@ -90,7 +90,7 @@ const collectDictionaryIcons = async () => { // Umbraco: fileJSON.umbraco.forEach((iconDef) => { - if(iconDef.file && iconDef.name) { + if (iconDef.file && iconDef.name) { const path = umbracoSvgDirectory + "/" + iconDef.file; try { @@ -107,8 +107,8 @@ const collectDictionaryIcons = async () => { }; icons.push(icon); - } catch(e) { - console.log(`Could not load file: '${path}'`); + } catch (e) { + console.log(`[Umbraco] Could not load file: '${path}'`); } } }); @@ -136,7 +136,7 @@ const collectDiskIcons = async (icons) => { const iconName = iconFileName; // Only append not already defined icons: - if(!icons.find(x => x.name === iconName)) { + if (!icons.find(x => x.name === iconName)) { const icon = { name: iconName, From 12624b76604b330e8da000f0cb9e667a77d5a560 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:20:44 +0200 Subject: [PATCH 065/134] use umbraco's icon for its provider --- .../src/packages/core/auth/providers/manifests.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts index f1f2f89b41..5c8e7dc2de 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/providers/manifests.ts @@ -10,6 +10,7 @@ export const manifests: Array = [ meta: { label: 'Sign in with Umbraco', defaultView: { + icon: 'icon-umbraco', look: 'primary', }, }, From ef49a07e391056415f3ed5025a9f272c1c244482 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:32:12 +0200 Subject: [PATCH 066/134] add fill="currentColor" to the umbraco icon --- .../src/packages/core/icon-registry/icons/icon-umbraco.js | 8 +++++--- .../src/packages/core/icon-registry/svgs/icon-umbraco.svg | 7 ++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-umbraco.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-umbraco.js index 268d9f441c..1bcdcda9fc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-umbraco.js +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-umbraco.js @@ -1,3 +1,5 @@ -export default ` - -`; \ No newline at end of file +export default ` + + +`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-umbraco.svg b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-umbraco.svg index 0e121eebf3..1e69d80a4b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-umbraco.svg +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-umbraco.svg @@ -1,3 +1,4 @@ - - - \ No newline at end of file + + + From 74724a079e8b5dbcb52518b0a1e4d0e6abcdfb10 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:33:18 +0200 Subject: [PATCH 067/134] use the name property for icons --- .../core/auth/components/auth-provider-default.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts index 8c30b32f48..91a4faca9b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts @@ -21,7 +21,7 @@ export class UmbAuthProviderDefaultElement extends UmbLitElement { .look=${this.manifest.meta?.defaultView?.look ?? 'outline'} .color=${this.manifest.meta?.defaultView?.color ?? 'default'}> ${this.manifest.meta?.defaultView?.icon - ? html`` + ? html`` : nothing} ${this.manifest.meta?.label ?? this.manifest.forProviderName}
From 465843233fbdec41d778ff96f9e012d37380b323 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:34:08 +0200 Subject: [PATCH 068/134] dont store the references to the icon registries --- src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 80be3c84e1..d502c4a487 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -75,8 +75,6 @@ export class UmbAppElement extends UmbLitElement { ]; #authContext?: typeof UMB_AUTH_CONTEXT.TYPE; - #umbIconRegistry = new UmbIconRegistry(); - #uuiIconRegistry = new UUIIconRegistryEssential(); #serverConnection?: UmbServerConnection; #authController?: UmbAppAuthController; @@ -85,14 +83,14 @@ export class UmbAppElement extends UmbLitElement { OpenAPI.BASE = window.location.origin; + new UmbIconRegistry().attach(this); + new UUIIconRegistryEssential().attach(this); + new UmbContextDebugController(this); new UmbBundleExtensionInitializer(this, umbExtensionsRegistry); new UmbEntryPointExtensionInitializer(this, umbExtensionsRegistry); - this.#umbIconRegistry.attach(this); - this.#uuiIconRegistry.attach(this); - umbExtensionsRegistry.registerMany(coreExtensions); } From dcee2672471a2bae46e1526b2b5cb7a502f4146f Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:34:17 +0200 Subject: [PATCH 069/134] change mock background slightly --- src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index 518f62d1ff..9fed38ab05 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -96,7 +96,7 @@ export class UmbAppAuthController extends UmbControllerBase { }, modal: { backdropBackground: this.#firstTimeLoggingIn - ? "url('https://picsum.photos/1440') center center / cover no-repeat" + ? "url('https://picsum.photos/1440?grayscale&blur=2') center center / cover no-repeat" : 'rgb(0, 0, 0)', }, }) From 917da25555cd3ab96f6efa6031a9ba194a65b4dc Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:44:09 +0200 Subject: [PATCH 070/134] add interface to control props of a provider element --- .../auth-provider-default.element.ts | 4 ++-- .../src/packages/core/auth/types.ts | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts index 91a4faca9b..eecf6bee2c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts @@ -4,12 +4,12 @@ import { UmbTextStyles } from '../../style/index.js'; import { css, customElement, html, nothing, property } from '@umbraco-cms/backoffice/external/lit'; @customElement('umb-auth-provider-default') -export class UmbAuthProviderDefaultElement extends UmbLitElement { +export class UmbAuthProviderDefaultElement extends UmbLitElement implements UmbAuthProviderDefaultProps { @property({ attribute: false }) manifest!: ManifestAuthProvider; @property({ attribute: false }) - onSubmit!: (providerName: string) => void; + onSubmit!: (providerName: string, loginHint?: string) => void; render() { return html` diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts index d1933d0607..7074b49380 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/types.ts @@ -1,5 +1,26 @@ +import type { ManifestAuthProvider } from '../extension-registry/index.js'; + /** * User login state that can be used to determine the current state of the user. * @example 'loggedIn' */ export type UmbUserLoginState = 'loggingIn' | 'loggedOut' | 'timedOut'; + +export interface UmbAuthProviderDefaultProps { + /** + * The manifest for the registered provider. + */ + manifest?: ManifestAuthProvider; + + /** + * The current user login state. + */ + userLoginState?: UmbUserLoginState; + + /** + * Callback that is called when the user selects a provider. + * @param providerName The name of the provider that the user selected. + * @param loginHint The login hint to use for login if available. + */ + onSubmit: (providerName: string, loginHint?: string) => void; +} From 8d986aaa827e793904e8c1b33b743b61492e2b73 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:44:28 +0200 Subject: [PATCH 071/134] use a `part` attribute to style gap between providers --- .../core/auth/components/auth-provider-default.element.ts | 7 ++++++- .../core/auth/modals/umb-app-auth-modal.element.ts | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts index eecf6bee2c..2b93881d87 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts @@ -1,4 +1,5 @@ import type { ManifestAuthProvider } from '../../index.js'; +import type { UmbAuthProviderDefaultProps } from '../types.js'; import { UmbLitElement } from '../../lit-element/lit-element.element.js'; import { UmbTextStyles } from '../../style/index.js'; import { css, customElement, html, nothing, property } from '@umbraco-cms/backoffice/external/lit'; @@ -11,6 +12,11 @@ export class UmbAuthProviderDefaultElement extends UmbLitElement implements UmbA @property({ attribute: false }) onSubmit!: (providerName: string, loginHint?: string) => void; + connectedCallback(): void { + super.connectedCallback(); + this.setAttribute('part', 'auth-provider-default'); + } + render() { return html` Date: Fri, 5 Apr 2024 16:45:56 +0200 Subject: [PATCH 072/134] use flex to style the provider column --- .../packages/core/auth/modals/umb-app-auth-modal.element.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts index 1516c92e96..2db0be78a8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -43,8 +43,10 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement Date: Fri, 5 Apr 2024 17:19:34 +0200 Subject: [PATCH 073/134] update handlers --- .../src/mocks/handlers/manifests.handlers.ts | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts index df03f8cffd..d0ee368388 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/manifests.handlers.ts @@ -4,7 +4,7 @@ import type { PackageManifestResponse } from '../../packages/packages/types.js'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; export const manifestDevelopmentHandlers = [ - rest.get(umbracoPath('/package/manifest'), (_req, res, ctx) => { + rest.get(umbracoPath('/manifest/manifest/private'), (_req, res, ctx) => { return res( // Respond with a 200 status code ctx.status(200), @@ -94,7 +94,7 @@ export const manifestDevelopmentHandlers = [ ]), ); }), - rest.get(umbracoPath('/package/manifest/public'), (_req, res, ctx) => { + rest.get(umbracoPath('/manifest/manifest/public'), (_req, res, ctx) => { return res( ctx.status(200), ctx.json([ @@ -112,14 +112,16 @@ export const manifestDevelopmentHandlers = [ }, { type: 'authProvider', - alias: 'My.AUthProvider.Github', + alias: 'My.AuthProvider.Github', name: 'My Github Auth Provider', forProviderName: 'Umbraco.Github', meta: { - label: 'Use Github!', - look: 'primary', - icon: 'icon-github', - color: 'success', + label: 'GitHub', + defaultView: { + look: 'primary', + icon: 'icon-github', + color: 'success', + }, }, }, ], @@ -130,10 +132,10 @@ export const manifestDevelopmentHandlers = [ ]; export const manifestEmptyHandlers = [ - rest.get(umbracoPath('/package/manifest'), (_req, res, ctx) => { + rest.get(umbracoPath('/manifest/manifest/private'), (_req, res, ctx) => { return res(ctx.status(200), ctx.json([])); }), - rest.get(umbracoPath('/package/manifest/public'), (_req, res, ctx) => { + rest.get(umbracoPath('/manifest/manifest/public'), (_req, res, ctx) => { return res(ctx.status(200), ctx.json([])); }), ]; From 54f5a4c0ecd30a32dd721eb3248f77af7c16d778 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 17:19:44 +0200 Subject: [PATCH 074/134] add fallback variable to backdrop --- src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index 9fed38ab05..f629ea9ac1 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -96,8 +96,8 @@ export class UmbAppAuthController extends UmbControllerBase { }, modal: { backdropBackground: this.#firstTimeLoggingIn - ? "url('https://picsum.photos/1440?grayscale&blur=2') center center / cover no-repeat" - : 'rgb(0, 0, 0)', + ? "var(--umb-auth-backdrop, url('https://picsum.photos/1440?grayscale&blur=2') center center / cover no-repeat)" + : 'var(--umb-auth-backdrop-timedout, rgb(0, 0, 0))', }, }) .onSubmit() From f28592bef779d6fb3065050b699ced7262a076db Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Fri, 5 Apr 2024 17:20:11 +0200 Subject: [PATCH 075/134] update api types --- .../src/apps/backoffice/backoffice.element.ts | 2 +- .../src/external/backend-api/src/index.ts | 5 +- ...ponseModel.ts => ManifestResponseModel.ts} | 2 +- .../models/VerifyInviteUserResponseModel.ts | 11 ++++ .../VerifyResetPasswordResponseModel.ts | 11 ++++ .../src/services/ManifestResource.ts | 52 +++++++++++++++++++ .../src/services/PackageResource.ts | 26 ---------- .../src/services/SecurityResource.ts | 5 +- .../backend-api/src/services/UserResource.ts | 7 ++- ...server-extension-registrator.controller.ts | 24 ++++++--- .../src/packages/packages/types.ts | 4 +- 11 files changed, 104 insertions(+), 45 deletions(-) rename src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/{PackageManifestResponseModel.ts => ManifestResponseModel.ts} (82%) create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyInviteUserResponseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordResponseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ManifestResource.ts diff --git a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts index ae2d293e3e..a0d998a91f 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts @@ -41,7 +41,7 @@ export class UmbBackofficeElement extends UmbLitElement { super(); new UmbBackofficeContext(this); - new UmbServerExtensionRegistrator(this, umbExtensionsRegistry).registerAllExtensions(); + new UmbServerExtensionRegistrator(this, umbExtensionsRegistry).registerPrivateExtensions(); // So far local packages are this simple to registerer, so no need for a manager to do that: CORE_PACKAGES.forEach(async (packageImport) => { diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts index 2c78b0aa5e..d225cf8c87 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts @@ -195,6 +195,7 @@ export { LogLevelModel } from './models/LogLevelModel'; export type { LogMessagePropertyPresentationModel } from './models/LogMessagePropertyPresentationModel'; export type { LogMessageResponseModel } from './models/LogMessageResponseModel'; export type { LogTemplateResponseModel } from './models/LogTemplateResponseModel'; +export type { ManifestResponseModel } from './models/ManifestResponseModel'; export type { MediaCollectionResponseModel } from './models/MediaCollectionResponseModel'; export type { MediaConfigurationResponseModel } from './models/MediaConfigurationResponseModel'; export type { MediaItemResponseModel } from './models/MediaItemResponseModel'; @@ -255,7 +256,6 @@ export type { OutOfDateStatusResponseModel } from './models/OutOfDateStatusRespo export { OutOfDateTypeModel } from './models/OutOfDateTypeModel'; export type { PackageConfigurationResponseModel } from './models/PackageConfigurationResponseModel'; export type { PackageDefinitionResponseModel } from './models/PackageDefinitionResponseModel'; -export type { PackageManifestResponseModel } from './models/PackageManifestResponseModel'; export type { PackageMigrationStatusResponseModel } from './models/PackageMigrationStatusResponseModel'; export type { PackageModelBaseModel } from './models/PackageModelBaseModel'; export type { PagedAllowedDocumentTypeModel } from './models/PagedAllowedDocumentTypeModel'; @@ -461,6 +461,8 @@ export type { VariantItemResponseModelBaseModel } from './models/VariantItemResp export type { VariantModelBaseModel } from './models/VariantModelBaseModel'; export type { VariantResponseModelBaseModel } from './models/VariantResponseModelBaseModel'; export type { VerifyInviteUserRequestModel } from './models/VerifyInviteUserRequestModel'; +export type { VerifyInviteUserResponseModel } from './models/VerifyInviteUserResponseModel'; +export type { VerifyResetPasswordResponseModel } from './models/VerifyResetPasswordResponseModel'; export type { VerifyResetPasswordTokenRequestModel } from './models/VerifyResetPasswordTokenRequestModel'; export type { WebhookEventResponseModel } from './models/WebhookEventResponseModel'; export type { WebhookItemResponseModel } from './models/WebhookItemResponseModel'; @@ -482,6 +484,7 @@ export { IndexerResource } from './services/IndexerResource'; export { InstallResource } from './services/InstallResource'; export { LanguageResource } from './services/LanguageResource'; export { LogViewerResource } from './services/LogViewerResource'; +export { ManifestResource } from './services/ManifestResource'; export { MediaResource } from './services/MediaResource'; export { MediaTypeResource } from './services/MediaTypeResource'; export { MemberResource } from './services/MemberResource'; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageManifestResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ManifestResponseModel.ts similarity index 82% rename from src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageManifestResponseModel.ts rename to src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ManifestResponseModel.ts index c247a475af..792e0482bb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/PackageManifestResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ManifestResponseModel.ts @@ -3,7 +3,7 @@ /* tslint:disable */ /* eslint-disable */ -export type PackageManifestResponseModel = { +export type ManifestResponseModel = { name: string; version?: string | null; extensions: Array; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyInviteUserResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyInviteUserResponseModel.ts new file mode 100644 index 0000000000..cc7f102b7f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyInviteUserResponseModel.ts @@ -0,0 +1,11 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { PasswordConfigurationResponseModel } from './PasswordConfigurationResponseModel'; + +export type VerifyInviteUserResponseModel = { + passwordConfiguration: PasswordConfigurationResponseModel; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordResponseModel.ts new file mode 100644 index 0000000000..1c80084a94 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordResponseModel.ts @@ -0,0 +1,11 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { PasswordConfigurationResponseModel } from './PasswordConfigurationResponseModel'; + +export type VerifyResetPasswordResponseModel = { + passwordConfiguration: PasswordConfigurationResponseModel; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ManifestResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ManifestResource.ts new file mode 100644 index 0000000000..a206603b17 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/ManifestResource.ts @@ -0,0 +1,52 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ManifestResponseModel } from '../models/ManifestResponseModel'; + +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; + +export class ManifestResource { + + /** + * @returns any Success + * @throws ApiError + */ + public static getManifestManifest(): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/manifest/manifest', + errors: { + 401: `The resource is protected and requires an authentication token`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static getManifestManifestPrivate(): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/manifest/manifest/private', + errors: { + 401: `The resource is protected and requires an authentication token`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static getManifestManifestPublic(): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/manifest/manifest/public', + }); + } + +} diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts index 9e35f2a517..e55cffe247 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts @@ -5,7 +5,6 @@ import type { CreatePackageRequestModel } from '../models/CreatePackageRequestModel'; import type { PackageConfigurationResponseModel } from '../models/PackageConfigurationResponseModel'; import type { PackageDefinitionResponseModel } from '../models/PackageDefinitionResponseModel'; -import type { PackageManifestResponseModel } from '../models/PackageManifestResponseModel'; import type { PagedPackageDefinitionResponseModel } from '../models/PagedPackageDefinitionResponseModel'; import type { PagedPackageMigrationStatusResponseModel } from '../models/PagedPackageMigrationStatusResponseModel'; import type { UpdatePackageRequestModel } from '../models/UpdatePackageRequestModel'; @@ -195,31 +194,6 @@ export class PackageResource { }); } - /** - * @returns any Success - * @throws ApiError - */ - public static getPackageManifest(): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/package/manifest', - errors: { - 401: `The resource is protected and requires an authentication token`, - }, - }); - } - - /** - * @returns any Success - * @throws ApiError - */ - public static getPackageManifestPublic(): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/package/manifest/public', - }); - } - /** * @returns PagedPackageMigrationStatusResponseModel Success * @throws ApiError diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts index f229959ef2..3424b9b118 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts @@ -5,6 +5,7 @@ import type { ResetPasswordRequestModel } from '../models/ResetPasswordRequestModel'; import type { ResetPasswordTokenRequestModel } from '../models/ResetPasswordTokenRequestModel'; import type { SecurityConfigurationResponseModel } from '../models/SecurityConfigurationResponseModel'; +import type { VerifyResetPasswordResponseModel } from '../models/VerifyResetPasswordResponseModel'; import type { VerifyResetPasswordTokenRequestModel } from '../models/VerifyResetPasswordTokenRequestModel'; import type { CancelablePromise } from '../core/CancelablePromise'; @@ -72,14 +73,14 @@ export class SecurityResource { } /** - * @returns void + * @returns any Success * @throws ApiError */ public static postSecurityForgotPasswordVerify({ requestBody, }: { requestBody?: (VerifyResetPasswordTokenRequestModel | ResetPasswordTokenRequestModel), - }): CancelablePromise { + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/security/forgot-password/verify', diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts index 18a940811c..a5f3578e4a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts @@ -31,6 +31,7 @@ import type { UserResponseModel } from '../models/UserResponseModel'; import type { UserStateModel } from '../models/UserStateModel'; import type { UserTwoFactorProviderModel } from '../models/UserTwoFactorProviderModel'; import type { VerifyInviteUserRequestModel } from '../models/VerifyInviteUserRequestModel'; +import type { VerifyInviteUserResponseModel } from '../models/VerifyInviteUserResponseModel'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; @@ -755,7 +756,6 @@ export class UserResource { responseHeader: 'Umb-Notifications', errors: { 400: `Bad Request`, - 401: `The resource is protected and requires an authentication token`, 404: `Not Found`, }, }); @@ -785,20 +785,19 @@ export class UserResource { } /** - * @returns string Success + * @returns any Success * @throws ApiError */ public static postUserInviteVerify({ requestBody, }: { requestBody?: (VerifyInviteUserRequestModel | CreateInitialPasswordUserRequestModel), - }): CancelablePromise { + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/user/invite/verify', body: requestBody, mediaType: 'application/json', - responseHeader: 'Umb-Notifications', errors: { 400: `Bad Request`, 404: `Not Found`, diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/server-extension-registrator.controller.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/server-extension-registrator.controller.ts index c663868854..a20359fd72 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/server-extension-registrator.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/server-extension-registrator.controller.ts @@ -1,10 +1,6 @@ import type { ManifestBase } from '../types/index.js'; import { isManifestBaseType } from '../type-guards/index.js'; -import { - PackageResource, - OpenAPI, - type PackageManifestResponseModel, -} from '@umbraco-cms/backoffice/external/backend-api'; +import { OpenAPI, ManifestResource, type ManifestResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbBackofficeExtensionRegistry } from '@umbraco-cms/backoffice/extension-registry'; @@ -26,7 +22,19 @@ export class UmbServerExtensionRegistrator extends UmbControllerBase { * @remark Users must have the BACKOFFICE_ACCESS permission to access this method. */ public async registerAllExtensions() { - const { data: packages } = await tryExecuteAndNotify(this, PackageResource.getPackageManifest()); + const { data: packages } = await tryExecuteAndNotify(this, ManifestResource.getManifestManifest()); + if (packages) { + await this.#loadServerPackages(packages); + } + } + + /** + * Registers all private extensions from the server. + * This is used to register all private extensions that are available to the user. + * @remark Users must have the BACKOFFICE_ACCESS permission to access this method. + */ + public async registerPrivateExtensions() { + const { data: packages } = await tryExecuteAndNotify(this, ManifestResource.getManifestManifestPrivate()); if (packages) { await this.#loadServerPackages(packages); } @@ -38,13 +46,13 @@ export class UmbServerExtensionRegistrator extends UmbControllerBase { * @remark Any user can access this method without any permissions. */ public async registerPublicExtensions() { - const { data: packages } = await tryExecuteAndNotify(this, PackageResource.getPackageManifestPublic()); + const { data: packages } = await tryExecuteAndNotify(this, ManifestResource.getManifestManifestPublic()); if (packages) { await this.#loadServerPackages(packages); } } - async #loadServerPackages(packages: PackageManifestResponseModel[]) { + async #loadServerPackages(packages: ManifestResponseModel[]) { const extensions: ManifestBase[] = []; packages.forEach((p) => { diff --git a/src/Umbraco.Web.UI.Client/src/packages/packages/types.ts b/src/Umbraco.Web.UI.Client/src/packages/packages/types.ts index 93ebce7414..e628d84d15 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/packages/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/packages/types.ts @@ -1,6 +1,6 @@ -import type { PackageManifestResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; +import type { ManifestResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; -export type UmbPackage = PackageManifestResponseModel; +export type UmbPackage = ManifestResponseModel; export type PackageManifestResponse = UmbPackage[]; From 9a36c13c047bd6dc9d448090dccadf8dc682f8b4 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 18:32:05 +0200 Subject: [PATCH 076/134] add entity module --- src/Umbraco.Web.UI.Client/package.json | 1 + src/Umbraco.Web.UI.Client/tsconfig.json | 1 + 2 files changed, 2 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index e8c3085c05..9811efe485 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -34,6 +34,7 @@ "./document-type": "./dist-cms/packages/documents/document-types/index.js", "./document": "./dist-cms/packages/documents/documents/index.js", "./dynamic-root": "./dist-cms/packages/dynamic-root/index.js", + "./entity": "./dist-cms/packages/core/entity/index.js", "./entity-action": "./dist-cms/packages/core/entity-action/index.js", "./entity-bulk-action": "./dist-cms/packages/core/entity-bulk-action/index.js", "./event": "./dist-cms/packages/core/event/index.js", diff --git a/src/Umbraco.Web.UI.Client/tsconfig.json b/src/Umbraco.Web.UI.Client/tsconfig.json index 33bf53145e..50c7d953fd 100644 --- a/src/Umbraco.Web.UI.Client/tsconfig.json +++ b/src/Umbraco.Web.UI.Client/tsconfig.json @@ -52,6 +52,7 @@ "@umbraco-cms/backoffice/document-type": ["./src/packages/documents/document-types/index.ts"], "@umbraco-cms/backoffice/document": ["./src/packages/documents/documents/index.ts"], "@umbraco-cms/backoffice/dynamic-root": ["./src/packages/dynamic-root/index.ts"], + "@umbraco-cms/backoffice/entity": ["./src/packages/core/entity/index.ts"], "@umbraco-cms/backoffice/entity-action": ["./src/packages/core/entity-action/index.ts"], "@umbraco-cms/backoffice/entity-bulk-action": ["./src/packages/core/entity-bulk-action/index.ts"], "@umbraco-cms/backoffice/event": ["./src/packages/core/event/index.ts"], From c4d08b92b1c2be5f90d43b2fae73dba20b9c7d57 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 18:32:20 +0200 Subject: [PATCH 077/134] add entity context --- .../core/entity/entity.context-token.ts | 4 ++ .../packages/core/entity/entity.context.ts | 42 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context-token.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context-token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context-token.ts new file mode 100644 index 0000000000..252e6ef906 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context-token.ts @@ -0,0 +1,4 @@ +import type { UmbEntityContext } from './entity.context.js'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; + +export const UMB_ENTITY_CONTEXT = new UmbContextToken('UmbEntityContext'); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts new file mode 100644 index 0000000000..f0b3620555 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts @@ -0,0 +1,42 @@ +import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { UmbStringState } from '@umbraco-cms/backoffice/observable-api'; + +/** + * UmbEntityContext + * @export + * @class UmbEntityContext + * @extends {UmbContextBase} + */ +export class UmbEntityContext extends UmbContextBase { + #entityType = new UmbStringState(undefined); + public readonly entityType = this.#entityType.asObservable(); + + #unique = new UmbStringState(undefined); + public readonly unique = this.#unique.asObservable(); + + /** + * Creates an instance of UmbEntityContext. + * @param {UmbControllerHost} host + * @memberof UmbEntityContext + */ + constructor(host: UmbControllerHost) { + super(host, 'entity'); + } + + setEntityType(entityType: string | undefined) { + this.#entityType.setValue(entityType); + } + + getEntityType() { + return this.#entityType.getValue(); + } + + setUnique(unique: string | null | undefined) { + this.#unique.setValue(unique); + } + + getUnique() { + return this.#unique.getValue(); + } +} From f8a0b89a9b9752d0e28ca43e8d1219bc88f8d9b9 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 18:32:49 +0200 Subject: [PATCH 078/134] wip entity context in menu --- .../section-sidebar-context-menu.element.ts | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts index 02b1b834e0..d7df433fe3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts @@ -3,6 +3,9 @@ import { UMB_SECTION_SIDEBAR_CONTEXT } from '../section-sidebar/index.js'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { css, html, nothing, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { UmbStringState, observeMultiple } from '@umbraco-cms/backoffice/observable-api'; @customElement('umb-section-sidebar-context-menu') export class UmbSectionSidebarContextMenuElement extends UmbLitElement { @@ -20,31 +23,47 @@ export class UmbSectionSidebarContextMenuElement extends UmbLitElement { @state() private _headline?: string; + #entityContext = new UmbEntityContext(this); + constructor() { super(); this.consumeContext(UMB_SECTION_SIDEBAR_CONTEXT, (instance) => { this.#sectionSidebarContext = instance; + this.#observeEntityModel(); if (this.#sectionSidebarContext) { // make prettier not break the lines on the next 4 lines: // prettier-ignore this.observe( this.#sectionSidebarContext.contextMenuIsOpen, (value) => (this._isOpen = value), '_observeContextMenuIsOpen'); // prettier-ignore - this.observe(this.#sectionSidebarContext.unique, (value) => (this._unique = value), '_observeUnique'); - // prettier-ignore - this.observe(this.#sectionSidebarContext.entityType, (value) => (this._entityType = value), '_observeEntityType'); - // prettier-ignore this.observe(this.#sectionSidebarContext.headline, (value) => (this._headline = value), '_observeHeadline'); } else { this.removeUmbControllerByAlias('_observeContextMenuIsOpen'); - this.removeUmbControllerByAlias('_observeUnique'); - this.removeUmbControllerByAlias('_observeEntityType'); this.removeUmbControllerByAlias('_observeHeadline'); } }); } + #observeEntityModel() { + if (!this.#sectionSidebarContext) { + this.removeUmbControllerByAlias('_observeEntityModel'); + return; + } + + this.observe( + observeMultiple([this.#sectionSidebarContext.unique, this.#sectionSidebarContext.entityType]), + (values) => { + this._unique = values[0]; + this._entityType = values[1]; + + this.#entityContext.setEntityType(this._entityType); + this.#entityContext.setUnique(this._unique); + }, + ), + '_observeEntityModel'; + } + #closeContextMenu() { this.#sectionSidebarContext?.closeContextMenu(); } @@ -70,7 +89,6 @@ export class UmbSectionSidebarContextMenuElement extends UmbLitElement { return this._isOpen ? html`
` : nothing; } - // TODO: allow different views depending on left or right click #renderModal() { return this._isOpen && this._unique !== undefined && this._entityType ? html`
From 329aa0912243421ebe7c22edc098341cd67f5acd Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 21:23:35 +0200 Subject: [PATCH 079/134] use context token --- .../src/packages/core/entity/entity.context.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts index f0b3620555..acb9abfc8b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts @@ -1,3 +1,4 @@ +import { UMB_ENTITY_CONTEXT } from './entity.context-token.js'; import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbStringState } from '@umbraco-cms/backoffice/observable-api'; @@ -21,7 +22,7 @@ export class UmbEntityContext extends UmbContextBase { * @memberof UmbEntityContext */ constructor(host: UmbControllerHost) { - super(host, 'entity'); + super(host, UMB_ENTITY_CONTEXT); } setEntityType(entityType: string | undefined) { From 531df318725053c55f2727c7c5e14e489e15740e Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 21:23:47 +0200 Subject: [PATCH 080/134] export from entity module --- src/Umbraco.Web.UI.Client/src/packages/core/entity/index.ts | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity/index.ts new file mode 100644 index 0000000000..74308b50c9 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity/index.ts @@ -0,0 +1,2 @@ +export { UMB_ENTITY_CONTEXT } from './entity.context-token.js'; +export { UmbEntityContext } from './entity.context.js'; From 93c42d8780da82fc893a683494a0648b9f58d128 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 21:24:35 +0200 Subject: [PATCH 081/134] provide from entity action list --- .../core/entity-action/entity-action-list.element.ts | 8 +++++++- .../section-sidebar-context-menu.element.ts | 10 ++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action-list.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action-list.element.ts index 4db7611b63..a13e396da5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action-list.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action-list.element.ts @@ -1,3 +1,4 @@ +import { UmbEntityContext } from '@umbraco-cms/backoffice/entity'; import type { UmbEntityActionArgs } from './types.js'; import { html, customElement, property, state, css } from '@umbraco-cms/backoffice/external/lit'; import type { ManifestEntityAction, MetaEntityAction } from '@umbraco-cms/backoffice/extension-registry'; @@ -43,9 +44,14 @@ export class UmbEntityActionListElement extends UmbLitElement { [UmbEntityActionArgs] >; + #entityContext = new UmbEntityContext(this); + #generateApiArgs() { if (!this._props.entityType || this._props.unique !== undefined) return; + this.#entityContext.setEntityType(this._props.entityType); + this.#entityContext.setUnique(this._props.unique); + this._apiArgs = (manifest: ManifestEntityAction) => { return [{ entityType: this._props.entityType!, unique: this._props.unique!, meta: manifest.meta }]; }; @@ -59,7 +65,7 @@ export class UmbEntityActionListElement extends UmbLitElement { .filter=${this._filter} .elementProps=${this._props} .apiArgs=${this._apiArgs}> - ` + ` : ''; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts index d7df433fe3..c0d0f2953c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts @@ -1,11 +1,10 @@ +import { UmbEntityContext } from '@umbraco-cms/backoffice/entity'; import type { UmbSectionSidebarContext } from '../section-sidebar/index.js'; import { UMB_SECTION_SIDEBAR_CONTEXT } from '../section-sidebar/index.js'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { css, html, nothing, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbStringState, observeMultiple } from '@umbraco-cms/backoffice/observable-api'; +import { observeMultiple } from '@umbraco-cms/backoffice/observable-api'; @customElement('umb-section-sidebar-context-menu') export class UmbSectionSidebarContextMenuElement extends UmbLitElement { @@ -23,8 +22,6 @@ export class UmbSectionSidebarContextMenuElement extends UmbLitElement { @state() private _headline?: string; - #entityContext = new UmbEntityContext(this); - constructor() { super(); @@ -56,9 +53,6 @@ export class UmbSectionSidebarContextMenuElement extends UmbLitElement { (values) => { this._unique = values[0]; this._entityType = values[1]; - - this.#entityContext.setEntityType(this._entityType); - this.#entityContext.setUnique(this._unique); }, ), '_observeEntityModel'; From 711420944742e3d92abdff5b710e738746bafcb1 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Sat, 6 Apr 2024 22:31:53 +0200 Subject: [PATCH 082/134] pass unique --- .../packages/core/entity-action/entity-action-list.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action-list.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action-list.element.ts index a13e396da5..b9c3f9d207 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action-list.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity-action/entity-action-list.element.ts @@ -47,7 +47,7 @@ export class UmbEntityActionListElement extends UmbLitElement { #entityContext = new UmbEntityContext(this); #generateApiArgs() { - if (!this._props.entityType || this._props.unique !== undefined) return; + if (!this._props.entityType || this._props.unique === undefined) return; this.#entityContext.setEntityType(this._props.entityType); this.#entityContext.setUnique(this._props.unique); From c24ea48470e7a4184682a70b4a3ffc39c9b38b42 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Sat, 6 Apr 2024 22:32:25 +0200 Subject: [PATCH 083/134] remove unused --- .../section-sidebar-context-menu.element.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts index c0d0f2953c..574a0e7085 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.ts @@ -1,4 +1,3 @@ -import { UmbEntityContext } from '@umbraco-cms/backoffice/entity'; import type { UmbSectionSidebarContext } from '../section-sidebar/index.js'; import { UMB_SECTION_SIDEBAR_CONTEXT } from '../section-sidebar/index.js'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; From 4a6d52f5825277cd7db8732a966d89a55159fd5b Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Sat, 6 Apr 2024 22:58:31 +0200 Subject: [PATCH 084/134] provide entity context from document workspace --- .../documents/workspace/document-workspace.context.ts | 6 ++++++ 1 file changed, 6 insertions(+) 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 927acdbecb..c017ba460c 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 @@ -1,3 +1,4 @@ +import { UmbEntityContext } from '@umbraco-cms/backoffice/entity'; import { UmbDocumentTypeDetailRepository } from '../../document-types/repository/detail/document-type-detail.repository.js'; import { UmbDocumentPropertyDataContext } from '../property-dataset-context/document-property-dataset-context.js'; import { UMB_DOCUMENT_ENTITY_TYPE } from '../entity.js'; @@ -132,6 +133,9 @@ export class UmbDocumentWorkspaceContext }, ); + // TODO: this should be set up for all entity workspace contexts in a base class + #entityContext = new UmbEntityContext(this); + constructor(host: UmbControllerHost) { super(host, UMB_DOCUMENT_WORKSPACE_ALIAS); @@ -162,6 +166,8 @@ export class UmbDocumentWorkspaceContext component: () => import('./document-workspace-editor.element.js'), setup: (_component, info) => { const unique = info.match.params.unique; + this.#entityContext.setEntityType(UMB_DOCUMENT_ENTITY_TYPE); + this.#entityContext.setUnique(unique); this.load(unique); }, }, From 28d7fad59ffd058b3d013ad99a72cba257bf991e Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Sun, 7 Apr 2024 14:51:40 +0200 Subject: [PATCH 085/134] add js doc --- .../packages/core/entity/entity.context.ts | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts index acb9abfc8b..8f193465ae 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts @@ -4,7 +4,7 @@ import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbStringState } from '@umbraco-cms/backoffice/observable-api'; /** - * UmbEntityContext + * Provides the entity context * @export * @class UmbEntityContext * @extends {UmbContextBase} @@ -25,18 +25,38 @@ export class UmbEntityContext extends UmbContextBase { super(host, UMB_ENTITY_CONTEXT); } + /** + * Set the entity type + * @param {string | undefined} entityType + * @memberof UmbEntityContext + */ setEntityType(entityType: string | undefined) { this.#entityType.setValue(entityType); } - getEntityType() { + /** + * Get the entity type + * @returns {string | undefined} + * @memberof UmbEntityContext + */ + getEntityType(): string | undefined { return this.#entityType.getValue(); } + /** + * Set the unique + * @param {string | null | undefined} unique + * @memberof UmbEntityContext + */ setUnique(unique: string | null | undefined) { this.#unique.setValue(unique); } + /** + * Get the unique + * @returns {string | null | undefined} + * @memberof UmbEntityContext + */ getUnique() { return this.#unique.getValue(); } From fc6c76bccb9322485a86a5ffe08ca3a77c30e95c Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Sun, 7 Apr 2024 15:31:07 +0200 Subject: [PATCH 086/134] add tests to entity context --- .../core/entity/entity.context.test.ts | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.test.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.test.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.test.ts new file mode 100644 index 0000000000..e01e1937b0 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.test.ts @@ -0,0 +1,77 @@ +import { expect } from '@open-wc/testing'; +import { UmbEntityContext } from './entity.context.js'; +import { UMB_ENTITY_CONTEXT } from './entity.context-token.js'; +import { Observable } from '@umbraco-cms/backoffice/external/rxjs'; +import { customElement } from '@umbraco-cms/backoffice/external/lit'; +import { UmbElementMixin } from '@umbraco-cms/backoffice/element-api'; + +@customElement('umb-test-host') +export class UmbTestHostElement extends UmbElementMixin(HTMLElement) {} + +@customElement('umb-test-child') +export class UmbTestChildElement extends UmbElementMixin(HTMLElement) {} + +describe('UmbEntityContext', () => { + let context: UmbEntityContext; + let host: UmbTestHostElement; + let child: UmbTestChildElement; + + beforeEach(() => { + host = new UmbTestHostElement(); + child = new UmbTestChildElement(); + host.appendChild(child); + document.body.appendChild(host); + context = new UmbEntityContext(host); + }); + + describe('Public API', () => { + describe('properties', () => { + it('has a entity type property', () => { + expect(context).to.have.property('entityType').to.be.an.instanceOf(Observable); + }); + + it('has a unique property', () => { + expect(context).to.have.property('unique').to.be.an.instanceOf(Observable); + }); + }); + + describe('methods', () => { + it('has a getEntityType method', () => { + expect(context).to.have.property('getEntityType').that.is.a('function'); + }); + + it('has a setEntityType method', () => { + expect(context).to.have.property('setEntityType').that.is.a('function'); + }); + + it('has a getUnique method', () => { + expect(context).to.have.property('getUnique').that.is.a('function'); + }); + + it('has a setUnique method', () => { + expect(context).to.have.property('setUnique').that.is.a('function'); + }); + }); + }); + + describe('set and get entity type', () => { + it('should set entity type', () => { + context.setEntityType('entity-type'); + expect(context.getEntityType()).to.equal('entity-type'); + }); + }); + + describe('set and get unique', () => { + it('should set unique', () => { + context.setUnique('unique-value'); + expect(context.getUnique()).to.equal('unique-value'); + }); + }); + + describe('it is provided as a context', () => { + it('should be provided as a context', async () => { + const providedContext = await child.getContext(UMB_ENTITY_CONTEXT); + expect(providedContext).to.equal(context); + }); + }); +}); From e531bb4ba5646681523241937e95f48442098cdc Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 08:56:51 +0200 Subject: [PATCH 087/134] fix test error --- src/Umbraco.Web.UI.Client/src/mocks/e2e-handlers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/e2e-handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/e2e-handlers.ts index 17cf239c92..45c56d006b 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/e2e-handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/e2e-handlers.ts @@ -20,7 +20,7 @@ import { handlers as configHandlers } from './handlers/config.handlers.js'; export const handlers = [ serverHandlers.serverRunningHandler, serverHandlers.serverInformationHandler, - manifestsHandlers.manifestEmptyHandler, + manifestsHandlers.manifestEmptyHandlers, ...auditLogHandlers, ...installHandlers, ...upgradeHandlers, From fe1c3d2f43ba24dfab5d7aa5bbe24e93c0cb2cf2 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 09:05:16 +0200 Subject: [PATCH 088/134] if the user times out, always show the login screen --- .../src/apps/app/app-auth.controller.ts | 60 +++++++++++++------ .../src/assets/lang/da-dk.ts | 1 + .../src/assets/lang/en-us.ts | 1 + .../auth/modals/umb-app-auth-modal.element.ts | 1 + 4 files changed, 46 insertions(+), 17 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index f629ea9ac1..a85fd82d3d 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -69,6 +69,17 @@ export class UmbAppAuthController extends UmbControllerBase { throw new Error('[Fatal] Auth context is not available'); } + // If the user is timed out, we can show the login modal directly + if (userLoginState === 'timedOut') { + const selected = await this.#showLoginModal(userLoginState); + + if (!selected) { + return false; + } + + return this.#updateState(); + } + // Figure out which providers are available const availableProviders = await firstValueFrom(this.#authContext.getAuthProviders()); @@ -88,32 +99,47 @@ export class UmbAppAuthController extends UmbControllerBase { this.#authContext.makeAuthorizationRequest(redirectProvider.forProviderName); } else { // Show the provider selection screen - const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT); - const selected = await modalManager - .open(this._host, UMB_MODAL_APP_AUTH, { - data: { - userLoginState, - }, - modal: { - backdropBackground: this.#firstTimeLoggingIn - ? "var(--umb-auth-backdrop, url('https://picsum.photos/1440?grayscale&blur=2') center center / cover no-repeat)" - : 'var(--umb-auth-backdrop-timedout, rgb(0, 0, 0))', - }, - }) - .onSubmit() - .catch(() => undefined); + const selected = await this.#showLoginModal(userLoginState); - if (!selected?.providerName) { + if (!selected) { return false; } - - this.#authContext.makeAuthorizationRequest(selected.providerName, selected.loginHint); } } return this.#updateState(); } + async #showLoginModal(userLoginState: UmbUserLoginState): Promise { + if (!this.#authContext) { + throw new Error('[Fatal] Auth context is not available'); + } + + // Show the provider selection screen + const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT); + const selected = await modalManager + .open(this._host, UMB_MODAL_APP_AUTH, { + data: { + userLoginState, + }, + modal: { + backdropBackground: this.#firstTimeLoggingIn + ? "var(--umb-auth-backdrop, url('https://picsum.photos/1440?grayscale&blur=2') center center / cover no-repeat)" + : 'var(--umb-auth-backdrop-timedout, rgb(0, 0, 0))', + }, + }) + .onSubmit() + .catch(() => undefined); + + if (!selected?.providerName) { + return false; + } + + this.#authContext.makeAuthorizationRequest(selected.providerName, selected.loginHint); + + return true; + } + #updateState() { if (!this.#authContext) { throw new Error('[Fatal] Auth context is not available'); diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts index 17bd03e419..3fb582cda0 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts @@ -1016,6 +1016,7 @@ export default { login: { instruction: 'Log ind på Umbraco', signInWith: 'Log ind med {0}', + timeout: 'Du er blevet logget ud på grund af inaktivitet, vil du logge ind igen?', }, main: { dashboard: 'Skrivebord', diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts index 7dc7c62b8d..39c6073f9b 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts @@ -1013,6 +1013,7 @@ export default { login: { instruction: 'Sign in to Umbraco', signInWith: 'Sign in with {0}', + timeout: 'Your session has timed out. Please sign in again below.', }, main: { dashboard: 'Dashboard', diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts index 2db0be78a8..8e129664a3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -15,6 +15,7 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement + ${this.data?.userLoginState === 'timedOut' ? html`

${this.localize.term('login_timeout')}

` : ''} Date: Mon, 8 Apr 2024 09:14:03 +0200 Subject: [PATCH 089/134] use new resource to fetch packages --- .../package/repository/sources/package.server.data.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/packages/package/repository/sources/package.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/packages/package/repository/sources/package.server.data.ts index b8cc78864e..fe56e10015 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/packages/package/repository/sources/package.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/packages/package/repository/sources/package.server.data.ts @@ -1,5 +1,5 @@ import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; -import { PackageResource } from '@umbraco-cms/backoffice/external/backend-api'; +import { ManifestResource, PackageResource } from '@umbraco-cms/backoffice/external/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; /** @@ -14,7 +14,7 @@ export class UmbPackageServerDataSource { * @memberof UmbPackageServerDataSource */ getRootItems() { - return tryExecuteAndNotify(this.host, PackageResource.getPackageManifest()); + return tryExecuteAndNotify(this.host, ManifestResource.getManifestManifest()); } /** From dfde7e7474951ba0a277214bf6c2bece4d7ad3b7 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 09:45:18 +0200 Subject: [PATCH 090/134] add logo and graphics to login --- src/Umbraco.Web.UI.Client/public/login.jpg | Bin 0 -> 366426 bytes .../public/umbraco_logo_blue.svg | 51 ++++++++++++++ .../public/umbraco_logo_white.svg | 52 +++++++++++++- .../auth/modals/umb-app-auth-modal.element.ts | 65 +++++++++++++++--- 4 files changed, 157 insertions(+), 11 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/public/login.jpg create mode 100644 src/Umbraco.Web.UI.Client/public/umbraco_logo_blue.svg diff --git a/src/Umbraco.Web.UI.Client/public/login.jpg b/src/Umbraco.Web.UI.Client/public/login.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b97f2c9439bdaabb9172019081f9afb6b87bcb0 GIT binary patch literal 366426 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
yu9tN}s3Cwo+N_0sSF(yJrXN0wmd2gkoBF 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≫0m*T$-UoS(m&+$j@TiDQ#uA% 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 z z4@D7BL;REgj&Pl*v7@qj4bG|mP4KJhAvq@m{BXstjA0;t#X{>;%Hwabgl)g{`lEN9 z6r2>6S=lKytGhY5Tlrc2Ga4Z&UNz>oU7smnqm~#eYzcRTwJS4mCiNcc%Pc^8$93748Ad^5m#oKZFlIHP{mN+RNZ{>>hDbgV6gTq;i&!Jaglr($ zJ-q8iji#o;tLUu4U%%@#k_SkyAF&`3Pdu>rSaCz~&u2+~7|69?ouemAZBC*Cr1Z^* zd6A^&ROF*|SUU`>2O)?dfDb!)&ky!(l%`afdnYotm>@uR__h!l(<&Rw=l#x6eUuz3Zp93m;Ow`8pfCS64u< zRcEtUc+m({MIM*d(<$28T!eF+_H_7H`qRZ@W=F7)}@6j zQN~TX8KO|UY}l8%F=30<>Ax!O@Y{gBL0}((VqkUn&*ki`xD4|Ckj(-UXs*XlfbJ@z z%k=86WtY}!FlY#ceTa$)P3y~uA+uQ)mhU)-H9xP^t{$uwXl?vlCi2lsZW#Hd>-piY zBM^EO`@|c(7;XeS{bWKr6#MD^xDLl|Xizj@Z8wy|F^^$cl1QENs|WIsrQ34s>pD}9 zhT;kosh*MQ#05KAZ;`6h7`{YPI`q?Dkl46PKKMXZyp~Tr&U6rRmE0B%e323kx!+Ky zh<@VgMq_$B{x0F^>-anTjpc%n;}B1W9wN;3`QkdXN823MsS=mS1ZkDbB`DevRx#*z z5E`Y(w<`E1`P~(8SH_--CV8^n@I1yZ6`n6S)ujTTL9hT^6sjHw)7co+!zm0_`FlfS z?nE(2DctY&K{9TU&)7SuJxi758=&eCj=#26q&8~!s_8`M^8a_c2-H>t^cp(ZX~VF= zSQT+@sc0GLo*znF2OYWr38V{@u174I(z+_J98r}FP%SUNh857YG}0ZWRg))HxUl-4 z02YoklQ+%6fCs*;hJ^FsHK@35Dy;&}(Ke2lC;GarE(AIJ^ZO&{G)2+9K%M@3`qb6l z-`0q|M`c~3&}M$i3KLn=z*XS`Skh&D4}>|~ww54^i`xoUhone5&X6cKq6>xYci4|P z`U%NimV8KOmA@_b@2@3#B{W^Q*OZnz1_jK-F@JKnmv?7WX7Q>D3;n(L$s4hj7ViuH z_8wC+zv|H;a#dywTju&xfrF2~oB;h$vvbc@*{CHkIzK4eXyT$p6(!XWH-(h;!r( zd(vH8K-H9O$#I&D%7w8J@XIH#|nz>Afz`A0HWT3+1|2{bf?FbUaJregPUz*f)J ze0Zw}JeW5!HhdcsnK+ZH(}7|nQMv#W5!GZFC#l>QjKsWWKE%-xtF07T=;(P~GSk^A z^g6xdl2s18H2*P|26AOWCZAch-P z-FpUXQ{>*<$o?eI0-_JxAUkvcHlDg4#BGm=V>^Gki|4Mm0Ewbq^85a|SpS!*nHziq z;-WICOaKCSp0xuZPnm;x51_udjYX4$_{%);+9pvx)rdcvnPU+=Wv+n(+$;Wze_TS& zAUV`wRxZEQ3q^G*oieQFb&H*iT~U?%k+`X~*r8t8q|4*JOm5o+w{sC2EF1jCe-uh; z-GeGOA@rM`9o}n@e-^)e&WZcuIhUdKKC9<^7v>3{A#?xk(uV)k;UHXoh^ zsNXd*`>8O&mSEa+7og99TyLx&GR^Agui{;Qt1`V!ZEO-|=t#s=>$93Lx&}@l)zqfr zQuvM!3yC7Zwi`pSHIW`^^A5rR)EAi!6N09zcf~12g!DD!c!y(R&SwSw5|*PWhL*Kr zV2ubmphc=&LnmhT7jVDEsa+3p9b&fYhs3t5r3N-Blr9R4U)7+T5I0Ef*yULOh8Fwx zWv=dvSuF@ll*CAK$NNDI!&G}Z(0L}J^PBxgqiZufELZ4ynHAGhS-I|eJRAwVl}})| zG%tqEpct;*+_x!>lHT_k$|-oCMPCEv(OjD^ySj#kZ?*xN0FNCoVDer>Xe3Gpe-Dmd zAKSjdk`Vbg!Ft@WG2PtkaOsK!f*@@4@PzKD-isu z?1JwN<^~L=mDwP2SJn+ZKVv_?@*fQRK71s(#i&DkGTtZ|;c>S$`^U+oUiS4hKi*o6 z(-+P?=9d5P;wJ#8mjzaMB#kJMLeaHIPj+iwC*AJ1rsWjpnoss? z!4z=tnlCNnNd`$IJm1P{mZiVWc_WIH_7Ccwjx@QqOBwqu5yecVa2MVH#dwX6an*{S zyBG7aux@?^S@bbD@mlqcJnNNzakKcH?hkH-r}W!fF9db@uWf%htFcjbG;;u5p2~Fb zmx#Gl!eKJ;>}1}?hQFs{+LJe{G7U^M^S%#4OU*6<%4Q$7W|_OBWZ7<8KZs(!H|?dB z+HrbX^MmJ_53lcF_V9&&Y)%*#$c|x+)TuJ%U0oUnHMl=MNXw$T2Ia=Q@tX=V(X<@l zR2TkL(=ghiBp(7fVuzjCzN3H3yC%2&&`$-3vT<2Lq{J63qODUT$#+vuX4&q zW6?k(ZK{%~&teA!jfy57$xFY91u6fs-Dzs`%(RYpH&AC0V(UFz z>at{RN^$j*!70jNW+AvUusK1V_xMlI;3D18ce&5WX?79UYJ%PHW)8Ny2PxcjBbt4G z$k^8Ht&7@N4AMkS-pol)c%TqlowX?+;^@U~{#H-ik@pUJkoY6DA)dSDl<3fkg|Jn( zx;>jzp$3j^0Lx=#jCly(G5?OcBGlx`ov@@)OOW zX^S?y=T^c8Sg%z5lf&^Qvs*W9bgx0=2TcxY4k&;5{Vg2?$9QfWQ>w4+zZpn#MBm+g?4kK3(0ynVaGFFUuBeSmles;-E0+gKDI)8CvUC)= zQ2EkaygRT4k^t8syHt?`O9k@-m=Eeh*?hCtWfu z)D3!V0uDI#PJ!}XDIud&?J?&cSQOvL&(z(%{AE-`b62w8j!nZF%w{4@~Qz460E#Og@-Os1dM--CD$B8%h5?tupP1M+#)`FzqjB#Vi{ud{_+ItN)e8ssg_=hu-7f@-f(#peM7S{!?HUgO!zcJqTR|?d6zTL-N-G9f$ ziKV0sdTv(0ta<;-8+#3*7wbQwUqjk|))8zUG~6iedBuOCze0SmR1OM?8W!NCkVivQ zm^@~@wbW!XJa}e3p1w3y(ETzLk9j5%?{JGrW4lXYXTsaYv;hXC>9|etXz+_*2yI}? zfxd!D?a-Fx{ZD_l3i7_LLU|Q!C2fBGJaol|ByQFJdZC-_m#y|_iD=mvA9b2!E9qLj z_D=L`2-5AAk$3)B!{g_ik++ zvpINou?34Ropfu8-WOpRAJmZ;&l_TCF23_# zpDOnURdyfG6icnLbPk{;4-=zu!))C!4EnaP$Ne~NSV80CW{i77m|WqxyolGfI@m<5 ze2XXjL~4a?DqMbJS%~Wgh~CI4!U^!>S+OgWl^0ps{9dv&YK>nW-z%YkK?M+@&}@MxR#YtLo`R z-{VHyS@of2sC1bQ!x@|3H|hF}bQ(JKeYxc*dCw-PUb~ZHG zBd)?<2?|U{a*IqoLyIw#A`E4^F8=uf=VAoc2H9G5ETVsAlYKHCBZU< zrEW;Pq5Rc|$XpF%`F2b7<9>}lF&kVRT$q#_=Gd85ulACufG}u%>ysUx7axHdwxN}c z7()cct~~((khg&UEy0Y)NPyn^eF|b|e`;FoE-f@~DqVXGJJ&<|bAaoD`qRRkrvCW# zv*TDWC;SHRz1Jw06pwXaaE=7^ti$*TFAV}mU#+~z^&D6o^@wm0e)H$L2){)?6B3bBam|Iz^CWKB*r|}0#`YMI23ZK%E zPXeqd@~*s}wB#kc$ao}u=%mE~@N#>j=9*0Jjy*4teNkyLVzW`Ut8w&JHf-K)aePZT zlEW?6vJw<`+PzRv8*tL&__E9Y2%a<^;js(5K^}0B#YyKkCq%lD?s}?&oY&Pv1aCun z@Y{Cm|Gs``G)uvn9CHkz>$({X=*H4WBSrRhNLf0mYu+;`_y(3OHU0}p2(N;>gg?NF zbny^yfF--ceB(PA&#tvNHg;T9I+WMF;vI+MeR_%^whZ$14o`NBovj|fYx2O(l7qsJ8#3IJ1J3yJcAKYW#}56}O=2 zk-^Pb6ry_)s>sgwh6-8Y*Sc~i|G^zier0T5UqNIvS>UQnhHz?RiKjb!(6|M;(V^v4 zrS+iL#WQ)1#16(GD|K$|RFSy|?~{HjT~h?$2_5+>j|2j!P#Qz%ouJS$$qTwI|BE7q zB%z&4?z-PrEj$>m{57G&xNxy9ZN)uT335L5yww)PM8$o-h$1*!ZRmHt#2wXPHL9N!|zH*nW-zVCQu{U#r2H@{2Z{ow?=sZi+(}Z1Z&_N4U-_XzKGta;bR~ z1gyvg!z0F@hI>@qP1PCu2EDkTyR>R21x*Oa;zXmdZDY;kwBoDpBsC>8hsQZ(aI))F zyMh?OVj?K3Bjr|A`WA}g)Kn7#?T-+UC4~p8=$ipK8#Al`S#kFB)42#hsL_{)Avs)| zor~<|U^_z%fNwNJHnA6dTYCk(EdExhO#5Dv+bMKLt!e9^UR$@>Pb9t#kH|_vb+X0& zBZob5*T|Sg?gQDPE3>Uo+63=v57_lrN9a-Q)FS?4U3>gF8&jtDKl}Vt&3W{m9iAe* z3>0-z0`vz5r=$6x$3Qlkz&!qK+d|8K6yJ(pMEE&8EkQ%(Pp@>>-s8c{Uy}IqI*`~B z2fWeco-y6HG51K zHzeaqthaBzs3}|EtkS19G_ppuZ_Qn{4@F{)zzY!Q#Nr@~#;KW5wC>wpgu)W5PG}Ch zD2%8MBsZmHh#0FLV~a!ov3vH|fKB6gU|9C>+L=DRoWC8Y5e371cS0|%y~%^|CHEHdb+(R zl5}f!?InW$n1MWuVtC~Y4%lAxrTc9oz~~2+?l+8VX}_%G?sy5xS?NcT=*ZVEy`DIYV3Mn3@Le}7eT+O9eUr`>g6BG^(TQ>{nPuH5c3=p zud+B#h8iL*LkrqBjCp!qAyUmRjPcY^L30YCz7-q@A>pfjNHCBK<2TL_0l4a9bL1AQv=xQC)^yAp zw}LotG)#Hv^hsP~&+%l1mY;#w?cGv&8lE1`DS1!CoBlm?un+gN@pU`Ezho`>HNA3W zR=a_mKRe^JIqy*nNlQ+0OTFPkVw}P%p8&ZBo{#UhXPW#L2n*Rz^G^@V0w`?N>&NW- zp)Bu&g>2zC$mx+}=d7m|9}cER{)v;aeMxl_{pR*NJSFN~7gL%CCKra;4i(WuHCU}aXV!KqvZWn˦#& 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 RoZB^R@^NtHar)np{{sh8y1M`X literal 0 HcmV?d00001 diff --git a/src/Umbraco.Web.UI.Client/public/umbraco_logo_blue.svg b/src/Umbraco.Web.UI.Client/public/umbraco_logo_blue.svg new file mode 100644 index 0000000000..578bf592f6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/public/umbraco_logo_blue.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/Umbraco.Web.UI.Client/public/umbraco_logo_white.svg b/src/Umbraco.Web.UI.Client/public/umbraco_logo_white.svg index 3de8e82ed3..01f7260cd3 100644 --- a/src/Umbraco.Web.UI.Client/public/umbraco_logo_white.svg +++ b/src/Umbraco.Web.UI.Client/public/umbraco_logo_white.svg @@ -1 +1,51 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts index 8e129664a3..966f86044b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -14,14 +14,19 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement - ${this.data?.userLoginState === 'timedOut' ? html`

${this.localize.term('login_timeout')}

` : ''} - - +
+ + + ${this.data?.userLoginState === 'timedOut' ? html`

${this.localize.term('login_timeout')}

` : ''} + +
+
`; } @@ -36,12 +41,41 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement Date: Mon, 8 Apr 2024 09:48:16 +0200 Subject: [PATCH 091/134] remove the attribute fill-background altogether --- .../backoffice-modal-container.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts index ee8be1c38b..1ad2272850 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts @@ -38,7 +38,7 @@ export class UmbBackofficeModalContainerElement extends UmbLitElement { /** We cannot render the umb-modal element directly in the uui-modal-container because it wont get recognized by UUI. * We therefore have a helper class which creates the uui-modal element and returns it. */ #createModalElements(modals: Array) { - this.fillBackground = false; + this.removeAttribute('fill-background'); const oldValue = this._modals; this._modals = modals; From 22282ef72886627251809f0c43ae261fd3e9159c Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 09:59:20 +0200 Subject: [PATCH 092/134] adjust background for the not-logged-in state --- src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index a85fd82d3d..e25de952cd 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -124,8 +124,8 @@ export class UmbAppAuthController extends UmbControllerBase { }, modal: { backdropBackground: this.#firstTimeLoggingIn - ? "var(--umb-auth-backdrop, url('https://picsum.photos/1440?grayscale&blur=2') center center / cover no-repeat)" - : 'var(--umb-auth-backdrop-timedout, rgb(0, 0, 0))', + ? 'var(--umb-auth-backdrop, rgba(0, 0, 0, 0.75))' + : 'var(--umb-auth-backdrop-timedout, #000)', }, }) .onSubmit() From b30b8a4e198d6c40ec202b30e970f2c300122fdf Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 09:59:29 +0200 Subject: [PATCH 093/134] add the welcome greeting --- .../src/assets/lang/da-dk.ts | 7 ++++ .../src/assets/lang/en-us.ts | 7 ++++ .../auth/modals/umb-app-auth-modal.element.ts | 37 ++++++++++++++++++- 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts index 3fb582cda0..cf53ada307 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/da-dk.ts @@ -1014,6 +1014,13 @@ export default { renewSession: 'Forny for at gemme dine ændringer', }, login: { + greeting0: 'Velkommen', + greeting1: 'Velkommen', + greeting2: 'Velkommen', + greeting3: 'Velkommen', + greeting4: 'Velkommen', + greeting5: 'Velkommen', + greeting6: 'Velkommen', instruction: 'Log ind på Umbraco', signInWith: 'Log ind med {0}', timeout: 'Du er blevet logget ud på grund af inaktivitet, vil du logge ind igen?', diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts index 39c6073f9b..00a3ebc3a2 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en-us.ts @@ -1011,6 +1011,13 @@ export default { renewSession: 'Renew now to save your work', }, login: { + greeting0: 'Welcome', + greeting1: 'Welcome', + greeting2: 'Welcome', + greeting3: 'Welcome', + greeting4: 'Welcome', + greeting5: 'Welcome', + greeting6: 'Welcome', instruction: 'Sign in to Umbraco', signInWith: 'Sign in with {0}', timeout: 'Your session has timed out. Please sign in again below.', diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts index 966f86044b..5ed4f90fbb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -12,14 +12,33 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement - - ${this.data?.userLoginState === 'timedOut' ? html`

${this.localize.term('login_timeout')}

` : ''} + +

${this.headline}

+ ${this.data?.userLoginState === 'timedOut' + ? html`

${this.localize.term('login_timeout')}

` + : ''} Date: Mon, 8 Apr 2024 10:09:48 +0200 Subject: [PATCH 094/134] remove unused assets --- src/Umbraco.Web.UI.Client/public/login.jpg | Bin 366426 -> 0 bytes .../public/umbraco_logo_blue.svg | 51 ------------------ .../public/umbraco_logo_white.svg | 51 ------------------ 3 files changed, 102 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/public/login.jpg delete mode 100644 src/Umbraco.Web.UI.Client/public/umbraco_logo_blue.svg delete mode 100644 src/Umbraco.Web.UI.Client/public/umbraco_logo_white.svg diff --git a/src/Umbraco.Web.UI.Client/public/login.jpg b/src/Umbraco.Web.UI.Client/public/login.jpg deleted file mode 100644 index 6b97f2c9439bdaabb9172019081f9afb6b87bcb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366426 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
yu9tN}s3Cwo+N_0sSF(yJrXN0wmd2gkoBF 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≫0m*T$-UoS(m&+$j@TiDQ#uA% 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 z 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˦#& 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 RoZB^R@^NtHar)np{{sh8y1M`X diff --git a/src/Umbraco.Web.UI.Client/public/umbraco_logo_blue.svg b/src/Umbraco.Web.UI.Client/public/umbraco_logo_blue.svg deleted file mode 100644 index 578bf592f6..0000000000 --- a/src/Umbraco.Web.UI.Client/public/umbraco_logo_blue.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/src/Umbraco.Web.UI.Client/public/umbraco_logo_white.svg b/src/Umbraco.Web.UI.Client/public/umbraco_logo_white.svg deleted file mode 100644 index 01f7260cd3..0000000000 --- a/src/Umbraco.Web.UI.Client/public/umbraco_logo_white.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - From a15f22f959c0c313ffeb51d1f9e554e01e853cb3 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 10:10:02 +0200 Subject: [PATCH 095/134] move assets to src/assets and remove unused files --- .../src/assets/installer.jpg | Bin 191322 -> 0 bytes .../src/assets/login.jpg | Bin 0 -> 366426 bytes .../src/assets/umbraco_background.jpg | Bin 30678 -> 0 bytes .../src/assets/umbraco_logo_blue.svg | 51 +++++++++++++++++ .../src/assets/umbraco_logo_white.svg | 52 +++++++++++++++++- .../auth/modals/umb-app-auth-modal.element.ts | 4 +- 6 files changed, 104 insertions(+), 3 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/assets/installer.jpg create mode 100644 src/Umbraco.Web.UI.Client/src/assets/login.jpg delete mode 100644 src/Umbraco.Web.UI.Client/src/assets/umbraco_background.jpg create mode 100644 src/Umbraco.Web.UI.Client/src/assets/umbraco_logo_blue.svg diff --git a/src/Umbraco.Web.UI.Client/src/assets/installer.jpg b/src/Umbraco.Web.UI.Client/src/assets/installer.jpg deleted file mode 100644 index f0f5de8695c4ad6284a7ed6f5031e1c445834979..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191322 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

#ln95|EI8(sR+#vBZS}rGqyh2EemdNvn zMm64F-2PJ_t|nM;>x^Mw+Z5QoiX#MlLezccLEnPs+yi$e-g2!&53VJ+Uohr$S3|_~ zu}A4Z46r)>@Z0@Hwua3UYkvMKIHPD8BMlY@eD-Bl4Pl3MV#N~3yYyN58Hd~p%DJW= ze#eempDi|V>O4NPV3e*L?!{T8$vUR#ey}Xjf_Ir3UGoBq9Gm|Uq?)oq!WWt4f_dg_t6QBCov1QMuPojg@qk5#L9RSGcUA| zxvu*L?HU|k&l)K@#>sOtyq(b03w?H0RNE*TJ*nMV->%Wv7-;E!{9#cPb?u~RWcIGP zXv22N+%0T$IQz8ZlR+OiBX1eM6mdE1oPABVO`_$UI_&kuA^oWpV(Hr3xtnu#&s8b> zCK#qtRd+kVv)AYt;v=Xp#PiYKw~G67PONov_VZkm{s`7(I9teSua}>sJ9|$;SXiNw zV|gg?ENr`F&B}G)X|!klqEaDuyUecahz4r={=&o8gLb^tPxDvz{qKHpt7Epc^+^$V z_f}J?4qkUv`bSxG&)hWG!_=X#Z-MuBBno&=Y=DQ}Yl8Fg=UW9Hk`;P|~!*k@`-@qPrxgtOSwYmmsBTcPVg zO=z@#cnqc{T4n-$r{b*r3PDN)=wzqSXY8k>!Fi4JU1&W%tmKTBEl zD2(OQE*VR~3}{GI)Q?5EVe?Ap(FX1XfBj7IHeWvYejq-zgQ1^+`EWtx zX{uDZ3>NLb?a^1H{p30QNHEe$6#PQNGBI>fcB6${QBBA{ce6NKHrV*G$1}LZL`dPx zo8@J{fR#7V>`3oFcbi0I5R)QZ&#|jR%2v6^MS|h-A9S&j(J3^d?MsoC0Akm(H}P8L z{>)lwf@r*FGKaHJS$pmHgpA?!tU#r6&gD($aZ?ID7F35$>w)se+&HhMPk*{1lW-R+ zEbfamXh$d6QAIT^4$&Lh3@y;!gQ((YRo~oX`u=n?_O|sl7FWiSUrGP*Ruk#tjwyYIB=^O5b`;+f!SD2+Ml9wE1>G5X1|Hu6}rhNIZWRDlLLOuM< zwWnzo_iBD`5Z%9N2|p%gUJG#(H4z)Td`W!ZhYDxBLUwyWSNXAboFih<6sv*_Jh-_f2-L>&mRqTZW`s zy?m#QnOO*W)gwK9s_^Q+ZEbeu2z8?<_Uwfq(^j{!uw;?5#;uz968Ro&Blyc4JC1~W zA%j3kn0UATp=1W1o@Ynx;Ba9P#oTd~)hIE0;K$F^42rAOm5NTA*xFZ!zDuRw7JQSB zZJrG|a(($HSNO{&O!K~}SRs+GC~5ayu$=ou1)2X%V90UU`3#?fE$QP+FV_8JmYdPV zayPU4zb~!@%FhDNNIUosl6z?A9;+azt)B+}@O|k<6;+apLpf0B`*c=Nlyq0V_0jBX?3GRw)9iMV#Tpswe zaPU>eF3BUq9vz}|$wcE$5>W z#oGTLq_G^rvF_bR`P*-+wcO6ljq?yAq@TW?_#QvCv4`XIvlclp5Q^gblI!tIqJ{Pe z_HVW<|9wHE9ar;VZBNc9l);J#x^&vK`2jKPm0qj@^U(NE$vf8VRUNv?OU`@UQsfV4USKn67@w^>aI{U^p8AV9g$liq1kzE6Jfva8X6?C4Vq9h;;QOcKO3xF=0JTJagrY|Y*}vExX=g? zrwY!a!lIZBvgFu}2~BsdI_FD;=sRe@K5^h|iW>k85Uu<6u$wb|>ad8Qx_|0Mo3ii6 zM;*B@82TAyL_UnQdmaZD2rzTk-~PH{CEj5u)xUmdLop1AB)ZI|eno%Y}I$2lu(p%2-{R z)K;S4j(b-S`j`DaeR@lvtz$NBximp?Jpfn8lrLj>pRs8k@L_+y_>JlNPnh!2?{;cA z>&uv%@*x5hZ3y-&heu$>erzVC<9YmhbraswGE?KMXU{hBrA1Wvt-bW;R;@)S^FduV z?Z*P-75u)emVq-aoH#r+O0Gu}{he#ghMINga;2IDukml1p_85pIK1ZXP* zZ-;lb!e1FZ*CGZh*Tu8!{86m!d{(h>&m&VBaB%sbD03A@yVm?~NA8?%QBSOp)%Nzf z89ze%rka5k_Iw&L zRVqo9j!lK>0@e?u_YMn{$g&SQScAMVi#|=@w~3bGe9Q|z;IZIS%StmORYY*T_M?CBGtO_?WSJ9bv55lP%AOk` zIE5{oF-DcusQ4-uyMXB_(T_SeQWHU~DTwcf=aWCL?gn~HRE#6bgm}CJ@-_U&^rgql z?$tzv@Kn}gv3#Zij8kd*JnzT+_J`3L?5F}ywv3(Wl{ka5Z*Rf5XMTH3_%|jbU92}+ z#gjw)4-(SvAd}!^0f(m53Xd6lPtgaq; zYSpi0bE4Eibm;kMxzwR*F>Gnl!3s9-{+B)LWa$ZObgydn<@K=VFIGML#_})nm|r3U z)dd9eiQ-c#a6kArIQ`wn9Fs)`%&Rtccc;zM>F5ns+BD&%c}-|eaR8nKSe`gVHsQu> zLvHo3JRNi^n44JdVKPkX6q`o!iVn(RS!SsIqSulOZ5(vZu-)c>VRWIXMJgN z#spKvz`FhL^y(Lc?9+0&_?^GvEGEVU8x3MROBFAQ5`Vjog{9MaZ0!f%dnGoIF5^GN zSdGomlrk;^7MN{0x;o}Dsn!3^XU06eIkE4ky~Jf_R+9bGX-SW%dWyeLKTUYzMA2;m z@8ymCWL{eMD@J9nn(})6#`8&{mC9CN-klT>6X>a$>5_(%3bXVhbOV}sV!f)zXPfkQ z>XLGi-73$V#|Arq7DDzLTW$U~Y1bIM;F{(MWc_c_HK3??hWQ zN|9RmuIIRr%#Vi}O{Cv!1fNK1mHndw?+#sf@W}MX_^0uDX^LhN?b5dVGE*9;U-yUf zcxwQXR4$CtJs9yAG$ZjL3mbE}kH1#l4j*RAqzomVmdpIu|FKFHdu?eLz7cHGpCDF; z`+TvR>g#^z@$Z67!wVx1cMRUXV-6rY?lj)1D`TeFQjt%cQBh)ZqJUDOGF7XDIjsP(WMSo_36cz z*(A@A=eNsRb?Dz!nSce;Gqo8|6abcywZR71?`Nm8xGuLp9#MRewt9T&P5Q5n9At}+^y4sNc21Y`shl7d%~Mo}Ulm{?e0P)f7P&&V%Du-`dq>cs6iJ^!@=N>YD2-M;VJBFEJ&pMN?uq^+M8 zl+Dif&$H%*l(Rc;D5D|~{hiLGHo|Es{$UY4w8Vrusmpb15;=@w;u!k#a0Y5!sRV6! zhFuwA1e{%uCcfg6XqG(iG3F!oJ3?%vzGQh;13iJL3b}b^{&03P`E$_7H6ww`LhFT7 zF2owgskiTNE@jHWVx?Gop4_gSt$Rc~y(;ell6te=xw75531WLv$`T;+cj{Ah*yHd^ zML}C7Av}i8*^6SQy~eKMzwy%0U7rlT(Eszp)$ZDixCUx!R_5%-elL;Q_JF(Lg+IB> zOwY`GnR(EspyIO_C=VZ@NZ5*`&qf;3Xtc{}AkK`4z7u8FNy+>FaCb*iYr znk2EtW;R&DK?I<{xjsundfZvAq;~yDoksp!{2m_+%)K`Df;nn2REsxKi`^2p<6^az z3qKyztMwl^zxv&JP$!MAM-zG9tNlxdAs_Wtuq!o};4~ol6*?#T`62b| zYXjCD-cP1~$BNbmLDYXj-_#@@2xNS1$4MT5JAd_jT=73Bb=zdx$m&6qrVNVgfs=6| zx7xICcw>{Me}3yrmtgHTp9>$pIAY=hC~SuurlIoLwXF$z=&WSAd|+sM#64{I`>&Sg zGJY}H{0B|=hUO_KkL`3wLk>m%LHd*aq5nbGm{*QAUVcDEn3W#dG)KUwBEa$@AQft` zhicII6K0i>If~EfN?jhdg8ktbTB=Tr`LLL6BaSMzgWLD4p!YYQl3RyE=RsCmM?S~u+#Eaj*6BaU=ttS~Vb?kC zZmqX(;QjsPl#WmQXAC>uQ1O?J^Ks+^|4YCC%H!lw`QIm48C*~>&FHqAT~PHCw+xa)XL_J;$-VAGC`zcw8piE@rGDt?iz7>9yriw0C9V7U&-Bnea%b+Yl2=3@ z-_*F2?)`pMIW~H`tbG6cqt+c%>za3&tfK!@7mcDd^#V;^eLmLSfwJ`zvH`+GfMw8* z_CRnLup$7}8Bs-UA047hS?=$jH9S2O#3>xFe^~8Wew&kvV)sD{&!-PzdYe1t{`lv0K`H|ZAx*hBF5 z!5dTme~-vwQ1Rs~W*yC&W4mKpe(U1)MVkc6vbqBrPUIu0v~H(+@?YH+zwg>)4>BEZ87&(;9{6_rc+BwT zvdH$A8dX)-mHin6waVvv{6EU>281l+do-K`r;|tJf1lt32K!roec^h)6n{4H50Bd5 zLTSPZ7ETYOfR&DuB>$$C0YPlCDG_Z-RCf(Iq%AtADFPji078CRx^}G0VAXOxh-IwI(%^9)L ztl&S3>MD-2TH?|Qfq*7!MDL8`+|26MlwZHL{m(D&Bp+19-n<+af-`lm}g zQDK4O=duspS#O2S^e!Pu4o979>Du}t(+LuATHZ26c-LAj4%nO`I_Q(JDB5=Nu4aZf zj{mzd1f8d0&Nga1o;mE&r$5gm*s-O!Qg!>3^~(zGKy;V0n&gJ9LhJjRz9My()azA> zOfVP>dE)THgXY#v&T5sTQ(uTo$<<{=ur}`hci~GY@DB+65)4^7c(-_ir z|Ls(d{BYY?^W=TPoI`IQsC_GKJNzEmvulGxvg>Fax8{Lc^Td(GGjc!_2M_%JgiY9& z=aLIe3H-O0i_G8exDYf<`(HeGU|{U&8vtarcdjJgsgovJ-x2Qi+-MJ2&9rDhqk#C- z!tqeXZMM~^_MT^>9;Ww~VkkPVqQN2a+J=@hp~Lv-wB_l68YM&GxtySM!*NA(R?=SG zmr?~PM(wx{y;SF=5<>}jZL+lGq9bdbUB@AE8>D)J#EldP;yqc~$%BEKd=%@`M{WRk zzTS=VSp^GB<33*iAR28dUs5_9 z?3Sd)dgsNXi2v=)nW0*H5S z(N-+K{eeC)TdllhnmDrHi(THAFXYC(vGs4th=GAH{Hx=>(j?>1j`M(ZfdB6OgRSiB zDcl#rb9G|j?5@{c-+u}WA>Bde7g7ajT&3vG*IwAMxu_?Ir?IELlbqkKTs*q<2CfU3 z+LI@TH`;%~ijV$-T9)$7!XG{Q`b9?rf0Eig$i-fTCx#&)Ghbd@<7907;8|y*{{EzF>^Bk-IsqH z|1NJ7hcMIzf|v^j;naG9vZ%p(fe%Co>NsvD--=8n>&=lh6&=+#OBAW62&g0*K=!dR ztnYZAyce<>jpz4ytiEk?iHW@$TP27e97?1IdfkVoprrFfMX_p+Z->v~{A|lKCQ1B2 zVwaYJL;$S^9o4y_sS737&g1&OxDKg5u(n41l}j#J|6SB_|62!gY`5O}Qi|{M%HUiX zcnVsUm-?l}_rE>;WUlpALoKV4{L8Fp_7tq8S8@3s_mw_YP&!`?_O}H=mO4rC8JqIU zlnAvLcMI$-QPi=((4%KI4}2%ASajNj9db&`?wvP^STpll*&x=Jbvq5!wH(V!wg3rY zMg#_|jSlK@j-{wiggza5Nt=oKrJ8@3PWf|5oZI%rp?Ejvr;u*O;Nr@l`dp5G_{VX( z+_~>$g<{P4%J2Dp`@8EARhaFyvhuJ}$i0pCbF{OTo*Q{3IFE5H+HdiF(J*&-*Rkwy z1dJ7NBRt>%NdJU##Lan7&M2iMHetSLS|jXr`Js?02=T=xUMwrbfV?t4yE ztkrjGCSN2uyqt#7(NIP7Mj+2g^xPS%@EH8fu5DkMl)c79VSsmk(UEy4$E~!dTu^Tft&S_`EuT z6^)i57FD}#9-bZ9kiXjS8meKFj326kXPBHau*wyQiWLpB9Qo6AHguPQg(qGXy}R)3 zJ1Z+I^~J4KKOARW*D=RcV#P5Vkl^SiQAI*0I4Kh09hy>(ox1FYPl9U}J~b)dIojzo91T@oBy{}-D*@1NJi7Dh9jIatHt$*&fqj4`w|EUU5p)!X~ck+#IR z$hHVAF2s>rEt{@Kx; z)|Z!Xr9@pXm)~3GmP(VkZDqY#r<@BeUtKoi(rNXrt%$6GB*G2%2yzhdW{5WA2N|Lh2tDk3JWHr)f z8Pii9>ff=^O4WSeQrE!vFsD}pS6*L3Tz2i&tUcd2%PH$h^iNOejiid80sY8y5R82R zCDN`=4%CJOku2#k^1B3~_;0h@o`~SbRVKead3_F(Sv-(sx@onnF*vjR&bYDtz8qz3 zqVz!5O-^{kyUFBsOMuG;c*RNh>6{^l+VmW$rbt&UDs@C&o-{!Y-Ka0W7mfbEq+PbRa;^I*FReB*$j(Yv zo+bmC3eY~eVsRz+lI-b^Pv`gTDBoscF+%HTs@m%!<13pb3%bB7(_H%F|yYqb?06V7Su$^W~R zU{k+xo)M$1X{TFo_o4TrT%aRs*Z?PZ>C@K`{LjL)bPOKK4y-SJGE|s`D9~zcC9nGh zJiq~BMH6247H|*rf^wwy_?<4pSPfPq#*dNoQTN$Mn*q2yBmbEex3N+(Cj>UH2b>cO z)JwxaWgby*zmcRr;`6|WaY67#0#icuQmjezx3KQAol8jLL$7L@#ed$xH>(ex=i-ko zyMoSc8TdH~d&n&H#pd=cn%D#EYB%I~b0n$bvBHw8uf0bSt;M>`c4&dHJqAjBY}rX# z^_&Q6#H1M|JWbGMxGgLhyVQ}T`=GRnf&LWr+l{T?A)GHOYXIrwp6?EVAqX^}<_EVX zC(Q>(zu88OXJaYJ_8E>=Q8BqF5uZ1^Fgg?Pq+WJ6H=A?*{Bs-W#kaiEsfeuEa^F!Fwd8l9g+%=n!oW+M zo${S}IB26_*A^+>9sfb;i$?nXy|?HevU(SXv`x;H9&-S~t<)o;ACjd3B2Oydc@Uk{ z!83t+gGQAfOd65Ksr=Ukzf0vdTEE`mVN2sSyp{i{%6ebC`!d^jm`l*PqHg=$t7uD^ zg&*InHYJrE;uYk((%UCce{ah4C6V0`+EhjFznCn9>IbA@or+Xke zI@sGF#Y-s4wrZ8xEvoah0-v{bTRoRSi_OuibO?j|KehxI$rIibJXgK=YP%g>LFr35 z;Ts>-s9m(9Tqu5W?}r~5Sn!=c)T%jX&5$|H`Zgb$WfQxq>t}-F8o7BXo{-8nN7^l{ z%Rq%c9`;!xbLuAvMjDPC3thS}ucM8jx|qW3*m?Co$QQ^GOF^cEyh0gE%dogamca4Di06WyqmV_{K2mwR%RG;Nbju zR$?p<7rXz_*)O4UDf4LMskY5;f4&%cZ{4l>(-HjGHv7U-TYFdcxaH76_vK~@?z!7D zbLLkFL7&X-vP|{~NlDe;+V%Kyv)J2VVOmo&U6FN`VIn3XYlITmG)@NENhD*VeT}d} z>ib3S*Y9YJz3Jsgo|`v(S@-v!a{!qE$XQ@ik#rChV+s0Uf}K$uML}X`IwR2Pf?zGE zP)ayf31~m3A#2ttwBHnQ-J9?`IaIunL?Q2@l>U8@dg(*O~wxNR7 z9_??GFQa=oJ(clC#(jNh=d$uud7PEs*fx*-Znr_YL%8!|<;ve4oUQhj$cmFU>`gFhGc0luXr zKtbHSUB1$J+QiJg;J_e%(UDy&fA;y4rP7`>C9hGB?Jla-rn6>{rsc6**#zuwQJ`FA zh6|mRq5WteXgIPKhAAprnO9#@dq~ zf7f+>|9dj^Jm#nP-0ov7aW2DR`qt{z_E~!0p9zOo%7pYLl)E~mAO2y)oSiE>eD&2N znl#46V~e1=U|6#?BzNxlNHr4PPqPx(e*ElNJ4H)jsFY=?kFd1;%eP5n_OfZ%&y`QAwwN{audm*-htB}BUbgVFH85~&v&h||$^N6N4BK+M z`XBc7zPr=8Gl#b3Yy}c6TwY3p7pNsGC#*V5lVMbEZhX8KVw2eRnH&}_Boz&mSR+7O zlqkqxxuWD8SU-x>15h3e0g@Sz6Vi$Q{b%DcGX55_2rrbIY1r8jdp$;4Mwiwc-|bNq zV06JhKMV7pVl{=!p~z!vE7)i*(lxhDLh<~yFr|aX*}{9zHTWiMbA$KU8|Q~L7zT%= zJ(f3evy?C8y^M!l-c-U5EZ7$-vmcdvz#6Pa(g|eT4**9PxP)tjV18z!jK))~YG_CNnWpV)4>tVVa`UJ4>{X&l ztWgd3`?9bur5R@fW?QSVM)=75k3V+&k1kofaa;JJ#QnJ1fCUg;CYtW1XYsT30Ye)^ zzJzCw<0(vU`dh=UcjA9_th2Bn^*_KxqwZlqY8S&h^<~!#$oh>8+;bWh@R4%%Q-@ax znkzJPpxOlqG>ALE!YADaN_SK)Ox4ZoP@-`%^VnLH!Pl0z#MtK_7SRYLp0Y{L*fSSvjRz7hx`^~ll-ZQN@ii>gcf!DZdfS0O-sApPH-vzCK#>K^i0NTq zi0DmVA?mZ5&@+&HBO8yly57GHIraE@|T*j-&-Z@eutvtB7{ry!lO5cJGnLRz-ZYwXxdl2T+tYJhR_L$qmn zw6Z-euC%uUjuIYJV6RW;vo~tBF1Ht6`SJt_+#hTah6XGQfwW8Fqt|2rG**BGs^F%a z!y((dFJz@NV8!rgj_TobA-%RnM}p-P>{lkS@X+4?we8TW=j@2{BG#iP4UCic3__b)d-H=n85g)G&xS@@00!BWpu81W z+vRZ*-(({|`A7%s2BKU+QER5Wnuo z@0hv}Lx)=C9G2iweEKX-_&jqz$A3LWRwJ zc^6DiIE5zan~v$#FKuM2)l8g{is+{SMF&Ke z2eMOlu<=k2rWZ)?&ndjWx|Zta*RBS+>!^Z;h@@Q;j+LnMPXjFM0;ciPC5U%YQL5^u zcC@gBW~tfn7BQLTQmUc}`l2i?Wq z?<2Hu$d4quB-!ka^^hJTWzaWg3jgIwM@e7GqbJzz&wLF z$1MJlg1;?cNB-**l?Gr9(>+d)`a2HX7*6&8I)O%LFueA_7QG<(?m@p(`iUWr2BFj zV{z;r%mND1IVR~LUezNuY>6mK#~B${B5|)^E7xb=HtbLu^yoYA6`#A#ZCq5CwP?WgGGr!Jjs32aKF`){Z)0I`dSS`E9zUon{;3i(2HIE-OY0@0#R4DjI z`zm8p6JAkePLG@SEX=DHtKHh24XGFq0{12rqtyH>FpUnl0D=YsemjP*B+?$J&R__5 zrE>6#2)dz1qcVOaGKsa$89SY4wwI!RXA;l6)HEA8OQKHs5U=Y{30TnNJD{a;>cRN- z=X{yLj*q#{s`ytZ!Cuw3G@s4rAzxvkCQNI|SWDn)#%<|ce;s5-1UUWI=HHtjpq$l(LsIutxH8d)%`tk+Cj7t~eh z0cB?oP5M)SkU`)p4I~I6t{oWS2Vs~Z?IHi~14at7{t^9%2DV*K&Css_NdX=Oncgy_ z^sAwZO^tzWZ`1M;AIN;*H|N@|{mV4t7wI!0vdD0y?waZ>Zr5YkCEeYJ@jJVPL&Rkv zs7JSBkywxqL9UUYE9U+1s2+ma1%%k16YL7XpbAgOs6^>{#8EW}%hLMVmBNXm-O3yv zE;Ig`LTyg5qItZOST;NvT$d>n6U`8bsM_{&>{aF@^`})>Y|@o8(j+C;xS~We&7RLD z0Y`_{vrq&?CCw`cwh_?_edsxbjqPQ)Ju4iC zZ+@QMN6`wjZ)nE!qW#~omi}6wB~Z3%QeznRZ&}M4nYldZf*0)JMVdLjqwhQP*OHX= zTSjE7gk0Vb7OL`?@G_y-V5B0ylbLqI`JQpq$B2Z*s4Bvq2=P+m?X zW*W6T_cFnr+iHZVQ#qz7ap|wDMBycS&;y6?CQ^|-L%vIx{jw)Mm&?EMvCnE}Wg=br zvVR?a^KH{V2PM=X*c6h3!?-)@h0|1{7L6VDSSFut7A1E@J`zk*c|rq$y@de%49?OE z4EVY|kC3JT;ROTkmwxsJM-^G5J;TQGh|F-Z@87uy!q;8y;prP)YD}G8XfuPXqxsCvK>U2DpqWqSaS zGZ<^r3YPM!AQ2yEz{~`I8}ueoRY1^(pn#K04WjJ1xy&{lBYM16?X5yv=7=J4f2ztS|32>(QCN z+qq#^iu%|sXeraG**O`gFb>g12@296af;?-XsJ>RD-tH-A|%B-wR9+hRR%y z5dl+GO%Mot?C3u$GN8=ii}@auL=KjhcHct38*6dTh~hW#iB)#2%NumW&U`EL9Q2+t z_39iHwjK2s$B+?Vzr=7gPg!2>IhXcy9qr!R-12iqg0^=skfnz<1OJCi+tnEZ&OsMFb&c!MH5f zsleNl9{9u(S)-+n%=|+orq=#E=kfP}D#`XPg6ouPrbbzjT#MKZ&iMp*2oKlb&>QPh zS1BdqQs)H--+f6(fh7@cK>(LnEZC}Uh?QZ1=&$-jLT=D$UAQ>=EzBOTQda^zXmybXuJ z|9oyE;ooa^bSM*y&DI~)BuqK!?G#Skb6xkB(T4aw{GdeH-7-e7Y-lpRMn&@ zSr(F_){awGrR4==5FBKb5w!8LA7pzW9tXO92xwN2cS_^lz!+TKGCum}HoR@BLvBZp z-}<`h_nQ3j%0OO##TBm5?9{cRcE2qjd(3B=!f2A>balJj*?$X_*e|A4t6h2J9$7

MIUKgwQ(Wi~^%Xghf}vy^-<+Fqty_Q;wG{R3n{mTQ;C z-q_R0ATqo+lO_?TC3BbYE8SNu436w7QHExnY|BJ9R<2E(t84=1y8ZVu#Kj^Ed|UM! zvx;(xTvka$FfS>d;UvLRiDGz4Hwt6ti*yG^f#;zL43PuTJGc#iVwM}{5J!1`zUXvO z<}2+poyyN*JZja1FBCJn*5#O6brNjNvSgvNQfyMrjhp@ttTu(qgabNAelBSN+D)GE zw3XpC-rnBolwT-ZJMLAwQIfrdos0|6zWc{a*R94=tE55pm>yLyPUiy+T(-ZT2GgU` zqqrOaf+HlhD6;VK0-|@N4Uo5vl_)vg-NPj#tzN;MH*F2d=MGql} z7-r@ZeTfP(ot>BNB}9!mT?jl8lLPITypDNrryo{S-6*{ix+N^m$@1hzSN3DGM2U+) zK`@_=o+|5Hm3G68x<&s??-}r z5D7s$FM1)U2jb@XGPyMY+Rs!Bc8UiU7vmNY&MHwix;1Jlm9EEJy09c)G^I{5j9LmV zwr#SC!1Pdy6<8@RUTA{p27UD%8!~HOQvI6wouww)UlSeVT7Syyfb4ng9Ufn0-%fd`tNZ&RLDS~`l8$e?g z)E`5Qfr^VT{g4n6&I=iVDMk8llNK`zhmFi<#`I%ZRjHU)K?giy7Ya{?lpM9rj@hS7 zBP)DRnW7z&q+!T7lyANUy4fc>iKvYjP;4MGgMHzk`&i(w7TqZkJ64t zz=3`VLBnZJ2X5L31hpLoc1{u8zA!rQ-fsXONVN&|z-xxHB$(dLQ@m@EA04m{G_|d* zth(BBQl$!gDwtI(&3_h#9C2+4n7hXNq-8W--I$p#83a&#L-KRgZ5Ex4V$Gr{pYQZk zz^&u@b0Bg`j|cE7h^m6&1%?L*R51{^T%xew3|A^TI5=c8cIbPB+-6J2 z5$7lvG&Bmu&_F&O4dCz5F+2q}Mcx9U1q|?JH7b}&55Q%6pTO&{K5BdxcqVbEG>mX- zyz5S3`vRY!RHMEe*Wb76&lGljJ_{$BkqlIBMcTpfv~JC2QD15cqjE)@`ZNNAd785< zB#XEGQrC%}!wkA~?<;Jifbn^N8Ek`rE@}o|s@I9Yk9lthP$hvy@FKuCZX~8h5R#Iy zasT||fFeQPJYu{VqF3lfU!lX4hR`m%Bzt_q-aiS`ORxcPen$E#ESsAEV#y`rH}|-D_#s! z#3&>MkckLhkUIA!xnB&u(fC6g{VuPn^x2$29Z_W(>4PAl75~b=D$~EaYe5Lp;ghbA z9gS0kG05tti(`}i{G7~B&v-?|4lA8azI3x)-*SD!=&|j!UqzgfrF+UP0b~?2M3wID zQ2{~+6)23L97u|)7tzCscoO%24BW#&V~k)zN6KD0*SCK3>I+%kXXkE9u->c(H61b~ z{*7KV>Y?MxkLiQ`IR?Fqaz0*W1V5&aUoTgJ>u=_m^&KOI!L_=A^^EeR%DO^p{i>`h zEd$Y7C8XFT>$1ycVFV&Ij8= zo4Q4u@772YV8$KzdpK9sXj-GLRL|D??97P;hZ6$N#FJKmq6r0E(@V$100)D>ucpR4 z%mL&Ch8lC@wVEBs79qdGv~4jW_I37H3cg42kE6RA3xi? znYQRl8DHM*jA@S+MFHXD$pVmc)DXv6UK$R2bx_SkPUB2D)H)lmPKJ z<$fflAmgbTsV$`d%f(cyPqmN+1?}hRC-qRyo)I%+3F}* zW^dnuVXZXqVW@d-?V+Moz4xw=*x&Av@|tzIDSWTq7P;GcU%yqTpWzKS++Y=8#x>O& za3WxEurfQ>Bw7f@7t5LMp^6oGw?`(rV1Qe4o<_Wvx%0jSB|bH{)3xmIlCRn}ydCtC z=dRR=P_=zLe_mL2=G6I)11aB58q#c?pZ}|<(BB0+%^`C}LkCQc)%SlW1`;lhA8v6{ z5LvT7hZ4xj(QBb|Mda1snd|+=4Z|;}UUP6jDgw`9K#?H}!N7!m*Z4@d6h!T$EI0IG z5eSQa&wbwGI_9`=l8wLVEk%}Mf4Vp2JDZm9g5SSrqb~7GB9_DDjDGh0p zwazH%rGykBs8JZ0A0`LY^i^t!?!|m0`?tKm>Ymw`%rt0R5Md7)sru&7B>0FrvbT{H ze7o|ucT&;UD}}wr4(1f_hnJjgBDX2nL+6B_r>hVB$}hz`DwnJ&o{QApd#p3IZK!mq z$^B2Q+4@9{=G=>JsjM)Ysr;ASqa*c98p^~P5HxA@lOupG7s&x3o;-CGjZyYY;##b! z#F&o^&1DVW8AkKlxzq9M$JI4wI>_u)j$VoN!TF5k@m^EUZ`6OCNA=Y8HN#m06Z^W> z0C&ZX@WdC|gxma+1f{fp6`N6uml&2%U*9il5ftrz+e~>pK3j5ZJO20g`+8f-LE+8n z&?ACmseC2U}liKpX#?&NCP7grF=s+q5K6B{R zy@R&SjHu47qC&sO9N9V@20nr1mV!bTw5q*D>q&Xm4Q`*`w0}=`p548I#G9`FlmR8h zFVG0U5V}9fBeh3=bdDc)?s#!@ zWv~2mTfEw;7>@rEJCK|>qHF8jP2oZA7Mrmp|1_Ol4=r*z@(KZlm5PMyY5PHx1d#%A zKtAkpwQb$a{r?Di>#(Sr_Ye56EVv-Cgc71GNQ*SWBH)se(x8N(q@_Egj2B zr$`A%s7OdkDhNm}-5oyf;P>~w|Gr1B>$x7Ub9QF#_}rhlXXc&&v#T=qLKSj<6&tCw zJTf%h0w69F%*L|$xmMYC`He~GgAelV33F{Kj*K~-HNNUe{Lv9Q^Reyt-XSae zS<{#0&1-jM|3*vD?XhZ>0_}o~G9~a3NQ4$7+2p%I7o;oo?kDMKj{1~+82#jQi^sAz zkdB>;oR222g!!3KUg~gaPIndOt)FN}%~=DEzNc9c2tVGrPOpT``K=!Y<}$%pqEDxz z=(x9Te%F+>)W@cu)lCU32);j%eNz1Jr{A~cYL8EMdZUuYvf_^X>RD~Fu$$$Td#$&? zzBD05;heS>u=yNp31Tk`5FodD#GGwLJ*9Q86xG(I%(#QQqC<44Xxb3Hnz7k+Map72 zF|6i`LRvx&7W&Ysfhd~6$1kn12PX$s1wyKwHOhdB^h+?mBhg@^H2E}=;TQD+H@@BE zY`W=qB52v}_uW`_*7o+?r>}*zS$((8GA({WpduLP1_cJ>o}fSlR&IjWai7V{j;{V^ zM-QBvPNXCp8Gp8sGl>+UR7jYo$&0@=7=%b(#TW5lJHG3s=ZQf-Zu2L+VwC?l0`2aK z#bOXw=#Ar@HS2`5wLwe~qHnc8v^q3IiqHin6cL5O z1yK4BRt^d_S^xanHRHbZOy*VkUoDA6KvaOPnSt*<0qb0dpon()a#`arP_Lw>SIMx4 zWa3)6vWC;^EEQp>Wk}}Fn(*o<}?$ixolsM_- z<%v*WZLWn;H7-Ww3VVwydBu+OI#qtb5=hJG%(czg=@xrKxrs%I8Wl!}5(@${b`a7) z1`^%n?mL?FuuxPiUj&6{deTQ)n2HBH$S!68M`SZH<@=iT5Z8A_FeVrEge~&*MVFcb zGbZ~Wd3bs-!+w=&&6tH`uxEJMZ6Jb|yeXQUldSfne`u*V|dAbE3Rc5?|1L0n;-QGZ9> z<`4=obCd`=?S&4oL<2ytg$Rpytf2topZEUMU!oipE%)`#4WdeOTi@oFSWv(|Zx#Ne z!^AI)Q1V(^8z1H8qx5#ZR&js>d(o+B#Zr@LDJ+l!Qgo|X>PRSCRw1DkhO?m{4TzM< zub1uRV>MKAy!<1t7uCWDGL=|1F&O$K*kA*eMm`I{E{!6-KLeA}mkf!o>@S+z=8WEn z?=6h#@t^!X$`BGx>~(S@(8%nmyeq9vu%#x;#K1z#2-#iF-G6|j*MQs$* zZKt|Atz0|2Vpt%8kqifs@;6yZ#XIdvF>}dZ`jWbwFKY*TG_X5b1r6ogYJs~0vVERY zb-F0a^56-U_}TJ!)4uREJ>-vufd^XLZ$L%A39kPjRUE;4>?iz8!fZG~gpM)pItdB+ z*5HTEnIDpEJq*A2rp+!XQ5lX~z11HyR*|=}Drs`#991!DHY*!E?NQ0WB_F!DezJo-d`}=rm3xLN zSy~n`P+LEikqdjph83-%D%+gndDLr)5_x9w&PYKny30!L=HIe@j2LC-O9t^bFG+#s zr|$|TWr%&oa&aXeXN*U2!|hcVg)nrwy5lSS(FtFMUdtGk($8u@B$wk9wJmBE$Nhhl zvNJ7b4945Ri5T^il29DbGk58IMDTzTQiwzeq z#Fwa<^(lTPwq!yPC;x0CwuBh1W_D0;ESYDmJ9<-r^ol>{Zvj3Ke#zdvB=eLJE$^JS zziU*TuXG>#*aANgMmsK5iBtiy6+Euhu< zu^%Ov5;mlSy88Fa;gPIe(8i-u%J(rskZD_sqa$g5_o=heBb1%x+Wvyg{5BtCIl5Hm zM}JGK1&SH;+HasM?%NKLxjMc-WhmK!qG0)eT+je{j1lD?fI zxm#kbT~b$_21U1ygo!Hi`*-#z#XuzMTv^^-kG}INHqgr`Aft@Q0pePTR0M|x11W_t zFqT}Wk)HREb{QE0`IAx%YD3>@8wZ?He@A-46XwtQKsrD^TMY&EY5kPUbmMVbIkx2$ z24!ilCw9UEt5mGKrO89MXfgd=x1Ra%e{Sif;Qra!7tTS!_{B#`M&_A8@0=y(_OaBi z$4yu&%W7INhc4K7^o}bA1#iCrs`C95V#I>Y45*wC2olld8n*;VaC&{w=gS>=CM$bi zzgvV6hlxBaE;($nrtsI&abJ9O_@NaNVNunl9`T< z2!N*aO6J@h_6eBr5BEhRD=3(}$|s*nAH)1z?%D|C+I49)qMh%EXX0Y} zxGDKXPPmmT@I4FgoNrw_;gP?Vd%dVdpjal}al}WVxLT)TrwK~LWi{mlY>?b#EJS)+ zpvDTT@g!RnYO!O6-U!j_k#G?6r~hn?Q;C2>VS}LD%E>a_6~;Eos5NFG9h7n7y-vk@ z*A*3M82)PoOHu##K>y$Kzsm{!T}=Q(f`6UXexR!uQKX{;o7iwuc@WtW&q#1CWN+K^ z#014M7sDfpdT)*-wt4H*t0HrGa_Nh`8j!Z=7^Zgq%h~oD#zhdq#3HP!#M-l1*_%wh z8w=hraI7D$NJxo;*|K=g8RSlBIu}4}xk2*%y*DR}EluQhlo~Y8Q!l3vhss|Aj&b6aur4VEnPUEQ~ zEKu#F0^X{N;dQF^v=58tQH02ZyCPHYW@fu9#Te)&N4P+#Li+GXsf}cWiL={9BTeI~ zaE>q}gh)y0ju$H3oh*f5Cc27oE0~3m>Y@*}k=dSkRyPbhs#Q7SK#mQCUtl5#)aF7k zfq3DB`eBOd;@l6mL9a&Ql*|mWIbwnIkd#DJ4;(x(L>KeiIpTeWFPjt_a6Rv@Sz@y< z4QB^<1O?tyCyh^Z8cBe|O&+9li#OnhYX(%&yoUXJUxnFtz+uEo>WTu-7bZ&KaHZ<> z1*MTa^;=ss?LZh(u}s=zNuL&zI4+tV zx8ZZMzL1mYjd6@BoFkmM8bj$(MT?VzqlD)gR`eCa?$_kG3DjnL;;q@=dBmv%=cIJU zEw89Sqb52KDj0eBdD@D8SQzb!Mt7IVgwjZOGWJ(;n0%g%a9G3So*itz1_h%bBC<`( zJT8QPpcU9nc{RD`{&u9uhK)Qd2q;}zO=@?dKhVrm1&+X|)8w<>(HssWqZMzgjBQ-b zqja>9w=qT`!uz7wi}sg_wMmZ$5HJ){sczfFTAoyUvL;2maZpk`o1-r)VR#P;q?iq{ zzL~btIB=O-9v8%qLdj2w{j6{kyYhdS+{ERzxFd&;G5p4$Qk11Yz4C#hnMQo$fIOLv_l%jx z7~+O>Rao$=s^Q^M6CL!I0?Fq&vZ>*ooCOb}Sa!;)MH|P!>;6tLw32Q?n#UfP!tWo# zf~v&5ioG-zG`^JRg(k!=>R9@q;m%W^nlGhS*OHL>sD=uh3heK;xL_i6n< zNPW&C+O~MMy&Om3)?;QrR>+WdP?2t#PWnh)`t)XbHk@3IM!2u1*Jk2o?#8&%ij;p} z{`{_A^V_){%`@|~mMHKOvok*R*z|b==xy;6jtCCyJ(iobiz*}-p5Etf-LG_f_xo25 z{)U>fUfr5MdT2Ym^PErSj>4Q3NAY#J?|~NN?}bW9=eE&iilC+Y#|1s=oWfnjRaA+ed%P zCr5jCcTW$BLqq#A{pR9_f6AT13j`777iyO{i#X(SZY1#(igHAq?dF>_`JVg-DG<)6 z%x`}^$p75lvqLjDgyO-Re}Fy$jkwtt#9@N!b~>5juQxmK4!e&}Z5%acA3db@8a^_W zZGJiDw=P=o_GM7vLaO%%aGFkE{)`EgynK}CuPIVc)#YxbmZdCB_9Fqg!} zp2ujaOzGr@QBM_ImK*Nz_coC+51d@?n-IJ!5S zDJ#gn5)f_Z_p>j}WNAFWJdMzz0TH^Sw2Jr&x%9HKdcpF)y35efolh{EVTwZ+dHIV?6)e@Mzz3Q}1s0bg%4-q;xI|(a5h$K|vaB(`}FU zHwN_+`FMy;;uMiy`#!QS29J{uSzXMjmtFo?w=s+_Z$EaJSlipnypuIPHIjpV-k7m7 zchn?+R%BPvawDgSy5?QnxLd`Us0}r8(L#dG=IR@My?4wPPAC6^TxO@TxBY&MZ?M^^e(i~BJg@_t`$rfS=_7L*(D&kH`{J44 zn~jal+g?YLlqZeX{)4iA2=6pmA5U(E1PC^aJF%SJk!b&pp!%R&h<-ZXG+{@Efk=M^ zLy6+!Q@cJ}8(s7MUPPfOEJjs9NIFXxY3Nj*}B`P1|E!Ajm?Q^46RW$C}sRo_)^E)|$G->tkRV0=M6G=Yol{B`#C z{Q{0yVbc^1YdLyPe|bD z?#kOcc5!>X_3>;4bF&zp`66TI6W1FUKMsQQ^;t@!f+*VbgbY*k<5MRySc~^AdH?lV z@h5?da|km>lL8Mq>fr?t4kDKeOIc^^wNkf8Tt+7M+Ejb}*#G-sygXy)g+f1#jrUf2 zv-i&PfEQ`BBsg`%Wj-uKl-_weKKhDvZiT*F`kzvh;lZDR56u-;!ukZHr6-+PPW+o5 zvI4CflAc)NOxN`)zwECDb zCQCrD5D`B=5pAxCv_;L-L$|5o;U+p3>E{zRzwh1fthY3=S@D=%=+RwX->U|ShTxYV z`Qe+pK2G(v?K@|TJ-faF*3+|G7U>I~o;CLyuk`mNy~Ip8&3k5NHw7W0_2uRER5KvgH+P}^TVd! zBb3SjC#6ZW~dPNOEcgo~LC&lHrvIG;sG!&vMkRyU2_$Hh6K99ax`Llqe_`Z}&gN)O#!j~C`zR*9G3AlAM^Y2C4 z&rmSZVPbv0NlPLG3A0+W3rk7)u80#SA2oORv1cB#vFztP+$Vy9h;eW@5&W);y^WS2 z+hwA3hur>NR}K_;#pSQ%TIR*=tH7l8Vk4!)jf`X7&5mHu#yRVA^l!b)IEh!g*u)!&WnK_ek zZULRCWnX!irAbPyVFZmFSaHu}Wlc(CUKt%++tY^k)?=YycJ98zgZ%QvXVdM?TJe9l zM~<;7HXiE5iUx4J97HsGnC|wWq^tSoF+Jz?0*IScg2mSC?5dW;m)@q0cME<^5-+q? z4`l_k26uDgR5|M=3;4dHm=KV3b6VH%fv>7?SJ%!*+31M@Xc>}x?q_=G($uoo(KRMt zw_YVsYHrTY`s|J-QrSI2N*9aZw?gspA5O8HX}#P2UAi*01Xvw>bllN(q|3>}X=ZPm zX_eygp6H1R$aS+@%QB@Ctd(@MKZE*s%gTT&Zc@j*O0ip`8gsTKutHj~q z;c6RnSAA>mBVDy&vV<>VMX>SWif}FqUY3j@D4Pdif^WcsYJKktY*CV zPUQEP_9cO`Jq4!jn4-J9qZZoofkbBFeMAn%)y|Rbgbe%coi^j)!eA5Ss#ZKtYF_Po zW%rb~CS;Kwi+m72IkvW(f1JU{z$u3i<+j}Wy!XmTX|J5;;>v?9PNEVs=A|cOT<)B> zly9qeh{%F`DRMc@pS0KPS5KJYegsqpORTIlyPsp zUA4Wfh=#35n>#4ipJzyw*;u?_t=m18*x@m`!o%h6m|7v6nT99MSIceZhl~_PWsLQl;MI#3x@0C{pvuLen)$pt zuyHw-UdqQRn(}vutGaUiZcfT&8~)TEqU~lL*rkD79aD6mvByY)s&KMs)bsAQW}gjhLC&T-yf({A7E}{D>S(CMvkxQ(}72 zw%3iP)UEntg&S`Su2>y4YAYtb8rduMvEO(S{ucf8bL8&tO<$?BmFGwP`_Y%ro-719 z_=~BEM&>C<5|WEccMC<^BhA#yZ7Z%X?3VP{%l}F#E-rQXF*ekl^7{GH1=}kt^QRjw z)hi9lgxQ1T;-2b)`XHGjcTDd8-`uf6#hI7!*pb3}ZaYI!O z#p$nbLaASL{OZn`dH&*x`=9;28`05=PrfGKd_s$gQ0%7Fw2xGZkm^MuF*Eg z39DZNg)9^+``U@$&L6G%H*SvRFM2({?el7O_FxTs_z0jSl8#Q4sn`GS$#sGh+`yRQ z)zZLtZdDnJ5SlRW*Y_fN#pgfhj%?D;eec8L{XSW0fA0?$O}D{^B-&INdvt_bu(2AB zm-%V})w$p!;phvY>+a8GT}C#2n%3rDJ#5OTT!58%W5EYR_cGro9`)djjceGcGI*Uv ziatJV<+72Hk!H=xy4w@oJioTO=GnjyjneJKfcGJ)%nZe&vRF=IW5m5i`4!`$>95Gg z8_y4$C6@fwo7I19Rv)-jerS^D$SfQuWa(Gu^HhK{eINNyy3t{L$0b+>hCU$|VbcnU{vL^!(m#Mk!(a9{eRvFP|=1mCzKrG2%7C=Xm?a@Zj> zn&9seKX>r_@9Lr1e-Or_K*yzXlfP=zMJpfyf~u%8^p9lt9A5CnbohhN^AZvQp|7zZ~?Q}O)9k3D~S{iBBuo67HfI?ZRjB@>W-B#iG` zO5OA5uL)WnT&U&87n_NDHCkp#Vgo!Za>;5BS?)RhlwLhGI;CI5V}4mGg7V?`8x0#Ea4zwYKyu3f!B@Ktr_t|rB~M*S zHqT_wJh^Y95B(S$_WdtzKQ}4TGW_Jq4H$5tK4PcGo<~qiiICm_!S8E78u@`?`IOOg zH*5Xbrr$>C%=7_z>%doZ9?V2f4;oL-;y=%nUY5;@?z4H|v3qh`w_oxXM#`tbb!VCf z!s>>H>{lW2mhC%r2RpmRS*+u`N2lh6yWW=3uiIU;vX==vr}g-Zzgayy0#;lNzW%qN zZ;Jd4$IRQC-4Jxc->W!>urOa1K|&{eF+D+61}#cMLp4+wsf3zr*&mlhUHYc zI@6x}$F5)GP+GgzJ?Z%T;$LI21@Rn}4~yGV!3n(+naao?WliSsWyQ+w9PG9%Qa;tu zVJBC!SQBNk)Cosd&(4mf2Wtf-?p%H2@522i&S8Aw>(`E^EU$Mqcn#EK4iPq<>d@r&Wb2%8eREnYvT^6TlIvy#t>Hd+(!-Yg$}hgQg;v^hCrx2wxNSeAa89 z@TO5qbZvhgU-m1bNA{{>JkBWMlw&b~g{=5;33HAbq676~JsX{zION}Qw{OXF|5)2v z(&loD5PV@^Xdm2`iEGdJH}&`;hw`HLbd^%#xMJUKoylR(CisPSMi5YgRxN!_;( z-bZ5jKI;jYWL;vMil5(oXRzvy6eQ9|m8zyJKYb_79PSj7XPM4MWZ8*6o27SiV z%<`tD4t|xWZ*T3>+*=vUotrYtp&?f(B7vhYkoZ)y=9B0YpNY-Y)VjoKd5Fv2CbzOZ zW5dvj1})_r3@?0Sa9LZ9h#cjy|E#xED=n(F{K|mg70rGc2N5~4^o|N1Y+?(PpakJw zEsegDod2$qYUa`B@*p}(%Ehl-zcXhfNG>NtF`f~734(A?1T0wU_*gsh1!c+RGw(Vd z|DU7EXw8)}qXe71$H-Rt&-#+bg66vN97+z+ zsLPi~XcSQhh)s^{&G9YEki6&LQg>T)oXaeR)2Ewr*JtMm3Eir8=@=vln+1lV0G@zn zUaDrP`<1CvmO4a2XFR0z@w@nLgKadAMymmfHX9Ew9~=_lq4L5sN^J;T^L8gRrswCd zIal6X{$9agJW>L)6*n;5LXtr85HUS0Pv6YAkn{%2lgx}i492~lJ_3~)_ANR5DK{_h zB6z@!;KUb6ASfrUT5>+I@fI|)BT$R~fy7zKkLM>Np)inJ?49)pU-Jd(@;7$uau^7WB_St=?;IUuR@Oe}d`oFC zp-n4Lz{Byd%=C2Xc9-mIXvQAPs3K760z?jb#k4c_a4hJ7s*&EaFGKa0VfZ|ohKGzh z-u?kDX$KP9&;4ISFYS3tn>+M$ExGi7+y=4*B7w3qoouCcJ0RvtWBV}#xIRK@t;7-? z-@WVS=${q3a{Q1w{-DV#Wv|KT-PA&+i&y^VHE)0S_6-~a!jZL#=~uoEPC2sh6>)9I?^iKI`oxo2mib1+r&D2aM~>RE_84egiYeC8(j6rO#D~| zJ>wCR994FX*LF&YaBU9sy`A}$=8!{wkjmWo57JunW7WzhoKfG0NXX=8qu(VSSC_OF zV8xA>(lk0@@)0OxP(P$>b5*)ghUH_A#{lRRZ||D(->ipzet+HAarF+K95Ee*yU%!~+{R z@!xjc-dPz;^ly3#vKKHS&XEImHi(FWyol&wR{qF$;-ua!1ZF`WmhU`K?cNnaeRsI- zDBZuQr#*V%B;b`Sw=s6+jE)awNsKPh(|z4(%CDF^N=C>>K$nWhAr6L#y&E%Hb=p}Mn@20Bw=n3- z7gvtO-i3ySRxTR)W&U~4*FL+pd)xd@HzDCZ7LV1gC*fpgPbwc-KbmB1#QELcUpAGH5Y3(_WGMA9N^B*sJYXIs5 zLw5fj=Xx-aH86NVyS}~(DrX;%A69!k5)%`HkP6GZot;a|O6*=lw0f~hy5v|&N{AeP zwdGF`Iq!FI+Bb^Hspn1IiCaHxn8T;1r)TB}a-0#z_Vba2;|s`hO^3CaSIVkLv?0+(R#CLZW9}iREYt~y2O*u&7GfLNTc}&AHiOPwWDybgLsijq=SJZ z^k7KJcnwWWIqE-I-|W}Sekue-fNp(P;&Z#BvQQ7F)AP|SDjGF&(C+apRRAkASO~{g z^!5e$`v0EqoUA$S7<=Y(;X%+b*tiacq`>aRa*doP3IeYq^~2b)sC;&oh&PJwba)2! zv=t7ymspi1!1J;npU%Re$9=tXRW>m%Z%eJHnsP|O%#(7|?1=&RIUqKwbwINxCVp|O zd09=#4QdlRXiq4B2L$H5gmYC5g(#~0*_>0ZmcxOBL^1AMf3X@mJVUDCg#~Pi0kinVC7d+$gyfeIyb5wk`q;AU*7j@;e$_1ksvHx) zo{c+RRM(OR3eydR6@@9_@xTQgT1 z5)+cp?r#B2dQwv2prRAge|p!=M+P;$3~afcyJ-N|xp$9BN%=ZW!62PB&>MX~!w0ZW z#d%*qP;jE`(UV0TEnQx{Sc4uK)66vupqndY^(&>oI@qZ(L5P6=YwW{H!`S+UL&J(e zS#~NZX$UFM;gwPc@ScAz{oLH{9^YGfgmmUzki|w#6jxE!0ZYHc3`VMPZYv1^#UE5b zs|}9{k{>_GL`BwS|H&_;55^Z~&$PRK)k7Mu6kGyL{(RRVM?LCiTn*&uXpWtvHb?cxVbrfdvV}#;_y4c0obxmjyP2T z0l{Cr?!RZwel89om*@7_W6?C9S0!cS$qK{xfaBe$Q@SRP2zdQ}@&qQjW^Rn@?@>@7 z7XRn}Bh@3I#o|q1C4)l|O1vD%m9hQCa)$=0ad3FV;*Vn-u;37J<~Qf9Vs+Ml6#&ti z5|Zks*TL@Y)WVul^l_j*BMQq?$F6bbEW^wv$T!XasRI`YdGT4|G(j4b?&Bt zA#lX0zkZ!QL%8$vA)&6dLLRSqD^x&Bw~$5=ueykwqoO7f7Z*41&ku@bgUfc!tRMYv z*dLrXmP!?f6^Mz6J%DM0zeQlsg+}uL2MXyU^n`t1*8aZjR6A~Qb^r>q?7K9r`I>oI zOBW2%+jF!I4S{jreSNNjpK;(ao4P(hLHC;9A2+|!hKs|c(9#{55nP9evp{h%>MuHX zV}cN%M##5wrvbw9vj3Y(IfywoUodI~1mM7g119{FC^(SO32ve{}C2a0dNiHVv;SFjIK(C`R>T%pIo#F!ud7 zJrdOkDgY_$#m-0VtwgWGk>pe}?o3Qq;QaDo1T%xBK$h@(vtL%_f(=a>m+>xH-0dI2vwr_CC9^vK_tCFi1e#CR5v3C6F z+Sl6s3nwyZp{)x@gE)11zJG@HZ`icz;qFo67n~}5GanL?XtA(@{HNc@!^NpyNp@Jf zM=Nw3U!W((C~VRLk%vNi|1>@R*m+|GH$klUC@>rRNnIwbK5y3i+doC;8AzqjOE!^9 zli0rveK_t!oGjO%BrKo&PA88G7rM@qPiqPug4F)F+xCG>p8(HI%-p-y$280?x|z8m z@gqeI=E`}fv;(sQ9qyR&v>6b;GRiu+SBr-JnRS0l|2akh1;5oTpZ%v{1HO!V1^7_< z=S{-{@K)rl@W-zJFrK%z`XQVniGczAtyf^m=|DhGpaIuE`HCKHPs8Ylxqjt*YzC)a&Sk1*{eaxfz+bG|M&f9; z^+o90;A~Bdo4!5AH|9uj;JHsY;$~)M2qT95$H%HAFkfOqZ$gGKlHW`Yh(In_v$hK#D=$$5BM z*~KJTfE_1)cY-7Tu=RM6fe5u{HW3%Wv)crQJau8^9IJ?l&*2ILihthIoZ;1ZjvINR zEWryBOijX>RDwr~|3M4*|Dbf+pliGz*~uGLM5TMh$U?Jq3iRmDtr>a7@e9Buuw(SP z`y_$k!hJbt1oYxhC^wJ+7h8WmFMZoR48~n$%gZw6erhV#sAsQ>q=^$)12EjCk$KL_y$~KdnsJk=5xu@Rb;MXsCXn z5kS{)PP+b)e)v-^qi<-YPogwkjj3kU&%VIrZ1+gsLy> znsRVSAakDU<`2T!am3k(S~-T22sv@MWVP3~trwwYz|#7K#3al-i9wM1SU#XcrxlNrvDC5v!|8_M%F8|3I z1g7eu^LXWT;>H=fbx^Gq!~EmVU%Hmlmrd$!%xG!FcmHS4Yv)4#_z}R#fplZ9dsjHm z76u@{I0QL8RgYCnLVu&dD6=~-4-Fyb0rSPOU9t#9F8R@`a%1H$Y-!tB0PF(b6|z!> z1GnpfZBHP+1U8&m5$3qqzOlnN^8<&X-fdHVHRuYBkNEhnUBD=USgqqUflUMB0-p43 z-PM&706%aWt`PC;ckklU2@FYQc<7BhBM%Btf_nxacHKgPqlX-C?LXVI`Wv3R65!nX16=X8(h!r+@zZasCf7bX?4%*=NoBSl(%H==VuFlU=7^=+QY{J_n=!GwHhd z`T5pNEs|?Q?-?0Ks&P+s6oJs)BQ695g~>Cu$WfVQrr)Jfx<&+M0&B(`czH6M|6Ah_ z@HhZh&OQfE1Jehb-@eVyFDURPjjz#?5r6#}2xlFfJCqjJC2xn`4aCYBcr=$pESXV{ zc{lW0rhT6IpPu2!W5@rg87R6B=vgw8FAPsEeV@XCxh)vY5eI;kyHZge`J+W4i6Niu zvw&iflkWwmnpWVG<9d3S;{vgB7Tw=JVMl&Wy^3Z!InIBnJ1U{udjBLCZ`kpRdHFz!RGC`WuUJRAOF$bB2pMf z<(P!taOL{($5qo&Gfd3gE{P!tS%OcGXxyK20*vzU%%26|r3XcT(2I$Jndit$&!X~z zIMW$|%97cQd5_+d!Sv`DZpYP>xEf`dat9!pzB%RyH%mLV9_>HZ4tA*=-d_#B5OLgR z&P&U)Mf>J_nkGjz`b-tb6g&Xw08uc*!HCVCbavo*vjeeg-+l@Brt92OT(hW#m`7TF zzEpCzsvD4OaH?^2<$hB;^=obaL?%RjEs)AF@}_h@5nv6#QJ1frqpiFB@dFN^;LIad z4seIny`}E7`%hERvng>R$}&-)djWnSA8&``;gNq_%_BWnj7CjIhy9Lt`l#dpAc3if zp7z3OoZ~rV1*G*r`V%PJ^amnV@I>Lm@Zv;;g#}3YTJ#*=RF&Jo-olR3(vl|o^IQ@` z3djD1P+C(0dVWF6w$gw7bA#Z1IHRS8CYYCi?k!&_a6Y#s{fLJ5a&!1_0r$* zyzTAk9Wah6sq5t|v2uJ<;=ugB85+gVEnr>6*^2Sip)mA$*x&GrQ{^8})AZ+$nuuB^Mp0eeJr z#6r8nADmPy*c$lgs&tMuh?<;CkDfdM{Sx>Gw!jCsXJ*P%am+3Kl0~Q>gbWesa50E{ z+uHQ-N8sF>9-a0dFgZ50@(8Z~p@h^S$$f>TdZQU7$rROL+?E%kpx^-Jyyf^q&hPS8 z`y$HHw;zK}^~P??KCyahG-&#bL-5U3-K*RjR$QE8gHzypN7oy3Ny!~b=EMav4WnXG zqoZc!>wT7AV|4O(x-P0bMNPIQ0Y#$cfghM^f~85)>cCIK21vb^Z;SujFkz7C^Y*VM z!YE&-fW#^!&S!Ps71%%)1##WXV{iHAY?~EjBot(4hu}L;XFLNW9$;#UIgrmJ>nfOb zOkJN6`|!PZos^8t&-qQyO*U#AFzth%05WF3s|-*zQV4idy;l8^jqOZrOu8K(A?O5VWeDWImXOHKM zM(RTAA`ry&3dM6YeDPjdS`ry_vGcCx5|f7K>Q-F}bK=JU;wC2If;t^q{oax(6db<}Ja#ggEzj9e|6cKjD`xTcc`u)X zUiJbqm1J%#mmOGz#t|#npXUdbmO5~9<4*e=?^-k=192f?c>hqV6#buRREqQ_wR}Vw zGfuLtW`+|4T70SYrr>{7yB8uvKhh_Z3IoSol#WBWKSIXIO&Q-gFRE;aRK zs`33G=&4?OaF9(00y9?mlZQfuo4dOEDGxrJ`!&bMW~UN-I6$^;H!8UfwD3ZBSJ(E= zwcYj_*Vt{D1ur$T>Q$Dj@1I`J)}(105l^*S{QW(=zg|M9s+#H*{oD>)%D_jd>&%Y< z$hpp2+Hwl(c_Y|*ZZuWjt)7_T2n~oU4vl7`CH=X8E_*`tv$0Qr8=Re@v~Vt}10`>1 zlxP9&^xjjV^QsO;^8_Oo=~URd-RbnadGdMT;5e8$chIwjF$VcfwVV7N&fz~KuYo*_ zz}OMU^eq^v99X57+wsRQH0f$Va7i9KU|?r8@XIlwoKRc)l?Qp5we8ohjqqHhiF^-e zJD8b*9K?71Ve)^#$Krke3rp}MHT~_t&&M4(OIOqVl8()nBsywk>aKV+7aYj=wJMP~ z@@vX{9#3L;28%ZyA;s|;XhUu~oPF-E!|&Y_xMgOC;)y^#Mb2IRh|UvdvUlO6pGPIA zMZ93>yb$zkjN!}SBsnUmU8wEQEb4q>lC<`oudv&lBg#;dr3c~aWwmAzGyu{s0Dkvl z7V@y6Vn66C9qu!g<;LB;K~ELdc0U!&|K~um>8(mCm|=mWn?mFW{nswZCd|U&2g&!( zubM9T1*Zh>|4I=)LTn3e4oFWNsiaF$FsXK+T*wCcfIZc0Cevj?*=x4y@l;pE@KHl+<;K2`k`C>|F9B^hC>c5ir zD#~&;6`hiBX>znO`ZDr1gOvRCfogSCg}5+PMM1EpgM#PK2W5@Xu&ZQY72o+>=zs+>}xxM`pINNSW2x*|f zt{GlEeFos>xA_eL5jKgcG4a9zk2mso3g(ge zj$f_#>qOx~)#6mZ`G9#8=?~L}3xf=tt#rthOn4H{rz3_ee zJw6pA#}S@6AkBVBt)2>GKgWJ3p`|}{5bD1mP(k+Ov3Id$8&0WsNB&4*;3d0zs1&r3 z=E2<{oDP@A*#6WQSIqY#jxo-Q_eZdjyqz-!F`~q=u56#jL3Qc_!O9LIoOm`4^r&En zoTHV*Kqa3ptegBgnBo632EJG|W;{sx#srdfZo5|9(8TPr82CpA7#fY;R*+_5^}p6+ z!=VQrZMkbVu+07aW2@c`A7;)<>Git0Ca!0iwa7uhkmADF%;M-w=%2P z8~@5f+7X~v6kg-crguXft8{ssDDh(o%Bw7yxeqQ1q3NGj8MeRK=eD*_g&d4w2r6ot zWC}hpG@p`Gx;W>@fRVNw?=b#e}Q!DW9i*XY$!vbr5E6kt&Z64doXq%XiVTM@X;Sec5?8CN-Hk zH5JVrQa}L?y@Moi8|LCwdBE@FsK`M8RN{L}0-&KP^uh%&X!F=kO&R8*rVsA6MxCcR zozby=bU$N?Uw-4Rv$SL!!CoMt*L&R^qQs8cm8Lh?ipAQX$PAK`cH}8yVY%AZTbKdy$e;J@Ko-TFM(F+&WDqOw)AELfGD#|bF zdZbIb85*ReOIk`o(gEohLIk8sN59V_z+c~$1090^K-MIu6oZag-|iD`xl@}}?O zG(Lo1U7TY;ao$br3&G2O1DyqHn;>4I&=CN%#*jN!$A+I@hy{=HKv%Uu;y3vS5l4a1 ztF)O;Y9;EN+5X?KM}vBW(TX`r(;Vp!u&_Rbj2*veFXTfOmxS-0tXDJBf)z`5m)4dj zl~0y@tZ?iE;BIr9BYMGd-tZkaJ6Phds(Rx3l~F(ps2{Vgu+z;PJPKjcBe1AQGx>BLhplP z*&_x-J_6@K{>t9j@~aNQbc$v8P=tLDuc=tKw4Qjrgg*0f&__ZK)>Ke5iHepxKBtAy zBkpDrCHwfFLdRL_&8U@|4+aC54m6&R+;=jmr*E#Os{DncJVggUdWABQ)uqW5l*tuT zV|sKSxaxnG5mu8ZqF2g{e5~f?|H*Tt-}3|N^{i+&Ihmrqj{MsI3R8Kv35U;2fHEn@ z!lIO{AS7D;4-N(36=`-Trg{4TEiLsaYJ|_ke_8W8k%4ut`1*B_*emI98Ox-2*i>U) zJcBwVR(@s=2>oMH07LmBJqDAw&xn>zXYy7tAb$d2kPf=%)Kd}PAlymH5-m?``Ncbw zh;_A;88oU=xuRHd6PzX}IeT?KF?R!|K@ufvsCAVEHH~gf>t;yB*T>;wws@iS2tdKS z86{*X`WmJT42-*{G-e>-ssPDvCIZKKqd$oxw9nzDteP|$g zB5>bx;_KI*=flZ|k{6%OlAEift= zBv{WJ1Ucn0Tk=!3Bb&k0EmsBSm*~cH71`<3Lw2l`QB20*7!NTF5K&>(A_lC_{c32}_{WPnW+u zG+z>)oxisXbM>o5vH%$!fOg4k!ygS6zHF`Fr`|W}dt! zjT}nbgpy(7toI?1(AMWgy6KeZ$y*Wt_6D~NM3_Nd<&#(y+HUH*_!AMqE3IVf7^H82 z*xAUeN3>xNS8Khs^TO|zq{y8#JQi91t~DLsDskj54_l~c5|m@qx4h2ZB{hv?7D{dXJ@ zM;1YRYglM5f~9t&Yt?7u~g?wLylct9QSyFc-$f+-YD!GUj{Nl*RS9)hq4_1 zeXA>rn8P6cuJbmswJVG0Ls|a+{u-bi<=P4|TsiEOE5@*cAfk@{E`=ixY2u)QJ?&$} z$h(A_Y^cJ&qN8c0@H3+HGlp6&xj(W-H1QEGJgM5Bp7%&w5_tm1Z%{-3W<9yQR$;}B zoPeLCC&9)Z-0g@nQr3Q)$AAhif0?HL%pp3uq_nI;pFc7k^Ifu8Z+O?}0qRHgKGlXx z?BO)#dIH<%7k+A8b9t|Jq)$a;{?n+(EO*mUX;?P-8+yEX0(0%kx5XR+vIxI4XMn($J(lNZqy$>Eay^hVG zQHNG_%vgHwQ?|pW?4AF9gNy(F{_{)Qq7vNo%j=-F|1Mr%o8NukKj1;pQ?-12yn>A! z@>hndxs0K%g!c}&?#;-NuV-rTAVQR~qm>zc)pJXKE)wix7uFC|O|Ix=Hhu}tNRZy5 zn~Cu93VyF}%m!!L)8+df4AYT&t^b^Bm!>MW^Y2CfeDI*)_~HRe7KI| zB|(p$X})XokR*|vYQoMsQrTYlM6ltf8Rwr zlzmlr$}B1>QVVc;Ok%~bY#_@(f{ekcJ#>6p^xrEs0DjN?{d+2pdO8;cv@MapklCe_ zX&coI2=Shfjw9U`iVdNLFjoAbu$0hKxAl)u+x3==;RB54zB8sWzuGF}U$*l6mJwLI zQeXSO!Gnu3Gq3-h|JN-lWVmnI-9`j^B#LRqB;S%Er1RLE%KH*nm}miOuHK|zR?zu` z8RRFmBDEM4g$VZ~Nf`-AiDcOBICT7x**-`x?EXdGf%KE5f`H#()be=dY;MT^9ydDe zZPxk(aR)8xyQu{=g8?o|5E&;pQ{yJfmM66uD;T;=yG%I>9eTYb$MN}jtTJKP4(AbF zW^fw}X8Z>TFhIN%-^Ix5cjQR}y{uzJgI$H*NWnd&RM@guxyV~fFe0>ZeElaZtxvz}*M}2}2 z7EX{g85#Pt8-#)k7W0FIWW~I5v>SVOcUPf0CyGo1h)g~(abn26DZC?|t{-Ys_NN;# zxWpYa#7Ido@`pB8SjZAl_{B0vQ|gUIGH@LlGxxVnnP2rw=YE$#9R3WXorVurf_AT~ zw=n(iLN6iCgV!zUpMdAfnl4+4k2emINdem~U%@eZvq3`2x$faZz_Ylq6{`90X=*-I z+<{_HoVKFH{p9?mb6Gv_kRm$bXd>NO0Hv{PxZtfoYe(@6Al=>^#PEI3c!*z3v(feo zXacVlH;7Wa9Y0(?pMmdL=>mEM;${_!KOK5zYnTy>7ncN08{ zZxjeIm=p*J3FiarAI^Lq0TffRnmh;qQHv>Jq#LYV7YE?!L6w}px?kq-T1E8#^lT&3e)uMSg8H+bq_`^d^F-V*LEQ2Wj|^trsGUb z7zahk%3fFq27TSK^I+~D&O&WWqo*EZp!7^R#sC5dU0@K5BN$X!2CX}cTx~DEG^HX12wt*wl0j>H4l- z{j53f;}d&HZ9j0Tvy;uZ6U&F=Fr)jU`|s5ulb>c7iRl_T@$vD=9|PSC)0@gdK=r(I znONoV{YcBclLhH#a0&Ntt(sXlJzUFs+@CZ7T!e+&}9*Gzt`XpV53r*LC5MgxDp`!B26Y=nD7?R;+`^y>!l>oj{?4}F>v zu%ml3`fGjjOsM+N#VA$omn#Y$&@N>hhqc2NxT+&w4AHGb=lSOM`gR4(Crll5)=u|BzKT8Q zp{B*2M&@*At}RS=J&!RG@u+92TsOnu1I)VcK*K zYF3_BW}vG~sx>{RkB{LTFQzhcZ70+#y5}k%N~RD0Z#Y=(GvSW~+7}&n`yG&!-!Y!U zJ@CB*L&(!|*4)1~vu3;-SS>=QvEQI_Tgi;^ke1cL!V)%lpBBAk)nAP!mx|y-og#&k z&LVN=Ge?;jJdJeK$K`VFs9^6S!2vxw!zr&!Th&l?&cgt`k7h3~7t3m2lyTU+zDFR~ z)t5!?RwpCk>0%SAk`MOJpX)XBU&Tm>qg1Hr$_*Eu4R4e*Ps+Tdcq)kG00y!-iD!qa zZoWr;0g={zLjm75;VYHmX|6~sn{Wvkmxi^A3cOY{)XxLif@3|$Dzo_Wz8#<7&O446 z$g-9Lmv$@?&)ye$Wq#oJZ#ZK}=583nJYS`)E$M6H$;`v`UUD}f@O%Z)?Cnj!XKt&o z`Btq9(+iVTynRD^~st)R9$Hz>4kD*(m39YW8u*)BoL6B|77w;UFzongV@qKJ;R-I7c4@-NsomqR37Dkn_wA$vX9--ZAM{KK##vI7WuLyrlIXFMVs-*| zZEWsp3HG`0x!w_2 z49}*q5%_%Z|9*U+Ua+Fa=gHw-XJs{I#o z9LQEb+oZm-R%fm1iTuJS&I5l8;7qKA|}7N{mmj`Vpn9M&jv2L!JX3fZM=@l|wZB#39kypP;O zPcv@K7)I$Rn;qsbP7#yS&Sb^YXlY4d^wVXaZmfncmPPD@AJP%8=?AZF@yClP_zrAE%3KDTxLlZ0`MI?*H8=4I6qo{|x;nfe6`f`Zls%k^> zMId)v{tLkBV+Pen#-lml^`e(xv67Il^s{DZP}+wE1i&|}E_#~YOJ%e}eQAEZLkdxx ztCYb4y<71cb)gqgjhKOG5Yfcy`?^{lxw<|zmZ0aq#x;BFUUz_=*weF9f0?{auGHcE zv*;WqSFh`MZJ|~p(;J@b-})(y#;tZnip&*SfZ5x9M93dDej&Ylue>*b{%h1M8LJ~5 zwIw-#BJbn|1&xzIS5xjk%AbR0W5&J;FN99nh^hB?4jqKM#UKR&s`HFC*Xeo>S3a5B z^TfWew(dWYXnjJid}R8)g~);n`PC+}Vi}vV5t*`x9Xbr~g~GO~8`^t; z^+g<~Pinv6ikpGAf~!QU1yx_DF4aj|fO>z{c;fxI%-wKNCmW$g!x8g}sqUSmY7vdx zvuJp~oyCacmfTkEa;E!;!s|IQvbC%fFJ>t(kRx;2Sfl6biZs4+(sK@=K<5N5cJLO%J@VbM|1*n(M?NI`^Y9hoXe1 zkY}>?nmhdlmF|}>5D!!k9v_lMap*2fu`p&$vMAv~Cc?Hvgst5Yk_mAKt)xGPJxq1A zKw9?wZS!++rd(UW6`*4~mQyZM4gG?e>P2U=;f;>H?}(26GRzpDB>*bHyHU~LgXHwB zxJp$2JvQEE#Mku0%gF0rC!&utcPHyv0JEDUQXP*0Rpp3BwI})Gde7uNJZ-5!t$A>Y zCaT8vg*(TJl#u^T*5Wh&rw0ZpNP5A@7mqzl_k7}rHA}=V$xb!7f1byN2VE7J430934e$>akKbeuC10K|j&dl7S#+C+&R5)H2%KhYql*!Vy>rEeu z7@9@ztjq=#py#W%V~yyzwtA&&QFjGl=8&D7N!M_nogzq=xDgdRpEvsrFx*thnBf@C zmT;qT2>SDxxt^~gVr3WKcUL}ful-~ERyEUJdm=01mV(AJ&^`LL8_!6{ZvDsFp)^gy z0G9v?9}Zt)h}DY!eE$`qY#{mzSeGtrE#v*dOLanKn9rsZ69`zS>O6SUiB|&O$p6T* zb5+de&EuV^VePlsOMOBg@Dt2oY}d9Ka2U4w1vCBWVD~mcn69hP&Q?X2NJ$rJcu%j? za7v;mI!Q=iSkZWlvK$TvN{F$!o5&Ow@?U+NL59jTY)UQN!DEW;=E5|73l(UGz6%%U zJHEJ+7el!LR~BOZuVQ>T?+tx%@*2)!6y8iXLeX>Q6XPazBoL4&tv(vyM-tW3#}NvB z@7;E)vQy4sFcG2yNsQxKncjFOO>CDHu<~XIBPyQ!bF%YC@UrD0DQ-?;f2OY1N+E?I zMf+NVv`U{5xmyp-=NB)?sb}WzKqZQ6=;`58zGuXof#Tg|hTdj2^J_LS%z{fAG{fc` z)ErIXtO-=H*s^{DS3IHqH5`Vkv=WUc#Mo>U>We&Eo}+ykk{395Xlbeh5{C*;I*6)gMU1NKdQ-=WExFYZ$}Wo}9_=be`c84 zzXFvLn07;6MN9kQ;G(_@76#Z!K>cRsc3lKxGW6)P*a-a>%uPQf>wkushGXb-V7Li} zx2hHQ4fy|n8qU9k>ayKKYK(i-IyZ z<}3B|WzkX7hTbQs6YHU#3b}sIPQ4O=P>pG-uG}sZnbs4&IwKW+Zm=x0;is)%lIt+=^i+zb_{0!6 zZT0s$c1m-I%DzB#1iU)@)qWxj9!;>WNT3tZGCnM;G%F@Y&i5l)(}Mv?d}WZsX7qJS z8Eh*9Y(#C}8W+qz=#_*IfeobMWf|fl9g8D69fAXQ1(@@V8Ukhb#Xh2IxHJEX?}mz zb=@0x;0usS?e7AaTBzDjWsL4}2JSgkivBI<=$R)rr&-sx5T+43kKFNJG_T&ijepf} zao+lzmiK%w;k`^sCtWnrErQ9nBj zgDiVRrSbYHgDfR3eHL#eblK!3PV!GO!S!w@73@yVw09=FMnCQU+rAm-0}+17Ph%Fg zvhX|SSsC!8&B}Irx}n7XGi9Rp21Z1F?0rHB5Xs{8n4GSve7-FrA6cvY9RTMv@)@r6odL;y_djE^i8k; zP%wH%$Y-|?R6N|zp6J;gR4?bMDL`?mkz=o!JjLcqBAVu?uDNsaxExnXoz* z!?Lc23YMEYoch8Kn>WRiS_A$`;t(+6Lp7vi1JVMX33S9kHEml}W&S46kJZsX7NRjr z70Pz_l4Mi6EN}jZ)A%TdZKI)xd`*oA-Y(Ec*)#W0XgJaR^zrE8 zhEvpyyk`(Q-&_$U$5f(Be*h?ucWL#Dy(+d`o>lgE9bj4 zw-Wj=__O9ZX);ohJP78ZVi*0o-jP7AP?4=!eNx{v=T4u#J8c&bSHTtD#y5_9qO(ut zT7ajYP7?!Vgm&|K^i+n7vnB}JToC0MAqPD(P9v4Gh!SH&v-mQfKyznlfKno|IPzO$ zty%dOPC?7=7zPO=YQ|Cb#Qwo2-kYlG7J>I(TDuSlakv|-**6nutRB9)eMk$;W5#9^jD`+F`vr!Pt0SP}?{ z=qLqbx3sph7Spe4?zk-cFcX}fS4>^WxSyQ1*hdv>S5#xWS>CDO!I45zOh8R4`Ip)zHU}5f9z_E-dnwjH&B(#Q0eE?lq7D-PbCFB@Z12nNxJJwU0MIL+g{IGr z)=pM$(3_UdT-SN?*Xk!`j{OCRCY2}~#g(?r&2#+t=t<>MkbPjuJUdGp^ zWBv%ID?ZsTZz0k~j&-xuf$=!3UMykhk?5hl0@8ZePCg^&Zm^NqXbjWXZdhWnP>DnN zzV@3WLdO|n)iE+fRZ8<6{1WilBGy>#s_cTI%eEjkI391`$&$W)E36n>ASsJEfL6Pa)NxgQD+L^h# zSxwCJy@9a6nh`0|23o>#_Q<4dy*G_0IkJyjmz`AYp%!=%5z($&DMXW#bWH_6ixm9X zC^YQ&`6<(`jS!U%9PZ>Nkr!p$4nZCwf`0!;7(CvNA+U{yXPJnuuI};bmOXsv|IxE# zEWky(a+MpZ1YUTTwIch;LZrh13T!p3-+xhh2w=?9H zM$*aowxv_WNVXC2)$~FT))OFUPhPkAuchyIZ)YT}1Pw9cR3W|wft@fFplMEa@}Z7@ zNN~EWLh}8nOZq;MOC(t~9q2kZ#Ql5($h=rPah2^DPRYu66^*~%im2GrZ^r@J5es5# zv2K(j{gND9v-X^$E#(-j6b*3P%+ULyle=(qZ{a4^`CU>m4K2?L)RxQ{U?oT}ldmok zuS74MU$WYXrh>WBeF$1=#i-q^dgCc;{=tlQ{!355kX{3B<+)wr=@U=vEe(nSciFc-vGzUl$-#6C-yntc+bBG66k-1AD<@&pT} zH`BMH`FGI!c~(JT%yaxrlphVU=+sg7u*71i9T^YZ;)wh;?&422(juQy(Mlq8&H3^RShplRAuCNta!6Byn)>G%L30 zh2T6wFi5WCi_>EnbO*Akl-WI@Ec}JDC!ZgDYM{llO_t5s#*PaWOuV}2XH-564!!tB zWc;b8j|S0aLT!21og5k^t&E|gicc+vvISz4D3p#)(^0Cf^2fJPEx($0mUmCH%y{x( zSU9Z`J=DW*ls|ophf`DRfzHCSR$R6WayoT^&B(AG57~l_by{fXHiLBUMWJW{ku zHGasui$>#4Vg}x&yuSH13T+prb>V*QIE7V2D=qb>G@75_iMx?D|E@Rnnf-HhD2y*# z7#YV|NM46QDtH^-)z81`Hh7!hoe#T5%jb_iclzc0re-uY0!wpuCvUT$?_Z?G+9dPT z`KPMH8k$6$+Itq|U&YWmX{=s-p!jn4t*~!Q`UOB^G8+cj6j^K8e6STjaU`+XHlQiu zHNkfOfF$S}!LO&F%~_ts#r^v9VbgClvC@{jvjIAJ_lXImSckY-r=&JG-TDeXx8_A8 zdW_+Dm?DO3=+d_-F-o{Fz$ZH8CzJ%c&;TTMM`ks$lDth6dQfu<5zHM&;87XlcG52^ zH|k6FNpi5yaSygdi4 zp6zx7#18B^iFGe)&8K(k2k66CIN|6t4Z}S#l%@gc7PNI>05pkpOzj=iZ@=OwJr<<4 z<-@-t^e*Rm>Te;!tor2Y=r3489CkHpw9`Fg0D@fOd}chU^C}HiS!w=o&$;DVROxNq z=F@(layp=G|Eax4#ZF9V>IDOfLMQU)_W3d$I;Gf#8j|A@LC+nA@t6eCOB@yWSkAf1Rn~boLVkkGtS({0tqwmDBwPk!U>DY+(Vu19yvi8u&-=(&^?i<>#DLSom)!%3z zM(})eGGA*JGtWn2M@H^Kp^Rkt`fYt9>gewjG0>sb_2h5@7lo)$AAnHa910{#IXb+R zc=TYsp8js~1%@5>-QDCaq-L6%`*%mc1pN3BtBs$jW%I5{e>5`Aty>; zw@#oNAut~yh$RrN0&+h)&(Wm6o~>gCVRU40NRD-cSPu&cPA9tKq2#Ea+y$uy(4{>+ zZQ4GN*QNGl;)ZAcOE%5@$@42jNrkREgUY$)=?wSZ)4BcMwF)283@m`&$El&s_-!-A z3s;I?mkag?$d`szj;{0fROI{6(k587N8>;XfvwD0pRg|UbFY3D0e zw=OIpQ33=f+)=c00JK^xU!VbvPte(MxDseugr;uLEhc5;n$hJVcy!R_1{0ml$}7ew z%o0S6L)5RqIIDf7(Wo)3e_gcFmMmsx*B08iy=nwRcw(jNA+zxx5RTeKYgck_59CH~ zftlt0QQL_3y^wM^9Yd%fBy9c4B1+ICz9(U1OXlvQK{tZM40#_*#cxC^m4J{d9S@jWYVwUvtxL zXooBDLGO5omf;iEB|O*ssV-{jAu%f;W%!TmzoY*vwTs7D3GPk_1@LbNCm%SqNT~4PUGnR7KI^JnU)>gjC+} zX%nbCW_L-km&es)+po(>&-$gmSB%gk+4Qox5V^hfXvyp3sGqT!`z=ZuzNC~il=}&a z;~_x zysrH|;+Nv`m9nLRQ6si`Fo(ed;BNl0BmF^I@Rw{_de3yT2DCg7 zIHg>ktnPd+{!;%f&H3R&V}r(ss3?y_M-nZHb_GK|U6f|Ir+ERHAkEtBYA?c$*wzgs zX#R+%#;1g^05l1|)p8pq0QJCbA>Tdn0J-_&2cqg{k0P(fYJY?ggQjGa?LTkNVETq1 z;sa;jM6sg*Ghzoy*9}n_85^8_gAt;~aEv~$dxH9*($B>Q^-b+hqv+O+){NHX5p=Vo zeIwb%Yd>0@j?^k(WtNU;-CgLn5YH{Ohj)emfI<8x)4J@_w!DAA$br22jABV~2Thn~ zfDz}~dzT_wVW;5{;qOs26n7*!u7WPQxt}jjzJ$%}WZ_RGDmt-=8i69DO|&T#6fk@r z%av~Q=kNlN6@$W81y{vPfLVW8EyL|GXgjC!xrM~H)Byr|c96OHDX@ndxmXt83fRv% z3UV2~XcOKHXiFE8Y1r=#`s;5;N+Xk#p~jn4G3xD6tw9%aphePsyxNPC^?H^X9RV_; z63AZ`J|$N(pSocM0sTu+4CLQ9c|B?C%!G*x`@w)_a#$Ji;KyHH7SMk8RuK)8H0Xrgf)%Z7rLNio? zhMIn1r<##{t_iTLdXWq*js{(<(W!4d+}*3(JK$|6$|G)WmycZxOA6l;nu-&~MOTTY z{i4R0WQl7|zEIKbKZ|b3*)@B|=WOjml7&_9;mK@KyDMZKFIdG@88~{V zORPJpx&ychsWp4n`jO&gm|rQueMfnn(n7=c_E%SF@xdpQre-JMk6I)t`!UXi)_$`( zF^APCfi4tfmb~5mR_y_r_agQLhj|{T2hT|$Q{MvLVoE?&inM`d`ln06cBea!yolQ~ zw0mFf6OxMQ{M#5;OT1XvnKOf~o^>1KHCDf<1y){SKN?0wWo2dg)|M>o5D z=pu>xGa~%;T$~cCmb|Nr;=TF+#SBo*no{;NVtjd;!6SNK5ztvmuL zj}>vKpa;NY$*-pa>`SK6Lii0?)uKOWGSMMWn5#i{84gf1g2rWkfm_IqMp%*-y-SV1 zq(r0rhFY@CWj=u}#{=<<1M{nlO)2rs*iSaKH%0M+b5jusokFiuB8xq^2Xz}yi7>ti z5c0eMxVZnEQ#~>|yx^ZifE#43(L(*{3(FO^CpeR?ukSv9A$vua&}D-7_tv2FEdP6# z8gfbb+^nA??;iwgY0@0F@)z6LbmTzaV1=B2)YjtVUkiOb{EDaIhrPO?6CA#I-fEZh zmjnmH*wHkcVy<*Ltn)eDGm6C--8{}{6l-GUyIaTyS6@;wnDX1~GZ*&JJk#FIM|v?h z{{;0n!c&*j`ros%htc6SRJIQXy@<$RC?wm8@a%^Ccq-{ zAPDZr##${xU<@$7sQnwG`6rnaj^$Aa+nT>S{w8;*Px+EBb7 zSpU9%Fk75!gv!j4_P;yoO=M8=BSH42+(LBxv{$n|*heaLRLE$1C ztMWaJz&c9wBdnWSF-HEd+#=BbUiV_@R0#}Yx{d2bMe}T=YesNA_B!Jh^0BnstNdka z^|Xq~LNV^DtiX92Dj_BXPsMerhK#OPNE}ewr%%R1KPX`$EThc}ATMAaxhr0l7y^9&3I}JYKKv;4wxn8qaLhw5(-ZqynM++-AC&XNquv9 z3z^V`7fqE=Jx$?HP3e=hnd*omcMh(fHIGoi)~F5E)gl#5P*Q)_8Dmf@J*Lsk(>m>= zURJ}6>QxsA7D zb4*R{B@W%!a}<2QDcA4CTsDI1Z9&v0QUk>ilSQhe9+Yz`<1GXo2(I%kPp-7@a$TRe zTZq7U(OLqcv)ixNWy3X*0vb=ffv^lQdfqUT*2i6ozTLD|0)x3?@(B5lXl!_RR&Tzl8*>t)aH;H2xm0&{PLcFeq1Y z@Jsu>2uRUHJP1sW96LBDk1BcW!i@Ry&06EE6!%9{L-dN)NKnTEIb`X50+R8jx$BYD zW_b%Tf>5Ee-F`ZeL=B+0>FDh?N^nVz8CBe(;Y^wJ0op0xuyHXTY*WlKK6I9h9pCLC z{UwG_Ow8}W>%+v)bQcKbJ-(MoGE#49?|+1i?>j;rVaHfww7)Ao*pqct^JycnaN0j8 zmnn^m8LK;Jaz+0@aLfs>kLM=v7P7LG+gzvan6)vQ zm4>t$y{WK!jZVnHX>!isByJ9AoVRGbI;l^+Oj_SlJwU6PKx!% zd^e3F{uUy#5+E0Ab@E3w7WkFyaE6l2$6M=T(mYJ}b@v6%QIiTdIZ=WbCQ?irO6P*^lOK^abnz>wQ=8xyIB9SU+WPg%m{UcK{xD}9K<`f&?C9aP zCJY$&Q``z(X7FqE%d>4&vc(PmPo>r-e+%iB?8;3@`g>|T_QP#4e4qLjLPUuBeE1p@ zh&)w7b468ZhwbBXJxezeK_x3rXW>!(E^{~K;Xkr~$(MBHZZP%8m&ihVb>Af#Zfp`7 z7E$~L5Bq~(!6SofYlr8u)Z%?s{nWCo{l`Zm>%EZXh=AE<<>(v5W}{9{HB=XvnOJ|$vGyW5&nB~KL zo$P))IRxA>W<^AanIz+?E!%^j`=9f8nCJb{3huHU`qGq?B0*W|$#6V&wBkYG8qutf zxmE)|_RVH@!b4g0^P_#k)zBlY^=@myT#8)SIicLPZ-agN(NlMx{;itP`kNF6pT1@8 zg$}v@lttoqdcJ+{e{^@!2?S0})`XPEohYhWKV%>)Bx7)BKllFV#S>l-!& zZ9&@Y%|BY04OwLzKL&3hj{>~0>>0eSd?_m>qe2fnCOLR3_}ky!LLR>cYCutfKf@mD zlurVlXfAAC7+h3stsL#~@C+qf^4~-f^{0qu-9mz|&#%_m>c1}^V~;kCTG|A^{GNvH zZqF!qGbo*6G58@k(IpM~c*1x)5OzwGkCNAmB6z7w$3+8wKW^$CZ&EGxwGsikXypIE zmdeZ=Lxv3+frS+1R2cnXi+Ufj+dqt~lOPUwr)XQWr?d2-j5cVHwAa2U1{MqI?Y6B@ zkAU})PbFkuLu;8c4_75_A%)Vu%k&u$Rl)}W8QE)B_L#-c^J!lf_BG!(H3^R%UZJOJ zJ@7%)Mk3vWbE~r}JLC?RS1QLe-sd2TM|QA`j*|U~w=yd65uvf3e4cE99SrKy5-e3i zFJE-#UI$t=wQ>m8IvW46@G_`1O#>7j zpF%as;;jTO=cS|*QBK1|yiV+@8??KlWGSoA_U)tIY>os%s%x_H;8Ctslq|jA(MV{*NAa|N`~2;P8zJ^Z#bIRkd%DBfhf-S|5^h_yDEQ#YGJrI0As5r)HAw?bBXK+;tC{Y}Hs)1ypDydsxzv(Qa3)mt3Q(^gmiafA~tNgTVSgMMF!rzByYzh4WEzM(k?UVV>wLj@KSBQE1x zxT*0}(;q%h3x!K{Jj+fRoMP54mGA5$tcX2h$Kx?)m?0Gq!~0ma?|<?2bpYhV*aicRgSoOnQoJXbVa& ztwnDs0x)YgzzoTJ#wCgp_KSvLFvFLH35&tc8sG%VLCe8SHqYI(V|^lg-t_jGE8^Tj zhTmWOTw!%OQcgVobl?KKy5x?QK?Be^`i*b!sBpVr+icQbZ*RR`xJTR1kpZ1*-pbr9 zeK%RMwYUQ1v+tw9#>hN8X$kVKaUFwIWqaJMjF@5NLkAPvJ1+pDnFGAH)Mnh@JlGl1O4ppyXE3W+)zdg2?=)` z!MO$gY5-`~sS5C*6ZyiIYpa^K%(PH&sy5YV2=B^`C*s?IJ(Hu~d%0hJ0?*-}mB)m^ zju#i_+SYZWXI>pv9CCCKLHpi^h{p%vS1mF;@YIv)ZR_e^Gkbe&^6kb9*ovjfnqCB- zw$0r_Uic+#%p=>zE~@EiB|glujwXmO7HU^~4%c0YPSQjk=m)Eju6}O?AM723ykBW4Y-w`w=;hy=Y4zQ8q#2UX zs!zzJ^`=8&2*`r@Ms3b6q5ZBOe+U5LH2H@8h6{SZfg+PYz1DN2!Rd{`Uu^`AKrDF# zwE?8-XC$2|sdgfN%@K@NGW_|m@`7FdG>eJ051alO&!oY){~Q104YnFbVvyPO>hQa~ z$I_c^wTsu?mAx5gri_2cWR?25A4v8H?5O9UyV2ocmNGm1REsb<#*E46*S5Emd1e2S ztAB+@y2Y5$`GA&%dW~K)zEAj{*gw$en9m~j^e(^eI~&fukf`kR?k_~~zB6v+Gh4iV z+cq`O@8(_++hZU53ipQu(T}8f-S;UBrh30=&+U3H(K`E(kpf=@lvv8I<9#p<*~pdR z>QKiLF5<^nI2dT;<~t(_neW>r&`L{0MUH{PUn@UqPy{?Z2w3|0vxiB@Z8x=TE^WG` zpjw{~T%c)O^4VyvmDWy4KlvK=B1>pFdkaOZDPa4pkfV!l$5d&1@t2Ezjje?dp<_5( z9yY=L=O}oTqSIZQqu5%RneNK9Wqv4-!NcxiYm&D{4K^kwEp~ng+Q=9?&s8y27#RZm z+9m9vy>l!52#Z1>vrnq2X3X9FmDI8<{xvPjX~by}(U(yn=|brFJ^3jN)_t#whGeko ze8fILzjN~1YbKfo&E3(9_fzO+l?AtiKQ-dbBX-N#W2%1$O8HpQ^0q!kI?>m)S4~yy zSxm{H$7_bwm?XrRQh~>~E!)joki&y`8?@{-B78qyzS=*x9UTbrDCUUS2@K0hW6;*j z08cvmI~RZ`=!nnZfrBpEE4s^wU3QC0Ok%yP`18d`D+Hdsv56@BR<@t!9dqN1E53$? zqxO?t;uqVCv70^(W|upL~&MAx>u~B&wudSb66^}lIzdyN0$Wz7E zoQ|Yj{Y?ZDxe%Jb7 z*uDETfu;r9ag##{xsg8Ntg_8`t)Ye&d+s1b1*NIWo&BpT`~=ycTo(AWQm z-0dwR;lIkyCKi7PNTR|-k)b?QgwbQK=h5A|ye5e1$`GZ0H&XMosk&FCV%vkpsgaAEabilz%X8B;+|r4E8Oa+e>;wGF^On2N1&cbJUNoAPaQyB8ji&%O8=2cyJ@_m< z!7|mFUAkv{L;DAIl5C*p?fM6?nI_?T$)EW3Vu&8{Je>Q6M3U_LEhL;8#oCWa@=!Xl zbbGwlMtC1c$OW=uX>%`xkbSLRVzET9>WjdAsA8xy4Gt<4Bu+5?R~l702s1UD^zr^u zLa9%EG#PYEUEhR?SXJh#y@eeRl=|?yB-TH55i#Qsxx3s0K=wg7GIlivqR{*@TMC7Oh>%L zkn}WlNLy#Nn#J)lrBt3(TD-DtO`YV_llP2Mlp;TXE>Lh56a3rS^d3l$=S-gs|J^@+ z!9ucQQBih?A$#Xbd--Ib$HR!-tF?GLPMI^YiR=1t4_tMp)=a(69ml(3EBQ;Qrp{5? z*in3T?ksDz?6Kthe3c9~?+a_(f^zul=9>Y6Y2zD`OPAXCjB!wpMm!_b^wHtp#r7WE z_pkiG7faZ?2duK60IO^?3=9l(Oz^@1mf8PVWfPMyGYKl_Vvq`0vB0$UaRO!~b6ctv1R@CVU` zqMfPkc4`c4!(KAzUCwtkH`tytxbixF_eW|Z$8!hhk;8cFVA~c*`ZgRxWMFfoOD82t z{7N)9Wf`(#LVrnh#X4US%oE&R*Wr@-?08$iq|7V$htIYJ#VrKsx?^N={}zI?OmS&= z#TuMtF=BD>{uBOs9p5bk|MWsTh7f_8CfbT0udd^{I=5`oYQTIX72Jm?8`9Jo$0;3I zyf24tA;;&WtfP+l6r4~lReJpIxD0U%d83`&mejUVu`If12Bn|&^0OccFc`L=zX@Ej zZhg5NvVV>jq3l%ho88vS%l&gXPr2=hL8p`9#h$%+?Uuy_Yj*Xa(`S+-0~k&pg%USx z%y5Xup2r09lIo%@fC43X;uxt(c?(ITDJ$)>H7=igoNvOT{??3!xT%t;aJksaBIDVG z)CoV&)xa$ziua4o=84(IZ&70SjXxb9#in6$yk3!^yIN~ugav)Pfd#X=aJaPJ#B{a& zH2)p-y8<|HrC+L7S1*#;D(8)VDOoh~xoAn_fEk$-c=?$W+XlV6aVa)fep4>>Q(w(c zG=Iq)@w>FT^@!~`XGQ;8RlhT*B1UD>=mR3#?UKSeo?jbh=|`1XznaT8R7c7p>sOli zNoRN}2D19*20o>hBHXQX7aaPY`EZ6WmAPh>p+zjBg@X5ezh{Dl_KUcc5l?VBVvQm| znN-1JDfDfBs`4u3Q|Shk#LvdhKV@d@e>Y@Y@kDzE_bYpQnS^EvzYPCnjEV6gUtAd{ zfUAix@>}@hQ@8Istm&k%t&Bm)zNy`Zm1K z_xPw!@pJj65=d{a@YjCYa{Sc^j!QUuBm9_sio@a)1gK-uH0K4eyldnv3Yj$gv(L?A z6W{7SbJNDLKT)Y+v}jS{XKsZ{?x4;ph&botxgizkt+D!U+M(x(vc=W$rT?{acm!*BnU+_h}NS^+Nlbz#*5#O_OT zpn4@^lx3Ck-`bg)P`0P#SzO0>GaD=9F`N`YRWGh|(&ke~xi%p^zh9 zA8VQp5x+FmY;SC{pVTBM+Takzi+Nw90*tjc?Y+0z3BQdUCT;e-HIIhL8#>$TO-C_r zA89PY6u!|zc7AV%AVY7k_cI8epqeLPxE@`fS+y*6Ey=VMTH0gI;H)UsMLx^nMf&sO z>i4@3WR^Y@YAqz%oj}<3K6a`R{jCi-sN24%UyI7WCM;|dg3eI0pl|}{2&Dbd@jXCV zBNWwh{)o7;xVCUf^XFn5`ho#$zhI}{yg_lG?g~%-QRR$( z!4y2EWTY{9eIU?@e*;>`LY*eaeOH@C=l<=D#U|73dZWEHP0F6?(uDY;%VSvqKNgGE zsNgm)L97-db?c*867fKB83sBQ!S1-(xy_@%e)RTkN7ZUIwe@zZKFt>Vg|AE``46hQ zA_sEb;JtM)Z~OaaROxZombQ}V`6TujwP?-t3Wr`TN_uXi(WU7 zD%j@K1F-?qc?@904pTf<+VH`a>-Jbnq(YjjAO98Ee|phBgzl(=-JD_}e+tbf3$?-Z zG4drykGVt2KG;o(B@uS?&^8K7K20?%e4){W^W07Y1{q);$hdUhsMr9KY)Y- z;>yls80@uFTV&0Y4Dn6vvH}hEvnpx(mHi@a{_BPBu^;KU*rzkh9%5C7G<$}85C3JI zkl0K}dsoK>73P+jSsGGQDxsE5BjMk^E~S;X#1MmlW8j|=G*$zdUBkxWsQsm#H}TvT z%9KnwNTJy{NtkZ8nr@Tv{A*DqU~2}h*qlMI7FfuI2)*@-tdEd=Ck)oXg>U0e z$_zB{zCCRx7qx)bnN^kFh_5TRf2|;FiFWp-Dl4yCjZME--xB%x8;NQG1U<(oBx31C zLWMXLijRn=9%v1)NfOy=-=q4G|1!ZnBcq?XPBHyL=exljqTCzJyt9J^FV_AtT<{+> ze272NQ|>crN#$prr()XtFc1Aklzk&(}^1Mu0HRitm^}k1*o4wmn|0x zzN}~Sgr|jZvA@1_ZtYveOR#pSa$s$sPK=Do7s43X#@mHujY?J!X9pS@8 z`d1iyFJ+0#5%2ZqX3my}Z7eiRf8~5Ew0sv}Yw_i);o7@0Slfh469F@Z`=3%*D>dS6 zEw-^&L$Eaj*KpUl2-A35;>{Y8KLLsm5S zUplimy!WRTZ&&EQBWC~J{tejv_J$FD)@k++uU(Icw@3btkYfqX0yhA7DdRaC>1K;=x@hw`zLvSl+d<6iGpmr z%*0o_d6$sdqWkRO+>UaN*S%1vWqTxr2D{x3a9~Pn0SXcZ1l=rM)BK6+Wm$|&M{f&Z z1?@$0zB*SkxD<}Z`os1y3}lP#a9Uhqd)`-4RmbTcD*HIcfeKbb>xhSM zY)y|%!YdCOyL zS7iJqy4R7#RZm-^k;q4`w^9$I9P?I|pPYOW3o~6Iv0=#OZ+x%3Zcz#{&bGFy4z`f` zwO&U$fZZ+BCH}p8Ksgp+d3k2EB78h3w=f+lBZ_8o-t{T&L55#-3iMvkq~M>6IurXZ zDSSV=E$dUAmCB4}%()mo99UZuGx?Zc2J3&vu$8Upt*D(X;1T$@?5QTmnKb|nS&MVh zFsIsWovm@}9=D`%sL`%9GR2t~Dj4(l4FWjo*sSLZ1kDhXZM1ew{V=C*uzpnxsU_>Lo2!Qd+J3}z z(q~6)$!{u{^tbF$R`9Ra`3m>kRKh*f{t-ph6&oF5E?+|{r`Mo3q>ME~zKl(= z5>2ZaBX;3yZRH550!6$1%lP$%&UckIj|rC3mq*75ELo^A!a{Wc`%8rtGwNG=YY!z} zzTaI_kPo+Ry}D9(Ksf|g(Z8WJDCF`z4pqnXwO{F1?TEv>h-iRsH{JAu^zPkyw&8k* zBRc)B`MYv)>OX%;rM1hBl&Ld|v0efluC6{=<5gt)(eNFoVPFP}72KxUTU-7dJmqQw z`ogBcR#Q?jR&J^n#l=ossy*hh8EF~4wy5&Epx1z*Y%>F?h)nR@lgA5%=MTamG_<2s9|uN}ZwRelI9Gct_=@P1lHZ&CT>%x9 z$lXDf8j!no)C?ate{vD-6ez}S4hI4bV5XJhnmdNd$WbzrVqJcPgD`0mI~!WHP8?`- zS=yY�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

yu9tN}s3Cwo+N_0sSF(yJrXN0wmd2gkoBF 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≫0m*T$-UoS(m&+$j@TiDQ#uA% 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 z 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˦#& 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 RoZB^R@^NtHar)np{{sh8y1M`X literal 0 HcmV?d00001 diff --git a/src/Umbraco.Web.UI.Client/src/assets/umbraco_background.jpg b/src/Umbraco.Web.UI.Client/src/assets/umbraco_background.jpg deleted file mode 100644 index 412cd17865c1b847affa4f0c2abc74645f678187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30678 zcmd4(c|4V07e9>ebB=kQGiPWpXAYr5$PkV>MCK{VoVg=oiX?={JY*g#4HBYI#>`1F zMNw&@>9?9Z;$q*)&Be~i z$+JsrFAtvxKPRWaenAm&32ABRoqOe#ubU?C{&h9XpFe*LFy9pLe;M*)$&FFk2I3n^)V@>4-6FjPHzZ;{w9RHCq$2A@ z*P@eiwq~gm8hQ_~aAP+t3b3Y|96@Hv%MlW!+k6tyy?ddhfaONcmg$}iX0t>~qfItg z%Ca0ls~E5$2+~nJ`pb?&jT}z^Fq0nvDn52YX~@HzxNSz0_0*#oIRsmSsXPKuj#C?Y zrr1BGb3lD%=R=4Sxoi#+b!HKuUT!We8GhGB8(3m0PO^NzVg@;;*c2?Ri1~%^z{&~$ zBUUK=O_-unojxbSAjm_QB)_T+;7$jCOnoze^kT53NHv=HZ1Pi#+uqEXSPe3aSrQfvUThY>G#jp@$ znK*X15NGoZ;{o7>LkFM$Itywg2!QrBC~cFz>vR8en21*h(0SU1x9cMw_K&PCF(2aG zshYnR6S09-%XhNgk{Vk%uI{+XjK5#15d>?)!lSiXwOdvQc~*KkX5hLrUF> zi0c$n7^@jm{Dz7S*)(KX53_Fogp%#vxK|?}?HS5};(?;0sDv5T&81uU=sx20J5WD5?AvI`L2@)m*Rvmha1v5umF5a{z^pE)nD(e@s$r8idR?v3XR3 zz*m0a5WwVoJO?OgRL&wwHnDdAxMtpj>wyUzX)i3Uj|hUG7a28Ljva*Hqlw*hsqH6l{H8Bcf|c9^#8_0eiX z=K8tV+1b+G*#e7xJOnsQXQ(L=%{D20sRpj81aZd>=~_I(p#o3PAvJN3--7t}Hwe2$ zPO>>5I*Op(f?$ohy1-+UKJo_wIP@HVLN2u+!|3vpgHyL`zvjrIvwgXD& z)#5?Yi(((P6iD4TiA5ET;5Q-Ec3zmckwbE+ViP7*PB-viwRd}wDb%!cHq`ppgYgm* zy?@wZPITc(_8Dv;Xz9&xiK;n;#bnyyw-m5;t{rXwGUeOTr_X_Bk3g^4u&62*{Dwd% zX^%u7<`2MV)oo#DX`;<^DjB*9NQ6xPX^mRC^l0YfMJ|SIPy@d?WRleyJa71r7j~;7 zq$X`T%s>Bo#s%0T1TAW1Fcg?CS6#Le0Y~oCDHqi0U9Hct^_e1G({=P?` z*x?eAJZ^k*b6U>BOuGYV{=0jo*uTeyz652eUqJsUp105kxwN3vnYKGbY2pc~aeHWn zJZXS=A&UWvvVZhx3V^&gLP|!_{3zljVEqRR6L^hw$I9OSV`2B$;v7~lbaTrwca6l;n_HTc8xWByJbx=K93YGVvU z;O{Yjc(_4ar(s&4+LN6hfJ_J_gh%>7Dj0k>JbrT=XtWJ#Uyc|Sus%7chh%5^9K_Q% zMnj(?gf4|mf0N;^W{lwTW?;Uk;EzT$@o*AbWB+Z2aA-JNS>;~9&0dsU-V6bhHV%1o z0d_M^Kz^GF9C2Xu8xNZOX;x_f9>OSgWZ?wqHV+A6$efInkWlP{K$d%uSmwt8gL(oY z$W#jJLKK#eO%aILQC{08IcYZ6EIEb>H*#ZF9 zhhKoJ`1Obl0YPcww>1C=`^oF&0LlZN+t`G=%-26HHWhnA#R2Ms+qT(%F{WQ&_f2p>yy}=6r!?G>@7lXce8UTB{|59yZsFgq*sQv(D z9%5DOHvA7mTKJ}!_zE7Pc*IBkBqDg2HVGx%V}l+Vgc8rcuOcLUp#}I&GXQp&VJU-= zehRS2Ir)PyzKfZ4+P?wr;Re(zWCj#!M9sfpgj=xUee{VA;Uw=A%~yON>>$xfD2SGW z*!G1VF+hmuw*N=3dkzTe{6%Ttpy|$eLStl+ijc7o^Znz?wAM8@5(M#3g%Zv7o%qlk zvJ?RYIQ$)cRPI>F81fWxaP=M-%5_QuIO@$WFnAKnqvADa>hiwqBR^KW~| z?f7v~oQCouxHI7pV7yozs03^q2X29AybTv%H$8&g4{Nz?M zVh6;QO;Zt$$aU*|4M8D|93bwc&6Q{INFc()72{8BYHCY?Tp#=%zR)K2xRE6U{ zsDy_rdtcKSV2q}62s*|u4M_bv&=XLO4ucZnD`?0oN5e7kt}5ja@c$@$PsRefubOZi zgST@4CJx>w|C@+zr@jH=nOLap38e#|KOo@04dD&7!UKz{^uohVKSmz~=ofQmV1s|g zh+dhbkF+Q2C3Irt&-oQzww0lvFb{pr^PV(Z10+QKLC4p_SzE*}*kU1u;UD?X3|uGD zAn(ET6`*pE$1%kdoC#tZgc6Cwqck<>-^D_?`?K&nz`kD$vW)AdUje#ft^|(oj|hk~ zqP2v(!37zN{n8fz*h%3)0L>FPOiofW#3Q#ZY=|)=%Ja>DL=q2Q)N z!FLDwDt@@{E~Z!r{3ha+TY&5p7B(!q7<}=}8TfDGzcaz-8WW^&MnLJ)h$#PTY370#5>p{m-unh?PDs4g_ppO#vq4Eta?R zb%r%Et>2#x?z~$?i~;!E1c)1Q2rN>F{Y*={Ip|vf^9+(Lklcw7`t;2&Uw+;$;vq;V zKVQI-+Dzb);&erA$B_Y@p3J80h==$0vVGx$+m zn*^B6B!z4ph5eSrMor`bHuqO2_!Gcb592|hFwz(L!xWK3^IyhjuzAl%)jH!r`|Byd zL)dG$MVNLZ)&D^S*iAQ6x|xp0^r+^*djR1;5o=EK}juMTW%32_P4B)W+>N z_&B*EnSZP!^ zZ9yW_j>(qRNANKGl_-f^Hp3k0jh6vHwB82Zv5;#SN_Z^|x|HF@*N3hC(U%xE*dPyi z94ZewZvmF@4ejIo3W<6ssr(fJQQC%^50g5uvl?U6h6h-HT%m{`&cK!4PA*&1<>w*v zj#8X-TOgsdKrU%O*aDi*lw;wzHn#1b`N9Z3Q*}}aceC9Vx%wfqLmdzHMDC3n>mo=G zANUXPV+r>;h~hVv1Ab$8^p6dEYrvZ}Y=B$0Uqc>Yo`21Le?*Mm=oC6w3ie;C-=h%7 zBXkOHo;Lp)k!?M1Q&E8ZCkOr8V9OK!2mcL_Z5^QB&_CQid;E_U5$XPS*8fea3Yjg@M-V6gO+I>JFV_!^_`*(FB0t<3O=I58)g?SEGBh5N?BL?)2*@?bjK+ z3q=YwB%1ntdq){2k7!YWo*+S)2XZ7YE(2Q`Jmk=3X37m0vl?I^fn@fYszgynR7w|# z7Me&5pvi*YqSna>N?vi&6c~BnB*&|6k(9+CY{jSV_ypxnJi?DCM}tF02c+-9tYOFl z&lkq~1(4q(j_9~=P7xPYLk1Pt7zFw%@Q~FJ^#qo7glTZ;U&j-RvsLB4Jh~(G=X=o3u-%d`w>q9uReV%}2Bm-e-b62MT>+!4{B(%W;NprqFyhjF$sE`}O z(LjWw4Xxr~tNBBuYd#jLpcyl$yNPfV zbN)MhEFK`N=`X+om>x7k7Jed~0+@u=YUH;Bc*r?ObxWSfPeBbpc?F<6To8_^cI`rR zI>9f3XF~yrLNlU%;hzX7LPp_A#uGyKn8L0EBf?^W9ZgfB8)ugL5@8sr+V8--R-~`v zp`tv1`qX?c94t{OyraqVoqC^{h^WBs#6%YVDFTZWl;s6@{&0kQ@l6h3l6~MvkV^pS z^$p9#DFg?f?qhcT4lE$ZVHqpV1aZ{F7jZ!PGz|-gHj^u2Z8Z_;m4h%F)bwbOIs~$$ z_Xm`l;nHU|Z+ukVR8zcIr_{086kw%P+mt&S2^rL#)3A}m%oHH{BdcHrcmhYD#~`F8 zfJ}|pdw)w8D-<#HD>;BRy8&+P9}Pg`op_`>NHAF-iL|j(H~Jl{(Pwlf;VWj-i5!6X zvw_&#DX4{nCR{I2idkNWB>VIu0P~ri(B-g*{1?&Z5PHz&f#|-Q9s_Rh@)@y+NdH3` zcvI{qD0Y*2;8Y_J4Rc=oA2SG`*f-KDqEqs}H{ksU^aa43`Co!xCYv`=l+_jA=TfM) zdYk_>gHyWnI~QW)Z=Vd_k=^}ytLa}2wl66VrMmXucbNXu3VmtMpW=V;M4MNg|4?l} zD7OEp8rcin^i8$t6N-2%wY zZCDdw)6u&iNd9^_3RV=GFg@BK5@}7m{&B$*$royruz(cHC=hM~@p`{RGcxEgbX(7e zMHt4r7;0EClM_0Z>%jq`qX0#Yx-ljB9yZ1zPXaXN(q90P+9N=AwpscMs*48!Va(ib z-3*KvZ=?fy7DB(Tt1&$rD!JLG!}WmT<-W>hI9MX=k?;jzzY!mZrJQmG?gFyry~nZ8 zxa3H9RSDGup&60qlV<9x0NCK4jR4gAI-n;{q#29!o_$JClkQW<;m*bZ))JcaT`)iH z{`3Rz@=%_f@5+LDN!yitbv&S-^FihJ!e4D3(PWeZTE^BdKk$UsnC^D{lk4B$0iDNj zg>t}5H;o=!2K=wSzFr?CSb%`c2aAgUR33SD-1Iv9j?&}WP&9Bt6Rd{0tjA9gY&gGT z^&4&A3c+uraLGb$F!rzG2pXy|n**?S7#fi^lL|>@{LF<%WDuD4;0__l@F6Qs+Ovjw z`wfpMfMRCzr+S2CMl?)c7fCKwK?zb($ai`DJ3NphhU*SUFRi{Zt5`gSsNmc1hkm3I zLOzeJiPXIg8pk6tfrxgY^BmxLJSe{ubPvA?!c)!HOvC^KV2tZF1c+3jAwpz{M5cru z;owyyH!yli@bdDx0ln*h49*pCBOZbR8jy(K{XV**>7dUT@4>>&#S=8lj69EHF;#^; zd?-mkakiNVi%bd<^qQ&^K)sG-CdQ+A_FyT(H=iMNl+6==T<=NQUX27eShb^o4^0@q=m|?XM9=#E%fKWSfJi(P0Pt(5 zaILm2L0F+`q$H5TpU*Sok|->4+OZnQZF3I-%}E02qD^53fgHBOa(i8-!k_DFM)mC%$(bYTWPy z3>HpPjCX;2z!Z1oHsl{S1Wnj(ogK%cUiqNv`T#x8hWU{B^xQz75 z3k%r^Cc=u6UcD5`?yCt1v4&Xc{mYKwWw>VJ4)TPp!$f;16#z0MK2fFL@}WKK30>XF zwpAQ<0|}iA9R>5Wg`~=uOcRjAWA<<0fD8}ABI!PM)EQ4=!$ctSNz!{$6HD|6Ud|4X zaS!A8Agebnfg_wp*cs0eJOCH>2`DMy)zF6ExWg14#uq|6=%Mh}ga|6?YiShtBlrWZ z%_sx-Xd+G64Do)Sj_j-VOVK<;1*jKz7=WSiW=p6n*@K101Ik3$YA6y&jgbd7hvy4% z>kWtyGY}S@f=y(zBG%d%#cwor^Bimhl|T1Kg!dl7D6d5A?c{yRd+&31>Nx2q?c?JB9_A z_W4kS;72Grbo1Afm_;Q#AgOGT=mnV0PU)a2!10+T>=X~&K~B+pz4HKW+D_4#9pB3E zfTLV67NDCPM0r_rC6?F1TDSy%O-sBzV~o54e=X@|wf}O_(_8^#UZqDZbdbhzDS_w-tv> zhvY{@8$g}!K`Bq*V-YWb9_o|^YZMWl>j%f`2N=T@f$Jwg2;czt4Q5(8M*bWev!a|6!=g4{Hehv*ci45AqE?Z?!p8WZHvo>=+CiP?ne#;V|=q0!L z4QA7c|3Uvx;+c&*3E@)mhaC!yfqy|pxRYS$AU^+x?!Q=}e?XMl7J#zZ;PMESmJ6&3 zHV|AmvaGveyLjMAMs8ra6i`52z{B_jm>`P~F%K+;P{?BB!hbO1N&s{stZjia7LgI^ z@`rJ@8ooVZII)h15|ZOUnI_l~OpS#KH2l*g^v2Z!oLXGC8^Qyu<`in9%%hrq7 z1F6@GBl0jy_>z~=K`|HD$L`pe85fu3f?Pl|IF(xl55;jFbRybDw4TsNcHJBwXn_YO zAF+SJgVB!%58we1N6yB6-^FK@@Ex?Wmvhn+kW4gpz`wRBUJO+BBs4?~-%UHwhX+(Y zl<)&{SU}x~&#(da)$80_i4iw9+)T)pXwyoB?HxmkBuEOyHX#KvxTk3-uwv_~AH zuq_Z65;_v!e-OFwRKzj=Ae00GZ4CgOgQ&<~vrOCa>}0Q{xnY9oxCoH}V62Lme5 z%eUb>`g1EwXL!}eaGHrD^B@q_P0lIQ=}*3IXoZvEEuO^&P~bN-Qe*PXnBfJ~W5fqq z;Z|&pgz9sQ95}rWB;IWr63nTuqFn%WQ!nYIryI@Ttpo?1%ZI2J(4KIi*(bdPGqM(% z0E|D@z5sAv^rQ~s+3Fa+*N=c5C$SR!fcj@MX?y`F*=*B6CuRc*O^(37^OB+pY;3Fn zhKL3_3@Vbi8)0enYhw2AQv^tG09{T`(%+weObdxQECK3%*%d6HfKGz(f1Vz*PY$Nk zX30m03MvsV@$*F$!=!~u;1|IoAPgS@7=AI^T=yc>*Wao^x6tF!Z zgb~B1Zx9n6c7oeDMq3zC6GrkUu=&v6kjQTq;T(DXmO)QlUSj|jf~ai&dqJO?x78;< zx~#4tBC76|_;4|N_y%DP8eRxVM0nZLgyq_RQR73LnOKBBu12G~fx(j2O#B0kb_{qx z^E_v&8NpEl(Ma>4kFKj&z^Xcn1+t$bSD}q4G(Y9Uc^5iq4v*5Y4pMRGr0Sh`;D3_+ z79NPV9fQB&pQ>kF^(_q?BxO2@Z2ZHoja3h}Q0kDS-9^uiq_`qX1OnB7& zVi;U8WE+Wt)efrOe#GljY-|!L63IL8(3Ot?>**bSDVLdF>d*rtyR%7o zHTL+HzLzY!Ow?*+WQ{K;=S*+@-8kwX_yv?B=NmjyY(npI2Ju?Ipi$y+bq~GA8Dujs z-q(SpR*K;iHF7U=q#5M&+ThXp!| z!IwXHH|6o9B=Z5k6M(r}DKQZi?{PdV_IeJ)<}AFL zH+;VmyHvj3T$b3Tm>qpk^)&6CFc_qRaP{*tds)lV=U`c48JP zNiFqW?me84OHq12kKeGpOHaEqfV=-j|D=~_eUzwMH^U`E522Z#UOUy>c8lwBRnD7z z7&Gy7=wB3_>$Y!w8vOXDB`=u=xhg|)uKZa;0aCs9Qr*^Cmu+xlSID^YDjuBXp4%tV z@Z_2#KKL94yDF+CdE=Ugm~4$YuWHVD>$2FHJ7Th?DF?{oMjz^)xizHOb1SwlLRW?2 zG0qHQ3tcr~IQA`PLCV~f}IY1$A(3CsvhXp5dY-*sQR?r>hVpJ59|LML~DEk4Zt?kAyk7Gt|66px{|`C22j~yPk)4*`pmhGUa&dQ#iEO zplLTIi0Q;wzYs@iSG(Qdsn?H90o9fgN?QP6MQ5H)%I($1Uwo?Vmkv(;5W z?zv|q^6n06FogB_N!!Wum%igRyKb7+Wj8BvJ}Tbf#$uQ@r^<_6#x4&}l&A`K>US8z zm}S)FA7tV?FBK#htIm6Qt;&zl_4uAd5rfCcs?%oQr2Xh!1VeT;CU$d59pR5~E%aR# z2;U)n{@lpwlFyvh#D1&Epd}sV7B0ax3YU3FO~E&8F&9qOKaF8b*Hlz#n7U(dGidMb z_fN(1znm&?GW*8$AvYI2ILHc5;h=GSekYE_*vS4dv8h3)xtv)Y&XeAUw6R3a`S@{? zeqB-FnSS|oF-N*sV-F85zcDl4g8mCB5@c7ncV>LCvWR~f|4n(NL)|p)(5}6c@-c(U z!jWGN_)N7Ab@u&m)?y}WbC-NMZJ|?MZlHOz;dSG_$Fbhh zw`I0$){U4ESJ6Ylq**4Y`l`$4j_uyTIsJ-rDk!#IQJC&Rv~9XaYCD++FTc^Oqyzhv zLpp{*EBi8!-`>AtPr~f;n^(ssw41K$CF9j;Snin-35zLckC5)*J^V#IIVpvygf7QL zh4rNHRZL=6Ul-f(7nfz$u{G?fm#9XLlc&SJyKa%bs(wdJOm2HBFpH9ZNG48U35N-; zq%c!Jr0}}6!QQ%w3_Wy47;dqys7h)*-awn2SeplxdHF=o{%>xf^ejm_GLKG7aGXyX zK0ztz+-I?4l~h0IHd+B2J!qgCLee3|z+e~EtO8|JB~xoM-M4~L)My)>j=?9Dn#UrB{D#&qDxt2=1@Il4tkM_Dzi+mcDtD%4A zX}%^Byfe{ME@!AyH8C%xpddcd$Y;W`d$&Y1TGTfp*3^-c!@5v5kj#5eCUY*1Ro9=fFX`xd>6CaP>Vl(K?Om0Tfb-VD z*~~oVp{4iHdd~j&gB3w4sA-01OI-f>Zx6p@Q!j$+@=gS0(%!}5e z9NN^Sdx~;Ih>4|Xq{kmW_Np)U#8q6oguRz3YpIBH|1^5^X`8D4b-UCc1I~88L)Q<* zDGc!xB<84a(9GN#ZWa~o+@oh;Uq7z>d#EZ)+I=}NeqQ;}&#eNO*Q zr6x~E*vT$8W{;f#O)q;b7^az`@P@gna_5iOJVS|xv02;Iaq~O7F0XRF=@OY5)B5_d z&@cKplV5>I*oPA?*EvzHCyB0?CmL&;G>Td z*C2i2Ro$tAYNtIiy^(9zS5pH}Cmsj!tuX0ZSE%y*7{EA}zdw+QU6BeXtaPUr9lj&r zcBS-{jC5E06{0$hxJzfbegS)z*weYkEopBQJy*#~%vF^s%f)o-Tw%%`4w?IMSYxeu z&Pg8gUFK(2@tq?MstTWS?tf;hw*;??YVfOfNVrhi-)cAH?Gtq>-1xv zc*T1h)I4mvyZS_3J%~>j8b-#Y2=r3wHy%10PHA_PaR>c3{Vx4)W44kPG9C);k@=+f zddw4p=OCH0ed@$}Gn6>$D4n_n`+jcMp{99w@ z#Y~J7a-&6wtpct!YP`IH+_`;es(Tbr3yy)Wa};U1L@7KT^4dfdBp$|$x%zPL6SKXS z%X4itTQ~69l6do{@?{%M8Ini~ldyTo=F|ya^;*T@)$Fqs`)2u!7{CRO1)2B!qB|vA zv?eMQt_h1r`>qRmn$7lF^p0t#))(?KAH);S=bQuDP= zKsvamz5&g}7qUH>e*w6BhZ6T6yK?RHgv02hQDMZpoV?)`hoYw+3Ot>R-dlb? zojh7wCqqt>@UAfI#_42^mRWB*ixU%$vi@K6CqK+x!c6cU9DDktNdKpFi)c^iEQg@F zT9VdY*9kLOQqlSRR4M-Dz85!(gLy(sU3+p2ZiT0Ow+z-H>bamHIrLBf^Sn6oUe6Qm z19aY`t$tEmJ7@&jjNZ~tc%BcvFaHa4b^HQr!nN~tr-^sSB;cm(b~s!6%{nSf4+UIT zTkdHnQtV{=rYf9)CD)dpHQ=!UwL>?VlN(aFg=C)FFbe=7J#>Ew@4nPJ>iOL=W_NwA zWzB@YA3YGoS1I-7+*kWC%UeD2;zk8d9y^VS0-L*p{f_eP*61{_=uGx08T>|k`<=4< ze$_#t@tpy|pIw~A4>~{LwxKEXzO;O;->O}b$Mp5Xhd)R%LVf`$;iF?O$+*t#X;uCX zTkRFliDUBm*|cMV_-~^MbVl#wOSBc6_&B8WR_+Vm{b0lCnEq= z^esh&E%I^NDH-jh;CznVyn-kmAce|}i%~Ncu3iqL*;O#co6@Q#*LwE6hx*=n!_Ogh zHm$}b!pzHUujf{LRu4a`7Ty(dfKE4rXQk|q1U#M(@4DUI{0s_J6vC5Sd3W4r+i$&o zP#>z7!Q0z*AR&`3sf@u`OD;2*rZV=x%c9iPN3Jy{6)J+-qD0r=*9&m)(xyB)n9VV&y(Yf4MELEFocR*kKTU zbyC5y6*DarV|Ynp;#*rt@FCPeH*T&QoH00Uz@{lTn%;)_s+@d{a&c6Mf?11*D_<+n zy7Qc4w#x3quSOy+YI3dcguf?0B(RYLvP9p8zdvVl4!hKvk?s3xOg7su#iW=e;#*Ow z(;3cZ=+rCNk^0fA-TigSEdxs`73mqx_h;02xG5G#=rlZt`j*2S*59)Q^1r-VLs~@h zDX}>;SJttC;zq*lZ_ydfa;Yu#uO!5xQqU>V7iLC{uRpGkHLLG#YkE+oFUq}m-RTt7 z3G-Ck!jGBJtDP-%ik-ay#d3900&*8yW7YK@vhS=?6|nbG#^Y&bI4c+YJ_?t?&k6$p-L*u zD2{x&PLwwqH((d5s%ofo=n#kW*(*gg`*MXolK6#GaD}9n<`Lt=za5s!PRYx+vp2iK zus(4>GQoC2DL3M7r8|w~a)*f1sgi`%i@Mt6S_V9*bFvBd7``eLHl)SK?T>ld_a)Dk z&G<$Q&FIMF!2`_94229@ZP|{y`dg`w#4V^4y#q<`7xw-%c;qCIBX|6+*TO@MR+atm zK^*$!uUwX9#@u3AD0+(KY(Lby_siOxS+--UUuWGr`=&f2fP_7lo&L^p8*PGaFWi@o zN$ww6WJ|4L_)_C{UOg)1bA7|NW%){?wQc)4n9YZe1-85@GaT|VjMuMiaec{3ZHgb? zo3H9l^6qx8vY?<&>BbRs&UWIeeYMP6Pb;r+wr{wFIU|q0LHWMsCnJ~FZ(3||OS7Wc zU8f{NuQ2N2TaOlAzneDK_<3#mkolo~yPOO2PepXbb+>|Q%?&Pl%h8T#?y({L@q!=^t znm59xq!J15?KxBSvAus;w-EPIDBf?O;Vttc^_-d7#!y8=G*_PD%niw=Q082*UAe9l zT5a?OE=z@cX~uWN9EFsFtqy&x@48H7CX%r1#&f2`!j&&wEAw$eq~#%S*DyGCBAdgJ zruA};zFX&Q!9j-|8ukZy+xDhKj(v;R-x^giZs4kU zmK+u?k9oV=X}!KMuZJ=`Ye>FV96c;M$7eC_!*<>;L4MrhsMIf@aQ=-9L(52L{jL6X z?ZjN1dX-HVAmColLq}Rov3yBH{>vuOrQl3M+Ep+|%$~9qyn}U*xG3=SunO*s( z1`-~+6_^h8U65%l&|`0u9-s=w1s&p&d64|0Fd%V#z|@vhA#`QGS%%JdhW0d%)dy=8 z-2kqbDfe%}(Xn1JMoF)91aMO-xz98!V*B<|d%i4Sb!!{YlX$De#q_%Iz?Fckar#}M zGZvk{K%^6UedlK_M-$riTs_*Z6P0C0*7QRC)N08^X~zy`evitVo=iCJFT@*oN};^4 z1PJ+g%efd;a!N-~o7UIJ3|t5{R6nd{Td1u)M0d#qUK6pZMI^_m$u90rO&a-1t><_! zMO)?l$k5f}xfWG3Qe)1YK6WLkD$Jf#igNqUan&kF@UNs)#f;g7) z`CE1#QnQl88F^MzGurp|E1au;y4JJDPkXwHI=johL_}*(!Tj)}*HnHFZQ*((SCojV zxLHKpgzMUNDifx929~M?1(%XXE_-xp^lx<8KlQ>=9$C{!ZZV;A@s@bXUve?M9q~YvBCWUva((s+@7}<2OG+m1qQR)HC~!>cQ7fE4;-WY=^6Ef^A{NNJ$ZYa z`U;m9^^MF~9UQQ5K2wm$rs?=hLqS$t;r_Vw~46b^(bMfxC4hq(#-cPLWNuFmm*5Nrz(sBH0nCbxA z$9{MHg!bEu`so(@YZ@L?>am5F8(rP}$#x$Gx)Ea8;vP`sDTQq3f~nM_qmzS*fky1cEgLkIkKZ9Hkni`k1?n%(R{7Dv1TR zO|`ZLImYNblP@=a&2Z57bf)udM|eXAZ|OKxo+Fn{f8jdQd0oOBIDORoz~oHA|5G^Gvr;yxwv<|?C$KYFcb+LQNHid-8N7<|Fn77 z@Eo(P_4rt*?wtHU%cG+fZkG*8ZVUB)yLXG%&HdS)CyG}N6MGJll@#Bk(|jt$A;rM_ z%-X&K=V|be)_mx3VX3Hr+gQ`!Xsp0um4Z7NuH>n7A6vF*V{~-UGui9atz(uaujgNt z8xt8n=V=^LU!!{Qbi8NWYZ9*8f;deBt;f6Yu4&gE?^Y+dE-mZ&Zq7d4Li0fusTJRC z3H;k9gN-XaS@aU9BVGMIRVS_$j3*!U=gBKf#65`~b&N;~$M=kC*m-LI43ew)V)IVn zJ#!z;gcV0pW3F1rW1*9jO#8!6|G4Zlc1U!0QDU-exLP3}p3*zx_N0J=`w@Zl3ab>? z50my;vf3>J#u@Qcnq{QN`I?%=qT0nAjyO~MNw~3DpRO>4zf{LWBs7j@8NbBPEseHu&BlQy6mT@B#JiS7WvZEFBz6`=*aU$xSh{9 z!WC*Af#H=+wMrMsh(;f4)!CVTr0^Gz=*ekfxL>>PSPR{r_|?MpAJ3dQ8q&^Y><;YU zKr^A(I<)K(1cJVhbJ1V);IXkQGKg?LF0y}=7E!Z*kY>siI&hX<#o!d54xPWV`=lVX}7s;<(D<$D+y%l!-=i>7xibVol34Y)?l! z)P%?RUYu8$AgWY$nct5g`L23nRdY{j$_FEb^LhDMcEn9Yvz7f#Ix}?A$25cF`x>4Z z9OQM;6gWz9NZhl#wO+A3kwJQR&ir#l??p$xO6i2arjO3g7YtNNb*a-sm z&RYIcrC#Op$@E9`+}|nq`01vvp1!tQi}ZObT4X@Cy4N+ecii=X06>)_lJUevoM;u1 z41U0cnyY-LRFPE=>XcU>-^Uh}%O}UPG z!?(wiqRN)tK1GjlM@x0p^EwRn4mV2FFjaTl*r7LfPtn3IuO%H%%2l}@m7AL$5p$B8 ztNzA--8oea+uZX<)fkuLb~o%Sx_Nrf8T&~Avh~E&YiwaJyQ^|#I}B&p%|E9+i8E9` z7RASVkSZ*4WzU3>TS;AI;Sf3NS?c|Q%++k)j{AzK&ap9)XHf7;cw|!EfA7FcEt@*7 zii^ZEB*y`1qo`GH%}+z=;!oM%EoOPoJW(FHElykVY;b>f z^yxgL@y9Ap>_E@?9lBk#)E=|bWmt83jghU@`bMs?a%sP{da_k|?#>^=5p!8SN#w;A zwu0s_=|HACcuxnaF|34T?(ytCG60`{>d2D4qsBjn|6J*W3#rok^y4@`ff0>YQ+zy=-}jFjxh?ah#zlM6NGzB|aXCJe ztyv<8vDkaiJ@J9?tBLjvY^ZU4FelVT zAN#y^&DXeJ0y@nOZtDltUb1)go3gANnso}2v0vHAzo29hh8r^Sea?Nkgnea~k)HQ) zE@6wh+UixCcc#Ui?p1HTO)f1kxk;d2z6c-EI|XF8YKYE@ugGQo#C2eC5pgOtw)u0E ztfoEm_9U_*BQ5*vqAp0~!~Z)CF)Ez9p$1R<<2_03`uve1{C*!Nl(k72Jb3Q(o(`ju zqRK2b`C7$k>PKTZeA(ZeJK6B?$1`@`Q&FLqPVT8-H+>gL$k7FN4N zM!JehhNtrz&Z_%HrRLqLaJHVwaDBBubSYdRI+vwb*FxjMzVPUetk`#Al zEWWAW#1#JmPWK)s55T<~ppvReCS2 zhs$M{Gk6cglgL(}~ouN|yMG06pe7rtw;s81(}80$`jNszM~>9?N0w3DK8KFK|1 z)H|If*Q9kf_G=){$|+G`>cK&)AeP;a}zJiI2B{`J!UU8#&WdCQA;nXfc8HFqU~wlUYR$~UFg{q171 zc3z?V5TKnzuV;JCD+20Y(2@yV~>~Jrw5#Qck-5(66NZtp(#Mq`XpN+kZwyO){8 z3<4sn!ZCp!asu@k^mo&OubR*%`M!@Sy|nZuq*C7darrJEyV4jxF{5}I7RN#5u2Zt! ziPNe{0TF%Y6C&{^vM$6qaoyK?7J2^2nn5D=nRwyC{J|DI?J%bSWs~AdDMuLHvH5Wt z7Vyn!KyK}7=8UiXdx{Y&a}$|a7smT^W6$M9bF~#2gq<8}R>D-U({(yh{-!?n=q@d) zo^W!YqYl)xjQR4+DL2htN|%>=5&O=1PhexBbq5{IYIJb7S*tEf&};6>N8UbC-?Zmi z3N-?^IP}Wb3XqyioFWj(63VxEviEy=Oq#)RFF)S`*vXXKxI?)mu1sI=)OZ z5xG0T7{aP|CcR$GSk1C<A-F^tUee0A z4jm@9FP?9r2AaHf7~E=;qKXZtW58N0(5V+?=1j^L8kW4Gf-f){hle>tPk1?=Fig(R zOkux#>scPD><8q_pRAJ^`!8^b>b4i|@lH!A|2(s-;j5?a$k*-nre~Y5OyFLpl-d_z z|L)~DX}plHkAL86%h#-tv$WBn3n@$j0_F`dbWGA0GwwG19J_3kr}sYbL5q4!;OE+* zvx0`6vaZqQOs)m|&o$Zob_wp@<-`~L^oB*CM6}u z?bt^q7jd`pj*E*#6 z$<0~3+RWv(rNc@!;Rh&vN&4P3%7bCyL!S~9f;*ocvDaI7Def}hi#cTJc$B{KkkXpl zSKqvN>tfXPY#`lmV(iFOTs->pdD=#*57w^c!dmrBN+qAsed+dHhcQKW-DkV{rye%^ zpvlunx1X4&)A{ z;%dTKQlDmA$k*$;`7>_0|6yIXhT>3LdHC~^GF(OYvr*q0x8KN((B|nKN;Hr z(gtE#zH3A)S|MvALHilaEMLu29(pLjGHFRee6gf&k|nS)-MWK;dEHGeUi(I8HNQzr zFt0g<{KfDAjnq(!^j0jj2+fL6^?~WLgZx4DOBdu=`Uj)puggZ>P2f8hcS!z#}s``d<_Y29t-`l>&Y zg{t%0t)7<(%w)S3qkYdsy6$uwdDu}e(xIz-Ui+-+1;3sZ*&_~?)nDBAOtdZsb&G0IjG8w~{(RKHmuNfm>3Z-$(rNK5lml&nJtIfr?(Otiy6rdvyGrv#)>4Grm-eW5;hq}8^5 z=^qS!wd{4;MPuDxqTlK|PeU;O0OGQR`^g5+NFZJEQnt_TD$iY&jO@fD`j(nm=`4FV zuvR#r*2`^et0ibsPX!8l9hS=?X3=6E6%|%0QNbgLw3b5&C1Q;Xx70fCD--_1MLn2( znI?&e28#*FZ{9hFWA4DJ;#I&Te|-|rhZB;tg$@K(&q<&j&SAn&6lSy6WwV`_g(uXp zTRnH`zdBd^yU;hAC{2#8J>2w?a0ErCQJV2qe>RAf{!W?9*ElZ|JH6F!M zl`UZiNm7((0K}VJxf&$W@D>4zcRQ;808Wj^5X(z-!V-i6r5*rUV;HG~#rU=2>dL9W zY#oog3hTtDh)MqXh30!IC6-5+oUfm;TaPCZ5h|HHnzqTwXc3C^m(pS4a#F$#9Emv} z!?&^*ZFw^Vqta~u0CA{I-sk3zt6)}0_-6Jf%S(OaGTL&MwFIPbCeqjxOQp<0H-kw4 zo+oM2UkQhgPgdGZTZbIb@7vi4JG|7@gT+}tJv*)jS#iUH5>#xZ6)33ZB-Hy9xiBIs zdC#a-5Xmd};53tH;VqR!MVeK#9FfIX3n@ivD^Vp%H6-mlkV4CDC1Vtti!|b1X$~jJ zSPB|xqI8$~VVWLXgZ?X@*nYi|kVJFR(1Lo+9Gx}h zdov6VTFS=*bC5QiuR&CewKHGMhw2pCxPRdXh5@%$8hM2|pVM zMQuKwkR7ZhZBlV!*j?Yxrv7~qeQ$iemgYN*SXoM#>T)v?5a{! zLQ)AQFapF=F&l{5qSe;r=?Ip>pkS6zKAJno=ptLVv+7SmK2tB6H<2F%#6ZAvhy;$~veQmV zB++$L1Mk4EhvFjBPE0QZ1y>G+qnhH%sIQTC zZ8SO0eCJoxo}5%1G;<}GxOSgt;)hTaEi~l9@5kjT9S*>{cCxCcJ~T5v02rMYn-`?}ILvb8pUzw4sEvkq<*iFyuq zPdL8ehUQ9&R0zabw*!a@8aJBf5$hOQlsk?VCCEsGJkjeX>MaQt+-y2tYXgYjcxbO1 z*>eQ9v9x_o;sBFCGuerGS6SS{(XtyuX`&JmJz57FL#fGHLWQ4~sU2pCQ1o{0i0Wh2kYsy~=!)s>Ez3fm1e!Ho!tih@zh;zNk<8Y%q4?K#v$ zKs9eGA-{BPc3tL|U56V3QKO1)B|&2Yxh2yFCGi<)&f2prJZ!`5#Il!KP*N44k9(h( zKIX!+PVK^kDa8b&RGULWC4dxjua6BROd4JpNzA|RWhF>aN`(mA+>lED0QiL2Y2gmp z`m6mKY;82TH+pSVL`zyjr}G&5wS6(P(~=BVDVcXS6hG80G`W|8QB_3CT~lN8864t% zmcvq3lnUw+sO3v$knw5!wSu9=I2$2pakRLF1tCBXM$w?X6A!bbPpu}7JNHQMKk;4D z4DaQW-J@|CXer#X`HQmms-ClF%0W2V7A=^@L#(c&Xxa}>G45gw=XRw8j{U*`Q2+{) zXjowmik~dvbkT6Z^i+9c4_$~L(2V19+__)bH%ea)Q%4lvI_JE+`jqPL$Yu;W{LTU$ zK?y5cw8>Zl_lA2qP^Xrr(U5|oQkvF-hN5xO0jXS>u!@%$7ghJr{!gtM3-vJP=54_s z^&!($d&hLvhRnOpBi1p|zMPkoH!Lh$&~FD>T@KN(+FdtdI0O^Tz33BfvL-84$C9ji)8hXbB&4{MWCY@m_fA^!m8VXqooxPh)73b z9W+BoD>jLUaxN*@hfP-M%GJ7?S#5bj$xu>37#$Q?>!k4;m>r7vGFTMVPUTAwR(PJVR>EkWwSwU)nmfA9vRanS*)-Fv`g5nRjUm^V*b z_YWH(X>kc!6cm*Tf(=0(8}%^eC9T0A_2Ly(d!u$kJCLk{fzd`_jnIXywS}Q-N`?g{ zhS0Z)C8{O#hm*$zS{io)5kOt$)xpfxN|L07B!W1DX~W#~(etqXw;(Z-3 z*z?6m_i#_p4M^jm16R8@rBcF}NWxbLPGw?Rvu+{g(&I}?(4kbRCZO~$Jj3l7>+4CY zO`d7K;r{?N-LUTErzH79Lm7fMTTi;dt4^&4_f$ocqNNom)RR(oDpsT@DI|qj8aXa? zU7}UTVbVsUE){%6eZ?o2u4_4ifJH%lH*ugqZH*;kPcyv z{H>}u+P0{*MXRf^5VjRmoZCg1i9_k?nk#BgN+nqk&L7>}JeSJ+diDsFrmaD?UH&Wv zr^@uxA{GKvg=boe?hjDRom>joc15QPYp%_<1SnKt;d#)~J!cD4lT*EFZBuHSROnNV zuoP0Nq>x3Sqr$q6WqpDAG~2M!ScSnO}-sr(>3yIU4OpxSYf5m8sv!r`or| zImD{1GOl61Sw|QZHHvxouSB92M+^_OKBxmTFZ*cJJ^cp6RktVt&GR4juvU= z-cC{te@_fsy!1gM$r*;=X{EmM8f_&@T7puZB-&K~iCm@<1-~VRlHYj)In<}KAt;c? zN0I?yr71PqtP(zCSxQpWRH90hYDv`22fzh;ESR7g>t|51)~6L!Z-OggDWVwbZMe3T zl!Xv&4H}ndmC-Bu8%Dp)GeCOk%r_4wQoppXj4G6xw+akGz8HN-)cIPPc)XGpT7`9@ zoy%XijZooWJ&2t4BAOA7x}~Xf$|RASIovYIyuwWoUzbI>4&f9f2Qlv$8%p_GnXyDn zpxKK?)uZm$X}cLCjj`V4~TGM;4Y8G?N(C<+9kA*L;Q=Q-{|O<*I~h})8d^@n)GXn9ncc%9cw5)B-UbRheQ&VNs3WORl-hf0)% z1tCQ$7!YV}E5Fx{S45&cQ4NpFi5%dxua)R$D2c4OZ5^&doT2hImENfw<0L^$m|KSi zlyVpHJuXz{o;!MkB28O@Xe0Q}bL_B=h{v&VyWc*OoRB`mxXc{v^-Fnxsj2~|=2r!}K_N}J4NF;d93m{EN>9QpxDfc9QR zf5;IP{{SFFSHM5W0TurM^auaM05K5&0s#U91P1^C1Ofv9000010s{aM1QIboAR#bN z1rQT5K~Z2rB2r;+6eBZ$!T;I-2mt~C0Y3o!)&Bs{2hRThzB~i*2CrA{XM}cu3DSft zXh1${Rm$7L<_~f_BZl>VA-xf?p$FNa5{?PSAa{p=cPn|@v7+WSp#qI)C>n9dE~j{Z z0yk=GZ_;sQBX)R4Xq1ov6p{w*@tdgV&N<(CYPDLe+Gh57M=kj`T=@-^{D(#ZsOZct zz1f&9rk@lCwxN)^-0URwA2{W=BiJv(IuRQ;M2m}eN1Ya*630$dNj%S%5c4Bo+8zXu ztt$o>8{^gn;{6##o47No>S^&`+9~8`)bQbb$7-xp+)_v%wZd+_8H$}dbK((n=TC@s z)0aaCH9Hpf9uRF&%bStet}q-~hvWYMy<2pkJnh0=My8D8;*88_l6CE}vnt(botsnA zg)$%;89m32Ic>?dGs+^2xuGKm&+}18BtYZmY=+Dak(EUm&%mQ29Zu^Q){fM($hsO_ zYY%Xx#m05zO6uAjnW_NQak%&2=#!jkzT6ajka? z!nlbSLraZ6$W&7-qn5@*4lHU&${QXyp)w!wN})xD%6&&gT&d+q;fGX^1mO|&t z3pb-Me(5u2a(M8IXz#LR3@mBzzbQ={E~Cw2cF$|mNBfBB^e~@#gJROG)UTt7*q@xc2mGNSjoLd`N_<1L5>CErE3Sr<6b~lY-mlsRcpV9`AH_NmOk*^x z7+iF(#x_^0)%Ih*;$^q=4wN$FKjUIHgJwJPHdQ8xB;54y&zWuYup2?M9n|>_JX2Xf z=`2p#3S2Mu8c5YN9guz~apI5l0mi7!pryi-?liEX=sP(4N$6s|{0gPCrNXh+k_2AV zJ17LujlQTt)F3n<`!st#ENEx~bfm*M*Oew27g_)fKNcZs5E>8)5UmK;>Vkp9{^Qx% z0}C2e3!waRNLGUaE;>_tzizBl+)_vzqdvd52Go+@k?2qGdiSf<>h*fR>7$n1jRSru zy}ywp0dq=o3-*+9w5%IW8GWZwiQ3#r(i z{O%M}F=KP&p3$*+<6TWQGy6q6(mtoi8ykvKadEbeZ-(GMjd=pmB%7Zxr&N$B@iDDF zF^{xUNbjlQ!oB0S*4-p4K!PqjoLP>@_o*ez$Wb@g;z1G+dN@b3+wX9$RNPWHYM0;m zxh1zD!aCT*(Yh$vSTzoNfNf0Kxu3;JFT(LIqpdP#jEc1>)n*DVY2+`_i{3i;gv}Z0K>4Ew@ew`w9)UI;e4?^1)p~37UXp!R zqLt{adJA5FuS5LOMU>xQ>y?V}1ue)5Oe39nQehBl&Xq!o4w>wQfYk0mwIk*navLe_ z7{#*&^HgT`icA|HakVBEHJ|{~VmGZKE~c9q7}A>>$J!~e61U9~O<|ifLvoB%-hl*M zaZT;*7>LY?VM&8O$kJisUyX_1ONtS;TT^2sI#WvRsp7#mBD<)h%6O;HegJN9sb&q( z!ZoC~M*AqF{wIcW%y*-|nmoLpFOc@1JbVrS(a^on^N zLw7gx@QG)6vgSEQXPDYDXfYa6;$>f&TzB^hTwF$#)wDm4$K%EsY`oaik~EB6&Cd^n zLFvJq>fN6e{{V>bEb=afmm1?yQR0=(TYfJSI>8Zav4A_QFq%o`ihuwi}|T+6a$ z3@mDR3}^gsV3$_d;c{P|ylkO`jYx$W$7PId7o!*@fE^Rp$6>$ZLR07BnM#`Fu1YB`qlIxr6Wjp4Oo{kYN`MM`z z;(i_K{{Y(-zJ4DEqlZ;Go_lCt_?{Vk`$vsm+$r!t`%Nn4P&RSO(VkTl%O;#IE~IQ^ ze2816g-o&E@1k}%&kc_e{X>&fJ{L0L6=WQ@5x!x-=Inb=By$xOE8+II$Fha!fpcL% zSXgvVYDUU$K-^q;J7pcVDcU|?6p|~8k11O!6S2g;X%9yVnWVqhNcOm%+>exxnD!CX zRw`~P97ujmtzzW<17PiyOHnuI;L^#PyEB#+J&13}2a%`3#?<&W9@9-5C%AE<w?dPIAAvg47{C4Bf9obczYD^;^l}{LrtT+q5t0!$e z^)T+#m{c44&;WZ6Ojz~@fH%;}4H0hYJA$J>#8P1o_B4?qY&7EjBZ@`omffuMM{Z0r zw*J(ZWL^FG7_+e8jkPk{hH%!yi8$v~s@=L3R(mxnD*Q)EXU^pCS8Z&cjto(m94!FH!f*!r}nyPA^}PqI-r;m7H5S%qg6p0n0-Sw4ucz;@os36du|dekq^nyj*C2Z{C6k?+WO@-Q{Z@b{{V78 zx=6UOsiQHuUgH3=-(Dc>JP!dCl)3xW`h;6ZJB)6&16;=M;7Fy|D5Ow|6l$C)jD|hP zF&j{whV&;NbRAB|(9t(H@GJyZa_8$zn26)~8khA3KFBRh?B?uyuyz|7GcguE2ZxXL z;|u6W0_LU1M!w7MQsU)*yLsjkFWi)V1xYeT@-;8&A5n^uSCHM0pCrzJg)~V%=l=j5 z0Gj=`{83Uj^Vr~Lq{E`n0B!2fqi!lpDIV)YTh3v_{{Uy`OA5#-l&P`vd^A@%&q{c+ zulw_4Qp^CQ0Y!&T6q#Ev`}15P-HUXdR87r3FZ@M3jQ;>5=D0!p3D(Z5xu?aC>M7@T z-1){6;h~r==ARU!<4=fo@e9@J^?uQWJBlO?>G3GLd(+}ww)Ub)-@@-#tJUiI$7e?< zZnVr>e-0z2Jm8Lq^O8CX=R|8BA_eG+c9Jy@5CZfCskh=JF8c~>D=HQ|Vl)pA3wi?H zhkgoS%LBTee{dc9t+z*VED7jsXHjBW2vjB~fOGZr^JyaIVd zYaOEo_d>p{BB#jH<4}A>>G4uE5>EZNBOQeZ7|?)ynh_xMlv&SU9itB@jqYjjqxy<` zOpW*3(h|b-AX*5cVXATN4=9aG<1jb1x)Y19ER8GUDA`*51{W6Q5ukX~Fa1wJ#h8wG z@wny9?045V{#WJ^^Wn<%{#b92NxM+g!P#YZ4*7=y6jw?G^4ut~dgWFRRg zkrU)=&^PtPJ(n*O>Krtm>8Km}Om6%ly43Kn>6S1$ILESOwnq!#U_hH*e zy%Fd);Nep&W21|FvD@?ANc01@m8Bd6T+9}Lw?`QFe7)M<0tp`ClNBP;V^sWwEQtRA v6R4Y0wq`BoX^D}3=`o}G3Q3XnKDd|58T0g-MA*_}Pxcjwm`Py2@qho>T_+Ml diff --git a/src/Umbraco.Web.UI.Client/src/assets/umbraco_logo_blue.svg b/src/Umbraco.Web.UI.Client/src/assets/umbraco_logo_blue.svg new file mode 100644 index 0000000000..578bf592f6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/assets/umbraco_logo_blue.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/Umbraco.Web.UI.Client/src/assets/umbraco_logo_white.svg b/src/Umbraco.Web.UI.Client/src/assets/umbraco_logo_white.svg index 3de8e82ed3..01f7260cd3 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/umbraco_logo_white.svg +++ b/src/Umbraco.Web.UI.Client/src/assets/umbraco_logo_white.svg @@ -1 +1,51 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts index 5ed4f90fbb..c767b57350 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -32,7 +32,7 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement

${this.headline}

@@ -64,7 +64,7 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement Date: Mon, 8 Apr 2024 10:10:09 +0200 Subject: [PATCH 096/134] serve all images through vite --- src/Umbraco.Web.UI.Client/vite.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/vite.config.ts b/src/Umbraco.Web.UI.Client/vite.config.ts index f058a79d6f..4ecc0d2ab2 100644 --- a/src/Umbraco.Web.UI.Client/vite.config.ts +++ b/src/Umbraco.Web.UI.Client/vite.config.ts @@ -22,7 +22,7 @@ export const plugins: PluginOption[] = [ dest: 'umbraco/backoffice/css', }, { - src: 'src/assets/*.svg', + src: 'src/assets/*', dest: 'umbraco/backoffice/assets', }, { From 1dba67ac4331fedef3b8fccef264779c5a3ec4eb Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 10:16:24 +0200 Subject: [PATCH 097/134] export types from the appauth module to fix tests --- .../src/external/openid/index.ts | 14 ++--- .../umbraco-news-dashboard.element.ts | 58 ++++++------------- 2 files changed, 24 insertions(+), 48 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts index ff18b32b45..8b049e918b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts @@ -5,14 +5,12 @@ export { LocalStorageBackend, RedirectRequestHandler, RevokeTokenRequest, -} from '@openid/appauth'; -export { AuthorizationRequest } from '@openid/appauth/built/authorization_request'; -export { AuthorizationNotifier } from '@openid/appauth/built/authorization_request_handler'; -export { AuthorizationServiceConfiguration } from '@openid/appauth/built/authorization_service_configuration'; -export { + AuthorizationNotifier, + AuthorizationRequest, + AuthorizationServiceConfiguration, GRANT_TYPE_AUTHORIZATION_CODE, GRANT_TYPE_REFRESH_TOKEN, TokenRequest, -} from '@openid/appauth/built/token_request'; -export { TokenResponse } from '@openid/appauth/built/token_response'; -export type { LocationLike, StringMap } from '@openid/appauth/built/types'; + TokenResponse, +} from '@openid/appauth'; +export type { LocationLike, StringMap } from '@openid/appauth'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/umbraco-news-dashboard.element.ts b/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/umbraco-news-dashboard.element.ts index d9a5135dbb..3f605ebf38 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/umbraco-news-dashboard.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/umbraco-news-dashboard.element.ts @@ -1,61 +1,39 @@ -import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import { UMB_CURRENT_USER_CONTEXT } from '@umbraco-cms/backoffice/current-user'; -import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; +import { UMB_AUTH_CONTEXT } from '../core/auth/auth.context.token.js'; +import { tryExecuteAndNotify } from '../core/resources/tryExecuteAndNotify.function.js'; +import { html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import { UserGroupResource, type UserGroupResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; @customElement('umb-umbraco-news-dashboard') export class UmbUmbracoNewsDashboardElement extends UmbLitElement { - #currentUserContext?: typeof UMB_CURRENT_USER_CONTEXT.TYPE; - @state() - private _name = ''; + _groups: UserGroupResponseModel[] = []; - constructor() { - super(); - this.consumeContext(UMB_CURRENT_USER_CONTEXT, (instance) => { - this.#currentUserContext = instance; - this.#observeCurrentUser(); - }); + async clearToken() { + const authContext = await this.getContext(UMB_AUTH_CONTEXT); + authContext.clearTokenStorage(); } - #observeCurrentUser(): void { - if (!this.#currentUserContext) return; - this.observe(this.#currentUserContext.currentUser, (user) => { - this._name = user?.name ?? ''; - }); + async makeAuthorizedRequest() { + const { data } = await tryExecuteAndNotify(this, UserGroupResource.getUserGroup({ skip: 0, take: 10 })); + + if (data) { + this._groups = data.items; + } } render() { return html` -

- Welcome, ${this._name} -

-

- This is the beta version of Umbraco 14, where you can have a first-hand look at the new Backoffice. -

- Please refer to the - documentation to learn - more about what is possible. Here you will find excellent tutorials, guides, and references to help you get - started extending the Backoffice. + Clear all tokens + Make authorized request + + ${this._groups.map((group) => html`

${group.name}

`)}

`; } - - static styles = [ - UmbTextStyles, - css` - :host { - display: block; - padding: var(--uui-size-layout-1); - } - p { - position: relative; - } - `, - ]; } export default UmbUmbracoNewsDashboardElement; From 1881d37c7433a9ad41baef9cc9f1ea1d9e588d2f Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 10:16:36 +0200 Subject: [PATCH 098/134] Revert "export types from the appauth module to fix tests" This reverts commit 1dba67ac4331fedef3b8fccef264779c5a3ec4eb. --- .../src/external/openid/index.ts | 14 +++-- .../umbraco-news-dashboard.element.ts | 60 +++++++++++++------ 2 files changed, 49 insertions(+), 25 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts index 8b049e918b..ff18b32b45 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts @@ -5,12 +5,14 @@ export { LocalStorageBackend, RedirectRequestHandler, RevokeTokenRequest, - AuthorizationNotifier, - AuthorizationRequest, - AuthorizationServiceConfiguration, +} from '@openid/appauth'; +export { AuthorizationRequest } from '@openid/appauth/built/authorization_request'; +export { AuthorizationNotifier } from '@openid/appauth/built/authorization_request_handler'; +export { AuthorizationServiceConfiguration } from '@openid/appauth/built/authorization_service_configuration'; +export { GRANT_TYPE_AUTHORIZATION_CODE, GRANT_TYPE_REFRESH_TOKEN, TokenRequest, - TokenResponse, -} from '@openid/appauth'; -export type { LocationLike, StringMap } from '@openid/appauth'; +} from '@openid/appauth/built/token_request'; +export { TokenResponse } from '@openid/appauth/built/token_response'; +export type { LocationLike, StringMap } from '@openid/appauth/built/types'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/umbraco-news-dashboard.element.ts b/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/umbraco-news-dashboard.element.ts index 3f605ebf38..d9a5135dbb 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/umbraco-news-dashboard.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/umbraco-news-dashboard.element.ts @@ -1,39 +1,61 @@ -import { UMB_AUTH_CONTEXT } from '../core/auth/auth.context.token.js'; -import { tryExecuteAndNotify } from '../core/resources/tryExecuteAndNotify.function.js'; -import { html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import { UMB_CURRENT_USER_CONTEXT } from '@umbraco-cms/backoffice/current-user'; +import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { UserGroupResource, type UserGroupResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; @customElement('umb-umbraco-news-dashboard') export class UmbUmbracoNewsDashboardElement extends UmbLitElement { - @state() - _groups: UserGroupResponseModel[] = []; + #currentUserContext?: typeof UMB_CURRENT_USER_CONTEXT.TYPE; - async clearToken() { - const authContext = await this.getContext(UMB_AUTH_CONTEXT); - authContext.clearTokenStorage(); + @state() + private _name = ''; + + constructor() { + super(); + this.consumeContext(UMB_CURRENT_USER_CONTEXT, (instance) => { + this.#currentUserContext = instance; + this.#observeCurrentUser(); + }); } - async makeAuthorizedRequest() { - const { data } = await tryExecuteAndNotify(this, UserGroupResource.getUserGroup({ skip: 0, take: 10 })); - - if (data) { - this._groups = data.items; - } + #observeCurrentUser(): void { + if (!this.#currentUserContext) return; + this.observe(this.#currentUserContext.currentUser, (user) => { + this._name = user?.name ?? ''; + }); } render() { return html` +

+ Welcome, ${this._name} +

+

+ This is the beta version of Umbraco 14, where you can have a first-hand look at the new Backoffice. +

- Clear all tokens - Make authorized request - - ${this._groups.map((group) => html`

${group.name}

`)} + Please refer to the + documentation to learn + more about what is possible. Here you will find excellent tutorials, guides, and references to help you get + started extending the Backoffice.

`; } + + static styles = [ + UmbTextStyles, + css` + :host { + display: block; + padding: var(--uui-size-layout-1); + } + p { + position: relative; + } + `, + ]; } export default UmbUmbracoNewsDashboardElement; From 44a6e0085f759dabad73c973d2c462c1d2f92724 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 10:17:08 +0200 Subject: [PATCH 099/134] export types from the appauth module to fix tests --- .../src/external/openid/index.ts | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts index ff18b32b45..8b049e918b 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts @@ -5,14 +5,12 @@ export { LocalStorageBackend, RedirectRequestHandler, RevokeTokenRequest, -} from '@openid/appauth'; -export { AuthorizationRequest } from '@openid/appauth/built/authorization_request'; -export { AuthorizationNotifier } from '@openid/appauth/built/authorization_request_handler'; -export { AuthorizationServiceConfiguration } from '@openid/appauth/built/authorization_service_configuration'; -export { + AuthorizationNotifier, + AuthorizationRequest, + AuthorizationServiceConfiguration, GRANT_TYPE_AUTHORIZATION_CODE, GRANT_TYPE_REFRESH_TOKEN, TokenRequest, -} from '@openid/appauth/built/token_request'; -export { TokenResponse } from '@openid/appauth/built/token_response'; -export type { LocationLike, StringMap } from '@openid/appauth/built/types'; + TokenResponse, +} from '@openid/appauth'; +export type { LocationLike, StringMap } from '@openid/appauth'; From 677d1304372407f3ada4d395646b2bf6ec76d4e8 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:52:15 +0200 Subject: [PATCH 100/134] import openid from the ts source instead to build properly as esmodule --- .../src/external/openid/index.ts | 21 ++++++++++--------- .../web-test-runner.config.mjs | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts index 8b049e918b..fa968cbfc8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts @@ -1,16 +1,17 @@ export { - BaseTokenRequestHandler, - BasicQueryStringUtils, - FetchRequestor, - LocalStorageBackend, - RedirectRequestHandler, - RevokeTokenRequest, AuthorizationNotifier, AuthorizationRequest, AuthorizationServiceConfiguration, - GRANT_TYPE_AUTHORIZATION_CODE, - GRANT_TYPE_REFRESH_TOKEN, + BaseTokenRequestHandler, + FetchRequestor, + BasicQueryStringUtils, + LocalStorageBackend, + RedirectRequestHandler, TokenRequest, TokenResponse, -} from '@openid/appauth'; -export type { LocationLike, StringMap } from '@openid/appauth'; + RevokeTokenRequest, + GRANT_TYPE_AUTHORIZATION_CODE, + GRANT_TYPE_REFRESH_TOKEN, +} from '@openid/appauth/src/index.js'; + +export type { LocationLike, StringMap } from '@openid/appauth/src/types.js'; diff --git a/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs b/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs index 3da2a3dc6f..832c831714 100644 --- a/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs +++ b/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs @@ -35,7 +35,7 @@ export default { }, }), commonjs({ - include: ['node_modules/**', 'src/external/**'], + include: [/node_modules/], }), ], testRunnerHtml: (testFramework, devMode) => From fe908fc565625b1f1b694d38240d48415a03def3 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 12:02:42 +0200 Subject: [PATCH 101/134] avoid cyclic dependency --- .../src/packages/core/auth/modals/umb-app-auth-modal.token.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts index 9b763e4c36..97dd990b68 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.token.ts @@ -1,5 +1,5 @@ +import { UmbModalToken } from '../../modal/token/index.js'; import type { UmbUserLoginState } from '../types.js'; -import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export type UmbModalAppAuthConfig = { userLoginState: UmbUserLoginState; From b26f1d4a81c8b99d86d25c4dcba967301ea12e46 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 12:44:25 +0200 Subject: [PATCH 102/134] import relative to avoid cyclic dependencies in test --- .../packages/core/collection/collection-view.manager.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection-view.manager.test.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection-view.manager.test.ts index 02eed66b19..d08174ea78 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection-view.manager.test.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection-view.manager.test.ts @@ -1,9 +1,9 @@ import { expect } from '@open-wc/testing'; +import type { ManifestCollectionView } from '../extension-registry/models/index.js'; +import { umbExtensionsRegistry } from '../index.js'; import { UmbCollectionViewManager } from './collection-view.manager.js'; import { Observable } from '@umbraco-cms/backoffice/external/rxjs'; import { UmbControllerHostElementMixin } from '@umbraco-cms/backoffice/controller-api'; -import type { ManifestCollectionView } from '@umbraco-cms/backoffice/extension-registry'; -import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { customElement } from '@umbraco-cms/backoffice/external/lit'; @customElement('test-my-controller-host') From 4de47f8078d03443f3f7c82ae82a7e7df48d886b Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:03:16 +0200 Subject: [PATCH 103/134] avoid cyclic dependency --- .../packages/core/collection/collection-view.manager.test.ts | 2 +- .../src/packages/core/extension-registry/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection-view.manager.test.ts b/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection-view.manager.test.ts index d08174ea78..0f6024506d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection-view.manager.test.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/collection/collection-view.manager.test.ts @@ -1,6 +1,6 @@ import { expect } from '@open-wc/testing'; import type { ManifestCollectionView } from '../extension-registry/models/index.js'; -import { umbExtensionsRegistry } from '../index.js'; +import { umbExtensionsRegistry } from '../extension-registry/index.js'; import { UmbCollectionViewManager } from './collection-view.manager.js'; import { Observable } from '@umbraco-cms/backoffice/external/rxjs'; import { UmbControllerHostElementMixin } from '@umbraco-cms/backoffice/controller-api'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/index.ts index 9d63aeebbb..7442cd6ae9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/index.ts @@ -1,6 +1,6 @@ export * from './conditions/index.js'; -export * from './interfaces/index.js'; -export * from './models/index.js'; +export type * from './interfaces/index.js'; +export type * from './models/index.js'; export * from './registry.js'; export * from './utils/index.js'; From 0e264553ab1c0e8968bb78913ab974365f043056 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:03:22 +0200 Subject: [PATCH 104/134] avoid cyclic dependency --- .../property-editor-ui-multi-url-picker.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/property-editor/uis/multi-url-picker/property-editor-ui-multi-url-picker.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/property-editor/uis/multi-url-picker/property-editor-ui-multi-url-picker.element.ts index fe5de77170..4e3a978277 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/property-editor/uis/multi-url-picker/property-editor-ui-multi-url-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/property-editor/uis/multi-url-picker/property-editor-ui-multi-url-picker.element.ts @@ -1,10 +1,10 @@ +import { UmbLitElement } from '../../../lit-element/index.js'; import { UMB_PROPERTY_CONTEXT } from '@umbraco-cms/backoffice/property'; import { html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit'; import type { UUIModalSidebarSize } from '@umbraco-cms/backoffice/external/uui'; import type { UmbInputMultiUrlElement } from '@umbraco-cms/backoffice/components'; import type { UmbLinkPickerLink } from '@umbraco-cms/backoffice/modal'; import type { UmbPropertyEditorUiElement } from '@umbraco-cms/backoffice/extension-registry'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { UmbPropertyEditorConfigCollection } from '@umbraco-cms/backoffice/property-editor'; /** From 1607e08953d933ac5fc360edb5b8d8b6e4a2a6d7 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:14:30 +0200 Subject: [PATCH 105/134] use relative imports to avoid cyclic dependency --- .../property-editor-ui-multi-url-picker.element.ts | 2 +- .../src/packages/core/property/property/property.element.ts | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/property-editor/uis/multi-url-picker/property-editor-ui-multi-url-picker.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/property-editor/uis/multi-url-picker/property-editor-ui-multi-url-picker.element.ts index 4e3a978277..a4602e52ef 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/property-editor/uis/multi-url-picker/property-editor-ui-multi-url-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/property-editor/uis/multi-url-picker/property-editor-ui-multi-url-picker.element.ts @@ -1,5 +1,5 @@ import { UmbLitElement } from '../../../lit-element/index.js'; -import { UMB_PROPERTY_CONTEXT } from '@umbraco-cms/backoffice/property'; +import { UMB_PROPERTY_CONTEXT } from '../../../property/property/index.js'; import { html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit'; import type { UUIModalSidebarSize } from '@umbraco-cms/backoffice/external/uui'; import type { UmbInputMultiUrlElement } from '@umbraco-cms/backoffice/components'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/property/property/property.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/property/property/property.element.ts index b52179f9f7..1bf8e3c8d2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/property/property/property.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/property/property/property.element.ts @@ -1,9 +1,8 @@ +import { umbExtensionsRegistry, type ManifestPropertyEditorUi } from '../../extension-registry/index.js'; import { UmbPropertyContext } from './property.context.js'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { css, html, customElement, property, state, ifDefined } from '@umbraco-cms/backoffice/external/lit'; import { createExtensionElement } from '@umbraco-cms/backoffice/extension-api'; -import type { ManifestPropertyEditorUi } from '@umbraco-cms/backoffice/extension-registry'; -import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { From 5781e8151f7a580662e71807d4375a8e623c5dc4 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:16:15 +0200 Subject: [PATCH 106/134] use relative import to avoid cyclic dependency --- .../components/input-tiny-mce/input-tiny-mce.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiny-mce/components/input-tiny-mce/input-tiny-mce.element.ts b/src/Umbraco.Web.UI.Client/src/packages/tiny-mce/components/input-tiny-mce/input-tiny-mce.element.ts index 7ccc036d14..4c85e03a05 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiny-mce/components/input-tiny-mce/input-tiny-mce.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiny-mce/components/input-tiny-mce/input-tiny-mce.element.ts @@ -1,3 +1,4 @@ +import { loadManifestApi } from '../../../../libs/extension-api/functions/load-manifest-api.function.js'; import { pastePreProcessHandler } from './input-tiny-mce.handlers.js'; import { defaultFallbackConfig } from './input-tiny-mce.defaults.js'; import { availableLanguages } from './input-tiny-mce.languages.js'; @@ -6,7 +7,6 @@ import type { TinyMcePluginArguments, UmbTinyMcePluginBase } from './tiny-mce-pl import { getProcessedImageUrl } from '@umbraco-cms/backoffice/utils'; import { FormControlMixin } from '@umbraco-cms/backoffice/external/uui'; import type { EditorEvent, Editor, RawEditorOptions } from '@umbraco-cms/backoffice/external/tinymce'; -import { loadManifestApi } from '@umbraco-cms/backoffice/extension-api'; import { type ManifestTinyMcePlugin, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { css, customElement, html, property, query, state } from '@umbraco-cms/backoffice/external/lit'; import { firstValueFrom } from '@umbraco-cms/backoffice/external/rxjs'; From 08935284118786ff795b22f66ab959c23661a0c1 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:17:30 +0200 Subject: [PATCH 107/134] add export type --- .../src/libs/extension-api/functions/index.ts | 2 +- src/Umbraco.Web.UI.Client/src/libs/extension-api/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/functions/index.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/functions/index.ts index cf2758ba9f..21d7768a87 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/functions/index.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/functions/index.ts @@ -6,4 +6,4 @@ export * from './load-manifest-api.function.js'; export * from './load-manifest-element.function.js'; export * from './load-manifest-plain-css.function.js'; export * from './load-manifest-plain-js.function.js'; -export * from './types.js'; +export type * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/index.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/index.ts index c8ce6b7200..22c8863cb0 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/index.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/index.ts @@ -2,7 +2,7 @@ export * from './condition/index.js'; export * from './controller/index.js'; export * from './functions/index.js'; export * from './initializers/index.js'; -export * from './models/index.js'; +export type * from './models/index.js'; export * from './registry/extension.registry.js'; export * from './type-guards/index.js'; -export * from './types/index.js'; +export type * from './types/index.js'; From 93d408d94c8e8e2489501e849c730c3a5efcb6bd Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:24:42 +0200 Subject: [PATCH 108/134] fix import path after merge --- .../core/auth/components/auth-provider-default.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts index 2b93881d87..c6c10745c1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/components/auth-provider-default.element.ts @@ -1,4 +1,4 @@ -import type { ManifestAuthProvider } from '../../index.js'; +import type { ManifestAuthProvider } from '../../extension-registry/models/index.js'; import type { UmbAuthProviderDefaultProps } from '../types.js'; import { UmbLitElement } from '../../lit-element/lit-element.element.js'; import { UmbTextStyles } from '../../style/index.js'; From 582654cc82a35ea521c07551b792be2123cd4c2d Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 16:56:57 +0200 Subject: [PATCH 109/134] no need for distinctUntilChanged on boolean states --- src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index e25de952cd..2a61b36e2a 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -6,7 +6,7 @@ import { } from '@umbraco-cms/backoffice/auth'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { distinctUntilChanged, filter, firstValueFrom, skip } from '@umbraco-cms/backoffice/external/rxjs'; +import { filter, firstValueFrom, skip } from '@umbraco-cms/backoffice/external/rxjs'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; export class UmbAppAuthController extends UmbControllerBase { @@ -22,8 +22,6 @@ export class UmbAppAuthController extends UmbControllerBase { // Observe the user's authorization state and start the authorization flow if the user is not authorized this.observe( context.isAuthorized.pipe( - // Only continue if the value has changed - distinctUntilChanged(), // Skip the first since it is always false skip(1), // Only continue if the value is false From 51edd913de302340c06772ad0975b8885e89203d Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 16:57:16 +0200 Subject: [PATCH 110/134] save location when making auth requests --- .../src/apps/app/app-auth.controller.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index 2a61b36e2a..db450075c4 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -51,9 +51,6 @@ export class UmbAppAuthController extends UmbControllerBase { return true; } - // Save location.href so we can redirect to it after login - window.sessionStorage.setItem(UMB_STORAGE_REDIRECT_URL, location.href); - // Make a request to the auth server to start the auth flow return this.makeAuthorizationRequest(); } @@ -67,6 +64,9 @@ export class UmbAppAuthController extends UmbControllerBase { throw new Error('[Fatal] Auth context is not available'); } + // Save location.href so we can redirect to it after login + window.sessionStorage.setItem(UMB_STORAGE_REDIRECT_URL, location.href); + // If the user is timed out, we can show the login modal directly if (userLoginState === 'timedOut') { const selected = await this.#showLoginModal(userLoginState); From c046fefbc67cf11bd4ed88058e920d72f2e97c36 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 16:57:57 +0200 Subject: [PATCH 111/134] bind controller on startup --- src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index d502c4a487..901ab5b0e5 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -76,7 +76,7 @@ export class UmbAppElement extends UmbLitElement { #authContext?: typeof UMB_AUTH_CONTEXT.TYPE; #serverConnection?: UmbServerConnection; - #authController?: UmbAppAuthController; + #authController = new UmbAppAuthController(this); constructor() { super(); @@ -114,7 +114,6 @@ export class UmbAppElement extends UmbLitElement { if (this.#serverConnection.getStatus() === RuntimeLevelModel.INSTALL) { await this.#authContext.clearTokenStorage(); } else { - this.#authController = new UmbAppAuthController(this); await this.#setAuthStatus(); } From 928c38fc7121e6dc263a9b0b0a8efcf61506fe2a Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 17:15:57 +0200 Subject: [PATCH 112/134] revert backoffice element and let it be the host of entrypoints --- .../src/apps/backoffice/backoffice.element.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts index a0d998a91f..672117fa16 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/backoffice/backoffice.element.ts @@ -1,7 +1,11 @@ import { UmbBackofficeContext } from './backoffice.context.js'; import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; -import { UmbServerExtensionRegistrator } from '@umbraco-cms/backoffice/extension-api'; +import { + UmbBundleExtensionInitializer, + UmbEntryPointExtensionInitializer, + UmbServerExtensionRegistrator, +} from '@umbraco-cms/backoffice/extension-api'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import './components/index.js'; @@ -37,10 +41,20 @@ const CORE_PACKAGES = [ @customElement('umb-backoffice') export class UmbBackofficeElement extends UmbLitElement { + /** + * Backoffice extension registry. + * This enables to register and unregister extensions via DevTools, or just via querying this element via the DOM. + */ + public extensionRegistry = umbExtensionsRegistry; + constructor() { super(); new UmbBackofficeContext(this); + + new UmbBundleExtensionInitializer(this, umbExtensionsRegistry); + new UmbEntryPointExtensionInitializer(this, umbExtensionsRegistry); + new UmbServerExtensionRegistrator(this, umbExtensionsRegistry).registerPrivateExtensions(); // So far local packages are this simple to registerer, so no need for a manager to do that: From 619bb1e1fdabb54403fe84da0984bebb53e461b0 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 8 Apr 2024 17:16:47 +0200 Subject: [PATCH 113/134] load the core package entrypoint directly to avoid using the entrypoint initializer and thereby affecting all third party entrypoints --- .../src/apps/app/app.element.ts | 26 +++++-------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index 901ab5b0e5..f33d0b672f 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -1,4 +1,4 @@ -import { extensions as coreExtensions } from '../../packages/core/umbraco-package.js'; +import { onInit } from '../../packages/core/index.js'; import type { UmbAppErrorElement } from './app-error.element.js'; import { UmbAppContext } from './app.context.js'; import { UmbServerConnection } from './server-connection.js'; @@ -13,22 +13,11 @@ import type { Guard, UmbRoute } from '@umbraco-cms/backoffice/router'; import { pathWithoutBasePath } from '@umbraco-cms/backoffice/router'; import { OpenAPI, RuntimeLevelModel } from '@umbraco-cms/backoffice/external/backend-api'; import { UmbContextDebugController } from '@umbraco-cms/backoffice/debug'; -import { - UmbBundleExtensionInitializer, - UmbEntryPointExtensionInitializer, - UmbServerExtensionRegistrator, -} from '@umbraco-cms/backoffice/extension-api'; +import { UmbServerExtensionRegistrator } from '@umbraco-cms/backoffice/extension-api'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; @customElement('umb-app') export class UmbAppElement extends UmbLitElement { - /** - * Backoffice extension registry. - * This enables to register and unregister extensions via DevTools, or just via querying this element via the DOM. - * @type {UmbExtensionsRegistry} - */ - public extensionRegistry = umbExtensionsRegistry; - /** * The base URL of the configured Umbraco server. * @@ -87,11 +76,6 @@ export class UmbAppElement extends UmbLitElement { new UUIIconRegistryEssential().attach(this); new UmbContextDebugController(this); - - new UmbBundleExtensionInitializer(this, umbExtensionsRegistry); - new UmbEntryPointExtensionInitializer(this, umbExtensionsRegistry); - - umbExtensionsRegistry.registerMany(coreExtensions); } connectedCallback(): void { @@ -105,6 +89,10 @@ export class UmbAppElement extends UmbLitElement { this.#authContext = new UmbAuthContext(this, this.serverUrl, this.backofficePath, this.bypassAuth); new UmbAppContext(this, { backofficePath: this.backofficePath, serverUrl: this.serverUrl }); + // Register Core extensions + onInit(this, umbExtensionsRegistry); + + // Register public extensions await new UmbServerExtensionRegistrator(this, umbExtensionsRegistry).registerPublicExtensions(); // Try to initialise the auth flow and get the runtime status @@ -202,7 +190,7 @@ export class UmbAppElement extends UmbLitElement { } #isAuthorizedGuard(): Guard { - return () => this.#authController?.isAuthorized() ?? false; + return () => this.#authController.isAuthorized() ?? false; } #errorPage(errorMsg: string, error?: unknown) { From 4cfcc390e12235c22fa4c8cf9e0e6ead32b5cabc Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 9 Apr 2024 08:40:10 +0200 Subject: [PATCH 114/134] new server models --- .../external/backend-api/src/core/request.ts | 22 +-- .../src/external/backend-api/src/index.ts | 1 + .../DocumentBlueprintTreeItemResponseModel.ts | 3 +- .../MoveDocumentBlueprintRequestModel.ts | 11 ++ .../src/services/DocumentBlueprintResource.ts | 161 ++++++++++++++++++ 5 files changed, 182 insertions(+), 16 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentBlueprintRequestModel.ts diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/core/request.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/core/request.ts index 051758e054..b018a07cae 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/core/request.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/core/request.ts @@ -232,21 +232,13 @@ export const getResponseBody = async (response: Response): Promise => { try { const contentType = response.headers.get('Content-Type'); if (contentType) { - - const binaryTypes = ['application/octet-stream', 'application/pdf', 'application/zip']; - const isBinary = binaryTypes.some(type => contentType.toLowerCase().startsWith(type)); - if (isBinary) { - return await response.blob(); - } - - const jsonTypes = ['application/json', 'application/problem+json'] - const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); - if (isJSON) { - return await response.json(); - } - - return await response.text(); - + const jsonTypes = ['application/json', 'application/problem+json'] + const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); + if (isJSON) { + return await response.json(); + } else { + return await response.text(); + } } } catch (error) { console.error(error); diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts index 1c8b628c5e..17014a5ab2 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts @@ -195,6 +195,7 @@ export type { ModelsBuilderResponseModel } from './models/ModelsBuilderResponseM export { ModelsModeModel } from './models/ModelsModeModel'; export type { MoveDataTypeRequestModel } from './models/MoveDataTypeRequestModel'; export type { MoveDictionaryRequestModel } from './models/MoveDictionaryRequestModel'; +export type { MoveDocumentBlueprintRequestModel } from './models/MoveDocumentBlueprintRequestModel'; export type { MoveDocumentRequestModel } from './models/MoveDocumentRequestModel'; export type { MoveDocumentTypeRequestModel } from './models/MoveDocumentTypeRequestModel'; export type { MoveMediaRequestModel } from './models/MoveMediaRequestModel'; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts index 1f877b1dcd..3df3c06dce 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts @@ -11,6 +11,7 @@ export type DocumentBlueprintTreeItemResponseModel = { id: string; parent?: ReferenceByIdModel | null; name: string; - documentType: DocumentTypeReferenceResponseModel; + isFolder: boolean; + documentType?: DocumentTypeReferenceResponseModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentBlueprintRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentBlueprintRequestModel.ts new file mode 100644 index 0000000000..f1df4f337e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentBlueprintRequestModel.ts @@ -0,0 +1,11 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ReferenceByIdModel } from './ReferenceByIdModel'; + +export type MoveDocumentBlueprintRequestModel = { + target?: ReferenceByIdModel | null; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts index 2ec4757dbb..50837fd587 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts @@ -4,10 +4,14 @@ /* eslint-disable */ import type { CreateDocumentBlueprintFromDocumentRequestModel } from '../models/CreateDocumentBlueprintFromDocumentRequestModel'; import type { CreateDocumentBlueprintRequestModel } from '../models/CreateDocumentBlueprintRequestModel'; +import type { CreateFolderRequestModel } from '../models/CreateFolderRequestModel'; import type { DocumentBlueprintItemResponseModel } from '../models/DocumentBlueprintItemResponseModel'; import type { DocumentBlueprintResponseModel } from '../models/DocumentBlueprintResponseModel'; +import type { FolderResponseModel } from '../models/FolderResponseModel'; +import type { MoveDocumentBlueprintRequestModel } from '../models/MoveDocumentBlueprintRequestModel'; import type { PagedDocumentBlueprintTreeItemResponseModel } from '../models/PagedDocumentBlueprintTreeItemResponseModel'; import type { UpdateDocumentBlueprintRequestModel } from '../models/UpdateDocumentBlueprintRequestModel'; +import type { UpdateFolderResponseModel } from '../models/UpdateFolderResponseModel'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; @@ -112,6 +116,130 @@ export class DocumentBlueprintResource { }); } + /** + * @returns string Success + * @throws ApiError + */ + public static putDocumentBlueprintByIdMove({ + id, + requestBody, + }: { + id: string, + requestBody?: MoveDocumentBlueprintRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/document-blueprint/{id}/move', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + responseHeader: 'Umb-Notifications', + errors: { + 401: `The resource is protected and requires an authentication token`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns string Created + * @throws ApiError + */ + public static postDocumentBlueprintFolder({ + requestBody, + }: { + requestBody?: CreateFolderRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/document-blueprint/folder', + body: requestBody, + mediaType: 'application/json', + responseHeader: 'Umb-Generated-Resource', + errors: { + 400: `Bad Request`, + 401: `The resource is protected and requires an authentication token`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static getDocumentBlueprintFolderById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/document-blueprint/folder/{id}', + path: { + 'id': id, + }, + errors: { + 401: `The resource is protected and requires an authentication token`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns string Success + * @throws ApiError + */ + public static deleteDocumentBlueprintFolderById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/document-blueprint/folder/{id}', + path: { + 'id': id, + }, + responseHeader: 'Umb-Notifications', + errors: { + 400: `Bad Request`, + 401: `The resource is protected and requires an authentication token`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns string Success + * @throws ApiError + */ + public static putDocumentBlueprintFolderById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateFolderResponseModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/document-blueprint/folder/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + responseHeader: 'Umb-Notifications', + errors: { + 400: `Bad Request`, + 401: `The resource is protected and requires an authentication token`, + 404: `Not Found`, + }, + }); + } + /** * @returns string Created * @throws ApiError @@ -156,6 +284,36 @@ export class DocumentBlueprintResource { }); } + /** + * @returns any Success + * @throws ApiError + */ + public static getTreeDocumentBlueprintChildren({ + parentId, + skip, + take = 100, + foldersOnly = false, + }: { + parentId?: string, + skip?: number, + take?: number, + foldersOnly?: boolean, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/tree/document-blueprint/children', + query: { + 'parentId': parentId, + 'skip': skip, + 'take': take, + 'foldersOnly': foldersOnly, + }, + errors: { + 401: `The resource is protected and requires an authentication token`, + }, + }); + } + /** * @returns any Success * @throws ApiError @@ -163,9 +321,11 @@ export class DocumentBlueprintResource { public static getTreeDocumentBlueprintRoot({ skip, take = 100, + foldersOnly = false, }: { skip?: number, take?: number, + foldersOnly?: boolean, }): CancelablePromise { return __request(OpenAPI, { method: 'GET', @@ -173,6 +333,7 @@ export class DocumentBlueprintResource { query: { 'skip': skip, 'take': take, + 'foldersOnly': foldersOnly, }, errors: { 401: `The resource is protected and requires an authentication token`, From 335a4d94d525d2c331e7855fe4ebc75b3de042b5 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 9 Apr 2024 09:46:24 +0200 Subject: [PATCH 115/134] rename index to entry-point --- .../src/packages/core/{index.ts => entry-point.ts} | 3 +++ 1 file changed, 3 insertions(+) rename src/Umbraco.Web.UI.Client/src/packages/core/{index.ts => entry-point.ts} (92%) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entry-point.ts similarity index 92% rename from src/Umbraco.Web.UI.Client/src/packages/core/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/entry-point.ts index 9795777970..f591e15ea4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entry-point.ts @@ -5,6 +5,9 @@ import { UmbNotificationContext } from '@umbraco-cms/backoffice/notification'; import { UmbModalManagerContext } from '@umbraco-cms/backoffice/modal'; import { UmbExtensionsApiInitializer, type UmbEntryPointOnInit } from '@umbraco-cms/backoffice/extension-api'; +// TODO temp relative import until modules ship a component sub module +import './menu/components/index.js'; + export const onInit: UmbEntryPointOnInit = (host, extensionRegistry) => { new UmbExtensionsApiInitializer(host, extensionRegistry, 'globalContext', [host]); new UmbExtensionsApiInitializer(host, extensionRegistry, 'store', [host]); From a9cd8b099806866c2fb1df401a08b544d7457cee Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 9 Apr 2024 09:46:49 +0200 Subject: [PATCH 116/134] move menu component into component folder --- .../src/packages/core/menu/components/index.ts | 2 ++ .../core/menu/{ => components}/menu-item-layout/index.ts | 0 .../menu-item-layout/menu-item-layout.element.ts | 0 .../src/packages/core/menu/{ => components}/menu-item/index.ts | 0 .../{ => components}/menu-item/menu-item-default.element.ts | 0 src/Umbraco.Web.UI.Client/src/packages/core/menu/index.ts | 3 +-- 6 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/menu/components/index.ts rename src/Umbraco.Web.UI.Client/src/packages/core/menu/{ => components}/menu-item-layout/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/core/menu/{ => components}/menu-item-layout/menu-item-layout.element.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/core/menu/{ => components}/menu-item/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/packages/core/menu/{ => components}/menu-item/menu-item-default.element.ts (100%) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/index.ts new file mode 100644 index 0000000000..339f7d3c5f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/index.ts @@ -0,0 +1,2 @@ +export * from './menu-item/index.js'; +export * from './menu-item-layout/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item-layout/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item-layout/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item-layout/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item-layout/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item-layout/menu-item-layout.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item-layout/menu-item-layout.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item-layout/menu-item-layout.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item-layout/menu-item-layout.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item/index.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item/menu-item-default.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/menu-item-default.element.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/packages/core/menu/menu-item/menu-item-default.element.ts rename to src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/menu-item-default.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/index.ts index e128f53e2f..714002d519 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/index.ts @@ -1,5 +1,4 @@ -export * from './menu-item/index.js'; -export * from './menu-item-layout/index.js'; +export * from './components/index.js'; export * from './menu.element.js'; export * from './menu.context.js'; export * from './menu-tree-structure-workspace-context-base.js'; From cdb57b26cf5de2354876b6f0193230cdb6605ddd Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 9 Apr 2024 09:46:56 +0200 Subject: [PATCH 117/134] update import --- .../src/packages/core/menu/menu.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu.element.ts index 4baea4fcdb..75e39a0d1e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/menu.element.ts @@ -2,7 +2,7 @@ import { html, customElement, property } from '@umbraco-cms/backoffice/external/ import type { ManifestMenu, ManifestMenuItem } from '@umbraco-cms/backoffice/extension-registry'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import './menu-item/menu-item-default.element.js'; +import './components/menu-item/menu-item-default.element.js'; @customElement('umb-menu') export class UmbMenuElement extends UmbLitElement { From 0829798e4802e1a08496bd2804a95778585a55ae Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 9 Apr 2024 09:47:00 +0200 Subject: [PATCH 118/134] Update umbraco-package.ts --- src/Umbraco.Web.UI.Client/src/packages/core/umbraco-package.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/umbraco-package.ts b/src/Umbraco.Web.UI.Client/src/packages/core/umbraco-package.ts index 9ad7203422..98bf5c8f3b 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/umbraco-package.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/umbraco-package.ts @@ -7,6 +7,6 @@ export const extensions: Array = [ name: 'Core Entry Point', alias: 'Umb.EntryPoint.Core', type: 'entryPoint', - js: () => import('./index.js'), + js: () => import('./entry-point.js'), }, ]; From 5a34eba10cb30e90d5cb19a03ad9d8a3e8845a51 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 10:06:53 +0200 Subject: [PATCH 119/134] remove extra layout --- .../src/assets/login.jpg | Bin 366426 -> 0 bytes .../auth/modals/umb-app-auth-modal.element.ts | 74 +++--------------- 2 files changed, 13 insertions(+), 61 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/assets/login.jpg diff --git a/src/Umbraco.Web.UI.Client/src/assets/login.jpg b/src/Umbraco.Web.UI.Client/src/assets/login.jpg deleted file mode 100644 index 6b97f2c9439bdaabb9172019081f9afb6b87bcb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366426 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
yu9tN}s3Cwo+N_0sSF(yJrXN0wmd2gkoBF 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≫0m*T$-UoS(m&+$j@TiDQ#uA% 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 z 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˦#& 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 RoZB^R@^NtHar)np{{sh8y1M`X diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts index c767b57350..9fb5122908 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/modals/umb-app-auth-modal.element.ts @@ -30,22 +30,17 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement - - -

${this.headline}

- ${this.data?.userLoginState === 'timedOut' - ? html`

${this.localize.term('login_timeout')}

` - : ''} - -
-
+ +

${this.headline}

+ ${this.data?.userLoginState === 'timedOut' + ? html`

${this.localize.term('login_timeout')}

` + : ''} + +
`; } @@ -59,41 +54,13 @@ export class UmbAppAuthModalElement extends UmbModalBaseElement Date: Tue, 9 Apr 2024 10:19:43 +0200 Subject: [PATCH 120/134] remove automatic opacity --- .../backoffice-modal-container.element.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts index 1ad2272850..bd01e0acf1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.ts @@ -113,7 +113,6 @@ export class UmbBackofficeModalContainerElement extends UmbLitElement { :host([fill-background]) #container::after { background: var(--backdrop-background); - opacity: 0.75; } `, ]; From 7fe1fa772d31368b06bd367c15797d502715d22e Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 10:19:59 +0200 Subject: [PATCH 121/134] set background with logo for backdrop when first signing in --- src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index db450075c4..78f61dd40b 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -122,8 +122,8 @@ export class UmbAppAuthController extends UmbControllerBase { }, modal: { backdropBackground: this.#firstTimeLoggingIn - ? 'var(--umb-auth-backdrop, rgba(0, 0, 0, 0.75))' - : 'var(--umb-auth-backdrop-timedout, #000)', + ? 'var(--umb-auth-backdrop, url("/umbraco/backoffice/assets/umbraco_logo_white.svg") 20px 20px / 200px no-repeat, radial-gradient(circle, rgba(2,0,36,1) 0%, rgba(40,58,151,.9) 50%, rgba(0,212,255,1) 100%))' + : 'var(--umb-auth-backdrop-timedout, rgba(0,0,0,0.75))', }, }) .onSubmit() From 149c662a9897bc9d811370a50e6c223447cac12e Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 10:31:06 +0200 Subject: [PATCH 122/134] generate new models --- .../src/services/PackageResource.ts | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts index 5224dc06b3..6698b384b0 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/PackageResource.ts @@ -194,31 +194,6 @@ export class PackageResource { }); } - /** - * @returns any Success - * @throws ApiError - */ - public static getPackageManifest(): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/package/manifest', - errors: { - 401: `The resource is protected and requires an authentication token`, - }, - }); - } - - /** - * @returns any Success - * @throws ApiError - */ - public static getPackageManifestPublic(): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/package/manifest/public', - }); - } - /** * @returns any Success * @throws ApiError From 455712ecd71e3da5856dbb6a8ef9bcd00214c095 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 10:35:53 +0200 Subject: [PATCH 123/134] update code after merge --- .../src/apps/app/app.element.ts | 4 ++-- .../src/packages/core/umbraco-package.ts | 12 ------------ 2 files changed, 2 insertions(+), 14 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/umbraco-package.ts diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index f33d0b672f..e5a2a100ab 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -1,4 +1,4 @@ -import { onInit } from '../../packages/core/index.js'; +import { onInit } from '../../packages/core/entry-point.js'; import type { UmbAppErrorElement } from './app-error.element.js'; import { UmbAppContext } from './app.context.js'; import { UmbServerConnection } from './server-connection.js'; @@ -89,7 +89,7 @@ export class UmbAppElement extends UmbLitElement { this.#authContext = new UmbAuthContext(this, this.serverUrl, this.backofficePath, this.bypassAuth); new UmbAppContext(this, { backofficePath: this.backofficePath, serverUrl: this.serverUrl }); - // Register Core extensions + // Register Core extensions (this is specifically done here because we need these extensions to be registered before the application is initialized) onInit(this, umbExtensionsRegistry); // Register public extensions diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/umbraco-package.ts b/src/Umbraco.Web.UI.Client/src/packages/core/umbraco-package.ts deleted file mode 100644 index 98bf5c8f3b..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/umbraco-package.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { ManifestEntryPoint } from '@umbraco-cms/backoffice/extension-api'; - -export const name = 'Umbraco.Core'; -export const version = '0.0.1'; -export const extensions: Array = [ - { - name: 'Core Entry Point', - alias: 'Umb.EntryPoint.Core', - type: 'entryPoint', - js: () => import('./entry-point.js'), - }, -]; From d99104e8000b84e3fff2259e701800b0c2d0862c Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 10:40:19 +0200 Subject: [PATCH 124/134] fix wrong import --- src/Umbraco.Web.UI.Client/src/mocks/e2e-handlers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/mocks/e2e-handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/e2e-handlers.ts index 45c56d006b..30ecb97891 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/e2e-handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/e2e-handlers.ts @@ -20,7 +20,7 @@ import { handlers as configHandlers } from './handlers/config.handlers.js'; export const handlers = [ serverHandlers.serverRunningHandler, serverHandlers.serverInformationHandler, - manifestsHandlers.manifestEmptyHandlers, + ...manifestsHandlers.manifestEmptyHandlers, ...auditLogHandlers, ...installHandlers, ...upgradeHandlers, From 27271b1fe665e9d4e0acd686df245d3fa706d7b9 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 14:25:37 +0200 Subject: [PATCH 125/134] add /logout to post logout uri redirect in the signout method --- .../src/apps/app/app-auth.controller.ts | 9 +++++++-- src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts | 7 +++++++ .../src/packages/core/auth/auth-flow.ts | 5 ++++- .../src/packages/core/auth/auth.context.ts | 8 ++++++-- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index 78f61dd40b..758803b65b 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -65,7 +65,9 @@ export class UmbAppAuthController extends UmbControllerBase { } // Save location.href so we can redirect to it after login - window.sessionStorage.setItem(UMB_STORAGE_REDIRECT_URL, location.href); + if (location.href !== this.#authContext.getPostLogoutRedirectUrl()) { + window.sessionStorage.setItem(UMB_STORAGE_REDIRECT_URL, location.href); + } // If the user is timed out, we can show the login modal directly if (userLoginState === 'timedOut') { @@ -90,7 +92,10 @@ export class UmbAppAuthController extends UmbControllerBase { this.#authContext.makeAuthorizationRequest(); } else { // Check if any provider is redirecting directly to the provider - const redirectProvider = availableProviders.find((provider) => provider.meta?.behavior?.autoRedirect); + const redirectProvider = + userLoginState === 'loggingIn' + ? availableProviders.find((provider) => provider.meta?.behavior?.autoRedirect) + : undefined; if (redirectProvider) { // Redirect directly to the provider diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts index e5a2a100ab..de8c4ee346 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app.element.ts @@ -56,6 +56,13 @@ export class UmbAppElement extends UmbLitElement { component: () => import('../upgrader/upgrader.element.js'), guards: [this.#isAuthorizedGuard()], }, + { + path: 'logout', + resolve: () => { + this.#authContext?.clearTokenStorage(); + this.#authController.makeAuthorizationRequest('loggedOut'); + }, + }, { path: '**', component: () => import('../backoffice/backoffice.element.js'), diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-flow.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-flow.ts index 01b20582f9..82455be922 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-flow.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth-flow.ts @@ -89,6 +89,7 @@ export class UmbAuthFlow { // state readonly #configuration: AuthorizationServiceConfiguration; readonly #redirectUri: string; + readonly #postLogoutRedirectUri: string; readonly #clientId: string; readonly #scope: string; @@ -99,10 +100,12 @@ export class UmbAuthFlow { constructor( openIdConnectUrl: string, redirectUri: string, + postLogoutRedirectUri: string, clientId = 'umbraco-back-office', scope = 'offline_access', ) { this.#redirectUri = redirectUri; + this.#postLogoutRedirectUri = postLogoutRedirectUri; this.#clientId = clientId; this.#scope = scope; @@ -283,7 +286,7 @@ export class UmbAuthFlow { // which will redirect the user back to the client // and the client will then try and log in again (if the user is not logged in) // which will redirect the user to the login page - location.href = `${this.#configuration.endSessionEndpoint}?post_logout_redirect_uri=${this.#redirectUri}`; + location.href = `${this.#configuration.endSessionEndpoint}?post_logout_redirect_uri=${this.#postLogoutRedirectUri}`; } /** diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts index cf99b23c35..be37177cc0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/auth/auth.context.ts @@ -26,7 +26,7 @@ export class UmbAuthContext extends UmbContextBase { this.#serverUrl = serverUrl; this.#backofficePath = backofficePath; - this.#authFlow = new UmbAuthFlow(serverUrl, this.#getRedirectUrl()); + this.#authFlow = new UmbAuthFlow(serverUrl, this.getRedirectUrl(), this.getPostLogoutRedirectUrl()); } /** @@ -166,7 +166,11 @@ export class UmbAuthContext extends UmbContextBase { return this.isInitialized.pipe(switchMap(() => umbExtensionsRegistry.byType('authProvider'))); } - #getRedirectUrl() { + getRedirectUrl() { return `${window.location.origin}${this.#backofficePath}`; } + + getPostLogoutRedirectUrl() { + return `${window.location.origin}${this.#backofficePath.endsWith('/') ? this.#backofficePath : this.#backofficePath + '/'}logout`; + } } From df9d50bb35927420c10828b21d11fe3eacebe9ac Mon Sep 17 00:00:00 2001 From: leekelleher Date: Tue, 9 Apr 2024 13:39:21 +0100 Subject: [PATCH 126/134] When an Auth Provider has `denyLocalLogin` enables then unregister the default Umbraco provider, e.g. "Umb.AuthProviders.Umbraco" extension. --- .../src/apps/app/app-auth.controller.ts | 56 ++++++++++++------- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index 758803b65b..b87afe24f6 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -7,7 +7,9 @@ import { import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { filter, firstValueFrom, skip } from '@umbraco-cms/backoffice/external/rxjs'; +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; +import type { ManifestAuthProvider } from '@umbraco-cms/backoffice/extension-registry'; export class UmbAppAuthController extends UmbControllerBase { #authContext?: typeof UMB_AUTH_CONTEXT.TYPE; @@ -69,9 +71,12 @@ export class UmbAppAuthController extends UmbControllerBase { window.sessionStorage.setItem(UMB_STORAGE_REDIRECT_URL, location.href); } + // Figure out which providers are available + const availableProviders = await firstValueFrom(this.#authContext.getAuthProviders()); + // If the user is timed out, we can show the login modal directly if (userLoginState === 'timedOut') { - const selected = await this.#showLoginModal(userLoginState); + const selected = await this.#showLoginModal(userLoginState, availableProviders); if (!selected) { return false; @@ -80,9 +85,6 @@ export class UmbAppAuthController extends UmbControllerBase { return this.#updateState(); } - // Figure out which providers are available - const availableProviders = await firstValueFrom(this.#authContext.getAuthProviders()); - if (availableProviders.length === 0) { throw new Error('[Fatal] No auth providers available'); } @@ -90,34 +92,46 @@ export class UmbAppAuthController extends UmbControllerBase { if (availableProviders.length === 1) { // One provider available (most likely the Umbraco provider), so initiate the authorization request to the default provider this.#authContext.makeAuthorizationRequest(); - } else { - // Check if any provider is redirecting directly to the provider - const redirectProvider = - userLoginState === 'loggingIn' - ? availableProviders.find((provider) => provider.meta?.behavior?.autoRedirect) - : undefined; + return this.#updateState(); + } - if (redirectProvider) { - // Redirect directly to the provider - this.#authContext.makeAuthorizationRequest(redirectProvider.forProviderName); - } else { - // Show the provider selection screen - const selected = await this.#showLoginModal(userLoginState); + // Check if any provider is redirecting directly to the provider + const redirectProvider = + userLoginState === 'loggingIn' + ? availableProviders.find((provider) => provider.meta?.behavior?.autoRedirect) + : undefined; - if (!selected) { - return false; - } - } + if (redirectProvider) { + // Redirect directly to the provider + this.#authContext.makeAuthorizationRequest(redirectProvider.forProviderName); + return this.#updateState(); + } + + // Show the provider selection screen + const selected = await this.#showLoginModal(userLoginState, availableProviders); + + if (!selected) { + return false; } return this.#updateState(); } - async #showLoginModal(userLoginState: UmbUserLoginState): Promise { + async #showLoginModal( + userLoginState: UmbUserLoginState, + availableProviders: Array, + ): Promise { if (!this.#authContext) { throw new Error('[Fatal] Auth context is not available'); } + // Check if any provider denies local login + const denyLocalLogin = availableProviders.some((provider) => provider.meta?.behavior?.denyLocalLogin); + if (denyLocalLogin) { + // Unregister the Umbraco provider + umbExtensionsRegistry.unregister('Umb.AuthProviders.Umbraco'); + } + // Show the provider selection screen const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT); const selected = await modalManager From 4b1e1815f6d045455ffb52e81fbf5db843cfc7df Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 15:07:05 +0200 Subject: [PATCH 127/134] use the built source from @openid/appauth --- src/Umbraco.Web.UI.Client/src/external/openid/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts index fa968cbfc8..5d92bc1f8c 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts @@ -12,6 +12,6 @@ export { RevokeTokenRequest, GRANT_TYPE_AUTHORIZATION_CODE, GRANT_TYPE_REFRESH_TOKEN, -} from '@openid/appauth/src/index.js'; +} from '@openid/appauth'; -export type { LocationLike, StringMap } from '@openid/appauth/src/types.js'; +export type { LocationLike, StringMap } from '@openid/appauth'; From edd7c548052c7a50496359f96502acc70b746d32 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 15:20:07 +0200 Subject: [PATCH 128/134] use the first providerName for default auth --- src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts index b87afe24f6..2e3bb77d9b 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/app/app-auth.controller.ts @@ -91,7 +91,7 @@ export class UmbAppAuthController extends UmbControllerBase { if (availableProviders.length === 1) { // One provider available (most likely the Umbraco provider), so initiate the authorization request to the default provider - this.#authContext.makeAuthorizationRequest(); + this.#authContext.makeAuthorizationRequest(availableProviders[0].forProviderName); return this.#updateState(); } From da2c10327d052a1fe3f65a4175673beb9143155d Mon Sep 17 00:00:00 2001 From: leekelleher Date: Tue, 9 Apr 2024 15:41:02 +0100 Subject: [PATCH 129/134] :notebook: Updated LICENSE added Simple Icons; CC0. --- src/Umbraco.Web.UI.Client/LICENSE | 10 +++++++++- .../src/packages/core/icon-registry/LICENSE | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/LICENSE b/src/Umbraco.Web.UI.Client/LICENSE index aaba059d33..2819c99ca7 100644 --- a/src/Umbraco.Web.UI.Client/LICENSE +++ b/src/Umbraco.Web.UI.Client/LICENSE @@ -27,10 +27,18 @@ Third-party licenses --- Lucide License -ISC License +ISC License Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2022. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +--- + +Simple Icons +CC0 1.0 Universal license + +The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. +You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/LICENSE b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/LICENSE index 4300c4cd5e..66b4696927 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/LICENSE +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/LICENSE @@ -1,8 +1,16 @@ Lucide License -ISC License +ISC License Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2022. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +--- + +Simple Icons +CC0 1.0 Universal license + +The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. +You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. From 657a07561f00945a3627a575fbfb80ee05e5214f Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 17:12:49 +0200 Subject: [PATCH 130/134] simpleicons is going to remove the twitter icon, so this is now on disk --- .../src/packages/core/icon-registry/icon-dictionary.json | 4 ---- .../src/packages/core/icon-registry/icons/icon-twitter.js | 7 ++++++- .../src/packages/core/icon-registry/icons/icons.json | 2 +- .../src/packages/core/icon-registry/svgs/icon-twitter.svg | 6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json index 1e30ae54aa..99fb107023 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json @@ -2479,10 +2479,6 @@ "name": "icon-microsoft", "file": "microsoft.svg" }, - { - "name": "icon-twitter", - "file": "twitter.svg" - }, { "name": "icon-twitter-x", "file": "x.svg" diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter.js b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter.js index 5e4a5c4737..3e61a109ac 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter.js +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-twitter.js @@ -1 +1,6 @@ -export default `Twitter`; \ No newline at end of file +export default ` + Twitter + + +`; \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icons.json b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icons.json index da2d594374..1fe1f387f0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icons.json +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icons.json @@ -1 +1 @@ -[{"name":"icon-activity","path":"./icons/icon-activity.js"},{"name":"icon-add","path":"./icons/icon-add.js"},{"name":"icon-addressbook","path":"./icons/icon-addressbook.js"},{"name":"icon-alarm-clock","path":"./icons/icon-alarm-clock.js"},{"name":"icon-alert-alt","path":"./icons/icon-alert-alt.js"},{"name":"icon-alert","path":"./icons/icon-alert.js"},{"name":"icon-alt","path":"./icons/icon-alt.js"},{"name":"icon-anchor","path":"./icons/icon-anchor.js"},{"name":"icon-app","path":"./icons/icon-app.js"},{"name":"icon-application-window-alt","path":"./icons/icon-application-window-alt.js"},{"name":"icon-application-window","path":"./icons/icon-application-window.js"},{"name":"icon-arrivals","path":"./icons/icon-arrivals.js"},{"name":"icon-arrow-down","path":"./icons/icon-arrow-down.js"},{"name":"icon-arrow-left","path":"./icons/icon-arrow-left.js"},{"name":"icon-arrow-right","path":"./icons/icon-arrow-right.js"},{"name":"icon-arrow-up","path":"./icons/icon-arrow-up.js"},{"name":"icon-attachment","path":"./icons/icon-attachment.js"},{"name":"icon-autofill","path":"./icons/icon-autofill.js"},{"name":"icon-award","path":"./icons/icon-award.js"},{"name":"icon-axis-rotation-2","path":"./icons/icon-axis-rotation-2.js"},{"name":"icon-axis-rotation-3","path":"./icons/icon-axis-rotation-3.js"},{"name":"icon-axis-rotation","path":"./icons/icon-axis-rotation.js"},{"name":"icon-backspace","path":"./icons/icon-backspace.js"},{"name":"icon-badge-add","path":"./icons/icon-badge-add.js"},{"name":"icon-badge-remove","path":"./icons/icon-badge-remove.js"},{"name":"icon-badge-restricted","legacy":true,"path":"./icons/icon-badge-restricted.js"},{"name":"icon-bar-chart","path":"./icons/icon-bar-chart.js"},{"name":"icon-barcode","path":"./icons/icon-barcode.js"},{"name":"icon-bars","path":"./icons/icon-bars.js"},{"name":"icon-battery-full","path":"./icons/icon-battery-full.js"},{"name":"icon-battery-low","path":"./icons/icon-battery-low.js"},{"name":"icon-beer-glass","path":"./icons/icon-beer-glass.js"},{"name":"icon-bell-off","path":"./icons/icon-bell-off.js"},{"name":"icon-bell","path":"./icons/icon-bell.js"},{"name":"icon-binarycode","path":"./icons/icon-binarycode.js"},{"name":"icon-bird","path":"./icons/icon-bird.js"},{"name":"icon-birthday-cake","path":"./icons/icon-birthday-cake.js"},{"name":"icon-block","path":"./icons/icon-block.js"},{"name":"icon-bluetooth","path":"./icons/icon-bluetooth.js"},{"name":"icon-boat-shipping","path":"./icons/icon-boat-shipping.js"},{"name":"icon-bones","path":"./icons/icon-bones.js"},{"name":"icon-book-alt-2","path":"./icons/icon-book-alt-2.js"},{"name":"icon-book-alt","path":"./icons/icon-book-alt.js"},{"name":"icon-book","path":"./icons/icon-book.js"},{"name":"icon-bookmark","path":"./icons/icon-bookmark.js"},{"name":"icon-books","path":"./icons/icon-books.js"},{"name":"icon-box-alt","path":"./icons/icon-box-alt.js"},{"name":"icon-box-open","path":"./icons/icon-box-open.js"},{"name":"icon-box","path":"./icons/icon-box.js"},{"name":"icon-brackets","path":"./icons/icon-brackets.js"},{"name":"icon-brick","path":"./icons/icon-brick.js"},{"name":"icon-briefcase","path":"./icons/icon-briefcase.js"},{"name":"icon-browser-window","path":"./icons/icon-browser-window.js"},{"name":"icon-brush-alt-2","path":"./icons/icon-brush-alt-2.js"},{"name":"icon-brush-alt","path":"./icons/icon-brush-alt.js"},{"name":"icon-brush","path":"./icons/icon-brush.js"},{"name":"icon-bug","path":"./icons/icon-bug.js"},{"name":"icon-bulleted-list","path":"./icons/icon-bulleted-list.js"},{"name":"icon-burn","path":"./icons/icon-burn.js"},{"name":"icon-bus","path":"./icons/icon-bus.js"},{"name":"icon-calculator","path":"./icons/icon-calculator.js"},{"name":"icon-calendar-alt","path":"./icons/icon-calendar-alt.js"},{"name":"icon-calendar","path":"./icons/icon-calendar.js"},{"name":"icon-camcorder","legacy":true,"path":"./icons/icon-camcorder.js"},{"name":"icon-camera-roll","path":"./icons/icon-camera-roll.js"},{"name":"icon-candy","path":"./icons/icon-candy.js"},{"name":"icon-caps-lock","path":"./icons/icon-caps-lock.js"},{"name":"icon-car","path":"./icons/icon-car.js"},{"name":"icon-categories","path":"./icons/icon-categories.js"},{"name":"icon-certificate","path":"./icons/icon-certificate.js"},{"name":"icon-chart-curve","path":"./icons/icon-chart-curve.js"},{"name":"icon-chart","path":"./icons/icon-chart.js"},{"name":"icon-chat-active","legacy":true,"path":"./icons/icon-chat-active.js"},{"name":"icon-chat","path":"./icons/icon-chat.js"},{"name":"icon-check","path":"./icons/icon-check.js"},{"name":"icon-checkbox-dotted","path":"./icons/icon-checkbox-dotted.js"},{"name":"icon-checkbox-empty","legacy":true,"path":"./icons/icon-checkbox-empty.js"},{"name":"icon-checkbox","path":"./icons/icon-checkbox.js"},{"name":"icon-chip-alt","legacy":true,"path":"./icons/icon-chip-alt.js"},{"name":"icon-chip","path":"./icons/icon-chip.js"},{"name":"icon-cinema","path":"./icons/icon-cinema.js"},{"name":"icon-circle-dotted-active","path":"./icons/icon-circle-dotted-active.js"},{"name":"icon-circle-dotted","path":"./icons/icon-circle-dotted.js"},{"name":"icon-circuits","path":"./icons/icon-circuits.js"},{"name":"icon-client","legacy":true,"path":"./icons/icon-client.js"},{"name":"icon-cloud-drive","path":"./icons/icon-cloud-drive.js"},{"name":"icon-cloud-upload","path":"./icons/icon-cloud-upload.js"},{"name":"icon-cloud","path":"./icons/icon-cloud.js"},{"name":"icon-cloudy","path":"./icons/icon-cloudy.js"},{"name":"icon-clubs","path":"./icons/icon-clubs.js"},{"name":"icon-cocktail","path":"./icons/icon-cocktail.js"},{"name":"icon-code","path":"./icons/icon-code.js"},{"name":"icon-coffee","path":"./icons/icon-coffee.js"},{"name":"icon-coin-euro","path":"./icons/icon-coin-euro.js"},{"name":"icon-coin-yen","path":"./icons/icon-coin-yen.js"},{"name":"icon-coins-alt","legacy":true,"path":"./icons/icon-coins-alt.js"},{"name":"icon-coins","path":"./icons/icon-coins.js"},{"name":"icon-color-bucket","path":"./icons/icon-color-bucket.js"},{"name":"icon-colorpicker","path":"./icons/icon-colorpicker.js"},{"name":"icon-columns","path":"./icons/icon-columns.js"},{"name":"icon-combination-lock-open","path":"./icons/icon-combination-lock-open.js"},{"name":"icon-combination-lock","path":"./icons/icon-combination-lock.js"},{"name":"icon-command","path":"./icons/icon-command.js"},{"name":"icon-company","path":"./icons/icon-company.js"},{"name":"icon-compress","path":"./icons/icon-compress.js"},{"name":"icon-connection","path":"./icons/icon-connection.js"},{"name":"icon-console","path":"./icons/icon-console.js"},{"name":"icon-contrast","path":"./icons/icon-contrast.js"},{"name":"icon-conversation-alt","path":"./icons/icon-conversation-alt.js"},{"name":"icon-conversation","legacy":true,"path":"./icons/icon-conversation.js"},{"name":"icon-coverflow","path":"./icons/icon-coverflow.js"},{"name":"icon-credit-card-alt","legacy":true,"path":"./icons/icon-credit-card-alt.js"},{"name":"icon-credit-card","path":"./icons/icon-credit-card.js"},{"name":"icon-crop","path":"./icons/icon-crop.js"},{"name":"icon-crosshair","path":"./icons/icon-crosshair.js"},{"name":"icon-crown-alt","legacy":true,"path":"./icons/icon-crown-alt.js"},{"name":"icon-crown","path":"./icons/icon-crown.js"},{"name":"icon-cupcake","legacy":true,"path":"./icons/icon-cupcake.js"},{"name":"icon-curve","path":"./icons/icon-curve.js"},{"name":"icon-cut","path":"./icons/icon-cut.js"},{"name":"icon-dashboard","path":"./icons/icon-dashboard.js"},{"name":"icon-defrag","path":"./icons/icon-defrag.js"},{"name":"icon-delete-key","path":"./icons/icon-delete-key.js"},{"name":"icon-delete","path":"./icons/icon-delete.js"},{"name":"icon-departure","path":"./icons/icon-departure.js"},{"name":"icon-desktop","legacy":true,"path":"./icons/icon-desktop.js"},{"name":"icon-diagnostics","path":"./icons/icon-diagnostics.js"},{"name":"icon-diagonal-arrow-alt","path":"./icons/icon-diagonal-arrow-alt.js"},{"name":"icon-diagonal-arrow","path":"./icons/icon-diagonal-arrow.js"},{"name":"icon-diamond","path":"./icons/icon-diamond.js"},{"name":"icon-diamonds","path":"./icons/icon-diamonds.js"},{"name":"icon-dice","path":"./icons/icon-dice.js"},{"name":"icon-diploma-alt","legacy":true,"path":"./icons/icon-diploma-alt.js"},{"name":"icon-diploma","path":"./icons/icon-diploma.js"},{"name":"icon-directions-alt","path":"./icons/icon-directions-alt.js"},{"name":"icon-directions","path":"./icons/icon-directions.js"},{"name":"icon-disc","path":"./icons/icon-disc.js"},{"name":"icon-disk-image","path":"./icons/icon-disk-image.js"},{"name":"icon-display","path":"./icons/icon-display.js"},{"name":"icon-dna","path":"./icons/icon-dna.js"},{"name":"icon-dock-connector","path":"./icons/icon-dock-connector.js"},{"name":"icon-document-dashed-line","path":"./icons/icon-document-dashed-line.js"},{"name":"icon-document","path":"./icons/icon-document.js"},{"name":"icon-documents","path":"./icons/icon-documents.js"},{"name":"icon-donate","legacy":true,"path":"./icons/icon-donate.js"},{"name":"icon-door-open-alt","legacy":true,"path":"./icons/icon-door-open-alt.js"},{"name":"icon-door-open","path":"./icons/icon-door-open.js"},{"name":"icon-download-alt","path":"./icons/icon-download-alt.js"},{"name":"icon-download","path":"./icons/icon-download.js"},{"name":"icon-drop","path":"./icons/icon-drop.js"},{"name":"icon-eco","path":"./icons/icon-eco.js"},{"name":"icon-economy","legacy":true,"path":"./icons/icon-economy.js"},{"name":"icon-edit","path":"./icons/icon-edit.js"},{"name":"icon-employee","legacy":true,"path":"./icons/icon-employee.js"},{"name":"icon-energy-saving-bulb","path":"./icons/icon-energy-saving-bulb.js"},{"name":"icon-enter","path":"./icons/icon-enter.js"},{"name":"icon-equalizer","path":"./icons/icon-equalizer.js"},{"name":"icon-escape","path":"./icons/icon-escape.js"},{"name":"icon-ethernet","path":"./icons/icon-ethernet.js"},{"name":"icon-eye","path":"./icons/icon-eye.js"},{"name":"icon-facebook-like","path":"./icons/icon-facebook-like.js"},{"name":"icon-factory","path":"./icons/icon-factory.js"},{"name":"icon-favorite","path":"./icons/icon-favorite.js"},{"name":"icon-file-cabinet","path":"./icons/icon-file-cabinet.js"},{"name":"icon-files","path":"./icons/icon-files.js"},{"name":"icon-filter","path":"./icons/icon-filter.js"},{"name":"icon-fingerprint","path":"./icons/icon-fingerprint.js"},{"name":"icon-fire","path":"./icons/icon-fire.js"},{"name":"icon-firewire","legacy":true,"path":"./icons/icon-firewire.js"},{"name":"icon-flag-alt","path":"./icons/icon-flag-alt.js"},{"name":"icon-flag","path":"./icons/icon-flag.js"},{"name":"icon-flash","path":"./icons/icon-flash.js"},{"name":"icon-flashlight","path":"./icons/icon-flashlight.js"},{"name":"icon-flowerpot","path":"./icons/icon-flowerpot.js"},{"name":"icon-folder","path":"./icons/icon-folder.js"},{"name":"icon-folders","path":"./icons/icon-folders.js"},{"name":"icon-font","path":"./icons/icon-font.js"},{"name":"icon-food","path":"./icons/icon-food.js"},{"name":"icon-footprints","path":"./icons/icon-footprints.js"},{"name":"icon-forking","path":"./icons/icon-forking.js"},{"name":"icon-frame-alt","legacy":true,"path":"./icons/icon-frame-alt.js"},{"name":"icon-frame","path":"./icons/icon-frame.js"},{"name":"icon-fullscreen-alt","path":"./icons/icon-fullscreen-alt.js"},{"name":"icon-fullscreen","path":"./icons/icon-fullscreen.js"},{"name":"icon-game","path":"./icons/icon-game.js"},{"name":"icon-geometry","legacy":true,"path":"./icons/icon-geometry.js"},{"name":"icon-gift","path":"./icons/icon-gift.js"},{"name":"icon-glasses","path":"./icons/icon-glasses.js"},{"name":"icon-globe-alt","path":"./icons/icon-globe-alt.js"},{"name":"icon-globe-asia","legacy":true,"path":"./icons/icon-globe-asia.js"},{"name":"icon-globe-europe-africa","legacy":true,"path":"./icons/icon-globe-europe-africa.js"},{"name":"icon-globe-inverted-america","legacy":true,"path":"./icons/icon-globe-inverted-america.js"},{"name":"icon-globe-inverted-asia","legacy":true,"path":"./icons/icon-globe-inverted-asia.js"},{"name":"icon-globe-inverted-europe-africa","legacy":true,"path":"./icons/icon-globe-inverted-europe-africa.js"},{"name":"icon-globe","path":"./icons/icon-globe.js"},{"name":"icon-gps","path":"./icons/icon-gps.js"},{"name":"icon-graduate","path":"./icons/icon-graduate.js"},{"name":"icon-grid","path":"./icons/icon-grid.js"},{"name":"icon-hammer","path":"./icons/icon-hammer.js"},{"name":"icon-hand-active-alt","legacy":true,"path":"./icons/icon-hand-active-alt.js"},{"name":"icon-hand-active","path":"./icons/icon-hand-active.js"},{"name":"icon-hand-pointer-alt","legacy":true,"path":"./icons/icon-hand-pointer-alt.js"},{"name":"icon-hand-pointer","path":"./icons/icon-hand-pointer.js"},{"name":"icon-handshake","path":"./icons/icon-handshake.js"},{"name":"icon-handtool-alt","legacy":true,"path":"./icons/icon-handtool-alt.js"},{"name":"icon-handtool","path":"./icons/icon-handtool.js"},{"name":"icon-hard-drive-alt","legacy":true,"path":"./icons/icon-hard-drive-alt.js"},{"name":"icon-hard-drive","legacy":true,"path":"./icons/icon-hard-drive.js"},{"name":"icon-headphones","path":"./icons/icon-headphones.js"},{"name":"icon-headset","legacy":true,"path":"./icons/icon-headset.js"},{"name":"icon-hearts","path":"./icons/icon-hearts.js"},{"name":"icon-height","path":"./icons/icon-height.js"},{"name":"icon-help-alt","path":"./icons/icon-help-alt.js"},{"name":"icon-help","path":"./icons/icon-help.js"},{"name":"icon-home","path":"./icons/icon-home.js"},{"name":"icon-hourglass","path":"./icons/icon-hourglass.js"},{"name":"icon-imac","legacy":true,"path":"./icons/icon-imac.js"},{"name":"icon-inbox-full","legacy":true,"path":"./icons/icon-inbox-full.js"},{"name":"icon-inbox","path":"./icons/icon-inbox.js"},{"name":"icon-indent","path":"./icons/icon-indent.js"},{"name":"icon-infinity","path":"./icons/icon-infinity.js"},{"name":"icon-info","path":"./icons/icon-info.js"},{"name":"icon-invoice","legacy":true,"path":"./icons/icon-invoice.js"},{"name":"icon-ipad","legacy":true,"path":"./icons/icon-ipad.js"},{"name":"icon-iphone","legacy":true,"path":"./icons/icon-iphone.js"},{"name":"icon-item-arrangement","legacy":true,"path":"./icons/icon-item-arrangement.js"},{"name":"icon-junk","path":"./icons/icon-junk.js"},{"name":"icon-key","path":"./icons/icon-key.js"},{"name":"icon-keyboard","path":"./icons/icon-keyboard.js"},{"name":"icon-lab","path":"./icons/icon-lab.js"},{"name":"icon-laptop","path":"./icons/icon-laptop.js"},{"name":"icon-layers-alt","legacy":true,"path":"./icons/icon-layers-alt.js"},{"name":"icon-layers","path":"./icons/icon-layers.js"},{"name":"icon-layout","path":"./icons/icon-layout.js"},{"name":"icon-left-double-arrow","path":"./icons/icon-left-double-arrow.js"},{"name":"icon-legal","path":"./icons/icon-legal.js"},{"name":"icon-lense","legacy":true,"path":"./icons/icon-lense.js"},{"name":"icon-library","path":"./icons/icon-library.js"},{"name":"icon-light-down","path":"./icons/icon-light-down.js"},{"name":"icon-light-up","path":"./icons/icon-light-up.js"},{"name":"icon-lightning","path":"./icons/icon-lightning.js"},{"name":"icon-link","path":"./icons/icon-link.js"},{"name":"icon-list","path":"./icons/icon-list.js"},{"name":"icon-load","legacy":true,"path":"./icons/icon-load.js"},{"name":"icon-loading","legacy":true,"path":"./icons/icon-loading.js"},{"name":"icon-location-nearby","path":"./icons/icon-location-nearby.js"},{"name":"icon-lock","path":"./icons/icon-lock.js"},{"name":"icon-log-out","path":"./icons/icon-log-out.js"},{"name":"icon-logout","legacy":true,"path":"./icons/icon-logout.js"},{"name":"icon-loupe","legacy":true,"path":"./icons/icon-loupe.js"},{"name":"icon-magnet","path":"./icons/icon-magnet.js"},{"name":"icon-mailbox","path":"./icons/icon-mailbox.js"},{"name":"icon-map-alt","path":"./icons/icon-map-alt.js"},{"name":"icon-map-location","legacy":true,"path":"./icons/icon-map-location.js"},{"name":"icon-map-marker","path":"./icons/icon-map-marker.js"},{"name":"icon-map","path":"./icons/icon-map.js"},{"name":"icon-medal","path":"./icons/icon-medal.js"},{"name":"icon-medical-emergency","path":"./icons/icon-medical-emergency.js"},{"name":"icon-medicine","path":"./icons/icon-medicine.js"},{"name":"icon-meeting","legacy":true,"path":"./icons/icon-meeting.js"},{"name":"icon-megaphone","path":"./icons/icon-megaphone.js"},{"name":"icon-merge","path":"./icons/icon-merge.js"},{"name":"icon-message-open","path":"./icons/icon-message-open.js"},{"name":"icon-message-unopened","legacy":true,"path":"./icons/icon-message-unopened.js"},{"name":"icon-message","path":"./icons/icon-message.js"},{"name":"icon-microscope","path":"./icons/icon-microscope.js"},{"name":"icon-mindmap","legacy":true,"path":"./icons/icon-mindmap.js"},{"name":"icon-mobile","path":"./icons/icon-mobile.js"},{"name":"icon-mountain","path":"./icons/icon-mountain.js"},{"name":"icon-mouse-cursor","path":"./icons/icon-mouse-cursor.js"},{"name":"icon-mouse","path":"./icons/icon-mouse.js"},{"name":"icon-movie-alt","path":"./icons/icon-movie-alt.js"},{"name":"icon-movie","path":"./icons/icon-movie.js"},{"name":"icon-multiple-credit-cards","path":"./icons/icon-multiple-credit-cards.js"},{"name":"icon-music","path":"./icons/icon-music.js"},{"name":"icon-name-badge","legacy":true,"path":"./icons/icon-name-badge.js"},{"name":"icon-navigation-bottom","legacy":true,"path":"./icons/icon-navigation-bottom.js"},{"name":"icon-navigation-down","legacy":true,"path":"./icons/icon-navigation-down.js"},{"name":"icon-navigation-first","legacy":true,"path":"./icons/icon-navigation-first.js"},{"name":"icon-navigation-horizontal","legacy":true,"path":"./icons/icon-navigation-horizontal.js"},{"name":"icon-navigation-last","legacy":true,"path":"./icons/icon-navigation-last.js"},{"name":"icon-navigation-left","legacy":true,"path":"./icons/icon-navigation-left.js"},{"name":"icon-navigation-right","legacy":true,"path":"./icons/icon-navigation-right.js"},{"name":"icon-navigation-road","legacy":true,"path":"./icons/icon-navigation-road.js"},{"name":"icon-navigation-up","legacy":true,"path":"./icons/icon-navigation-up.js"},{"name":"icon-navigation-vertical","legacy":true,"path":"./icons/icon-navigation-vertical.js"},{"name":"icon-navigation","legacy":true,"path":"./icons/icon-navigation.js"},{"name":"icon-navigational-arrow","path":"./icons/icon-navigational-arrow.js"},{"name":"icon-network-alt","path":"./icons/icon-network-alt.js"},{"name":"icon-newspaper-alt","legacy":true,"path":"./icons/icon-newspaper-alt.js"},{"name":"icon-newspaper","path":"./icons/icon-newspaper.js"},{"name":"icon-next-media","legacy":true,"path":"./icons/icon-next-media.js"},{"name":"icon-next","legacy":true,"path":"./icons/icon-next.js"},{"name":"icon-nodes","legacy":true,"path":"./icons/icon-nodes.js"},{"name":"icon-notepad-alt","legacy":true,"path":"./icons/icon-notepad-alt.js"},{"name":"icon-notepad","path":"./icons/icon-notepad.js"},{"name":"icon-old-key","path":"./icons/icon-old-key.js"},{"name":"icon-old-phone","legacy":true,"path":"./icons/icon-old-phone.js"},{"name":"icon-operator","path":"./icons/icon-operator.js"},{"name":"icon-ordered-list","path":"./icons/icon-ordered-list.js"},{"name":"icon-out","path":"./icons/icon-out.js"},{"name":"icon-outbox","legacy":true,"path":"./icons/icon-outbox.js"},{"name":"icon-outdent","path":"./icons/icon-outdent.js"},{"name":"icon-page-add","path":"./icons/icon-page-add.js"},{"name":"icon-page-down","path":"./icons/icon-page-down.js"},{"name":"icon-page-remove","path":"./icons/icon-page-remove.js"},{"name":"icon-page-restricted","path":"./icons/icon-page-restricted.js"},{"name":"icon-page-up","path":"./icons/icon-page-up.js"},{"name":"icon-paint-roller","legacy":true,"path":"./icons/icon-paint-roller.js"},{"name":"icon-palette","path":"./icons/icon-palette.js"},{"name":"icon-panel-show","path":"./icons/icon-panel-show.js"},{"name":"icon-pannel-close","path":"./icons/icon-pannel-close.js"},{"name":"icon-paper-bag","legacy":true,"path":"./icons/icon-paper-bag.js"},{"name":"icon-paper-plane-alt","path":"./icons/icon-paper-plane-alt.js"},{"name":"icon-paper-plane","path":"./icons/icon-paper-plane.js"},{"name":"icon-partly-cloudy","path":"./icons/icon-partly-cloudy.js"},{"name":"icon-paste-in","legacy":true,"path":"./icons/icon-paste-in.js"},{"name":"icon-pause","path":"./icons/icon-pause.js"},{"name":"icon-pc","legacy":true,"path":"./icons/icon-pc.js"},{"name":"icon-people-alt-2","legacy":true,"path":"./icons/icon-people-alt-2.js"},{"name":"icon-people-alt","legacy":true,"path":"./icons/icon-people-alt.js"},{"name":"icon-people-female","legacy":true,"path":"./icons/icon-people-female.js"},{"name":"icon-people","path":"./icons/icon-people.js"},{"name":"icon-phone-ring","path":"./icons/icon-phone-ring.js"},{"name":"icon-phone","path":"./icons/icon-phone.js"},{"name":"icon-photo-album","path":"./icons/icon-photo-album.js"},{"name":"icon-picture","path":"./icons/icon-picture.js"},{"name":"icon-pictures-alt-2","path":"./icons/icon-pictures-alt-2.js"},{"name":"icon-pictures-alt","legacy":true,"path":"./icons/icon-pictures-alt.js"},{"name":"icon-pictures","path":"./icons/icon-pictures.js"},{"name":"icon-pie-chart","path":"./icons/icon-pie-chart.js"},{"name":"icon-piggy-bank","path":"./icons/icon-piggy-bank.js"},{"name":"icon-pin-location","path":"./icons/icon-pin-location.js"},{"name":"icon-plane","path":"./icons/icon-plane.js"},{"name":"icon-planet","legacy":true,"path":"./icons/icon-planet.js"},{"name":"icon-play","path":"./icons/icon-play.js"},{"name":"icon-playing-cards","legacy":true,"path":"./icons/icon-playing-cards.js"},{"name":"icon-playlist","path":"./icons/icon-playlist.js"},{"name":"icon-plugin","path":"./icons/icon-plugin.js"},{"name":"icon-podcast","path":"./icons/icon-podcast.js"},{"name":"icon-poll","legacy":true,"path":"./icons/icon-poll.js"},{"name":"icon-post-it","path":"./icons/icon-post-it.js"},{"name":"icon-power-outlet","legacy":true,"path":"./icons/icon-power-outlet.js"},{"name":"icon-power","path":"./icons/icon-power.js"},{"name":"icon-presentation","path":"./icons/icon-presentation.js"},{"name":"icon-previous-media","path":"./icons/icon-previous-media.js"},{"name":"icon-previous","path":"./icons/icon-previous.js"},{"name":"icon-price-dollar","legacy":true,"path":"./icons/icon-price-dollar.js"},{"name":"icon-price-euro","legacy":true,"path":"./icons/icon-price-euro.js"},{"name":"icon-price-pound","legacy":true,"path":"./icons/icon-price-pound.js"},{"name":"icon-print","path":"./icons/icon-print.js"},{"name":"icon-printer-alt","legacy":true,"path":"./icons/icon-printer-alt.js"},{"name":"icon-projector","path":"./icons/icon-projector.js"},{"name":"icon-pulse","path":"./icons/icon-pulse.js"},{"name":"icon-pushpin","path":"./icons/icon-pushpin.js"},{"name":"icon-qr-code","path":"./icons/icon-qr-code.js"},{"name":"icon-quote","path":"./icons/icon-quote.js"},{"name":"icon-radio-alt","path":"./icons/icon-radio-alt.js"},{"name":"icon-radio-receiver","path":"./icons/icon-radio-receiver.js"},{"name":"icon-radio","path":"./icons/icon-radio.js"},{"name":"icon-rain","path":"./icons/icon-rain.js"},{"name":"icon-rate","legacy":true,"path":"./icons/icon-rate.js"},{"name":"icon-re-post","path":"./icons/icon-re-post.js"},{"name":"icon-readonly","legacy":true,"path":"./icons/icon-readonly.js"},{"name":"icon-receipt-alt","path":"./icons/icon-receipt-alt.js"},{"name":"icon-reception","path":"./icons/icon-reception.js"},{"name":"icon-record","legacy":true,"path":"./icons/icon-record.js"},{"name":"icon-redo","path":"./icons/icon-redo.js"},{"name":"icon-refresh","path":"./icons/icon-refresh.js"},{"name":"icon-remote","legacy":true,"path":"./icons/icon-remote.js"},{"name":"icon-remove","path":"./icons/icon-remove.js"},{"name":"icon-repeat-one","path":"./icons/icon-repeat-one.js"},{"name":"icon-repeat","path":"./icons/icon-repeat.js"},{"name":"icon-reply-arrow","path":"./icons/icon-reply-arrow.js"},{"name":"icon-return-to-top","legacy":true,"path":"./icons/icon-return-to-top.js"},{"name":"icon-right-double-arrow","legacy":true,"path":"./icons/icon-right-double-arrow.js"},{"name":"icon-roadsign","legacy":true,"path":"./icons/icon-roadsign.js"},{"name":"icon-rocket","path":"./icons/icon-rocket.js"},{"name":"icon-rss","path":"./icons/icon-rss.js"},{"name":"icon-ruler-alt","path":"./icons/icon-ruler-alt.js"},{"name":"icon-ruler","path":"./icons/icon-ruler.js"},{"name":"icon-satellite-dish","path":"./icons/icon-satellite-dish.js"},{"name":"icon-save","path":"./icons/icon-save.js"},{"name":"icon-scan","path":"./icons/icon-scan.js"},{"name":"icon-school","path":"./icons/icon-school.js"},{"name":"icon-screensharing","path":"./icons/icon-screensharing.js"},{"name":"icon-script-alt","legacy":true,"path":"./icons/icon-script-alt.js"},{"name":"icon-script","path":"./icons/icon-script.js"},{"name":"icon-scull","path":"./icons/icon-scull.js"},{"name":"icon-search","path":"./icons/icon-search.js"},{"name":"icon-sensor","path":"./icons/icon-sensor.js"},{"name":"icon-server-alt","legacy":true,"path":"./icons/icon-server-alt.js"},{"name":"icon-server","path":"./icons/icon-server.js"},{"name":"icon-settings-alt","legacy":true,"path":"./icons/icon-settings-alt.js"},{"name":"icon-settings","path":"./icons/icon-settings.js"},{"name":"icon-share-alt","path":"./icons/icon-share-alt.js"},{"name":"icon-share","path":"./icons/icon-share.js"},{"name":"icon-sharing-iphone","path":"./icons/icon-sharing-iphone.js"},{"name":"icon-shield","path":"./icons/icon-shield.js"},{"name":"icon-shift","path":"./icons/icon-shift.js"},{"name":"icon-shipping-box","path":"./icons/icon-shipping-box.js"},{"name":"icon-shipping","path":"./icons/icon-shipping.js"},{"name":"icon-shoe","path":"./icons/icon-shoe.js"},{"name":"icon-shopping-basket-alt-2","legacy":true,"path":"./icons/icon-shopping-basket-alt-2.js"},{"name":"icon-shopping-basket-alt","path":"./icons/icon-shopping-basket-alt.js"},{"name":"icon-shopping-basket","path":"./icons/icon-shopping-basket.js"},{"name":"icon-shuffle","path":"./icons/icon-shuffle.js"},{"name":"icon-sience","path":"./icons/icon-sience.js"},{"name":"icon-single-note","path":"./icons/icon-single-note.js"},{"name":"icon-sitemap","legacy":true,"path":"./icons/icon-sitemap.js"},{"name":"icon-sleep","path":"./icons/icon-sleep.js"},{"name":"icon-slideshow","legacy":true,"path":"./icons/icon-slideshow.js"},{"name":"icon-smiley-inverted","legacy":true,"path":"./icons/icon-smiley-inverted.js"},{"name":"icon-smiley","path":"./icons/icon-smiley.js"},{"name":"icon-snow","path":"./icons/icon-snow.js"},{"name":"icon-sound-low","path":"./icons/icon-sound-low.js"},{"name":"icon-sound-medium","legacy":true,"path":"./icons/icon-sound-medium.js"},{"name":"icon-sound-off","path":"./icons/icon-sound-off.js"},{"name":"icon-sound-waves","path":"./icons/icon-sound-waves.js"},{"name":"icon-sound","path":"./icons/icon-sound.js"},{"name":"icon-spades","path":"./icons/icon-spades.js"},{"name":"icon-speaker","path":"./icons/icon-speaker.js"},{"name":"icon-speed-gauge","path":"./icons/icon-speed-gauge.js"},{"name":"icon-split","path":"./icons/icon-split.js"},{"name":"icon-sprout","path":"./icons/icon-sprout.js"},{"name":"icon-squiggly-line","legacy":true,"path":"./icons/icon-squiggly-line.js"},{"name":"icon-ssd","legacy":true,"path":"./icons/icon-ssd.js"},{"name":"icon-stacked-disks","legacy":true,"path":"./icons/icon-stacked-disks.js"},{"name":"icon-stamp","legacy":true,"path":"./icons/icon-stamp.js"},{"name":"icon-stop-alt","path":"./icons/icon-stop-alt.js"},{"name":"icon-stop-hand","legacy":true,"path":"./icons/icon-stop-hand.js"},{"name":"icon-stop","path":"./icons/icon-stop.js"},{"name":"icon-store","path":"./icons/icon-store.js"},{"name":"icon-stream","legacy":true,"path":"./icons/icon-stream.js"},{"name":"icon-sunny","path":"./icons/icon-sunny.js"},{"name":"icon-sweatshirt","legacy":true,"path":"./icons/icon-sweatshirt.js"},{"name":"icon-sync","path":"./icons/icon-sync.js"},{"name":"icon-t-shirt","path":"./icons/icon-t-shirt.js"},{"name":"icon-tab-key","path":"./icons/icon-tab-key.js"},{"name":"icon-tag","path":"./icons/icon-tag.js"},{"name":"icon-tags","path":"./icons/icon-tags.js"},{"name":"icon-takeaway-cup","legacy":true,"path":"./icons/icon-takeaway-cup.js"},{"name":"icon-target","path":"./icons/icon-target.js"},{"name":"icon-temperatrure-alt","path":"./icons/icon-temperatrure-alt.js"},{"name":"icon-temperature","path":"./icons/icon-temperature.js"},{"name":"icon-terminal","path":"./icons/icon-terminal.js"},{"name":"icon-theater","path":"./icons/icon-theater.js"},{"name":"icon-thumb-down","path":"./icons/icon-thumb-down.js"},{"name":"icon-thumb-up","path":"./icons/icon-thumb-up.js"},{"name":"icon-thumbnail-list","path":"./icons/icon-thumbnail-list.js"},{"name":"icon-thumbnails-small","path":"./icons/icon-thumbnails-small.js"},{"name":"icon-thumbnails","path":"./icons/icon-thumbnails.js"},{"name":"icon-ticket","path":"./icons/icon-ticket.js"},{"name":"icon-time","path":"./icons/icon-time.js"},{"name":"icon-timer","path":"./icons/icon-timer.js"},{"name":"icon-tools","legacy":true,"path":"./icons/icon-tools.js"},{"name":"icon-top","legacy":true,"path":"./icons/icon-top.js"},{"name":"icon-traffic-alt","legacy":true,"path":"./icons/icon-traffic-alt.js"},{"name":"icon-trafic","path":"./icons/icon-trafic.js"},{"name":"icon-train","path":"./icons/icon-train.js"},{"name":"icon-trash-alt-2","legacy":true,"path":"./icons/icon-trash-alt-2.js"},{"name":"icon-trash-alt","legacy":true,"path":"./icons/icon-trash-alt.js"},{"name":"icon-trash","path":"./icons/icon-trash.js"},{"name":"icon-tree","path":"./icons/icon-tree.js"},{"name":"icon-trophy","path":"./icons/icon-trophy.js"},{"name":"icon-truck","path":"./icons/icon-truck.js"},{"name":"icon-tv-old","path":"./icons/icon-tv-old.js"},{"name":"icon-tv","path":"./icons/icon-tv.js"},{"name":"icon-umb-content","legacy":true,"path":"./icons/icon-umb-content.js"},{"name":"icon-umb-developer","legacy":true,"path":"./icons/icon-umb-developer.js"},{"name":"icon-umb-media","legacy":true,"path":"./icons/icon-umb-media.js"},{"name":"icon-umb-settings","legacy":true,"path":"./icons/icon-umb-settings.js"},{"name":"icon-umb-users","legacy":true,"path":"./icons/icon-umb-users.js"},{"name":"icon-umbrella","path":"./icons/icon-umbrella.js"},{"name":"icon-undo","path":"./icons/icon-undo.js"},{"name":"icon-unlocked","path":"./icons/icon-unlocked.js"},{"name":"icon-untitled","legacy":true,"path":"./icons/icon-untitled.js"},{"name":"icon-usb-connector","legacy":true,"path":"./icons/icon-usb-connector.js"},{"name":"icon-usb","path":"./icons/icon-usb.js"},{"name":"icon-user-female","legacy":true,"path":"./icons/icon-user-female.js"},{"name":"icon-user-females-alt","legacy":true,"path":"./icons/icon-user-females-alt.js"},{"name":"icon-user-females","legacy":true,"path":"./icons/icon-user-females.js"},{"name":"icon-user-glasses","legacy":true,"path":"./icons/icon-user-glasses.js"},{"name":"icon-user","path":"./icons/icon-user.js"},{"name":"icon-users-alt","legacy":true,"path":"./icons/icon-users-alt.js"},{"name":"icon-users","path":"./icons/icon-users.js"},{"name":"icon-utilities","path":"./icons/icon-utilities.js"},{"name":"icon-vcard","path":"./icons/icon-vcard.js"},{"name":"icon-video","path":"./icons/icon-video.js"},{"name":"icon-voice","path":"./icons/icon-voice.js"},{"name":"icon-wall-plug","path":"./icons/icon-wall-plug.js"},{"name":"icon-wallet","path":"./icons/icon-wallet.js"},{"name":"icon-wand","path":"./icons/icon-wand.js"},{"name":"icon-webhook","path":"./icons/icon-webhook.js"},{"name":"icon-weight","path":"./icons/icon-weight.js"},{"name":"icon-width","path":"./icons/icon-width.js"},{"name":"icon-wifi","path":"./icons/icon-wifi.js"},{"name":"icon-window-popin","path":"./icons/icon-window-popin.js"},{"name":"icon-window-sizes","path":"./icons/icon-window-sizes.js"},{"name":"icon-wine-glass","path":"./icons/icon-wine-glass.js"},{"name":"icon-wrench","path":"./icons/icon-wrench.js"},{"name":"icon-wrong","path":"./icons/icon-wrong.js"},{"name":"icon-zip","path":"./icons/icon-zip.js"},{"name":"icon-zom-out","legacy":true,"path":"./icons/icon-zom-out.js"},{"name":"icon-zoom-in","path":"./icons/icon-zoom-in.js"},{"name":"icon-zoom-out","path":"./icons/icon-zoom-out.js"},{"name":"icon-star","path":"./icons/icon-star.js"},{"name":"icon-database","path":"./icons/icon-database.js"},{"name":"icon-azure","path":"./icons/icon-azure.js"},{"name":"icon-facebook","path":"./icons/icon-facebook.js"},{"name":"icon-gitbook","path":"./icons/icon-gitbook.js"},{"name":"icon-github","path":"./icons/icon-github.js"},{"name":"icon-gitlab","path":"./icons/icon-gitlab.js"},{"name":"icon-google","path":"./icons/icon-google.js"},{"name":"icon-linkedin","path":"./icons/icon-linkedin.js"},{"name":"icon-mastodon","path":"./icons/icon-mastodon.js"},{"name":"icon-microsoft","path":"./icons/icon-microsoft.js"},{"name":"icon-twitter","path":"./icons/icon-twitter.js"},{"name":"icon-twitter-x","path":"./icons/icon-twitter-x.js"},{"name":"icon-umbraco","path":"./icons/icon-umbraco.js"},{"name":"icon-application-error","legacy":true,"path":"./icons/icon-application-error.js"},{"name":"icon-art-easel","legacy":true,"path":"./icons/icon-art-easel.js"},{"name":"icon-article","legacy":true,"path":"./icons/icon-article.js"},{"name":"icon-auction-hammer","legacy":true,"path":"./icons/icon-auction-hammer.js"},{"name":"icon-baby-stroller","legacy":true,"path":"./icons/icon-baby-stroller.js"},{"name":"icon-badge-count","legacy":true,"path":"./icons/icon-badge-count.js"},{"name":"icon-ball","legacy":true,"path":"./icons/icon-ball.js"},{"name":"icon-band-aid","legacy":true,"path":"./icons/icon-band-aid.js"},{"name":"icon-bill-dollar","legacy":true,"path":"./icons/icon-bill-dollar.js"},{"name":"icon-bill-euro","legacy":true,"path":"./icons/icon-bill-euro.js"},{"name":"icon-bill-pound","legacy":true,"path":"./icons/icon-bill-pound.js"},{"name":"icon-bill-yen","legacy":true,"path":"./icons/icon-bill-yen.js"},{"name":"icon-bill","legacy":true,"path":"./icons/icon-bill.js"},{"name":"icon-billboard","legacy":true,"path":"./icons/icon-billboard.js"},{"name":"icon-bills-dollar","legacy":true,"path":"./icons/icon-bills-dollar.js"},{"name":"icon-bills-euro","legacy":true,"path":"./icons/icon-bills-euro.js"},{"name":"icon-bills-pound","legacy":true,"path":"./icons/icon-bills-pound.js"},{"name":"icon-bills-yen","legacy":true,"path":"./icons/icon-bills-yen.js"},{"name":"icon-bills","legacy":true,"path":"./icons/icon-bills.js"},{"name":"icon-binoculars","legacy":true,"path":"./icons/icon-binoculars.js"},{"name":"icon-blueprint","legacy":true,"path":"./icons/icon-blueprint.js"},{"name":"icon-bomb","legacy":true,"path":"./icons/icon-bomb.js"},{"name":"icon-cash-register","legacy":true,"path":"./icons/icon-cash-register.js"},{"name":"icon-checkbox-dotted-active","legacy":true,"path":"./icons/icon-checkbox-dotted-active.js"},{"name":"icon-chess","legacy":true,"path":"./icons/icon-chess.js"},{"name":"icon-circus","legacy":true,"path":"./icons/icon-circus.js"},{"name":"icon-clothes-hanger","legacy":true,"path":"./icons/icon-clothes-hanger.js"},{"name":"icon-coin-dollar","legacy":true,"path":"./icons/icon-coin-dollar.js"},{"name":"icon-coin-pound","legacy":true,"path":"./icons/icon-coin-pound.js"},{"name":"icon-coin","legacy":true,"path":"./icons/icon-coin.js"},{"name":"icon-coins-dollar-alt","legacy":true,"path":"./icons/icon-coins-dollar-alt.js"},{"name":"icon-coins-dollar","legacy":true,"path":"./icons/icon-coins-dollar.js"},{"name":"icon-coins-euro-alt","legacy":true,"path":"./icons/icon-coins-euro-alt.js"},{"name":"icon-coins-euro","legacy":true,"path":"./icons/icon-coins-euro.js"},{"name":"icon-coins-pound-alt","legacy":true,"path":"./icons/icon-coins-pound-alt.js"},{"name":"icon-coins-pound","legacy":true,"path":"./icons/icon-coins-pound.js"},{"name":"icon-coins-yen-alt","legacy":true,"path":"./icons/icon-coins-yen-alt.js"},{"name":"icon-coins-yen","legacy":true,"path":"./icons/icon-coins-yen.js"},{"name":"icon-comb","legacy":true,"path":"./icons/icon-comb.js"},{"name":"icon-desk","legacy":true,"path":"./icons/icon-desk.js"},{"name":"icon-dollar-bag","legacy":true,"path":"./icons/icon-dollar-bag.js"},{"name":"icon-eject","legacy":true,"path":"./icons/icon-eject.js"},{"name":"icon-euro-bag","legacy":true,"path":"./icons/icon-euro-bag.js"},{"name":"icon-exit-fullscreen","legacy":true,"path":"./icons/icon-exit-fullscreen.js"},{"name":"icon-female-symbol","legacy":true,"path":"./icons/icon-female-symbol.js"},{"name":"icon-filter-arrows","legacy":true,"path":"./icons/icon-filter-arrows.js"},{"name":"icon-firewall","legacy":true,"path":"./icons/icon-firewall.js"},{"name":"icon-folder-open","legacy":true,"path":"./icons/icon-folder-open.js"},{"name":"icon-folder-outline","legacy":true,"path":"./icons/icon-folder-outline.js"},{"name":"icon-handprint","legacy":true,"path":"./icons/icon-handprint.js"},{"name":"icon-hat","legacy":true,"path":"./icons/icon-hat.js"},{"name":"icon-hd","legacy":true,"path":"./icons/icon-hd.js"},{"name":"icon-inactive-line","legacy":true,"path":"./icons/icon-inactive-line.js"},{"name":"icon-keychain","legacy":true,"path":"./icons/icon-keychain.js"},{"name":"icon-keyhole","legacy":true,"path":"./icons/icon-keyhole.js"},{"name":"icon-lightbulb-active","legacy":true,"path":"./icons/icon-lightbulb-active.js"},{"name":"icon-lightbulb","legacy":true,"path":"./icons/icon-lightbulb.js"},{"name":"icon-linux-tux","legacy":true,"path":"./icons/icon-linux-tux.js"},{"name":"icon-locate","legacy":true,"path":"./icons/icon-locate.js"},{"name":"icon-location-near-me","legacy":true,"path":"./icons/icon-location-near-me.js"},{"name":"icon-male-and-female","legacy":true,"path":"./icons/icon-male-and-female.js"},{"name":"icon-male-symbol","legacy":true,"path":"./icons/icon-male-symbol.js"},{"name":"icon-molecular-network","legacy":true,"path":"./icons/icon-molecular-network.js"},{"name":"icon-molecular","legacy":true,"path":"./icons/icon-molecular.js"},{"name":"icon-multiple-windows","legacy":true,"path":"./icons/icon-multiple-windows.js"},{"name":"icon-navigation-top","legacy":true,"path":"./icons/icon-navigation-top.js"},{"name":"icon-os-x","legacy":true,"path":"./icons/icon-os-x.js"},{"name":"icon-pants","legacy":true,"path":"./icons/icon-pants.js"},{"name":"icon-parachute-drop","legacy":true,"path":"./icons/icon-parachute-drop.js"},{"name":"icon-parental-control","legacy":true,"path":"./icons/icon-parental-control.js"},{"name":"icon-path","legacy":true,"path":"./icons/icon-path.js"},{"name":"icon-piracy","legacy":true,"path":"./icons/icon-piracy.js"},{"name":"icon-poker-chip","legacy":true,"path":"./icons/icon-poker-chip.js"},{"name":"icon-pound-bag","legacy":true,"path":"./icons/icon-pound-bag.js"},{"name":"icon-price-yen","legacy":true,"path":"./icons/icon-price-yen.js"},{"name":"icon-receipt-dollar","legacy":true,"path":"./icons/icon-receipt-dollar.js"},{"name":"icon-receipt-euro","legacy":true,"path":"./icons/icon-receipt-euro.js"},{"name":"icon-receipt-pound","legacy":true,"path":"./icons/icon-receipt-pound.js"},{"name":"icon-receipt-yen","legacy":true,"path":"./icons/icon-receipt-yen.js"},{"name":"icon-resize","legacy":true,"path":"./icons/icon-resize.js"},{"name":"icon-road","legacy":true,"path":"./icons/icon-road.js"},{"name":"icon-safe","legacy":true,"path":"./icons/icon-safe.js"},{"name":"icon-safedial","legacy":true,"path":"./icons/icon-safedial.js"},{"name":"icon-sandbox-toys","legacy":true,"path":"./icons/icon-sandbox-toys.js"},{"name":"icon-security-camera","legacy":true,"path":"./icons/icon-security-camera.js"},{"name":"icon-settings-alt-2","legacy":true,"path":"./icons/icon-settings-alt-2.js"},{"name":"icon-share-alt-2","legacy":true,"path":"./icons/icon-share-alt-2.js"},{"name":"icon-shorts","legacy":true,"path":"./icons/icon-shorts.js"},{"name":"icon-simcard","legacy":true,"path":"./icons/icon-simcard.js"},{"name":"icon-split-alt","legacy":true,"path":"./icons/icon-split-alt.js"},{"name":"icon-tab","legacy":true,"path":"./icons/icon-tab.js"},{"name":"icon-tactics","legacy":true,"path":"./icons/icon-tactics.js"},{"name":"icon-theif","legacy":true,"path":"./icons/icon-theif.js"},{"name":"icon-thought-bubble","legacy":true,"path":"./icons/icon-thought-bubble.js"},{"name":"icon-umb-contour","legacy":true,"path":"./icons/icon-umb-contour.js"},{"name":"icon-umb-deploy","legacy":true,"path":"./icons/icon-umb-deploy.js"},{"name":"icon-umb-members","legacy":true,"path":"./icons/icon-umb-members.js"},{"name":"icon-universal","legacy":true,"path":"./icons/icon-universal.js"},{"name":"icon-war","legacy":true,"path":"./icons/icon-war.js"},{"name":"icon-windows","legacy":true,"path":"./icons/icon-windows.js"},{"name":"icon-yen-bag","legacy":true,"path":"./icons/icon-yen-bag.js"}] \ No newline at end of file +[{"name":"icon-activity","path":"./icons/icon-activity.js"},{"name":"icon-add","path":"./icons/icon-add.js"},{"name":"icon-addressbook","path":"./icons/icon-addressbook.js"},{"name":"icon-alarm-clock","path":"./icons/icon-alarm-clock.js"},{"name":"icon-alert-alt","path":"./icons/icon-alert-alt.js"},{"name":"icon-alert","path":"./icons/icon-alert.js"},{"name":"icon-alt","path":"./icons/icon-alt.js"},{"name":"icon-anchor","path":"./icons/icon-anchor.js"},{"name":"icon-app","path":"./icons/icon-app.js"},{"name":"icon-application-window-alt","path":"./icons/icon-application-window-alt.js"},{"name":"icon-application-window","path":"./icons/icon-application-window.js"},{"name":"icon-arrivals","path":"./icons/icon-arrivals.js"},{"name":"icon-arrow-down","path":"./icons/icon-arrow-down.js"},{"name":"icon-arrow-left","path":"./icons/icon-arrow-left.js"},{"name":"icon-arrow-right","path":"./icons/icon-arrow-right.js"},{"name":"icon-arrow-up","path":"./icons/icon-arrow-up.js"},{"name":"icon-attachment","path":"./icons/icon-attachment.js"},{"name":"icon-autofill","path":"./icons/icon-autofill.js"},{"name":"icon-award","path":"./icons/icon-award.js"},{"name":"icon-axis-rotation-2","path":"./icons/icon-axis-rotation-2.js"},{"name":"icon-axis-rotation-3","path":"./icons/icon-axis-rotation-3.js"},{"name":"icon-axis-rotation","path":"./icons/icon-axis-rotation.js"},{"name":"icon-backspace","path":"./icons/icon-backspace.js"},{"name":"icon-badge-add","path":"./icons/icon-badge-add.js"},{"name":"icon-badge-remove","path":"./icons/icon-badge-remove.js"},{"name":"icon-badge-restricted","legacy":true,"path":"./icons/icon-badge-restricted.js"},{"name":"icon-bar-chart","path":"./icons/icon-bar-chart.js"},{"name":"icon-barcode","path":"./icons/icon-barcode.js"},{"name":"icon-bars","path":"./icons/icon-bars.js"},{"name":"icon-battery-full","path":"./icons/icon-battery-full.js"},{"name":"icon-battery-low","path":"./icons/icon-battery-low.js"},{"name":"icon-beer-glass","path":"./icons/icon-beer-glass.js"},{"name":"icon-bell-off","path":"./icons/icon-bell-off.js"},{"name":"icon-bell","path":"./icons/icon-bell.js"},{"name":"icon-binarycode","path":"./icons/icon-binarycode.js"},{"name":"icon-bird","path":"./icons/icon-bird.js"},{"name":"icon-birthday-cake","path":"./icons/icon-birthday-cake.js"},{"name":"icon-block","path":"./icons/icon-block.js"},{"name":"icon-bluetooth","path":"./icons/icon-bluetooth.js"},{"name":"icon-boat-shipping","path":"./icons/icon-boat-shipping.js"},{"name":"icon-bones","path":"./icons/icon-bones.js"},{"name":"icon-book-alt-2","path":"./icons/icon-book-alt-2.js"},{"name":"icon-book-alt","path":"./icons/icon-book-alt.js"},{"name":"icon-book","path":"./icons/icon-book.js"},{"name":"icon-bookmark","path":"./icons/icon-bookmark.js"},{"name":"icon-books","path":"./icons/icon-books.js"},{"name":"icon-box-alt","path":"./icons/icon-box-alt.js"},{"name":"icon-box-open","path":"./icons/icon-box-open.js"},{"name":"icon-box","path":"./icons/icon-box.js"},{"name":"icon-brackets","path":"./icons/icon-brackets.js"},{"name":"icon-brick","path":"./icons/icon-brick.js"},{"name":"icon-briefcase","path":"./icons/icon-briefcase.js"},{"name":"icon-browser-window","path":"./icons/icon-browser-window.js"},{"name":"icon-brush-alt-2","path":"./icons/icon-brush-alt-2.js"},{"name":"icon-brush-alt","path":"./icons/icon-brush-alt.js"},{"name":"icon-brush","path":"./icons/icon-brush.js"},{"name":"icon-bug","path":"./icons/icon-bug.js"},{"name":"icon-bulleted-list","path":"./icons/icon-bulleted-list.js"},{"name":"icon-burn","path":"./icons/icon-burn.js"},{"name":"icon-bus","path":"./icons/icon-bus.js"},{"name":"icon-calculator","path":"./icons/icon-calculator.js"},{"name":"icon-calendar-alt","path":"./icons/icon-calendar-alt.js"},{"name":"icon-calendar","path":"./icons/icon-calendar.js"},{"name":"icon-camcorder","legacy":true,"path":"./icons/icon-camcorder.js"},{"name":"icon-camera-roll","path":"./icons/icon-camera-roll.js"},{"name":"icon-candy","path":"./icons/icon-candy.js"},{"name":"icon-caps-lock","path":"./icons/icon-caps-lock.js"},{"name":"icon-car","path":"./icons/icon-car.js"},{"name":"icon-categories","path":"./icons/icon-categories.js"},{"name":"icon-certificate","path":"./icons/icon-certificate.js"},{"name":"icon-chart-curve","path":"./icons/icon-chart-curve.js"},{"name":"icon-chart","path":"./icons/icon-chart.js"},{"name":"icon-chat-active","legacy":true,"path":"./icons/icon-chat-active.js"},{"name":"icon-chat","path":"./icons/icon-chat.js"},{"name":"icon-check","path":"./icons/icon-check.js"},{"name":"icon-checkbox-dotted","path":"./icons/icon-checkbox-dotted.js"},{"name":"icon-checkbox-empty","legacy":true,"path":"./icons/icon-checkbox-empty.js"},{"name":"icon-checkbox","path":"./icons/icon-checkbox.js"},{"name":"icon-chip-alt","legacy":true,"path":"./icons/icon-chip-alt.js"},{"name":"icon-chip","path":"./icons/icon-chip.js"},{"name":"icon-cinema","path":"./icons/icon-cinema.js"},{"name":"icon-circle-dotted-active","path":"./icons/icon-circle-dotted-active.js"},{"name":"icon-circle-dotted","path":"./icons/icon-circle-dotted.js"},{"name":"icon-circuits","path":"./icons/icon-circuits.js"},{"name":"icon-client","legacy":true,"path":"./icons/icon-client.js"},{"name":"icon-cloud-drive","path":"./icons/icon-cloud-drive.js"},{"name":"icon-cloud-upload","path":"./icons/icon-cloud-upload.js"},{"name":"icon-cloud","path":"./icons/icon-cloud.js"},{"name":"icon-cloudy","path":"./icons/icon-cloudy.js"},{"name":"icon-clubs","path":"./icons/icon-clubs.js"},{"name":"icon-cocktail","path":"./icons/icon-cocktail.js"},{"name":"icon-code","path":"./icons/icon-code.js"},{"name":"icon-coffee","path":"./icons/icon-coffee.js"},{"name":"icon-coin-euro","path":"./icons/icon-coin-euro.js"},{"name":"icon-coin-yen","path":"./icons/icon-coin-yen.js"},{"name":"icon-coins-alt","legacy":true,"path":"./icons/icon-coins-alt.js"},{"name":"icon-coins","path":"./icons/icon-coins.js"},{"name":"icon-color-bucket","path":"./icons/icon-color-bucket.js"},{"name":"icon-colorpicker","path":"./icons/icon-colorpicker.js"},{"name":"icon-columns","path":"./icons/icon-columns.js"},{"name":"icon-combination-lock-open","path":"./icons/icon-combination-lock-open.js"},{"name":"icon-combination-lock","path":"./icons/icon-combination-lock.js"},{"name":"icon-command","path":"./icons/icon-command.js"},{"name":"icon-company","path":"./icons/icon-company.js"},{"name":"icon-compress","path":"./icons/icon-compress.js"},{"name":"icon-connection","path":"./icons/icon-connection.js"},{"name":"icon-console","path":"./icons/icon-console.js"},{"name":"icon-contrast","path":"./icons/icon-contrast.js"},{"name":"icon-conversation-alt","path":"./icons/icon-conversation-alt.js"},{"name":"icon-conversation","legacy":true,"path":"./icons/icon-conversation.js"},{"name":"icon-coverflow","path":"./icons/icon-coverflow.js"},{"name":"icon-credit-card-alt","legacy":true,"path":"./icons/icon-credit-card-alt.js"},{"name":"icon-credit-card","path":"./icons/icon-credit-card.js"},{"name":"icon-crop","path":"./icons/icon-crop.js"},{"name":"icon-crosshair","path":"./icons/icon-crosshair.js"},{"name":"icon-crown-alt","legacy":true,"path":"./icons/icon-crown-alt.js"},{"name":"icon-crown","path":"./icons/icon-crown.js"},{"name":"icon-cupcake","legacy":true,"path":"./icons/icon-cupcake.js"},{"name":"icon-curve","path":"./icons/icon-curve.js"},{"name":"icon-cut","path":"./icons/icon-cut.js"},{"name":"icon-dashboard","path":"./icons/icon-dashboard.js"},{"name":"icon-defrag","path":"./icons/icon-defrag.js"},{"name":"icon-delete-key","path":"./icons/icon-delete-key.js"},{"name":"icon-delete","path":"./icons/icon-delete.js"},{"name":"icon-departure","path":"./icons/icon-departure.js"},{"name":"icon-desktop","legacy":true,"path":"./icons/icon-desktop.js"},{"name":"icon-diagnostics","path":"./icons/icon-diagnostics.js"},{"name":"icon-diagonal-arrow-alt","path":"./icons/icon-diagonal-arrow-alt.js"},{"name":"icon-diagonal-arrow","path":"./icons/icon-diagonal-arrow.js"},{"name":"icon-diamond","path":"./icons/icon-diamond.js"},{"name":"icon-diamonds","path":"./icons/icon-diamonds.js"},{"name":"icon-dice","path":"./icons/icon-dice.js"},{"name":"icon-diploma-alt","legacy":true,"path":"./icons/icon-diploma-alt.js"},{"name":"icon-diploma","path":"./icons/icon-diploma.js"},{"name":"icon-directions-alt","path":"./icons/icon-directions-alt.js"},{"name":"icon-directions","path":"./icons/icon-directions.js"},{"name":"icon-disc","path":"./icons/icon-disc.js"},{"name":"icon-disk-image","path":"./icons/icon-disk-image.js"},{"name":"icon-display","path":"./icons/icon-display.js"},{"name":"icon-dna","path":"./icons/icon-dna.js"},{"name":"icon-dock-connector","path":"./icons/icon-dock-connector.js"},{"name":"icon-document-dashed-line","path":"./icons/icon-document-dashed-line.js"},{"name":"icon-document","path":"./icons/icon-document.js"},{"name":"icon-documents","path":"./icons/icon-documents.js"},{"name":"icon-donate","legacy":true,"path":"./icons/icon-donate.js"},{"name":"icon-door-open-alt","legacy":true,"path":"./icons/icon-door-open-alt.js"},{"name":"icon-door-open","path":"./icons/icon-door-open.js"},{"name":"icon-download-alt","path":"./icons/icon-download-alt.js"},{"name":"icon-download","path":"./icons/icon-download.js"},{"name":"icon-drop","path":"./icons/icon-drop.js"},{"name":"icon-eco","path":"./icons/icon-eco.js"},{"name":"icon-economy","legacy":true,"path":"./icons/icon-economy.js"},{"name":"icon-edit","path":"./icons/icon-edit.js"},{"name":"icon-employee","legacy":true,"path":"./icons/icon-employee.js"},{"name":"icon-energy-saving-bulb","path":"./icons/icon-energy-saving-bulb.js"},{"name":"icon-enter","path":"./icons/icon-enter.js"},{"name":"icon-equalizer","path":"./icons/icon-equalizer.js"},{"name":"icon-escape","path":"./icons/icon-escape.js"},{"name":"icon-ethernet","path":"./icons/icon-ethernet.js"},{"name":"icon-eye","path":"./icons/icon-eye.js"},{"name":"icon-facebook-like","path":"./icons/icon-facebook-like.js"},{"name":"icon-factory","path":"./icons/icon-factory.js"},{"name":"icon-favorite","path":"./icons/icon-favorite.js"},{"name":"icon-file-cabinet","path":"./icons/icon-file-cabinet.js"},{"name":"icon-files","path":"./icons/icon-files.js"},{"name":"icon-filter","path":"./icons/icon-filter.js"},{"name":"icon-fingerprint","path":"./icons/icon-fingerprint.js"},{"name":"icon-fire","path":"./icons/icon-fire.js"},{"name":"icon-firewire","legacy":true,"path":"./icons/icon-firewire.js"},{"name":"icon-flag-alt","path":"./icons/icon-flag-alt.js"},{"name":"icon-flag","path":"./icons/icon-flag.js"},{"name":"icon-flash","path":"./icons/icon-flash.js"},{"name":"icon-flashlight","path":"./icons/icon-flashlight.js"},{"name":"icon-flowerpot","path":"./icons/icon-flowerpot.js"},{"name":"icon-folder","path":"./icons/icon-folder.js"},{"name":"icon-folders","path":"./icons/icon-folders.js"},{"name":"icon-font","path":"./icons/icon-font.js"},{"name":"icon-food","path":"./icons/icon-food.js"},{"name":"icon-footprints","path":"./icons/icon-footprints.js"},{"name":"icon-forking","path":"./icons/icon-forking.js"},{"name":"icon-frame-alt","legacy":true,"path":"./icons/icon-frame-alt.js"},{"name":"icon-frame","path":"./icons/icon-frame.js"},{"name":"icon-fullscreen-alt","path":"./icons/icon-fullscreen-alt.js"},{"name":"icon-fullscreen","path":"./icons/icon-fullscreen.js"},{"name":"icon-game","path":"./icons/icon-game.js"},{"name":"icon-geometry","legacy":true,"path":"./icons/icon-geometry.js"},{"name":"icon-gift","path":"./icons/icon-gift.js"},{"name":"icon-glasses","path":"./icons/icon-glasses.js"},{"name":"icon-globe-alt","path":"./icons/icon-globe-alt.js"},{"name":"icon-globe-asia","legacy":true,"path":"./icons/icon-globe-asia.js"},{"name":"icon-globe-europe-africa","legacy":true,"path":"./icons/icon-globe-europe-africa.js"},{"name":"icon-globe-inverted-america","legacy":true,"path":"./icons/icon-globe-inverted-america.js"},{"name":"icon-globe-inverted-asia","legacy":true,"path":"./icons/icon-globe-inverted-asia.js"},{"name":"icon-globe-inverted-europe-africa","legacy":true,"path":"./icons/icon-globe-inverted-europe-africa.js"},{"name":"icon-globe","path":"./icons/icon-globe.js"},{"name":"icon-gps","path":"./icons/icon-gps.js"},{"name":"icon-graduate","path":"./icons/icon-graduate.js"},{"name":"icon-grid","path":"./icons/icon-grid.js"},{"name":"icon-hammer","path":"./icons/icon-hammer.js"},{"name":"icon-hand-active-alt","legacy":true,"path":"./icons/icon-hand-active-alt.js"},{"name":"icon-hand-active","path":"./icons/icon-hand-active.js"},{"name":"icon-hand-pointer-alt","legacy":true,"path":"./icons/icon-hand-pointer-alt.js"},{"name":"icon-hand-pointer","path":"./icons/icon-hand-pointer.js"},{"name":"icon-handshake","path":"./icons/icon-handshake.js"},{"name":"icon-handtool-alt","legacy":true,"path":"./icons/icon-handtool-alt.js"},{"name":"icon-handtool","path":"./icons/icon-handtool.js"},{"name":"icon-hard-drive-alt","legacy":true,"path":"./icons/icon-hard-drive-alt.js"},{"name":"icon-hard-drive","legacy":true,"path":"./icons/icon-hard-drive.js"},{"name":"icon-headphones","path":"./icons/icon-headphones.js"},{"name":"icon-headset","legacy":true,"path":"./icons/icon-headset.js"},{"name":"icon-hearts","path":"./icons/icon-hearts.js"},{"name":"icon-height","path":"./icons/icon-height.js"},{"name":"icon-help-alt","path":"./icons/icon-help-alt.js"},{"name":"icon-help","path":"./icons/icon-help.js"},{"name":"icon-home","path":"./icons/icon-home.js"},{"name":"icon-hourglass","path":"./icons/icon-hourglass.js"},{"name":"icon-imac","legacy":true,"path":"./icons/icon-imac.js"},{"name":"icon-inbox-full","legacy":true,"path":"./icons/icon-inbox-full.js"},{"name":"icon-inbox","path":"./icons/icon-inbox.js"},{"name":"icon-indent","path":"./icons/icon-indent.js"},{"name":"icon-infinity","path":"./icons/icon-infinity.js"},{"name":"icon-info","path":"./icons/icon-info.js"},{"name":"icon-invoice","legacy":true,"path":"./icons/icon-invoice.js"},{"name":"icon-ipad","legacy":true,"path":"./icons/icon-ipad.js"},{"name":"icon-iphone","legacy":true,"path":"./icons/icon-iphone.js"},{"name":"icon-item-arrangement","legacy":true,"path":"./icons/icon-item-arrangement.js"},{"name":"icon-junk","path":"./icons/icon-junk.js"},{"name":"icon-key","path":"./icons/icon-key.js"},{"name":"icon-keyboard","path":"./icons/icon-keyboard.js"},{"name":"icon-lab","path":"./icons/icon-lab.js"},{"name":"icon-laptop","path":"./icons/icon-laptop.js"},{"name":"icon-layers-alt","legacy":true,"path":"./icons/icon-layers-alt.js"},{"name":"icon-layers","path":"./icons/icon-layers.js"},{"name":"icon-layout","path":"./icons/icon-layout.js"},{"name":"icon-left-double-arrow","path":"./icons/icon-left-double-arrow.js"},{"name":"icon-legal","path":"./icons/icon-legal.js"},{"name":"icon-lense","legacy":true,"path":"./icons/icon-lense.js"},{"name":"icon-library","path":"./icons/icon-library.js"},{"name":"icon-light-down","path":"./icons/icon-light-down.js"},{"name":"icon-light-up","path":"./icons/icon-light-up.js"},{"name":"icon-lightning","path":"./icons/icon-lightning.js"},{"name":"icon-link","path":"./icons/icon-link.js"},{"name":"icon-list","path":"./icons/icon-list.js"},{"name":"icon-load","legacy":true,"path":"./icons/icon-load.js"},{"name":"icon-loading","legacy":true,"path":"./icons/icon-loading.js"},{"name":"icon-location-nearby","path":"./icons/icon-location-nearby.js"},{"name":"icon-lock","path":"./icons/icon-lock.js"},{"name":"icon-log-out","path":"./icons/icon-log-out.js"},{"name":"icon-logout","legacy":true,"path":"./icons/icon-logout.js"},{"name":"icon-loupe","legacy":true,"path":"./icons/icon-loupe.js"},{"name":"icon-magnet","path":"./icons/icon-magnet.js"},{"name":"icon-mailbox","path":"./icons/icon-mailbox.js"},{"name":"icon-map-alt","path":"./icons/icon-map-alt.js"},{"name":"icon-map-location","legacy":true,"path":"./icons/icon-map-location.js"},{"name":"icon-map-marker","path":"./icons/icon-map-marker.js"},{"name":"icon-map","path":"./icons/icon-map.js"},{"name":"icon-medal","path":"./icons/icon-medal.js"},{"name":"icon-medical-emergency","path":"./icons/icon-medical-emergency.js"},{"name":"icon-medicine","path":"./icons/icon-medicine.js"},{"name":"icon-meeting","legacy":true,"path":"./icons/icon-meeting.js"},{"name":"icon-megaphone","path":"./icons/icon-megaphone.js"},{"name":"icon-merge","path":"./icons/icon-merge.js"},{"name":"icon-message-open","path":"./icons/icon-message-open.js"},{"name":"icon-message-unopened","legacy":true,"path":"./icons/icon-message-unopened.js"},{"name":"icon-message","path":"./icons/icon-message.js"},{"name":"icon-microscope","path":"./icons/icon-microscope.js"},{"name":"icon-mindmap","legacy":true,"path":"./icons/icon-mindmap.js"},{"name":"icon-mobile","path":"./icons/icon-mobile.js"},{"name":"icon-mountain","path":"./icons/icon-mountain.js"},{"name":"icon-mouse-cursor","path":"./icons/icon-mouse-cursor.js"},{"name":"icon-mouse","path":"./icons/icon-mouse.js"},{"name":"icon-movie-alt","path":"./icons/icon-movie-alt.js"},{"name":"icon-movie","path":"./icons/icon-movie.js"},{"name":"icon-multiple-credit-cards","path":"./icons/icon-multiple-credit-cards.js"},{"name":"icon-music","path":"./icons/icon-music.js"},{"name":"icon-name-badge","legacy":true,"path":"./icons/icon-name-badge.js"},{"name":"icon-navigation-bottom","legacy":true,"path":"./icons/icon-navigation-bottom.js"},{"name":"icon-navigation-down","legacy":true,"path":"./icons/icon-navigation-down.js"},{"name":"icon-navigation-first","legacy":true,"path":"./icons/icon-navigation-first.js"},{"name":"icon-navigation-horizontal","legacy":true,"path":"./icons/icon-navigation-horizontal.js"},{"name":"icon-navigation-last","legacy":true,"path":"./icons/icon-navigation-last.js"},{"name":"icon-navigation-left","legacy":true,"path":"./icons/icon-navigation-left.js"},{"name":"icon-navigation-right","legacy":true,"path":"./icons/icon-navigation-right.js"},{"name":"icon-navigation-road","legacy":true,"path":"./icons/icon-navigation-road.js"},{"name":"icon-navigation-up","legacy":true,"path":"./icons/icon-navigation-up.js"},{"name":"icon-navigation-vertical","legacy":true,"path":"./icons/icon-navigation-vertical.js"},{"name":"icon-navigation","legacy":true,"path":"./icons/icon-navigation.js"},{"name":"icon-navigational-arrow","path":"./icons/icon-navigational-arrow.js"},{"name":"icon-network-alt","path":"./icons/icon-network-alt.js"},{"name":"icon-newspaper-alt","legacy":true,"path":"./icons/icon-newspaper-alt.js"},{"name":"icon-newspaper","path":"./icons/icon-newspaper.js"},{"name":"icon-next-media","legacy":true,"path":"./icons/icon-next-media.js"},{"name":"icon-next","legacy":true,"path":"./icons/icon-next.js"},{"name":"icon-nodes","legacy":true,"path":"./icons/icon-nodes.js"},{"name":"icon-notepad-alt","legacy":true,"path":"./icons/icon-notepad-alt.js"},{"name":"icon-notepad","path":"./icons/icon-notepad.js"},{"name":"icon-old-key","path":"./icons/icon-old-key.js"},{"name":"icon-old-phone","legacy":true,"path":"./icons/icon-old-phone.js"},{"name":"icon-operator","path":"./icons/icon-operator.js"},{"name":"icon-ordered-list","path":"./icons/icon-ordered-list.js"},{"name":"icon-out","path":"./icons/icon-out.js"},{"name":"icon-outbox","legacy":true,"path":"./icons/icon-outbox.js"},{"name":"icon-outdent","path":"./icons/icon-outdent.js"},{"name":"icon-page-add","path":"./icons/icon-page-add.js"},{"name":"icon-page-down","path":"./icons/icon-page-down.js"},{"name":"icon-page-remove","path":"./icons/icon-page-remove.js"},{"name":"icon-page-restricted","path":"./icons/icon-page-restricted.js"},{"name":"icon-page-up","path":"./icons/icon-page-up.js"},{"name":"icon-paint-roller","legacy":true,"path":"./icons/icon-paint-roller.js"},{"name":"icon-palette","path":"./icons/icon-palette.js"},{"name":"icon-panel-show","path":"./icons/icon-panel-show.js"},{"name":"icon-pannel-close","path":"./icons/icon-pannel-close.js"},{"name":"icon-paper-bag","legacy":true,"path":"./icons/icon-paper-bag.js"},{"name":"icon-paper-plane-alt","path":"./icons/icon-paper-plane-alt.js"},{"name":"icon-paper-plane","path":"./icons/icon-paper-plane.js"},{"name":"icon-partly-cloudy","path":"./icons/icon-partly-cloudy.js"},{"name":"icon-paste-in","legacy":true,"path":"./icons/icon-paste-in.js"},{"name":"icon-pause","path":"./icons/icon-pause.js"},{"name":"icon-pc","legacy":true,"path":"./icons/icon-pc.js"},{"name":"icon-people-alt-2","legacy":true,"path":"./icons/icon-people-alt-2.js"},{"name":"icon-people-alt","legacy":true,"path":"./icons/icon-people-alt.js"},{"name":"icon-people-female","legacy":true,"path":"./icons/icon-people-female.js"},{"name":"icon-people","path":"./icons/icon-people.js"},{"name":"icon-phone-ring","path":"./icons/icon-phone-ring.js"},{"name":"icon-phone","path":"./icons/icon-phone.js"},{"name":"icon-photo-album","path":"./icons/icon-photo-album.js"},{"name":"icon-picture","path":"./icons/icon-picture.js"},{"name":"icon-pictures-alt-2","path":"./icons/icon-pictures-alt-2.js"},{"name":"icon-pictures-alt","legacy":true,"path":"./icons/icon-pictures-alt.js"},{"name":"icon-pictures","path":"./icons/icon-pictures.js"},{"name":"icon-pie-chart","path":"./icons/icon-pie-chart.js"},{"name":"icon-piggy-bank","path":"./icons/icon-piggy-bank.js"},{"name":"icon-pin-location","path":"./icons/icon-pin-location.js"},{"name":"icon-plane","path":"./icons/icon-plane.js"},{"name":"icon-planet","legacy":true,"path":"./icons/icon-planet.js"},{"name":"icon-play","path":"./icons/icon-play.js"},{"name":"icon-playing-cards","legacy":true,"path":"./icons/icon-playing-cards.js"},{"name":"icon-playlist","path":"./icons/icon-playlist.js"},{"name":"icon-plugin","path":"./icons/icon-plugin.js"},{"name":"icon-podcast","path":"./icons/icon-podcast.js"},{"name":"icon-poll","legacy":true,"path":"./icons/icon-poll.js"},{"name":"icon-post-it","path":"./icons/icon-post-it.js"},{"name":"icon-power-outlet","legacy":true,"path":"./icons/icon-power-outlet.js"},{"name":"icon-power","path":"./icons/icon-power.js"},{"name":"icon-presentation","path":"./icons/icon-presentation.js"},{"name":"icon-previous-media","path":"./icons/icon-previous-media.js"},{"name":"icon-previous","path":"./icons/icon-previous.js"},{"name":"icon-price-dollar","legacy":true,"path":"./icons/icon-price-dollar.js"},{"name":"icon-price-euro","legacy":true,"path":"./icons/icon-price-euro.js"},{"name":"icon-price-pound","legacy":true,"path":"./icons/icon-price-pound.js"},{"name":"icon-print","path":"./icons/icon-print.js"},{"name":"icon-printer-alt","legacy":true,"path":"./icons/icon-printer-alt.js"},{"name":"icon-projector","path":"./icons/icon-projector.js"},{"name":"icon-pulse","path":"./icons/icon-pulse.js"},{"name":"icon-pushpin","path":"./icons/icon-pushpin.js"},{"name":"icon-qr-code","path":"./icons/icon-qr-code.js"},{"name":"icon-quote","path":"./icons/icon-quote.js"},{"name":"icon-radio-alt","path":"./icons/icon-radio-alt.js"},{"name":"icon-radio-receiver","path":"./icons/icon-radio-receiver.js"},{"name":"icon-radio","path":"./icons/icon-radio.js"},{"name":"icon-rain","path":"./icons/icon-rain.js"},{"name":"icon-rate","legacy":true,"path":"./icons/icon-rate.js"},{"name":"icon-re-post","path":"./icons/icon-re-post.js"},{"name":"icon-readonly","legacy":true,"path":"./icons/icon-readonly.js"},{"name":"icon-receipt-alt","path":"./icons/icon-receipt-alt.js"},{"name":"icon-reception","path":"./icons/icon-reception.js"},{"name":"icon-record","legacy":true,"path":"./icons/icon-record.js"},{"name":"icon-redo","path":"./icons/icon-redo.js"},{"name":"icon-refresh","path":"./icons/icon-refresh.js"},{"name":"icon-remote","legacy":true,"path":"./icons/icon-remote.js"},{"name":"icon-remove","path":"./icons/icon-remove.js"},{"name":"icon-repeat-one","path":"./icons/icon-repeat-one.js"},{"name":"icon-repeat","path":"./icons/icon-repeat.js"},{"name":"icon-reply-arrow","path":"./icons/icon-reply-arrow.js"},{"name":"icon-return-to-top","legacy":true,"path":"./icons/icon-return-to-top.js"},{"name":"icon-right-double-arrow","legacy":true,"path":"./icons/icon-right-double-arrow.js"},{"name":"icon-roadsign","legacy":true,"path":"./icons/icon-roadsign.js"},{"name":"icon-rocket","path":"./icons/icon-rocket.js"},{"name":"icon-rss","path":"./icons/icon-rss.js"},{"name":"icon-ruler-alt","path":"./icons/icon-ruler-alt.js"},{"name":"icon-ruler","path":"./icons/icon-ruler.js"},{"name":"icon-satellite-dish","path":"./icons/icon-satellite-dish.js"},{"name":"icon-save","path":"./icons/icon-save.js"},{"name":"icon-scan","path":"./icons/icon-scan.js"},{"name":"icon-school","path":"./icons/icon-school.js"},{"name":"icon-screensharing","path":"./icons/icon-screensharing.js"},{"name":"icon-script-alt","legacy":true,"path":"./icons/icon-script-alt.js"},{"name":"icon-script","path":"./icons/icon-script.js"},{"name":"icon-scull","path":"./icons/icon-scull.js"},{"name":"icon-search","path":"./icons/icon-search.js"},{"name":"icon-sensor","path":"./icons/icon-sensor.js"},{"name":"icon-server-alt","legacy":true,"path":"./icons/icon-server-alt.js"},{"name":"icon-server","path":"./icons/icon-server.js"},{"name":"icon-settings-alt","legacy":true,"path":"./icons/icon-settings-alt.js"},{"name":"icon-settings","path":"./icons/icon-settings.js"},{"name":"icon-share-alt","path":"./icons/icon-share-alt.js"},{"name":"icon-share","path":"./icons/icon-share.js"},{"name":"icon-sharing-iphone","path":"./icons/icon-sharing-iphone.js"},{"name":"icon-shield","path":"./icons/icon-shield.js"},{"name":"icon-shift","path":"./icons/icon-shift.js"},{"name":"icon-shipping-box","path":"./icons/icon-shipping-box.js"},{"name":"icon-shipping","path":"./icons/icon-shipping.js"},{"name":"icon-shoe","path":"./icons/icon-shoe.js"},{"name":"icon-shopping-basket-alt-2","legacy":true,"path":"./icons/icon-shopping-basket-alt-2.js"},{"name":"icon-shopping-basket-alt","path":"./icons/icon-shopping-basket-alt.js"},{"name":"icon-shopping-basket","path":"./icons/icon-shopping-basket.js"},{"name":"icon-shuffle","path":"./icons/icon-shuffle.js"},{"name":"icon-sience","path":"./icons/icon-sience.js"},{"name":"icon-single-note","path":"./icons/icon-single-note.js"},{"name":"icon-sitemap","legacy":true,"path":"./icons/icon-sitemap.js"},{"name":"icon-sleep","path":"./icons/icon-sleep.js"},{"name":"icon-slideshow","legacy":true,"path":"./icons/icon-slideshow.js"},{"name":"icon-smiley-inverted","legacy":true,"path":"./icons/icon-smiley-inverted.js"},{"name":"icon-smiley","path":"./icons/icon-smiley.js"},{"name":"icon-snow","path":"./icons/icon-snow.js"},{"name":"icon-sound-low","path":"./icons/icon-sound-low.js"},{"name":"icon-sound-medium","legacy":true,"path":"./icons/icon-sound-medium.js"},{"name":"icon-sound-off","path":"./icons/icon-sound-off.js"},{"name":"icon-sound-waves","path":"./icons/icon-sound-waves.js"},{"name":"icon-sound","path":"./icons/icon-sound.js"},{"name":"icon-spades","path":"./icons/icon-spades.js"},{"name":"icon-speaker","path":"./icons/icon-speaker.js"},{"name":"icon-speed-gauge","path":"./icons/icon-speed-gauge.js"},{"name":"icon-split","path":"./icons/icon-split.js"},{"name":"icon-sprout","path":"./icons/icon-sprout.js"},{"name":"icon-squiggly-line","legacy":true,"path":"./icons/icon-squiggly-line.js"},{"name":"icon-ssd","legacy":true,"path":"./icons/icon-ssd.js"},{"name":"icon-stacked-disks","legacy":true,"path":"./icons/icon-stacked-disks.js"},{"name":"icon-stamp","legacy":true,"path":"./icons/icon-stamp.js"},{"name":"icon-stop-alt","path":"./icons/icon-stop-alt.js"},{"name":"icon-stop-hand","legacy":true,"path":"./icons/icon-stop-hand.js"},{"name":"icon-stop","path":"./icons/icon-stop.js"},{"name":"icon-store","path":"./icons/icon-store.js"},{"name":"icon-stream","legacy":true,"path":"./icons/icon-stream.js"},{"name":"icon-sunny","path":"./icons/icon-sunny.js"},{"name":"icon-sweatshirt","legacy":true,"path":"./icons/icon-sweatshirt.js"},{"name":"icon-sync","path":"./icons/icon-sync.js"},{"name":"icon-t-shirt","path":"./icons/icon-t-shirt.js"},{"name":"icon-tab-key","path":"./icons/icon-tab-key.js"},{"name":"icon-tag","path":"./icons/icon-tag.js"},{"name":"icon-tags","path":"./icons/icon-tags.js"},{"name":"icon-takeaway-cup","legacy":true,"path":"./icons/icon-takeaway-cup.js"},{"name":"icon-target","path":"./icons/icon-target.js"},{"name":"icon-temperatrure-alt","path":"./icons/icon-temperatrure-alt.js"},{"name":"icon-temperature","path":"./icons/icon-temperature.js"},{"name":"icon-terminal","path":"./icons/icon-terminal.js"},{"name":"icon-theater","path":"./icons/icon-theater.js"},{"name":"icon-thumb-down","path":"./icons/icon-thumb-down.js"},{"name":"icon-thumb-up","path":"./icons/icon-thumb-up.js"},{"name":"icon-thumbnail-list","path":"./icons/icon-thumbnail-list.js"},{"name":"icon-thumbnails-small","path":"./icons/icon-thumbnails-small.js"},{"name":"icon-thumbnails","path":"./icons/icon-thumbnails.js"},{"name":"icon-ticket","path":"./icons/icon-ticket.js"},{"name":"icon-time","path":"./icons/icon-time.js"},{"name":"icon-timer","path":"./icons/icon-timer.js"},{"name":"icon-tools","legacy":true,"path":"./icons/icon-tools.js"},{"name":"icon-top","legacy":true,"path":"./icons/icon-top.js"},{"name":"icon-traffic-alt","legacy":true,"path":"./icons/icon-traffic-alt.js"},{"name":"icon-trafic","path":"./icons/icon-trafic.js"},{"name":"icon-train","path":"./icons/icon-train.js"},{"name":"icon-trash-alt-2","legacy":true,"path":"./icons/icon-trash-alt-2.js"},{"name":"icon-trash-alt","legacy":true,"path":"./icons/icon-trash-alt.js"},{"name":"icon-trash","path":"./icons/icon-trash.js"},{"name":"icon-tree","path":"./icons/icon-tree.js"},{"name":"icon-trophy","path":"./icons/icon-trophy.js"},{"name":"icon-truck","path":"./icons/icon-truck.js"},{"name":"icon-tv-old","path":"./icons/icon-tv-old.js"},{"name":"icon-tv","path":"./icons/icon-tv.js"},{"name":"icon-umb-content","legacy":true,"path":"./icons/icon-umb-content.js"},{"name":"icon-umb-developer","legacy":true,"path":"./icons/icon-umb-developer.js"},{"name":"icon-umb-media","legacy":true,"path":"./icons/icon-umb-media.js"},{"name":"icon-umb-settings","legacy":true,"path":"./icons/icon-umb-settings.js"},{"name":"icon-umb-users","legacy":true,"path":"./icons/icon-umb-users.js"},{"name":"icon-umbrella","path":"./icons/icon-umbrella.js"},{"name":"icon-undo","path":"./icons/icon-undo.js"},{"name":"icon-unlocked","path":"./icons/icon-unlocked.js"},{"name":"icon-untitled","legacy":true,"path":"./icons/icon-untitled.js"},{"name":"icon-usb-connector","legacy":true,"path":"./icons/icon-usb-connector.js"},{"name":"icon-usb","path":"./icons/icon-usb.js"},{"name":"icon-user-female","legacy":true,"path":"./icons/icon-user-female.js"},{"name":"icon-user-females-alt","legacy":true,"path":"./icons/icon-user-females-alt.js"},{"name":"icon-user-females","legacy":true,"path":"./icons/icon-user-females.js"},{"name":"icon-user-glasses","legacy":true,"path":"./icons/icon-user-glasses.js"},{"name":"icon-user","path":"./icons/icon-user.js"},{"name":"icon-users-alt","legacy":true,"path":"./icons/icon-users-alt.js"},{"name":"icon-users","path":"./icons/icon-users.js"},{"name":"icon-utilities","path":"./icons/icon-utilities.js"},{"name":"icon-vcard","path":"./icons/icon-vcard.js"},{"name":"icon-video","path":"./icons/icon-video.js"},{"name":"icon-voice","path":"./icons/icon-voice.js"},{"name":"icon-wall-plug","path":"./icons/icon-wall-plug.js"},{"name":"icon-wallet","path":"./icons/icon-wallet.js"},{"name":"icon-wand","path":"./icons/icon-wand.js"},{"name":"icon-webhook","path":"./icons/icon-webhook.js"},{"name":"icon-weight","path":"./icons/icon-weight.js"},{"name":"icon-width","path":"./icons/icon-width.js"},{"name":"icon-wifi","path":"./icons/icon-wifi.js"},{"name":"icon-window-popin","path":"./icons/icon-window-popin.js"},{"name":"icon-window-sizes","path":"./icons/icon-window-sizes.js"},{"name":"icon-wine-glass","path":"./icons/icon-wine-glass.js"},{"name":"icon-wrench","path":"./icons/icon-wrench.js"},{"name":"icon-wrong","path":"./icons/icon-wrong.js"},{"name":"icon-zip","path":"./icons/icon-zip.js"},{"name":"icon-zom-out","legacy":true,"path":"./icons/icon-zom-out.js"},{"name":"icon-zoom-in","path":"./icons/icon-zoom-in.js"},{"name":"icon-zoom-out","path":"./icons/icon-zoom-out.js"},{"name":"icon-star","path":"./icons/icon-star.js"},{"name":"icon-database","path":"./icons/icon-database.js"},{"name":"icon-azure","path":"./icons/icon-azure.js"},{"name":"icon-facebook","path":"./icons/icon-facebook.js"},{"name":"icon-gitbook","path":"./icons/icon-gitbook.js"},{"name":"icon-github","path":"./icons/icon-github.js"},{"name":"icon-gitlab","path":"./icons/icon-gitlab.js"},{"name":"icon-google","path":"./icons/icon-google.js"},{"name":"icon-linkedin","path":"./icons/icon-linkedin.js"},{"name":"icon-mastodon","path":"./icons/icon-mastodon.js"},{"name":"icon-microsoft","path":"./icons/icon-microsoft.js"},{"name":"icon-twitter-x","path":"./icons/icon-twitter-x.js"},{"name":"icon-umbraco","path":"./icons/icon-umbraco.js"},{"name":"icon-application-error","legacy":true,"path":"./icons/icon-application-error.js"},{"name":"icon-art-easel","legacy":true,"path":"./icons/icon-art-easel.js"},{"name":"icon-article","legacy":true,"path":"./icons/icon-article.js"},{"name":"icon-auction-hammer","legacy":true,"path":"./icons/icon-auction-hammer.js"},{"name":"icon-baby-stroller","legacy":true,"path":"./icons/icon-baby-stroller.js"},{"name":"icon-badge-count","legacy":true,"path":"./icons/icon-badge-count.js"},{"name":"icon-ball","legacy":true,"path":"./icons/icon-ball.js"},{"name":"icon-band-aid","legacy":true,"path":"./icons/icon-band-aid.js"},{"name":"icon-bill-dollar","legacy":true,"path":"./icons/icon-bill-dollar.js"},{"name":"icon-bill-euro","legacy":true,"path":"./icons/icon-bill-euro.js"},{"name":"icon-bill-pound","legacy":true,"path":"./icons/icon-bill-pound.js"},{"name":"icon-bill-yen","legacy":true,"path":"./icons/icon-bill-yen.js"},{"name":"icon-bill","legacy":true,"path":"./icons/icon-bill.js"},{"name":"icon-billboard","legacy":true,"path":"./icons/icon-billboard.js"},{"name":"icon-bills-dollar","legacy":true,"path":"./icons/icon-bills-dollar.js"},{"name":"icon-bills-euro","legacy":true,"path":"./icons/icon-bills-euro.js"},{"name":"icon-bills-pound","legacy":true,"path":"./icons/icon-bills-pound.js"},{"name":"icon-bills-yen","legacy":true,"path":"./icons/icon-bills-yen.js"},{"name":"icon-bills","legacy":true,"path":"./icons/icon-bills.js"},{"name":"icon-binoculars","legacy":true,"path":"./icons/icon-binoculars.js"},{"name":"icon-blueprint","legacy":true,"path":"./icons/icon-blueprint.js"},{"name":"icon-bomb","legacy":true,"path":"./icons/icon-bomb.js"},{"name":"icon-cash-register","legacy":true,"path":"./icons/icon-cash-register.js"},{"name":"icon-checkbox-dotted-active","legacy":true,"path":"./icons/icon-checkbox-dotted-active.js"},{"name":"icon-chess","legacy":true,"path":"./icons/icon-chess.js"},{"name":"icon-circus","legacy":true,"path":"./icons/icon-circus.js"},{"name":"icon-clothes-hanger","legacy":true,"path":"./icons/icon-clothes-hanger.js"},{"name":"icon-coin-dollar","legacy":true,"path":"./icons/icon-coin-dollar.js"},{"name":"icon-coin-pound","legacy":true,"path":"./icons/icon-coin-pound.js"},{"name":"icon-coin","legacy":true,"path":"./icons/icon-coin.js"},{"name":"icon-coins-dollar-alt","legacy":true,"path":"./icons/icon-coins-dollar-alt.js"},{"name":"icon-coins-dollar","legacy":true,"path":"./icons/icon-coins-dollar.js"},{"name":"icon-coins-euro-alt","legacy":true,"path":"./icons/icon-coins-euro-alt.js"},{"name":"icon-coins-euro","legacy":true,"path":"./icons/icon-coins-euro.js"},{"name":"icon-coins-pound-alt","legacy":true,"path":"./icons/icon-coins-pound-alt.js"},{"name":"icon-coins-pound","legacy":true,"path":"./icons/icon-coins-pound.js"},{"name":"icon-coins-yen-alt","legacy":true,"path":"./icons/icon-coins-yen-alt.js"},{"name":"icon-coins-yen","legacy":true,"path":"./icons/icon-coins-yen.js"},{"name":"icon-comb","legacy":true,"path":"./icons/icon-comb.js"},{"name":"icon-desk","legacy":true,"path":"./icons/icon-desk.js"},{"name":"icon-dollar-bag","legacy":true,"path":"./icons/icon-dollar-bag.js"},{"name":"icon-eject","legacy":true,"path":"./icons/icon-eject.js"},{"name":"icon-euro-bag","legacy":true,"path":"./icons/icon-euro-bag.js"},{"name":"icon-exit-fullscreen","legacy":true,"path":"./icons/icon-exit-fullscreen.js"},{"name":"icon-female-symbol","legacy":true,"path":"./icons/icon-female-symbol.js"},{"name":"icon-filter-arrows","legacy":true,"path":"./icons/icon-filter-arrows.js"},{"name":"icon-firewall","legacy":true,"path":"./icons/icon-firewall.js"},{"name":"icon-folder-open","legacy":true,"path":"./icons/icon-folder-open.js"},{"name":"icon-folder-outline","legacy":true,"path":"./icons/icon-folder-outline.js"},{"name":"icon-handprint","legacy":true,"path":"./icons/icon-handprint.js"},{"name":"icon-hat","legacy":true,"path":"./icons/icon-hat.js"},{"name":"icon-hd","legacy":true,"path":"./icons/icon-hd.js"},{"name":"icon-inactive-line","legacy":true,"path":"./icons/icon-inactive-line.js"},{"name":"icon-keychain","legacy":true,"path":"./icons/icon-keychain.js"},{"name":"icon-keyhole","legacy":true,"path":"./icons/icon-keyhole.js"},{"name":"icon-lightbulb-active","legacy":true,"path":"./icons/icon-lightbulb-active.js"},{"name":"icon-lightbulb","legacy":true,"path":"./icons/icon-lightbulb.js"},{"name":"icon-linux-tux","legacy":true,"path":"./icons/icon-linux-tux.js"},{"name":"icon-locate","legacy":true,"path":"./icons/icon-locate.js"},{"name":"icon-location-near-me","legacy":true,"path":"./icons/icon-location-near-me.js"},{"name":"icon-male-and-female","legacy":true,"path":"./icons/icon-male-and-female.js"},{"name":"icon-male-symbol","legacy":true,"path":"./icons/icon-male-symbol.js"},{"name":"icon-molecular-network","legacy":true,"path":"./icons/icon-molecular-network.js"},{"name":"icon-molecular","legacy":true,"path":"./icons/icon-molecular.js"},{"name":"icon-multiple-windows","legacy":true,"path":"./icons/icon-multiple-windows.js"},{"name":"icon-navigation-top","legacy":true,"path":"./icons/icon-navigation-top.js"},{"name":"icon-os-x","legacy":true,"path":"./icons/icon-os-x.js"},{"name":"icon-pants","legacy":true,"path":"./icons/icon-pants.js"},{"name":"icon-parachute-drop","legacy":true,"path":"./icons/icon-parachute-drop.js"},{"name":"icon-parental-control","legacy":true,"path":"./icons/icon-parental-control.js"},{"name":"icon-path","legacy":true,"path":"./icons/icon-path.js"},{"name":"icon-piracy","legacy":true,"path":"./icons/icon-piracy.js"},{"name":"icon-poker-chip","legacy":true,"path":"./icons/icon-poker-chip.js"},{"name":"icon-pound-bag","legacy":true,"path":"./icons/icon-pound-bag.js"},{"name":"icon-price-yen","legacy":true,"path":"./icons/icon-price-yen.js"},{"name":"icon-receipt-dollar","legacy":true,"path":"./icons/icon-receipt-dollar.js"},{"name":"icon-receipt-euro","legacy":true,"path":"./icons/icon-receipt-euro.js"},{"name":"icon-receipt-pound","legacy":true,"path":"./icons/icon-receipt-pound.js"},{"name":"icon-receipt-yen","legacy":true,"path":"./icons/icon-receipt-yen.js"},{"name":"icon-resize","legacy":true,"path":"./icons/icon-resize.js"},{"name":"icon-road","legacy":true,"path":"./icons/icon-road.js"},{"name":"icon-safe","legacy":true,"path":"./icons/icon-safe.js"},{"name":"icon-safedial","legacy":true,"path":"./icons/icon-safedial.js"},{"name":"icon-sandbox-toys","legacy":true,"path":"./icons/icon-sandbox-toys.js"},{"name":"icon-security-camera","legacy":true,"path":"./icons/icon-security-camera.js"},{"name":"icon-settings-alt-2","legacy":true,"path":"./icons/icon-settings-alt-2.js"},{"name":"icon-share-alt-2","legacy":true,"path":"./icons/icon-share-alt-2.js"},{"name":"icon-shorts","legacy":true,"path":"./icons/icon-shorts.js"},{"name":"icon-simcard","legacy":true,"path":"./icons/icon-simcard.js"},{"name":"icon-split-alt","legacy":true,"path":"./icons/icon-split-alt.js"},{"name":"icon-tab","legacy":true,"path":"./icons/icon-tab.js"},{"name":"icon-tactics","legacy":true,"path":"./icons/icon-tactics.js"},{"name":"icon-theif","legacy":true,"path":"./icons/icon-theif.js"},{"name":"icon-thought-bubble","legacy":true,"path":"./icons/icon-thought-bubble.js"},{"name":"icon-twitter","legacy":true,"path":"./icons/icon-twitter.js"},{"name":"icon-umb-contour","legacy":true,"path":"./icons/icon-umb-contour.js"},{"name":"icon-umb-deploy","legacy":true,"path":"./icons/icon-umb-deploy.js"},{"name":"icon-umb-members","legacy":true,"path":"./icons/icon-umb-members.js"},{"name":"icon-universal","legacy":true,"path":"./icons/icon-universal.js"},{"name":"icon-war","legacy":true,"path":"./icons/icon-war.js"},{"name":"icon-windows","legacy":true,"path":"./icons/icon-windows.js"},{"name":"icon-yen-bag","legacy":true,"path":"./icons/icon-yen-bag.js"}] \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-twitter.svg b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-twitter.svg index 02f6e8c48b..d332ef9a31 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-twitter.svg +++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/svgs/icon-twitter.svg @@ -1,5 +1,5 @@ - + + Twitter - + d="M21.543 7.104c.015.211.015.423.015.636 0 6.507-4.954 14.01-14.01 14.01v-.003A13.94 13.94 0 0 1 0 19.539a9.88 9.88 0 0 0 7.287-2.041 4.93 4.93 0 0 1-4.6-3.42 4.916 4.916 0 0 0 2.223-.084A4.926 4.926 0 0 1 .96 9.167v-.062a4.887 4.887 0 0 0 2.235.616A4.928 4.928 0 0 1 1.67 3.148 13.98 13.98 0 0 0 11.82 8.292a4.929 4.929 0 0 1 8.39-4.49 9.868 9.868 0 0 0 3.128-1.196 4.941 4.941 0 0 1-2.165 2.724A9.828 9.828 0 0 0 24 4.555a10.019 10.019 0 0 1-2.457 2.549z" /> From c77c8ee9373cca546f3721df860101afe9d9fc9e Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 17:13:56 +0200 Subject: [PATCH 131/134] take the TS source code off of @openid/appauth and compile it manually so that we can make it into a proper esmodule --- src/Umbraco.Web.UI.Client/package-lock.json | 596 +++++++++--------- src/Umbraco.Web.UI.Client/package.json | 15 +- .../src/external/base64-js/index.ts | 1 + .../src/external/openid/LICENSE | 176 ++++++ .../external/openid/authorization_request.ts | 122 ++++ .../openid/authorization_request_handler.ts | 161 +++++ .../external/openid/authorization_response.ts | 79 +++ .../authorization_service_configuration.ts | 81 +++ .../src/external/openid/crypto_utils.ts | 98 +++ .../src/external/openid/errors.ts | 24 + .../src/external/openid/flags.ts | 21 + .../src/external/openid/index.ts | 34 +- .../src/external/openid/logger.ts | 71 +++ .../src/external/openid/query_string_utils.ts | 64 ++ .../external/openid/redirect_based_handler.ts | 147 +++++ .../external/openid/revoke_token_request.ts | 73 +++ .../src/external/openid/storage.ts | 101 +++ .../src/external/openid/token_request.ts | 96 +++ .../external/openid/token_request_handler.ts | 88 +++ .../src/external/openid/token_response.ts | 137 ++++ .../src/external/openid/types.ts | 32 + .../src/external/openid/xhr.ts | 115 ++++ src/Umbraco.Web.UI.Client/tsconfig.json | 1 + 23 files changed, 2006 insertions(+), 327 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/external/base64-js/index.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/LICENSE create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/authorization_request.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/authorization_request_handler.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/authorization_response.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/authorization_service_configuration.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/crypto_utils.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/errors.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/flags.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/logger.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/query_string_utils.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/redirect_based_handler.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/revoke_token_request.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/storage.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/token_request.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/token_request_handler.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/token_response.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/types.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/openid/xhr.ts diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json index 865262002a..db9ee79f23 100644 --- a/src/Umbraco.Web.UI.Client/package-lock.json +++ b/src/Umbraco.Web.UI.Client/package-lock.json @@ -9,11 +9,11 @@ "version": "14.0.0-beta003", "license": "MIT", "dependencies": { - "@openid/appauth": "^1.3.1", "@types/dompurify": "^3.0.5", "@types/uuid": "^9.0.8", "@umbraco-ui/uui": "1.7.2", "@umbraco-ui/uui-css": "1.7.2", + "base64-js": "^1.5.1", "dompurify": "^3.0.9", "element-internals-polyfill": "^1.3.10", "lit": "^3.1.2", @@ -44,10 +44,10 @@ "@types/mocha": "^10.0.1", "@typescript-eslint/eslint-plugin": "^6.14.0", "@typescript-eslint/parser": "^7.1.0", - "@web/dev-server-esbuild": "^1.0.1", + "@web/dev-server-esbuild": "^1.0.2", "@web/dev-server-import-maps": "^0.2.0", "@web/dev-server-rollup": "^0.6.1", - "@web/test-runner": "^0.18.0", + "@web/test-runner": "^0.18.1", "@web/test-runner-playwright": "^0.11.0", "babel-loader": "^9.1.3", "eslint": "^8.56.0", @@ -68,9 +68,9 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "remark-gfm": "^3.0.1", - "rollup": "^4.12.0", - "rollup-plugin-esbuild": "^6.1.0", - "rollup-plugin-import-css": "^3.4.0", + "rollup": "^4.14.1", + "rollup-plugin-esbuild": "^6.1.1", + "rollup-plugin-import-css": "^3.5.0", "rollup-plugin-web-worker-loader": "^1.6.1", "simple-icons": "^11.11.0", "storybook": "^7.6.17", @@ -3343,19 +3343,6 @@ "lit-html": "^2.0.0 || ^3.0.0" } }, - "node_modules/@openid/appauth": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@openid/appauth/-/appauth-1.3.1.tgz", - "integrity": "sha512-e54kpi219wES2ijPzeHe1kMnT8VKH8YeTd1GAn9BzVBmutz3tBgcG1y8a4pziNr4vNjFnuD4W446Ua7ELnNDiA==", - "dependencies": { - "@types/base64-js": "^1.3.0", - "@types/jquery": "^3.5.5", - "base64-js": "^1.5.1", - "follow-redirects": "^1.13.3", - "form-data": "^4.0.0", - "opener": "^1.5.2" - } - }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -3382,52 +3369,60 @@ } }, "node_modules/@puppeteer/browsers": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.6.tgz", - "integrity": "sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.2.1.tgz", + "integrity": "sha512-QSXujx4d4ogDamQA8ckkkRieFzDgZEuZuGiey9G7CuDcbnX4iINKWxTPC5Br2AEzY9ICAvcndqgAUFMMKnS/Tw==", "dev": true, "dependencies": { "debug": "4.3.4", "extract-zip": "2.0.1", "progress": "2.0.3", - "proxy-agent": "6.3.0", - "tar-fs": "3.0.4", + "proxy-agent": "6.4.0", + "semver": "7.6.0", + "tar-fs": "3.0.5", "unbzip2-stream": "1.4.3", - "yargs": "17.7.1" + "yargs": "17.7.2" }, "bin": { "browsers": "lib/cjs/main-cli.js" }, "engines": { - "node": ">=16.3.0" - }, - "peerDependencies": { - "typescript": ">= 4.7.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=18" } }, - "node_modules/@puppeteer/browsers/node_modules/yargs": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", - "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "node_modules/@puppeteer/browsers/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" } }, + "node_modules/@puppeteer/browsers/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@puppeteer/browsers/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@radix-ui/number": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", @@ -4236,9 +4231,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", - "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.1.tgz", + "integrity": "sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==", "cpu": [ "arm" ], @@ -4249,9 +4244,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", - "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.1.tgz", + "integrity": "sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==", "cpu": [ "arm64" ], @@ -4262,9 +4257,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", - "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.1.tgz", + "integrity": "sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==", "cpu": [ "arm64" ], @@ -4275,9 +4270,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", - "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.1.tgz", + "integrity": "sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==", "cpu": [ "x64" ], @@ -4288,9 +4283,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", - "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.1.tgz", + "integrity": "sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==", "cpu": [ "arm" ], @@ -4301,9 +4296,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", - "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.1.tgz", + "integrity": "sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==", "cpu": [ "arm64" ], @@ -4314,9 +4309,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", - "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.1.tgz", + "integrity": "sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==", "cpu": [ "arm64" ], @@ -4326,10 +4321,23 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.1.tgz", + "integrity": "sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==", + "cpu": [ + "ppc64le" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", - "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.1.tgz", + "integrity": "sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==", "cpu": [ "riscv64" ], @@ -4339,10 +4347,23 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.1.tgz", + "integrity": "sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", - "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.1.tgz", + "integrity": "sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==", "cpu": [ "x64" ], @@ -4353,9 +4374,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", - "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.1.tgz", + "integrity": "sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==", "cpu": [ "x64" ], @@ -4366,9 +4387,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", - "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.1.tgz", + "integrity": "sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==", "cpu": [ "arm64" ], @@ -4379,9 +4400,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", - "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.1.tgz", + "integrity": "sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==", "cpu": [ "ia32" ], @@ -4392,9 +4413,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", - "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.1.tgz", + "integrity": "sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==", "cpu": [ "x64" ], @@ -5905,11 +5926,6 @@ "@babel/types": "^7.20.7" } }, - "node_modules/@types/base64-js": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/base64-js/-/base64-js-1.3.2.tgz", - "integrity": "sha512-Q2Xn2/vQHRGLRXhQ5+BSLwhHkR3JVflxVKywH0Q6fVoAiUE8fFYL2pE5/l2ZiOiBDfA8qUqRnSxln4G/NFz1Sg==" - }, "node_modules/@types/body-parser": { "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", @@ -6127,14 +6143,6 @@ "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/jquery": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.29.tgz", - "integrity": "sha512-oXQQC9X9MOPRrMhPHHOsXqeQDnWeCDT3PelUIg/Oy8FAbzSZtFHRjc7IpbfFVmpLtJ+UOoywpRsuO5Jxjybyeg==", - "dependencies": { - "@types/sizzle": "*" - } - }, "node_modules/@types/js-levenshtein": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@types/js-levenshtein/-/js-levenshtein-1.1.3.tgz", @@ -6368,11 +6376,6 @@ "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", "dev": true }, - "node_modules/@types/sizzle": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", - "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==" - }, "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", @@ -8213,15 +8216,15 @@ } }, "node_modules/@web/test-runner": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.0.tgz", - "integrity": "sha512-aAlQrdSqwCie1mxuSK5kM0RYDJZL4Q0Hd5LeXn1on3OtHLtgztL4dZzzNSuAWablR2/Vuve3ChwDDxmYSTqXRg==", + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.1.tgz", + "integrity": "sha512-jB/9vrpGVtcLY6/7sPpKpSheQ3wWY9P5aQcz2SK2gMHTq3gNpa51NAyec0Al7EFpHvJ1wKYTGRLB2gPyEoJeDg==", "dev": true, "dependencies": { "@web/browser-logs": "^0.4.0", "@web/config-loader": "^0.3.0", "@web/dev-server": "^0.4.0", - "@web/test-runner-chrome": "^0.15.0", + "@web/test-runner-chrome": "^0.16.0", "@web/test-runner-commands": "^0.9.0", "@web/test-runner-core": "^0.13.0", "@web/test-runner-mocha": "^0.9.0", @@ -8244,16 +8247,16 @@ } }, "node_modules/@web/test-runner-chrome": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.15.0.tgz", - "integrity": "sha512-ZqkTJGQ57FDz3lWw+9CKfHuTV64S9GzBy5+0siSQulEVPfGiTzpksx9DohtA3BCLXdbEq4OHg40/XIQJomlc9w==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.16.0.tgz", + "integrity": "sha512-Edc6Y49aVB6k18S5IOj9OCX3rEf8F3jptIu0p95+imqxmcutFEh1GNmlAk2bQGnXS0U6uVY7Xbf61fiaXUQqhg==", "dev": true, "dependencies": { "@web/test-runner-core": "^0.13.0", "@web/test-runner-coverage-v8": "^0.8.0", "async-mutex": "0.4.0", "chrome-launcher": "^0.15.0", - "puppeteer-core": "^20.0.0" + "puppeteer-core": "^22.0.0" }, "engines": { "node": ">=18.0.0" @@ -8488,9 +8491,9 @@ } }, "node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dev": true, "dependencies": { "debug": "^4.3.4" @@ -8916,7 +8919,8 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "node_modules/available-typed-arrays": { "version": "1.0.6", @@ -8946,9 +8950,9 @@ "dev": true }, "node_modules/b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", + "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", "dev": true }, "node_modules/babel-core": { @@ -9161,6 +9165,42 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/bare-events": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz", + "integrity": "sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==", + "dev": true, + "optional": true + }, + "node_modules/bare-fs": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.2.3.tgz", + "integrity": "sha512-amG72llr9pstfXOBOHve1WjiuKKAMnebcmMbPWDZ7BCevAoJLpugjuAPRsDINEyjT0a6tbaVx3DctkXIRbLuJw==", + "dev": true, + "optional": true, + "dependencies": { + "bare-events": "^2.0.0", + "bare-path": "^2.0.0", + "streamx": "^2.13.0" + } + }, + "node_modules/bare-os": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.2.1.tgz", + "integrity": "sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==", + "dev": true, + "optional": true + }, + "node_modules/bare-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.1.tgz", + "integrity": "sha512-OHM+iwRDRMDBsSW7kl3dO62JyHdBKO3B25FB9vNQBPcGHMo4+eA8Yj41Lfbk3pS/seDY+siNge0LdRTulAau/A==", + "dev": true, + "optional": true, + "dependencies": { + "bare-os": "^2.1.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -9181,9 +9221,9 @@ ] }, "node_modules/basic-ftp": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.4.tgz", - "integrity": "sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", "dev": true, "engines": { "node": ">=10.0.0" @@ -9704,12 +9744,14 @@ } }, "node_modules/chromium-bidi": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz", - "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==", + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.16.tgz", + "integrity": "sha512-IT5lnR44h/qZQ4GaCHvBxYIl4cQL2i9UvFyYeRyVdcpY04hx5H720HQfe/7Oz7ndxaYVLQFGpCO71J4X2Ye/Gw==", "dev": true, "dependencies": { - "mitt": "3.0.0" + "mitt": "3.0.1", + "urlpattern-polyfill": "10.0.0", + "zod": "3.22.4" }, "peerDependencies": { "devtools-protocol": "*" @@ -9914,6 +9956,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -10195,15 +10238,6 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, - "node_modules/cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "dev": true, - "dependencies": { - "node-fetch": "^2.6.12" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -10234,9 +10268,9 @@ "dev": true }, "node_modules/data-uri-to-buffer": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz", - "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", "dev": true, "engines": { "node": ">= 14" @@ -10423,6 +10457,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -10512,9 +10547,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1147663", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz", - "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==", + "version": "0.0.1262051", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1262051.tgz", + "integrity": "sha512-YJe4CT5SA8on3Spa+UDtNhEqtuV6Epwz3OZ4HQVLhlRccpZ9/PAYk0/cy/oKxFKRrZPBUPyxympQci4yWNWZ9g==", "dev": true }, "node_modules/diff": { @@ -12236,25 +12271,6 @@ "node": ">=0.4.0" } }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -12296,6 +12312,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -12546,52 +12563,20 @@ } }, "node_modules/get-uri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz", - "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", + "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", "dev": true, "dependencies": { "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^6.0.0", + "data-uri-to-buffer": "^6.0.2", "debug": "^4.3.4", - "fs-extra": "^8.1.0" + "fs-extra": "^11.2.0" }, "engines": { "node": ">= 14" } }, - "node_modules/get-uri/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/get-uri/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/get-uri/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/giget": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.1.tgz", @@ -12956,9 +12941,9 @@ } }, "node_modules/http-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", - "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, "dependencies": { "agent-base": "^7.1.0", @@ -12969,9 +12954,9 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", - "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", "dev": true, "dependencies": { "agent-base": "^7.0.2", @@ -13206,6 +13191,25 @@ "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==", "dev": true }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -14154,6 +14158,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, "node_modules/jscodeshift": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz", @@ -15775,6 +15785,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "engines": { "node": ">= 0.6" } @@ -15783,6 +15794,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -15864,9 +15876,9 @@ "dev": true }, "node_modules/mitt": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", - "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", "dev": true }, "node_modules/mkdirp": { @@ -16570,14 +16582,6 @@ "openapi": "bin/index.js" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "bin": { - "opener": "bin/opener-bin.js" - } - }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -16759,25 +16763,18 @@ } }, "node_modules/pac-resolver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz", - "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", "dev": true, "dependencies": { "degenerator": "^5.0.0", - "ip": "^1.1.8", "netmask": "^2.0.2" }, "engines": { "node": ">= 14" } }, - "node_modules/pac-resolver/node_modules/ip": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", - "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==", - "dev": true - }, "node_modules/pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", @@ -17244,19 +17241,19 @@ } }, "node_modules/proxy-agent": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.0.tgz", - "integrity": "sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", + "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", "dev": true, "dependencies": { "agent-base": "^7.0.2", "debug": "^4.3.4", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.3", "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.0", + "pac-proxy-agent": "^7.0.1", "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.1" + "socks-proxy-agent": "^8.0.2" }, "engines": { "node": ">= 14" @@ -17318,49 +17315,19 @@ } }, "node_modules/puppeteer-core": { - "version": "20.9.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.9.0.tgz", - "integrity": "sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==", + "version": "22.6.3", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.6.3.tgz", + "integrity": "sha512-YrTAak5zCTWVTnVaCK1b7FD1qFCCT9bSvQhLzamnIsJ57/tfuXiT8ZvPJR2SBfahyFTYFCcaZAd/Npow3lmDGA==", "dev": true, "dependencies": { - "@puppeteer/browsers": "1.4.6", - "chromium-bidi": "0.4.16", - "cross-fetch": "4.0.0", + "@puppeteer/browsers": "2.2.1", + "chromium-bidi": "0.5.16", "debug": "4.3.4", - "devtools-protocol": "0.0.1147663", - "ws": "8.13.0" + "devtools-protocol": "0.0.1262051", + "ws": "8.16.0" }, "engines": { - "node": ">=16.3.0" - }, - "peerDependencies": { - "typescript": ">= 4.7.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/puppeteer-core/node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">=18" } }, "node_modules/qs": { @@ -18073,9 +18040,9 @@ } }, "node_modules/rollup": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", - "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.1.tgz", + "integrity": "sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -18088,19 +18055,21 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.12.0", - "@rollup/rollup-android-arm64": "4.12.0", - "@rollup/rollup-darwin-arm64": "4.12.0", - "@rollup/rollup-darwin-x64": "4.12.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", - "@rollup/rollup-linux-arm64-gnu": "4.12.0", - "@rollup/rollup-linux-arm64-musl": "4.12.0", - "@rollup/rollup-linux-riscv64-gnu": "4.12.0", - "@rollup/rollup-linux-x64-gnu": "4.12.0", - "@rollup/rollup-linux-x64-musl": "4.12.0", - "@rollup/rollup-win32-arm64-msvc": "4.12.0", - "@rollup/rollup-win32-ia32-msvc": "4.12.0", - "@rollup/rollup-win32-x64-msvc": "4.12.0", + "@rollup/rollup-android-arm-eabi": "4.14.1", + "@rollup/rollup-android-arm64": "4.14.1", + "@rollup/rollup-darwin-arm64": "4.14.1", + "@rollup/rollup-darwin-x64": "4.14.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.14.1", + "@rollup/rollup-linux-arm64-gnu": "4.14.1", + "@rollup/rollup-linux-arm64-musl": "4.14.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.14.1", + "@rollup/rollup-linux-riscv64-gnu": "4.14.1", + "@rollup/rollup-linux-s390x-gnu": "4.14.1", + "@rollup/rollup-linux-x64-gnu": "4.14.1", + "@rollup/rollup-linux-x64-musl": "4.14.1", + "@rollup/rollup-win32-arm64-msvc": "4.14.1", + "@rollup/rollup-win32-ia32-msvc": "4.14.1", + "@rollup/rollup-win32-x64-msvc": "4.14.1", "fsevents": "~2.3.2" } }, @@ -18130,9 +18099,9 @@ "dev": true }, "node_modules/rollup-plugin-import-css": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-import-css/-/rollup-plugin-import-css-3.4.0.tgz", - "integrity": "sha512-997dJi7M7yYFn7tZer/UVt72mh4GH/hHBv48j3V4jsGSg+1DdYUXn+QB9SMMCNKF99pSv6QXmIOLTyeuijIsgg==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-import-css/-/rollup-plugin-import-css-3.5.0.tgz", + "integrity": "sha512-JOVow6n00qt2C/NnsqPmIjFOfxIAudwWqC5SaC84CodMGiMFaP1gPAdgnJ8g8hcG+P85TCYp2kI98grYCEt5pg==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.4" @@ -18559,26 +18528,26 @@ } }, "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", + "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", "dev": true, "dependencies": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 10.13.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, "node_modules/socks-proxy-agent": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", - "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", + "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", "dev": true, "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.1", "debug": "^4.3.4", "socks": "^2.7.1" }, @@ -18719,13 +18688,16 @@ "dev": true }, "node_modules/streamx": { - "version": "2.15.7", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.7.tgz", - "integrity": "sha512-NPEKS5+yjyo597eafGbKW5ujh7Sm6lDLHZQd/lRSz6S0VarpADBJItqfB4PnwpS+472oob1GX5cCY9vzfJpHUA==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", + "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==", "dev": true, "dependencies": { "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" } }, "node_modules/strict-event-emitter": { @@ -19000,14 +18972,17 @@ } }, "node_modules/tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz", + "integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==", "dev": true, "dependencies": { - "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0" } }, "node_modules/tar-stream": { @@ -20080,6 +20055,12 @@ "punycode": "^2.1.0" } }, + "node_modules/urlpattern-polyfill": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz", + "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==", + "dev": true + }, "node_modules/use-callback-ref": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.1.tgz", @@ -21133,6 +21114,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index 929d6ea64c..f6339dca28 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -88,6 +88,7 @@ "./webhook": "./dist-cms/packages/webhook/index.js", "./workspace": "./dist-cms/packages/core/workspace/index.js", "./external/backend-api": "./dist-cms/external/backend-api/index.js", + "./external/base64-js": "./dist-cms/external/base64-js/index.js", "./external/dompurify": "./dist-cms/external/dompurify/index.js", "./external/lit": "./dist-cms/external/lit/index.js", "./external/marked": "./dist-cms/external/marked/index.js", @@ -162,11 +163,11 @@ "npm": ">=10.1 < 11" }, "dependencies": { - "@openid/appauth": "^1.3.1", "@types/dompurify": "^3.0.5", "@types/uuid": "^9.0.8", "@umbraco-ui/uui": "1.7.2", "@umbraco-ui/uui-css": "1.7.2", + "base64-js": "^1.5.1", "dompurify": "^3.0.9", "element-internals-polyfill": "^1.3.10", "lit": "^3.1.2", @@ -197,10 +198,10 @@ "@types/mocha": "^10.0.1", "@typescript-eslint/eslint-plugin": "^6.14.0", "@typescript-eslint/parser": "^7.1.0", - "@web/dev-server-esbuild": "^1.0.1", + "@web/dev-server-esbuild": "^1.0.2", "@web/dev-server-import-maps": "^0.2.0", "@web/dev-server-rollup": "^0.6.1", - "@web/test-runner": "^0.18.0", + "@web/test-runner": "^0.18.1", "@web/test-runner-playwright": "^0.11.0", "babel-loader": "^9.1.3", "eslint": "^8.56.0", @@ -221,12 +222,12 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "remark-gfm": "^3.0.1", - "rollup": "^4.12.0", - "rollup-plugin-esbuild": "^6.1.0", - "rollup-plugin-import-css": "^3.4.0", + "rollup": "^4.14.1", + "rollup-plugin-esbuild": "^6.1.1", + "rollup-plugin-import-css": "^3.5.0", "rollup-plugin-web-worker-loader": "^1.6.1", - "storybook": "^7.6.17", "simple-icons": "^11.11.0", + "storybook": "^7.6.17", "tiny-glob": "^0.2.9", "tsc-alias": "^1.8.8", "typedoc": "^0.25.10", diff --git a/src/Umbraco.Web.UI.Client/src/external/base64-js/index.ts b/src/Umbraco.Web.UI.Client/src/external/base64-js/index.ts new file mode 100644 index 0000000000..d8a192ebba --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/base64-js/index.ts @@ -0,0 +1 @@ +export { fromByteArray } from 'base64-js'; diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/LICENSE b/src/Umbraco.Web.UI.Client/src/external/openid/LICENSE new file mode 100644 index 0000000000..d9a10c0d8e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/LICENSE @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/authorization_request.ts b/src/Umbraco.Web.UI.Client/src/external/openid/authorization_request.ts new file mode 100644 index 0000000000..668082c472 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/authorization_request.ts @@ -0,0 +1,122 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { DefaultCrypto } from './crypto_utils.js'; +import type { Crypto } from './crypto_utils.js'; +import { log } from './logger.js'; +import type { StringMap } from './types.js'; + +/** + * Represents an AuthorizationRequest as JSON. + */ +export interface AuthorizationRequestJson { + response_type: string; + client_id: string; + redirect_uri: string; + scope: string; + state?: string; + extras?: StringMap; + internal?: StringMap; +} + +/** + * Generates a cryptographically random new state. Useful for CSRF protection. + */ +const SIZE = 10; // 10 bytes +const newState = function (crypto: Crypto): string { + return crypto.generateRandom(SIZE); +}; + +/** + * Represents the AuthorizationRequest. + * For more information look at + * https://tools.ietf.org/html/rfc6749#section-4.1.1 + */ +export class AuthorizationRequest { + static RESPONSE_TYPE_TOKEN = 'token'; + static RESPONSE_TYPE_CODE = 'code'; + + // NOTE: + // Both redirect_uri and state are actually optional. + // However AppAuth is more opionionated, and requires you to use both. + + clientId: string; + redirectUri: string; + scope: string; + responseType: string; + state: string; + extras?: StringMap; + internal?: StringMap; + /** + * Constructs a new AuthorizationRequest. + * Use a `undefined` value for the `state` parameter, to generate a random + * state for CSRF protection. + */ + constructor( + request: AuthorizationRequestJson, + private crypto: Crypto = new DefaultCrypto(), + private usePkce: boolean = true, + ) { + this.clientId = request.client_id; + this.redirectUri = request.redirect_uri; + this.scope = request.scope; + this.responseType = request.response_type || AuthorizationRequest.RESPONSE_TYPE_CODE; + this.state = request.state || newState(crypto); + this.extras = request.extras; + // read internal properties if available + this.internal = request.internal; + } + + setupCodeVerifier(): Promise { + if (!this.usePkce) { + return Promise.resolve(); + } else { + const codeVerifier = this.crypto.generateRandom(128); + const challenge: Promise = this.crypto.deriveChallenge(codeVerifier).catch((error) => { + log('Unable to generate PKCE challenge. Not using PKCE', error); + return undefined; + }); + return challenge.then((result) => { + if (result) { + // keep track of the code used. + this.internal = this.internal || {}; + this.internal['code_verifier'] = codeVerifier; + this.extras = this.extras || {}; + this.extras['code_challenge'] = result; + // We always use S256. Plain is not good enough. + this.extras['code_challenge_method'] = 'S256'; + } + }); + } + } + + /** + * Serializes the AuthorizationRequest to a JavaScript Object. + */ + toJson(): Promise { + // Always make sure that the code verifier is setup when toJson() is called. + return this.setupCodeVerifier().then(() => { + return { + response_type: this.responseType, + client_id: this.clientId, + redirect_uri: this.redirectUri, + scope: this.scope, + state: this.state, + extras: this.extras, + internal: this.internal, + }; + }); + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/authorization_request_handler.ts b/src/Umbraco.Web.UI.Client/src/external/openid/authorization_request_handler.ts new file mode 100644 index 0000000000..90eb72b171 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/authorization_request_handler.ts @@ -0,0 +1,161 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { AuthorizationRequest } from './authorization_request.js'; +import type { AuthorizationError, AuthorizationResponse } from './authorization_response.js'; +import type { AuthorizationServiceConfiguration } from './authorization_service_configuration.js'; +import type { Crypto } from './crypto_utils.js'; +import { log } from './logger.js'; +import type { QueryStringUtils } from './query_string_utils.js'; +import type { StringMap } from './types.js'; + +/** + * This type represents a lambda that can take an AuthorizationRequest, + * and an AuthorizationResponse as arguments. + */ +export type AuthorizationListener = ( + request: AuthorizationRequest, + response: AuthorizationResponse | null, + error: AuthorizationError | null, +) => void; + +/** + * Represents a structural type holding both authorization request and response. + */ +export interface AuthorizationRequestResponse { + request: AuthorizationRequest; + response: AuthorizationResponse | null; + error: AuthorizationError | null; +} + +/** + * Authorization Service notifier. + * This manages the communication of the AuthorizationResponse to the 3p client. + */ +export class AuthorizationNotifier { + private listener: AuthorizationListener | null = null; + + setAuthorizationListener(listener: AuthorizationListener) { + this.listener = listener; + } + + /** + * The authorization complete callback. + */ + onAuthorizationComplete( + request: AuthorizationRequest, + response: AuthorizationResponse | null, + error: AuthorizationError | null, + ): void { + if (this.listener) { + // complete authorization request + this.listener(request, response, error); + } + } +} + +// TODO(rahulrav@): add more built in parameters. +/* built in parameters. */ +export const BUILT_IN_PARAMETERS = ['redirect_uri', 'client_id', 'response_type', 'state', 'scope']; + +/** + * Defines the interface which is capable of handling an authorization request + * using various methods (iframe / popup / different process etc.). + */ +export abstract class AuthorizationRequestHandler { + constructor( + public utils: QueryStringUtils, + protected crypto: Crypto, + ) {} + + // notifier send the response back to the client. + protected notifier: AuthorizationNotifier | null = null; + + /** + * A utility method to be able to build the authorization request URL. + */ + protected buildRequestUrl(configuration: AuthorizationServiceConfiguration, request: AuthorizationRequest) { + // build the query string + // coerce to any type for convenience + const requestMap: StringMap = { + redirect_uri: request.redirectUri, + client_id: request.clientId, + response_type: request.responseType, + state: request.state, + scope: request.scope, + }; + + // copy over extras + if (request.extras) { + for (const extra in request.extras) { + if (Object.prototype.hasOwnProperty.call(request.extras, extra)) { + // check before inserting to requestMap + if (BUILT_IN_PARAMETERS.indexOf(extra) < 0) { + requestMap[extra] = request.extras[extra]; + } + } + } + } + + const query = this.utils.stringify(requestMap); + const baseUrl = configuration.authorizationEndpoint; + const url = `${baseUrl}?${query}`; + return url; + } + + /** + * Completes the authorization request if necessary & when possible. + */ + completeAuthorizationRequestIfPossible(): Promise { + // call complete authorization if possible to see there might + // be a response that needs to be delivered. + log(`Checking to see if there is an authorization response to be delivered.`); + if (!this.notifier) { + log(`Notifier is not present on AuthorizationRequest handler. + No delivery of result will be possible`); + } + return this.completeAuthorizationRequest().then((result) => { + if (!result) { + log(`No result is available yet.`); + } + if (result && this.notifier) { + this.notifier.onAuthorizationComplete(result.request, result.response, result.error); + } + }); + } + + /** + * Sets the default Authorization Service notifier. + */ + setAuthorizationNotifier(notifier: AuthorizationNotifier): AuthorizationRequestHandler { + this.notifier = notifier; + return this; + } + + /** + * Makes an authorization request. + */ + abstract performAuthorizationRequest( + configuration: AuthorizationServiceConfiguration, + request: AuthorizationRequest, + ): void; + + /** + * Checks if an authorization flow can be completed, and completes it. + * The handler returns a `Promise` if ready, or a `Promise` + * if not ready. + */ + protected abstract completeAuthorizationRequest(): Promise; +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/authorization_response.ts b/src/Umbraco.Web.UI.Client/src/external/openid/authorization_response.ts new file mode 100644 index 0000000000..ac074fca30 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/authorization_response.ts @@ -0,0 +1,79 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Represents the AuthorizationResponse as a JSON object. + */ +export interface AuthorizationResponseJson { + code: string; + state: string; +} + +/** + * Represents the AuthorizationError as a JSON object. + */ +export interface AuthorizationErrorJson { + error: string; + error_description?: string; + error_uri?: string; + state?: string; +} + +/** + * Represents the Authorization Response type. + * For more information look at + * https://tools.ietf.org/html/rfc6749#section-4.1.2 + */ +export class AuthorizationResponse { + code: string; + state: string; + + constructor(response: AuthorizationResponseJson) { + this.code = response.code; + this.state = response.state; + } + + toJson(): AuthorizationResponseJson { + return { code: this.code, state: this.state }; + } +} + +/** + * Represents the Authorization error response. + * For more information look at: + * https://tools.ietf.org/html/rfc6749#section-4.1.2.1 + */ +export class AuthorizationError { + error: string; + errorDescription?: string; + errorUri?: string; + state?: string; + + constructor(error: AuthorizationErrorJson) { + this.error = error.error; + this.errorDescription = error.error_description; + this.errorUri = error.error_uri; + this.state = error.state; + } + + toJson(): AuthorizationErrorJson { + return { + error: this.error, + error_description: this.errorDescription, + error_uri: this.errorUri, + state: this.state, + }; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/authorization_service_configuration.ts b/src/Umbraco.Web.UI.Client/src/external/openid/authorization_service_configuration.ts new file mode 100644 index 0000000000..b532d7f2a4 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/authorization_service_configuration.ts @@ -0,0 +1,81 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { Requestor } from './xhr.js'; +import { JQueryRequestor } from './xhr.js'; + +/** + * Represents AuthorizationServiceConfiguration as a JSON object. + */ +export interface AuthorizationServiceConfigurationJson { + authorization_endpoint: string; + token_endpoint: string; + revocation_endpoint: string; + end_session_endpoint?: string; + userinfo_endpoint?: string; +} + +/** + * The standard base path for well-known resources on domains. + * See https://tools.ietf.org/html/rfc5785 for more information. + */ +const WELL_KNOWN_PATH = '.well-known'; + +/** + * The standard resource under the well known path at which an OpenID Connect + * discovery document can be found under an issuer's base URI. + */ +const OPENID_CONFIGURATION = 'openid-configuration'; + +/** + * Configuration details required to interact with an authorization service. + * + * More information at https://openid.net/specs/openid-connect-discovery-1_0-17.html + */ +export class AuthorizationServiceConfiguration { + authorizationEndpoint: string; + tokenEndpoint: string; + revocationEndpoint: string; + userInfoEndpoint?: string; + endSessionEndpoint?: string; + + constructor(request: AuthorizationServiceConfigurationJson) { + this.authorizationEndpoint = request.authorization_endpoint; + this.tokenEndpoint = request.token_endpoint; + this.revocationEndpoint = request.revocation_endpoint; + this.userInfoEndpoint = request.userinfo_endpoint; + this.endSessionEndpoint = request.end_session_endpoint; + } + + toJson() { + return { + authorization_endpoint: this.authorizationEndpoint, + token_endpoint: this.tokenEndpoint, + revocation_endpoint: this.revocationEndpoint, + end_session_endpoint: this.endSessionEndpoint, + userinfo_endpoint: this.userInfoEndpoint, + }; + } + + static fetchFromIssuer(openIdIssuerUrl: string, requestor?: Requestor): Promise { + const fullUrl = `${openIdIssuerUrl}/${WELL_KNOWN_PATH}/${OPENID_CONFIGURATION}`; + + const requestorToUse = requestor || new JQueryRequestor(); + + return requestorToUse + .xhr({ url: fullUrl, dataType: 'json', method: 'GET' }) + .then((json) => new AuthorizationServiceConfiguration(json)); + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/crypto_utils.ts b/src/Umbraco.Web.UI.Client/src/external/openid/crypto_utils.ts new file mode 100644 index 0000000000..9ee6c84ac1 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/crypto_utils.ts @@ -0,0 +1,98 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as base64 from '@umbraco-cms/backoffice/external/base64-js'; + +import { AppAuthError } from './errors.js'; + +const HAS_CRYPTO = typeof window !== 'undefined' && !!(window.crypto as any); +const HAS_SUBTLE_CRYPTO = HAS_CRYPTO && !!(window.crypto.subtle as any); +const CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + +export function bufferToString(buffer: Uint8Array) { + const state = []; + for (let i = 0; i < buffer.byteLength; i += 1) { + const index = buffer[i] % CHARSET.length; + state.push(CHARSET[index]); + } + return state.join(''); +} + +export function urlSafe(buffer: Uint8Array): string { + const encoded = base64.fromByteArray(new Uint8Array(buffer)); + return encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, ''); +} + +// adapted from source: http://stackoverflow.com/a/11058858 +// this is used in place of TextEncode as the api is not yet +// well supported: https://caniuse.com/#search=TextEncoder +export function textEncodeLite(str: string) { + const buf = new ArrayBuffer(str.length); + const bufView = new Uint8Array(buf); + + for (let i = 0; i < str.length; i++) { + bufView[i] = str.charCodeAt(i); + } + return bufView; +} + +export interface Crypto { + /** + * Generate a random string + */ + generateRandom(size: number): string; + /** + * Compute the SHA256 of a given code. + * This is useful when using PKCE. + */ + deriveChallenge(code: string): Promise; +} + +/** + * The default implementation of the `Crypto` interface. + * This uses the capabilities of the browser. + */ +export class DefaultCrypto implements Crypto { + generateRandom(size: number) { + const buffer = new Uint8Array(size); + if (HAS_CRYPTO) { + window.crypto.getRandomValues(buffer); + } else { + // fall back to Math.random() if nothing else is available + for (let i = 0; i < size; i += 1) { + buffer[i] = (Math.random() * CHARSET.length) | 0; + } + } + return bufferToString(buffer); + } + + deriveChallenge(code: string): Promise { + if (code.length < 43 || code.length > 128) { + return Promise.reject(new AppAuthError('Invalid code length.')); + } + if (!HAS_SUBTLE_CRYPTO) { + return Promise.reject(new AppAuthError('window.crypto.subtle is unavailable.')); + } + + return new Promise((resolve, reject) => { + crypto.subtle.digest('SHA-256', textEncodeLite(code)).then( + (buffer) => { + return resolve(urlSafe(new Uint8Array(buffer))); + }, + (error) => reject(error), + ); + }); + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/errors.ts b/src/Umbraco.Web.UI.Client/src/external/openid/errors.ts new file mode 100644 index 0000000000..a37305b800 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/errors.ts @@ -0,0 +1,24 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Represents the AppAuthError type. + */ +export class AppAuthError { + constructor( + public message: string, + public extras?: any, + ) {} +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/flags.ts b/src/Umbraco.Web.UI.Client/src/external/openid/flags.ts new file mode 100644 index 0000000000..8a278c6c06 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/flags.ts @@ -0,0 +1,21 @@ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Global flags that control the behavior of App Auth JS. */ + +/* Logging turned on ? */ +export const IS_LOG = true; + +/* Profiling turned on ? */ +export const IS_PROFILE = false; diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts index 5d92bc1f8c..108f5e5134 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/index.ts @@ -1,17 +1,17 @@ -export { - AuthorizationNotifier, - AuthorizationRequest, - AuthorizationServiceConfiguration, - BaseTokenRequestHandler, - FetchRequestor, - BasicQueryStringUtils, - LocalStorageBackend, - RedirectRequestHandler, - TokenRequest, - TokenResponse, - RevokeTokenRequest, - GRANT_TYPE_AUTHORIZATION_CODE, - GRANT_TYPE_REFRESH_TOKEN, -} from '@openid/appauth'; - -export type { LocationLike, StringMap } from '@openid/appauth'; +export * from './authorization_request.js'; +export * from './authorization_request_handler.js'; +export * from './authorization_response.js'; +export * from './authorization_service_configuration.js'; +export * from './crypto_utils.js'; +export * from './errors.js'; +export * from './flags.js'; +export * from './logger.js'; +export * from './query_string_utils.js'; +export * from './redirect_based_handler.js'; +export * from './revoke_token_request.js'; +export * from './storage.js'; +export * from './token_request.js'; +export * from './token_request_handler.js'; +export * from './token_response.js'; +export type * from './types.js'; +export * from './xhr.js'; diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/logger.ts b/src/Umbraco.Web.UI.Client/src/external/openid/logger.ts new file mode 100644 index 0000000000..9f31c83d79 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/logger.ts @@ -0,0 +1,71 @@ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { IS_LOG, IS_PROFILE } from './flags.js'; + +export function log(message: string, ...args: any[]) { + if (IS_LOG) { + const length = args ? args.length : 0; + if (length > 0) { + console.log(message, ...args); + } else { + console.log(message); + } + } +} + +// check to see if native support for profiling is available. +const NATIVE_PROFILE_SUPPORT = typeof window !== 'undefined' && !!window.performance && !!console.profile; + +/** + * A decorator that can profile a function. + */ +export function profile(target: any, propertyKey: string, descriptor: PropertyDescriptor) { + if (IS_PROFILE) { + return performProfile(target, propertyKey, descriptor); + } else { + // return as-is + return descriptor; + } +} + +function performProfile(target: any, propertyKey: string, descriptor: PropertyDescriptor): PropertyDescriptor { + const originalCallable = descriptor.value; + // name must exist + let name = originalCallable.name; + if (!name) { + name = 'anonymous function'; + } + if (NATIVE_PROFILE_SUPPORT) { + descriptor.value = function (args: any[]) { + console.profile(name); + const startTime = window.performance.now(); + const result = originalCallable.call(this || window, ...args); + const duration = window.performance.now() - startTime; + console.log(`${name} took ${duration} ms`); + console.profileEnd(); + return result; + }; + } else { + descriptor.value = function (args: any[]) { + log(`Profile start ${name}`); + const start = Date.now(); + const result = originalCallable.call(this || window, ...args); + const duration = Date.now() - start; + log(`Profile end ${name} took ${duration} ms.`); + return result; + }; + } + return descriptor; +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/query_string_utils.ts b/src/Umbraco.Web.UI.Client/src/external/openid/query_string_utils.ts new file mode 100644 index 0000000000..eb88ce5c13 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/query_string_utils.ts @@ -0,0 +1,64 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { LocationLike, StringMap } from './types.js'; + +/** + * Query String Utilities. + */ +export interface QueryStringUtils { + stringify(input: StringMap): string; + parse(query: LocationLike, useHash?: boolean): StringMap; + parseQueryString(query: string): StringMap; +} + +export class BasicQueryStringUtils implements QueryStringUtils { + parse(input: LocationLike, useHash?: boolean) { + if (useHash) { + return this.parseQueryString(input.hash); + } else { + return this.parseQueryString(input.search); + } + } + + parseQueryString(query: string): StringMap { + const result: StringMap = {}; + // if anything starts with ?, # or & remove it + query = query.trim().replace(/^(\?|#|&)/, ''); + const params = query.split('&'); + for (let i = 0; i < params.length; i += 1) { + const param = params[i]; // looks something like a=b + const parts = param.split('='); + if (parts.length >= 2) { + const key = decodeURIComponent(parts.shift()!); + const value = parts.length > 0 ? parts.join('=') : null; + if (value) { + result[key] = decodeURIComponent(value); + } + } + } + return result; + } + + stringify(input: StringMap) { + const encoded: string[] = []; + for (const key in input) { + if (Object.prototype.hasOwnProperty.call(input, key) && input[key]) { + encoded.push(`${encodeURIComponent(key)}=${encodeURIComponent(input[key])}`); + } + } + return encoded.join('&'); + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/redirect_based_handler.ts b/src/Umbraco.Web.UI.Client/src/external/openid/redirect_based_handler.ts new file mode 100644 index 0000000000..7a5f7eafc9 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/redirect_based_handler.ts @@ -0,0 +1,147 @@ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {AuthorizationRequest} from './authorization_request'; +import {AuthorizationRequestHandler, AuthorizationRequestResponse} from './authorization_request_handler'; +import {AuthorizationError, AuthorizationResponse} from './authorization_response' +import {AuthorizationServiceConfiguration} from './authorization_service_configuration'; +import {Crypto, DefaultCrypto} from './crypto_utils'; +import {log} from './logger'; +import {BasicQueryStringUtils} from './query_string_utils'; +import {LocalStorageBackend, StorageBackend} from './storage'; +import {LocationLike} from './types'; + + +/** key for authorization request. */ +const authorizationRequestKey = + (handle: string) => { + return `${handle}_appauth_authorization_request`; + } + +/** key for authorization service configuration */ +const authorizationServiceConfigurationKey = + (handle: string) => { + return `${handle}_appauth_authorization_service_configuration`; + } + +/** key in local storage which represents the current authorization request. */ +const AUTHORIZATION_REQUEST_HANDLE_KEY = 'appauth_current_authorization_request'; + +/** + * Represents an AuthorizationRequestHandler which uses a standard + * redirect based code flow. + */ +export class RedirectRequestHandler extends AuthorizationRequestHandler { + constructor( + // use the provided storage backend + // or initialize local storage with the default storage backend which + // uses window.localStorage + public storageBackend: StorageBackend = new LocalStorageBackend(), + utils = new BasicQueryStringUtils(), + public locationLike: LocationLike = window.location, + crypto: Crypto = new DefaultCrypto()) { + super(utils, crypto); + } + + performAuthorizationRequest( + configuration: AuthorizationServiceConfiguration, + request: AuthorizationRequest) { + const handle = this.crypto.generateRandom(10); + + // before you make request, persist all request related data in local storage. + const persisted = Promise.all([ + this.storageBackend.setItem(AUTHORIZATION_REQUEST_HANDLE_KEY, handle), + // Calling toJson() adds in the code & challenge when possible + request.toJson().then( + result => + this.storageBackend.setItem(authorizationRequestKey(handle), JSON.stringify(result))), + this.storageBackend.setItem( + authorizationServiceConfigurationKey(handle), JSON.stringify(configuration.toJson())), + ]); + + persisted.then(() => { + // make the redirect request + let url = this.buildRequestUrl(configuration, request); + log('Making a request to ', request, url); + this.locationLike.assign(url); + }); + } + + /** + * Attempts to introspect the contents of storage backend and completes the + * request. + */ + protected completeAuthorizationRequest(): Promise { + // TODO(rahulrav@): handle authorization errors. + return this.storageBackend.getItem(AUTHORIZATION_REQUEST_HANDLE_KEY).then(handle => { + if (handle) { + // we have a pending request. + // fetch authorization request, and check state + return this.storageBackend + .getItem(authorizationRequestKey(handle)) + // requires a corresponding instance of result + // TODO(rahulrav@): check for inconsitent state here + .then(result => JSON.parse(result!)) + .then(json => new AuthorizationRequest(json)) + .then(request => { + // check redirect_uri and state + let currentUri = `${this.locationLike.origin}${this.locationLike.pathname}`; + let queryParams = this.utils.parse(this.locationLike, true /* use hash */); + let state: string|undefined = queryParams['state']; + let code: string|undefined = queryParams['code']; + let error: string|undefined = queryParams['error']; + log('Potential authorization request ', currentUri, queryParams, state, code, error); + let shouldNotify = state === request.state; + let authorizationResponse: AuthorizationResponse|null = null; + let authorizationError: AuthorizationError|null = null; + if (shouldNotify) { + if (error) { + // get additional optional info. + let errorUri = queryParams['error_uri']; + let errorDescription = queryParams['error_description']; + authorizationError = new AuthorizationError({ + error: error, + error_description: errorDescription, + error_uri: errorUri, + state: state + }); + } else { + authorizationResponse = new AuthorizationResponse({code: code, state: state}); + } + // cleanup state + return Promise + .all([ + this.storageBackend.removeItem(AUTHORIZATION_REQUEST_HANDLE_KEY), + this.storageBackend.removeItem(authorizationRequestKey(handle)), + this.storageBackend.removeItem(authorizationServiceConfigurationKey(handle)) + ]) + .then(() => { + log('Delivering authorization response'); + return { + request: request, + response: authorizationResponse, + error: authorizationError + } as AuthorizationRequestResponse; + }); + } else { + log('Mismatched request (state and request_uri) dont match.'); + return Promise.resolve(null); + } + }); + } else { + return null; + } + }); + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/revoke_token_request.ts b/src/Umbraco.Web.UI.Client/src/external/openid/revoke_token_request.ts new file mode 100644 index 0000000000..97e21f1bec --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/revoke_token_request.ts @@ -0,0 +1,73 @@ +/* eslint-disable local-rules/umb-class-prefix */ +import type { StringMap } from './types.js'; + +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Supported token types + */ +export type TokenTypeHint = 'refresh_token' | 'access_token'; + +/** + * Represents the Token Request as JSON. + */ +export interface RevokeTokenRequestJson { + token: string; + token_type_hint?: TokenTypeHint; + client_id?: string; + client_secret?: string; +} + +/** + * Represents a revoke token request. + * For more information look at: + * https://tools.ietf.org/html/rfc7009#section-2.1 + */ +export class RevokeTokenRequest { + token: string; + tokenTypeHint: TokenTypeHint | undefined; + clientId: string | undefined; + clientSecret: string | undefined; + + constructor(request: RevokeTokenRequestJson) { + this.token = request.token; + this.tokenTypeHint = request.token_type_hint; + this.clientId = request.client_id; + this.clientSecret = request.client_secret; + } + + /** + * Serializes a TokenRequest to a JavaScript object. + */ + toJson(): RevokeTokenRequestJson { + const json: RevokeTokenRequestJson = { token: this.token }; + if (this.tokenTypeHint) { + json['token_type_hint'] = this.tokenTypeHint; + } + if (this.clientId) { + json['client_id'] = this.clientId; + } + if (this.clientSecret) { + json['client_secret'] = this.clientSecret; + } + return json; + } + + toStringMap(): StringMap { + const json = this.toJson(); + // :( + return json as any; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/storage.ts b/src/Umbraco.Web.UI.Client/src/external/openid/storage.ts new file mode 100644 index 0000000000..a33c5dfcad --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/storage.ts @@ -0,0 +1,101 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * A subset of the `Storage` interface which we need for the backends to work. + * + * Essentially removes the indexable properties and readonly properties from + * `Storage` in lib.dom.d.ts. This is so that a custom type can extend it for + * testing. + */ +export interface UnderlyingStorage { + readonly length: number; + clear(): void; + getItem(key: string): string | null; + removeItem(key: string): void; + setItem(key: string, data: string): void; +} + +/** + * Asynchronous storage APIs. All methods return a `Promise`. + * All methods take the `DOMString` + * IDL type (as it is the lowest common denominator). + */ +export abstract class StorageBackend { + /** + * When passed a key `name`, will return that key's value. + */ + public abstract getItem(name: string): Promise; + + /** + * When passed a key `name`, will remove that key from the storage. + */ + public abstract removeItem(name: string): Promise; + + /** + * When invoked, will empty all keys out of the storage. + */ + public abstract clear(): Promise; + + /** + * The setItem() method of the `StorageBackend` interface, + * when passed a key name and value, will add that key to the storage, + * or update that key's value if it already exists. + */ + public abstract setItem(name: string, value: string): Promise; +} + +/** + * A `StorageBackend` backed by `localstorage`. + */ +export class LocalStorageBackend extends StorageBackend { + private storage: UnderlyingStorage; + constructor(storage?: UnderlyingStorage) { + super(); + this.storage = storage || window.localStorage; + } + + public getItem(name: string): Promise { + return new Promise((resolve, reject) => { + const value = this.storage.getItem(name); + if (value) { + resolve(value); + } else { + resolve(null); + } + }); + } + + public removeItem(name: string): Promise { + return new Promise((resolve, reject) => { + this.storage.removeItem(name); + resolve(); + }); + } + + public clear(): Promise { + return new Promise((resolve, reject) => { + this.storage.clear(); + resolve(); + }); + } + + public setItem(name: string, value: string): Promise { + return new Promise((resolve, reject) => { + this.storage.setItem(name, value); + resolve(); + }); + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/token_request.ts b/src/Umbraco.Web.UI.Client/src/external/openid/token_request.ts new file mode 100644 index 0000000000..9ee6a209ce --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/token_request.ts @@ -0,0 +1,96 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* eslint-disable local-rules/exported-string-constant-naming */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { StringMap } from './types.js'; + +export const GRANT_TYPE_AUTHORIZATION_CODE = 'authorization_code'; +export const GRANT_TYPE_REFRESH_TOKEN = 'refresh_token'; + +/** + * Represents the Token Request as JSON. + */ +export interface TokenRequestJson { + grant_type: string; + code?: string; + refresh_token?: string; + redirect_uri: string; + client_id: string; + extras?: StringMap; +} + +/** + * Represents an Access Token request. + * For more information look at: + * https://tools.ietf.org/html/rfc6749#section-4.1.3 + */ +export class TokenRequest { + clientId: string; + redirectUri: string; + grantType: string; + code: string | undefined; + refreshToken: string | undefined; + extras: StringMap | undefined; + + constructor(request: TokenRequestJson) { + this.clientId = request.client_id; + this.redirectUri = request.redirect_uri; + this.grantType = request.grant_type; + this.code = request.code; + this.refreshToken = request.refresh_token; + this.extras = request.extras; + } + + /** + * Serializes a TokenRequest to a JavaScript object. + */ + toJson(): TokenRequestJson { + return { + grant_type: this.grantType, + code: this.code, + refresh_token: this.refreshToken, + redirect_uri: this.redirectUri, + client_id: this.clientId, + extras: this.extras, + }; + } + + toStringMap(): StringMap { + const map: StringMap = { + grant_type: this.grantType, + client_id: this.clientId, + redirect_uri: this.redirectUri, + }; + + if (this.code) { + map['code'] = this.code; + } + + if (this.refreshToken) { + map['refresh_token'] = this.refreshToken; + } + + // copy over extras + if (this.extras) { + for (const extra in this.extras) { + if (Object.prototype.hasOwnProperty.call(this.extras, extra) && !map.hasOwnProperty(extra)) { + // check before inserting to requestMap + map[extra] = this.extras[extra]; + } + } + } + return map; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/token_request_handler.ts b/src/Umbraco.Web.UI.Client/src/external/openid/token_request_handler.ts new file mode 100644 index 0000000000..99ae687a39 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/token_request_handler.ts @@ -0,0 +1,88 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { AuthorizationServiceConfiguration } from './authorization_service_configuration.js'; +import { AppAuthError } from './errors.js'; +import { BasicQueryStringUtils } from './query_string_utils.js'; +import type { QueryStringUtils } from './query_string_utils.js'; +import type { RevokeTokenRequest } from './revoke_token_request.js'; +import type { TokenRequest } from './token_request.js'; +import { TokenError, TokenResponse } from './token_response.js'; +import type { TokenErrorJson, TokenResponseJson } from './token_response.js'; +import { JQueryRequestor } from './xhr.js'; +import type { Requestor } from './xhr.js'; + +/** + * Represents an interface which can make a token request. + */ +export interface TokenRequestHandler { + /** + * Performs the token request, given the service configuration. + */ + performTokenRequest(configuration: AuthorizationServiceConfiguration, request: TokenRequest): Promise; + + performRevokeTokenRequest( + configuration: AuthorizationServiceConfiguration, + request: RevokeTokenRequest, + ): Promise; +} + +/** + * The default token request handler. + */ +export class BaseTokenRequestHandler implements TokenRequestHandler { + constructor( + public readonly requestor: Requestor = new JQueryRequestor(), + public readonly utils: QueryStringUtils = new BasicQueryStringUtils(), + ) {} + + private isTokenResponse(response: TokenResponseJson | TokenErrorJson): response is TokenResponseJson { + return (response as TokenErrorJson).error === undefined; + } + + performRevokeTokenRequest( + configuration: AuthorizationServiceConfiguration, + request: RevokeTokenRequest, + ): Promise { + const revokeTokenResponse = this.requestor.xhr({ + url: configuration.revocationEndpoint, + method: 'POST', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + data: this.utils.stringify(request.toStringMap()), + }); + + return revokeTokenResponse.then((response) => { + return true; + }); + } + + performTokenRequest(configuration: AuthorizationServiceConfiguration, request: TokenRequest): Promise { + const tokenResponse = this.requestor.xhr({ + url: configuration.tokenEndpoint, + method: 'POST', + dataType: 'json', // adding implicit dataType + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + data: this.utils.stringify(request.toStringMap()), + }); + + return tokenResponse.then((response) => { + if (this.isTokenResponse(response)) { + return new TokenResponse(response); + } else { + return Promise.reject(new AppAuthError(response.error, new TokenError(response))); + } + }); + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/token_response.ts b/src/Umbraco.Web.UI.Client/src/external/openid/token_response.ts new file mode 100644 index 0000000000..3afbf101d7 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/token_response.ts @@ -0,0 +1,137 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Represents the access token types. + * For more information see: + * https://tools.ietf.org/html/rfc6749#section-7.1 + */ +export type TokenType = 'bearer' | 'mac'; + +/** + * Represents the TokenResponse as a JSON Object. + */ +export interface TokenResponseJson { + access_token: string; + token_type?: TokenType /* treating token type as optional, as its going to be inferred. */; + expires_in?: string /* lifetime in seconds. */; + refresh_token?: string; + scope?: string; + id_token?: string /* https://openid.net/specs/openid-connect-core-1_0.html#TokenResponse */; + issued_at?: number /* when was it issued ? */; +} + +/** + * Represents the possible error codes from the token endpoint. + * For more information look at: + * https://tools.ietf.org/html/rfc6749#section-5.2 + */ +export type ErrorType = + | 'invalid_request' + | 'invalid_client' + | 'invalid_grant' + | 'unauthorized_client' + | 'unsupported_grant_type' + | 'invalid_scope'; + +/** + * Represents the TokenError as a JSON Object. + */ +export interface TokenErrorJson { + error: ErrorType; + error_description?: string; + error_uri?: string; +} + +// constants +const AUTH_EXPIRY_BUFFER = 10 * 60 * -1; // 10 mins in seconds + +/** + * Returns the instant of time in seconds. + */ +export const nowInSeconds = () => Math.round(new Date().getTime() / 1000); + +/** + * Represents the Token Response type. + * For more information look at: + * https://tools.ietf.org/html/rfc6749#section-5.1 + */ +export class TokenResponse { + accessToken: string; + tokenType: TokenType; + expiresIn: number | undefined; + refreshToken: string | undefined; + scope: string | undefined; + idToken: string | undefined; + issuedAt: number; + + constructor(response: TokenResponseJson) { + this.accessToken = response.access_token; + this.tokenType = response.token_type || 'bearer'; + if (response.expires_in) { + this.expiresIn = parseInt(response.expires_in, 10); + } + this.refreshToken = response.refresh_token; + this.scope = response.scope; + this.idToken = response.id_token; + this.issuedAt = response.issued_at || nowInSeconds(); + } + + toJson(): TokenResponseJson { + return { + access_token: this.accessToken, + id_token: this.idToken, + refresh_token: this.refreshToken, + scope: this.scope, + token_type: this.tokenType, + issued_at: this.issuedAt, + expires_in: this.expiresIn?.toString(), + }; + } + + isValid(buffer: number = AUTH_EXPIRY_BUFFER): boolean { + if (this.expiresIn) { + const now = nowInSeconds(); + return now < this.issuedAt + this.expiresIn + buffer; + } else { + return true; + } + } +} + +/** + * Represents the Token Error type. + * For more information look at: + * https://tools.ietf.org/html/rfc6749#section-5.2 + */ +export class TokenError { + error: ErrorType; + errorDescription: string | undefined; + errorUri: string | undefined; + + constructor(tokenError: TokenErrorJson) { + this.error = tokenError.error; + this.errorDescription = tokenError.error_description; + this.errorUri = tokenError.error_uri; + } + + toJson(): TokenErrorJson { + return { + error: this.error, + error_description: this.errorDescription, + error_uri: this.errorUri, + }; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/types.ts b/src/Umbraco.Web.UI.Client/src/external/openid/types.ts new file mode 100644 index 0000000000..3af235a085 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/types.ts @@ -0,0 +1,32 @@ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +export interface StringMap { + [key: string]: string; +} + +/** + * Represents a window.location like object. + */ +export interface LocationLike { + hash: string; + host: string; + origin: string; + hostname: string; + pathname: string; + port: string; + protocol: string; + search: string; + assign(url: string): void; +} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/xhr.ts b/src/Umbraco.Web.UI.Client/src/external/openid/xhr.ts new file mode 100644 index 0000000000..96bd2c82c8 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/openid/xhr.ts @@ -0,0 +1,115 @@ +/* eslint-disable local-rules/umb-class-prefix */ +/* + * Copyright 2017 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AppAuthError } from './errors.js'; + +/** + * An class that abstracts away the ability to make an XMLHttpRequest. + */ +export abstract class Requestor { + abstract xhr(settings: JQueryAjaxSettings): Promise; +} + +/** + * Uses $.ajax to makes the Ajax requests. + */ +export class JQueryRequestor extends Requestor { + xhr(settings: JQueryAjaxSettings): Promise { + // NOTE: using jquery to make XHR's as whatwg-fetch requires + // that I target ES6. + const xhr = $.ajax(settings); + return new Promise((resolve, reject) => { + xhr.then( + (data, textStatus, jqXhr) => { + resolve(data as T); + }, + (jqXhr, textStatus, error) => { + reject(new AppAuthError(error)); + }, + ); + }); + } +} + +/** + * Uses fetch API to make Ajax requests + */ +export class FetchRequestor extends Requestor { + xhr(settings: JQueryAjaxSettings): Promise { + if (!settings.url) { + return Promise.reject(new AppAuthError('A URL must be provided.')); + } + const url: URL = new URL(settings.url); + const requestInit: RequestInit = {}; + requestInit.method = settings.method; + requestInit.mode = 'cors'; + + if (settings.data) { + if (settings.method && settings.method.toUpperCase() === 'POST') { + requestInit.body = settings.data; + } else { + const searchParams = new URLSearchParams(settings.data); + searchParams.forEach((value, key) => { + url.searchParams.append(key, value); + }); + } + } + + // Set the request headers + requestInit.headers = {}; + if (settings.headers) { + for (const i in settings.headers) { + if (Object.prototype.hasOwnProperty.call(settings.headers, i)) { + requestInit.headers[i] = settings.headers[i]; + } + } + } + + const isJsonDataType = settings.dataType && settings.dataType.toLowerCase() === 'json'; + + // Set 'Accept' header value for json requests (Taken from + // https://github.com/jquery/jquery/blob/e0d941156900a6bff7c098c8ea7290528e468cf8/src/ajax.js#L644 + // ) + if (isJsonDataType) { + requestInit.headers['Accept'] = 'application/json, text/javascript, */*; q=0.01'; + } + + return fetch(url.toString(), requestInit).then((response) => { + if (response.status >= 200 && response.status < 300) { + const contentType = response.headers.get('content-type'); + if (isJsonDataType || (contentType && contentType.indexOf('application/json') !== -1)) { + return response.json(); + } else { + return response.text(); + } + } else { + return Promise.reject(new AppAuthError(response.status.toString(), response.statusText)); + } + }); + } +} + +/** + * Should be used only in the context of testing. Just uses the underlying + * Promise to mock the behavior of the Requestor. + */ +export class TestRequestor extends Requestor { + constructor(public promise: Promise) { + super(); + } + xhr(settings: JQueryAjaxSettings): Promise { + return this.promise; // unsafe cast + } +} diff --git a/src/Umbraco.Web.UI.Client/tsconfig.json b/src/Umbraco.Web.UI.Client/tsconfig.json index 33bf53145e..a3a4e7e517 100644 --- a/src/Umbraco.Web.UI.Client/tsconfig.json +++ b/src/Umbraco.Web.UI.Client/tsconfig.json @@ -106,6 +106,7 @@ "@umbraco-cms/backoffice/webhook": ["./src/packages/webhook/index.ts"], "@umbraco-cms/backoffice/workspace": ["./src/packages/core/workspace/index.ts"], "@umbraco-cms/backoffice/external/backend-api": ["./src/external/backend-api/index.ts"], + "@umbraco-cms/backoffice/external/base64-js": ["./src/external/base64-js/index.ts"], "@umbraco-cms/backoffice/external/dompurify": ["./src/external/dompurify/index.ts"], "@umbraco-cms/backoffice/external/lit": ["./src/external/lit/index.ts"], "@umbraco-cms/backoffice/external/marked": ["./src/external/marked/index.ts"], From 052632c4648f10680fb683c544b59db3c967536e Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 17:16:52 +0200 Subject: [PATCH 132/134] revamp web/test-runner config so that commonjs() is being run before esbuild but only on the modules that are actually only exported as CJS --- src/Umbraco.Web.UI.Client/web-test-runner.config.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs b/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs index 832c831714..23006d64e2 100644 --- a/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs +++ b/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs @@ -22,7 +22,6 @@ export default { reporters: ['lcovonly', 'text-summary'], }, plugins: [ - esbuildPlugin({ ts: true, tsconfig: './tsconfig.json', target: 'auto', json: true }), importMapsPlugin({ inject: { importMap: createImportMap({ @@ -35,8 +34,9 @@ export default { }, }), commonjs({ - include: [/node_modules/], + include: ['node_modules/base64-js/**/*', 'node_modules/tinymce/**/*'] }), + esbuildPlugin({ ts: true, tsconfig: './tsconfig.json', target: 'auto', json: true }), ], testRunnerHtml: (testFramework, devMode) => ` From fd81faee01b46ca85fa66027c31b2a10f8f4e9e5 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 17:25:47 +0200 Subject: [PATCH 133/134] correct eslint errors --- .../external/openid/redirect_based_handler.ts | 229 +++++++++--------- .../src/external/openid/token_request.ts | 5 +- 2 files changed, 118 insertions(+), 116 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/redirect_based_handler.ts b/src/Umbraco.Web.UI.Client/src/external/openid/redirect_based_handler.ts index 7a5f7eafc9..8344c28cf2 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/redirect_based_handler.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/redirect_based_handler.ts @@ -1,3 +1,4 @@ +/* eslint-disable local-rules/umb-class-prefix */ /* * Copyright 2017 Google Inc. * @@ -12,28 +13,28 @@ * limitations under the License. */ -import {AuthorizationRequest} from './authorization_request'; -import {AuthorizationRequestHandler, AuthorizationRequestResponse} from './authorization_request_handler'; -import {AuthorizationError, AuthorizationResponse} from './authorization_response' -import {AuthorizationServiceConfiguration} from './authorization_service_configuration'; -import {Crypto, DefaultCrypto} from './crypto_utils'; -import {log} from './logger'; -import {BasicQueryStringUtils} from './query_string_utils'; -import {LocalStorageBackend, StorageBackend} from './storage'; -import {LocationLike} from './types'; - +import { AuthorizationRequest } from './authorization_request.js'; +import type { AuthorizationRequestResponse } from './authorization_request_handler.js'; +import { AuthorizationRequestHandler } from './authorization_request_handler.js'; +import { AuthorizationError, AuthorizationResponse } from './authorization_response.js'; +import type { AuthorizationServiceConfiguration } from './authorization_service_configuration.js'; +import type { Crypto } from './crypto_utils.js'; +import { DefaultCrypto } from './crypto_utils.js'; +import { log } from './logger.js'; +import { BasicQueryStringUtils } from './query_string_utils.js'; +import type { StorageBackend } from './storage.js'; +import { LocalStorageBackend } from './storage.js'; +import type { LocationLike } from './types.js'; /** key for authorization request. */ -const authorizationRequestKey = - (handle: string) => { - return `${handle}_appauth_authorization_request`; - } +const authorizationRequestKey = (handle: string) => { + return `${handle}_appauth_authorization_request`; +}; /** key for authorization service configuration */ -const authorizationServiceConfigurationKey = - (handle: string) => { - return `${handle}_appauth_authorization_service_configuration`; - } +const authorizationServiceConfigurationKey = (handle: string) => { + return `${handle}_appauth_authorization_service_configuration`; +}; /** key in local storage which represents the current authorization request. */ const AUTHORIZATION_REQUEST_HANDLE_KEY = 'appauth_current_authorization_request'; @@ -43,105 +44,103 @@ const AUTHORIZATION_REQUEST_HANDLE_KEY = 'appauth_current_authorization_request' * redirect based code flow. */ export class RedirectRequestHandler extends AuthorizationRequestHandler { - constructor( - // use the provided storage backend - // or initialize local storage with the default storage backend which - // uses window.localStorage - public storageBackend: StorageBackend = new LocalStorageBackend(), - utils = new BasicQueryStringUtils(), - public locationLike: LocationLike = window.location, - crypto: Crypto = new DefaultCrypto()) { - super(utils, crypto); - } + constructor( + // use the provided storage backend + // or initialize local storage with the default storage backend which + // uses window.localStorage + public storageBackend: StorageBackend = new LocalStorageBackend(), + utils = new BasicQueryStringUtils(), + public locationLike: LocationLike = window.location, + crypto: Crypto = new DefaultCrypto(), + ) { + super(utils, crypto); + } - performAuthorizationRequest( - configuration: AuthorizationServiceConfiguration, - request: AuthorizationRequest) { - const handle = this.crypto.generateRandom(10); + performAuthorizationRequest(configuration: AuthorizationServiceConfiguration, request: AuthorizationRequest) { + const handle = this.crypto.generateRandom(10); - // before you make request, persist all request related data in local storage. - const persisted = Promise.all([ - this.storageBackend.setItem(AUTHORIZATION_REQUEST_HANDLE_KEY, handle), - // Calling toJson() adds in the code & challenge when possible - request.toJson().then( - result => - this.storageBackend.setItem(authorizationRequestKey(handle), JSON.stringify(result))), - this.storageBackend.setItem( - authorizationServiceConfigurationKey(handle), JSON.stringify(configuration.toJson())), - ]); + // before you make request, persist all request related data in local storage. + const persisted = Promise.all([ + this.storageBackend.setItem(AUTHORIZATION_REQUEST_HANDLE_KEY, handle), + // Calling toJson() adds in the code & challenge when possible + request + .toJson() + .then((result) => this.storageBackend.setItem(authorizationRequestKey(handle), JSON.stringify(result))), + this.storageBackend.setItem(authorizationServiceConfigurationKey(handle), JSON.stringify(configuration.toJson())), + ]); - persisted.then(() => { - // make the redirect request - let url = this.buildRequestUrl(configuration, request); - log('Making a request to ', request, url); - this.locationLike.assign(url); - }); - } + persisted.then(() => { + // make the redirect request + const url = this.buildRequestUrl(configuration, request); + log('Making a request to ', request, url); + this.locationLike.assign(url); + }); + } - /** - * Attempts to introspect the contents of storage backend and completes the - * request. - */ - protected completeAuthorizationRequest(): Promise { - // TODO(rahulrav@): handle authorization errors. - return this.storageBackend.getItem(AUTHORIZATION_REQUEST_HANDLE_KEY).then(handle => { - if (handle) { - // we have a pending request. - // fetch authorization request, and check state - return this.storageBackend - .getItem(authorizationRequestKey(handle)) - // requires a corresponding instance of result - // TODO(rahulrav@): check for inconsitent state here - .then(result => JSON.parse(result!)) - .then(json => new AuthorizationRequest(json)) - .then(request => { - // check redirect_uri and state - let currentUri = `${this.locationLike.origin}${this.locationLike.pathname}`; - let queryParams = this.utils.parse(this.locationLike, true /* use hash */); - let state: string|undefined = queryParams['state']; - let code: string|undefined = queryParams['code']; - let error: string|undefined = queryParams['error']; - log('Potential authorization request ', currentUri, queryParams, state, code, error); - let shouldNotify = state === request.state; - let authorizationResponse: AuthorizationResponse|null = null; - let authorizationError: AuthorizationError|null = null; - if (shouldNotify) { - if (error) { - // get additional optional info. - let errorUri = queryParams['error_uri']; - let errorDescription = queryParams['error_description']; - authorizationError = new AuthorizationError({ - error: error, - error_description: errorDescription, - error_uri: errorUri, - state: state - }); - } else { - authorizationResponse = new AuthorizationResponse({code: code, state: state}); - } - // cleanup state - return Promise - .all([ - this.storageBackend.removeItem(AUTHORIZATION_REQUEST_HANDLE_KEY), - this.storageBackend.removeItem(authorizationRequestKey(handle)), - this.storageBackend.removeItem(authorizationServiceConfigurationKey(handle)) - ]) - .then(() => { - log('Delivering authorization response'); - return { - request: request, - response: authorizationResponse, - error: authorizationError - } as AuthorizationRequestResponse; - }); - } else { - log('Mismatched request (state and request_uri) dont match.'); - return Promise.resolve(null); - } - }); - } else { - return null; - } - }); - } + /** + * Attempts to introspect the contents of storage backend and completes the + * request. + */ + protected completeAuthorizationRequest(): Promise { + // TODO(rahulrav@): handle authorization errors. + return this.storageBackend.getItem(AUTHORIZATION_REQUEST_HANDLE_KEY).then((handle) => { + if (handle) { + // we have a pending request. + // fetch authorization request, and check state + return ( + this.storageBackend + .getItem(authorizationRequestKey(handle)) + // requires a corresponding instance of result + // TODO(rahulrav@): check for inconsitent state here + .then((result) => JSON.parse(result!)) + .then((json) => new AuthorizationRequest(json)) + .then((request) => { + // check redirect_uri and state + const currentUri = `${this.locationLike.origin}${this.locationLike.pathname}`; + const queryParams = this.utils.parse(this.locationLike, true /* use hash */); + const state: string | undefined = queryParams['state']; + const code: string | undefined = queryParams['code']; + const error: string | undefined = queryParams['error']; + log('Potential authorization request ', currentUri, queryParams, state, code, error); + const shouldNotify = state === request.state; + let authorizationResponse: AuthorizationResponse | null = null; + let authorizationError: AuthorizationError | null = null; + if (shouldNotify) { + if (error) { + // get additional optional info. + const errorUri = queryParams['error_uri']; + const errorDescription = queryParams['error_description']; + authorizationError = new AuthorizationError({ + error: error, + error_description: errorDescription, + error_uri: errorUri, + state: state, + }); + } else { + authorizationResponse = new AuthorizationResponse({ code: code, state: state }); + } + // cleanup state + return Promise.all([ + this.storageBackend.removeItem(AUTHORIZATION_REQUEST_HANDLE_KEY), + this.storageBackend.removeItem(authorizationRequestKey(handle)), + this.storageBackend.removeItem(authorizationServiceConfigurationKey(handle)), + ]).then(() => { + log('Delivering authorization response'); + return { + request: request, + response: authorizationResponse, + error: authorizationError, + } as AuthorizationRequestResponse; + }); + } else { + log('Mismatched request (state and request_uri) dont match.'); + return Promise.resolve(null); + } + }) + ); + } else { + return null; + } + }); + } } diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/token_request.ts b/src/Umbraco.Web.UI.Client/src/external/openid/token_request.ts index 9ee6a209ce..9cf5978d63 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/token_request.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/token_request.ts @@ -85,7 +85,10 @@ export class TokenRequest { // copy over extras if (this.extras) { for (const extra in this.extras) { - if (Object.prototype.hasOwnProperty.call(this.extras, extra) && !map.hasOwnProperty(extra)) { + if ( + Object.prototype.hasOwnProperty.call(this.extras, extra) && + !Object.prototype.hasOwnProperty.call(map, extra) + ) { // check before inserting to requestMap map[extra] = this.extras[extra]; } From cd3c657f8b839354ad0601702c9b166898153141 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Apr 2024 17:36:56 +0200 Subject: [PATCH 134/134] fix build errors and remove traces of jquer --- .../authorization_service_configuration.ts | 4 +- .../external/openid/token_request_handler.ts | 5 +- .../src/external/openid/types.ts | 26 ++++++---- .../src/external/openid/xhr.ts | 47 ++----------------- 4 files changed, 25 insertions(+), 57 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/authorization_service_configuration.ts b/src/Umbraco.Web.UI.Client/src/external/openid/authorization_service_configuration.ts index b532d7f2a4..3fd30c663f 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/authorization_service_configuration.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/authorization_service_configuration.ts @@ -14,7 +14,7 @@ */ import type { Requestor } from './xhr.js'; -import { JQueryRequestor } from './xhr.js'; +import { FetchRequestor } from './xhr.js'; /** * Represents AuthorizationServiceConfiguration as a JSON object. @@ -72,7 +72,7 @@ export class AuthorizationServiceConfiguration { static fetchFromIssuer(openIdIssuerUrl: string, requestor?: Requestor): Promise { const fullUrl = `${openIdIssuerUrl}/${WELL_KNOWN_PATH}/${OPENID_CONFIGURATION}`; - const requestorToUse = requestor || new JQueryRequestor(); + const requestorToUse = requestor || new FetchRequestor(); return requestorToUse .xhr({ url: fullUrl, dataType: 'json', method: 'GET' }) diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/token_request_handler.ts b/src/Umbraco.Web.UI.Client/src/external/openid/token_request_handler.ts index 99ae687a39..b4bc6f12e4 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/token_request_handler.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/token_request_handler.ts @@ -21,8 +21,7 @@ import type { RevokeTokenRequest } from './revoke_token_request.js'; import type { TokenRequest } from './token_request.js'; import { TokenError, TokenResponse } from './token_response.js'; import type { TokenErrorJson, TokenResponseJson } from './token_response.js'; -import { JQueryRequestor } from './xhr.js'; -import type { Requestor } from './xhr.js'; +import { FetchRequestor, type Requestor } from './xhr.js'; /** * Represents an interface which can make a token request. @@ -44,7 +43,7 @@ export interface TokenRequestHandler { */ export class BaseTokenRequestHandler implements TokenRequestHandler { constructor( - public readonly requestor: Requestor = new JQueryRequestor(), + public readonly requestor: Requestor = new FetchRequestor(), public readonly utils: QueryStringUtils = new BasicQueryStringUtils(), ) {} diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/types.ts b/src/Umbraco.Web.UI.Client/src/external/openid/types.ts index 3af235a085..b6fb853dad 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/types.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/types.ts @@ -13,20 +13,26 @@ */ export interface StringMap { - [key: string]: string; + [key: string]: string; } /** * Represents a window.location like object. */ export interface LocationLike { - hash: string; - host: string; - origin: string; - hostname: string; - pathname: string; - port: string; - protocol: string; - search: string; - assign(url: string): void; + hash: string; + host: string; + origin: string; + hostname: string; + pathname: string; + port: string; + protocol: string; + search: string; + assign(url: string): void; +} + +export interface XhrRequestInit extends RequestInit { + url: string; + dataType?: string; + data?: any; } diff --git a/src/Umbraco.Web.UI.Client/src/external/openid/xhr.ts b/src/Umbraco.Web.UI.Client/src/external/openid/xhr.ts index 96bd2c82c8..fc32dbf8cb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/openid/xhr.ts +++ b/src/Umbraco.Web.UI.Client/src/external/openid/xhr.ts @@ -14,40 +14,20 @@ */ import { AppAuthError } from './errors.js'; +import type { XhrRequestInit } from './types.js'; /** * An class that abstracts away the ability to make an XMLHttpRequest. */ export abstract class Requestor { - abstract xhr(settings: JQueryAjaxSettings): Promise; -} - -/** - * Uses $.ajax to makes the Ajax requests. - */ -export class JQueryRequestor extends Requestor { - xhr(settings: JQueryAjaxSettings): Promise { - // NOTE: using jquery to make XHR's as whatwg-fetch requires - // that I target ES6. - const xhr = $.ajax(settings); - return new Promise((resolve, reject) => { - xhr.then( - (data, textStatus, jqXhr) => { - resolve(data as T); - }, - (jqXhr, textStatus, error) => { - reject(new AppAuthError(error)); - }, - ); - }); - } + abstract xhr(settings: unknown): Promise; } /** * Uses fetch API to make Ajax requests */ export class FetchRequestor extends Requestor { - xhr(settings: JQueryAjaxSettings): Promise { + xhr(settings: XhrRequestInit): Promise { if (!settings.url) { return Promise.reject(new AppAuthError('A URL must be provided.')); } @@ -70,11 +50,7 @@ export class FetchRequestor extends Requestor { // Set the request headers requestInit.headers = {}; if (settings.headers) { - for (const i in settings.headers) { - if (Object.prototype.hasOwnProperty.call(settings.headers, i)) { - requestInit.headers[i] = settings.headers[i]; - } - } + requestInit.headers = settings.headers; } const isJsonDataType = settings.dataType && settings.dataType.toLowerCase() === 'json'; @@ -83,7 +59,7 @@ export class FetchRequestor extends Requestor { // https://github.com/jquery/jquery/blob/e0d941156900a6bff7c098c8ea7290528e468cf8/src/ajax.js#L644 // ) if (isJsonDataType) { - requestInit.headers['Accept'] = 'application/json, text/javascript, */*; q=0.01'; + (requestInit.headers as any).Accept = 'application/json, text/javascript, */*; q=0.01'; } return fetch(url.toString(), requestInit).then((response) => { @@ -100,16 +76,3 @@ export class FetchRequestor extends Requestor { }); } } - -/** - * Should be used only in the context of testing. Just uses the underlying - * Promise to mock the behavior of the Requestor. - */ -export class TestRequestor extends Requestor { - constructor(public promise: Promise) { - super(); - } - xhr(settings: JQueryAjaxSettings): Promise { - return this.promise; // unsafe cast - } -}