From f8b8f2c259b2d9109d87c54b65a0e1337b2ec0af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Tue, 4 Apr 2023 13:19:19 +0200 Subject: [PATCH] updated models (#639) * updated models * potential fix of eslint * fix eslint rules * first batch * dictionary corrections * batch 2 * batch 3 * tiny correction * batch 4 * rename key to id internal models * batch 5 * batch 6 * correct LogLevelCountsReponseModel * batch 7 * batch 8 * batch 9 * health check data * _createTableItems * revert to key for checkbox list * batch 9 --- src/Umbraco.Web.UI.Client/.eslintrc.json | 6 + .../eslint-local-rules.cjs | 1 + .../libs/backend-api/src/core/request.ts | 425 +++++++++--------- .../libs/backend-api/src/index.ts | 22 +- .../src/models/AuditLogBaseModel.ts | 5 +- .../src/models/AuditLogResponseModel.ts | 1 + .../AuditLogWithUsernameResponseModel.ts | 5 +- .../models/ChangePasswordUserRequestModel.ts | 9 + .../models/ConsentLevelPresentationModel.ts | 1 + ...tValueModelDocumentVariantResponseModel.ts | 5 +- .../models/ContentTreeItemResponseModel.ts | 7 +- .../src/models/ContentTypeCleanupModel.ts | 1 + .../src/models/ContentTypeCompositionModel.ts | 3 +- ...tTypePropertyTypeContainerResponseModel.ts | 3 +- ...aTypePropertyTypeContainerResponseModel.ts | 3 +- .../src/models/ContentTypeSortModel.ts | 3 +- .../src/models/ContentUrlInfoModel.ts | 1 + .../src/models/CopyDataTypeRequestModel.ts | 3 +- ...ntValueModelDocumentVariantRequestModel.ts | 3 +- ...MediaValueModelMediaVariantRequestModel.ts | 3 +- .../src/models/CreateDataTypeRequestModel.ts | 4 +- .../CreateDictionaryItemRequestModel.ts | 3 +- .../src/models/CreateDocumentRequestModel.ts | 5 +- .../src/models/CreateFolderRequestModel.ts | 4 +- .../src/models/CreateLanguageRequestModel.ts | 3 +- .../src/models/CreateMediaRequestModel.ts | 3 +- .../src/models/CreatePackageRequestModel.ts | 1 + .../models/CreateRelationTypeRequestModel.ts | 3 +- .../src/models/CreateTemplateRequestModel.ts | 1 + .../src/models/CreateUserRequestModel.ts | 8 + .../src/models/CreateUserResponseModel.ts | 9 + .../src/models/CultureReponseModel.ts | 1 + .../src/models/DataTypeModelBaseModel.ts | 1 + .../DataTypePropertyPresentationModel.ts | 1 + .../models/DataTypePropertyReferenceModel.ts | 1 + .../models/DataTypeReferenceResponseModel.ts | 3 +- .../src/models/DataTypeResponseModel.ts | 7 +- .../models/DatabaseInstallResponseModel.ts | 1 + .../DatabaseSettingsPresentationModel.ts | 1 + .../models/DictionaryItemModelBaseModel.ts | 1 + .../src/models/DictionaryItemResponseModel.ts | 5 +- .../models/DictionaryItemTranslationModel.ts | 1 + .../models/DictionaryOverviewResponseModel.ts | 5 +- .../src/models/DisableUserRequestModel.ts | 8 + .../DocumentBlueprintTreeItemResponseModel.ts | 9 +- .../DocumentNotificationResponseModel.ts | 9 + .../src/models/DocumentResponseModel.ts | 5 +- .../models/DocumentTreeItemResponseModel.ts | 9 +- ...tTypePropertyTypeContainerResponseModel.ts | 1 + .../DocumentTypePropertyTypeResponseModel.ts | 1 + .../src/models/DocumentTypeResponseModel.ts | 7 +- .../DocumentTypeTreeItemResponseModel.ts | 5 +- .../src/models/DocumentValueModel.ts | 3 +- .../src/models/DocumentVariantRequestModel.ts | 3 +- .../models/DocumentVariantResponseModel.ts | 7 +- .../src/models/DomainPresentationModel.ts | 1 + .../DomainsPresentationModelBaseModel.ts | 1 + .../src/models/DomainsResponseModel.ts | 1 + .../src/models/EnableUserRequestModel.ts | 8 + .../src/models/EntityTreeItemResponseModel.ts | 9 +- .../src/models/FieldPresentationModel.ts | 1 + .../FileSystemTreeItemPresentationModel.ts | 5 +- .../src/models/FolderModelBaseModel.ts | 1 + .../src/models/FolderReponseModel.ts | 7 +- .../src/models/FolderTreeItemResponseModel.ts | 5 +- .../models/HealthCheckActionRequestModel.ts | 3 +- .../HealthCheckGroupPresentationBaseModel.ts | 1 + .../HealthCheckGroupPresentationModel.ts | 3 +- .../models/HealthCheckGroupResponseModel.ts | 1 + ...HealthCheckGroupWithResultResponseModel.ts | 1 + .../src/models/HealthCheckModel.ts | 5 +- .../src/models/HealthCheckModelBaseModel.ts | 3 +- .../models/HealthCheckResultResponseModel.ts | 1 + .../HealthCheckWithResultPresentationModel.ts | 3 +- .../src/models/HelpPageResponseModel.ts | 1 + .../ImportDictionaryItemsPresentationModel.ts | 9 - .../models/ImportDictionaryRequestModel.ts | 5 +- .../src/models/IndexResponseModel.ts | 1 + .../models/InstallSettingsResponseModel.ts | 1 + .../src/models/InstallVResponseModel.ts | 1 + .../src/models/InviteUserRequestModel.ts | 10 + .../src/models/LanguageModelBaseModel.ts | 1 + .../src/models/LanguageResponseModel.ts | 3 +- .../src/models/LogLevelCountsReponseModel.ts | 10 +- .../LogMessagePropertyPresentationModel.ts | 1 + .../src/models/LogMessageResponseModel.ts | 1 + .../src/models/LogTemplateResponseModel.ts | 1 + .../src/models/LoggerResponseModel.ts | 1 + ...aTypePropertyTypeContainerResponseModel.ts | 1 + .../MediaTypePropertyTypeResponseModel.ts | 1 + .../src/models/MediaTypeResponseModel.ts | 1 + .../backend-api/src/models/MediaValueModel.ts | 3 +- .../src/models/MediaVariantRequestModel.ts | 3 +- .../src/models/MediaVariantResponseModel.ts | 3 +- .../src/models/ModelsBuilderResponseModel.ts | 1 + .../src/models/MoveDataTypeRequestModel.ts | 3 +- .../src/models/MoveDictionaryRequestModel.ts | 3 +- .../src/models/ObjectTypeResponseModel.ts | 1 + .../backend-api/src/models/OkResultModel.ts | 1 + .../models/OutOfDateStatusResponseModel.ts | 1 + .../models/PackageDefinitionResponseModel.ts | 5 +- .../models/PackageManifestResponseModel.ts | 1 + .../PackageMigrationStatusResponseModel.ts | 1 + .../src/models/PackageModelBaseModel.ts | 3 +- .../src/models/PagedAuditLogResponseModel.ts | 1 + .../PagedAuditLogWithUsernameResponseModel.ts | 1 + .../PagedContentTreeItemResponseModel.ts | 1 + .../src/models/PagedCultureReponseModel.ts | 1 + .../PagedDictionaryOverviewResponseModel.ts | 1 + ...dDocumentBlueprintTreeItemResponseModel.ts | 1 + .../PagedDocumentTreeItemResponseModel.ts | 1 + .../PagedDocumentTypeTreeItemResponseModel.ts | 1 + .../PagedEntityTreeItemResponseModel.ts | 1 + ...agedFileSystemTreeItemPresentationModel.ts | 1 + .../PagedFolderTreeItemResponseModel.ts | 1 + .../PagedHealthCheckGroupResponseModel.ts | 1 + .../src/models/PagedHelpPageResponseModel.ts | 1 + .../src/models/PagedIndexResponseModel.ts | 1 + .../src/models/PagedLanguageResponseModel.ts | 1 + .../models/PagedLogMessageResponseModel.ts | 1 + .../models/PagedLogTemplateResponseModel.ts | 1 + .../src/models/PagedLoggerResponseModel.ts | 1 + .../models/PagedObjectTypeResponseModel.ts | 1 + .../PagedPackageDefinitionResponseModel.ts | 1 + ...agedPackageMigrationStatusResponseModel.ts | 1 + .../PagedRecycleBinItemResponseModel.ts | 1 + .../models/PagedRedirectUrlResponseModel.ts | 1 + .../models/PagedRelationItemResponseModel.ts | 1 + .../src/models/PagedRelationResponseModel.ts | 1 + .../PagedSavedLogSearchResponseModel.ts | 1 + .../models/PagedSearchResultResponseModel.ts | 1 + .../src/models/PagedSearcherResponseModel.ts | 1 + .../src/models/PagedTelemetryResponseModel.ts | 1 + .../models/PagedUserGroupPresentationModel.ts | 1 + .../src/models/PagedUserResponseModel.ts | 11 + .../src/models/ProfilingStatusRequestModel.ts | 1 + .../models/ProfilingStatusResponseModel.ts | 1 + .../src/models/PropertyTypeAppearanceModel.ts | 1 + ...ertyTypeContainerResponseModelBaseModel.ts | 5 +- .../PropertyTypeResponseModelBaseModel.ts | 7 +- .../src/models/PropertyTypeValidationModel.ts | 1 + .../src/models/RecycleBinItemResponseModel.ts | 5 +- .../src/models/RedirectUrlResponseModel.ts | 5 +- .../models/RedirectUrlStatusResponseModel.ts | 1 + .../src/models/RelationItemResponseModel.ts | 3 +- .../src/models/RelationResponseModel.ts | 1 + .../src/models/RelationTypeBaseModel.ts | 1 + .../src/models/RelationTypeResponseModel.ts | 13 +- .../src/models/SaveUserGroupRequestModel.ts | 1 + .../SavedLogSearchPresenationBaseModel.ts | 1 + .../src/models/SavedLogSearchRequestModel.ts | 1 + .../src/models/SavedLogSearchResponseModel.ts | 1 + .../src/models/SearchResultResponseModel.ts | 1 + .../src/models/SearcherResponseModel.ts | 1 + .../src/models/ServerStatusResponseModel.ts | 1 + .../src/models/SetAvatarRequestModel.ts | 8 + .../TelemetryRepresentationBaseModel.ts | 1 + .../src/models/TelemetryRequestModel.ts | 1 + .../src/models/TelemetryResponseModel.ts | 1 + .../src/models/TemplateModelBaseModel.ts | 1 + ...lateQueryExecuteFilterPresentationModel.ts | 1 + .../src/models/TemplateQueryExecuteModel.ts | 3 +- .../models/TemplateQueryExecuteSortModel.ts | 1 + .../src/models/TemplateQueryOperatorModel.ts | 1 + .../TemplateQueryPropertyPresentationModel.ts | 1 + ...emplateQueryResultItemPresentationModel.ts | 1 + .../TemplateQueryResultResponseModel.ts | 1 + .../TemplateQuerySettingsResponseModel.ts | 1 + .../src/models/TemplateResponseModel.ts | 5 +- .../models/TemplateScaffoldResponseModel.ts | 1 + .../src/models/TemporaryFileResponseModel.ts | 10 + .../src/models/TreeItemPresentationModel.ts | 1 + .../src/models/UnlockUsersRequestModel.ts | 8 + ...ntValueModelDocumentVariantRequestModel.ts | 1 + ...MediaValueModelMediaVariantRequestModel.ts | 1 + .../src/models/UpdateDataTypeRequestModel.ts | 1 + .../UpdateDictionaryItemRequestModel.ts | 1 + ...UpdateDocumentNotificationsRequestModel.ts | 8 + .../src/models/UpdateDocumentRequestModel.ts | 3 +- .../src/models/UpdateDomainsRequestModel.ts | 1 + .../src/models/UpdateFolderReponseModel.ts | 1 + .../src/models/UpdateLanguageRequestModel.ts | 1 + .../src/models/UpdateMediaRequestModel.ts | 1 + .../src/models/UpdatePackageRequestModel.ts | 3 +- .../models/UpdateRelationTypeRequestModel.ts | 1 + .../src/models/UpdateTemplateRequestModel.ts | 1 + .../src/models/UpdateUserGroupRequestModel.ts | 1 + .../UpdateUserGroupsOnUserRequestModel.ts | 9 + .../src/models/UpdateUserRequestModel.ts | 12 + .../models/UpgradeSettingsResponseModel.ts | 1 + .../models/UploadDictionaryResponseModel.ts | 10 - .../src/models/UserGroupBaseModel.ts | 5 +- .../src/models/UserGroupPresentationModel.ts | 5 +- .../src/models/UserInstallResponseModel.ts | 1 + .../backend-api/src/models/UserOrderModel.ts | 16 + .../src/models/UserPresentationBaseModel.ts | 11 + .../src/models/UserResponseModel.ts | 23 + .../src/models/UserSettingsModel.ts | 1 + .../backend-api/src/models/UserStateModel.ts | 12 + .../src/models/ValueModelBaseModel.ts | 1 + .../src/models/VariantModelBaseModel.ts | 1 + .../models/VariantResponseModelBaseModel.ts | 1 + .../src/models/VersionResponseModel.ts | 1 + .../src/services/AuditLogResource.ts | 70 +-- .../src/services/CultureResource.ts | 12 +- .../src/services/DataTypeResource.ts | 206 ++++----- .../src/services/DictionaryResource.ts | 170 ++++--- .../src/services/DocumentBlueprintResource.ts | 22 +- .../src/services/DocumentResource.ts | 234 ++++++---- .../src/services/DocumentTypeResource.ts | 62 +-- .../src/services/HealthCheckResource.ts | 36 +- .../backend-api/src/services/HelpResource.ts | 24 +- .../src/services/IndexerResource.ts | 28 +- .../src/services/InstallResource.ts | 16 +- .../src/services/LanguageResource.ts | 48 +- .../src/services/LogViewerResource.ts | 418 +++++++++-------- .../backend-api/src/services/MediaResource.ts | 142 +++--- .../src/services/MediaTypeResource.ts | 62 +-- .../src/services/MemberGroupResource.ts | 22 +- .../src/services/MemberTypeResource.ts | 22 +- .../src/services/ObjectTypesResource.ts | 12 +- .../src/services/PackageResource.ts | 100 ++--- .../src/services/PartialViewResource.ts | 36 +- .../src/services/ProfilingResource.ts | 8 +- .../services/RedirectManagementResource.ts | 60 +-- .../src/services/RelationResource.ts | 50 +-- .../src/services/RelationTypeResource.ts | 76 ++-- .../src/services/ScriptResource.ts | 36 +- .../src/services/SearcherResource.ts | 32 +- .../src/services/StaticFileResource.ts | 36 +- .../src/services/StylesheetResource.ts | 36 +- .../src/services/TelemetryResource.ts | 20 +- .../src/services/TemplateResource.ts | 102 ++--- .../src/services/TemporaryFileResource.ts | 80 ++++ .../src/services/TrackedReferenceResource.ts | 74 +-- .../src/services/UserGroupsResource.ts | 66 +-- .../backend-api/src/services/UsersResource.ts | 323 +++++++++++++ .../allowed-document-types-modal.token.ts | 2 +- .../token/import-dictionary-modal.token.ts | 4 +- .../libs/modal/token/template-modal.token.ts | 4 +- .../libs/models/index.ts | 18 +- .../append-to-frozen-array.function.ts | 4 +- .../libs/observable-api/array-state.ts | 16 +- .../data-source/data-source.interface.ts | 2 +- .../folder-data-source.interface.ts | 2 +- .../repository/detail-repository.interface.ts | 4 +- .../repository/folder-repository.interface.ts | 2 +- .../libs/store/entity-tree-store.ts | 30 +- .../libs/store/store-base.ts | 1 + src/Umbraco.Web.UI.Client/libs/store/store.ts | 2 +- .../workspace-entity-context.interface.ts | 2 +- .../dashboard-redirect-management.element.ts | 18 +- .../document-blueprint.detail.store.ts | 12 +- .../allowed-document-types-modal.element.ts | 10 +- .../repository/document-type.repository.ts | 70 +-- .../repository/document-type.store.ts | 8 +- .../sources/document-type.server.data.ts | 52 +-- .../sources/document-type.tree.server.data.ts | 24 +- .../document-type-workspace.context.ts | 22 +- .../document-type-workspace.element.ts | 6 +- .../document-type-workspace.stories.ts | 2 +- ...-workspace-view-edit-properties.element.ts | 24 +- ...cument-type-workspace-view-edit.element.ts | 12 +- ...t-type-workspace-view-templates.element.ts | 4 +- ...ent-table-actions-column-layout.element.ts | 2 +- .../document-table-collection-view.element.ts | 6 +- .../entity-actions/create/create.action.ts | 6 +- .../repository/document.repository.ts | 62 +-- .../documents/repository/document.store.ts | 8 +- .../sources/document.server.data.ts | 48 +- .../sources/document.tree.server.data.ts | 26 +- .../tree-item/document-tree-item.context.ts | 2 +- .../workspace/document-workspace.context.ts | 20 +- .../workspace/document-workspace.element.ts | 12 +- .../repository/media-type.detail.store.ts | 2 +- .../repository/media-type.repository.ts | 38 +- .../sources/media-type.detail.server.data.ts | 6 +- ...edia-type.details.server.data.interface.ts | 2 +- .../sources/media-type.tree.server.data.ts | 14 +- .../workspace/media-type-workspace.context.ts | 4 +- .../workspace/media-type-workspace.element.ts | 6 +- .../media-grid-collection-view.element.ts | 16 +- .../media-table-collection-view.element.ts | 2 +- .../src/backoffice/media/media/index.ts | 4 +- .../media/repository/media.repository.ts | 70 +-- .../media/media/repository/media.store.ts | 2 +- .../media/repository/media.tree.store.ts | 2 +- .../sources/media.detail.server.data.ts | 48 +- .../sources/media.tree.server.data.ts | 26 +- .../workspace/media-workspace-edit.element.ts | 12 +- .../workspace/media-workspace.context.ts | 16 +- .../workspace/media-workspace.element.ts | 6 +- .../workspace/media-workspace.stories.ts | 3 +- .../repository/member-group.repository.ts | 40 +- .../repository/member-group.store.ts | 2 +- .../member-group.detail.server.data.ts | 6 +- .../sources/member-group.tree.server.data.ts | 10 +- .../member-group-workspace.context.ts | 6 +- .../member-group-workspace.element.ts | 6 +- .../member-group-workspace.stories.ts | 2 +- ...orkspace-view-member-group-info.element.ts | 2 +- .../repository/member-type.repository.ts | 48 +- .../repository/member-type.store.ts | 2 +- .../sources/member-type.detail.server.data.ts | 8 +- .../sources/member-type.tree.server.data.ts | 12 +- .../member-type-workspace.context.ts | 10 +- .../member-type-workspace.element.ts | 6 +- .../members/members/member.detail.store.ts | 16 +- .../members/repository/member.repository.ts | 16 +- .../members/repository/member.store.ts | 2 +- .../sources/member.tree.server.data.ts | 8 +- .../workspace/member-workspace.context.ts | 2 +- .../workspace/member-workspace.element.ts | 6 +- .../workspace/member-workspace.stories.ts | 2 +- .../workspace-package-builder.element.ts | 23 +- .../created-packages-section-view.element.ts | 4 +- .../packages-created-overview.element.ts | 12 +- .../views/health-check-group.element.ts | 12 +- .../repository/data-type.repository.ts | 98 ++-- .../data-types/repository/data-type.store.ts | 10 +- .../sources/data-type-folder.server.data.ts | 38 +- .../sources/data-type.server.data.ts | 42 +- .../sources/data-type.tree.server.data.ts | 14 +- .../workspace/data-type-workspace.context.ts | 18 +- .../workspace/data-type-workspace.element.ts | 21 +- .../workspace/data-type-workspace.stories.ts | 3 +- .../workspace-view-data-type-info.element.ts | 4 +- .../language-root-workspace.element.ts | 2 +- .../language/language-workspace.context.ts | 2 +- .../log-viewer-log-types-chart.element.ts | 1 + .../repository/relation-type.repository.ts | 58 +-- .../repository/relation-type.store.ts | 10 +- .../sources/relation-type.server.data.ts | 38 +- .../sources/relation-type.tree.server.data.ts | 22 +- .../relation-type-workspace.context.ts | 24 +- .../relation-type-workspace.element.ts | 12 +- .../relation-type-workspace.stories.ts | 3 +- ...pe-workspace-view-relation-type.element.ts | 27 +- .../code-editor/code-editor.stories.ts | 4 +- .../extension-slot/extension-slot.element.ts | 1 + .../input-checkbox-list.element.ts | 1 + .../input-checkbox-list.stories.ts | 38 +- .../input-document-picker.element.ts | 30 +- .../input-document-type-picker.element.ts | 24 +- .../input-media-picker.element.ts | 28 +- .../input-template-picker.element.ts | 14 +- .../input-user-group.element.ts | 2 +- .../input-user/input-user.element.ts | 2 +- .../property-type-based-property.element.ts | 12 +- .../shared/components/table/table.element.ts | 18 +- .../shared/components/table/table.stories.ts | 35 +- .../template-card/template-card.element.ts | 90 ++-- .../entity-tree-item.context.ts | 2 +- .../shared/components/tree/tree.context.ts | 8 +- .../workspace-action-menu.element.ts | 2 +- .../workspace-view-collection.element.ts | 2 +- .../entity-manager-controller.ts | 6 +- ...kspace-container-structure-helper.class.ts | 10 +- .../workspace-context/workspace-context.ts | 2 +- ...rkspace-property-structure-helper.class.ts | 16 +- .../workspace-structure-manager.class.ts | 96 ++-- .../modals/template/template-modal.element.ts | 16 +- .../sources/stylesheet.server.data.ts | 2 +- .../workspace/stylesheet-workspace.context.ts | 2 +- .../templates/repository/sources/index.ts | 2 +- .../sources/template.detail.server.data.ts | 32 +- .../sources/template.tree.server.data.ts | 24 +- .../repository/template.repository.ts | 60 +-- .../templates/repository/template.store.ts | 2 +- .../workspace/template-workspace.context.ts | 10 +- .../workspace/template-workspace.element.ts | 4 +- ...ashboard-translation-dictionary.element.ts | 10 +- .../entity-actions/create/create.action.ts | 4 +- .../import/import-dictionary-modal.element.ts | 29 +- .../entity-actions/import/import.action.ts | 6 +- .../translation/dictionary/index.ts | 2 +- .../repository/dictionary.repository.ts | 68 +-- .../dictionary/repository/dictionary.store.ts | 2 +- .../sources/dictionary.detail.server.data.ts | 53 +-- ...ictionary.details.server.data.interface.ts | 8 +- .../sources/dictionary.tree.server.data.ts | 20 +- .../workspace/dictionary-workspace.context.ts | 10 +- .../workspace/dictionary-workspace.element.ts | 6 +- .../workspace/dictionary-workspace.stories.ts | 3 +- .../user-profile-app-profile.element.ts | 2 +- .../user-group-picker-modal.element.ts | 6 +- .../repository/user-group.store.ts | 22 +- .../user-group-workspace-edit.element.ts | 4 +- .../workspace/user-group-workspace.context.ts | 2 +- .../workspace/user-group-workspace.element.ts | 6 +- ...-group-table-name-column-layout.element.ts | 2 +- .../workspace-view-user-groups.element.ts | 6 +- .../grid/workspace-view-users-grid.element.ts | 16 +- .../user-table-name-column-layout.element.ts | 2 +- .../workspace-view-users-table.element.ts | 10 +- .../views/users/section-view-users.element.ts | 16 +- .../create-user/create-user-modal.element.ts | 2 +- .../invite-user/invite-user-modal.element.ts | 2 +- .../user-picker/user-picker-modal.element.ts | 6 +- .../users/users/repository/user.store.ts | 46 +- .../workspace/user-workspace-edit.element.ts | 12 +- .../users/workspace/user-workspace.context.ts | 2 +- .../users/workspace/user-workspace.element.ts | 6 +- .../src/core/mocks/data/data-type.data.ts | 182 ++++---- .../src/core/mocks/data/dictionary.data.ts | 18 +- .../mocks/data/document-blueprint.data.ts | 4 +- .../src/core/mocks/data/document-type.data.ts | 372 +++++++-------- .../src/core/mocks/data/document.data.ts | 54 +-- .../src/core/mocks/data/entity.data.ts | 31 +- .../src/core/mocks/data/health-check.data.ts | 52 +-- .../src/core/mocks/data/languages.data.ts | 8 +- .../src/core/mocks/data/log-viewer.data.ts | 12 +- .../src/core/mocks/data/media-type.data.ts | 18 +- .../src/core/mocks/data/media.data.ts | 54 +-- .../src/core/mocks/data/member-group.data.ts | 14 +- .../src/core/mocks/data/member-type.data.ts | 14 +- .../src/core/mocks/data/member.data.ts | 14 +- .../src/core/mocks/data/relation-type.data.ts | 38 +- .../src/core/mocks/data/template.data.ts | 32 +- .../src/core/mocks/data/user-groups.data.ts | 20 +- .../src/core/mocks/data/users.data.ts | 418 ++++++++--------- .../src/core/mocks/data/utils.ts | 4 +- .../core/mocks/domains/data-type.handlers.ts | 48 +- .../core/mocks/domains/dictionary.handlers.ts | 62 +-- .../mocks/domains/document-type.handlers.ts | 38 +- .../core/mocks/domains/document.handlers.ts | 26 +- .../mocks/domains/health-check.handlers.ts | 6 +- .../core/mocks/domains/language.handlers.ts | 12 +- .../core/mocks/domains/log-viewer.handlers.ts | 21 +- .../core/mocks/domains/media-type.handlers.ts | 12 +- .../src/core/mocks/domains/media.handlers.ts | 26 +- .../mocks/domains/member-group.handlers.ts | 6 +- .../mocks/domains/member-type.handlers.ts | 6 +- .../src/core/mocks/domains/member.handlers.ts | 6 +- .../core/mocks/domains/package.handlers.ts | 34 +- .../domains/redirect-management.handlers.ts | 70 +-- .../mocks/domains/relation-type.handlers.ts | 32 +- .../core/mocks/domains/template.handlers.ts | 26 +- .../core/mocks/domains/tree-media.handlers.ts | 12 +- .../mocks/domains/user-groups.handlers.ts | 14 +- .../src/core/mocks/domains/users.handlers.ts | 18 +- .../src/stories/store.mdx | 12 +- 442 files changed, 4495 insertions(+), 3680 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ChangePasswordUserRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateUserRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateUserResponseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DisableUserRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentNotificationResponseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/EnableUserRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ImportDictionaryItemsPresentationModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InviteUserRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedUserResponseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SetAvatarRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemporaryFileResponseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UnlockUsersRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDocumentNotificationsRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserGroupsOnUserRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserRequestModel.ts delete mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UploadDictionaryResponseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserOrderModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserPresentationBaseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserResponseModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserStateModel.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TemporaryFileResource.ts create mode 100644 src/Umbraco.Web.UI.Client/libs/backend-api/src/services/UsersResource.ts diff --git a/src/Umbraco.Web.UI.Client/.eslintrc.json b/src/Umbraco.Web.UI.Client/.eslintrc.json index 62976c7e21..12235e837e 100644 --- a/src/Umbraco.Web.UI.Client/.eslintrc.json +++ b/src/Umbraco.Web.UI.Client/.eslintrc.json @@ -2,6 +2,12 @@ "ignorePatterns": ["vite.*.ts"], "root": true, "plugins": ["eslint-plugin-local-rules"], + "parserOptions": { + "ecmaVersion": "latest" + }, + "env": { + "es6": true + }, "overrides": [ { "files": ["**/*.ts"], diff --git a/src/Umbraco.Web.UI.Client/eslint-local-rules.cjs b/src/Umbraco.Web.UI.Client/eslint-local-rules.cjs index eb0fb35f03..cf5a8913b1 100644 --- a/src/Umbraco.Web.UI.Client/eslint-local-rules.cjs +++ b/src/Umbraco.Web.UI.Client/eslint-local-rules.cjs @@ -116,6 +116,7 @@ module.exports = { category: 'Naming', recommended: true, }, + schema: [], }, create: function (context) { return { diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/core/request.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/core/request.ts index 0a87eb5f1c..1743c2b225 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/core/request.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/core/request.ts @@ -9,262 +9,265 @@ import type { OnCancel } from './CancelablePromise'; import type { OpenAPIConfig } from './OpenAPI'; const isDefined = (value: T | null | undefined): value is Exclude => { - return value !== undefined && value !== null; + return value !== undefined && value !== null; }; const isString = (value: any): value is string => { - return typeof value === 'string'; + return typeof value === 'string'; }; const isStringWithValue = (value: any): value is string => { - return isString(value) && value !== ''; + return isString(value) && value !== ''; }; const isBlob = (value: any): value is Blob => { - return ( - typeof value === 'object' && - typeof value.type === 'string' && - typeof value.stream === 'function' && - typeof value.arrayBuffer === 'function' && - typeof value.constructor === 'function' && - typeof value.constructor.name === 'string' && - /^(Blob|File)$/.test(value.constructor.name) && - /^(Blob|File)$/.test(value[Symbol.toStringTag]) - ); + return ( + typeof value === 'object' && + typeof value.type === 'string' && + typeof value.stream === 'function' && + typeof value.arrayBuffer === 'function' && + typeof value.constructor === 'function' && + typeof value.constructor.name === 'string' && + /^(Blob|File)$/.test(value.constructor.name) && + /^(Blob|File)$/.test(value[Symbol.toStringTag]) + ); }; const isFormData = (value: any): value is FormData => { - return value instanceof FormData; + return value instanceof FormData; }; const base64 = (str: string): string => { - try { - return btoa(str); - } catch (err) { - // @ts-ignore - return Buffer.from(str).toString('base64'); - } + try { + return btoa(str); + } catch (err) { + // @ts-ignore + return Buffer.from(str).toString('base64'); + } }; const getQueryString = (params: Record): string => { - const qs: string[] = []; + const qs: string[] = []; - const append = (key: string, value: any) => { - qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`); - }; + const append = (id: string, value: any) => { + qs.push(`${encodeURIComponent(id)}=${encodeURIComponent(String(value))}`); + }; - const process = (key: string, value: any) => { - if (isDefined(value)) { - if (Array.isArray(value)) { - value.forEach(v => { - process(key, v); - }); - } else if (typeof value === 'object') { - Object.entries(value).forEach(([k, v]) => { - process(`${key}[${k}]`, v); - }); - } else { - append(key, value); - } - } - }; + const process = (id: string, value: any) => { + if (isDefined(value)) { + if (Array.isArray(value)) { + value.forEach((v) => { + process(id, v); + }); + } else if (typeof value === 'object') { + Object.entries(value).forEach(([k, v]) => { + process(`${id}[${k}]`, v); + }); + } else { + append(id, value); + } + } + }; - Object.entries(params).forEach(([key, value]) => { - process(key, value); - }); + Object.entries(params).forEach(([id, value]) => { + process(id, value); + }); - if (qs.length > 0) { - return `?${qs.join('&')}`; - } + if (qs.length > 0) { + return `?${qs.join('&')}`; + } - return ''; + return ''; }; const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => { - const encoder = config.ENCODE_PATH || encodeURI; + const encoder = config.ENCODE_PATH || encodeURI; - const path = options.url - .replace('{api-version}', config.VERSION) - .replace(/{(.*?)}/g, (substring: string, group: string) => { - if (options.path?.hasOwnProperty(group)) { - return encoder(String(options.path[group])); - } - return substring; - }); + const path = options.url + .replace('{api-version}', config.VERSION) + .replace(/{(.*?)}/g, (substring: string, group: string) => { + if (options.path?.hasOwnProperty(group)) { + return encoder(String(options.path[group])); + } + return substring; + }); - const url = `${config.BASE}${path}`; - if (options.query) { - return `${url}${getQueryString(options.query)}`; - } - return url; + const url = `${config.BASE}${path}`; + if (options.query) { + return `${url}${getQueryString(options.query)}`; + } + return url; }; const getFormData = (options: ApiRequestOptions): FormData | undefined => { - if (options.formData) { - const formData = new FormData(); + if (options.formData) { + const formData = new FormData(); - const process = (key: string, value: any) => { - if (isString(value) || isBlob(value)) { - formData.append(key, value); - } else { - formData.append(key, JSON.stringify(value)); - } - }; + const process = (id: string, value: any) => { + if (isString(value) || isBlob(value)) { + formData.append(id, value); + } else { + formData.append(id, JSON.stringify(value)); + } + }; - Object.entries(options.formData) - .filter(([_, value]) => isDefined(value)) - .forEach(([key, value]) => { - if (Array.isArray(value)) { - value.forEach(v => process(key, v)); - } else { - process(key, value); - } - }); + Object.entries(options.formData) + .filter(([_, value]) => isDefined(value)) + .forEach(([id, value]) => { + if (Array.isArray(value)) { + value.forEach((v) => process(id, v)); + } else { + process(id, value); + } + }); - return formData; - } - return undefined; + return formData; + } + return undefined; }; type Resolver = (options: ApiRequestOptions) => Promise; const resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => { - if (typeof resolver === 'function') { - return (resolver as Resolver)(options); - } - return resolver; + if (typeof resolver === 'function') { + return (resolver as Resolver)(options); + } + return resolver; }; const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => { - const token = await resolve(options, config.TOKEN); - const username = await resolve(options, config.USERNAME); - const password = await resolve(options, config.PASSWORD); - const additionalHeaders = await resolve(options, config.HEADERS); + const token = await resolve(options, config.TOKEN); + const username = await resolve(options, config.USERNAME); + const password = await resolve(options, config.PASSWORD); + const additionalHeaders = await resolve(options, config.HEADERS); - const headers = Object.entries({ - Accept: 'application/json', - ...additionalHeaders, - ...options.headers, - }) - .filter(([_, value]) => isDefined(value)) - .reduce((headers, [key, value]) => ({ - ...headers, - [key]: String(value), - }), {} as Record); + const headers = Object.entries({ + Accept: 'application/json', + ...additionalHeaders, + ...options.headers, + }) + .filter(([_, value]) => isDefined(value)) + .reduce( + (headers, [id, value]) => ({ + ...headers, + [id]: String(value), + }), + {} as Record + ); - if (isStringWithValue(token)) { - headers['Authorization'] = `Bearer ${token}`; - } + if (isStringWithValue(token)) { + headers['Authorization'] = `Bearer ${token}`; + } - if (isStringWithValue(username) && isStringWithValue(password)) { - const credentials = base64(`${username}:${password}`); - headers['Authorization'] = `Basic ${credentials}`; - } + if (isStringWithValue(username) && isStringWithValue(password)) { + const credentials = base64(`${username}:${password}`); + headers['Authorization'] = `Basic ${credentials}`; + } - if (options.body) { - if (options.mediaType) { - headers['Content-Type'] = options.mediaType; - } else if (isBlob(options.body)) { - headers['Content-Type'] = options.body.type || 'application/octet-stream'; - } else if (isString(options.body)) { - headers['Content-Type'] = 'text/plain'; - } else if (!isFormData(options.body)) { - headers['Content-Type'] = 'application/json'; - } - } + if (options.body) { + if (options.mediaType) { + headers['Content-Type'] = options.mediaType; + } else if (isBlob(options.body)) { + headers['Content-Type'] = options.body.type || 'application/octet-stream'; + } else if (isString(options.body)) { + headers['Content-Type'] = 'text/plain'; + } else if (!isFormData(options.body)) { + headers['Content-Type'] = 'application/json'; + } + } - return new Headers(headers); + return new Headers(headers); }; const getRequestBody = (options: ApiRequestOptions): any => { - if (options.body) { - if (options.mediaType?.includes('/json')) { - return JSON.stringify(options.body) - } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { - return options.body; - } else { - return JSON.stringify(options.body); - } - } - return undefined; + if (options.body) { + if (options.mediaType?.includes('/json')) { + return JSON.stringify(options.body); + } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { + return options.body; + } else { + return JSON.stringify(options.body); + } + } + return undefined; }; export const sendRequest = async ( - config: OpenAPIConfig, - options: ApiRequestOptions, - url: string, - body: any, - formData: FormData | undefined, - headers: Headers, - onCancel: OnCancel + config: OpenAPIConfig, + options: ApiRequestOptions, + url: string, + body: any, + formData: FormData | undefined, + headers: Headers, + onCancel: OnCancel ): Promise => { - const controller = new AbortController(); + const controller = new AbortController(); - const request: RequestInit = { - headers, - body: body ?? formData, - method: options.method, - signal: controller.signal, - }; + const request: RequestInit = { + headers, + body: body ?? formData, + method: options.method, + signal: controller.signal, + }; - if (config.WITH_CREDENTIALS) { - request.credentials = config.CREDENTIALS; - } + if (config.WITH_CREDENTIALS) { + request.credentials = config.CREDENTIALS; + } - onCancel(() => controller.abort()); + onCancel(() => controller.abort()); - return await fetch(url, request); + return await fetch(url, request); }; const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => { - if (responseHeader) { - const content = response.headers.get(responseHeader); - if (isString(content)) { - return content; - } - } - return undefined; + if (responseHeader) { + const content = response.headers.get(responseHeader); + if (isString(content)) { + return content; + } + } + return undefined; }; const getResponseBody = async (response: Response): Promise => { - if (response.status !== 204) { - try { - const contentType = response.headers.get('Content-Type'); - if (contentType) { - const isJSON = contentType.toLowerCase().startsWith('application/json'); - if (isJSON) { - return await response.json(); - } else { - return await response.text(); - } - } - } catch (error) { - console.error(error); - } - } - return undefined; + if (response.status !== 204) { + try { + const contentType = response.headers.get('Content-Type'); + if (contentType) { + const isJSON = contentType.toLowerCase().startsWith('application/json'); + if (isJSON) { + return await response.json(); + } else { + return await response.text(); + } + } + } catch (error) { + console.error(error); + } + } + return undefined; }; const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => { - const errors: Record = { - 400: 'Bad Request', - 401: 'Unauthorized', - 403: 'Forbidden', - 404: 'Not Found', - 500: 'Internal Server Error', - 502: 'Bad Gateway', - 503: 'Service Unavailable', - ...options.errors, - } + const errors: Record = { + 400: 'Bad Request', + 401: 'Unauthorized', + 403: 'Forbidden', + 404: 'Not Found', + 500: 'Internal Server Error', + 502: 'Bad Gateway', + 503: 'Service Unavailable', + ...options.errors, + }; - const error = errors[result.status]; - if (error) { - throw new ApiError(options, result, error); - } + const error = errors[result.status]; + if (error) { + throw new ApiError(options, result, error); + } - if (!result.ok) { - throw new ApiError(options, result, 'Generic Error'); - } + if (!result.ok) { + throw new ApiError(options, result, 'Generic Error'); + } }; /** @@ -275,32 +278,32 @@ const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => * @throws ApiError */ export const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => { - return new CancelablePromise(async (resolve, reject, onCancel) => { - try { - const url = getUrl(config, options); - const formData = getFormData(options); - const body = getRequestBody(options); - const headers = await getHeaders(config, options); + return new CancelablePromise(async (resolve, reject, onCancel) => { + try { + const url = getUrl(config, options); + const formData = getFormData(options); + const body = getRequestBody(options); + const headers = await getHeaders(config, options); - if (!onCancel.isCancelled) { - const response = await sendRequest(config, options, url, body, formData, headers, onCancel); - const responseBody = await getResponseBody(response); - const responseHeader = getResponseHeader(response, options.responseHeader); + if (!onCancel.isCancelled) { + const response = await sendRequest(config, options, url, body, formData, headers, onCancel); + const responseBody = await getResponseBody(response); + const responseHeader = getResponseHeader(response, options.responseHeader); - const result: ApiResult = { - url, - ok: response.ok, - status: response.status, - statusText: response.statusText, - body: responseHeader ?? responseBody, - }; + const result: ApiResult = { + url, + ok: response.ok, + status: response.status, + statusText: response.statusText, + body: responseHeader ?? responseBody, + }; - catchErrorCodes(options, result); + catchErrorCodes(options, result); - resolve(result.body); - } - } catch (error) { - reject(error); - } - }); + resolve(result.body); + } + } catch (error) { + reject(error); + } + }); }; diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/index.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/index.ts index 5e9a463517..326b993f2f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/index.ts @@ -10,6 +10,7 @@ export type { AuditLogBaseModel } from './models/AuditLogBaseModel'; export type { AuditLogResponseModel } from './models/AuditLogResponseModel'; export type { AuditLogWithUsernameResponseModel } from './models/AuditLogWithUsernameResponseModel'; export { AuditTypeModel } from './models/AuditTypeModel'; +export type { ChangePasswordUserRequestModel } from './models/ChangePasswordUserRequestModel'; export type { ConsentLevelPresentationModel } from './models/ConsentLevelPresentationModel'; export type { ContentResponseModelBaseDocumentValueModelDocumentVariantResponseModel } from './models/ContentResponseModelBaseDocumentValueModelDocumentVariantResponseModel'; export { ContentStateModel } from './models/ContentStateModel'; @@ -33,6 +34,8 @@ export type { CreateMediaRequestModel } from './models/CreateMediaRequestModel'; export type { CreatePackageRequestModel } from './models/CreatePackageRequestModel'; export type { CreateRelationTypeRequestModel } from './models/CreateRelationTypeRequestModel'; export type { CreateTemplateRequestModel } from './models/CreateTemplateRequestModel'; +export type { CreateUserRequestModel } from './models/CreateUserRequestModel'; +export type { CreateUserResponseModel } from './models/CreateUserResponseModel'; export type { CultureReponseModel } from './models/CultureReponseModel'; export type { DatabaseInstallResponseModel } from './models/DatabaseInstallResponseModel'; export type { DatabaseSettingsPresentationModel } from './models/DatabaseSettingsPresentationModel'; @@ -46,7 +49,9 @@ export type { DictionaryItemResponseModel } from './models/DictionaryItemRespons export type { DictionaryItemTranslationModel } from './models/DictionaryItemTranslationModel'; export type { DictionaryOverviewResponseModel } from './models/DictionaryOverviewResponseModel'; export { DirectionModel } from './models/DirectionModel'; +export type { DisableUserRequestModel } from './models/DisableUserRequestModel'; export type { DocumentBlueprintTreeItemResponseModel } from './models/DocumentBlueprintTreeItemResponseModel'; +export type { DocumentNotificationResponseModel } from './models/DocumentNotificationResponseModel'; export type { DocumentResponseModel } from './models/DocumentResponseModel'; export type { DocumentTreeItemResponseModel } from './models/DocumentTreeItemResponseModel'; export type { DocumentTypePropertyTypeContainerResponseModel } from './models/DocumentTypePropertyTypeContainerResponseModel'; @@ -59,6 +64,7 @@ export type { DocumentVariantResponseModel } from './models/DocumentVariantRespo export type { DomainPresentationModel } from './models/DomainPresentationModel'; export type { DomainsPresentationModelBaseModel } from './models/DomainsPresentationModelBaseModel'; export type { DomainsResponseModel } from './models/DomainsResponseModel'; +export type { EnableUserRequestModel } from './models/EnableUserRequestModel'; export type { EntityTreeItemResponseModel } from './models/EntityTreeItemResponseModel'; export type { FieldPresentationModel } from './models/FieldPresentationModel'; export type { FileSystemTreeItemPresentationModel } from './models/FileSystemTreeItemPresentationModel'; @@ -76,11 +82,11 @@ export type { HealthCheckResultResponseModel } from './models/HealthCheckResultR export type { HealthCheckWithResultPresentationModel } from './models/HealthCheckWithResultPresentationModel'; export { HealthStatusModel } from './models/HealthStatusModel'; export type { HelpPageResponseModel } from './models/HelpPageResponseModel'; -export type { ImportDictionaryItemsPresentationModel } from './models/ImportDictionaryItemsPresentationModel'; export type { ImportDictionaryRequestModel } from './models/ImportDictionaryRequestModel'; export type { IndexResponseModel } from './models/IndexResponseModel'; export type { InstallSettingsResponseModel } from './models/InstallSettingsResponseModel'; export type { InstallVResponseModel } from './models/InstallVResponseModel'; +export type { InviteUserRequestModel } from './models/InviteUserRequestModel'; export type { LanguageModelBaseModel } from './models/LanguageModelBaseModel'; export type { LanguageResponseModel } from './models/LanguageResponseModel'; export type { LoggerResponseModel } from './models/LoggerResponseModel'; @@ -138,6 +144,7 @@ export type { PagedSearcherResponseModel } from './models/PagedSearcherResponseM export type { PagedSearchResultResponseModel } from './models/PagedSearchResultResponseModel'; export type { PagedTelemetryResponseModel } from './models/PagedTelemetryResponseModel'; export type { PagedUserGroupPresentationModel } from './models/PagedUserGroupPresentationModel'; +export type { PagedUserResponseModel } from './models/PagedUserResponseModel'; export type { ProblemDetailsModel } from './models/ProblemDetailsModel'; export type { ProfilingStatusRequestModel } from './models/ProfilingStatusRequestModel'; export type { ProfilingStatusResponseModel } from './models/ProfilingStatusResponseModel'; @@ -161,6 +168,7 @@ export type { SaveUserGroupRequestModel } from './models/SaveUserGroupRequestMod export type { SearcherResponseModel } from './models/SearcherResponseModel'; export type { SearchResultResponseModel } from './models/SearchResultResponseModel'; export type { ServerStatusResponseModel } from './models/ServerStatusResponseModel'; +export type { SetAvatarRequestModel } from './models/SetAvatarRequestModel'; export { StatusResultTypeModel } from './models/StatusResultTypeModel'; export { TelemetryLevelModel } from './models/TelemetryLevelModel'; export type { TelemetryRepresentationBaseModel } from './models/TelemetryRepresentationBaseModel'; @@ -178,11 +186,14 @@ export type { TemplateQueryResultResponseModel } from './models/TemplateQueryRes export type { TemplateQuerySettingsResponseModel } from './models/TemplateQuerySettingsResponseModel'; export type { TemplateResponseModel } from './models/TemplateResponseModel'; export type { TemplateScaffoldResponseModel } from './models/TemplateScaffoldResponseModel'; +export type { TemporaryFileResponseModel } from './models/TemporaryFileResponseModel'; export type { TreeItemPresentationModel } from './models/TreeItemPresentationModel'; +export type { UnlockUsersRequestModel } from './models/UnlockUsersRequestModel'; export type { UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel } from './models/UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel'; export type { UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel } from './models/UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel'; export type { UpdateDataTypeRequestModel } from './models/UpdateDataTypeRequestModel'; export type { UpdateDictionaryItemRequestModel } from './models/UpdateDictionaryItemRequestModel'; +export type { UpdateDocumentNotificationsRequestModel } from './models/UpdateDocumentNotificationsRequestModel'; export type { UpdateDocumentRequestModel } from './models/UpdateDocumentRequestModel'; export type { UpdateDomainsRequestModel } from './models/UpdateDomainsRequestModel'; export type { UpdateFolderReponseModel } from './models/UpdateFolderReponseModel'; @@ -192,12 +203,17 @@ export type { UpdatePackageRequestModel } from './models/UpdatePackageRequestMod export type { UpdateRelationTypeRequestModel } from './models/UpdateRelationTypeRequestModel'; export type { UpdateTemplateRequestModel } from './models/UpdateTemplateRequestModel'; export type { UpdateUserGroupRequestModel } from './models/UpdateUserGroupRequestModel'; +export type { UpdateUserGroupsOnUserRequestModel } from './models/UpdateUserGroupsOnUserRequestModel'; +export type { UpdateUserRequestModel } from './models/UpdateUserRequestModel'; export type { UpgradeSettingsResponseModel } from './models/UpgradeSettingsResponseModel'; -export type { UploadDictionaryResponseModel } from './models/UploadDictionaryResponseModel'; export type { UserGroupBaseModel } from './models/UserGroupBaseModel'; export type { UserGroupPresentationModel } from './models/UserGroupPresentationModel'; export type { UserInstallResponseModel } from './models/UserInstallResponseModel'; +export { UserOrderModel } from './models/UserOrderModel'; +export type { UserPresentationBaseModel } from './models/UserPresentationBaseModel'; +export type { UserResponseModel } from './models/UserResponseModel'; export type { UserSettingsModel } from './models/UserSettingsModel'; +export { UserStateModel } from './models/UserStateModel'; export type { ValueModelBaseModel } from './models/ValueModelBaseModel'; export type { VariantModelBaseModel } from './models/VariantModelBaseModel'; export type { VariantResponseModelBaseModel } from './models/VariantResponseModelBaseModel'; @@ -237,6 +253,8 @@ export { StaticFileResource } from './services/StaticFileResource'; export { StylesheetResource } from './services/StylesheetResource'; export { TelemetryResource } from './services/TelemetryResource'; export { TemplateResource } from './services/TemplateResource'; +export { TemporaryFileResource } from './services/TemporaryFileResource'; export { TrackedReferenceResource } from './services/TrackedReferenceResource'; export { UpgradeResource } from './services/UpgradeResource'; export { UserGroupsResource } from './services/UserGroupsResource'; +export { UsersResource } from './services/UsersResource'; diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogBaseModel.ts index 1e56192c01..92a6024151 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogBaseModel.ts @@ -5,11 +5,12 @@ import type { AuditTypeModel } from './AuditTypeModel'; export type AuditLogBaseModel = { - userKey?: string; - entityKey?: string | null; + userId?: string; + entityId?: string | null; timestamp?: string; logType?: AuditTypeModel; entityType?: string | null; comment?: string | null; parameters?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogResponseModel.ts index 150aed42b7..53aaafdb87 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogResponseModel.ts @@ -5,3 +5,4 @@ import type { AuditLogBaseModel } from './AuditLogBaseModel'; export type AuditLogResponseModel = AuditLogBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogWithUsernameResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogWithUsernameResponseModel.ts index 3cc6f615f3..eb768a7c43 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogWithUsernameResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/AuditLogWithUsernameResponseModel.ts @@ -5,6 +5,7 @@ import type { AuditLogBaseModel } from './AuditLogBaseModel'; export type AuditLogWithUsernameResponseModel = (AuditLogBaseModel & { -userName?: string | null; -userAvatars?: Array | null; + userName?: string | null; + userAvatars?: Array | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ChangePasswordUserRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ChangePasswordUserRequestModel.ts new file mode 100644 index 0000000000..450bc06538 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ChangePasswordUserRequestModel.ts @@ -0,0 +1,9 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type ChangePasswordUserRequestModel = { + newPassword?: string; + oldPassword?: string | null; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ConsentLevelPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ConsentLevelPresentationModel.ts index f8481a3c36..b9a1283ad5 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ConsentLevelPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ConsentLevelPresentationModel.ts @@ -8,3 +8,4 @@ export type ConsentLevelPresentationModel = { level?: TelemetryLevelModel; description?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentResponseModelBaseDocumentValueModelDocumentVariantResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentResponseModelBaseDocumentValueModelDocumentVariantResponseModel.ts index ed77830467..7ad34d5e3e 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentResponseModelBaseDocumentValueModelDocumentVariantResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentResponseModelBaseDocumentValueModelDocumentVariantResponseModel.ts @@ -8,6 +8,7 @@ import type { DocumentVariantResponseModel } from './DocumentVariantResponseMode export type ContentResponseModelBaseDocumentValueModelDocumentVariantResponseModel = { values?: Array; variants?: Array; - key?: string; - contentTypeKey?: string; + id?: string; + contentTypeId?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTreeItemResponseModel.ts index d87dbd5e82..630fb6ae84 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTreeItemResponseModel.ts @@ -5,7 +5,8 @@ import type { EntityTreeItemResponseModel } from './EntityTreeItemResponseModel'; export type ContentTreeItemResponseModel = (EntityTreeItemResponseModel & { -$type: string; -noAccess?: boolean; -isTrashed?: boolean; + $type: string; + noAccess?: boolean; + isTrashed?: boolean; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeCleanupModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeCleanupModel.ts index 6d5a4bdf54..7ea186e255 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeCleanupModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeCleanupModel.ts @@ -7,3 +7,4 @@ export type ContentTypeCleanupModel = { keepAllVersionsNewerThanDays?: number | null; keepLatestVersionPerDayForDays?: number | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeCompositionModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeCompositionModel.ts index 55cd2c0c03..d704a9fcf9 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeCompositionModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeCompositionModel.ts @@ -5,6 +5,7 @@ import type { ContentTypeCompositionTypeModel } from './ContentTypeCompositionTypeModel'; export type ContentTypeCompositionModel = { - key?: string; + id?: string; compositionType?: ContentTypeCompositionTypeModel; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeResponseModelBaseDocumentTypePropertyTypeResponseModelDocumentTypePropertyTypeContainerResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeResponseModelBaseDocumentTypePropertyTypeResponseModelDocumentTypePropertyTypeContainerResponseModel.ts index 34a78a67b9..8427bc56c6 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeResponseModelBaseDocumentTypePropertyTypeResponseModelDocumentTypePropertyTypeContainerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeResponseModelBaseDocumentTypePropertyTypeResponseModelDocumentTypePropertyTypeContainerResponseModel.ts @@ -8,7 +8,7 @@ import type { DocumentTypePropertyTypeContainerResponseModel } from './DocumentT import type { DocumentTypePropertyTypeResponseModel } from './DocumentTypePropertyTypeResponseModel'; export type ContentTypeResponseModelBaseDocumentTypePropertyTypeResponseModelDocumentTypePropertyTypeContainerResponseModel = { - key?: string; + id?: string; alias?: string; name?: string; description?: string | null; @@ -22,3 +22,4 @@ export type ContentTypeResponseModelBaseDocumentTypePropertyTypeResponseModelDoc allowedContentTypes?: Array; compositions?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeResponseModelBaseMediaTypePropertyTypeResponseModelMediaTypePropertyTypeContainerResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeResponseModelBaseMediaTypePropertyTypeResponseModelMediaTypePropertyTypeContainerResponseModel.ts index 0cae4423f3..c8285cef7b 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeResponseModelBaseMediaTypePropertyTypeResponseModelMediaTypePropertyTypeContainerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeResponseModelBaseMediaTypePropertyTypeResponseModelMediaTypePropertyTypeContainerResponseModel.ts @@ -8,7 +8,7 @@ import type { MediaTypePropertyTypeContainerResponseModel } from './MediaTypePro import type { MediaTypePropertyTypeResponseModel } from './MediaTypePropertyTypeResponseModel'; export type ContentTypeResponseModelBaseMediaTypePropertyTypeResponseModelMediaTypePropertyTypeContainerResponseModel = { - key?: string; + id?: string; alias?: string; name?: string; description?: string | null; @@ -22,3 +22,4 @@ export type ContentTypeResponseModelBaseMediaTypePropertyTypeResponseModelMediaT allowedContentTypes?: Array; compositions?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeSortModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeSortModel.ts index bf4f78b7d6..02c537079a 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeSortModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentTypeSortModel.ts @@ -3,6 +3,7 @@ /* eslint-disable */ export type ContentTypeSortModel = { - key?: string; + id?: string; sortOrder?: number; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentUrlInfoModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentUrlInfoModel.ts index 0afeb120d3..aabc5314c5 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentUrlInfoModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ContentUrlInfoModel.ts @@ -6,3 +6,4 @@ export type ContentUrlInfoModel = { culture?: string | null; url?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CopyDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CopyDataTypeRequestModel.ts index d15502deef..eb76506716 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CopyDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CopyDataTypeRequestModel.ts @@ -3,5 +3,6 @@ /* eslint-disable */ export type CopyDataTypeRequestModel = { - targetKey?: string | null; + targetId?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts index 6e7608eca4..bb5147ecc2 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts @@ -8,5 +8,6 @@ import type { DocumentVariantRequestModel } from './DocumentVariantRequestModel' export type CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel = { values?: Array; variants?: Array; - parentKey?: string | null; + parentId?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts index a8ecb5c7bb..3a0e270428 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts @@ -8,5 +8,6 @@ import type { MediaVariantRequestModel } from './MediaVariantRequestModel'; export type CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel = { values?: Array; variants?: Array; - parentKey?: string | null; + parentId?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDataTypeRequestModel.ts index df4380d8ad..a3b6c50157 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDataTypeRequestModel.ts @@ -5,5 +5,7 @@ import type { DataTypeModelBaseModel } from './DataTypeModelBaseModel'; export type CreateDataTypeRequestModel = (DataTypeModelBaseModel & { -parentKey?: string | null; + id?: string | null; + parentId?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDictionaryItemRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDictionaryItemRequestModel.ts index fb32c43da5..95b723fb43 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDictionaryItemRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDictionaryItemRequestModel.ts @@ -5,5 +5,6 @@ import type { DictionaryItemModelBaseModel } from './DictionaryItemModelBaseModel'; export type CreateDictionaryItemRequestModel = (DictionaryItemModelBaseModel & { -parentKey?: string | null; + parentId?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDocumentRequestModel.ts index a789b2c4fa..645d204832 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateDocumentRequestModel.ts @@ -5,6 +5,7 @@ import type { CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel } from './CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel'; export type CreateDocumentRequestModel = (CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel & { -contentTypeKey?: string; -templateKey?: string | null; + contentTypeId?: string; + templateId?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateFolderRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateFolderRequestModel.ts index 6f23857001..e4af10670e 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateFolderRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateFolderRequestModel.ts @@ -5,5 +5,7 @@ import type { FolderModelBaseModel } from './FolderModelBaseModel'; export type CreateFolderRequestModel = (FolderModelBaseModel & { -parentKey?: string | null; + id?: string | null; + parentId?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateLanguageRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateLanguageRequestModel.ts index 4eed24634f..16326ad62f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateLanguageRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateLanguageRequestModel.ts @@ -5,5 +5,6 @@ import type { LanguageModelBaseModel } from './LanguageModelBaseModel'; export type CreateLanguageRequestModel = (LanguageModelBaseModel & { -isoCode?: string; + isoCode?: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateMediaRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateMediaRequestModel.ts index bf4333b9da..723fe2ecfc 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateMediaRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateMediaRequestModel.ts @@ -5,5 +5,6 @@ import type { CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel } from './CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel'; export type CreateMediaRequestModel = (CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel & { -contentTypeKey?: string; + contentTypeId?: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreatePackageRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreatePackageRequestModel.ts index 2cfedb1c03..a88367acca 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreatePackageRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreatePackageRequestModel.ts @@ -5,3 +5,4 @@ import type { PackageModelBaseModel } from './PackageModelBaseModel'; export type CreatePackageRequestModel = PackageModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateRelationTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateRelationTypeRequestModel.ts index de6232ee5c..fb75ae7736 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateRelationTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateRelationTypeRequestModel.ts @@ -5,5 +5,6 @@ import type { RelationTypeBaseModel } from './RelationTypeBaseModel'; export type CreateRelationTypeRequestModel = (RelationTypeBaseModel & { -key?: string | null; + id?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateTemplateRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateTemplateRequestModel.ts index e2d8afb847..e5aa227ac5 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateTemplateRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateTemplateRequestModel.ts @@ -5,3 +5,4 @@ import type { TemplateModelBaseModel } from './TemplateModelBaseModel'; export type CreateTemplateRequestModel = TemplateModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateUserRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateUserRequestModel.ts new file mode 100644 index 0000000000..0166c949fa --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateUserRequestModel.ts @@ -0,0 +1,8 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { UserPresentationBaseModel } from './UserPresentationBaseModel'; + +export type CreateUserRequestModel = UserPresentationBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateUserResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateUserResponseModel.ts new file mode 100644 index 0000000000..0d3678436e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CreateUserResponseModel.ts @@ -0,0 +1,9 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type CreateUserResponseModel = { + userId?: string; + initialPassword?: string | null; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CultureReponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CultureReponseModel.ts index 3b17cfc739..cf18c8883e 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CultureReponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/CultureReponseModel.ts @@ -6,3 +6,4 @@ export type CultureReponseModel = { name?: string; englishName?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeModelBaseModel.ts index 9c8b59ed42..c7fa61f661 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeModelBaseModel.ts @@ -10,3 +10,4 @@ export type DataTypeModelBaseModel = { propertyEditorUiAlias?: string | null; values?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypePropertyPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypePropertyPresentationModel.ts index 10ca3bc30c..30bcddd9a3 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypePropertyPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypePropertyPresentationModel.ts @@ -6,3 +6,4 @@ export type DataTypePropertyPresentationModel = { alias?: string; value?: any; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypePropertyReferenceModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypePropertyReferenceModel.ts index d78ee8d9f8..f891dd3af0 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypePropertyReferenceModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypePropertyReferenceModel.ts @@ -6,3 +6,4 @@ export type DataTypePropertyReferenceModel = { name?: string; alias?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeReferenceResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeReferenceResponseModel.ts index 4586e124d8..9855622b89 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeReferenceResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeReferenceResponseModel.ts @@ -5,7 +5,8 @@ import type { DataTypePropertyReferenceModel } from './DataTypePropertyReferenceModel'; export type DataTypeReferenceResponseModel = { - key?: string; + id?: string; type?: string; properties?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeResponseModel.ts index ab8d3cef09..5fa2a1085c 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DataTypeResponseModel.ts @@ -5,7 +5,8 @@ import type { DataTypeModelBaseModel } from './DataTypeModelBaseModel'; export type DataTypeResponseModel = (DataTypeModelBaseModel & { -$type: string; -key?: string; -parentKey?: string | null; + $type: string; + id?: string; + parentId?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DatabaseInstallResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DatabaseInstallResponseModel.ts index 48dac68577..233df53325 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DatabaseInstallResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DatabaseInstallResponseModel.ts @@ -12,3 +12,4 @@ export type DatabaseInstallResponseModel = { useIntegratedAuthentication?: boolean; connectionString?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DatabaseSettingsPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DatabaseSettingsPresentationModel.ts index ed0057f69f..8046700e30 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DatabaseSettingsPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DatabaseSettingsPresentationModel.ts @@ -15,3 +15,4 @@ export type DatabaseSettingsPresentationModel = { supportsIntegratedAuthentication?: boolean; requiresConnectionTest?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemModelBaseModel.ts index 1ffac7af64..cd1a89d95a 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemModelBaseModel.ts @@ -8,3 +8,4 @@ export type DictionaryItemModelBaseModel = { name?: string; translations?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemResponseModel.ts index b691fd7c96..f5da8949f1 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemResponseModel.ts @@ -5,6 +5,7 @@ import type { DictionaryItemModelBaseModel } from './DictionaryItemModelBaseModel'; export type DictionaryItemResponseModel = (DictionaryItemModelBaseModel & { -$type: string; -key?: string; + $type: string; + id?: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemTranslationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemTranslationModel.ts index 37e5189a01..9bc10a302f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemTranslationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryItemTranslationModel.ts @@ -6,3 +6,4 @@ export type DictionaryItemTranslationModel = { isoCode?: string; translation?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryOverviewResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryOverviewResponseModel.ts index f0744047dc..abc3190425 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryOverviewResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DictionaryOverviewResponseModel.ts @@ -4,7 +4,8 @@ export type DictionaryOverviewResponseModel = { name?: string | null; - key?: string; - parentKey?: string | null; + id?: string; + parentId?: string | null; translatedIsoCodes?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DisableUserRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DisableUserRequestModel.ts new file mode 100644 index 0000000000..1074d06b75 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DisableUserRequestModel.ts @@ -0,0 +1,8 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type DisableUserRequestModel = { + userIds?: Array; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts index 6821ca9675..0dc6c99953 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts @@ -5,8 +5,9 @@ import type { EntityTreeItemResponseModel } from './EntityTreeItemResponseModel'; export type DocumentBlueprintTreeItemResponseModel = (EntityTreeItemResponseModel & { -$type: string; -documentTypeKey?: string; -documentTypeAlias?: string; -documentTypeName?: string | null; + $type: string; + documentTypeId?: string; + documentTypeAlias?: string; + documentTypeName?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentNotificationResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentNotificationResponseModel.ts new file mode 100644 index 0000000000..e898c96eda --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentNotificationResponseModel.ts @@ -0,0 +1,9 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type DocumentNotificationResponseModel = { + actionId?: string; + subscribed?: boolean; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentResponseModel.ts index af1dbfa151..ce053d9297 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentResponseModel.ts @@ -6,6 +6,7 @@ import type { ContentResponseModelBaseDocumentValueModelDocumentVariantResponseM import type { ContentUrlInfoModel } from './ContentUrlInfoModel'; export type DocumentResponseModel = (ContentResponseModelBaseDocumentValueModelDocumentVariantResponseModel & { -urls?: Array; -templateKey?: string | null; + urls?: Array; + templateId?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTreeItemResponseModel.ts index 2f49967d81..d9d187c704 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTreeItemResponseModel.ts @@ -5,8 +5,9 @@ import type { ContentTreeItemResponseModel } from './ContentTreeItemResponseModel'; export type DocumentTreeItemResponseModel = (ContentTreeItemResponseModel & { -$type: string; -isProtected?: boolean; -isPublished?: boolean; -isEdited?: boolean; + $type: string; + isProtected?: boolean; + isPublished?: boolean; + isEdited?: boolean; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts index 0aa23dce56..83aa9e6459 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypePropertyTypeContainerResponseModel.ts @@ -5,3 +5,4 @@ import type { PropertyTypeContainerResponseModelBaseModel } from './PropertyTypeContainerResponseModelBaseModel'; export type DocumentTypePropertyTypeContainerResponseModel = PropertyTypeContainerResponseModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts index 2cd2e32d6e..c74873bb1b 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypePropertyTypeResponseModel.ts @@ -5,3 +5,4 @@ import type { PropertyTypeResponseModelBaseModel } from './PropertyTypeResponseModelBaseModel'; export type DocumentTypePropertyTypeResponseModel = PropertyTypeResponseModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypeResponseModel.ts index 7e0adcb071..8712b46d1f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypeResponseModel.ts @@ -6,7 +6,8 @@ import type { ContentTypeCleanupModel } from './ContentTypeCleanupModel'; import type { ContentTypeResponseModelBaseDocumentTypePropertyTypeResponseModelDocumentTypePropertyTypeContainerResponseModel } from './ContentTypeResponseModelBaseDocumentTypePropertyTypeResponseModelDocumentTypePropertyTypeContainerResponseModel'; export type DocumentTypeResponseModel = (ContentTypeResponseModelBaseDocumentTypePropertyTypeResponseModelDocumentTypePropertyTypeContainerResponseModel & { -allowedTemplateKeys?: Array; -defaultTemplateKey?: string | null; -cleanup?: ContentTypeCleanupModel; + allowedTemplateIds?: Array; + defaultTemplateId?: string | null; + cleanup?: ContentTypeCleanupModel; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts index f6737ab3af..d211b01020 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentTypeTreeItemResponseModel.ts @@ -5,6 +5,7 @@ import type { FolderTreeItemResponseModel } from './FolderTreeItemResponseModel'; export type DocumentTypeTreeItemResponseModel = (FolderTreeItemResponseModel & { -$type: string; -isElement?: boolean; + $type: string; + isElement?: boolean; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentValueModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentValueModel.ts index 3f856dc060..497bb7255a 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentValueModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentValueModel.ts @@ -5,5 +5,6 @@ import type { ValueModelBaseModel } from './ValueModelBaseModel'; export type DocumentValueModel = (ValueModelBaseModel & { -$type: string; + $type: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentVariantRequestModel.ts index a362a5d53c..8377863391 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentVariantRequestModel.ts @@ -5,5 +5,6 @@ import type { VariantModelBaseModel } from './VariantModelBaseModel'; export type DocumentVariantRequestModel = (VariantModelBaseModel & { -$type: string; + $type: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentVariantResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentVariantResponseModel.ts index 1ec48739e2..2c19f50dd9 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentVariantResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DocumentVariantResponseModel.ts @@ -6,7 +6,8 @@ import type { ContentStateModel } from './ContentStateModel'; import type { VariantResponseModelBaseModel } from './VariantResponseModelBaseModel'; export type DocumentVariantResponseModel = (VariantResponseModelBaseModel & { -$type: string; -state?: ContentStateModel; -publishDate?: string | null; + $type: string; + state?: ContentStateModel; + publishDate?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainPresentationModel.ts index 05f340dbb8..237c3037f4 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainPresentationModel.ts @@ -6,3 +6,4 @@ export type DomainPresentationModel = { domainName?: string; isoCode?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainsPresentationModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainsPresentationModelBaseModel.ts index 0109e12809..597b473ad7 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainsPresentationModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainsPresentationModelBaseModel.ts @@ -8,3 +8,4 @@ export type DomainsPresentationModelBaseModel = { defaultIsoCode?: string | null; domains?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainsResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainsResponseModel.ts index 4ef04f4c24..aeec02fb3d 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainsResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/DomainsResponseModel.ts @@ -5,3 +5,4 @@ import type { DomainsPresentationModelBaseModel } from './DomainsPresentationModelBaseModel'; export type DomainsResponseModel = DomainsPresentationModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/EnableUserRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/EnableUserRequestModel.ts new file mode 100644 index 0000000000..6230b2469f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/EnableUserRequestModel.ts @@ -0,0 +1,8 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type EnableUserRequestModel = { + userIds?: Array; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/EntityTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/EntityTreeItemResponseModel.ts index 7efeefad1e..6cff369186 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/EntityTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/EntityTreeItemResponseModel.ts @@ -5,8 +5,9 @@ import type { TreeItemPresentationModel } from './TreeItemPresentationModel'; export type EntityTreeItemResponseModel = (TreeItemPresentationModel & { -$type: string; -key?: string; -isContainer?: boolean; -parentKey?: string | null; + $type: string; + id?: string; + isContainer?: boolean; + parentId?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FieldPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FieldPresentationModel.ts index 14255377d9..73dd10d3b0 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FieldPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FieldPresentationModel.ts @@ -6,3 +6,4 @@ export type FieldPresentationModel = { name?: string; values?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FileSystemTreeItemPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FileSystemTreeItemPresentationModel.ts index 98c014b13c..9b82bc2e4a 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FileSystemTreeItemPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FileSystemTreeItemPresentationModel.ts @@ -5,6 +5,7 @@ import type { TreeItemPresentationModel } from './TreeItemPresentationModel'; export type FileSystemTreeItemPresentationModel = (TreeItemPresentationModel & { -path?: string; -isFolder?: boolean; + path?: string; + isFolder?: boolean; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderModelBaseModel.ts index f4fa285d6a..bb5a9dab5b 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderModelBaseModel.ts @@ -5,3 +5,4 @@ export type FolderModelBaseModel = { name?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderReponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderReponseModel.ts index c3606779e5..dede400904 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderReponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderReponseModel.ts @@ -5,7 +5,8 @@ import type { FolderModelBaseModel } from './FolderModelBaseModel'; export type FolderReponseModel = (FolderModelBaseModel & { -$type: string; -key?: string; -parentKey?: string | null; + $type: string; + id?: string; + parentId?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderTreeItemResponseModel.ts index 25c0f50fd2..207186fdc1 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/FolderTreeItemResponseModel.ts @@ -5,6 +5,7 @@ import type { EntityTreeItemResponseModel } from './EntityTreeItemResponseModel'; export type FolderTreeItemResponseModel = (EntityTreeItemResponseModel & { -$type: string; -isFolder?: boolean; + $type: string; + isFolder?: boolean; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckActionRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckActionRequestModel.ts index 0a64ed3f60..05f50ef3c6 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckActionRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckActionRequestModel.ts @@ -3,7 +3,7 @@ /* eslint-disable */ export type HealthCheckActionRequestModel = { - healthCheckKey?: string; + healthCheckId?: string; alias?: string | null; name?: string | null; description?: string | null; @@ -12,3 +12,4 @@ export type HealthCheckActionRequestModel = { providedValueValidation?: string | null; providedValueValidationRegex?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupPresentationBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupPresentationBaseModel.ts index fbc62be4ff..22073b3a22 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupPresentationBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupPresentationBaseModel.ts @@ -5,3 +5,4 @@ export type HealthCheckGroupPresentationBaseModel = { name?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupPresentationModel.ts index dfdf778e12..8029327431 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupPresentationModel.ts @@ -6,5 +6,6 @@ import type { HealthCheckGroupPresentationBaseModel } from './HealthCheckGroupPr import type { HealthCheckModel } from './HealthCheckModel'; export type HealthCheckGroupPresentationModel = (HealthCheckGroupPresentationBaseModel & { -checks?: Array; + checks?: Array; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupResponseModel.ts index 5a038bd74e..46704d9f25 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupResponseModel.ts @@ -5,3 +5,4 @@ import type { HealthCheckGroupPresentationBaseModel } from './HealthCheckGroupPresentationBaseModel'; export type HealthCheckGroupResponseModel = HealthCheckGroupPresentationBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupWithResultResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupWithResultResponseModel.ts index 45f3b948df..e3a7841939 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupWithResultResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckGroupWithResultResponseModel.ts @@ -7,3 +7,4 @@ import type { HealthCheckWithResultPresentationModel } from './HealthCheckWithRe export type HealthCheckGroupWithResultResponseModel = { checks?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckModel.ts index 56ca3e0121..9a85add96d 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckModel.ts @@ -5,6 +5,7 @@ import type { HealthCheckModelBaseModel } from './HealthCheckModelBaseModel'; export type HealthCheckModel = (HealthCheckModelBaseModel & { -name?: string; -description?: string | null; + name?: string; + description?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckModelBaseModel.ts index 55f41c4618..0cee4aca31 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckModelBaseModel.ts @@ -3,5 +3,6 @@ /* eslint-disable */ export type HealthCheckModelBaseModel = { - key?: string; + id?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckResultResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckResultResponseModel.ts index d5a99706b5..c0c237a43c 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckResultResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckResultResponseModel.ts @@ -11,3 +11,4 @@ export type HealthCheckResultResponseModel = { actions?: Array | null; readMoreLink?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckWithResultPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckWithResultPresentationModel.ts index 12929e62f8..5028107875 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckWithResultPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HealthCheckWithResultPresentationModel.ts @@ -6,5 +6,6 @@ import type { HealthCheckModelBaseModel } from './HealthCheckModelBaseModel'; import type { HealthCheckResultResponseModel } from './HealthCheckResultResponseModel'; export type HealthCheckWithResultPresentationModel = (HealthCheckModelBaseModel & { -results?: Array | null; + results?: Array | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HelpPageResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HelpPageResponseModel.ts index 43a41c82c6..a3cb83ead7 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HelpPageResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/HelpPageResponseModel.ts @@ -8,3 +8,4 @@ export type HelpPageResponseModel = { url?: string | null; type?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ImportDictionaryItemsPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ImportDictionaryItemsPresentationModel.ts deleted file mode 100644 index ae77e85dbc..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ImportDictionaryItemsPresentationModel.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type ImportDictionaryItemsPresentationModel = { - key?: string; - name?: string | null; - parentKey?: string | null; -}; diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ImportDictionaryRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ImportDictionaryRequestModel.ts index f08dd2599a..4e29abf47a 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ImportDictionaryRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ImportDictionaryRequestModel.ts @@ -3,6 +3,7 @@ /* eslint-disable */ export type ImportDictionaryRequestModel = { - fileName?: string; - parentKey?: string | null; + temporaryFileId?: string; + parentId?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/IndexResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/IndexResponseModel.ts index befb90a467..68c87f9aa0 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/IndexResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/IndexResponseModel.ts @@ -13,3 +13,4 @@ export type IndexResponseModel = { fieldCount: number; providerProperties?: Record | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InstallSettingsResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InstallSettingsResponseModel.ts index 2b432cb901..100bb5b12f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InstallSettingsResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InstallSettingsResponseModel.ts @@ -9,3 +9,4 @@ export type InstallSettingsResponseModel = { user?: UserSettingsModel; databases?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InstallVResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InstallVResponseModel.ts index 0754a817a4..ada168bb74 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InstallVResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InstallVResponseModel.ts @@ -11,3 +11,4 @@ export type InstallVResponseModel = { database: DatabaseInstallResponseModel; telemetryLevel?: TelemetryLevelModel; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InviteUserRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InviteUserRequestModel.ts new file mode 100644 index 0000000000..e0e7e9ad62 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/InviteUserRequestModel.ts @@ -0,0 +1,10 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { CreateUserRequestModel } from './CreateUserRequestModel'; + +export type InviteUserRequestModel = (CreateUserRequestModel & { + message?: string | null; +}); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LanguageModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LanguageModelBaseModel.ts index b7dd8054d4..eaff3e8d4e 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LanguageModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LanguageModelBaseModel.ts @@ -8,3 +8,4 @@ export type LanguageModelBaseModel = { isMandatory?: boolean; fallbackIsoCode?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LanguageResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LanguageResponseModel.ts index 77993ea4ae..5d17bf3842 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LanguageResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LanguageResponseModel.ts @@ -5,5 +5,6 @@ import type { LanguageModelBaseModel } from './LanguageModelBaseModel'; export type LanguageResponseModel = (LanguageModelBaseModel & { -isoCode?: string; + isoCode?: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogLevelCountsReponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogLevelCountsReponseModel.ts index 8a423396d7..d8e5543810 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogLevelCountsReponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogLevelCountsReponseModel.ts @@ -3,9 +3,9 @@ /* eslint-disable */ export type LogLevelCountsReponseModel = { - information?: number; - debug?: number; - warning?: number; - error?: number; - fatal?: number; + information?: number; + debug?: number; + warning?: number; + error?: number; + fatal?: number; }; diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogMessagePropertyPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogMessagePropertyPresentationModel.ts index 51a22a6a2b..dd9be7aa49 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogMessagePropertyPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogMessagePropertyPresentationModel.ts @@ -6,3 +6,4 @@ export type LogMessagePropertyPresentationModel = { name?: string; value?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogMessageResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogMessageResponseModel.ts index 38e9321909..ad67dd8483 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogMessageResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogMessageResponseModel.ts @@ -13,3 +13,4 @@ export type LogMessageResponseModel = { properties?: Array; exception?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogTemplateResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogTemplateResponseModel.ts index 2731cd2df8..1aeece3a0a 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogTemplateResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LogTemplateResponseModel.ts @@ -6,3 +6,4 @@ export type LogTemplateResponseModel = { messageTemplate?: string | null; count?: number; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LoggerResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LoggerResponseModel.ts index 6615168857..552470c462 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LoggerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/LoggerResponseModel.ts @@ -8,3 +8,4 @@ export type LoggerResponseModel = { name?: string; level?: LogLevelModel; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts index dea0899aee..f8a0b7ba60 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypePropertyTypeContainerResponseModel.ts @@ -5,3 +5,4 @@ import type { PropertyTypeContainerResponseModelBaseModel } from './PropertyTypeContainerResponseModelBaseModel'; export type MediaTypePropertyTypeContainerResponseModel = PropertyTypeContainerResponseModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts index 30de030f1a..a4d992c86a 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypePropertyTypeResponseModel.ts @@ -5,3 +5,4 @@ import type { PropertyTypeResponseModelBaseModel } from './PropertyTypeResponseModelBaseModel'; export type MediaTypePropertyTypeResponseModel = PropertyTypeResponseModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypeResponseModel.ts index ba0ca6251c..71d255850e 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaTypeResponseModel.ts @@ -5,3 +5,4 @@ import type { ContentTypeResponseModelBaseMediaTypePropertyTypeResponseModelMediaTypePropertyTypeContainerResponseModel } from './ContentTypeResponseModelBaseMediaTypePropertyTypeResponseModelMediaTypePropertyTypeContainerResponseModel'; export type MediaTypeResponseModel = ContentTypeResponseModelBaseMediaTypePropertyTypeResponseModelMediaTypePropertyTypeContainerResponseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaValueModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaValueModel.ts index 3df317dfed..a8ba985e23 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaValueModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaValueModel.ts @@ -5,5 +5,6 @@ import type { ValueModelBaseModel } from './ValueModelBaseModel'; export type MediaValueModel = (ValueModelBaseModel & { -$type: string; + $type: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaVariantRequestModel.ts index 49b8b7b4e6..66baded663 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaVariantRequestModel.ts @@ -5,5 +5,6 @@ import type { VariantModelBaseModel } from './VariantModelBaseModel'; export type MediaVariantRequestModel = (VariantModelBaseModel & { -$type: string; + $type: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaVariantResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaVariantResponseModel.ts index b76e970304..739ae9bd33 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaVariantResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MediaVariantResponseModel.ts @@ -5,5 +5,6 @@ import type { VariantResponseModelBaseModel } from './VariantResponseModelBaseModel'; export type MediaVariantResponseModel = (VariantResponseModelBaseModel & { -$type: string; + $type: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ModelsBuilderResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ModelsBuilderResponseModel.ts index cb7477ebdf..5f9962c2fa 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ModelsBuilderResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ModelsBuilderResponseModel.ts @@ -13,3 +13,4 @@ export type ModelsBuilderResponseModel = { modelsNamespace?: string | null; trackingOutOfDateModels?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MoveDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MoveDataTypeRequestModel.ts index 2470cac98c..3e318c9479 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MoveDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MoveDataTypeRequestModel.ts @@ -3,5 +3,6 @@ /* eslint-disable */ export type MoveDataTypeRequestModel = { - targetKey?: string | null; + targetId?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MoveDictionaryRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MoveDictionaryRequestModel.ts index 742605cfcc..0973241bc6 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MoveDictionaryRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/MoveDictionaryRequestModel.ts @@ -3,5 +3,6 @@ /* eslint-disable */ export type MoveDictionaryRequestModel = { - targetKey?: string | null; + targetId?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ObjectTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ObjectTypeResponseModel.ts index 4b5b44cb19..d160dfceb5 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ObjectTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ObjectTypeResponseModel.ts @@ -6,3 +6,4 @@ export type ObjectTypeResponseModel = { name?: string | null; id?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/OkResultModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/OkResultModel.ts index 0b041f81ee..886e643b17 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/OkResultModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/OkResultModel.ts @@ -5,3 +5,4 @@ export type OkResultModel = { statusCode?: number; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/OutOfDateStatusResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/OutOfDateStatusResponseModel.ts index 3525c5b9a3..6d527b9a78 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/OutOfDateStatusResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/OutOfDateStatusResponseModel.ts @@ -7,3 +7,4 @@ import type { OutOfDateTypeModel } from './OutOfDateTypeModel'; export type OutOfDateStatusResponseModel = { status?: OutOfDateTypeModel; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageDefinitionResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageDefinitionResponseModel.ts index 1e40334b1d..d86f8ba651 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageDefinitionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageDefinitionResponseModel.ts @@ -5,6 +5,7 @@ import type { PackageModelBaseModel } from './PackageModelBaseModel'; export type PackageDefinitionResponseModel = (PackageModelBaseModel & { -key?: string; -packagePath?: string; + id?: string; + packagePath?: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageManifestResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageManifestResponseModel.ts index 1ac843ab9b..269793340b 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageManifestResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageManifestResponseModel.ts @@ -7,3 +7,4 @@ export type PackageManifestResponseModel = { version?: string | null; extensions?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageMigrationStatusResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageMigrationStatusResponseModel.ts index f2aa442a61..d003e467e2 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageMigrationStatusResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageMigrationStatusResponseModel.ts @@ -6,3 +6,4 @@ export type PackageMigrationStatusResponseModel = { packageName?: string; hasPendingMigrations?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageModelBaseModel.ts index 4ccfb1eacf..fa68538ec2 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PackageModelBaseModel.ts @@ -6,7 +6,7 @@ export type PackageModelBaseModel = { name?: string; contentNodeId?: string | null; contentLoadChildNodes?: boolean; - mediaKeys?: Array; + mediaIds?: Array; mediaLoadChildNodes?: boolean; documentTypes?: Array; mediaTypes?: Array; @@ -18,3 +18,4 @@ export type PackageModelBaseModel = { languages?: Array; dictionaryItems?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedAuditLogResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedAuditLogResponseModel.ts index 4d8cbdd238..28e4883e9d 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedAuditLogResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedAuditLogResponseModel.ts @@ -8,3 +8,4 @@ export type PagedAuditLogResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedAuditLogWithUsernameResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedAuditLogWithUsernameResponseModel.ts index 32531185f4..2faa8a352c 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedAuditLogWithUsernameResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedAuditLogWithUsernameResponseModel.ts @@ -8,3 +8,4 @@ export type PagedAuditLogWithUsernameResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedContentTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedContentTreeItemResponseModel.ts index baa7dc3c36..9b01050dc0 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedContentTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedContentTreeItemResponseModel.ts @@ -9,3 +9,4 @@ export type PagedContentTreeItemResponseModel = { total: number; items: Array<(ContentTreeItemResponseModel | DocumentTreeItemResponseModel)>; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedCultureReponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedCultureReponseModel.ts index 266daa8cd2..b75368444a 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedCultureReponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedCultureReponseModel.ts @@ -8,3 +8,4 @@ export type PagedCultureReponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDictionaryOverviewResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDictionaryOverviewResponseModel.ts index 990d186c40..416064523d 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDictionaryOverviewResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDictionaryOverviewResponseModel.ts @@ -8,3 +8,4 @@ export type PagedDictionaryOverviewResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentBlueprintTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentBlueprintTreeItemResponseModel.ts index 8dc4a5165e..f5fb88fbf5 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentBlueprintTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentBlueprintTreeItemResponseModel.ts @@ -8,3 +8,4 @@ export type PagedDocumentBlueprintTreeItemResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentTreeItemResponseModel.ts index d8dd2f0fc6..3364678fac 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentTreeItemResponseModel.ts @@ -8,3 +8,4 @@ export type PagedDocumentTreeItemResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentTypeTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentTypeTreeItemResponseModel.ts index ba0f93c358..cfa8e9eb1d 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentTypeTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedDocumentTypeTreeItemResponseModel.ts @@ -8,3 +8,4 @@ export type PagedDocumentTypeTreeItemResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedEntityTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedEntityTreeItemResponseModel.ts index 9df2b4b601..ac8b646854 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedEntityTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedEntityTreeItemResponseModel.ts @@ -13,3 +13,4 @@ export type PagedEntityTreeItemResponseModel = { total: number; items: Array<(EntityTreeItemResponseModel | ContentTreeItemResponseModel | DocumentBlueprintTreeItemResponseModel | DocumentTreeItemResponseModel | DocumentTypeTreeItemResponseModel | FolderTreeItemResponseModel)>; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedFileSystemTreeItemPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedFileSystemTreeItemPresentationModel.ts index be96ca744e..3297c3ab40 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedFileSystemTreeItemPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedFileSystemTreeItemPresentationModel.ts @@ -8,3 +8,4 @@ export type PagedFileSystemTreeItemPresentationModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedFolderTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedFolderTreeItemResponseModel.ts index 3543ba5636..deafb5c398 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedFolderTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedFolderTreeItemResponseModel.ts @@ -9,3 +9,4 @@ export type PagedFolderTreeItemResponseModel = { total: number; items: Array<(FolderTreeItemResponseModel | DocumentTypeTreeItemResponseModel)>; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedHealthCheckGroupResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedHealthCheckGroupResponseModel.ts index 8bcb42c1d8..bcd0a47ba7 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedHealthCheckGroupResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedHealthCheckGroupResponseModel.ts @@ -8,3 +8,4 @@ export type PagedHealthCheckGroupResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedHelpPageResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedHelpPageResponseModel.ts index fb379bf641..963dcbbc72 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedHelpPageResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedHelpPageResponseModel.ts @@ -8,3 +8,4 @@ export type PagedHelpPageResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedIndexResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedIndexResponseModel.ts index a84e061c7c..7798b6b5a2 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedIndexResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedIndexResponseModel.ts @@ -8,3 +8,4 @@ export type PagedIndexResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLanguageResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLanguageResponseModel.ts index d749a241cb..0fba24b689 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLanguageResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLanguageResponseModel.ts @@ -8,3 +8,4 @@ export type PagedLanguageResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLogMessageResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLogMessageResponseModel.ts index 88457e9701..0a9e2324f3 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLogMessageResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLogMessageResponseModel.ts @@ -8,3 +8,4 @@ export type PagedLogMessageResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLogTemplateResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLogTemplateResponseModel.ts index 801c440db4..0118ef7d9b 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLogTemplateResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLogTemplateResponseModel.ts @@ -8,3 +8,4 @@ export type PagedLogTemplateResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLoggerResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLoggerResponseModel.ts index 273205e323..18d7c7d708 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLoggerResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedLoggerResponseModel.ts @@ -8,3 +8,4 @@ export type PagedLoggerResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedObjectTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedObjectTypeResponseModel.ts index e72657d180..c8eaf672f7 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedObjectTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedObjectTypeResponseModel.ts @@ -8,3 +8,4 @@ export type PagedObjectTypeResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedPackageDefinitionResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedPackageDefinitionResponseModel.ts index 8582af874a..af37046ae9 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedPackageDefinitionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedPackageDefinitionResponseModel.ts @@ -8,3 +8,4 @@ export type PagedPackageDefinitionResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedPackageMigrationStatusResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedPackageMigrationStatusResponseModel.ts index 114244e919..759633f03b 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedPackageMigrationStatusResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedPackageMigrationStatusResponseModel.ts @@ -8,3 +8,4 @@ export type PagedPackageMigrationStatusResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRecycleBinItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRecycleBinItemResponseModel.ts index 4077e2d0d5..de0221c66d 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRecycleBinItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRecycleBinItemResponseModel.ts @@ -8,3 +8,4 @@ export type PagedRecycleBinItemResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRedirectUrlResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRedirectUrlResponseModel.ts index 3026d71af4..efa56add27 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRedirectUrlResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRedirectUrlResponseModel.ts @@ -8,3 +8,4 @@ export type PagedRedirectUrlResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRelationItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRelationItemResponseModel.ts index 4ad8badc22..2340e59dbc 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRelationItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRelationItemResponseModel.ts @@ -8,3 +8,4 @@ export type PagedRelationItemResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRelationResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRelationResponseModel.ts index 5a4d95e4c1..a93d16ea07 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRelationResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedRelationResponseModel.ts @@ -8,3 +8,4 @@ export type PagedRelationResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSavedLogSearchResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSavedLogSearchResponseModel.ts index 6f5b02d4f3..994d6a2f99 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSavedLogSearchResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSavedLogSearchResponseModel.ts @@ -8,3 +8,4 @@ export type PagedSavedLogSearchResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSearchResultResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSearchResultResponseModel.ts index 2a95a2d85b..faaad892f6 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSearchResultResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSearchResultResponseModel.ts @@ -8,3 +8,4 @@ export type PagedSearchResultResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSearcherResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSearcherResponseModel.ts index b8c9c60dab..f59af076ae 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSearcherResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedSearcherResponseModel.ts @@ -8,3 +8,4 @@ export type PagedSearcherResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedTelemetryResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedTelemetryResponseModel.ts index 6a8ddbabfd..dfff74e1ff 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedTelemetryResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedTelemetryResponseModel.ts @@ -8,3 +8,4 @@ export type PagedTelemetryResponseModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedUserGroupPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedUserGroupPresentationModel.ts index 8a01377edf..7000915e7e 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedUserGroupPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedUserGroupPresentationModel.ts @@ -8,3 +8,4 @@ export type PagedUserGroupPresentationModel = { total: number; items: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedUserResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedUserResponseModel.ts new file mode 100644 index 0000000000..0b658bd8df --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PagedUserResponseModel.ts @@ -0,0 +1,11 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { UserResponseModel } from './UserResponseModel'; + +export type PagedUserResponseModel = { + total: number; + items: Array; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ProfilingStatusRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ProfilingStatusRequestModel.ts index cc933cc8d4..c1998e149e 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ProfilingStatusRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ProfilingStatusRequestModel.ts @@ -5,3 +5,4 @@ export type ProfilingStatusRequestModel = { enabled?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ProfilingStatusResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ProfilingStatusResponseModel.ts index 98b69d1149..b78df9baf7 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ProfilingStatusResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ProfilingStatusResponseModel.ts @@ -5,3 +5,4 @@ export type ProfilingStatusResponseModel = { enabled?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeAppearanceModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeAppearanceModel.ts index cdbf7325af..e8138d4992 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeAppearanceModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeAppearanceModel.ts @@ -5,3 +5,4 @@ export type PropertyTypeAppearanceModel = { labelOnTop?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeContainerResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeContainerResponseModelBaseModel.ts index 44c151e3a4..e57942bc53 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeContainerResponseModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeContainerResponseModelBaseModel.ts @@ -3,9 +3,10 @@ /* eslint-disable */ export type PropertyTypeContainerResponseModelBaseModel = { - key?: string; - parentKey?: string | null; + id?: string; + parentId?: string | null; name?: string | null; type?: string; sortOrder?: number; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeResponseModelBaseModel.ts index 57f4f6c6dd..ad3a59bbbf 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeResponseModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeResponseModelBaseModel.ts @@ -6,14 +6,15 @@ import type { PropertyTypeAppearanceModel } from './PropertyTypeAppearanceModel' import type { PropertyTypeValidationModel } from './PropertyTypeValidationModel'; export type PropertyTypeResponseModelBaseModel = { - key?: string; - containerKey?: string | null; + id?: string; + containerId?: string | null; alias?: string; name?: string; description?: string | null; - dataTypeKey?: string; + dataTypeId?: string; variesByCulture?: boolean; variesBySegment?: boolean; validation?: PropertyTypeValidationModel; appearance?: PropertyTypeAppearanceModel; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeValidationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeValidationModel.ts index efdc5b51ec..6966054e27 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeValidationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/PropertyTypeValidationModel.ts @@ -8,3 +8,4 @@ export type PropertyTypeValidationModel = { regEx?: string | null; regExMessage?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RecycleBinItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RecycleBinItemResponseModel.ts index 203b715fb4..baa8488713 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RecycleBinItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RecycleBinItemResponseModel.ts @@ -4,11 +4,12 @@ export type RecycleBinItemResponseModel = { $type: string; - key?: string; + id?: string; name?: string; type?: string; icon?: string; hasChildren?: boolean; isContainer?: boolean; - parentKey?: string | null; + parentId?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RedirectUrlResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RedirectUrlResponseModel.ts index d2c743ba79..7e50854125 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RedirectUrlResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RedirectUrlResponseModel.ts @@ -3,10 +3,11 @@ /* eslint-disable */ export type RedirectUrlResponseModel = { - key?: string; + id?: string; originalUrl?: string; destinationUrl?: string; created?: string; - contentKey?: string; + contentId?: string; culture?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RedirectUrlStatusResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RedirectUrlStatusResponseModel.ts index 6ef9f24316..3c24019ae5 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RedirectUrlStatusResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RedirectUrlStatusResponseModel.ts @@ -8,3 +8,4 @@ export type RedirectUrlStatusResponseModel = { status?: RedirectStatusModel; userIsAdmin?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationItemResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationItemResponseModel.ts index 2b261d21d2..544ea5831d 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationItemResponseModel.ts @@ -3,7 +3,7 @@ /* eslint-disable */ export type RelationItemResponseModel = { - nodeKey?: string; + nodeId?: string; nodeName?: string | null; nodeType?: string | null; nodePublished?: boolean | null; @@ -14,3 +14,4 @@ export type RelationItemResponseModel = { relationTypeIsBidirectional?: boolean; relationTypeIsDependency?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationResponseModel.ts index 4fe5555e69..7e6546465f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationResponseModel.ts @@ -10,3 +10,4 @@ export type RelationResponseModel = { createDate?: string; comment?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationTypeBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationTypeBaseModel.ts index e7de6f1945..0213197525 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationTypeBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationTypeBaseModel.ts @@ -9,3 +9,4 @@ export type RelationTypeBaseModel = { childObjectType?: string | null; isDependency?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationTypeResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationTypeResponseModel.ts index dab718bbf1..cc2461d0ce 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationTypeResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/RelationTypeResponseModel.ts @@ -5,10 +5,11 @@ import type { RelationTypeBaseModel } from './RelationTypeBaseModel'; export type RelationTypeResponseModel = (RelationTypeBaseModel & { -key?: string; -alias?: string | null; -path?: string; -isSystemRelationType?: boolean; -parentObjectTypeName?: string | null; -childObjectTypeName?: string | null; + id?: string; + alias?: string | null; + path?: string; + isSystemRelationType?: boolean; + parentObjectTypeName?: string | null; + childObjectTypeName?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SaveUserGroupRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SaveUserGroupRequestModel.ts index 14466b644d..33d58dc4aa 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SaveUserGroupRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SaveUserGroupRequestModel.ts @@ -5,3 +5,4 @@ import type { UserGroupBaseModel } from './UserGroupBaseModel'; export type SaveUserGroupRequestModel = UserGroupBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchPresenationBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchPresenationBaseModel.ts index 2cc7b02658..c187d78876 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchPresenationBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchPresenationBaseModel.ts @@ -6,3 +6,4 @@ export type SavedLogSearchPresenationBaseModel = { name?: string; query?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchRequestModel.ts index e2e7aecf61..3ef1732e4e 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchRequestModel.ts @@ -5,3 +5,4 @@ import type { SavedLogSearchPresenationBaseModel } from './SavedLogSearchPresenationBaseModel'; export type SavedLogSearchRequestModel = SavedLogSearchPresenationBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchResponseModel.ts index 1a89ce91c6..54f039e1b9 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SavedLogSearchResponseModel.ts @@ -5,3 +5,4 @@ import type { SavedLogSearchPresenationBaseModel } from './SavedLogSearchPresenationBaseModel'; export type SavedLogSearchResponseModel = SavedLogSearchPresenationBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SearchResultResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SearchResultResponseModel.ts index 9706011ad7..3d84badc22 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SearchResultResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SearchResultResponseModel.ts @@ -10,3 +10,4 @@ export type SearchResultResponseModel = { readonly fieldCount?: number; fields?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SearcherResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SearcherResponseModel.ts index 898a4172a8..bf0ec4ed22 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SearcherResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SearcherResponseModel.ts @@ -5,3 +5,4 @@ export type SearcherResponseModel = { name?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ServerStatusResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ServerStatusResponseModel.ts index 5ba10b5849..a93b8e36ac 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ServerStatusResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ServerStatusResponseModel.ts @@ -7,3 +7,4 @@ import type { RuntimeLevelModel } from './RuntimeLevelModel'; export type ServerStatusResponseModel = { serverStatus?: RuntimeLevelModel; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SetAvatarRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SetAvatarRequestModel.ts new file mode 100644 index 0000000000..ccf61568d0 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/SetAvatarRequestModel.ts @@ -0,0 +1,8 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type SetAvatarRequestModel = { + fileId?: string; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryRepresentationBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryRepresentationBaseModel.ts index 1734020f3e..e1040f19bb 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryRepresentationBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryRepresentationBaseModel.ts @@ -7,3 +7,4 @@ import type { TelemetryLevelModel } from './TelemetryLevelModel'; export type TelemetryRepresentationBaseModel = { telemetryLevel?: TelemetryLevelModel; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryRequestModel.ts index 08f54adf7c..ed7ed14981 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryRequestModel.ts @@ -5,3 +5,4 @@ import type { TelemetryRepresentationBaseModel } from './TelemetryRepresentationBaseModel'; export type TelemetryRequestModel = TelemetryRepresentationBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryResponseModel.ts index 3ddf37ec02..2ab7ab6087 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TelemetryResponseModel.ts @@ -5,3 +5,4 @@ import type { TelemetryRepresentationBaseModel } from './TelemetryRepresentationBaseModel'; export type TelemetryResponseModel = TelemetryRepresentationBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateModelBaseModel.ts index 11e0260809..7471d8b826 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateModelBaseModel.ts @@ -7,3 +7,4 @@ export type TemplateModelBaseModel = { alias?: string; content?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteFilterPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteFilterPresentationModel.ts index 83a2625447..336c8dcc51 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteFilterPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteFilterPresentationModel.ts @@ -9,3 +9,4 @@ export type TemplateQueryExecuteFilterPresentationModel = { constraintValue?: string; operator?: OperatorModel; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteModel.ts index 29ad0c52ae..a1711fce8f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteModel.ts @@ -6,9 +6,10 @@ import type { TemplateQueryExecuteFilterPresentationModel } from './TemplateQuer import type { TemplateQueryExecuteSortModel } from './TemplateQueryExecuteSortModel'; export type TemplateQueryExecuteModel = { - rootContentKey?: string | null; + rootContentId?: string | null; contentTypeAlias?: string | null; filters?: Array | null; sort?: TemplateQueryExecuteSortModel | null; take?: number; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteSortModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteSortModel.ts index a733632dcc..d3a1b6cf56 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteSortModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryExecuteSortModel.ts @@ -6,3 +6,4 @@ export type TemplateQueryExecuteSortModel = { propertyAlias?: string; direction?: string | null; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryOperatorModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryOperatorModel.ts index df264e1646..5b24f440a5 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryOperatorModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryOperatorModel.ts @@ -9,3 +9,4 @@ export type TemplateQueryOperatorModel = { operator?: OperatorModel; applicableTypes?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryPropertyPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryPropertyPresentationModel.ts index dfd201f49e..63f89b6fbd 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryPropertyPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryPropertyPresentationModel.ts @@ -8,3 +8,4 @@ export type TemplateQueryPropertyPresentationModel = { alias?: string; type?: TemplateQueryPropertyTypeModel; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryResultItemPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryResultItemPresentationModel.ts index a2082853e0..101a71f87f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryResultItemPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryResultItemPresentationModel.ts @@ -6,3 +6,4 @@ export type TemplateQueryResultItemPresentationModel = { icon?: string; name?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryResultResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryResultResponseModel.ts index c32ff1d249..128ba29cd6 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryResultResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQueryResultResponseModel.ts @@ -10,3 +10,4 @@ export type TemplateQueryResultResponseModel = { resultCount?: number; executionTime?: number; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQuerySettingsResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQuerySettingsResponseModel.ts index b49bbae056..724e4113eb 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQuerySettingsResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateQuerySettingsResponseModel.ts @@ -10,3 +10,4 @@ export type TemplateQuerySettingsResponseModel = { properties?: Array; operators?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateResponseModel.ts index 1044f35131..4163616f8f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateResponseModel.ts @@ -5,6 +5,7 @@ import type { TemplateModelBaseModel } from './TemplateModelBaseModel'; export type TemplateResponseModel = (TemplateModelBaseModel & { -$type: string; -key?: string; + $type: string; + id?: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateScaffoldResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateScaffoldResponseModel.ts index d616c8c655..78ea2b296d 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateScaffoldResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemplateScaffoldResponseModel.ts @@ -5,3 +5,4 @@ export type TemplateScaffoldResponseModel = { content?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemporaryFileResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemporaryFileResponseModel.ts new file mode 100644 index 0000000000..117d1376ea --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TemporaryFileResponseModel.ts @@ -0,0 +1,10 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type TemporaryFileResponseModel = { + id?: string; + availableUntil?: string | null; + fileName?: string; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TreeItemPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TreeItemPresentationModel.ts index e62a6043a5..385278eba9 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TreeItemPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/TreeItemPresentationModel.ts @@ -8,3 +8,4 @@ export type TreeItemPresentationModel = { icon?: string; hasChildren?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UnlockUsersRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UnlockUsersRequestModel.ts new file mode 100644 index 0000000000..78c63357bd --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UnlockUsersRequestModel.ts @@ -0,0 +1,8 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type UnlockUsersRequestModel = { + userIds?: Array; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts index c2d856a916..be30b01b27 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts @@ -9,3 +9,4 @@ export type UpdateContentRequestModelBaseDocumentValueModelDocumentVariantReques values?: Array; variants?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts index 5c95019eb1..303415adef 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts @@ -9,3 +9,4 @@ export type UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel values?: Array; variants?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDataTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDataTypeRequestModel.ts index fce11fbc4e..b221f60b1f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDataTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDataTypeRequestModel.ts @@ -5,3 +5,4 @@ import type { DataTypeModelBaseModel } from './DataTypeModelBaseModel'; export type UpdateDataTypeRequestModel = DataTypeModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDictionaryItemRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDictionaryItemRequestModel.ts index 2c4af9822a..e145ccd319 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDictionaryItemRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDictionaryItemRequestModel.ts @@ -5,3 +5,4 @@ import type { DictionaryItemModelBaseModel } from './DictionaryItemModelBaseModel'; export type UpdateDictionaryItemRequestModel = DictionaryItemModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDocumentNotificationsRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDocumentNotificationsRequestModel.ts new file mode 100644 index 0000000000..37066167b2 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDocumentNotificationsRequestModel.ts @@ -0,0 +1,8 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type UpdateDocumentNotificationsRequestModel = { + subscribedActionIds?: Array; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDocumentRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDocumentRequestModel.ts index 2b10730abb..6382ef989d 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDocumentRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDocumentRequestModel.ts @@ -5,5 +5,6 @@ import type { UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel } from './UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel'; export type UpdateDocumentRequestModel = (UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel & { -templateKey?: string | null; + templateId?: string | null; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDomainsRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDomainsRequestModel.ts index 06caa5c458..a2cb1b6fe4 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDomainsRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateDomainsRequestModel.ts @@ -5,3 +5,4 @@ import type { DomainsPresentationModelBaseModel } from './DomainsPresentationModelBaseModel'; export type UpdateDomainsRequestModel = DomainsPresentationModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateFolderReponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateFolderReponseModel.ts index 1644854933..cc79576144 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateFolderReponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateFolderReponseModel.ts @@ -5,3 +5,4 @@ import type { FolderModelBaseModel } from './FolderModelBaseModel'; export type UpdateFolderReponseModel = FolderModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateLanguageRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateLanguageRequestModel.ts index 45f9f1a76c..dd2e81b5f5 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateLanguageRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateLanguageRequestModel.ts @@ -5,3 +5,4 @@ import type { LanguageModelBaseModel } from './LanguageModelBaseModel'; export type UpdateLanguageRequestModel = LanguageModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateMediaRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateMediaRequestModel.ts index 8363477f55..3214fd055c 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateMediaRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateMediaRequestModel.ts @@ -5,3 +5,4 @@ import type { UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel } from './UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel'; export type UpdateMediaRequestModel = UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdatePackageRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdatePackageRequestModel.ts index ab91b916f3..95e1518519 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdatePackageRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdatePackageRequestModel.ts @@ -5,5 +5,6 @@ import type { PackageModelBaseModel } from './PackageModelBaseModel'; export type UpdatePackageRequestModel = (PackageModelBaseModel & { -packagePath?: string; + packagePath?: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateRelationTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateRelationTypeRequestModel.ts index df64f4fb41..d4ec475f57 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateRelationTypeRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateRelationTypeRequestModel.ts @@ -5,3 +5,4 @@ import type { RelationTypeBaseModel } from './RelationTypeBaseModel'; export type UpdateRelationTypeRequestModel = RelationTypeBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateTemplateRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateTemplateRequestModel.ts index a95046e2f9..6011f0a108 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateTemplateRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateTemplateRequestModel.ts @@ -5,3 +5,4 @@ import type { TemplateModelBaseModel } from './TemplateModelBaseModel'; export type UpdateTemplateRequestModel = TemplateModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserGroupRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserGroupRequestModel.ts index 7e357408c1..f1810a85c5 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserGroupRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserGroupRequestModel.ts @@ -5,3 +5,4 @@ import type { UserGroupBaseModel } from './UserGroupBaseModel'; export type UpdateUserGroupRequestModel = UserGroupBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserGroupsOnUserRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserGroupsOnUserRequestModel.ts new file mode 100644 index 0000000000..0e552a780b --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserGroupsOnUserRequestModel.ts @@ -0,0 +1,9 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type UpdateUserGroupsOnUserRequestModel = { + userIds?: Array; + userGroupIds?: Array; +}; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserRequestModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserRequestModel.ts new file mode 100644 index 0000000000..928742c00d --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpdateUserRequestModel.ts @@ -0,0 +1,12 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { UserPresentationBaseModel } from './UserPresentationBaseModel'; + +export type UpdateUserRequestModel = (UserPresentationBaseModel & { + languageIsoCode?: string; + contentStartNodeIds?: Array; + mediaStartNodeIds?: Array; +}); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpgradeSettingsResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpgradeSettingsResponseModel.ts index 8331fa652a..c59279f453 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpgradeSettingsResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UpgradeSettingsResponseModel.ts @@ -9,3 +9,4 @@ export type UpgradeSettingsResponseModel = { oldVersion?: string; readonly reportUrl?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UploadDictionaryResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UploadDictionaryResponseModel.ts deleted file mode 100644 index 3394ac66c7..0000000000 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UploadDictionaryResponseModel.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -import type { ImportDictionaryItemsPresentationModel } from './ImportDictionaryItemsPresentationModel'; - -export type UploadDictionaryResponseModel = { - dictionaryItems?: Array; - fileName?: string | null; -}; diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserGroupBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserGroupBaseModel.ts index 5da0876910..eaf8e83aa0 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserGroupBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserGroupBaseModel.ts @@ -8,7 +8,8 @@ export type UserGroupBaseModel = { sections?: Array; languages?: Array; hasAccessToAllLanguages?: boolean; - documentStartNodeKey?: string | null; - mediaStartNodeKey?: string | null; + documentStartNodeId?: string | null; + mediaStartNodeId?: string | null; permissions?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserGroupPresentationModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserGroupPresentationModel.ts index e812fc9384..ee3a34c477 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserGroupPresentationModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserGroupPresentationModel.ts @@ -5,6 +5,7 @@ import type { UserGroupBaseModel } from './UserGroupBaseModel'; export type UserGroupPresentationModel = (UserGroupBaseModel & { -$type: string; -key?: string; + $type: string; + id?: string; }); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserInstallResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserInstallResponseModel.ts index c107963227..a1807e8bcd 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserInstallResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserInstallResponseModel.ts @@ -8,3 +8,4 @@ export type UserInstallResponseModel = { password: string; readonly subscribeToNewsletter?: boolean; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserOrderModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserOrderModel.ts new file mode 100644 index 0000000000..3c668a8c97 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserOrderModel.ts @@ -0,0 +1,16 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export enum UserOrderModel { + USER_NAME = 'UserName', + LANGUAGE = 'Language', + NAME = 'Name', + EMAIL = 'Email', + ID = 'Id', + CREATE_DATE = 'CreateDate', + UPDATE_DATE = 'UpdateDate', + IS_APPROVED = 'IsApproved', + IS_LOCKED_OUT = 'IsLockedOut', + LAST_LOGIN_DATE = 'LastLoginDate', +} diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserPresentationBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserPresentationBaseModel.ts new file mode 100644 index 0000000000..687e34bde7 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserPresentationBaseModel.ts @@ -0,0 +1,11 @@ +/* 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/libs/backend-api/src/models/UserResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserResponseModel.ts new file mode 100644 index 0000000000..69fabaf972 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserResponseModel.ts @@ -0,0 +1,23 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { UserPresentationBaseModel } from './UserPresentationBaseModel'; +import type { UserStateModel } from './UserStateModel'; + +export type UserResponseModel = (UserPresentationBaseModel & { + $type: string; + id?: string; + languageIsoCode?: string | null; + contentStartNodeIds?: Array; + mediaStartNodeIds?: Array; + avatarUrls?: Array; + state?: UserStateModel; + failedLoginAttempts?: number; + createDate?: string; + updateDate?: string; + lastLoginDate?: string | null; + lastlockoutDate?: string | null; + lastPasswordChangeDate?: string | null; +}); + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserSettingsModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserSettingsModel.ts index e5837a651d..0179397099 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserSettingsModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserSettingsModel.ts @@ -9,3 +9,4 @@ export type UserSettingsModel = { minNonAlphaNumericLength?: number; consentLevels?: Array; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserStateModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserStateModel.ts new file mode 100644 index 0000000000..7e1858868f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/UserStateModel.ts @@ -0,0 +1,12 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export enum UserStateModel { + ACTIVE = 'Active', + DISABLED = 'Disabled', + LOCKED_OUT = 'LockedOut', + INVITED = 'Invited', + INACTIVE = 'Inactive', + ALL = 'All', +} diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ValueModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ValueModelBaseModel.ts index ef9d722992..8167e5e124 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ValueModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/ValueModelBaseModel.ts @@ -9,3 +9,4 @@ export type ValueModelBaseModel = { alias?: string; value?: any; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VariantModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VariantModelBaseModel.ts index b2227d9a71..599a5fd749 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VariantModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VariantModelBaseModel.ts @@ -8,3 +8,4 @@ export type VariantModelBaseModel = { segment?: string | null; name?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VariantResponseModelBaseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VariantResponseModelBaseModel.ts index a0b2fa88a5..8add15bf08 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VariantResponseModelBaseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VariantResponseModelBaseModel.ts @@ -10,3 +10,4 @@ export type VariantResponseModelBaseModel = { createDate?: string; updateDate?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VersionResponseModel.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VersionResponseModel.ts index b454174231..e545e2d0d9 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VersionResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/models/VersionResponseModel.ts @@ -5,3 +5,4 @@ export type VersionResponseModel = { version?: string; }; + diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/AuditLogResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/AuditLogResource.ts index f1c3b47e92..96065a5663 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/AuditLogResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/AuditLogResource.ts @@ -17,16 +17,16 @@ export class AuditLogResource { * @throws ApiError */ public static getAuditLog({ -orderDirection, -sinceDate, -skip, -take = 100, -}: { -orderDirection?: DirectionModel, -sinceDate?: string, -skip?: number, -take?: number, -}): CancelablePromise { + orderDirection, + sinceDate, + skip, + take = 100, + }: { + orderDirection?: DirectionModel, + sinceDate?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/audit-log', @@ -43,24 +43,24 @@ take?: number, * @returns PagedAuditLogResponseModel Success * @throws ApiError */ - public static getAuditLogByKey({ -key, -orderDirection, -sinceDate, -skip, -take = 100, -}: { -key: string, -orderDirection?: DirectionModel, -sinceDate?: string, -skip?: number, -take?: number, -}): CancelablePromise { + public static getAuditLogById({ + id, + orderDirection, + sinceDate, + skip, + take = 100, + }: { + id: string, + orderDirection?: DirectionModel, + sinceDate?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/audit-log/{key}', + url: '/umbraco/management/api/v1/audit-log/{id}', path: { - 'key': key, + 'id': id, }, query: { 'orderDirection': orderDirection, @@ -76,16 +76,16 @@ take?: number, * @throws ApiError */ public static getAuditLogTypeByLogType({ -logType, -sinceDate, -skip, -take = 100, -}: { -logType: AuditTypeModel, -sinceDate?: string, -skip?: number, -take?: number, -}): CancelablePromise { + logType, + sinceDate, + skip, + take = 100, + }: { + logType: AuditTypeModel, + sinceDate?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/audit-log/type/{logType}', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/CultureResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/CultureResource.ts index 16fe49b915..4e357c7e3f 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/CultureResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/CultureResource.ts @@ -14,12 +14,12 @@ export class CultureResource { * @throws ApiError */ public static getCulture({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/culture', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DataTypeResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DataTypeResource.ts index dddb4cd14f..fec4ff09e8 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DataTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DataTypeResource.ts @@ -25,10 +25,10 @@ export class DataTypeResource { * @throws ApiError */ public static postDataType({ -requestBody, -}: { -requestBody?: CreateDataTypeRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: CreateDataTypeRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/data-type', @@ -46,16 +46,16 @@ requestBody?: CreateDataTypeRequestModel, * @returns any Success * @throws ApiError */ - public static getDataTypeByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getDataTypeById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/data-type/{key}', + url: '/umbraco/management/api/v1/data-type/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -67,16 +67,16 @@ key: string, * @returns any Success * @throws ApiError */ - public static deleteDataTypeByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static deleteDataTypeById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', - url: '/umbraco/management/api/v1/data-type/{key}', + url: '/umbraco/management/api/v1/data-type/{id}', path: { - 'key': key, + 'id': id, }, errors: { 400: `Bad Request`, @@ -89,18 +89,18 @@ key: string, * @returns any Success * @throws ApiError */ - public static putDataTypeByKey({ -key, -requestBody, -}: { -key: string, -requestBody?: UpdateDataTypeRequestModel, -}): CancelablePromise { + public static putDataTypeById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateDataTypeRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', - url: '/umbraco/management/api/v1/data-type/{key}', + url: '/umbraco/management/api/v1/data-type/{id}', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -115,18 +115,18 @@ requestBody?: UpdateDataTypeRequestModel, * @returns string Created * @throws ApiError */ - public static postDataTypeByKeyCopy({ -key, -requestBody, -}: { -key: string, -requestBody?: CopyDataTypeRequestModel, -}): CancelablePromise { + public static postDataTypeByIdCopy({ + id, + requestBody, + }: { + id: string, + requestBody?: CopyDataTypeRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', - url: '/umbraco/management/api/v1/data-type/{key}/copy', + url: '/umbraco/management/api/v1/data-type/{id}/copy', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -141,18 +141,18 @@ requestBody?: CopyDataTypeRequestModel, * @returns any Success * @throws ApiError */ - public static postDataTypeByKeyMove({ -key, -requestBody, -}: { -key: string, -requestBody?: MoveDataTypeRequestModel, -}): CancelablePromise { + public static postDataTypeByIdMove({ + id, + requestBody, + }: { + id: string, + requestBody?: MoveDataTypeRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', - url: '/umbraco/management/api/v1/data-type/{key}/move', + url: '/umbraco/management/api/v1/data-type/{id}/move', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -166,16 +166,16 @@ requestBody?: MoveDataTypeRequestModel, * @returns any Success * @throws ApiError */ - public static getDataTypeByKeyReferences({ -key, -}: { -key: string, -}): CancelablePromise> { + public static getDataTypeByIdReferences({ + id, + }: { + id: string, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/data-type/{key}/references', + url: '/umbraco/management/api/v1/data-type/{id}/references', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -188,10 +188,10 @@ key: string, * @throws ApiError */ public static postDataTypeFolder({ -requestBody, -}: { -requestBody?: CreateFolderRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: CreateFolderRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/data-type/folder', @@ -205,16 +205,16 @@ requestBody?: CreateFolderRequestModel, * @returns any Success * @throws ApiError */ - public static getDataTypeFolderByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getDataTypeFolderById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/data-type/folder/{key}', + url: '/umbraco/management/api/v1/data-type/folder/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -226,16 +226,16 @@ key: string, * @returns any Success * @throws ApiError */ - public static deleteDataTypeFolderByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static deleteDataTypeFolderById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', - url: '/umbraco/management/api/v1/data-type/folder/{key}', + url: '/umbraco/management/api/v1/data-type/folder/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -247,18 +247,18 @@ key: string, * @returns any Success * @throws ApiError */ - public static putDataTypeFolderByKey({ -key, -requestBody, -}: { -key: string, -requestBody?: UpdateFolderReponseModel, -}): CancelablePromise { + public static putDataTypeFolderById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateFolderReponseModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', - url: '/umbraco/management/api/v1/data-type/folder/{key}', + url: '/umbraco/management/api/v1/data-type/folder/{id}', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -273,21 +273,21 @@ requestBody?: UpdateFolderReponseModel, * @throws ApiError */ public static getTreeDataTypeChildren({ -parentKey, -skip, -take = 100, -foldersOnly = false, -}: { -parentKey?: string, -skip?: number, -take?: number, -foldersOnly?: boolean, -}): CancelablePromise { + 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/data-type/children', query: { - 'parentKey': parentKey, + 'parentId': parentId, 'skip': skip, 'take': take, 'foldersOnly': foldersOnly, @@ -300,15 +300,15 @@ foldersOnly?: boolean, * @throws ApiError */ public static getTreeDataTypeItem({ -key, -}: { -key?: Array, -}): CancelablePromise> { + id, + }: { + id?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/data-type/item', query: { - 'key': key, + 'id': id, }, }); } @@ -318,14 +318,14 @@ key?: Array, * @throws ApiError */ public static getTreeDataTypeRoot({ -skip, -take = 100, -foldersOnly = false, -}: { -skip?: number, -take?: number, -foldersOnly?: boolean, -}): CancelablePromise { + skip, + take = 100, + foldersOnly = false, + }: { + skip?: number, + take?: number, + foldersOnly?: boolean, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/data-type/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DictionaryResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DictionaryResource.ts index b2a18ac44d..74af557479 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DictionaryResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DictionaryResource.ts @@ -10,7 +10,6 @@ import type { MoveDictionaryRequestModel } from '../models/MoveDictionaryRequest import type { PagedDictionaryOverviewResponseModel } from '../models/PagedDictionaryOverviewResponseModel'; import type { PagedEntityTreeItemResponseModel } from '../models/PagedEntityTreeItemResponseModel'; import type { UpdateDictionaryItemRequestModel } from '../models/UpdateDictionaryItemRequestModel'; -import type { UploadDictionaryResponseModel } from '../models/UploadDictionaryResponseModel'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; @@ -23,12 +22,12 @@ export class DictionaryResource { * @throws ApiError */ public static getDictionary({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/dictionary', @@ -44,10 +43,10 @@ take?: number, * @throws ApiError */ public static postDictionary({ -requestBody, -}: { -requestBody?: CreateDictionaryItemRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: CreateDictionaryItemRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/dictionary', @@ -66,16 +65,16 @@ requestBody?: CreateDictionaryItemRequestModel, * @returns any Success * @throws ApiError */ - public static getDictionaryByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getDictionaryById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/dictionary/{key}', + url: '/umbraco/management/api/v1/dictionary/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -87,16 +86,16 @@ key: string, * @returns any Success * @throws ApiError */ - public static deleteDictionaryByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static deleteDictionaryById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', - url: '/umbraco/management/api/v1/dictionary/{key}', + url: '/umbraco/management/api/v1/dictionary/{id}', path: { - 'key': key, + 'id': id, }, errors: { 400: `Bad Request`, @@ -109,18 +108,18 @@ key: string, * @returns any Success * @throws ApiError */ - public static putDictionaryByKey({ -key, -requestBody, -}: { -key: string, -requestBody?: UpdateDictionaryItemRequestModel, -}): CancelablePromise { + public static putDictionaryById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateDictionaryItemRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', - url: '/umbraco/management/api/v1/dictionary/{key}', + url: '/umbraco/management/api/v1/dictionary/{id}', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -135,18 +134,18 @@ requestBody?: UpdateDictionaryItemRequestModel, * @returns binary Success * @throws ApiError */ - public static getDictionaryByKeyExport({ -key, -includeChildren = false, -}: { -key: string, -includeChildren?: boolean, -}): CancelablePromise { + public static getDictionaryByIdExport({ + id, + includeChildren = false, + }: { + id: string, + includeChildren?: boolean, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/dictionary/{key}/export', + url: '/umbraco/management/api/v1/dictionary/{id}/export', path: { - 'key': key, + 'id': id, }, query: { 'includeChildren': includeChildren, @@ -161,18 +160,18 @@ includeChildren?: boolean, * @returns any Success * @throws ApiError */ - public static postDictionaryByKeyMove({ -key, -requestBody, -}: { -key: string, -requestBody?: MoveDictionaryRequestModel, -}): CancelablePromise { + public static postDictionaryByIdMove({ + id, + requestBody, + }: { + id: string, + requestBody?: MoveDictionaryRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', - url: '/umbraco/management/api/v1/dictionary/{key}/move', + url: '/umbraco/management/api/v1/dictionary/{id}/move', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -188,10 +187,10 @@ requestBody?: MoveDictionaryRequestModel, * @throws ApiError */ public static postDictionaryImport({ -requestBody, -}: { -requestBody?: ImportDictionaryRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: ImportDictionaryRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/dictionary/import', @@ -205,43 +204,24 @@ requestBody?: ImportDictionaryRequestModel, }); } - /** - * @returns any Success - * @throws ApiError - */ - public static postDictionaryUpload({ -requestBody, -}: { -requestBody?: any, -}): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/umbraco/management/api/v1/dictionary/upload', - body: requestBody, - errors: { - 400: `Bad Request`, - }, - }); - } - /** * @returns PagedEntityTreeItemResponseModel Success * @throws ApiError */ public static getTreeDictionaryChildren({ -parentKey, -skip, -take = 100, -}: { -parentKey?: string, -skip?: number, -take?: number, -}): CancelablePromise { + parentId, + skip, + take = 100, + }: { + parentId?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/dictionary/children', query: { - 'parentKey': parentKey, + 'parentId': parentId, 'skip': skip, 'take': take, }, @@ -253,15 +233,15 @@ take?: number, * @throws ApiError */ public static getTreeDictionaryItem({ -key, -}: { -key?: Array, -}): CancelablePromise> { + id, + }: { + id?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/dictionary/item', query: { - 'key': key, + 'id': id, }, }); } @@ -271,12 +251,12 @@ key?: Array, * @throws ApiError */ public static getTreeDictionaryRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/dictionary/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentBlueprintResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentBlueprintResource.ts index 5a31940e98..61330ba056 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentBlueprintResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentBlueprintResource.ts @@ -15,15 +15,15 @@ export class DocumentBlueprintResource { * @throws ApiError */ public static getTreeDocumentBlueprintItem({ -key, -}: { -key?: Array, -}): CancelablePromise> { + id, + }: { + id?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/document-blueprint/item', query: { - 'key': key, + 'id': id, }, }); } @@ -33,12 +33,12 @@ key?: Array, * @throws ApiError */ public static getTreeDocumentBlueprintRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/document-blueprint/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentResource.ts index 8d30863d05..0ab286ae37 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentResource.ts @@ -2,10 +2,12 @@ /* tslint:disable */ /* eslint-disable */ import type { CreateDocumentRequestModel } from '../models/CreateDocumentRequestModel'; +import type { DocumentNotificationResponseModel } from '../models/DocumentNotificationResponseModel'; import type { DocumentResponseModel } from '../models/DocumentResponseModel'; import type { DocumentTreeItemResponseModel } from '../models/DocumentTreeItemResponseModel'; import type { PagedDocumentTreeItemResponseModel } from '../models/PagedDocumentTreeItemResponseModel'; import type { PagedRecycleBinItemResponseModel } from '../models/PagedRecycleBinItemResponseModel'; +import type { UpdateDocumentNotificationsRequestModel } from '../models/UpdateDocumentNotificationsRequestModel'; import type { UpdateDocumentRequestModel } from '../models/UpdateDocumentRequestModel'; import type { UpdateDomainsRequestModel } from '../models/UpdateDomainsRequestModel'; @@ -20,10 +22,10 @@ export class DocumentResource { * @throws ApiError */ public static postDocument({ -requestBody, -}: { -requestBody?: CreateDocumentRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: CreateDocumentRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/document', @@ -41,16 +43,16 @@ requestBody?: CreateDocumentRequestModel, * @returns any Success * @throws ApiError */ - public static getDocumentByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getDocumentById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/document/{key}', + url: '/umbraco/management/api/v1/document/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -62,16 +64,16 @@ key: string, * @returns any Success * @throws ApiError */ - public static deleteDocumentByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static deleteDocumentById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', - url: '/umbraco/management/api/v1/document/{key}', + url: '/umbraco/management/api/v1/document/{id}', path: { - 'key': key, + 'id': id, }, errors: { 400: `Bad Request`, @@ -84,18 +86,18 @@ key: string, * @returns any Success * @throws ApiError */ - public static putDocumentByKey({ -key, -requestBody, -}: { -key: string, -requestBody?: UpdateDocumentRequestModel, -}): CancelablePromise { + public static putDocumentById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateDocumentRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', - url: '/umbraco/management/api/v1/document/{key}', + url: '/umbraco/management/api/v1/document/{id}', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -110,16 +112,16 @@ requestBody?: UpdateDocumentRequestModel, * @returns any Success * @throws ApiError */ - public static getDocumentByKeyDomains({ -key, -}: { -key: string, -}): CancelablePromise { + public static getDocumentByIdDomains({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/document/{key}/domains', + url: '/umbraco/management/api/v1/document/{id}/domains', path: { - 'key': key, + 'id': id, }, }); } @@ -128,42 +130,88 @@ key: string, * @returns any Success * @throws ApiError */ - public static putDocumentByKeyDomains({ -key, -requestBody, -}: { -key: string, -requestBody?: UpdateDomainsRequestModel, -}): CancelablePromise { + public static putDocumentByIdDomains({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateDomainsRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', - url: '/umbraco/management/api/v1/document/{key}/domains', + url: '/umbraco/management/api/v1/document/{id}/domains', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', }); } + /** + * @returns any Success + * @throws ApiError + */ + public static getDocumentByIdNotifications({ + id, + }: { + id: string, + }): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/document/{id}/notifications', + path: { + 'id': id, + }, + errors: { + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static putDocumentByIdNotifications({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateDocumentNotificationsRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/document/{id}/notifications', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 404: `Not Found`, + }, + }); + } + /** * @returns PagedRecycleBinItemResponseModel Success * @throws ApiError */ public static getRecycleBinDocumentChildren({ -parentKey, -skip, -take = 100, -}: { -parentKey?: string, -skip?: number, -take?: number, -}): CancelablePromise { + parentId, + skip, + take = 100, + }: { + parentId?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/recycle-bin/document/children', query: { - 'parentKey': parentKey, + 'parentId': parentId, 'skip': skip, 'take': take, }, @@ -178,12 +226,12 @@ take?: number, * @throws ApiError */ public static getRecycleBinDocumentRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/recycle-bin/document/root', @@ -202,26 +250,26 @@ take?: number, * @throws ApiError */ public static getTreeDocumentChildren({ -parentKey, -skip, -take = 100, -dataTypeKey, -culture, -}: { -parentKey?: string, -skip?: number, -take?: number, -dataTypeKey?: string, -culture?: string, -}): CancelablePromise { + parentId, + skip, + take = 100, + dataTypeId, + culture, + }: { + parentId?: string, + skip?: number, + take?: number, + dataTypeId?: string, + culture?: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/document/children', query: { - 'parentKey': parentKey, + 'parentId': parentId, 'skip': skip, 'take': take, - 'dataTypeKey': dataTypeKey, + 'dataTypeId': dataTypeId, 'culture': culture, }, }); @@ -232,20 +280,20 @@ culture?: string, * @throws ApiError */ public static getTreeDocumentItem({ -key, -dataTypeKey, -culture, -}: { -key?: Array, -dataTypeKey?: string, -culture?: string, -}): CancelablePromise> { + id, + dataTypeId, + culture, + }: { + id?: Array, + dataTypeId?: string, + culture?: string, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/document/item', query: { - 'key': key, - 'dataTypeKey': dataTypeKey, + 'id': id, + 'dataTypeId': dataTypeId, 'culture': culture, }, }); @@ -256,23 +304,23 @@ culture?: string, * @throws ApiError */ public static getTreeDocumentRoot({ -skip, -take = 100, -dataTypeKey, -culture, -}: { -skip?: number, -take?: number, -dataTypeKey?: string, -culture?: string, -}): CancelablePromise { + skip, + take = 100, + dataTypeId, + culture, + }: { + skip?: number, + take?: number, + dataTypeId?: string, + culture?: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/document/root', query: { 'skip': skip, 'take': take, - 'dataTypeKey': dataTypeKey, + 'dataTypeId': dataTypeId, 'culture': culture, }, }); diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentTypeResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentTypeResource.ts index 5d034deb83..5c908b4ccf 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/DocumentTypeResource.ts @@ -15,16 +15,16 @@ export class DocumentTypeResource { * @returns any Success * @throws ApiError */ - public static getDocumentTypeByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getDocumentTypeById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/document-type/{key}', + url: '/umbraco/management/api/v1/document-type/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -37,21 +37,21 @@ key: string, * @throws ApiError */ public static getTreeDocumentTypeChildren({ -parentKey, -skip, -take = 100, -foldersOnly = false, -}: { -parentKey?: string, -skip?: number, -take?: number, -foldersOnly?: boolean, -}): CancelablePromise { + 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-type/children', query: { - 'parentKey': parentKey, + 'parentId': parentId, 'skip': skip, 'take': take, 'foldersOnly': foldersOnly, @@ -64,15 +64,15 @@ foldersOnly?: boolean, * @throws ApiError */ public static getTreeDocumentTypeItem({ -key, -}: { -key?: Array, -}): CancelablePromise> { + id, + }: { + id?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/document-type/item', query: { - 'key': key, + 'id': id, }, }); } @@ -82,14 +82,14 @@ key?: Array, * @throws ApiError */ public static getTreeDocumentTypeRoot({ -skip, -take = 100, -foldersOnly = false, -}: { -skip?: number, -take?: number, -foldersOnly?: boolean, -}): CancelablePromise { + skip, + take = 100, + foldersOnly = false, + }: { + skip?: number, + take?: number, + foldersOnly?: boolean, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/document-type/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/HealthCheckResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/HealthCheckResource.ts index d7100791c1..6ec8cf2917 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/HealthCheckResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/HealthCheckResource.ts @@ -18,12 +18,12 @@ export class HealthCheckResource { * @throws ApiError */ public static getHealthCheckGroup({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/health-check-group', @@ -39,10 +39,10 @@ take?: number, * @throws ApiError */ public static getHealthCheckGroupByName({ -name, -}: { -name: string, -}): CancelablePromise { + name, + }: { + name: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/health-check-group/{name}', @@ -60,10 +60,10 @@ name: string, * @throws ApiError */ public static postHealthCheckGroupByNameCheck({ -name, -}: { -name: string, -}): CancelablePromise { + name, + }: { + name: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/health-check-group/{name}/check', @@ -81,10 +81,10 @@ name: string, * @throws ApiError */ public static postHealthCheckExecuteAction({ -requestBody, -}: { -requestBody?: HealthCheckActionRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: HealthCheckActionRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/health-check/execute-action', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/HelpResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/HelpResource.ts index c9377a09fc..e3a76d04ae 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/HelpResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/HelpResource.ts @@ -14,18 +14,18 @@ export class HelpResource { * @throws ApiError */ public static getHelp({ -section, -tree, -skip, -take, -baseUrl = 'https://our.umbraco.com', -}: { -section?: string, -tree?: string, -skip?: number, -take?: number, -baseUrl?: string, -}): CancelablePromise { + section, + tree, + skip, + take, + baseUrl = 'https://our.umbraco.com', + }: { + section?: string, + tree?: string, + skip?: number, + take?: number, + baseUrl?: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/help', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/IndexerResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/IndexerResource.ts index 0ba53cc918..3b8485e122 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/IndexerResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/IndexerResource.ts @@ -16,12 +16,12 @@ export class IndexerResource { * @throws ApiError */ public static getIndexer({ -skip, -take, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/indexer', @@ -37,10 +37,10 @@ take?: number, * @throws ApiError */ public static getIndexerByIndexName({ -indexName, -}: { -indexName: string, -}): CancelablePromise { + indexName, + }: { + indexName: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/indexer/{indexName}', @@ -58,10 +58,10 @@ indexName: string, * @throws ApiError */ public static postIndexerByIndexNameRebuild({ -indexName, -}: { -indexName: string, -}): CancelablePromise { + indexName, + }: { + indexName: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/indexer/{indexName}/rebuild', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/InstallResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/InstallResource.ts index dcf826bbcf..927209fa7d 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/InstallResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/InstallResource.ts @@ -31,10 +31,10 @@ export class InstallResource { * @throws ApiError */ public static postInstallSetup({ -requestBody, -}: { -requestBody?: InstallVResponseModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: InstallVResponseModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/install/setup', @@ -52,10 +52,10 @@ requestBody?: InstallVResponseModel, * @throws ApiError */ public static postInstallValidateDatabase({ -requestBody, -}: { -requestBody?: DatabaseInstallResponseModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: DatabaseInstallResponseModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/install/validate-database', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/LanguageResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/LanguageResource.ts index 51967f3fce..56e3f9b7c7 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/LanguageResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/LanguageResource.ts @@ -17,12 +17,12 @@ export class LanguageResource { * @throws ApiError */ public static getLanguage({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/language', @@ -38,10 +38,10 @@ take?: number, * @throws ApiError */ public static postLanguage({ -requestBody, -}: { -requestBody?: CreateLanguageRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: CreateLanguageRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/language', @@ -60,10 +60,10 @@ requestBody?: CreateLanguageRequestModel, * @throws ApiError */ public static getLanguageByIsoCode({ -isoCode, -}: { -isoCode: string, -}): CancelablePromise { + isoCode, + }: { + isoCode: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/language/{isoCode}', @@ -81,10 +81,10 @@ isoCode: string, * @throws ApiError */ public static deleteLanguageByIsoCode({ -isoCode, -}: { -isoCode: string, -}): CancelablePromise { + isoCode, + }: { + isoCode: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', url: '/umbraco/management/api/v1/language/{isoCode}', @@ -103,12 +103,12 @@ isoCode: string, * @throws ApiError */ public static putLanguageByIsoCode({ -isoCode, -requestBody, -}: { -isoCode: string, -requestBody?: UpdateLanguageRequestModel, -}): CancelablePromise { + isoCode, + requestBody, + }: { + isoCode: string, + requestBody?: UpdateLanguageRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', url: '/umbraco/management/api/v1/language/{isoCode}', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/LogViewerResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/LogViewerResource.ts index ef9b3cbf79..e3d16d571b 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/LogViewerResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/LogViewerResource.ts @@ -16,224 +16,218 @@ import { OpenAPI } from '../core/OpenAPI'; import { request as __request } from '../core/request'; export class LogViewerResource { + /** + * @returns PagedLoggerResponseModel Success + * @throws ApiError + */ + public static getLogViewerLevel({ + skip, + take = 100, + }: { + skip?: number; + take?: number; + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/log-viewer/level', + query: { + skip: skip, + take: take, + }, + }); + } - /** - * @returns PagedLoggerResponseModel Success - * @throws ApiError - */ - public static getLogViewerLevel({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/log-viewer/level', - query: { - 'skip': skip, - 'take': take, - }, - }); - } + /** + * @returns any Success + * @throws ApiError + */ + public static getLogViewerLevelCount({ + startDate, + endDate, + }: { + startDate?: string; + endDate?: string; + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/log-viewer/level-count', + query: { + startDate: startDate, + endDate: endDate, + }, + errors: { + 400: `Bad Request`, + }, + }); + } - /** - * @returns any Success - * @throws ApiError - */ - public static getLogViewerLevelCount({ -startDate, -endDate, -}: { -startDate?: string, -endDate?: string, -}): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/log-viewer/level-count', - query: { - 'startDate': startDate, - 'endDate': endDate, - }, - errors: { - 400: `Bad Request`, - }, - }); - } + /** + * @returns PagedLogMessageResponseModel Success + * @throws ApiError + */ + public static getLogViewerLog({ + skip, + take = 100, + orderDirection, + filterExpression, + logLevel, + startDate, + endDate, + }: { + skip?: number; + take?: number; + orderDirection?: DirectionModel; + filterExpression?: string; + logLevel?: Array; + startDate?: string; + endDate?: string; + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/log-viewer/log', + query: { + skip: skip, + take: take, + orderDirection: orderDirection, + filterExpression: filterExpression, + logLevel: logLevel, + startDate: startDate, + endDate: endDate, + }, + }); + } - /** - * @returns PagedLogMessageResponseModel Success - * @throws ApiError - */ - public static getLogViewerLog({ -skip, -take = 100, -orderDirection, -filterExpression, -logLevel, -startDate, -endDate, -}: { -skip?: number, -take?: number, -orderDirection?: DirectionModel, -filterExpression?: string, -logLevel?: Array, -startDate?: string, -endDate?: string, -}): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/log-viewer/log', - query: { - 'skip': skip, - 'take': take, - 'orderDirection': orderDirection, - 'filterExpression': filterExpression, - 'logLevel': logLevel, - 'startDate': startDate, - 'endDate': endDate, - }, - }); - } + /** + * @returns PagedLogTemplateResponseModel Success + * @throws ApiError + */ + public static getLogViewerMessageTemplate({ + skip, + take = 100, + startDate, + endDate, + }: { + skip?: number; + take?: number; + startDate?: string; + endDate?: string; + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/log-viewer/message-template', + query: { + skip: skip, + take: take, + startDate: startDate, + endDate: endDate, + }, + errors: { + 400: `Bad Request`, + }, + }); + } - /** - * @returns PagedLogTemplateResponseModel Success - * @throws ApiError - */ - public static getLogViewerMessageTemplate({ -skip, -take = 100, -startDate, -endDate, -}: { -skip?: number, -take?: number, -startDate?: string, -endDate?: string, -}): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/log-viewer/message-template', - query: { - 'skip': skip, - 'take': take, - 'startDate': startDate, - 'endDate': endDate, - }, - errors: { - 400: `Bad Request`, - }, - }); - } + /** + * @returns PagedSavedLogSearchResponseModel Success + * @throws ApiError + */ + public static getLogViewerSavedSearch({ + skip, + take = 100, + }: { + skip?: number; + take?: number; + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/log-viewer/saved-search', + query: { + skip: skip, + take: take, + }, + }); + } - /** - * @returns PagedSavedLogSearchResponseModel Success - * @throws ApiError - */ - public static getLogViewerSavedSearch({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/log-viewer/saved-search', - query: { - 'skip': skip, - 'take': take, - }, - }); - } + /** + * @returns string Created + * @throws ApiError + */ + public static postLogViewerSavedSearch({ + requestBody, + }: { + requestBody?: SavedLogSearchRequestModel; + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/log-viewer/saved-search', + body: requestBody, + mediaType: 'application/json', + responseHeader: 'Location', + errors: { + 400: `Bad Request`, + }, + }); + } - /** - * @returns string Created - * @throws ApiError - */ - public static postLogViewerSavedSearch({ -requestBody, -}: { -requestBody?: SavedLogSearchRequestModel, -}): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/umbraco/management/api/v1/log-viewer/saved-search', - body: requestBody, - mediaType: 'application/json', - responseHeader: 'Location', - errors: { - 400: `Bad Request`, - }, - }); - } + /** + * @returns any Success + * @throws ApiError + */ + public static getLogViewerSavedSearchByName({ + name, + }: { + name: string; + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/log-viewer/saved-search/{name}', + path: { + name: name, + }, + errors: { + 404: `Not Found`, + }, + }); + } - /** - * @returns any Success - * @throws ApiError - */ - public static getLogViewerSavedSearchByName({ -name, -}: { -name: string, -}): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/log-viewer/saved-search/{name}', - path: { - 'name': name, - }, - errors: { - 404: `Not Found`, - }, - }); - } - - /** - * @returns any Success - * @throws ApiError - */ - public static deleteLogViewerSavedSearchByName({ -name, -}: { -name: string, -}): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/umbraco/management/api/v1/log-viewer/saved-search/{name}', - path: { - 'name': name, - }, - errors: { - 404: `Not Found`, - }, - }); - } - - /** - * @returns any Success - * @throws ApiError - */ - public static getLogViewerValidateLogsSize({ -startDate, -endDate, -}: { -startDate?: string, -endDate?: string, -}): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/log-viewer/validate-logs-size', - query: { - 'startDate': startDate, - 'endDate': endDate, - }, - errors: { - 400: `Bad Request`, - }, - }); - } + /** + * @returns any Success + * @throws ApiError + */ + public static deleteLogViewerSavedSearchByName({ name }: { name: string }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/log-viewer/saved-search/{name}', + path: { + name: name, + }, + errors: { + 404: `Not Found`, + }, + }); + } + /** + * @returns any Success + * @throws ApiError + */ + public static getLogViewerValidateLogsSize({ + startDate, + endDate, + }: { + startDate?: string; + endDate?: string; + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/log-viewer/validate-logs-size', + query: { + startDate: startDate, + endDate: endDate, + }, + errors: { + 400: `Bad Request`, + }, + }); + } } diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MediaResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MediaResource.ts index bd2f3e59d6..27690e5cf2 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MediaResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MediaResource.ts @@ -20,10 +20,10 @@ export class MediaResource { * @throws ApiError */ public static postMedia({ -requestBody, -}: { -requestBody?: CreateMediaRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: CreateMediaRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/media', @@ -41,16 +41,16 @@ requestBody?: CreateMediaRequestModel, * @returns any Success * @throws ApiError */ - public static getMediaByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getMediaById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/media/{key}', + url: '/umbraco/management/api/v1/media/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -62,16 +62,16 @@ key: string, * @returns any Success * @throws ApiError */ - public static deleteMediaByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static deleteMediaById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', - url: '/umbraco/management/api/v1/media/{key}', + url: '/umbraco/management/api/v1/media/{id}', path: { - 'key': key, + 'id': id, }, errors: { 400: `Bad Request`, @@ -84,18 +84,18 @@ key: string, * @returns any Success * @throws ApiError */ - public static putMediaByKey({ -key, -requestBody, -}: { -key: string, -requestBody?: UpdateMediaRequestModel, -}): CancelablePromise { + public static putMediaById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateMediaRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', - url: '/umbraco/management/api/v1/media/{key}', + url: '/umbraco/management/api/v1/media/{id}', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -111,19 +111,19 @@ requestBody?: UpdateMediaRequestModel, * @throws ApiError */ public static getRecycleBinMediaChildren({ -parentKey, -skip, -take = 100, -}: { -parentKey?: string, -skip?: number, -take?: number, -}): CancelablePromise { + parentId, + skip, + take = 100, + }: { + parentId?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/recycle-bin/media/children', query: { - 'parentKey': parentKey, + 'parentId': parentId, 'skip': skip, 'take': take, }, @@ -138,12 +138,12 @@ take?: number, * @throws ApiError */ public static getRecycleBinMediaRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/recycle-bin/media/root', @@ -162,24 +162,24 @@ take?: number, * @throws ApiError */ public static getTreeMediaChildren({ -parentKey, -skip, -take = 100, -dataTypeKey, -}: { -parentKey?: string, -skip?: number, -take?: number, -dataTypeKey?: string, -}): CancelablePromise { + parentId, + skip, + take = 100, + dataTypeId, + }: { + parentId?: string, + skip?: number, + take?: number, + dataTypeId?: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/media/children', query: { - 'parentKey': parentKey, + 'parentId': parentId, 'skip': skip, 'take': take, - 'dataTypeKey': dataTypeKey, + 'dataTypeId': dataTypeId, }, }); } @@ -189,18 +189,18 @@ dataTypeKey?: string, * @throws ApiError */ public static getTreeMediaItem({ -key, -dataTypeKey, -}: { -key?: Array, -dataTypeKey?: string, -}): CancelablePromise> { + id, + dataTypeId, + }: { + id?: Array, + dataTypeId?: string, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/media/item', query: { - 'key': key, - 'dataTypeKey': dataTypeKey, + 'id': id, + 'dataTypeId': dataTypeId, }, }); } @@ -210,21 +210,21 @@ dataTypeKey?: string, * @throws ApiError */ public static getTreeMediaRoot({ -skip, -take = 100, -dataTypeKey, -}: { -skip?: number, -take?: number, -dataTypeKey?: string, -}): CancelablePromise { + skip, + take = 100, + dataTypeId, + }: { + skip?: number, + take?: number, + dataTypeId?: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/media/root', query: { 'skip': skip, 'take': take, - 'dataTypeKey': dataTypeKey, + 'dataTypeId': dataTypeId, }, }); } diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MediaTypeResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MediaTypeResource.ts index e8cd962868..8d583f4fd4 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MediaTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MediaTypeResource.ts @@ -16,16 +16,16 @@ export class MediaTypeResource { * @returns any Success * @throws ApiError */ - public static getMediaTypeByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getMediaTypeById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/media-type/{key}', + url: '/umbraco/management/api/v1/media-type/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -38,21 +38,21 @@ key: string, * @throws ApiError */ public static getTreeMediaTypeChildren({ -parentKey, -skip, -take = 100, -foldersOnly = false, -}: { -parentKey?: string, -skip?: number, -take?: number, -foldersOnly?: boolean, -}): CancelablePromise { + 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/media-type/children', query: { - 'parentKey': parentKey, + 'parentId': parentId, 'skip': skip, 'take': take, 'foldersOnly': foldersOnly, @@ -65,15 +65,15 @@ foldersOnly?: boolean, * @throws ApiError */ public static getTreeMediaTypeItem({ -key, -}: { -key?: Array, -}): CancelablePromise> { + id, + }: { + id?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/media-type/item', query: { - 'key': key, + 'id': id, }, }); } @@ -83,14 +83,14 @@ key?: Array, * @throws ApiError */ public static getTreeMediaTypeRoot({ -skip, -take = 100, -foldersOnly = false, -}: { -skip?: number, -take?: number, -foldersOnly?: boolean, -}): CancelablePromise { + skip, + take = 100, + foldersOnly = false, + }: { + skip?: number, + take?: number, + foldersOnly?: boolean, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/media-type/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MemberGroupResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MemberGroupResource.ts index d0845c8968..7144009cb1 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MemberGroupResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MemberGroupResource.ts @@ -20,15 +20,15 @@ export class MemberGroupResource { * @throws ApiError */ public static getTreeMemberGroupItem({ -key, -}: { -key?: Array, -}): CancelablePromise> { + id, + }: { + id?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/member-group/item', query: { - 'key': key, + 'id': id, }, }); } @@ -38,12 +38,12 @@ key?: Array, * @throws ApiError */ public static getTreeMemberGroupRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/member-group/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MemberTypeResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MemberTypeResource.ts index 3336953d5a..df77ec68fd 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MemberTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/MemberTypeResource.ts @@ -20,15 +20,15 @@ export class MemberTypeResource { * @throws ApiError */ public static getTreeMemberTypeItem({ -key, -}: { -key?: Array, -}): CancelablePromise> { + id, + }: { + id?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/member-type/item', query: { - 'key': key, + 'id': id, }, }); } @@ -38,12 +38,12 @@ key?: Array, * @throws ApiError */ public static getTreeMemberTypeRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/member-type/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ObjectTypesResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ObjectTypesResource.ts index c87823f5aa..b25a8644ce 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ObjectTypesResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ObjectTypesResource.ts @@ -14,12 +14,12 @@ export class ObjectTypesResource { * @throws ApiError */ public static getObjectTypes({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/object-types', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/PackageResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/PackageResource.ts index d33c63d582..0d64af3fd7 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/PackageResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/PackageResource.ts @@ -19,10 +19,10 @@ export class PackageResource { * @throws ApiError */ public static postPackageByNameRunMigration({ -name, -}: { -name: string, -}): CancelablePromise { + name, + }: { + name: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/package/{name}/run-migration', @@ -41,12 +41,12 @@ name: string, * @throws ApiError */ public static getPackageCreated({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/package/created', @@ -62,10 +62,10 @@ take?: number, * @throws ApiError */ public static postPackageCreated({ -requestBody, -}: { -requestBody?: CreatePackageRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: CreatePackageRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/package/created', @@ -83,16 +83,16 @@ requestBody?: CreatePackageRequestModel, * @returns any Success * @throws ApiError */ - public static getPackageCreatedByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getPackageCreatedById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/package/created/{key}', + url: '/umbraco/management/api/v1/package/created/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -104,16 +104,16 @@ key: string, * @returns any Success * @throws ApiError */ - public static deletePackageCreatedByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static deletePackageCreatedById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', - url: '/umbraco/management/api/v1/package/created/{key}', + url: '/umbraco/management/api/v1/package/created/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -125,18 +125,18 @@ key: string, * @returns any Success * @throws ApiError */ - public static putPackageCreatedByKey({ -key, -requestBody, -}: { -key: string, -requestBody?: UpdatePackageRequestModel, -}): CancelablePromise { + public static putPackageCreatedById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdatePackageRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', - url: '/umbraco/management/api/v1/package/created/{key}', + url: '/umbraco/management/api/v1/package/created/{id}', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -150,16 +150,16 @@ requestBody?: UpdatePackageRequestModel, * @returns binary Success * @throws ApiError */ - public static getPackageCreatedByKeyDownload({ -key, -}: { -key: string, -}): CancelablePromise { + public static getPackageCreatedByIdDownload({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/package/created/{key}/download', + url: '/umbraco/management/api/v1/package/created/{id}/download', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -183,12 +183,12 @@ key: string, * @throws ApiError */ public static getPackageMigrationStatus({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/package/migration-status', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/PartialViewResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/PartialViewResource.ts index f249b42346..4f44e0cf12 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/PartialViewResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/PartialViewResource.ts @@ -15,14 +15,14 @@ export class PartialViewResource { * @throws ApiError */ public static getTreePartialViewChildren({ -path, -skip, -take = 100, -}: { -path?: string, -skip?: number, -take?: number, -}): CancelablePromise { + path, + skip, + take = 100, + }: { + path?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/partial-view/children', @@ -39,10 +39,10 @@ take?: number, * @throws ApiError */ public static getTreePartialViewItem({ -path, -}: { -path?: Array, -}): CancelablePromise> { + path, + }: { + path?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/partial-view/item', @@ -57,12 +57,12 @@ path?: Array, * @throws ApiError */ public static getTreePartialViewRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/partial-view/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ProfilingResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ProfilingResource.ts index ddd5d31988..81422ff13b 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ProfilingResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ProfilingResource.ts @@ -26,10 +26,10 @@ export class ProfilingResource { * @throws ApiError */ public static putProfilingStatus({ -requestBody, -}: { -requestBody?: ProfilingStatusRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: ProfilingStatusRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', url: '/umbraco/management/api/v1/profiling/status', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RedirectManagementResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RedirectManagementResource.ts index 2c82d24fcd..2d12b27858 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RedirectManagementResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RedirectManagementResource.ts @@ -16,14 +16,14 @@ export class RedirectManagementResource { * @throws ApiError */ public static getRedirectManagement({ -filter, -skip, -take, -}: { -filter?: string, -skip?: number, -take?: number, -}): CancelablePromise { + filter, + skip, + take, + }: { + filter?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/redirect-management', @@ -42,20 +42,20 @@ take?: number, * @returns PagedRedirectUrlResponseModel Success * @throws ApiError */ - public static getRedirectManagementByKey({ -key, -skip, -take, -}: { -key: string, -skip?: number, -take?: number, -}): CancelablePromise { + public static getRedirectManagementById({ + id, + skip, + take, + }: { + id: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/redirect-management/{key}', + url: '/umbraco/management/api/v1/redirect-management/{id}', path: { - 'key': key, + 'id': id, }, query: { 'skip': skip, @@ -68,16 +68,16 @@ take?: number, * @returns any Success * @throws ApiError */ - public static deleteRedirectManagementByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static deleteRedirectManagementById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', - url: '/umbraco/management/api/v1/redirect-management/{key}', + url: '/umbraco/management/api/v1/redirect-management/{id}', path: { - 'key': key, + 'id': id, }, }); } @@ -98,10 +98,10 @@ key: string, * @throws ApiError */ public static postRedirectManagementStatus({ -status, -}: { -status?: RedirectStatusModel, -}): CancelablePromise { + status, + }: { + status?: RedirectStatusModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/redirect-management/status', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RelationResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RelationResource.ts index 69d6c06860..3c5ef6f3c7 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RelationResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RelationResource.ts @@ -15,10 +15,10 @@ export class RelationResource { * @throws ApiError */ public static getRelationById({ -id, -}: { -id: number, -}): CancelablePromise { + id, + }: { + id: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/relation/{id}', @@ -36,16 +36,16 @@ id: number, * @throws ApiError */ public static getRelationChildRelationByChildId({ -childId, -skip, -take, -relationTypeAlias = '', -}: { -childId: number, -skip?: number, -take?: number, -relationTypeAlias?: string, -}): CancelablePromise { + childId, + skip, + take, + relationTypeAlias = '', + }: { + childId: number, + skip?: number, + take?: number, + relationTypeAlias?: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/relation/child-relation/{childId}', @@ -64,20 +64,20 @@ relationTypeAlias?: string, * @returns PagedRelationResponseModel Success * @throws ApiError */ - public static getRelationTypeByKey({ -key, -skip, -take = 100, -}: { -key: string, -skip?: number, -take?: number, -}): CancelablePromise { + public static getRelationTypeById({ + id, + skip, + take = 100, + }: { + id: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/relation/type/{key}', + url: '/umbraco/management/api/v1/relation/type/{id}', path: { - 'key': key, + 'id': id, }, query: { 'skip': skip, diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RelationTypeResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RelationTypeResource.ts index 1c9c7bb266..ae5d2ffd04 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RelationTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/RelationTypeResource.ts @@ -19,10 +19,10 @@ export class RelationTypeResource { * @throws ApiError */ public static postRelationType({ -requestBody, -}: { -requestBody?: CreateRelationTypeRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: CreateRelationTypeRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/relation-type', @@ -39,16 +39,16 @@ requestBody?: CreateRelationTypeRequestModel, * @returns any Success * @throws ApiError */ - public static getRelationTypeByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getRelationTypeById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/relation-type/{key}', + url: '/umbraco/management/api/v1/relation-type/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -60,16 +60,16 @@ key: string, * @returns any Success * @throws ApiError */ - public static deleteRelationTypeByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static deleteRelationTypeById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', - url: '/umbraco/management/api/v1/relation-type/{key}', + url: '/umbraco/management/api/v1/relation-type/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -81,18 +81,18 @@ key: string, * @returns any Success * @throws ApiError */ - public static putRelationTypeByKey({ -key, -requestBody, -}: { -key: string, -requestBody?: UpdateRelationTypeRequestModel, -}): CancelablePromise { + public static putRelationTypeById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateRelationTypeRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', - url: '/umbraco/management/api/v1/relation-type/{key}', + url: '/umbraco/management/api/v1/relation-type/{id}', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -108,15 +108,15 @@ requestBody?: UpdateRelationTypeRequestModel, * @throws ApiError */ public static getTreeRelationTypeItem({ -key, -}: { -key?: Array, -}): CancelablePromise> { + id, + }: { + id?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/relation-type/item', query: { - 'key': key, + 'id': id, }, }); } @@ -126,12 +126,12 @@ key?: Array, * @throws ApiError */ public static getTreeRelationTypeRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/relation-type/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ScriptResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ScriptResource.ts index db3cb6e256..573b19912c 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ScriptResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/ScriptResource.ts @@ -15,14 +15,14 @@ export class ScriptResource { * @throws ApiError */ public static getTreeScriptChildren({ -path, -skip, -take = 100, -}: { -path?: string, -skip?: number, -take?: number, -}): CancelablePromise { + path, + skip, + take = 100, + }: { + path?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/script/children', @@ -39,10 +39,10 @@ take?: number, * @throws ApiError */ public static getTreeScriptItem({ -path, -}: { -path?: Array, -}): CancelablePromise> { + path, + }: { + path?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/script/item', @@ -57,12 +57,12 @@ path?: Array, * @throws ApiError */ public static getTreeScriptRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/script/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/SearcherResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/SearcherResource.ts index b284454529..68b20fe3ee 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/SearcherResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/SearcherResource.ts @@ -15,12 +15,12 @@ export class SearcherResource { * @throws ApiError */ public static getSearcher({ -skip, -take, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/searcher', @@ -36,16 +36,16 @@ take?: number, * @throws ApiError */ public static getSearcherBySearcherNameQuery({ -searcherName, -term, -skip, -take, -}: { -searcherName: string, -term?: string, -skip?: number, -take?: number, -}): CancelablePromise { + searcherName, + term, + skip, + take, + }: { + searcherName: string, + term?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/searcher/{searcherName}/query', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/StaticFileResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/StaticFileResource.ts index 240af80ee8..4379b0aafa 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/StaticFileResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/StaticFileResource.ts @@ -15,14 +15,14 @@ export class StaticFileResource { * @throws ApiError */ public static getTreeStaticFileChildren({ -path, -skip, -take = 100, -}: { -path?: string, -skip?: number, -take?: number, -}): CancelablePromise { + path, + skip, + take = 100, + }: { + path?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/static-file/children', @@ -39,10 +39,10 @@ take?: number, * @throws ApiError */ public static getTreeStaticFileItem({ -path, -}: { -path?: Array, -}): CancelablePromise> { + path, + }: { + path?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/static-file/item', @@ -57,12 +57,12 @@ path?: Array, * @throws ApiError */ public static getTreeStaticFileRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/static-file/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/StylesheetResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/StylesheetResource.ts index b504ba6aab..5d85a44b41 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/StylesheetResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/StylesheetResource.ts @@ -15,14 +15,14 @@ export class StylesheetResource { * @throws ApiError */ public static getTreeStylesheetChildren({ -path, -skip, -take = 100, -}: { -path?: string, -skip?: number, -take?: number, -}): CancelablePromise { + path, + skip, + take = 100, + }: { + path?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/stylesheet/children', @@ -39,10 +39,10 @@ take?: number, * @throws ApiError */ public static getTreeStylesheetItem({ -path, -}: { -path?: Array, -}): CancelablePromise> { + path, + }: { + path?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/stylesheet/item', @@ -57,12 +57,12 @@ path?: Array, * @throws ApiError */ public static getTreeStylesheetRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/stylesheet/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TelemetryResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TelemetryResource.ts index 289f0f8e46..19975410d0 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TelemetryResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TelemetryResource.ts @@ -16,12 +16,12 @@ export class TelemetryResource { * @throws ApiError */ public static getTelemetry({ -skip, -take, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/telemetry', @@ -48,10 +48,10 @@ take?: number, * @throws ApiError */ public static postTelemetryLevel({ -requestBody, -}: { -requestBody?: TelemetryRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: TelemetryRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/telemetry/level', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TemplateResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TemplateResource.ts index d5133dc6a7..ab2c55cccd 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TemplateResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TemplateResource.ts @@ -27,10 +27,10 @@ export class TemplateResource { * @throws ApiError */ public static postTemplate({ -requestBody, -}: { -requestBody?: CreateTemplateRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: CreateTemplateRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/template', @@ -48,16 +48,16 @@ requestBody?: CreateTemplateRequestModel, * @returns any Success * @throws ApiError */ - public static getTemplateByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getTemplateById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/template/{key}', + url: '/umbraco/management/api/v1/template/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -69,16 +69,16 @@ key: string, * @returns any Success * @throws ApiError */ - public static deleteTemplateByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static deleteTemplateById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', - url: '/umbraco/management/api/v1/template/{key}', + url: '/umbraco/management/api/v1/template/{id}', path: { - 'key': key, + 'id': id, }, errors: { 400: `Bad Request`, @@ -91,18 +91,18 @@ key: string, * @returns any Success * @throws ApiError */ - public static putTemplateByKey({ -key, -requestBody, -}: { -key: string, -requestBody?: UpdateTemplateRequestModel, -}): CancelablePromise { + public static putTemplateById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateTemplateRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', - url: '/umbraco/management/api/v1/template/{key}', + url: '/umbraco/management/api/v1/template/{id}', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', @@ -118,10 +118,10 @@ requestBody?: UpdateTemplateRequestModel, * @throws ApiError */ public static postTemplateQueryExecute({ -requestBody, -}: { -requestBody?: TemplateQueryExecuteModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: TemplateQueryExecuteModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/template/query/execute', @@ -160,19 +160,19 @@ requestBody?: TemplateQueryExecuteModel, * @throws ApiError */ public static getTreeTemplateChildren({ -parentKey, -skip, -take = 100, -}: { -parentKey?: string, -skip?: number, -take?: number, -}): CancelablePromise { + parentId, + skip, + take = 100, + }: { + parentId?: string, + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/template/children', query: { - 'parentKey': parentKey, + 'parentId': parentId, 'skip': skip, 'take': take, }, @@ -184,15 +184,15 @@ take?: number, * @throws ApiError */ public static getTreeTemplateItem({ -key, -}: { -key?: Array, -}): CancelablePromise> { + id, + }: { + id?: Array, + }): CancelablePromise> { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/template/item', query: { - 'key': key, + 'id': id, }, }); } @@ -202,12 +202,12 @@ key?: Array, * @throws ApiError */ public static getTreeTemplateRoot({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tree/template/root', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TemporaryFileResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TemporaryFileResource.ts new file mode 100644 index 0000000000..44dc7b5f19 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TemporaryFileResource.ts @@ -0,0 +1,80 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { TemporaryFileResponseModel } from '../models/TemporaryFileResponseModel'; + +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; + +export class TemporaryFileResource { + + /** + * @returns string Created + * @throws ApiError + */ + public static postTemporaryfile({ + formData, + }: { + formData?: { + Id?: string; + File?: Blob; + }, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/temporaryfile', + formData: formData, + mediaType: 'multipart/form-data', + responseHeader: 'Location', + errors: { + 400: `Bad Request`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static getTemporaryfileById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/temporaryfile/{id}', + path: { + 'id': id, + }, + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static deleteTemporaryfileById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/temporaryfile/{id}', + path: { + 'id': id, + }, + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + +} diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TrackedReferenceResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TrackedReferenceResource.ts index 3c1a145658..2ba114f3a2 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TrackedReferenceResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/TrackedReferenceResource.ts @@ -13,22 +13,22 @@ export class TrackedReferenceResource { * @returns PagedRelationItemResponseModel Success * @throws ApiError */ - public static getTrackedReferenceByKey({ -key, -skip, -take = 20, -filterMustBeIsDependency = false, -}: { -key: string, -skip?: number, -take?: number, -filterMustBeIsDependency?: boolean, -}): CancelablePromise { + public static getTrackedReferenceById({ + id, + skip, + take = 20, + filterMustBeIsDependency = false, + }: { + id: string, + skip?: number, + take?: number, + filterMustBeIsDependency?: boolean, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/tracked-reference/{key}', + url: '/umbraco/management/api/v1/tracked-reference/{id}', path: { - 'key': key, + 'id': id, }, query: { 'skip': skip, @@ -42,22 +42,22 @@ filterMustBeIsDependency?: boolean, * @returns PagedRelationItemResponseModel Success * @throws ApiError */ - public static getTrackedReferenceDescendantsByParentKey({ -parentKey, -skip, -take, -filterMustBeIsDependency = true, -}: { -parentKey: string, -skip?: number, -take?: number, -filterMustBeIsDependency?: boolean, -}): CancelablePromise { + public static getTrackedReferenceDescendantsByParentId({ + parentId, + skip, + take, + filterMustBeIsDependency = true, + }: { + parentId: string, + skip?: number, + take?: number, + filterMustBeIsDependency?: boolean, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/tracked-reference/descendants/{parentKey}', + url: '/umbraco/management/api/v1/tracked-reference/descendants/{parentId}', path: { - 'parentKey': parentKey, + 'parentId': parentId, }, query: { 'skip': skip, @@ -72,21 +72,21 @@ filterMustBeIsDependency?: boolean, * @throws ApiError */ public static getTrackedReferenceItem({ -key, -skip, -take = 20, -filterMustBeIsDependency = true, -}: { -key?: Array, -skip?: number, -take?: number, -filterMustBeIsDependency?: boolean, -}): CancelablePromise { + id, + skip, + take = 20, + filterMustBeIsDependency = true, + }: { + id?: Array, + skip?: number, + take?: number, + filterMustBeIsDependency?: boolean, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/tracked-reference/item', query: { - 'key': key, + 'id': id, 'skip': skip, 'take': take, 'filterMustBeIsDependency': filterMustBeIsDependency, diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/UserGroupsResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/UserGroupsResource.ts index 4c9f40614a..c161c4e304 100644 --- a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/UserGroupsResource.ts +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/UserGroupsResource.ts @@ -17,10 +17,10 @@ export class UserGroupsResource { * @throws ApiError */ public static postUserGroups({ -requestBody, -}: { -requestBody?: SaveUserGroupRequestModel, -}): CancelablePromise { + requestBody, + }: { + requestBody?: SaveUserGroupRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/user-groups', @@ -38,12 +38,12 @@ requestBody?: SaveUserGroupRequestModel, * @throws ApiError */ public static getUserGroups({ -skip, -take = 100, -}: { -skip?: number, -take?: number, -}): CancelablePromise { + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', url: '/umbraco/management/api/v1/user-groups', @@ -58,16 +58,16 @@ take?: number, * @returns any Success * @throws ApiError */ - public static getUserGroupsByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static getUserGroupsById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/umbraco/management/api/v1/user-groups/{key}', + url: '/umbraco/management/api/v1/user-groups/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -79,16 +79,16 @@ key: string, * @returns any Success * @throws ApiError */ - public static deleteUserGroupsByKey({ -key, -}: { -key: string, -}): CancelablePromise { + public static deleteUserGroupsById({ + id, + }: { + id: string, + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', - url: '/umbraco/management/api/v1/user-groups/{key}', + url: '/umbraco/management/api/v1/user-groups/{id}', path: { - 'key': key, + 'id': id, }, errors: { 404: `Not Found`, @@ -100,18 +100,18 @@ key: string, * @returns any Success * @throws ApiError */ - public static putUserGroupsByKey({ -key, -requestBody, -}: { -key: string, -requestBody?: UpdateUserGroupRequestModel, -}): CancelablePromise { + public static putUserGroupsById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateUserGroupRequestModel, + }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', - url: '/umbraco/management/api/v1/user-groups/{key}', + url: '/umbraco/management/api/v1/user-groups/{id}', path: { - 'key': key, + 'id': id, }, body: requestBody, mediaType: 'application/json', diff --git a/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/UsersResource.ts b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/UsersResource.ts new file mode 100644 index 0000000000..e2b78bae8a --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/backend-api/src/services/UsersResource.ts @@ -0,0 +1,323 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ChangePasswordUserRequestModel } from '../models/ChangePasswordUserRequestModel'; +import type { CreateUserRequestModel } from '../models/CreateUserRequestModel'; +import type { CreateUserResponseModel } from '../models/CreateUserResponseModel'; +import type { DirectionModel } from '../models/DirectionModel'; +import type { DisableUserRequestModel } from '../models/DisableUserRequestModel'; +import type { EnableUserRequestModel } from '../models/EnableUserRequestModel'; +import type { InviteUserRequestModel } from '../models/InviteUserRequestModel'; +import type { PagedUserResponseModel } from '../models/PagedUserResponseModel'; +import type { SetAvatarRequestModel } from '../models/SetAvatarRequestModel'; +import type { UnlockUsersRequestModel } from '../models/UnlockUsersRequestModel'; +import type { UpdateUserGroupsOnUserRequestModel } from '../models/UpdateUserGroupsOnUserRequestModel'; +import type { UpdateUserRequestModel } from '../models/UpdateUserRequestModel'; +import type { UserOrderModel } from '../models/UserOrderModel'; +import type { UserResponseModel } from '../models/UserResponseModel'; +import type { UserStateModel } from '../models/UserStateModel'; + +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; + +export class UsersResource { + + /** + * @returns any Success + * @throws ApiError + */ + public static postUsers({ + requestBody, + }: { + requestBody?: (CreateUserRequestModel | InviteUserRequestModel), + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/users', + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + }, + }); + } + + /** + * @returns PagedUserResponseModel Success + * @throws ApiError + */ + public static getUsers({ + skip, + take = 100, + }: { + skip?: number, + take?: number, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/users', + query: { + 'skip': skip, + 'take': take, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static getUsersById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/users/{id}', + path: { + 'id': id, + }, + errors: { + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static deleteUsersById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/users/{id}', + path: { + 'id': id, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static putUsersById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateUserRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/users/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static deleteUsersAvatarById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/users/avatar/{id}', + path: { + 'id': id, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static postUsersAvatarById({ + id, + requestBody, + }: { + id: string, + requestBody?: SetAvatarRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/users/avatar/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static postUsersChangePasswordById({ + id, + requestBody, + }: { + id: string, + requestBody?: ChangePasswordUserRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/users/change-password/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static postUsersDisable({ + requestBody, + }: { + requestBody?: DisableUserRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/users/disable', + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static postUsersEnable({ + requestBody, + }: { + requestBody?: EnableUserRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/users/enable', + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static getUsersFilter({ + skip, + take = 100, + orderBy, + orderDirection, + userGroupIds, + userStates, + filter = '', + }: { + skip?: number, + take?: number, + orderBy?: UserOrderModel, + orderDirection?: DirectionModel, + userGroupIds?: Array, + userStates?: Array, + filter?: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/users/filter', + query: { + 'skip': skip, + 'take': take, + 'orderBy': orderBy, + 'orderDirection': orderDirection, + 'userGroupIds': userGroupIds, + 'userStates': userStates, + 'filter': filter, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static postUsersInvite({ + requestBody, + }: { + requestBody?: InviteUserRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/users/invite', + body: requestBody, + mediaType: 'application/json', + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static postUsersSetUserGroups({ + requestBody, + }: { + requestBody?: UpdateUserGroupsOnUserRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/users/set-user-groups', + body: requestBody, + mediaType: 'application/json', + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static postUsersUnlock({ + requestBody, + }: { + requestBody?: UnlockUsersRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/users/unlock', + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + }, + }); + } + +} diff --git a/src/Umbraco.Web.UI.Client/libs/modal/token/allowed-document-types-modal.token.ts b/src/Umbraco.Web.UI.Client/libs/modal/token/allowed-document-types-modal.token.ts index 74e37ca564..c4f7631758 100644 --- a/src/Umbraco.Web.UI.Client/libs/modal/token/allowed-document-types-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/libs/modal/token/allowed-document-types-modal.token.ts @@ -1,7 +1,7 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbAllowedDocumentTypesModalData { - key: string | null; + id: string | null; } export interface UmbAllowedDocumentTypesModalResult { diff --git a/src/Umbraco.Web.UI.Client/libs/modal/token/import-dictionary-modal.token.ts b/src/Umbraco.Web.UI.Client/libs/modal/token/import-dictionary-modal.token.ts index 745279c619..c420afa120 100644 --- a/src/Umbraco.Web.UI.Client/libs/modal/token/import-dictionary-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/libs/modal/token/import-dictionary-modal.token.ts @@ -7,8 +7,8 @@ export interface UmbImportDictionaryModalData { } export interface UmbImportDictionaryModalResult { - fileName?: string; - parentKey?: string; + temporaryFileId?: string; + parentId?: string; } export const UMB_IMPORT_DICTIONARY_MODAL = new UmbModalToken< diff --git a/src/Umbraco.Web.UI.Client/libs/modal/token/template-modal.token.ts b/src/Umbraco.Web.UI.Client/libs/modal/token/template-modal.token.ts index e4957c444a..55901ab786 100644 --- a/src/Umbraco.Web.UI.Client/libs/modal/token/template-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/libs/modal/token/template-modal.token.ts @@ -1,12 +1,12 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbTemplateModalData { - key: string; + id: string; language?: 'razor' | 'typescript' | 'javascript' | 'css' | 'markdown' | 'json' | 'html'; } export interface UmbTemplateModalResult { - key: string; + id: string; } export const UMB_TEMPLATE_MODAL = new UmbModalToken( diff --git a/src/Umbraco.Web.UI.Client/libs/models/index.ts b/src/Umbraco.Web.UI.Client/libs/models/index.ts index f52c407311..0d96ea3bff 100644 --- a/src/Umbraco.Web.UI.Client/libs/models/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/models/index.ts @@ -11,19 +11,19 @@ export type HTMLElementConstructor = new (...args: any[]) => T; export type ClassConstructor = new (...args: any[]) => T; // Users -// TODO: would the right name be Node? as entity is just something with a Key. But node is something in a content structure, aka. with hasChildren and parentKey. +// TODO: would the right name be Node? as entity is just something with a Key. But node is something in a content structure, aka. with hasChildren and parentId. export interface Entity { - key: string; + id: string; name: string; icon: string; type: string; hasChildren: boolean; - parentKey: string | null; + parentId: string | null; } /** Tried to find a common base of our entities — used by Entity Workspace Context */ export type BaseEntity = { - key?: string; + id?: string; //alias?: string; name?: string; //icon?: string; @@ -63,7 +63,7 @@ export interface UserGroupDetails extends UserGroupEntity { // TODO: Make sure Entity Type/interface. export interface MemberTypeDetails extends EntityTreeItemResponseModel { - key: string; // TODO: Remove this when the backend is fixed + id: string; // TODO: Remove this when the backend is fixed alias: string; properties: []; } @@ -71,23 +71,23 @@ export interface MemberTypeDetails extends EntityTreeItemResponseModel { // Media Types export interface MediaTypeDetails extends FolderTreeItemResponseModel { - key: string; // TODO: Remove this when the backend is fixed + id: string; // TODO: Remove this when the backend is fixed alias: string; properties: []; } // Member Groups export interface MemberGroupDetails extends EntityTreeItemResponseModel { - key: string; // TODO: Remove this when the backend is fixed + id: string; // TODO: Remove this when the backend is fixed } export interface MemberDetails extends EntityTreeItemResponseModel { - key: string; // TODO: Remove this when the backend is fixed + id: string; // TODO: Remove this when the backend is fixed } // Document Blueprint export interface DocumentBlueprintDetails { - key: string; + id: string; name: string; type: 'document-blueprint'; properties: Array; diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/append-to-frozen-array.function.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/append-to-frozen-array.function.ts index 1e5c060f00..97ff56848c 100644 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/append-to-frozen-array.function.ts +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/append-to-frozen-array.function.ts @@ -6,8 +6,8 @@ * @param {(previousResult: R, currentResult: R) => boolean} [memoizationFunction] - Method to Compare if the data has changed. Should return true when data is different. * @description - Creates a RxJS Observable from RxJS Subject. * @example Example append new entry for a ArrayState or a part of DeepState/ObjectState it which is an array. Where the key is unique and the item will be updated if matched with existing. - * const entry = {key: 'myKey', value: 'myValue'}; - * const newDataSet = appendToFrozenArray(mySubject.getValue(), entry, x => x.key === key); + * const entry = {id: 'myKey', value: 'myValue'}; + * const newDataSet = appendToFrozenArray(mySubject.getValue(), entry, x => x.id === id); * mySubject.next(newDataSet); */ export function appendToFrozenArray(data: T[], entry: T, getUniqueMethod?: (entry: T) => unknown): T[] { diff --git a/src/Umbraco.Web.UI.Client/libs/observable-api/array-state.ts b/src/Umbraco.Web.UI.Client/libs/observable-api/array-state.ts index 04dc42b3bb..7572f89d8b 100644 --- a/src/Umbraco.Web.UI.Client/libs/observable-api/array-state.ts +++ b/src/Umbraco.Web.UI.Client/libs/observable-api/array-state.ts @@ -50,12 +50,12 @@ export class ArrayState extends DeepState { * @param {unknown[]} uniques - The unique values to remove. * @return {ArrayState} Reference to it self. * @description - Remove some new data of this Subject. - * @example Example remove entry with key '1' and '2' + * @example Example remove entry with id '1' and '2' * const data = [ - * { key: 1, value: 'foo'}, - * { key: 2, value: 'bar'} + * { id: 1, value: 'foo'}, + * { id: 2, value: 'bar'} * ]; - * const myState = new ArrayState(data, (x) => x.key); + * const myState = new ArrayState(data, (x) => x.id); * myState.remove([1, 2]); */ remove(uniques: unknown[]) { @@ -79,12 +79,12 @@ export class ArrayState extends DeepState { * @param {unknown} unique - The unique value to remove. * @return {ArrayState} Reference to it self. * @description - Remove some new data of this Subject. - * @example Example remove entry with key '1' + * @example Example remove entry with id '1' * const data = [ - * { key: 1, value: 'foo'}, - * { key: 2, value: 'bar'} + * { id: 1, value: 'foo'}, + * { id: 2, value: 'bar'} * ]; - * const myState = new ArrayState(data, (x) => x.key); + * const myState = new ArrayState(data, (x) => x.id); * myState.removeOne(1); */ removeOne(unique: unknown) { diff --git a/src/Umbraco.Web.UI.Client/libs/repository/data-source/data-source.interface.ts b/src/Umbraco.Web.UI.Client/libs/repository/data-source/data-source.interface.ts index 13cfbfe7a5..0a6d922702 100644 --- a/src/Umbraco.Web.UI.Client/libs/repository/data-source/data-source.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/repository/data-source/data-source.interface.ts @@ -1,7 +1,7 @@ import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; export interface UmbDataSource { - createScaffold(parentKey: string | null): Promise>; + createScaffold(parentId: string | null): Promise>; get(unique: string): Promise>; insert(data: CreateRequestType): Promise; update(unique: string, data: UpdateRequestType): Promise>; diff --git a/src/Umbraco.Web.UI.Client/libs/repository/data-source/folder-data-source.interface.ts b/src/Umbraco.Web.UI.Client/libs/repository/data-source/folder-data-source.interface.ts index c07bf208f5..0998583c9f 100644 --- a/src/Umbraco.Web.UI.Client/libs/repository/data-source/folder-data-source.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/repository/data-source/folder-data-source.interface.ts @@ -6,7 +6,7 @@ import { } from '@umbraco-cms/backoffice/backend-api'; export interface UmbFolderDataSource { - createScaffold(parentKey: string | null): Promise>; + createScaffold(parentId: string | null): Promise>; get(unique: string): Promise>; insert(data: CreateFolderRequestModel): Promise>; update(unique: string, data: CreateFolderRequestModel): Promise>; diff --git a/src/Umbraco.Web.UI.Client/libs/repository/detail-repository.interface.ts b/src/Umbraco.Web.UI.Client/libs/repository/detail-repository.interface.ts index 11862c979b..b228dc0c30 100644 --- a/src/Umbraco.Web.UI.Client/libs/repository/detail-repository.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/repository/detail-repository.interface.ts @@ -1,12 +1,12 @@ import type { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; export interface UmbDetailRepository { - createScaffold(parentKey: string | null): Promise<{ + createScaffold(parentId: string | null): Promise<{ data?: DetailType; error?: ProblemDetailsModel; }>; - requestByKey(key: string): Promise<{ + requestById(id: string): Promise<{ data?: DetailType; error?: ProblemDetailsModel; }>; diff --git a/src/Umbraco.Web.UI.Client/libs/repository/folder-repository.interface.ts b/src/Umbraco.Web.UI.Client/libs/repository/folder-repository.interface.ts index 4a021f2bd0..5e1a016fdb 100644 --- a/src/Umbraco.Web.UI.Client/libs/repository/folder-repository.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/repository/folder-repository.interface.ts @@ -7,7 +7,7 @@ import type { } from '@umbraco-cms/backoffice/backend-api'; export interface UmbFolderRepository { - createFolderScaffold(parentKey: string | null): Promise<{ + createFolderScaffold(parentId: string | null): Promise<{ data?: FolderReponseModel; error?: ProblemDetailsModel; }>; diff --git a/src/Umbraco.Web.UI.Client/libs/store/entity-tree-store.ts b/src/Umbraco.Web.UI.Client/libs/store/entity-tree-store.ts index 1e82f6acaa..ea94db043a 100644 --- a/src/Umbraco.Web.UI.Client/libs/store/entity-tree-store.ts +++ b/src/Umbraco.Web.UI.Client/libs/store/entity-tree-store.ts @@ -9,7 +9,7 @@ import { UmbStoreBase, UmbTreeStore } from '@umbraco-cms/backoffice/store'; * @description - General Tree Data Store */ export class UmbEntityTreeStore extends UmbStoreBase implements UmbTreeStore { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); /** * Appends items to the store @@ -22,46 +22,46 @@ export class UmbEntityTreeStore extends UmbStoreBase implements UmbTreeStore} data * @memberof UmbEntityTreeStore */ - updateItem(key: string, data: Partial) { - this.#data.next(partialUpdateFrozenArray(this.#data.getValue(), data, (entry) => entry.key === key)); + updateItem(id: string, data: Partial) { + this.#data.next(partialUpdateFrozenArray(this.#data.getValue(), data, (entry) => entry.id === id)); } /** * Removes an item from the store - * @param {string} key + * @param {string} id * @memberof UmbEntityTreeStore */ - removeItem(key: string) { - this.#data.removeOne(key); + removeItem(id: string) { + this.#data.removeOne(id); } /** * An observable to observe the root items * @memberof UmbEntityTreeStore */ - rootItems = this.#data.getObservablePart((items) => items.filter((item) => item.parentKey === null)); + rootItems = this.#data.getObservablePart((items) => items.filter((item) => item.parentId === null)); /** * Returns an observable to observe the children of a given parent - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof UmbEntityTreeStore */ - childrenOf(parentKey: string | null) { - return this.#data.getObservablePart((items) => items.filter((item) => item.parentKey === parentKey)); + childrenOf(parentId: string | null) { + return this.#data.getObservablePart((items) => items.filter((item) => item.parentId === parentId)); } /** - * Returns an observable to observe the items with the given keys - * @param {Array} keys + * Returns an observable to observe the items with the given ids + * @param {Array} ids * @return {*} * @memberof UmbEntityTreeStore */ - items(keys: Array) { - return this.#data.getObservablePart((items) => items.filter((item) => keys.includes(item.key ?? ''))); + items(ids: Array) { + return this.#data.getObservablePart((items) => items.filter((item) => ids.includes(item.id ?? ''))); } } diff --git a/src/Umbraco.Web.UI.Client/libs/store/store-base.ts b/src/Umbraco.Web.UI.Client/libs/store/store-base.ts index a934ab6871..4021307cd6 100644 --- a/src/Umbraco.Web.UI.Client/libs/store/store-base.ts +++ b/src/Umbraco.Web.UI.Client/libs/store/store-base.ts @@ -1,6 +1,7 @@ import { UmbContextProviderController } from '@umbraco-cms/backoffice/context-api'; import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller'; +// TODO: Make a Store interface? export class UmbStoreBase { constructor(protected _host: UmbControllerHostElement, public readonly storeAlias: string) { new UmbContextProviderController(_host, storeAlias, this); diff --git a/src/Umbraco.Web.UI.Client/libs/store/store.ts b/src/Umbraco.Web.UI.Client/libs/store/store.ts index d4af9c2275..4961162767 100644 --- a/src/Umbraco.Web.UI.Client/libs/store/store.ts +++ b/src/Umbraco.Web.UI.Client/libs/store/store.ts @@ -16,7 +16,7 @@ export interface UmbEntityDetailStore extends UmbDataStore { * @return {*} {T} * @memberof UmbEntityDetailStore */ - getScaffold: (entityType: string, parentKey: string | null) => T; + getScaffold: (entityType: string, parentId: string | null) => T; /** * @description - Request data by key. The data is added to the store and is returned as an Observable. diff --git a/src/Umbraco.Web.UI.Client/libs/workspace/context/workspace-entity-context.interface.ts b/src/Umbraco.Web.UI.Client/libs/workspace/context/workspace-entity-context.interface.ts index 338e893545..878f050818 100644 --- a/src/Umbraco.Web.UI.Client/libs/workspace/context/workspace-entity-context.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/workspace/context/workspace-entity-context.interface.ts @@ -2,7 +2,7 @@ import type { UmbWorkspaceContextInterface } from '@umbraco-cms/backoffice/works export interface UmbEntityWorkspaceContextInterface extends UmbWorkspaceContextInterface { - getEntityKey(): string | undefined; // COnsider if this should go away now that we have getUnique() + getEntityId(): string | undefined; // COnsider if this should go away now that we have getUnique() getEntityType(): string; // TODO: consider of this should be on the repository because a repo is responsible for one entity type //getData(): EntityType | undefined; save(): Promise; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.element.ts index 42fa9ae950..5f7fcff78e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/dashboards/redirect-management/dashboard-redirect-management.element.ts @@ -154,14 +154,13 @@ export class UmbDashboardRedirectManagementElement extends UmbLitElement { } private async _removeRedirect(r: RedirectUrlResponseModel) { - if (!r.key) return; - const res = await tryExecuteAndNotify( - this, - RedirectManagementResource.deleteRedirectManagementByKey({ key: r.key }) - ); + if (!r.id) return; + const res = await tryExecuteAndNotify(this, RedirectManagementResource.deleteRedirectManagementById({ id: r.id })); if (!res.error) { // or just run a this._getRedirectData() again? - this.shadowRoot?.getElementById(`redirect-key-${r.key}`)?.remove(); + //this.shadowRoot?.getElementById(`redirect-key-${r.id}`)?.remove(); + // No no, never manipulate DOM manipulate the data for the DOM: + this._redirectData = this._redirectData?.filter((x) => x.id !== r.id); } } @@ -217,7 +216,9 @@ export class UmbDashboardRedirectManagementElement extends UmbLitElement { if (data) { this._total = data?.total; this._redirectData = data?.items; - if (this._filter?.length) this._buttonState = 'success'; + if (this._filter?.length) { + this._buttonState = 'success'; + } } } @@ -281,6 +282,7 @@ export class UmbDashboardRedirectManagementElement extends UmbLitElement { } private renderTable() { + // TODO: Instead of map, use repeat lit util: return html` @@ -291,7 +293,7 @@ export class UmbDashboardRedirectManagementElement extends UmbLitElement { Actions ${this._redirectData?.map((data) => { - return html` + return html` ${data.culture || '*'} ${data.originalUrl} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.detail.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.detail.store.ts index f0efc47b4b..411f7d7768 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.detail.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.detail.store.ts @@ -12,7 +12,7 @@ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller'; */ export class UmbDocumentBlueprintStore extends UmbStoreBase { // TODO: use the right type: - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); constructor(host: UmbControllerHostElement) { super(host, UMB_DOCUMENT_BLUEPRINT_STORE_CONTEXT_TOKEN.toString()); @@ -32,10 +32,10 @@ export class UmbDocumentBlueprintStore extends UmbStoreBase { this.#data.append(data); }); - return this.#data.getObservablePart((documents) => documents.find((document) => document.key === key)); + return this.#data.getObservablePart((documents) => documents.find((document) => document.id === key)); } - getScaffold(entityType: string, parentKey: string | null) { + getScaffold(entityType: string, parentId: string | null) { return {} as DocumentBlueprintDetails; } @@ -79,17 +79,17 @@ export class UmbDocumentBlueprintStore extends UmbStoreBase { * @memberof UmbDocumentBlueprintStore * @return {*} {Promise} */ - async delete(keys: string[]) { + async delete(ids: string[]) { // TODO: use backend cli when available. await fetch('/umbraco/backoffice/document-blueprint/delete', { method: 'POST', - body: JSON.stringify(keys), + body: JSON.stringify(ids), headers: { 'Content-Type': 'application/json', }, }); - this.#data.remove(keys); + this.#data.remove(ids); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts index ff55e6dfc3..41f8b961b5 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts @@ -21,9 +21,9 @@ export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement< async firstUpdated() { // TODO: show error - if (!this.data?.key) return; + if (!this.data?.id) return; - const { data } = await this.#documentTypeRepository.requestAllowedChildTypesOf(this.data.key); + const { data } = await this.#documentTypeRepository.requestAllowedChildTypesOf(this.data.id); if (data) { this._allowedDocumentTypes = data; @@ -37,8 +37,8 @@ export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement< #onClick(event: PointerEvent) { event.stopPropagation(); const target = event.target as HTMLButtonElement; - const documentTypeKey = target.dataset.key; - if (!documentTypeKey) throw new Error('No document type key found'); + const documentTypeKey = target.dataset.id; + if (!documentTypeKey) throw new Error('No document type id found'); this.modalHandler?.submit({ documentTypeKey }); } @@ -50,7 +50,7 @@ export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement< ${this._allowedDocumentTypes.map( (item) => html` - + ${item.icon ? html`` : nothing} ` diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.repository.ts index 14494da134..dbf7c841e2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.repository.ts @@ -60,34 +60,34 @@ export class UmbDocumentTypeRepository implements UmbTreeRepository, U return { data, error, asObservable: () => this.#treeStore!.rootItems }; } - async requestTreeItemsOf(parentKey: string | null) { + async requestTreeItemsOf(parentId: string | null) { await this.#init; - if (!parentKey) { - const error: ProblemDetailsModel = { title: 'Parent key is missing' }; + if (!parentId) { + const error: ProblemDetailsModel = { title: 'Parent id is missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getChildrenOf(parentKey); + const { data, error } = await this.#treeSource.getChildrenOf(parentId); if (data) { this.#treeStore?.appendItems(data.items); } - return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentKey) }; + return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentId) }; } - async requestTreeItems(keys: Array) { + async requestTreeItems(ids: Array) { await this.#init; - if (!keys) { - const error: ProblemDetailsModel = { title: 'Keys are missing' }; + if (!ids) { + const error: ProblemDetailsModel = { title: 'Ids are missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getItems(keys); + const { data, error } = await this.#treeSource.getItems(ids); - return { data, error, asObservable: () => this.#treeStore!.items(keys) }; + return { data, error, asObservable: () => this.#treeStore!.items(ids) }; } async rootTreeItems() { @@ -95,29 +95,29 @@ export class UmbDocumentTypeRepository implements UmbTreeRepository, U return this.#treeStore!.rootItems; } - async treeItemsOf(parentKey: string | null) { + async treeItemsOf(parentId: string | null) { await this.#init; - return this.#treeStore!.childrenOf(parentKey); + return this.#treeStore!.childrenOf(parentId); } - async treeItems(keys: Array) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } // DETAILS: - async createScaffold(parentKey: string | null) { - if (!parentKey) throw new Error('Parent key is missing'); + async createScaffold(parentId: string | null) { + if (!parentId) throw new Error('Parent id is missing'); await this.#init; - return this.#detailDataSource.createScaffold(parentKey); + return this.#detailDataSource.createScaffold(parentId); } - async requestByKey(key: string) { - if (!key) throw new Error('Key is missing'); + async requestById(id: string) { + if (!id) throw new Error('Id is missing'); await this.#init; - const { data, error } = await this.#detailDataSource.get(key); + const { data, error } = await this.#detailDataSource.get(id); if (data) { this.#detailStore?.append(data); @@ -126,23 +126,23 @@ export class UmbDocumentTypeRepository implements UmbTreeRepository, U return { data, error }; } - async byKey(key: string) { - if (!key) throw new Error('Key is missing'); + async byId(id: string) { + if (!id) throw new Error('Id is missing'); await this.#init; - return this.#detailStore!.byKey(key); + return this.#detailStore!.byId(id); } // TODO: we need to figure out where to put this - async requestAllowedChildTypesOf(key: string) { - if (!key) throw new Error('Key is missing'); + async requestAllowedChildTypesOf(id: string) { + if (!id) throw new Error('Id is missing'); await this.#init; - return this.#detailDataSource.getAllowedChildrenOf(key); + return this.#detailDataSource.getAllowedChildrenOf(id); } // Could potentially be general methods: async create(template: ItemType) { - if (!template || !template.key) throw new Error('Template is missing'); + if (!template || !template.id) throw new Error('Template is missing'); await this.#init; const { error } = await this.#detailDataSource.insert(template); @@ -161,10 +161,10 @@ export class UmbDocumentTypeRepository implements UmbTreeRepository, U } async save(item: ItemType) { - if (!item || !item.key) throw new Error('Document-Type is missing'); + if (!item || !item.id) throw new Error('Document-Type is missing'); await this.#init; - const { error } = await this.#detailDataSource.update(item.key, item); + const { error } = await this.#detailDataSource.update(item.id, item); if (!error) { const notification = { data: { message: `Document saved` } }; @@ -174,7 +174,7 @@ export class UmbDocumentTypeRepository implements UmbTreeRepository, U // Consider to look up the data before fetching from the server // Consider notify a workspace if a template is updated in the store while someone is editing it. this.#detailStore?.append(item); - this.#treeStore?.updateItem(item.key, { name: item.name }); + this.#treeStore?.updateItem(item.id, { name: item.name }); // TODO: would be nice to align the stores on methods/methodNames. } @@ -183,11 +183,11 @@ export class UmbDocumentTypeRepository implements UmbTreeRepository, U // General: - async delete(key: string) { - if (!key) throw new Error('Document key is missing'); + async delete(id: string) { + if (!id) throw new Error('Document id is missing'); await this.#init; - const { error } = await this.#detailDataSource.delete(key); + const { error } = await this.#detailDataSource.delete(id); if (!error) { const notification = { data: { message: `Document deleted` } }; @@ -196,8 +196,8 @@ export class UmbDocumentTypeRepository implements UmbTreeRepository, U // TODO: we currently don't use the detail store for anything. // Consider to look up the data before fetching from the server. // Consider notify a workspace if a template is deleted from the store while someone is editing it. - this.#detailStore?.remove([key]); - this.#treeStore?.removeItem(key); + this.#detailStore?.remove([id]); + this.#treeStore?.removeItem(id); // TODO: would be nice to align the stores on methods/methodNames. } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.store.ts index f8b258866d..23b64c0942 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.store.ts @@ -11,7 +11,7 @@ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller'; * @description - Data Store for Document Types */ export class UmbDocumentTypeStore extends UmbStoreBase { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); /** * Creates an instance of UmbDocumentTypeStore. @@ -36,8 +36,8 @@ export class UmbDocumentTypeStore extends UmbStoreBase { * @param {DocumentTypeModel} document * @memberof UmbDocumentTypeStore */ - byKey(key: DocumentTypeResponseModel['key']) { - return this.#data.getObservablePart((x) => x.find((y) => y.key === key)); + byId(id: DocumentTypeResponseModel['id']) { + return this.#data.getObservablePart((x) => x.find((y) => y.id === id)); } /** @@ -45,7 +45,7 @@ export class UmbDocumentTypeStore extends UmbStoreBase { * @param {string[]} uniques * @memberof UmbDocumentTypeStore */ - remove(uniques: Array) { + remove(uniques: Array) { this.#data.remove(uniques); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.server.data.ts index 561d27c049..f6bff744b2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/sources/document-type.server.data.ts @@ -26,32 +26,32 @@ export class UmbDocumentTypeServerDataSource implements UmbDataSource( this.#host, - fetch(`/umbraco/management/api/v1/document-type/${document.key}`, { + fetch(`/umbraco/management/api/v1/document-type/${document.id}`, { method: 'PUT', body: body, headers: { @@ -127,13 +127,13 @@ export class UmbDocumentTypeServerDataSource implements UmbDataSource) { + async trashItems(ids: Array) { // TODO: use backend cli when available. return tryExecuteAndNotify( this.#host, fetch('/umbraco/management/api/v1/document-type/trash', { method: 'POST', - body: JSON.stringify(keys), + body: JSON.stringify(ids), headers: { 'Content-Type': 'application/json', }, @@ -27,13 +27,13 @@ export class DocumentTypeTreeServerDataSource implements UmbTreeDataSource { ); } - async moveItems(keys: Array, destination: string) { + async moveItems(ids: Array, destination: string) { // TODO: use backend cli when available. return tryExecuteAndNotify( this.#host, fetch('/umbraco/management/api/v1/document-type/move', { method: 'POST', - body: JSON.stringify({ keys, destination }), + body: JSON.stringify({ keys: ids, destination }), headers: { 'Content-Type': 'application/json', }, @@ -61,12 +61,12 @@ export class DocumentTypeTreeServerDataSource implements UmbTreeDataSource { /** * Fetches the children of a given parent key from the server - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof DocumentTreeServerDataSource */ - async getChildrenOf(parentKey: string | null) { - if (!parentKey) { + async getChildrenOf(parentId: string | null) { + if (!parentId) { const error: ProblemDetailsModel = { title: 'Parent key is missing' }; return { error }; } @@ -74,19 +74,19 @@ export class DocumentTypeTreeServerDataSource implements UmbTreeDataSource { return tryExecuteAndNotify( this.#host, DocumentTypeResource.getTreeDocumentTypeChildren({ - parentKey, + parentId, }) ); } /** * Fetches the items for the given keys from the server - * @param {Array} keys + * @param {Array} ids * @return {*} * @memberof DocumentTreeServerDataSource */ - async getItems(keys: Array) { - if (keys) { + async getItems(ids: Array) { + if (ids) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { error }; } @@ -94,7 +94,7 @@ export class DocumentTypeTreeServerDataSource implements UmbTreeDataSource { return tryExecuteAndNotify( this.#host, DocumentTypeResource.getTreeDocumentTypeItem({ - key: keys, + id: ids, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.context.ts index 18df653f8a..da264b5ff0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.context.ts @@ -28,8 +28,8 @@ export class UmbDocumentTypeWorkspaceContext readonly compositions; // Document type specific: - readonly allowedTemplateKeys; - readonly defaultTemplateKey; + readonly allowedTemplateIds; + readonly defaultTemplateId; readonly cleanup; readonly structure; @@ -53,9 +53,9 @@ export class UmbDocumentTypeWorkspaceContext this.compositions = this.structure.rootDocumentTypeObservablePart((data) => data?.compositions); // Document type specific: - this.allowedTemplateKeys = this.structure.rootDocumentTypeObservablePart((data) => data?.allowedTemplateKeys); - this.defaultTemplateKey = this.structure.rootDocumentTypeObservablePart((data) => data?.defaultTemplateKey); - this.cleanup = this.structure.rootDocumentTypeObservablePart((data) => data?.defaultTemplateKey); + this.allowedTemplateIds = this.structure.rootDocumentTypeObservablePart((data) => data?.allowedTemplateIds); + this.defaultTemplateId = this.structure.rootDocumentTypeObservablePart((data) => data?.defaultTemplateId); + this.cleanup = this.structure.rootDocumentTypeObservablePart((data) => data?.defaultTemplateId); } public setPropertyValue(alias: string, value: unknown) { @@ -66,8 +66,8 @@ export class UmbDocumentTypeWorkspaceContext return this.structure.getRootDocumentType() || {}; } - getEntityKey() { - return this.getData().key; + getEntityId() { + return this.getData().id; } getEntityType() { @@ -86,8 +86,8 @@ export class UmbDocumentTypeWorkspaceContext this.structure.updateRootDocumentType({ icon }); } - async createScaffold(documentTypeKey: string) { - const { data } = await this.structure.createScaffold(documentTypeKey); + async createScaffold(parentId: string) { + const { data } = await this.structure.createScaffold(parentId); if (!data) return undefined; this.setIsNew(true); @@ -95,8 +95,8 @@ export class UmbDocumentTypeWorkspaceContext return data || undefined; } - async load(entityKey: string) { - const { data } = await this.structure.loadType(entityKey); + async load(entityId: string) { + const { data } = await this.structure.loadType(entityId); if (!data) return undefined; this.setIsNew(false); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.element.ts index 54086efee8..73abc9e6ef 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.element.ts @@ -16,11 +16,11 @@ export class UmbDocumentTypeWorkspaceElement extends UmbLitElement { @state() _routes = [ { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.stories.ts index 872198dd8d..bf851ab301 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/document-type-workspace.stories.ts @@ -12,5 +12,5 @@ export default { } as Meta; export const AAAOverview: Story = () => - html` `; + html` `; AAAOverview.storyName = 'Overview'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.ts index 99e55283a7..73eea4e334 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.ts @@ -11,16 +11,16 @@ import './document-type-workspace-view-edit-property.element'; @customElement('umb-document-type-workspace-view-edit-properties') export class UmbDocumentTypeWorkspaceViewEditPropertiesElement extends UmbLitElement { - private _containerKey: string | undefined; + private _containerId: string | undefined; - public get containerKey(): string | undefined { - return this._containerKey; + public get containerId(): string | undefined { + return this._containerId; } - public set containerKey(value: string | undefined) { - if (value === this._containerKey) return; - const oldValue = this._containerKey; - this._containerKey = value; - this.requestUpdate('containerKey', oldValue); + public set containerId(value: string | undefined) { + if (value === this._containerId) return; + const oldValue = this._containerId; + this._containerId = value; + this.requestUpdate('containerId', oldValue); } @property({ type: String, attribute: 'container-name', reflect: false }) @@ -56,11 +56,11 @@ export class UmbDocumentTypeWorkspaceViewEditPropertiesElement extends UmbLitEle } async #onAddProperty() { - const property = await this._propertyStructureHelper.addProperty(this._containerKey); + const property = await this._propertyStructureHelper.addProperty(this._containerId); if (!property) return; - // Take key and parse to modal: - console.log('property key:', property.key!); + // Take id and parse to modal: + console.log('property id:', property.id!); const modalHandler = this.#modalContext?.open(UMB_PROPERTY_SETTINGS_MODAL); @@ -77,7 +77,7 @@ export class UmbDocumentTypeWorkspaceViewEditPropertiesElement extends UmbLitEle html` { - this._propertyStructureHelper.partialUpdateProperty(property.key, event.detail); + this._propertyStructureHelper.partialUpdateProperty(property.id, event.detail); }}>` )} Add property `; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts index 3fb75e1c6f..573d386347 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts @@ -92,7 +92,7 @@ export class UmbDocumentTypeWorkspaceViewEditElement extends UmbLitElement { component: () => import('./document-type-workspace-view-edit-tab.element'), setup: (component: Promise) => { (component as any).tabName = tabName; - (component as any).ownerTabKey = tab.key; + (component as any).ownerTabKey = tab.id; }, }); }); @@ -118,9 +118,9 @@ export class UmbDocumentTypeWorkspaceViewEditElement extends UmbLitElement { this._routes = routes; } - #remove(tabKey: string | undefined) { - if (!tabKey) return; - this._workspaceContext?.structure.removeContainer(null, tabKey); + #remove(tabId: string | undefined) { + if (!tabId) return; + this._workspaceContext?.structure.removeContainer(null, tabId); } async #addTab() { this._workspaceContext?.structure.createContainer(null, null, 'Tab'); @@ -140,7 +140,7 @@ export class UmbDocumentTypeWorkspaceViewEditElement extends UmbLitElement { : ''} ${repeat( this._tabs, - (tab) => tab.key, + (tab) => tab.id, (tab) => { // TODO: make better url folder name: const path = this._routerPath + '/tab/' + encodeURI(tab.name || ''); @@ -152,7 +152,7 @@ export class UmbDocumentTypeWorkspaceViewEditElement extends UmbLitElement { label="Remove tab" class="trash" slot="append" - @click=${() => this.#remove(tab.key)} + @click=${() => this.#remove(tab.id)} compact> diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.ts index 32f96d6687..02f97109c3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.ts @@ -65,8 +65,8 @@ export class UmbDocumentTypeWorkspaceViewTemplatesElement extends UmbLitElement
Choose which templates editors are allowed to use on content of this type
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/column-layouts/document-table-actions-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/column-layouts/document-table-actions-column-layout.element.ts index c5dd3bac32..a20182afe1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/column-layouts/document-table-actions-column-layout.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/column-layouts/document-table-actions-column-layout.element.ts @@ -70,7 +70,7 @@ export class UmbDocumentTableActionColumnLayoutElement extends LitElement { + unique=${ifDefined(this.item.id)}> `; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/document-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/document-table-collection-view.element.ts index 5f63a23d34..ec3eef7b88 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/document-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/collection/views/table/document-table-collection-view.element.ts @@ -96,10 +96,10 @@ export class UmbDocumentTableCollectionViewElement extends UmbLitElement { private _createTableItems(items: Array) { this._tableItems = items.map((item) => { - // TODO: use unique instead of key - if (!item.key) throw new Error('Item key is missing.'); + // TODO: use unique instead of id + if (!item.id) throw new Error('Item id is missing.'); return { - key: item.key, + id: item.id, icon: item.icon, data: [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create/create.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create/create.action.ts index 6994ebcabe..7a5b8b3e31 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create/create.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/entity-actions/create/create.action.ts @@ -24,11 +24,11 @@ export class UmbCreateDocumentEntityAction extends UmbEntityActionBase, UmbDe return { data, error, asObservable: () => this.#treeStore!.rootItems }; } - async requestTreeItemsOf(parentKey: string | null) { + async requestTreeItemsOf(parentId: string | null) { await this.#init; - if (!parentKey) { - const error: ProblemDetailsModel = { title: 'Parent key is missing' }; + if (!parentId) { + const error: ProblemDetailsModel = { title: 'Parent id is missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getChildrenOf(parentKey); + const { data, error } = await this.#treeSource.getChildrenOf(parentId); if (data) { this.#treeStore?.appendItems(data.items); } - return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentKey) }; + return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentId) }; } - async requestTreeItems(keys: Array) { + async requestTreeItems(ids: Array) { await this.#init; - if (!keys) { + if (!ids) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getItems(keys); + const { data, error } = await this.#treeSource.getItems(ids); - return { data, error, asObservable: () => this.#treeStore!.items(keys) }; + return { data, error, asObservable: () => this.#treeStore!.items(ids) }; } async rootTreeItems() { @@ -99,34 +99,34 @@ export class UmbDocumentRepository implements UmbTreeRepository, UmbDe return this.#treeStore!.rootItems; } - async treeItemsOf(parentKey: string | null) { + async treeItemsOf(parentId: string | null) { await this.#init; - return this.#treeStore!.childrenOf(parentKey); + return this.#treeStore!.childrenOf(parentId); } - async treeItems(keys: Array) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } // DETAILS: async createScaffold(documentTypeKey: string) { - if (!documentTypeKey) throw new Error('Document type key is missing'); + if (!documentTypeKey) throw new Error('Document type id is missing'); await this.#init; return this.#detailDataSource.createScaffold(documentTypeKey); } - async requestByKey(key: string) { + async requestById(id: string) { await this.#init; - // TODO: should we show a notification if the key is missing? + // TODO: should we show a notification if the id is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!key) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - const { data, error } = await this.#detailDataSource.get(key); + const { data, error } = await this.#detailDataSource.get(id); if (data) { this.#store?.append(data); @@ -137,10 +137,10 @@ export class UmbDocumentRepository implements UmbTreeRepository, UmbDe // Could potentially be general methods: - async create(item: CreateDocumentRequestModel & { key: string }) { + async create(item: CreateDocumentRequestModel & { id: string }) { await this.#init; - if (!item || !item.key) { + if (!item || !item.id) { throw new Error('Document is missing'); } @@ -162,11 +162,11 @@ export class UmbDocumentRepository implements UmbTreeRepository, UmbDe async save(item: ItemType) { await this.#init; - if (!item || !item.key) { + if (!item || !item.id) { throw new Error('Document is missing'); } - const { error } = await this.#detailDataSource.update(item.key, item); + const { error } = await this.#detailDataSource.update(item.id, item); if (!error) { const notification = { data: { message: `Document saved` } }; @@ -177,7 +177,7 @@ export class UmbDocumentRepository implements UmbTreeRepository, UmbDe // Consider to look up the data before fetching from the server // Consider notify a workspace if a document is updated in the store while someone is editing it. this.#store?.append(item); - //this.#treeStore?.updateItem(item.key, { name: item.name });// Port data to tree store. + //this.#treeStore?.updateItem(item.id, { name: item.name });// Port data to tree store. // TODO: would be nice to align the stores on methods/methodNames. return { error }; @@ -185,14 +185,14 @@ export class UmbDocumentRepository implements UmbTreeRepository, UmbDe // General: - async delete(key: string) { + async delete(id: string) { await this.#init; - if (!key) { - throw new Error('Document key is missing'); + if (!id) { + throw new Error('Document id is missing'); } - const { error } = await this.#detailDataSource.delete(key); + const { error } = await this.#detailDataSource.delete(id); if (!error) { const notification = { data: { message: `Document deleted` } }; @@ -202,8 +202,8 @@ export class UmbDocumentRepository implements UmbTreeRepository, UmbDe // TODO: we currently don't use the detail store for anything. // Consider to look up the data before fetching from the server. // Consider notify a workspace if a document is deleted from the store while someone is editing it. - this.#store?.remove([key]); - this.#treeStore?.removeItem(key); + this.#store?.remove([id]); + this.#treeStore?.removeItem(id); // TODO: would be nice to align the stores on methods/methodNames. return { error }; @@ -212,8 +212,8 @@ export class UmbDocumentRepository implements UmbTreeRepository, UmbDe // Listing all currently known methods we need to implement: // these currently only covers posting data // TODO: find a good way to split these - async trash(keys: Array) { - console.log('document trash: ' + keys); + async trash(ids: Array) { + console.log('document trash: ' + ids); alert('implement trash'); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.store.ts index f1f3ce7aaf..d53818f95e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.store.ts @@ -11,7 +11,7 @@ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller'; * @description - Data Store for Template Details */ export class UmbDocumentStore extends UmbStoreBase { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); /** * Creates an instance of UmbDocumentDetailStore. @@ -36,8 +36,8 @@ export class UmbDocumentStore extends UmbStoreBase { * @param {DocumentModel} document * @memberof UmbDocumentStore */ - byKey(key: DocumentResponseModel['key']) { - return this.#data.getObservablePart((x) => x.find((y) => y.key === key)); + byKey(id: DocumentResponseModel['id']) { + return this.#data.getObservablePart((x) => x.find((y) => y.id === id)); } /** @@ -45,7 +45,7 @@ export class UmbDocumentStore extends UmbStoreBase { * @param {string[]} uniques * @memberof UmbDocumentDetailStore */ - remove(uniques: Array) { + remove(uniques: Array) { this.#data.remove(uniques); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.server.data.ts index 83a93a9c1a..ae6a501479 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.server.data.ts @@ -32,37 +32,37 @@ export class UmbDocumentServerDataSource } /** - * Fetches a Document with the given key from the server - * @param {string} key + * Fetches a Document with the given id from the server + * @param {string} id * @return {*} * @memberof UmbDocumentServerDataSource */ - async get(key: string) { - if (!key) { + async get(id: string) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } return tryExecuteAndNotify( this.#host, - DocumentResource.getDocumentByKey({ - key, + DocumentResource.getDocumentById({ + id, }) ); } /** * Creates a new Document scaffold - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof UmbDocumentServerDataSource */ - async createScaffold(documentTypeKey: string) { + async createScaffold(documentTypeId: string) { const data: DocumentResponseModel = { urls: [], - templateKey: null, - key: uuidv4(), - contentTypeKey: documentTypeKey, + templateId: null, + id: uuidv4(), + contentTypeId: documentTypeId, values: [], variants: [ { @@ -87,8 +87,8 @@ export class UmbDocumentServerDataSource * @return {*} * @memberof UmbDocumentServerDataSource */ - async insert(document: CreateDocumentRequestModel & { key: string }) { - if (!document.key) throw new Error('Key is missing'); + async insert(document: CreateDocumentRequestModel & { id: string }) { + if (!document.id) throw new Error('Id is missing'); let body: string; @@ -118,12 +118,12 @@ export class UmbDocumentServerDataSource * @return {*} * @memberof UmbDocumentServerDataSource */ - async update(key: string, document: DocumentResponseModel) { - if (!document.key) { - const error: ProblemDetailsModel = { title: 'Document key is missing' }; + async update(id: string, document: DocumentResponseModel) { + if (!document.id) { + const error: ProblemDetailsModel = { title: 'Document id is missing' }; return { error }; } - //const payload = { key: document.key, requestBody: document }; + //const payload = { id: document.id, requestBody: document }; let body: string; @@ -153,8 +153,8 @@ export class UmbDocumentServerDataSource * @return {*} * @memberof UmbDocumentServerDataSource */ - async trash(key: string) { - if (!key) { + async trash(id: string) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } @@ -164,7 +164,7 @@ export class UmbDocumentServerDataSource this.#host, fetch('/umbraco/management/api/v1/document/trash', { method: 'POST', - body: JSON.stringify([key]), + body: JSON.stringify([id]), headers: { 'Content-Type': 'application/json', }, @@ -174,12 +174,12 @@ export class UmbDocumentServerDataSource /** * Deletes a Document on the server - * @param {string} key + * @param {string} id * @return {*} * @memberof UmbDocumentServerDataSource */ - async delete(key: string) { - if (!key) { + async delete(id: string) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } @@ -189,7 +189,7 @@ export class UmbDocumentServerDataSource try { await fetch('/umbraco/management/api/v1/document/trash', { method: 'POST', - body: JSON.stringify([key]), + body: JSON.stringify([id]), headers: { 'Content-Type': 'application/json', }, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.tree.server.data.ts index 4bb080ab00..73ab968e2a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/sources/document.tree.server.data.ts @@ -13,13 +13,13 @@ export class DocumentTreeServerDataSource implements UmbTreeDataSource { #host: UmbControllerHostElement; // TODO: how do we handle trashed items? - async trashItems(keys: Array) { + async trashItems(ids: Array) { // TODO: use backend cli when available. return tryExecuteAndNotify( this.#host, fetch('/umbraco/management/api/v1/document/trash', { method: 'POST', - body: JSON.stringify(keys), + body: JSON.stringify(ids), headers: { 'Content-Type': 'application/json', }, @@ -27,13 +27,13 @@ export class DocumentTreeServerDataSource implements UmbTreeDataSource { ); } - async moveItems(keys: Array, destination: string) { + async moveItems(ids: Array, destination: string) { // TODO: use backend cli when available. return tryExecuteAndNotify( this.#host, fetch('/umbraco/management/api/v1/document/move', { method: 'POST', - body: JSON.stringify({ keys, destination }), + body: JSON.stringify({ ids, destination }), headers: { 'Content-Type': 'application/json', }, @@ -61,20 +61,20 @@ export class DocumentTreeServerDataSource implements UmbTreeDataSource { /** * Fetches the children of a given parent key from the server - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof DocumentTreeServerDataSource */ - async getChildrenOf(parentKey: string | null) { - if (!parentKey) { - const error: ProblemDetailsModel = { title: 'Parent key is missing' }; + async getChildrenOf(parentId: string | null) { + if (!parentId) { + const error: ProblemDetailsModel = { title: 'Parent id is missing' }; return { error }; } return tryExecuteAndNotify( this.#host, DocumentResource.getTreeDocumentChildren({ - parentKey, + parentId, }) ); } @@ -85,16 +85,16 @@ export class DocumentTreeServerDataSource implements UmbTreeDataSource { * @return {*} * @memberof DocumentTreeServerDataSource */ - async getItems(keys: Array) { - if (!keys) { - const error: ProblemDetailsModel = { title: 'Keys are missing' }; + async getItems(ids: Array) { + if (!ids) { + const error: ProblemDetailsModel = { title: 'Ids are missing' }; return { error }; } return tryExecuteAndNotify( this.#host, DocumentResource.getTreeDocumentItem({ - key: keys, + id: ids, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/tree/tree-item/document-tree-item.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/tree/tree-item/document-tree-item.context.ts index a9812355db..4fcde2bd4f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/tree/tree-item/document-tree-item.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/tree/tree-item/document-tree-item.context.ts @@ -5,6 +5,6 @@ import { DocumentTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-a // TODO get unique method from an document repository static method export class UmbDocumentTreeItemContext extends UmbTreeItemContextBase { constructor(host: UmbControllerHostElement) { - super(host, (x: DocumentTreeItemResponseModel) => x.key); + super(host, (x: DocumentTreeItemResponseModel) => x.id); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts index 81629020e2..ff96898cb0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts @@ -28,12 +28,12 @@ export class UmbDocumentWorkspaceContext * The document is the current state/draft version of the document. */ #draft = new ObjectState(undefined); - readonly unique = this.#draft.getObservablePart((data) => data?.key); - readonly documentTypeKey = this.#draft.getObservablePart((data) => data?.contentTypeKey); + readonly unique = this.#draft.getObservablePart((data) => data?.id); + readonly documentTypeKey = this.#draft.getObservablePart((data) => data?.contentTypeId); readonly variants = this.#draft.getObservablePart((data) => data?.variants || []); readonly urls = this.#draft.getObservablePart((data) => data?.urls || []); - readonly templateKey = this.#draft.getObservablePart((data) => data?.templateKey || null); + readonly templateId = this.#draft.getObservablePart((data) => data?.templateId || null); readonly structure; readonly splitView; @@ -44,7 +44,7 @@ export class UmbDocumentWorkspaceContext this.structure = new UmbWorkspacePropertyStructureManager(this.host, new UmbDocumentTypeRepository(this.host)); this.splitView = new UmbWorkspaceSplitViewManager(this.host); - new UmbObserverController(this.host, this.documentTypeKey, (key) => this.structure.loadType(key)); + new UmbObserverController(this.host, this.documentTypeKey, (id) => this.structure.loadType(id)); /* TODO: Concept for ensure variant values: @@ -60,7 +60,7 @@ export class UmbDocumentWorkspaceContext } async load(entityKey: string) { - const { data } = await this.repository.requestByKey(entityKey); + const { data } = await this.repository.requestById(entityKey); if (!data) return undefined; this.setIsNew(false); @@ -89,8 +89,8 @@ export class UmbDocumentWorkspaceContext } */ - getEntityKey() { - return this.getData().key; + getEntityId() { + return this.getData().id; } getEntityType() { @@ -165,7 +165,7 @@ export class UmbDocumentWorkspaceContext if (!this.#draft.value) return; if (this.getIsNew()) { // TODO: typescript hack until we get the create type - const value = this.#draft.value as CreateDocumentRequestModel & { key: string }; + const value = this.#draft.value as CreateDocumentRequestModel & { id: string }; await this.repository.create(value); } else { await this.repository.save(this.#draft.value); @@ -174,8 +174,8 @@ export class UmbDocumentWorkspaceContext this.setIsNew(false); } - async delete(key: string) { - await this.repository.delete(key); + async delete(id: string) { + await this.repository.delete(id); } /* diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.element.ts index 062c5edc8d..67656c3380 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.element.ts @@ -17,22 +17,22 @@ export class UmbDocumentWorkspaceElement extends UmbLitElement { @state() _routes: IRoute[] = [ { - path: 'create/:parentKey/:documentTypeKey', + path: 'create/:parentId/:documentTypeKey', component: () => this.#element, setup: async (component: HTMLElement, info: IRoutingInfo) => { - // TODO: use parent key: + // TODO: use parent id: // TODO: Notice the perspective of permissions here, we need to check if the user has access to create a document of this type under this parent? - const parentKey = info.match.params.parentKey; + const parentId = info.match.params.parentId; const documentTypeKey = info.match.params.documentTypeKey; this.#workspaceContext.createScaffold(documentTypeKey); }, }, { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.detail.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.detail.store.ts index 884fabf62f..d6ef9c0fa9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.detail.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.detail.store.ts @@ -11,7 +11,7 @@ import type { MediaTypeDetails } from '@umbraco-cms/backoffice/models'; * @description - Details Data Store for Media Types */ export class UmbMediaTypeStore extends UmbStoreBase { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); constructor(host: UmbControllerHostElement) { super(host, UMB_MEDIA_TYPE_STORE_CONTEXT_TOKEN.toString()); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.repository.ts index 769559b402..9d697ec22f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.repository.ts @@ -56,34 +56,34 @@ export class UmbMediaTypeRepository implements UmbTreeRepository { return { data, error, asObservable: () => this.#treeStore!.rootItems }; } - async requestTreeItemsOf(parentKey: string | null) { + async requestTreeItemsOf(parentId: string | null) { await this.#init; - if (!parentKey) { + if (!parentId) { const error: ProblemDetailsModel = { title: 'Parent key is missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getChildrenOf(parentKey); + const { data, error } = await this.#treeSource.getChildrenOf(parentId); if (data) { this.#treeStore?.appendItems(data.items); } - return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentKey) }; + return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentId) }; } - async requestTreeItems(keys: Array) { + async requestTreeItems(ids: Array) { await this.#init; - if (!keys) { + if (!ids) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getItems(keys); + const { data, error } = await this.#treeSource.getItems(ids); - return { data, error, asObservable: () => this.#treeStore!.items(keys) }; + return { data, error, asObservable: () => this.#treeStore!.items(ids) }; } async rootTreeItems() { @@ -91,14 +91,14 @@ export class UmbMediaTypeRepository implements UmbTreeRepository { return this.#treeStore!.rootItems; } - async treeItemsOf(parentKey: string | null) { + async treeItemsOf(parentId: string | null) { await this.#init; - return this.#treeStore!.childrenOf(parentKey); + return this.#treeStore!.childrenOf(parentId); } - async treeItems(keys: Array) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } // DETAILS @@ -108,16 +108,16 @@ export class UmbMediaTypeRepository implements UmbTreeRepository { return this.#detailSource.createScaffold(); } - async requestDetails(key: string) { + async requestDetails(id: string) { await this.#init; // TODO: should we show a notification if the key is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!key) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - const { data, error } = await this.#detailSource.get(key); + const { data, error } = await this.#detailSource.get(id); if (data) { this.#store?.append(data); @@ -125,9 +125,9 @@ export class UmbMediaTypeRepository implements UmbTreeRepository { return { data, error }; } - async delete(key: string) { + async delete(id: string) { await this.#init; - return this.#detailSource.delete(key); + return this.#detailSource.delete(id); } async save(mediaType: MediaTypeDetails) { @@ -135,7 +135,7 @@ export class UmbMediaTypeRepository implements UmbTreeRepository { // TODO: should we show a notification if the media type is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!mediaType || !mediaType.key) { + if (!mediaType || !mediaType.id) { const error: ProblemDetailsModel = { title: 'Media Type is missing' }; return { error }; } @@ -151,7 +151,7 @@ export class UmbMediaTypeRepository implements UmbTreeRepository { // Consider to look up the data before fetching from the server // Consider notify a workspace if a media type is updated in the store while someone is editing it. this.#store?.append(mediaType); - this.#treeStore?.updateItem(mediaType.key, { name: mediaType.name }); + this.#treeStore?.updateItem(mediaType.id, { name: mediaType.name }); // TODO: would be nice to align the stores on methods/methodNames. return { error }; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.detail.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.detail.server.data.ts index fa2481dd0f..f1e92f0202 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.detail.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.detail.server.data.ts @@ -49,18 +49,18 @@ export class UmbMediaTypeDetailServerDataSource implements MediaTypeDetailDataSo * @memberof UmbMediaTypeDetailServerDataSource */ async update(mediaType: MediaTypeDetails) { - if (!mediaType.key) { + if (!mediaType.id) { const error: ProblemDetailsModel = { title: 'MediaType key is missing' }; return { error }; } - const payload = { key: mediaType.key, requestBody: mediaType }; + const payload = { key: mediaType.id, requestBody: mediaType }; //return tryExecuteAndNotify(this.#host, MediaTypeResource.putMediaTypeByKey(payload)); // TODO: use backend cli when available. return tryExecuteAndNotify( this.#host, - fetch(`/umbraco/management/api/v1/media-type/${mediaType.key}`, { + fetch(`/umbraco/management/api/v1/media-type/${mediaType.id}`, { method: 'PUT', body: JSON.stringify(payload), headers: { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.details.server.data.interface.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.details.server.data.interface.ts index 8182c5d0f1..e1a682c55e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.details.server.data.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.details.server.data.interface.ts @@ -3,7 +3,7 @@ import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; // TODO => Use models when they exist export interface MediaTypeDetailDataSource { - createScaffold(parentKey: string): Promise>; + createScaffold(parentId: string): Promise>; get(key: string): Promise>; insert(data: any): Promise; update(data: any): Promise; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.tree.server.data.ts index 4fa209600d..5cfcd81ab2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/sources/media-type.tree.server.data.ts @@ -32,12 +32,12 @@ export class MediaTypeTreeServerDataSource implements UmbTreeDataSource { /** * Fetches the children of a given parent key from the server - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof MediaTypeTreeServerDataSource */ - async getChildrenOf(parentKey: string | null) { - if (!parentKey) { + async getChildrenOf(parentId: string | null) { + if (!parentId) { const error: ProblemDetailsModel = { title: 'Parent key is missing' }; return { error }; } @@ -45,7 +45,7 @@ export class MediaTypeTreeServerDataSource implements UmbTreeDataSource { return tryExecuteAndNotify( this.#host, MediaTypeResource.getTreeMediaTypeChildren({ - parentKey, + parentId, }) ); } @@ -56,8 +56,8 @@ export class MediaTypeTreeServerDataSource implements UmbTreeDataSource { * @return {*} * @memberof MediaTypeTreeServerDataSource */ - async getItems(keys: Array) { - if (!keys || keys.length === 0) { + async getItems(ids: Array) { + if (!ids || ids.length === 0) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { error }; } @@ -65,7 +65,7 @@ export class MediaTypeTreeServerDataSource implements UmbTreeDataSource { return tryExecuteAndNotify( this.#host, MediaTypeResource.getTreeMediaTypeItem({ - key: keys, + id: ids, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.context.ts index 04d9a806dd..ace5dcc750 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.context.ts @@ -22,8 +22,8 @@ export class UmbWorkspaceMediaTypeContext return this.#data.getValue(); } - getEntityKey() { - return this.getData()?.key || ''; + getEntityId() { + return this.getData()?.id || ''; } getEntityType() { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.element.ts index 5b1ef7f277..44b19e7eae 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/workspace/media-type-workspace.element.ts @@ -29,11 +29,11 @@ export class UmbMediaTypeWorkspaceElement extends UmbLitElement { @state() _routes: any[] = [ { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-grid-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-grid-collection-view.element.ts index 50fb77a885..a34369425c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-grid-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-grid-collection-view.element.ts @@ -118,24 +118,24 @@ export class UmbMediaGridCollectionViewElement extends UmbLitElement { private _handleOpenItem(mediaItem: EntityTreeItemResponseModel) { //TODO: Fix when we have dynamic routing - history.pushState(null, '', 'section/media/media/edit/' + mediaItem.key); + history.pushState(null, '', 'section/media/media/edit/' + mediaItem.id); } private _handleSelect(mediaItem: EntityTreeItemResponseModel) { - if (mediaItem.key) { - this._collectionContext?.select(mediaItem.key); + if (mediaItem.id) { + this._collectionContext?.select(mediaItem.id); } } private _handleDeselect(mediaItem: EntityTreeItemResponseModel) { - if (mediaItem.key) { - this._collectionContext?.deselect(mediaItem.key); + if (mediaItem.id) { + this._collectionContext?.deselect(mediaItem.id); } } private _isSelected(mediaItem: EntityTreeItemResponseModel) { - if (mediaItem.key) { - return this._selection.includes(mediaItem.key); + if (mediaItem.id) { + return this._selection.includes(mediaItem.id); } return false; } @@ -167,7 +167,7 @@ export class UmbMediaGridCollectionViewElement extends UmbLitElement { ${this._mediaItems ? repeat( this._mediaItems, - (file, index) => (file.key || '') + index, + (file, index) => (file.id || '') + index, (file) => this._renderMediaItem(file) ) : ''} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-table-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-table-collection-view.element.ts index acacf64c88..7e5a02a213 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-table-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/collection-view/media-table-collection-view.element.ts @@ -85,7 +85,7 @@ export class UmbMediaTableCollectionViewElement extends UmbLitElement { // TODO: I guess the type error will go away when we get an entity based MediaDetails model instead of tree based. this._tableItems = mediaItems.map((item) => { return { - key: item.key, + id: item.id, icon: item.icon, data: [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/index.ts index d76d6bef9e..203cdbb451 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/index.ts @@ -5,7 +5,7 @@ export interface ContentProperty { alias: string; label: string; description: string; - dataTypeKey: string; + dataTypeId: string; } export interface ContentPropertyData { @@ -15,7 +15,7 @@ export interface ContentPropertyData { // Media export interface MediaDetails extends ContentTreeItemResponseModel { - key: string; // TODO: Remove this when the backend is fixed + id: string; // TODO: Remove this when the backend is fixed isTrashed: boolean; // TODO: remove only temp part of refactor properties: Array; data: Array; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts index 873e8011d6..53ee05be00 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.repository.ts @@ -73,34 +73,34 @@ export class UmbMediaRepository implements UmbTreeRepository, UmbDetailRepositor return { data, error, asObservable: () => this.#treeStore!.rootItems }; } - async requestTreeItemsOf(parentKey: string | null) { + async requestTreeItemsOf(parentId: string | null) { await this.#init; - if (!parentKey) { - const error: ProblemDetailsModel = { title: 'Parent key is missing' }; + if (!parentId) { + const error: ProblemDetailsModel = { title: 'Parent id is missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getChildrenOf(parentKey); + const { data, error } = await this.#treeSource.getChildrenOf(parentId); if (data) { this.#treeStore?.appendItems(data.items); } - return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentKey) }; + return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentId) }; } - async requestTreeItems(keys: Array) { + async requestTreeItems(ids: Array) { await this.#init; - if (!keys) { + if (!ids) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getItems(keys); + const { data, error } = await this.#treeSource.getItems(ids); - return { data, error, asObservable: () => this.#treeStore!.items(keys) }; + return { data, error, asObservable: () => this.#treeStore!.items(ids) }; } async rootTreeItems() { @@ -108,38 +108,38 @@ export class UmbMediaRepository implements UmbTreeRepository, UmbDetailRepositor return this.#treeStore!.rootItems; } - async treeItemsOf(parentKey: string | null) { + async treeItemsOf(parentId: string | null) { await this.#init; - return this.#treeStore!.childrenOf(parentKey); + return this.#treeStore!.childrenOf(parentId); } - async treeItems(keys: Array) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } // DETAILS: - async createScaffold(parentKey: string | null) { + async createScaffold(parentId: string | null) { await this.#init; - if (!parentKey) { - throw new Error('Parent key is missing'); + if (!parentId) { + throw new Error('Parent id is missing'); } - return this.#detailDataSource.createScaffold(parentKey); + return this.#detailDataSource.createScaffold(parentId); } - async requestByKey(key: string) { + async requestById(id: string) { await this.#init; - // TODO: should we show a notification if the key is missing? + // TODO: should we show a notification if the id is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!key) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - const { data, error } = await this.#detailDataSource.get(key); + const { data, error } = await this.#detailDataSource.get(id); if (data) { this.#store?.append(data); @@ -153,7 +153,7 @@ export class UmbMediaRepository implements UmbTreeRepository, UmbDetailRepositor async create(template: ItemDetailType) { await this.#init; - if (!template || !template.key) { + if (!template || !template.id) { throw new Error('Template is missing'); } @@ -175,11 +175,11 @@ export class UmbMediaRepository implements UmbTreeRepository, UmbDetailRepositor async save(document: ItemDetailType) { await this.#init; - if (!document || !document.key) { + if (!document || !document.id) { throw new Error('Template is missing'); } - const { error } = await this.#detailDataSource.update(document.key, document); + const { error } = await this.#detailDataSource.update(document.id, document); if (!error) { const notification = { data: { message: `Document saved` } }; @@ -190,7 +190,7 @@ export class UmbMediaRepository implements UmbTreeRepository, UmbDetailRepositor // Consider to look up the data before fetching from the server // Consider notify a workspace if a template is updated in the store while someone is editing it. this.#store?.append(document); - this.#treeStore?.updateItem(document.key, { name: document.name }); + this.#treeStore?.updateItem(document.id, { name: document.name }); // TODO: would be nice to align the stores on methods/methodNames. @@ -198,14 +198,14 @@ export class UmbMediaRepository implements UmbTreeRepository, UmbDetailRepositor } // General: - async delete(key: string) { + async delete(id: string) { await this.#init; - if (!key) { - throw new Error('Document key is missing'); + if (!id) { + throw new Error('Document id is missing'); } - const { error } = await this.#detailDataSource.delete(key); + const { error } = await this.#detailDataSource.delete(id); if (!error) { const notification = { data: { message: `Document deleted` } }; @@ -215,23 +215,23 @@ export class UmbMediaRepository implements UmbTreeRepository, UmbDetailRepositor // TODO: we currently don't use the detail store for anything. // Consider to look up the data before fetching from the server. // Consider notify a workspace if a template is deleted from the store while someone is editing it. - this.#store?.remove([key]); - this.#treeStore?.removeItem(key); + this.#store?.remove([id]); + this.#treeStore?.removeItem(id); // TODO: would be nice to align the stores on methods/methodNames. return { error }; } - async trash(keys: Array) { - console.log('media trash: ' + keys); + async trash(ids: Array) { + console.log('media trash: ' + ids); alert('implement trash'); } - async move(keys: Array, destination: string) { + async move(ids: Array, destination: string) { // TODO: use backend cli when available. const res = await fetch('/umbraco/management/api/v1/media/move', { method: 'POST', - body: JSON.stringify({ keys, destination }), + body: JSON.stringify({ ids, destination }), headers: { 'Content-Type': 'application/json', }, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.store.ts index 647992a1af..ddc1a8b5fc 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.store.ts @@ -11,7 +11,7 @@ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller'; * @description - Data Store for Template Details */ export class UmbMediaStore extends UmbStoreBase { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); /** * Creates an instance of UmbMediaStore. diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts index adc6a920e0..9c63d9c946 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts @@ -13,7 +13,7 @@ export const UMB_MEDIA_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); /** * Creates an instance of UmbMediaTreeStore. diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.detail.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.detail.server.data.ts index 609a119df6..1621d5628c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.detail.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/sources/media.detail.server.data.ts @@ -23,13 +23,13 @@ export class UmbMediaDetailServerDataSource implements UmbDataSource res.json()) .then((res) => res[0] || undefined) ); @@ -45,26 +45,26 @@ export class UmbMediaDetailServerDataSource implements UmbDataSource) { + async trashItems(ids: Array) { // TODO: use backend cli when available. return tryExecuteAndNotify( this.#host, fetch('/umbraco/management/api/v1/media/trash', { method: 'POST', - body: JSON.stringify(keys), + body: JSON.stringify(ids), headers: { 'Content-Type': 'application/json', }, @@ -27,13 +27,13 @@ export class MediaTreeServerDataSource implements UmbTreeDataSource { ); } - async moveItems(keys: Array, destination: string) { + async moveItems(ids: Array, destination: string) { // TODO: use backend cli when available. return tryExecuteAndNotify( this.#host, fetch('/umbraco/management/api/v1/media/move', { method: 'POST', - body: JSON.stringify({ keys, destination }), + body: JSON.stringify({ ids, destination }), headers: { 'Content-Type': 'application/json', }, @@ -61,12 +61,12 @@ export class MediaTreeServerDataSource implements UmbTreeDataSource { /** * Fetches the children of a given parent key from the server - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof MediaTreeServerDataSource */ - async getChildrenOf(parentKey: string | null) { - if (!parentKey) { + async getChildrenOf(parentId: string | null) { + if (!parentId) { const error: ProblemDetailsModel = { title: 'Parent key is missing' }; return { error }; } @@ -74,19 +74,19 @@ export class MediaTreeServerDataSource implements UmbTreeDataSource { return tryExecuteAndNotify( this.#host, MediaResource.getTreeMediaChildren({ - parentKey, + parentId, }) ); } /** - * Fetches the items for the given keys from the server - * @param {Array} keys + * Fetches the items for the given ids from the server + * @param {Array} ids * @return {*} * @memberof MediaTreeServerDataSource */ - async getItems(keys: Array) { - if (!keys) { + async getItems(ids: Array) { + if (!ids) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { error }; } @@ -94,7 +94,7 @@ export class MediaTreeServerDataSource implements UmbTreeDataSource { return tryExecuteAndNotify( this.#host, MediaResource.getTreeMediaItem({ - key: keys, + id: ids, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace-edit.element.ts index 66676ea129..81224bde73 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace-edit.element.ts @@ -28,7 +28,7 @@ export class UmbMediaWorkspaceEditElement extends UmbLitElement { ]; @state() - _key?: string; + _id?: string; #umbWorkspaceContext?: UmbMediaWorkspaceContext; @@ -37,23 +37,23 @@ export class UmbMediaWorkspaceEditElement extends UmbLitElement { this.consumeContext(UMB_ENTITY_WORKSPACE_CONTEXT, (instance) => { this.#umbWorkspaceContext = instance as UmbMediaWorkspaceContext; - this.#observeKey(); + this.#observeId(); }); } - #observeKey() { + #observeId() { if (!this.#umbWorkspaceContext) return; - this.observe(this.#umbWorkspaceContext.data, (data) => (this._key = data?.key)); + this.observe(this.#umbWorkspaceContext.data, (data) => (this._id = data?.id)); } render() { - if (!this._key) return nothing; + if (!this._id) return nothing; return html` + unique="${this._id}"> `; } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.context.ts index 9b689787aa..5bd0d9c6e4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.context.ts @@ -22,9 +22,9 @@ export class UmbMediaWorkspaceContext return this.#data.getValue(); } - // TODO: this should be async because it can only return the key if the data is loaded. - getEntityKey() { - return this.getData()?.key || ''; + // TODO: this should be async because it can only return the id if the data is loaded. + getEntityId() { + return this.getData()?.id || ''; } getEntityType() { @@ -47,15 +47,15 @@ export class UmbMediaWorkspaceContext } async load(entityKey: string) { - const { data } = await this.repository.requestByKey(entityKey); + const { data } = await this.repository.requestById(entityKey); if (data) { this.setIsNew(false); this.#data.next(data); } } - async createScaffold(parentKey: string | null) { - const { data } = await this.repository.createScaffold(parentKey); + async createScaffold(parentId: string | null) { + const { data } = await this.repository.createScaffold(parentId); if (!data) return; this.setIsNew(true); this.#data.next(data); @@ -72,8 +72,8 @@ export class UmbMediaWorkspaceContext this.setIsNew(false); } - async delete(key: string) { - await this.repository.delete(key); + async delete(id: string) { + await this.repository.delete(id); } public destroy(): void { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.element.ts index cc3e954a76..eb12659f04 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.element.ts @@ -25,11 +25,11 @@ export class UmbMediaWorkspaceElement extends UmbLitElement { @state() _routes: IRoute[] = [ { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.stories.ts index 82e5edea53..c294b9dc31 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/media-workspace.stories.ts @@ -1,6 +1,7 @@ import './media-workspace.element'; import { Meta, Story } from '@storybook/web-components'; import { html } from 'lit'; +import { ifDefined } from 'lit/directives/if-defined'; import { data as mediaNodes } from '../../../../core/mocks/data/media.data'; import type { UmbMediaWorkspaceElement } from './media-workspace.element'; @@ -11,5 +12,5 @@ export default { } as Meta; export const AAAOverview: Story = () => - html` `; + html` `; AAAOverview.storyName = 'Overview'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.repository.ts index 70b5f760b5..9a463fa34f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.repository.ts @@ -54,20 +54,20 @@ export class UmbMemberGroupRepository implements UmbTreeRepository, UmbDetailRep return { data, error }; } - async requestTreeItemsOf(parentKey: string | null) { + async requestTreeItemsOf(parentId: string | null) { const error: ProblemDetailsModel = { title: 'Not implemented' }; return { data: undefined, error }; } - async requestTreeItems(keys: Array) { + async requestTreeItems(ids: Array) { await this.#init; - if (!keys) { - const error: ProblemDetailsModel = { title: 'Keys are missing' }; + if (!ids) { + const error: ProblemDetailsModel = { title: 'Ids are missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getItems(keys); + const { data, error } = await this.#treeSource.getItems(ids); return { data, error }; } @@ -77,14 +77,14 @@ export class UmbMemberGroupRepository implements UmbTreeRepository, UmbDetailRep return this.#treeStore!.rootItems; } - async treeItemsOf(parentKey: string | null) { + async treeItemsOf(parentId: string | null) { await this.#init; - return this.#treeStore!.childrenOf(parentKey); + return this.#treeStore!.childrenOf(parentId); } - async treeItems(keys: Array) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } // DETAIL @@ -94,16 +94,16 @@ export class UmbMemberGroupRepository implements UmbTreeRepository, UmbDetailRep return this.#detailSource.createScaffold(); } - async requestByKey(key: string) { + async requestById(id: string) { await this.#init; // TODO: should we show a notification if the key is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!key) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - const { data, error } = await this.#detailSource.get(key); + const { data, error } = await this.#detailSource.get(id); if (data) { this.#store?.append(data); @@ -137,7 +137,7 @@ export class UmbMemberGroupRepository implements UmbTreeRepository, UmbDetailRep return { error }; } - const { error } = await this.#detailSource.update(memberGroup.key, memberGroup); + const { error } = await this.#detailSource.update(memberGroup.id, memberGroup); if (!error) { const notification = { data: { message: `Member group '${memberGroup.name} saved` } }; @@ -145,20 +145,20 @@ export class UmbMemberGroupRepository implements UmbTreeRepository, UmbDetailRep } this.#store?.append(memberGroup); - this.#treeStore?.updateItem(memberGroup.key, { name: memberGroup.name }); + this.#treeStore?.updateItem(memberGroup.id, { name: memberGroup.name }); return { error }; } - async delete(key: string) { + async delete(id: string) { await this.#init; - if (!key) { - const error: ProblemDetailsModel = { title: 'Key is missing' }; + if (!id) { + const error: ProblemDetailsModel = { title: 'Id is missing' }; return { error }; } - const { error } = await this.#detailSource.delete(key); + const { error } = await this.#detailSource.delete(id); if (!error) { const notification = { data: { message: `Document deleted` } }; @@ -168,8 +168,8 @@ export class UmbMemberGroupRepository implements UmbTreeRepository, UmbDetailRep // TODO: we currently don't use the detail store for anything. // Consider to look up the data before fetching from the server. // Consider notify a workspace if a template is deleted from the store while someone is editing it. - this.#store?.remove([key]); - this.#treeStore?.removeItem(key); + this.#store?.remove([id]); + this.#treeStore?.removeItem(id); // TODO: would be nice to align the stores on methods/methodNames. return { error }; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.store.ts index 5e24666945..38fd8ede11 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.store.ts @@ -11,7 +11,7 @@ import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; * @description - Data Store for Member Groups */ export class UmbMemberGroupStore extends UmbStoreBase { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); constructor(host: UmbControllerHostElement) { super(host, UMB_MEMBER_GROUP_STORE_CONTEXT_TOKEN.toString()); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.detail.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.detail.server.data.ts index 379268de87..223f4b443a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.detail.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/sources/member-group.detail.server.data.ts @@ -50,17 +50,17 @@ export class UmbMemberGroupDetailServerDataSource implements UmbDataSource) { - if (!keys || keys.length === 0) { + async getItems(ids: Array) { + if (!ids || ids.length === 0) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { error }; } @@ -56,7 +56,7 @@ export class MemberGroupTreeServerDataSource implements UmbTreeDataSource { return tryExecuteAndNotify( this.#host, MemberGroupResource.getTreeMemberGroupItem({ - key: keys, + id: ids, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.context.ts index a59fd3ec92..abd0d7d9ba 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.context.ts @@ -22,8 +22,8 @@ export class UmbWorkspaceMemberGroupContext return this.#data.getValue(); } - getEntityKey() { - return this.getData()?.key || ''; + getEntityId() { + return this.getData()?.id || ''; } getEntityType() { @@ -41,7 +41,7 @@ export class UmbWorkspaceMemberGroupContext } async load(entityKey: string) { - const { data } = await this.repository.requestByKey(entityKey); + const { data } = await this.repository.requestById(entityKey); if (data) { this.#data.next(data); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts index 674512ad7f..d97a7067e1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts @@ -29,11 +29,11 @@ export class UmbMemberGroupWorkspaceElement extends UmbLitElement { @state() _routes: any[] = [ { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.stories.ts index ac44105f27..404d9313ca 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.stories.ts @@ -14,5 +14,5 @@ export default { } as Meta; export const AAAOverview: Story = () => - html` `; + html` `; AAAOverview.storyName = 'Overview'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.ts index 31f73ba2a1..a8e5d16e0a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.ts @@ -63,7 +63,7 @@ export class UmbWorkspaceViewMemberGroupInfoElement extends UmbLitElement { return html` -
${this._memberGroup?.key}
+
${this._memberGroup?.id}
`; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.repository.ts index 81eaa12de2..2226ee91ba 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.repository.ts @@ -60,34 +60,34 @@ export class UmbMemberTypeRepository implements UmbTreeRepository, return { data, error, asObservable: () => this.#treeStore!.rootItems }; } - async requestTreeItemsOf(parentKey: string | null) { + async requestTreeItemsOf(parentId: string | null) { await this.#init; - if (!parentKey) { - const error: ProblemDetailsModel = { title: 'Parent key is missing' }; + if (!parentId) { + const error: ProblemDetailsModel = { title: 'Parent id is missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getChildrenOf(parentKey); + const { data, error } = await this.#treeSource.getChildrenOf(parentId); if (data) { this.#treeStore?.appendItems(data.items); } - return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentKey) }; + return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentId) }; } - async requestTreeItems(keys: Array) { + async requestTreeItems(ids: Array) { await this.#init; - if (!keys) { + if (!ids) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getItems(keys); + const { data, error } = await this.#treeSource.getItems(ids); - return { data, error, asObservable: () => this.#treeStore!.items(keys) }; + return { data, error, asObservable: () => this.#treeStore!.items(ids) }; } async rootTreeItems() { @@ -95,14 +95,14 @@ export class UmbMemberTypeRepository implements UmbTreeRepository, return this.#treeStore!.rootItems; } - async treeItemsOf(parentKey: string | null) { + async treeItemsOf(parentId: string | null) { await this.#init; - return this.#treeStore!.childrenOf(parentKey); + return this.#treeStore!.childrenOf(parentId); } - async treeItems(keys: Array) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } // DETAILS @@ -112,16 +112,16 @@ export class UmbMemberTypeRepository implements UmbTreeRepository, return this.#detailSource.createScaffold(); } - async requestByKey(key: string) { + async requestById(id: string) { await this.#init; - // TODO: should we show a notification if the key is missing? + // TODO: should we show a notification if the id is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!key) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - const { data, error } = await this.#detailSource.requestByKey(key); + const { data, error } = await this.#detailSource.requestById(id); if (data) { this.#store?.append(data); @@ -129,15 +129,15 @@ export class UmbMemberTypeRepository implements UmbTreeRepository, return { data, error }; } - async delete(key: string) { + async delete(id: string) { await this.#init; - if (!key) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - const { error } = await this.#detailSource.delete(key); + const { error } = await this.#detailSource.delete(id); if (!error) { const notification = { data: { message: `Member type deleted` } }; @@ -147,8 +147,8 @@ export class UmbMemberTypeRepository implements UmbTreeRepository, // TODO: we currently don't use the detail store for anything. // Consider to look up the data before fetching from the server. // Consider notify a workspace if a member type is deleted from the store while someone is editing it. - this.#store?.remove([key]); - this.#treeStore?.removeItem(key); + this.#store?.remove([id]); + this.#treeStore?.removeItem(id); // TODO: would be nice to align the stores on methods/methodNames. return { error }; @@ -159,7 +159,7 @@ export class UmbMemberTypeRepository implements UmbTreeRepository, // TODO: should we show a notification if the MemberType is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!detail || !detail.key) { + if (!detail || !detail.id) { const error: ProblemDetailsModel = { title: 'Member type is missing' }; return { error }; } @@ -175,7 +175,7 @@ export class UmbMemberTypeRepository implements UmbTreeRepository, // Consider to look up the data before fetching from the server // Consider notify a workspace if a member type is updated in the store while someone is editing it. this.#store?.append(detail); - this.#treeStore?.updateItem(detail.key, { name: detail.name }); + this.#treeStore?.updateItem(detail.id, { name: detail.name }); // TODO: would be nice to align the stores on methods/methodNames. return { error }; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.store.ts index 7624273435..b9afd506a2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.store.ts @@ -11,7 +11,7 @@ import type { MemberTypeDetails } from '@umbraco-cms/backoffice/models'; * @description - Data Store for Member Types */ export class UmbMemberTypeStore extends UmbStoreBase { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); constructor(host: UmbControllerHostElement) { super(host, UMB_MEMBER_TYPE_STORE_CONTEXT_TOKEN.toString()); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.detail.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.detail.server.data.ts index b0e33984ed..6a13f71f39 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.detail.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.detail.server.data.ts @@ -33,7 +33,7 @@ export class UmbMemberTypeDetailServerDataSource implements UmbDetailRepository< * @return {*} * @memberof UmbMemberTypeDetailServerDataSource */ - requestByKey(key: string) { + requestById(key: string) { //return tryExecuteAndNotify(this.#host, MemberTypeResource.getMemberTypeByKey({ key })); // TODO => use backend cli when available. return tryExecuteAndNotify(this.#host, fetch(`/umbraco/management/api/v1/member-group/${key}`)) as any; @@ -46,18 +46,18 @@ export class UmbMemberTypeDetailServerDataSource implements UmbDetailRepository< * @memberof UmbMemberTypeDetailServerDataSource */ async save(memberType: MemberTypeDetails) { - if (!memberType.key) { + if (!memberType.id) { const error: ProblemDetailsModel = { title: 'MemberType key is missing' }; return { error }; } - const payload = { key: memberType.key, requestBody: memberType }; + const payload = { key: memberType.id, requestBody: memberType }; //return tryExecuteAndNotify(this.#host, MemberTypeResource.putMemberTypeByKey(payload)); // TODO => use backend cli when available. return tryExecuteAndNotify( this.#host, - fetch(`/umbraco/management/api/v1/member-type/${memberType.key}`, { + fetch(`/umbraco/management/api/v1/member-type/${memberType.id}`, { method: 'PUT', body: JSON.stringify(payload), headers: { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.tree.server.data.ts index 6202393162..a8e5ae1e6e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/sources/member-type.tree.server.data.ts @@ -32,11 +32,11 @@ export class MemberTypeTreeServerDataSource implements UmbTreeDataSource { /** * Fetches the children of a given parent key from the server - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof MemberTypeTreeServerDataSource */ - async getChildrenOf(parentKey: string | null) { + async getChildrenOf(parentId: string | null) { const error: ProblemDetailsModel = { title: 'Not implemented for Member Type' }; return { error }; } @@ -47,16 +47,16 @@ export class MemberTypeTreeServerDataSource implements UmbTreeDataSource { * @return {*} * @memberof MemberTypeTreeServerDataSource */ - async getItems(keys: Array) { - if (!keys || keys.length === 0) { - const error: ProblemDetailsModel = { title: 'Keys are missing' }; + async getItems(ids: Array) { + if (!ids || ids.length === 0) { + const error: ProblemDetailsModel = { title: 'Ids are missing' }; return { error }; } return tryExecuteAndNotify( this.#host, MemberTypeResource.getTreeMemberTypeItem({ - key: keys, + id: ids, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.context.ts index b20ae7528e..d78226c9b3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.context.ts @@ -19,7 +19,7 @@ export class UmbMemberTypeWorkspaceContext } async load(entityKey: string) { - const { data } = await this.repository.requestByKey(entityKey); + const { data } = await this.repository.requestById(entityKey); if (data) { this.setIsNew(false); this.#data.next(data); @@ -37,8 +37,8 @@ export class UmbMemberTypeWorkspaceContext return this.#data.getValue(); } - getEntityKey() { - return this.getData()?.key || ''; + getEntityId() { + return this.getData()?.id || ''; } getEntityType() { @@ -64,8 +64,8 @@ export class UmbMemberTypeWorkspaceContext this.setIsNew(false); } - async delete(key: string) { - await this.repository.delete(key); + async delete(id: string) { + await this.repository.delete(id); } public destroy(): void { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.element.ts index a5e1593549..830a0ff7cd 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/workspace/member-type-workspace.element.ts @@ -25,11 +25,11 @@ export class UmbMemberTypeWorkspaceElement extends UmbLitElement { @state() _routes: any[] = [ { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/member.detail.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/member.detail.store.ts index b110fcfbe8..973f79f5c4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/member.detail.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/member.detail.store.ts @@ -13,37 +13,37 @@ import { UmbEntityDetailStore, UmbStoreBase } from '@umbraco-cms/backoffice/stor * @description - Data Store for Members */ export class UmbMemberStore extends UmbStoreBase implements UmbEntityDetailStore { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); public groups = this.#data.asObservable(); constructor(private host: UmbControllerHostElement) { super(host, UMB_MEMBER_STORE_CONTEXT_TOKEN.toString()); } - getScaffold(entityType: string, parentKey: string | null) { + getScaffold(entityType: string, parentId: string | null) { return {} as MemberDetails; } /** - * @description - Request a Member by key. The Member is added to the store and is returned as an Observable. - * @param {string} key + * @description - Request a Member by id. The Member is added to the store and is returned as an Observable. + * @param {string} id * @return {*} {(Observable)} * @memberof UmbMemberStore */ - getByKey(key: string): Observable { - // tryExecuteAndNotify(this.host, MemberResource.getMemberByKey({ key })).then(({ data }) => { + getByKey(id: string): Observable { + // tryExecuteAndNotify(this.host, MemberResource.getMemberByKey({ id })).then(({ data }) => { // if (data) {} // this.#data.appendOne(data); // } // }); // temp until Resource is updated - const member = umbMemberData.getByKey(key); + const member = umbMemberData.getById(id); if (member) { this.#data.appendOne(member); } - return createObservablePart(this.#data, (members) => members.find((member) => member.key === key) as MemberDetails); + return createObservablePart(this.#data, (members) => members.find((member) => member.id === id) as MemberDetails); } async save(member: Array): Promise { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.repository.ts index b0e6c529c6..cf91bf0bf9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.repository.ts @@ -53,20 +53,20 @@ export class UmbMemberRepository implements UmbTreeRepository { return { data, error }; } - async requestTreeItemsOf(parentKey: string | null) { + async requestTreeItemsOf(parentId: string | null) { const error: ProblemDetailsModel = { title: 'Not implemented' }; return { data: undefined, error }; } - async requestTreeItems(keys: Array) { + async requestTreeItems(ids: Array) { await this.#init; - if (!keys) { + if (!ids) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { data: undefined, error }; } - const { data, error } = await this.#dataSource.getItems(keys); + const { data, error } = await this.#dataSource.getItems(ids); return { data, error }; } @@ -76,13 +76,13 @@ export class UmbMemberRepository implements UmbTreeRepository { return this.#treeStore!.rootItems; } - async treeItemsOf(parentKey: string | null) { + async treeItemsOf(parentId: string | null) { await this.#init; - return this.#treeStore!.childrenOf(parentKey); + return this.#treeStore!.childrenOf(parentId); } - async treeItems(keys: Array) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.store.ts index 518d0b5c47..4b01b1a8d8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.store.ts @@ -11,7 +11,7 @@ import type { MemberDetails } from '@umbraco-cms/backoffice/models'; * @description - Data Store for Members */ export class UmbMemberStore extends UmbStoreBase { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); constructor(host: UmbControllerHostElement) { super(host, UMB_MEMBER_STORE_CONTEXT_TOKEN.toString()); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/member.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/member.tree.server.data.ts index b22acf103c..b61ee911bf 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/member.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/sources/member.tree.server.data.ts @@ -38,21 +38,21 @@ export class MemberTreeServerDataSource implements MemberTreeDataSource { * @return {*} * @memberof MemberTreeServerDataSource */ - async getItems(keys: Array) { + async getItems(ids: Array) { const response = await fetch('/umbraco/management/api/v1/tree/member/item'); const data = await response.json(); return { data, error: undefined }; - // if (keys) { - // const error: ProblemDetailsModel = { title: 'Keys are missing' }; + // if (ids) { + // const error: ProblemDetailsModel = { title: 'Ids are missing' }; // return { error }; // } // return tryExecuteAndNotify( // this.#host, // MemberResource.getTreeMemberItem({ - // key: keys, + // id: ids, // }) // ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts index 7f7367ced3..3e9ca61b6a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts @@ -16,7 +16,7 @@ export class UmbMemberWorkspaceContext return 'member'; } - getEntityKey() { + getEntityId() { return '1234'; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.element.ts index 5b76fa0e97..57e37d3dc3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.element.ts @@ -25,11 +25,11 @@ export class UmbMemberWorkspaceElement extends UmbLitElement { @state() _routes: any[] = [ { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.stories.ts index ebe1cce2ce..2af3d29bf2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.stories.ts @@ -14,5 +14,5 @@ export default { } as Meta; export const AAAOverview: Story = () => - html` `; + html` `; AAAOverview.storyName = 'Overview'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/workspace/workspace-package-builder.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/workspace/workspace-package-builder.element.ts index 8903993ffb..218a18b67d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/workspace/workspace-package-builder.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-builder/workspace/workspace-package-builder.element.ts @@ -62,17 +62,14 @@ export class UmbWorkspacePackageBuilderElement extends UmbLitElement { async #getPackageCreated() { if (!this.entityKey) return; - const { data } = await tryExecuteAndNotify(this, PackageResource.getPackageCreatedByKey({ key: this.entityKey })); + const { data } = await tryExecuteAndNotify(this, PackageResource.getPackageCreatedById({ id: this.entityKey })); if (!data) return; this._package = data as PackageDefinitionResponseModel; } async #download() { - if (!this._package?.key) return; - const response = await tryExecuteAndNotify( - this, - PackageResource.getPackageCreatedByKeyDownload({ key: this._package.key }) - ); + if (!this._package?.id) return; + await tryExecuteAndNotify(this, PackageResource.getPackageCreatedByIdDownload({ id: this._package.id })); } #nameDefined() { @@ -94,10 +91,10 @@ export class UmbWorkspacePackageBuilderElement extends UmbLitElement { async #update() { if (!this.#nameDefined()) return; - if (!this._package?.key) return; + if (!this._package?.id) return; const response = await tryExecuteAndNotify( this, - PackageResource.putPackageCreatedByKey({ key: this._package.key, requestBody: this._package }) + PackageResource.putPackageCreatedById({ id: this._package.id, requestBody: this._package }) ); if (response.error) return; @@ -135,13 +132,13 @@ export class UmbWorkspacePackageBuilderElement extends UmbLitElement { #renderActions() { return html`
- ${this._package?.key + ${this._package?.id ? html` Download ` : nothing} @@ -219,11 +216,9 @@ export class UmbWorkspacePackageBuilderElement extends UmbLitElement { return html`
+ (this._package.mediaIds = (e.target as UmbInputMediaPickerElement).selectedKeys)}"> { routes.push({ - path: `${workspace.meta.entityType}/:key`, + path: `${workspace.meta.entityType}/:id`, component: () => createExtensionElement(workspace), setup: (component: Promise, info: IRoutingInfo) => { component.then((el: HTMLElement) => { - (el as any).entityKey = info.match.params.key; + (el as any).entityKey = info.match.params.id; }); }, }); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/packages-created-overview.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/packages-created-overview.element.ts index 11cd97a2fc..ced8c1afc8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/packages-created-overview.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/packages-created-overview.element.ts @@ -95,7 +95,7 @@ export class UmbPackagesCreatedOverviewElement extends UmbLitElement { ${repeat( this._createdPackages, - (item) => item.key, + (item) => item.id, (item) => this.#renderPackageItem(item) )} @@ -113,8 +113,8 @@ export class UmbPackagesCreatedOverviewElement extends UmbLitElement { } #packageBuilder(p: PackageDefinitionResponseModel) { - if (!p.key) return; - window.history.pushState({}, '', `/section/packages/view/created/package-builder/${p.key}`); + if (!p.id) return; + window.history.pushState({}, '', `/section/packages/view/created/package-builder/${p.id}`); } #renderPagination() { @@ -133,7 +133,7 @@ export class UmbPackagesCreatedOverviewElement extends UmbLitElement { } async #deletePackage(p: PackageDefinitionResponseModel) { - if (!p.key) return; + if (!p.id) return; const modalHandler = this._modalContext?.open(UMB_CONFIRM_MODAL, { color: 'danger', headline: `Remove ${p.name}?`, @@ -143,9 +143,9 @@ export class UmbPackagesCreatedOverviewElement extends UmbLitElement { await modalHandler?.onSubmit(); - const { error } = await tryExecuteAndNotify(this, PackageResource.deletePackageCreatedByKey({ key: p.key })); + const { error } = await tryExecuteAndNotify(this, PackageResource.deletePackageCreatedById({ id: p.id })); if (error) return; - const index = this._createdPackages.findIndex((x) => x.key === p.key); + const index = this._createdPackages.findIndex((x) => x.id === p.id); this._createdPackages.splice(index, 1); this.requestUpdate(); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group.element.ts index 97459331cf..8480c9d534 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/dashboards/health-check/views/health-check-group.element.ts @@ -87,7 +87,7 @@ export class UmbDashboardHealthCheckGroupElement extends UmbLitElement { private _checks?: HealthCheckModel[]; @state() - private _keyResults?: HealthCheckWithResultPresentationModel[]; + private _idResults?: HealthCheckWithResultPresentationModel[]; private _api?: UmbHealthCheckContext; @@ -106,7 +106,7 @@ export class UmbDashboardHealthCheckGroupElement extends UmbLitElement { }); this._api?.results.subscribe((results) => { - this._keyResults = results?.checks; + this._idResults = results?.checks; }); }); } @@ -143,18 +143,18 @@ export class UmbDashboardHealthCheckGroupElement extends UmbLitElement { ${this._group?.checks?.map((check) => { return html`

${check.description}

- ${check.key ? this.renderCheckResults(check.key) : nothing} + ${check.id ? this.renderCheckResults(check.id) : nothing}
`; })}
`; } - renderCheckResults(key: string) { - if (!this._keyResults) { + renderCheckResults(id: string) { + if (!this._idResults) { return nothing; } - const checkResults = this._keyResults.find((x) => x.key === key); + const checkResults = this._idResults.find((x) => x.id === id); if (!checkResults) { return nothing; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.repository.ts index d08e01a230..8f93aa9f09 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.repository.ts @@ -77,26 +77,26 @@ export class UmbDataTypeRepository return { data, error, asObservable: () => this.#treeStore!.rootItems }; } - async requestTreeItemsOf(parentKey: string | null) { - if (!parentKey) throw new Error('Parent key is missing'); + async requestTreeItemsOf(parentId: string | null) { + if (!parentId) throw new Error('Parent id is missing'); await this.#init; - const { data, error } = await this.#treeSource.getChildrenOf(parentKey); + const { data, error } = await this.#treeSource.getChildrenOf(parentId); if (data) { this.#treeStore?.appendItems(data.items); } - return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentKey) }; + return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentId) }; } - async requestTreeItems(keys: Array) { - if (!keys) throw new Error('Keys are missing'); + async requestTreeItems(ids: Array) { + if (!ids) throw new Error('Keys are missing'); await this.#init; - const { data, error } = await this.#treeSource.getItems(keys); + const { data, error } = await this.#treeSource.getItems(ids); - return { data, error, asObservable: () => this.#treeStore!.items(keys) }; + return { data, error, asObservable: () => this.#treeStore!.items(ids) }; } async rootTreeItems() { @@ -104,31 +104,31 @@ export class UmbDataTypeRepository return this.#treeStore!.rootItems; } - async treeItemsOf(parentKey: string | null) { - if (parentKey === undefined) throw new Error('Parent key is missing'); + async treeItemsOf(parentId: string | null) { + if (parentId === undefined) throw new Error('Parent id is missing'); await this.#init; - return this.#treeStore!.childrenOf(parentKey); + return this.#treeStore!.childrenOf(parentId); } - async treeItems(keys: Array) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } // DETAILS: - async createScaffold(parentKey: string | null) { - if (parentKey === undefined) throw new Error('Parent key is missing'); + async createScaffold(parentId: string | null) { + if (parentId === undefined) throw new Error('Parent id is missing'); await this.#init; - return this.#detailSource.createScaffold(parentKey); + return this.#detailSource.createScaffold(parentId); } - async requestByKey(key: string) { - if (!key) throw new Error('Key is missing'); + async requestById(id: string) { + if (!id) throw new Error('Key is missing'); await this.#init; - const { data, error } = await this.#detailSource.get(key); + const { data, error } = await this.#detailSource.get(id); if (data) { this.#detailStore?.append(data); @@ -137,16 +137,16 @@ export class UmbDataTypeRepository return { data, error }; } - async byKey(key: string) { - if (!key) throw new Error('Key is missing'); + async byId(id: string) { + if (!id) throw new Error('Key is missing'); await this.#init; - return this.#detailStore!.byKey(key); + return this.#detailStore!.byId(id); } // Could potentially be general methods: async create(dataType: ItemType) { if (!dataType) throw new Error('Data Type is missing'); - if (!dataType.key) throw new Error('Data Type key is missing'); + if (!dataType.id) throw new Error('Data Type id is missing'); await this.#init; @@ -165,11 +165,11 @@ export class UmbDataTypeRepository async save(dataType: ItemType) { if (!dataType) throw new Error('Data Type is missing'); - if (!dataType.key) throw new Error('Data Type key is missing'); + if (!dataType.id) throw new Error('Data Type id is missing'); await this.#init; - const { error } = await this.#detailSource.update(dataType.key, dataType); + const { error } = await this.#detailSource.update(dataType.id, dataType); if (!error) { const notification = { data: { message: `Data Type saved` } }; @@ -180,7 +180,7 @@ export class UmbDataTypeRepository // Consider to look up the data before fetching from the server // Consider notify a workspace if a template is updated in the store while someone is editing it. this.#detailStore?.append(dataType); - this.#treeStore?.updateItem(dataType.key, { name: dataType.name }); + this.#treeStore?.updateItem(dataType.id, { name: dataType.name }); // TODO: would be nice to align the stores on methods/methodNames. return { error }; @@ -188,11 +188,11 @@ export class UmbDataTypeRepository // General: - async delete(key: string) { - if (!key) throw new Error('Data Type key is missing'); + async delete(id: string) { + if (!id) throw new Error('Data Type id is missing'); await this.#init; - const { error } = await this.#detailSource.delete(key); + const { error } = await this.#detailSource.delete(id); if (!error) { const notification = { data: { message: `Data Type deleted` } }; @@ -202,21 +202,21 @@ export class UmbDataTypeRepository // TODO: we currently don't use the detail store for anything. // Consider to look up the data before fetching from the server. // Consider notify a workspace if a template is deleted from the store while someone is editing it. - this.#detailStore?.remove([key]); - this.#treeStore?.removeItem(key); + this.#detailStore?.remove([id]); + this.#treeStore?.removeItem(id); // TODO: would be nice to align the stores on methods/methodNames. return { error }; } // folder - async createFolderScaffold(parentKey: string | null) { - if (parentKey === undefined) throw new Error('Parent key is missing'); - return this.#folderSource.createScaffold(parentKey); + async createFolderScaffold(parentId: string | null) { + if (parentId === undefined) throw new Error('Parent id is missing'); + return this.#folderSource.createScaffold(parentId); } - // TODO: temp create type until backend is ready. Remove the key addition when new types are generated. - async createFolder(folderRequest: CreateFolderRequestModel & { key?: string | undefined }) { + // TODO: temp create type until backend is ready. Remove the id addition when new types are generated. + async createFolder(folderRequest: CreateFolderRequestModel & { id?: string | undefined }) { if (!folderRequest) throw new Error('folder request is missing'); await this.#init; @@ -226,9 +226,9 @@ export class UmbDataTypeRepository if (!error) { const treeItem: FolderTreeItemResponseModel = { $type: 'FolderTreeItemResponseModel', - parentKey: folderRequest.parentKey, + parentId: folderRequest.parentId, name: folderRequest.name, - key: folderRequest.key, + id: folderRequest.id, isFolder: true, isContainer: false, type: 'data-type', @@ -242,35 +242,35 @@ export class UmbDataTypeRepository return { error }; } - async deleteFolder(key: string) { - if (!key) throw new Error('Key is missing'); + async deleteFolder(id: string) { + if (!id) throw new Error('Key is missing'); - const { error } = await this.#folderSource.delete(key); + const { error } = await this.#folderSource.delete(id); if (!error) { - this.#treeStore?.removeItem(key); + this.#treeStore?.removeItem(id); } return { error }; } - async updateFolder(key: string, folder: FolderModelBaseModel) { - if (!key) throw new Error('Key is missing'); + async updateFolder(id: string, folder: FolderModelBaseModel) { + if (!id) throw new Error('Key is missing'); if (!folder) throw new Error('Folder data is missing'); - const { error } = await this.#folderSource.update(key, folder); + const { error } = await this.#folderSource.update(id, folder); if (!error) { - this.#treeStore?.updateItem(key, { name: folder.name }); + this.#treeStore?.updateItem(id, { name: folder.name }); } return { error }; } - async requestFolder(key: string) { - if (!key) throw new Error('Key is missing'); + async requestFolder(id: string) { + if (!id) throw new Error('Key is missing'); - const { data, error } = await this.#folderSource.get(key); + const { data, error } = await this.#folderSource.get(id); if (data) { this.#treeStore?.appendItems([data]); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.store.ts index c50fc3644c..71db9b0013 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/data-type.store.ts @@ -13,7 +13,7 @@ export const UMB_DATA_TYPE_STORE_CONTEXT_TOKEN = new UmbContextToken([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); /** * Creates an instance of UmbDataTypeStore. @@ -35,11 +35,11 @@ export class UmbDataTypeStore extends UmbStoreBase { /** * Append a data-type to the store - * @param {key} DataTypeModel key. + * @param {id} DataTypeModel id. * @memberof UmbDataTypeStore */ - byKey(key: DataTypeResponseModel['key']) { - return this.#data.getObservablePart((x) => x.find((y) => y.key === key)); + byId(id: DataTypeResponseModel['id']) { + return this.#data.getObservablePart((x) => x.find((y) => y.id === id)); } /** @@ -47,7 +47,7 @@ export class UmbDataTypeStore extends UmbStoreBase { * @param {string[]} uniques * @memberof UmbDataTypeStore */ - remove(uniques: Array) { + remove(uniques: Array) { this.#data.remove(uniques); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type-folder.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type-folder.server.data.ts index ddeea07a1a..880ab05097 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type-folder.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type-folder.server.data.ts @@ -29,16 +29,16 @@ export class UmbDataTypeFolderServerDataSource implements UmbFolderDataSource { /** * Creates a Data Type folder with the given key from the server - * @param {string} key + * @param {string} parentId * @return {*} * @memberof UmbDataTypeFolderServerDataSource */ - async createScaffold(parentKey: string | null) { + async createScaffold(parentId: string | null) { const scaffold: FolderReponseModel = { $type: 'FolderReponseModel', name: '', - key: uuidv4(), - parentKey, + id: uuidv4(), + parentId, }; return { data: scaffold }; @@ -46,16 +46,16 @@ export class UmbDataTypeFolderServerDataSource implements UmbFolderDataSource { /** * Fetches a Data Type folder with the given key from the server - * @param {string} key + * @param {string} id * @return {*} * @memberof UmbDataTypeFolderServerDataSource */ - async get(key: string) { - if (!key) throw new Error('Key is missing'); + async get(id: string) { + if (!id) throw new Error('Key is missing'); return tryExecuteAndNotify( this.#host, - DataTypeResource.getDataTypeFolderByKey({ - key, + DataTypeResource.getDataTypeFolderById({ + id: id, }) ); } @@ -82,13 +82,13 @@ export class UmbDataTypeFolderServerDataSource implements UmbFolderDataSource { * @return {*} * @memberof UmbDataTypeFolderServerDataSource */ - async update(key: string, folder: FolderModelBaseModel) { - if (!key) throw new Error('Key is missing'); - if (!key) throw new Error('Folder data is missing'); + async update(id: string, folder: FolderModelBaseModel) { + if (!id) throw new Error('Key is missing'); + if (!id) throw new Error('Folder data is missing'); return tryExecuteAndNotify( this.#host, - DataTypeResource.putDataTypeFolderByKey({ - key, + DataTypeResource.putDataTypeFolderById({ + id: id, requestBody: folder, }) ); @@ -96,16 +96,16 @@ export class UmbDataTypeFolderServerDataSource implements UmbFolderDataSource { /** * Deletes a Data Type folder with the given key on the server - * @param {string} key + * @param {string} id * @return {*} * @memberof UmbDataTypeServerDataSource */ - async delete(key: string) { - if (!key) throw new Error('Key is missing'); + async delete(id: string) { + if (!id) throw new Error('Key is missing'); return tryExecuteAndNotify( this.#host, - DataTypeResource.deleteDataTypeFolderByKey({ - key, + DataTypeResource.deleteDataTypeFolderById({ + id: id, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.server.data.ts index aab943d402..2968de03b3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.server.data.ts @@ -18,7 +18,7 @@ import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; */ export class UmbDataTypeServerDataSource implements - UmbDataSource + UmbDataSource { #host: UmbControllerHostElement; @@ -33,31 +33,31 @@ export class UmbDataTypeServerDataSource /** * Fetches a Data Type with the given key from the server - * @param {string} key + * @param {string} id * @return {*} * @memberof UmbDataTypeServerDataSource */ - async get(key: string) { - if (!key) throw new Error('Key is missing'); + async get(id: string) { + if (!id) throw new Error('Key is missing'); return tryExecuteAndNotify( this.#host, - DataTypeResource.getDataTypeByKey({ - key, + DataTypeResource.getDataTypeById({ + id: id, }) ); } /** * Creates a new Data Type scaffold - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof UmbDataTypeServerDataSource */ - async createScaffold(parentKey: string | null) { + async createScaffold(parentId: string | null) { const data: DataTypeResponseModel = { $type: '', - parentKey: parentKey, - key: uuidv4(), + parentId: parentId, + id: uuidv4(), }; return { data }; @@ -69,9 +69,9 @@ export class UmbDataTypeServerDataSource * @return {*} * @memberof UmbDataTypeServerDataSource */ - async insert(dataType: CreateDataTypeRequestModel & { key: string }) { + async insert(dataType: CreateDataTypeRequestModel & { id: string }) { if (!dataType) throw new Error('Data Type is missing'); - if (!dataType.key) throw new Error('Data Type key is missing'); + if (!dataType.id) throw new Error('Data Type key is missing'); tryExecuteAndNotify( this.#host, @@ -87,13 +87,13 @@ export class UmbDataTypeServerDataSource * @return {*} * @memberof UmbDataTypeServerDataSource */ - async update(key: string, data: DataTypeModelBaseModel) { - if (!key) throw new Error('Key is missing'); + async update(id: string, data: DataTypeModelBaseModel) { + if (!id) throw new Error('Key is missing'); return tryExecuteAndNotify( this.#host, - DataTypeResource.putDataTypeByKey({ - key, + DataTypeResource.putDataTypeById({ + id: id, requestBody: data, }) ); @@ -101,17 +101,17 @@ export class UmbDataTypeServerDataSource /** * Deletes a Data Type on the server - * @param {string} key + * @param {string} id * @return {*} * @memberof UmbDataTypeServerDataSource */ - async delete(key: string) { - if (!key) throw new Error('Key is missing'); + async delete(id: string) { + if (!id) throw new Error('Key is missing'); return tryExecuteAndNotify( this.#host, - DataTypeResource.deleteDataTypeByKey({ - key, + DataTypeResource.deleteDataTypeById({ + id: id, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.tree.server.data.ts index c2582f00e8..1930d90f4c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/repository/sources/data-type.tree.server.data.ts @@ -32,17 +32,17 @@ export class UmbDataTypeTreeServerDataSource implements UmbTreeDataSource { /** * Fetches the children of a given parent key from the server - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof UmbDataTypeTreeServerDataSource */ - async getChildrenOf(parentKey: string | null) { - if (!parentKey) throw new Error('Parent key is missing'); + async getChildrenOf(parentId: string | null) { + if (!parentId) throw new Error('Parent id is missing'); return tryExecuteAndNotify( this.#host, DataTypeResource.getTreeDataTypeChildren({ - parentKey, + parentId, }) ); } @@ -53,12 +53,12 @@ export class UmbDataTypeTreeServerDataSource implements UmbTreeDataSource { * @return {*} * @memberof UmbDataTypeTreeServerDataSource */ - async getItems(keys: Array) { - if (!keys) throw new Error('Keys are missing'); + async getItems(ids: Array) { + if (!ids) throw new Error('Ids are missing'); return tryExecuteAndNotify( this.#host, DataTypeResource.getTreeDataTypeItem({ - key: keys, + id: ids, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.context.ts index 4ca1a0b7f4..a1e6fd139a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.context.ts @@ -12,22 +12,22 @@ export class UmbDataTypeWorkspaceContext #data = new ObjectState(undefined); data = this.#data.asObservable(); name = this.#data.getObservablePart((data) => data?.name); - key = this.#data.getObservablePart((data) => data?.key); + id = this.#data.getObservablePart((data) => data?.id); constructor(host: UmbControllerHostElement) { super(host, new UmbDataTypeRepository(host)); } - async load(key: string) { - const { data } = await this.repository.requestByKey(key); + async load(id: string) { + const { data } = await this.repository.requestById(id); if (data) { this.setIsNew(false); this.#data.update(data); } } - async createScaffold(parentKey: string | null) { - const { data } = await this.repository.createScaffold(parentKey); + async createScaffold(parentId: string | null) { + const { data } = await this.repository.createScaffold(parentId); this.setIsNew(true); this.#data.next(data); return { data }; @@ -37,8 +37,8 @@ export class UmbDataTypeWorkspaceContext return this.#data.getValue(); } - getEntityKey() { - return this.getData()?.key || ''; + getEntityId() { + return this.getData()?.id || ''; } getEntityType() { @@ -79,8 +79,8 @@ export class UmbDataTypeWorkspaceContext this.setIsNew(false); } - async delete(key: string) { - await this.repository.delete(key); + async delete(id: string) { + await this.repository.delete(id); } public destroy(): void { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.element.ts index 69ddcdeed1..93455e437f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.element.ts @@ -13,37 +13,30 @@ export class UmbDataTypeWorkspaceElement extends UmbLitElement { #workspaceContext = new UmbDataTypeWorkspaceContext(this); - #routerPath? = ''; - #element = document.createElement('umb-data-type-workspace-edit-element'); - #key = ''; @state() _routes: IRoute[] = [ { - path: 'create/:parentKey', + path: 'create/:parentId', component: () => this.#element, setup: async (component: HTMLElement, info: IRoutingInfo) => { - const parentKey = info.match.params.parentKey; - this.#workspaceContext.createScaffold(parentKey); + const parentId = info.match.params.parentId; + this.#workspaceContext.createScaffold(parentId); }, }, { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; render() { - return html` { - this.#routerPath = event.target.absoluteRouterPath; - }}>`; + return html``; } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.stories.ts index 3b560f8660..f97b00867b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/data-type-workspace.stories.ts @@ -3,6 +3,7 @@ import './data-type-workspace.element'; import { Meta, Story } from '@storybook/web-components'; import { html } from 'lit'; +import { ifDefined } from 'lit/directives/if-defined'; import { data } from '../../../../core/mocks/data/data-type.data'; import type { UmbDataTypeWorkspaceElement } from './data-type-workspace.element'; @@ -14,5 +15,5 @@ export default { } as Meta; export const AAAOverview: Story = () => - html` `; + html` `; AAAOverview.storyName = 'Overview'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts index 6e88882dd4..0bd1802687 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts @@ -42,8 +42,8 @@ export class UmbWorkspaceViewDataTypeInfoElement extends UmbLitElement { private _renderGeneralInfo() { return html` - -
${this._dataType?.key}
+ +
${this._dataType?.id}
${this._dataType?.propertyEditorAlias}
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts index baa33db9d4..61065379ef 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts @@ -83,7 +83,7 @@ export class UmbLanguageRootWorkspaceElement extends UmbLitElement { #createTableItems(languages: Array) { this._tableItems = languages.map((language) => { return { - key: language.isoCode ?? '', + id: language.isoCode ?? '', icon: 'umb:globe', data: [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.context.ts index af5b2d0fc8..5a7ce69293 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/language-workspace.context.ts @@ -45,7 +45,7 @@ export class UmbLanguageWorkspaceContext } // TODO: Convert to uniques: - getEntityKey() { + getEntityId() { return this.#data.getValue()?.isoCode; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-types-chart.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-types-chart.element.ts index e0b286c9a6..922c84f72b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-types-chart.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/logviewer/workspace/views/overview/components/log-viewer-log-types-chart.element.ts @@ -116,6 +116,7 @@ export class UmbLogViewerLogTypesChartElement extends UmbLitElement { }); } + // TODO: Stop using this complex code in render methods, instead changes to _logLevelCount should trigger a state prop containing the keys. And then try to make use of the repeat LIT method: render() { return html` diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.repository.ts index e098faaefd..86e30adfbf 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.repository.ts @@ -67,22 +67,22 @@ export class UmbRelationTypeRepository implements UmbTreeRepository) { + async requestTreeItems(ids: Array) { await this.#init; - if (!keys) { + if (!ids) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getItems(keys); + const { data, error } = await this.#treeSource.getItems(ids); - return { data, error, asObservable: () => this.#treeStore!.items(keys) }; + return { data, error, asObservable: () => this.#treeStore!.items(ids) }; } async rootTreeItems() { @@ -90,38 +90,38 @@ export class UmbRelationTypeRepository implements UmbTreeRepository) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } // DETAILS: - async createScaffold(parentKey: string | null) { + async createScaffold(parentId: string | null) { await this.#init; - if (!parentKey) { - throw new Error('Parent key is missing'); + if (!parentId) { + throw new Error('Parent id is missing'); } - return this.#detailDataSource.createScaffold(parentKey); + return this.#detailDataSource.createScaffold(parentId); } - async requestByKey(key: string) { + async requestById(id: string) { await this.#init; - // TODO: should we show a notification if the key is missing? + // TODO: should we show a notification if the id is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!key) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - const { data, error } = await this.#detailDataSource.get(key); + const { data, error } = await this.#detailDataSource.get(id); if (data) { this.#detailStore?.append(data); @@ -130,9 +130,9 @@ export class UmbRelationTypeRepository implements UmbTreeRepository([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); /** * Creates an instance of UmbRelationTypeStore. @@ -35,11 +35,11 @@ export class UmbRelationTypeStore extends UmbStoreBase { /** * Append a relation-type to the store - * @param {key} RelationTypeResponseModel key. + * @param {id} RelationTypeResponseModel id. * @memberof UmbRelationTypeStore */ - byKey(key: RelationTypeResponseModel['key']) { - return this.#data.getObservablePart((x) => x.find((y) => y.key === key)); + byKey(id: RelationTypeResponseModel['id']) { + return this.#data.getObservablePart((x) => x.find((y) => y.id === id)); } /** @@ -47,7 +47,7 @@ export class UmbRelationTypeStore extends UmbStoreBase { * @param {string[]} uniques * @memberof UmbRelationTypeStore */ - remove(uniques: Array) { + remove(uniques: Array) { this.#data.remove(uniques); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.server.data.ts index 7f30c96a2c..80ba73c8d4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.server.data.ts @@ -30,32 +30,32 @@ export class UmbRelationTypeServerDataSource } /** - * Fetches a Relation Type with the given key from the server - * @param {string} key + * Fetches a Relation Type with the given id from the server + * @param {string} id * @return {*} * @memberof UmbRelationTypeServerDataSource */ - async get(key: string) { - if (!key) { + async get(id: string) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } return tryExecuteAndNotify( this.#host, - RelationTypeResource.getRelationTypeByKey({ - key, + RelationTypeResource.getRelationTypeById({ + id, }) ); } /** * Creates a new Relation Type scaffold - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof UmbRelationTypeServerDataSource */ - async createScaffold(parentKey: string | null) { + async createScaffold(parentId: string | null) { const data: RelationTypeResponseModel = {}; return { data }; @@ -68,7 +68,7 @@ export class UmbRelationTypeServerDataSource * @memberof UmbRelationTypeServerDataSource */ async insert(relationType: CreateRelationTypeRequestModel) { - if (!relationType.key) throw new Error('RelationType key is missing'); + if (!relationType.id) throw new Error('RelationType id is missing'); return tryExecuteAndNotify( this.#host, @@ -84,13 +84,13 @@ export class UmbRelationTypeServerDataSource * @return {*} * @memberof UmbRelationTypeServerDataSource */ - async update(key: string, relationType: UpdateRelationTypeRequestModel) { - if (!key) throw new Error('RelationType key is missing'); + async update(id: string, relationType: UpdateRelationTypeRequestModel) { + if (!id) throw new Error('RelationType id is missing'); return tryExecuteAndNotify( this.#host, - RelationTypeResource.putRelationTypeByKey({ - key, + RelationTypeResource.putRelationTypeById({ + id, requestBody: relationType, }) ); @@ -98,20 +98,20 @@ export class UmbRelationTypeServerDataSource /** * Deletes a Relation Type on the server - * @param {string} key + * @param {string} id * @return {*} * @memberof UmbRelationTypeServerDataSource */ - async delete(key: string) { - if (!key) { - const error: ProblemDetailsModel = { title: 'RelationType key is missing' }; + async delete(id: string) { + if (!id) { + const error: ProblemDetailsModel = { title: 'RelationType id is missing' }; return { error }; } return tryExecuteAndNotify( this.#host, - RelationTypeResource.deleteRelationTypeByKey({ - key, + RelationTypeResource.deleteRelationTypeById({ + id, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.tree.server.data.ts index 75a1243816..bb9b460799 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/sources/relation-type.tree.server.data.ts @@ -14,9 +14,9 @@ export class RelationTypeTreeServerDataSource implements RelationTypeTreeDataSou #host: UmbControllerHostElement; // TODO: how do we handle trashed items? - async trashItems(keys: Array) { - if (!keys) { - const error: ProblemDetailsModel = { title: 'RelationType keys is missing' }; + async trashItems(ids: Array) { + if (!ids) { + const error: ProblemDetailsModel = { title: 'RelationType ids is missing' }; return { error }; } @@ -25,20 +25,20 @@ export class RelationTypeTreeServerDataSource implements RelationTypeTreeDataSou return tryExecuteAndNotify( this.#host, RelationTypeResource.deleteRelationTypeByKey({ - key: keys, + id: ids, }) ); */ return Promise.resolve({ error: null, data: null }); } - async moveItems(keys: Array, destination: string) { + async moveItems(ids: Array, destination: string) { // TODO: use backend cli when available. return tryExecuteAndNotify( this.#host, fetch('/umbraco/management/api/v1/relation-type/move', { method: 'POST', - body: JSON.stringify({ keys, destination }), + body: JSON.stringify({ ids, destination }), headers: { 'Content-Type': 'application/json', }, @@ -66,20 +66,20 @@ export class RelationTypeTreeServerDataSource implements RelationTypeTreeDataSou /** * Fetches the items for the given keys from the server - * @param {Array} keys + * @param {Array} ids * @return {*} * @memberof RelationTypeTreeServerDataSource */ - async getItems(keys: Array) { - if (keys) { - const error: ProblemDetailsModel = { title: 'Keys are missing' }; + async getItems(ids: Array) { + if (ids) { + const error: ProblemDetailsModel = { title: 'Ids are missing' }; return { error }; } return tryExecuteAndNotify( this.#host, RelationTypeResource.getTreeRelationTypeItem({ - key: keys, + id: ids, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.context.ts index dc75e3a0ef..9553b261eb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.context.ts @@ -13,14 +13,14 @@ export class UmbRelationTypeWorkspaceContext #data = new ObjectState(undefined); data = this.#data.asObservable(); name = this.#data.getObservablePart((data) => data?.name); - key = this.#data.getObservablePart((data) => data?.key); + id = this.#data.getObservablePart((data) => data?.id); constructor(host: UmbControllerHostElement) { super(host, new UmbRelationTypeRepository(host)); } - async load(key: string) { - const { data } = await this.repository.requestByKey(key); + async load(id: string) { + const { data } = await this.repository.requestById(id); if (data) { this.setIsNew(false); @@ -28,8 +28,8 @@ export class UmbRelationTypeWorkspaceContext } } - async createScaffold(parentKey: string | null) { - const { data } = await this.repository.createScaffold(parentKey); + async createScaffold(parentId: string | null) { + const { data } = await this.repository.createScaffold(parentId); if (!data) return; this.setIsNew(true); this.#data.next(data); @@ -39,8 +39,8 @@ export class UmbRelationTypeWorkspaceContext return this.#data.getValue(); } - getEntityKey() { - return this.getData()?.key || ''; + getEntityId() { + return this.getData()?.id || ''; } getEntityType() { @@ -63,14 +63,12 @@ export class UmbRelationTypeWorkspaceContext this.setIsNew(false); } - update(key: K, value: RelationTypeBaseModel[K]) { - console.log('update', key, value); - - this.#data.next({ ...this.#data.value, [key]: value }); + update(id: K, value: RelationTypeBaseModel[K]) { + this.#data.next({ ...this.#data.value, [id]: value }); } - async delete(key: string) { - await this.repository.delete(key); + async delete(id: string) { + await this.repository.delete(id); } public destroy(): void { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.element.ts index 3e36f0dc74..3827c75a7e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.element.ts @@ -25,19 +25,19 @@ export class UmbRelationTypeWorkspaceElement extends UmbLitElement { @state() _routes: IRoute[] = [ { - path: 'create/:parentKey', + path: 'create/:parentId', component: () => this.#element, setup: async (component: HTMLElement, info: IRoutingInfo) => { - const parentKey = info.match.params.parentKey; - this.#workspaceContext.createScaffold(parentKey); + const parentId = info.match.params.parentId; + this.#workspaceContext.createScaffold(parentId); }, }, { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.stories.ts index 0a95080b53..edeb4ef6db 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/relation-type-workspace.stories.ts @@ -3,6 +3,7 @@ import './relation-type-workspace.element'; import { Meta, Story } from '@storybook/web-components'; import { html } from 'lit'; +import { ifDefined } from 'lit/directives/if-defined'; import { data } from '../../../../core/mocks/data/relation-type.data'; import type { UmbRelationTypeWorkspaceElement } from './relation-type-workspace.element'; @@ -14,5 +15,5 @@ export default { } as Meta; export const AAAOverview: Story = () => - html` `; + html` `; AAAOverview.storyName = 'Overview'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts index cb700784c9..934f15d8f2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts @@ -10,16 +10,6 @@ import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-ap @customElement('umb-relation-type-workspace-view-relation-type') export class UmbRelationTypeWorkspaceViewRelationTypeElement extends UmbLitElement { - static styles = [ - UUITextStyles, - css` - :host { - display: block; - margin: var(--uui-size-layout-1); - } - `, - ]; - @state() private _relationType?: RelationTypeResponseModel; @@ -39,10 +29,7 @@ export class UmbRelationTypeWorkspaceViewRelationTypeElement extends UmbLitEleme return; } - console.log('this._workspaceContext.data', this.#workspaceContext); - this.observe(this.#workspaceContext.data, (relationType) => { - console.log('relationType', relationType); if (!relationType) return; this._relationType = relationType; @@ -86,16 +73,26 @@ export class UmbRelationTypeWorkspaceViewRelationTypeElement extends UmbLitEleme } #renderParentProperty() { - if (this._relationType?.key) return html`
${this._relationType.parentObjectTypeName}
`; + if (this._relationType?.id) return html`
${this._relationType.parentObjectTypeName}
`; return html``; } #renderChildProperty() { - if (this._relationType?.key) return html`
${this._relationType.parentObjectTypeName}
`; + if (this._relationType?.id) return html`
${this._relationType.parentObjectTypeName}
`; return html``; } + + static styles = [ + UUITextStyles, + css` + :host { + display: block; + margin: var(--uui-size-layout-1); + } + `, + ]; } export default UmbRelationTypeWorkspaceViewRelationTypeElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/code-editor/code-editor.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/code-editor/code-editor.stories.ts index 4892950f62..7c334e6c6c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/code-editor/code-editor.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/code-editor/code-editor.stories.ts @@ -145,8 +145,8 @@ const codeSnippets: Record = { } } - async createScaffold(parentKey: string | null) { - const { data } = await this.repository.createScaffold(parentKey); + async createScaffold(parentId: string | null) { + const { data } = await this.repository.createScaffold(parentId); if (!data) return; this.setIsNew(true); this.#data.next(data); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts index e75fe7d3dc..d690fb3091 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts @@ -45,6 +45,7 @@ export class UmbExtensionSlotElement extends UmbLitElement { } set props(newVal) { this._props = newVal; + // TODO: we could optimize this so we only re-set the updated props. this.#assignPropsToAllComponents(); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.element.ts index 5285262242..e70a5fc6b4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.element.ts @@ -20,6 +20,7 @@ export class UmbInputCheckboxListElement extends FormControlMixin(UmbLitElement) /** * List of items. */ + // TODO: Could this use a type that we export to ensure TS failure, or hook this up with a type coming from backend? @property() public list: Array<{ key: string; checked: boolean; value: string }> = []; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.stories.ts index d3ed1de046..cee98bed08 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-checkbox-list/input-checkbox-list.stories.ts @@ -3,26 +3,26 @@ import './input-checkbox-list.element'; import type { UmbInputCheckboxListElement } from './input-checkbox-list.element'; const meta: Meta = { - title: 'Components/Inputs/Checkbox List', - component: 'umb-input-checkbox-list' + title: 'Components/Inputs/Checkbox List', + component: 'umb-input-checkbox-list', }; - + export default meta; type Story = StoryObj; - + export const Overview: Story = { - args: { - list: [ - { - key: "isAwesome", - value: "Umbraco is awesome?", - checked: true - }, - { - key: "attendingCodeGarden", - value: "Attending CodeGarden?", - checked: false - }, - ] - } -}; \ No newline at end of file + args: { + list: [ + { + key: 'isAwesome', + value: 'Umbraco is awesome?', + checked: true, + }, + { + key: 'attendingCodeGarden', + value: 'Attending CodeGarden?', + checked: false, + }, + ], + }, +}; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.element.ts index cf5bd39230..60477769a6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-picker/input-document-picker.element.ts @@ -62,20 +62,20 @@ export class UmbInputDocumentPickerElement extends FormControlMixin(UmbLitElemen maxMessage = 'This field exceeds the allowed amount of items'; // TODO: do we need both selectedKeys and value? If we just use value we follow the same pattern as native form controls. - private _selectedKeys: Array = []; + private _selectedIds: Array = []; public get selectedKeys(): Array { - return this._selectedKeys; + return this._selectedIds; } - public set selectedKeys(keys: Array) { - this._selectedKeys = keys; - super.value = keys.join(','); + public set selectedKeys(ids: Array) { + this._selectedIds = ids; + super.value = ids.join(','); this._observePickedDocuments(); } @property() - public set value(keysString: string) { - if (keysString !== this._value) { - this.selectedKeys = keysString.split(/[ ,]+/); + public set value(idsString: string) { + if (idsString !== this._value) { + this.selectedKeys = idsString.split(/[ ,]+/); } } @@ -92,12 +92,12 @@ export class UmbInputDocumentPickerElement extends FormControlMixin(UmbLitElemen this.addValidator( 'rangeUnderflow', () => this.minMessage, - () => !!this.min && this._selectedKeys.length < this.min + () => !!this.min && this._selectedIds.length < this.min ); this.addValidator( 'rangeOverflow', () => this.maxMessage, - () => !!this.max && this._selectedKeys.length > this.max + () => !!this.max && this._selectedIds.length > this.max ); this.consumeContext(UMB_DOCUMENT_TREE_STORE_CONTEXT_TOKEN, (instance) => { @@ -119,16 +119,16 @@ export class UmbInputDocumentPickerElement extends FormControlMixin(UmbLitElemen if (!this._documentStore) return; // TODO: consider changing this to the list data endpoint when it is available - this._pickedItemsObserver = this.observe(this._documentStore.items(this._selectedKeys), (items) => { + this._pickedItemsObserver = this.observe(this._documentStore.items(this._selectedIds), (items) => { this._items = items; }); } private _openPicker() { - // We send a shallow copy(good enough as its just an array of keys) of our this._selectedKeys, as we don't want the modal to manipulate our data: + // We send a shallow copy(good enough as its just an array of keys) of our this._selectedIds, as we don't want the modal to manipulate our data: const modalHandler = this._modalContext?.open(UMB_DOCUMENT_PICKER_MODAL, { multiple: this.max === 1 ? false : true, - selection: [...this._selectedKeys], + selection: [...this._selectedIds], }); modalHandler?.onSubmit().then(({ selection }: any) => { @@ -145,7 +145,7 @@ export class UmbInputDocumentPickerElement extends FormControlMixin(UmbLitElemen }); await modalHandler?.onSubmit(); - const newSelection = this._selectedKeys.filter((value) => value !== item.key); + const newSelection = this._selectedIds.filter((value) => value !== item.id); this._setSelection(newSelection); } @@ -166,7 +166,7 @@ export class UmbInputDocumentPickerElement extends FormControlMixin(UmbLitElemen const tempItem = item as EntityTreeItemResponseModel & { isTrashed: boolean }; return html` - + ${tempItem.isTrashed ? html` Trashed ` : nothing} this._removeItem(item)} label="Remove document ${item.name}">Remove diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-type-picker/input-document-type-picker.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-type-picker/input-document-type-picker.element.ts index 1ab2fc05c7..ef1b4b96d6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-type-picker/input-document-type-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-document-type-picker/input-document-type-picker.element.ts @@ -29,20 +29,20 @@ export class UmbInputDocumentTypePickerElement extends FormControlMixin(UmbLitEl ]; // TODO: do we need both selectedKeys and value? If we just use value we follow the same pattern as native form controls. - private _selectedKeys: Array = []; + private _selectedIds: Array = []; public get selectedKeys(): Array { - return this._selectedKeys; + return this._selectedIds; } - public set selectedKeys(keys: Array) { - this._selectedKeys = keys; - super.value = keys.join(','); + public set selectedKeys(ids: Array) { + this._selectedIds = ids; + super.value = ids.join(','); this._observePickedDocuments(); } @property() - public set value(keysString: string) { - if (keysString !== this._value) { - this.selectedKeys = keysString.split(/[ ,]+/); + public set value(idsString: string) { + if (idsString !== this._value) { + this.selectedKeys = idsString.split(/[ ,]+/); } } @@ -74,7 +74,7 @@ export class UmbInputDocumentTypePickerElement extends FormControlMixin(UmbLitEl if (!this._documentTypeStore) return; // TODO: consider changing this to the list data endpoint when it is available - this._pickedItemsObserver = this.observe(this._documentTypeStore.items(this._selectedKeys), (items) => { + this._pickedItemsObserver = this.observe(this._documentTypeStore.items(this._selectedIds), (items) => { this._items = items; }); } @@ -83,7 +83,7 @@ export class UmbInputDocumentTypePickerElement extends FormControlMixin(UmbLitEl // We send a shallow copy(good enough as its just an array of keys) of our this._selectedKeys, as we don't want the modal to manipulate our data: const modalHandler = this._modalContext?.open(UMB_DOCUMENT_TYPE_PICKER_MODAL, { multiple: true, - selection: [...this._selectedKeys], + selection: [...this._selectedIds], }); modalHandler?.onSubmit().then(({ selection }: any) => { @@ -100,7 +100,7 @@ export class UmbInputDocumentTypePickerElement extends FormControlMixin(UmbLitEl }); await modalHandler?.onSubmit(); - const newSelection = this._selectedKeys.filter((value) => value !== item.key); + const newSelection = this._selectedIds.filter((value) => value !== item.id); this._setSelection(newSelection); } @@ -121,7 +121,7 @@ export class UmbInputDocumentTypePickerElement extends FormControlMixin(UmbLitEl const tempItem = item as DocumentTypeResponseModel & { isTrashed: boolean }; return html` - + ${tempItem.isTrashed ? html` Trashed ` : nothing} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.element.ts index d14afe852b..1a0960c72b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-media-picker/input-media-picker.element.ts @@ -73,20 +73,20 @@ export class UmbInputMediaPickerElement extends FormControlMixin(UmbLitElement) maxMessage = 'This field exceeds the allowed amount of items'; // TODO: do we need both selectedKeys and value? If we just use value we follow the same pattern as native form controls. - private _selectedKeys: Array = []; + private _selectedIds: Array = []; public get selectedKeys(): Array { - return this._selectedKeys; + return this._selectedIds; } - public set selectedKeys(keys: Array) { - this._selectedKeys = keys; - super.value = keys.join(','); + public set selectedKeys(ids: Array) { + this._selectedIds = ids; + super.value = ids.join(','); this._observePickedMedias(); } @property() - public set value(keysString: string) { - if (keysString !== this._value) { - this.selectedKeys = keysString.split(/[ ,]+/); + public set value(idsString: string) { + if (idsString !== this._value) { + this.selectedKeys = idsString.split(/[ ,]+/); } } @@ -103,12 +103,12 @@ export class UmbInputMediaPickerElement extends FormControlMixin(UmbLitElement) this.addValidator( 'rangeUnderflow', () => this.minMessage, - () => !!this.min && this._selectedKeys.length < this.min + () => !!this.min && this._selectedIds.length < this.min ); this.addValidator( 'rangeOverflow', () => this.maxMessage, - () => !!this.max && this._selectedKeys.length > this.max + () => !!this.max && this._selectedIds.length > this.max ); this.consumeContext(UMB_MODAL_CONTEXT_TOKEN, (instance) => { @@ -129,7 +129,7 @@ export class UmbInputMediaPickerElement extends FormControlMixin(UmbLitElement) this._pickedItemsObserver?.destroy(); // TODO: consider changing this to the list data endpoint when it is available - const { asObservable } = await this._repository.requestTreeItems(this._selectedKeys); + const { asObservable } = await this._repository.requestTreeItems(this._selectedIds); if (!asObservable) return; @@ -142,7 +142,7 @@ export class UmbInputMediaPickerElement extends FormControlMixin(UmbLitElement) // We send a shallow copy(good enough as its just an array of keys) of our this._selectedKeys, as we don't want the modal to manipulate our data: const modalHandler = this._modalContext?.open(UMB_MEDIA_PICKER_MODAL, { multiple: this.max === 1 ? false : true, - selection: [...this._selectedKeys], + selection: [...this._selectedIds], }); modalHandler?.onSubmit().then(({ selection }: any) => { @@ -159,7 +159,7 @@ export class UmbInputMediaPickerElement extends FormControlMixin(UmbLitElement) }); modalHandler?.onSubmit().then(() => { - const newSelection = this._selectedKeys.filter((value) => value !== item.key); + const newSelection = this._selectedIds.filter((value) => value !== item.id); this._setSelection(newSelection); }); } @@ -187,7 +187,7 @@ export class UmbInputMediaPickerElement extends FormControlMixin(UmbLitElement) return html` ${tempItem.isTrashed ? html` Trashed ` : nothing} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-template-picker/input-template-picker.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-template-picker/input-template-picker.element.ts index 3c7320e1a6..aa47ff72d6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-template-picker/input-template-picker.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-template-picker/input-template-picker.element.ts @@ -119,7 +119,7 @@ export class UmbInputTemplatePickerElement extends FormControlMixin(UmbLitElemen }); } - #removeTemplate(key: string) { + #removeTemplate(id: string) { /* TODO: We need to follow up on this experience. Could we test if this document type is in use, if so we should have a dialog notifying the user(Dialog, are you sure...) about that we might will break something? @@ -129,14 +129,14 @@ export class UmbInputTemplatePickerElement extends FormControlMixin(UmbLitElemen In current backoffice we just prevent deleting a default when there are other templates. But if its the only one its okay. This is a weird experience, so we should make something that makes more sense. BTW. its weird cause the damage of removing the default template is equally bad when there is one or more templates. */ - this.allowedKeys = this.allowedKeys.filter((x) => x !== key); + this.allowedKeys = this.allowedKeys.filter((x) => x !== id); } #openTemplate(e: CustomEvent) { - const key = (e.target as UmbTemplateCardElement).value; + const id = (e.target as UmbTemplateCardElement).value; this._modalContext?.open(UMB_TEMPLATE_MODAL, { - key: key as string, + id: id as string, language: 'razor', }); } @@ -148,14 +148,14 @@ export class UmbInputTemplatePickerElement extends FormControlMixin(UmbLitElemen + ?default="${template.id === this.defaultKey}"> diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.element.ts index ad3a644846..c7ecf36862 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user-group/input-user-group.element.ts @@ -80,7 +80,7 @@ export class UmbInputPickerUserGroupElement extends UmbInputListBaseElement { ${userGroup.name}
this.removeFromSelection(userGroup.key)} + @click=${() => this.removeFromSelection(userGroup.id)} label="remove" color="danger"> diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts index 636696bfed..762edbc5cf 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts @@ -76,7 +76,7 @@ export class UmbPickerUserElement extends UmbInputListBaseElement {
${user.name}
- this.removeFromSelection(user.key)} label="remove" color="danger"> + this.removeFromSelection(user.id)} label="remove" color="danger">
` )} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/property-type-based-property/property-type-based-property.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/property-type-based-property/property-type-based-property.element.ts index 64c634c4ac..588e861041 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/property-type-based-property/property-type-based-property.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/property-type-based-property/property-type-based-property.element.ts @@ -33,8 +33,8 @@ export class UmbPropertyTypeBasedPropertyElement extends UmbLitElement { public set property(value: PropertyTypeResponseModelBaseModel | undefined) { const oldProperty = this._property; this._property = value; - if (this._property?.dataTypeKey !== oldProperty?.dataTypeKey) { - this._observeDataType(this._property?.dataTypeKey); + if (this._property?.dataTypeId !== oldProperty?.dataTypeId) { + this._observeDataType(this._property?.dataTypeId); this._observeProperty(); } } @@ -95,13 +95,13 @@ export class UmbPropertyTypeBasedPropertyElement extends UmbLitElement { ); } - private async _observeDataType(dataTypeKey?: string) { + private async _observeDataType(dataTypeId?: string) { this._dataTypeObserver?.destroy(); - if (dataTypeKey) { + if (dataTypeId) { // Its not technically needed to have await here, this is only to ensure that the data is loaded before we observe it, and thereby only updating the DOM with the latest data. - await this._dataTypeRepository.requestByKey(dataTypeKey); + await this._dataTypeRepository.requestById(dataTypeId); this._dataTypeObserver = this.observe( - await this._dataTypeRepository.byKey(dataTypeKey), + await this._dataTypeRepository.byId(dataTypeId), (dataType) => { this._dataTypeData = dataType?.values || []; this._propertyEditorUiAlias = dataType?.propertyEditorUiAlias || undefined; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/table/table.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/table/table.element.ts index 192818c781..0ab0b54030 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/table/table.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/table/table.element.ts @@ -1,5 +1,5 @@ import { UUITextStyles } from '@umbraco-ui/uui-css'; -import { css, html, LitElement, nothing } from 'lit'; +import { css, html, LitElement } from 'lit'; import { ifDefined } from 'lit/directives/if-defined.js'; import { when } from 'lit/directives/when.js'; import { customElement, property, state } from 'lit/decorators.js'; @@ -7,7 +7,7 @@ import { repeat } from 'lit/directives/repeat.js'; // TODO: move to UI Library - entity actions should NOT be moved to UI Library but stay in an UmbTable element export interface UmbTableItem { - key: string; + id: string; icon?: string; entityType?: string; data: Array; @@ -171,7 +171,7 @@ export class UmbTableElement extends LitElement { private _handleRowCheckboxChange(event: Event, item: UmbTableItem) { const checkboxElement = event.target as HTMLInputElement; - checkboxElement.checked ? this._selectRow(item.key) : this._deselectRow(item.key); + checkboxElement.checked ? this._selectRow(item.id) : this._deselectRow(item.id); } private _handleAllRowsCheckboxChange(event: Event) { @@ -198,7 +198,7 @@ export class UmbTableElement extends LitElement { } private _selectAllRows() { - this.selection = this.items.map((item: UmbTableItem) => item.key); + this.selection = this.items.map((item: UmbTableItem) => item.id); this._selectionMode = true; this.dispatchEvent(new UmbTableSelectedEvent()); } @@ -215,7 +215,7 @@ export class UmbTableElement extends LitElement { ${this._renderHeaderCheckboxCell()} ${this.columns.map((column) => this._renderHeaderCell(column))} - ${repeat(this.items, (item) => item.key, this._renderRow)} + ${repeat(this.items, (item) => item.id, this._renderRow)}
`; } @@ -259,9 +259,9 @@ export class UmbTableElement extends LitElement { return html` this._selectRow(item.key)} - @unselected=${() => this._deselectRow(item.key)}> + ?selected=${this._isSelected(item.id)} + @selected=${() => this._selectRow(item.id)} + @unselected=${() => this._deselectRow(item.id)}> ${this._renderRowCheckboxCell(item)} ${this.columns.map((column) => this._renderRowCell(column, item))} `; }; @@ -277,7 +277,7 @@ export class UmbTableElement extends LitElement { label="Select Row" @click=${(e: PointerEvent) => e.stopPropagation()} @change=${(event: Event) => this._handleRowCheckboxChange(event, item)} - ?checked="${this._isSelected(item.key)}"> + ?checked="${this._isSelected(item.id)}"> ` )} `; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/table/table.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/table/table.stories.ts index d7ac93c25a..f4da64de01 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/table/table.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/table/table.stories.ts @@ -1,13 +1,13 @@ import { Meta, StoryObj } from '@storybook/web-components'; import './table.element'; import { v4 as uuidv4 } from 'uuid'; -import type { UmbTableElement, UmbTableColumn, UmbTableConfig, UmbTableItem } from './table.element' +import type { UmbTableElement, UmbTableColumn, UmbTableConfig, UmbTableItem } from './table.element'; const meta: Meta = { - title: 'Components/Table', - component: 'umb-table', + title: 'Components/Table', + component: 'umb-table', }; - + export default meta; type Story = StoryObj; @@ -26,7 +26,7 @@ const columns: Array = [ const items: Array = [ { - key: uuidv4(), + id: uuidv4(), icon: 'umb:wand', data: [ { @@ -40,7 +40,7 @@ const items: Array = [ ], }, { - key: uuidv4(), + id: uuidv4(), icon: 'umb:document', data: [ { @@ -54,7 +54,7 @@ const items: Array = [ ], }, { - key: uuidv4(), + id: uuidv4(), icon: 'umb:user', data: [ { @@ -70,35 +70,34 @@ const items: Array = [ ]; export const Overview: Story = { - args: { + args: { items: items, columns: columns, config: { allowSelection: true, hideIcon: false, - } - } + }, + }, }; - export const WithDisallowedSelections: Story = { - args: { + args: { items: items, columns: columns, config: { allowSelection: false, hideIcon: false, - } - } + }, + }, }; export const WithHiddenIcons: Story = { - args: { + args: { items: items, columns: columns, config: { allowSelection: true, hideIcon: true, - } - } -}; \ No newline at end of file + }, + }, +}; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/template-card/template-card.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/template-card/template-card.element.ts index 50f8cc5484..ec7cbf1f29 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/template-card/template-card.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/template-card/template-card.element.ts @@ -15,6 +15,51 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-template-card') export class UmbTemplateCardElement extends FormControlMixin(UmbLitElement) { + @property({ type: String }) + name = ''; + + @property({ type: Boolean, reflect: true }) + default = false; + + _id = ''; + @property({ type: String }) + public set id(newId: string) { + this._id = newId; + super.value = newId; + } + public get id() { + return this._id; + } + + protected getFormElement() { + return undefined; + } + + #setSelection(e: KeyboardEvent) { + e.preventDefault(); + e.stopPropagation(); + //this.selected = true; + this.dispatchEvent(new CustomEvent('change-default', { bubbles: true, composed: true })); + } + #openTemplate(e: KeyboardEvent) { + e.preventDefault(); + e.stopPropagation(); + this.dispatchEvent(new CustomEvent('open', { bubbles: true, composed: true })); + } + + render() { + return html`
+ + + ${this.default ? '(Default template)' : 'Set default'} + + +
`; + } + static styles = [ UUITextStyles, css` @@ -114,51 +159,6 @@ export class UmbTemplateCardElement extends FormControlMixin(UmbLitElement) { } `, ]; - - @property({ type: String }) - name = ''; - - @property({ type: Boolean, reflect: true }) - default = false; - - _key = ''; - @property({ type: String }) - public set key(newKey: string) { - this._key = newKey; - super.value = newKey; - } - public get key() { - return this._key; - } - - protected getFormElement() { - return undefined; - } - - #setSelection(e: KeyboardEvent) { - e.preventDefault(); - e.stopPropagation(); - //this.selected = true; - this.dispatchEvent(new CustomEvent('change-default', { bubbles: true, composed: true })); - } - #openTemplate(e: KeyboardEvent) { - e.preventDefault(); - e.stopPropagation(); - this.dispatchEvent(new CustomEvent('open', { bubbles: true, composed: true })); - } - - render() { - return html`
- - - ${this.default ? '(Default template)' : 'Set default'} - - -
`; - } } export default UmbTemplateCardElement; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/entity-tree-item/entity-tree-item.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/entity-tree-item/entity-tree-item.context.ts index 6472a47207..62db8e957c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/entity-tree-item/entity-tree-item.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/entity-tree-item/entity-tree-item.context.ts @@ -5,6 +5,6 @@ import { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api // TODO get unique method from an entity repository static method export class UmbEntityTreeItemContext extends UmbTreeItemContextBase { constructor(host: UmbControllerHostElement) { - super(host, (x: EntityTreeItemResponseModel) => x.key); + super(host, (x: EntityTreeItemResponseModel) => x.id); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.context.ts index 8f22454e4e..29608b4f11 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/tree/tree.context.ts @@ -93,9 +93,9 @@ export class UmbTreeContextBase implements UmbTreeContext { return this.repository!.requestRootTreeItems(); } - public async requestChildrenOf(parentKey: string | null) { + public async requestChildrenOf(parentId: string | null) { await this.#init; - return this.repository!.requestTreeItemsOf(parentKey); + return this.repository!.requestTreeItemsOf(parentId); } public async rootItems() { @@ -103,8 +103,8 @@ export class UmbTreeContextBase implements UmbTreeContext { return this.repository!.rootTreeItems(); } - public async childrenOf(parentKey: string | null) { + public async childrenOf(parentId: string | null) { await this.#init; - return this.repository!.treeItemsOf(parentKey); + return this.repository!.treeItemsOf(parentId); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-action-menu/workspace-action-menu.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-action-menu/workspace-action-menu.element.ts index 3f6df583d9..1c02dd2a20 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-action-menu/workspace-action-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-action-menu/workspace-action-menu.element.ts @@ -53,7 +53,7 @@ export class UmbWorkspaceActionMenuElement extends UmbLitElement { private _observeInfo() { if (!this._workspaceContext) return; - this._entityKey = this._workspaceContext.getEntityKey(); + this._entityKey = this._workspaceContext.getEntityId(); this._entityType = this._workspaceContext.getEntityType(); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/views/collection/workspace-view-collection.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/views/collection/workspace-view-collection.element.ts index e7ff049ce0..7a491c0aee 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/views/collection/workspace-view-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/views/collection/workspace-view-collection.element.ts @@ -42,7 +42,7 @@ export class UmbWorkspaceViewCollectionElement extends UmbLitElement { } protected _provideWorkspace() { - const entityKey = this._workspaceContext?.getEntityKey(); + const entityKey = this._workspaceContext?.getEntityId(); const entityType = this._workspaceContext?.getEntityType(); if (entityKey != null && entityType != null) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/entity-manager-controller.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/entity-manager-controller.ts index c1ee25b071..a4b3b363a1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/entity-manager-controller.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/entity-manager-controller.ts @@ -10,7 +10,7 @@ import { ObjectState, UmbObserverController } from '@umbraco-cms/backoffice/obse import type { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; import { UmbEntityDetailStore } from '@umbraco-cms/backoffice/store'; -// Extend entityType base type?, so we are sure to have parentKey? +// Extend entityType base type?, so we are sure to have parentId? // TODO: switch to use EntityDetailItem ? if we can have such type? export class UmbEntityWorkspaceManager< StoreType extends UmbEntityDetailStore, @@ -88,10 +88,10 @@ export class UmbEntityWorkspaceManager< this._observeStore(); }; - create = (parentKey: string | null) => { + create = (parentId: string | null) => { this.#isNew = true; this._entityKey = uuidv4(); - this._createAtParentKey = parentKey; + this._createAtParentKey = parentId; }; save = (): Promise => { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-container-structure-helper.class.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-container-structure-helper.class.ts index c7b52f83f7..25b756dfbf 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-container-structure-helper.class.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-container-structure-helper.class.ts @@ -20,7 +20,7 @@ export class UmbWorkspaceContainerStructureHelper { private _ownerContainers: PropertyTypeContainerResponseModelBaseModel[] = []; // State containing the merged containers (only one pr. name): - #containers = new ArrayState([], (x) => x.key); + #containers = new ArrayState([], (x) => x.id); readonly containers = this.#containers.asObservable(); #hasProperties = new BooleanState(false); @@ -104,11 +104,11 @@ export class UmbWorkspaceContainerStructureHelper { this._ownerContainers.forEach((container) => { new UmbObserverController( this.#host, - this.#workspaceContext!.structure.hasPropertyStructuresOf(container.key!), + this.#workspaceContext!.structure.hasPropertyStructuresOf(container.id!), (hasProperties) => { this.#hasProperties.next(hasProperties); }, - '_observeOwnerHasProperties_' + container.key + '_observeOwnerHasProperties_' + container.id ); }); } @@ -119,9 +119,9 @@ export class UmbWorkspaceContainerStructureHelper { this._ownerContainers.forEach((container) => { new UmbObserverController( this.#host, - this.#workspaceContext!.structure.containersOfParentKey(container.key, this._childType!), + this.#workspaceContext!.structure.containersOfParentKey(container.id, this._childType!), this._insertGroupContainers, - '_observeGroupsOf_' + container.key + '_observeGroupsOf_' + container.id ); }); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-context.ts index a2c6c169e6..9d6b905264 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-context.ts @@ -32,7 +32,7 @@ export abstract class UmbWorkspaceContext this.#isNew.next(isNew); } - abstract getEntityKey(): string | undefined; // COnsider if this should go away now that we have getUnique() + abstract getEntityId(): string | undefined; // COnsider if this should go away now that we have getUnique() abstract getEntityType(): string; // TODO: consider of this should be on the repository because a repo is responsible for one entity type abstract getData(): EntityType | undefined; abstract save(): Promise; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-structure-helper.class.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-structure-helper.class.ts index 651e18e549..6941cd3daa 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-structure-helper.class.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-structure-helper.class.ts @@ -14,7 +14,7 @@ export class UmbWorkspacePropertyStructureHelper { private _isRoot?: boolean; private _containerName?: string; - #propertyStructure = new ArrayState([], (x) => x.key); + #propertyStructure = new ArrayState([], (x) => x.id); readonly propertyStructure = this.#propertyStructure.asObservable(); constructor(host: UmbControllerHostElement) { @@ -62,22 +62,22 @@ export class UmbWorkspacePropertyStructureHelper { this.#host, this.#workspaceContext!.structure.containersByNameAndType(this._containerName, this._containerType), (groupContainers) => { - groupContainers.forEach((group) => this._observePropertyStructureOf(group.key)); + groupContainers.forEach((group) => this._observePropertyStructureOf(group.id)); }, '_observeGroupContainers' ); } } - private _observePropertyStructureOf(groupKey?: string | null) { - if (!this.#workspaceContext || groupKey === undefined) return; + private _observePropertyStructureOf(groupId?: string | null) { + if (!this.#workspaceContext || groupId === undefined) return; new UmbObserverController( this.#host, - this.#workspaceContext.structure.propertyStructuresOf(groupKey), + this.#workspaceContext.structure.propertyStructuresOf(groupId), (properties) => { - // If this need to be able to remove properties, we need to clean out the ones of this group.key before inserting them: - const _propertyStructure = this.#propertyStructure.getValue().filter((x) => x.containerKey !== groupKey); + // If this need to be able to remove properties, we need to clean out the ones of this group.id before inserting them: + const _propertyStructure = this.#propertyStructure.getValue().filter((x) => x.containerId !== groupId); properties?.forEach((property) => { if (!_propertyStructure.find((x) => x.alias === property.alias)) { @@ -93,7 +93,7 @@ export class UmbWorkspacePropertyStructureHelper { // Fire update to subscribers: this.#propertyStructure.next(_propertyStructure); }, - '_observePropertyStructureOfGroup' + groupKey + '_observePropertyStructureOfGroup' + groupId ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-structure-manager.class.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-structure-manager.class.ts index 9b7cb37126..8a7b24dc23 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-structure-manager.class.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-structure-manager.class.ts @@ -29,13 +29,13 @@ export class UmbWorkspacePropertyStructureManager(); - #documentTypes = new ArrayState([], (x) => x.key); + #documentTypes = new ArrayState([], (x) => x.id); readonly documentTypes = this.#documentTypes.asObservable(); private readonly _documentTypeContainers = this.#documentTypes.getObservablePart((x) => x.flatMap((x) => x.containers ?? []) ); - #containers = new ArrayState([], (x) => x.key); + #containers = new ArrayState([], (x) => x.id); constructor(host: UmbControllerHostElement, typeRepository: R) { this.#host = host; @@ -59,42 +59,42 @@ export class UmbWorkspacePropertyStructureManager x.key === key)) return; - await this._loadType(key); + private async _ensureType(id?: string) { + if (!id) return; + if (this.#documentTypes.getValue().find((x) => x.id === id)) return; + await this._loadType(id); } - private async _loadType(key?: string) { - if (!key) return {}; + private async _loadType(id?: string) { + if (!id) return {}; - const { data } = await this.#documentTypeRepository.requestByKey(key); + const { data } = await this.#documentTypeRepository.requestById(id); if (!data) return {}; await this._observeDocumentType(data); @@ -104,13 +104,13 @@ export class UmbWorkspacePropertyStructureManager { + new UmbObserverController(this.#host, await this.#documentTypeRepository.byId(data.id), (docType) => { if (docType) { // TODO: Handle if there was changes made to the specific document type in this context. /* @@ -124,14 +124,14 @@ export class UmbWorkspacePropertyStructureManager { - this._ensureType(composition.key); + this._ensureType(composition.id); }); } /* private async _initDocumentTypeContainers(documentType: T) { documentType.containers?.forEach((container) => { - this.#containers.appendOne({ ...container, _ownerDocumentTypeKey: documentType.key }); + this.#containers.appendOne({ ...container, _ownerDocumentTypeKey: documentType.id }); }); } */ @@ -139,10 +139,10 @@ export class UmbWorkspacePropertyStructureManager x.find((y) => y.key === this.#rootDocumentTypeKey)); + return this.#documentTypes.getObservablePart((x) => x.find((y) => y.id === this.#rootDocumentTypeKey)); } getRootDocumentType() { - return this.#documentTypes.getValue().find((y) => y.key === this.#rootDocumentTypeKey); + return this.#documentTypes.getValue().find((y) => y.id === this.#rootDocumentTypeKey); } updateRootDocumentType(entry: T) { this.#documentTypes.updateOne(this.#rootDocumentTypeKey, entry); @@ -152,7 +152,7 @@ export class UmbWorkspacePropertyStructureManager x.key === documentTypeKey)?.containers ?? [])]; + const containers = [...(this.#documentTypes.getValue().find((x) => x.id === documentTypeKey)?.containers ?? [])]; containers.push(container); this.#documentTypes.updateOne(documentTypeKey, { containers }); @@ -175,27 +175,27 @@ export class UmbWorkspacePropertyStructureManager x.key === documentTypeKey)?.containers ?? []; - const containers = frozenContainers.filter((x) => x.key !== containerKey); + const frozenContainers = this.#documentTypes.getValue().find((x) => x.id === documentTypeKey)?.containers ?? []; + const containers = frozenContainers.filter((x) => x.id !== containerId); this.#documentTypes.updateOne(documentTypeKey, { containers }); } - async createProperty(documentTypeKey: string | null, containerKey: string | null = null, sortOrder?: number) { + async createProperty(documentTypeKey: string | null, containerId: string | null = null, sortOrder?: number) { await this.#init; documentTypeKey = documentTypeKey ?? this.#rootDocumentTypeKey!; const property: PropertyTypeResponseModelBaseModel = { - key: generateGuid(), - containerKey: containerKey, + id: generateGuid(), + containerId: containerId, //sortOrder: sortOrder ?? 0, }; - const properties = [...(this.#documentTypes.getValue().find((x) => x.key === documentTypeKey)?.properties ?? [])]; + const properties = [...(this.#documentTypes.getValue().find((x) => x.id === documentTypeKey)?.properties ?? [])]; properties.push(property); this.#documentTypes.updateOne(documentTypeKey, { properties }); @@ -211,9 +211,9 @@ export class UmbWorkspacePropertyStructureManager x.key === documentTypeKey)?.properties ?? []; + const frozenProperties = this.#documentTypes.getValue().find((x) => x.id === documentTypeKey)?.properties ?? []; - const properties = partialUpdateFrozenArray(frozenProperties, partialUpdate, (x) => x.key === propertyKey!); + const properties = partialUpdateFrozenArray(frozenProperties, partialUpdate, (x) => x.id === propertyKey!); this.#documentTypes.updateOne(documentTypeKey, { properties }); } @@ -221,7 +221,7 @@ export class UmbWorkspacePropertyStructureManager { - const docType = docTypes.find((x) => x.key === this.#rootDocumentTypeKey); + const docType = docTypes.find((x) => x.id === this.#rootDocumentTypeKey); return docType?.name ?? ''; }); } @@ -229,24 +229,24 @@ export class UmbWorkspacePropertyStructureManager(mappingFunction: MappingFunction) { return this.#documentTypes.getObservablePart((docTypes) => { - const docType = docTypes.find((x) => x.key === this.#rootDocumentTypeKey); + const docType = docTypes.find((x) => x.id === this.#rootDocumentTypeKey); return docType ? mappingFunction(docType) : undefined; }); } /* - nameOfDocumentType(key: string) { + nameOfDocumentType(id: string) { return this.#documentTypes.getObservablePart((docTypes) => { - const docType = docTypes.find((x) => x.key === key); + const docType = docTypes.find((x) => x.id === id); return docType?.name ?? ''; }); } */ - hasPropertyStructuresOf(containerKey: string | null) { + hasPropertyStructuresOf(containerId: string | null) { return this.#documentTypes.getObservablePart((docTypes) => { return ( docTypes.find((docType) => { - return docType.properties?.find((property) => property.containerKey === containerKey); + return docType.properties?.find((property) => property.containerId === containerId); }) !== undefined ); }); @@ -254,12 +254,12 @@ export class UmbWorkspacePropertyStructureManager { const props: DocumentTypePropertyTypeResponseModel[] = []; docTypes.forEach((docType) => { docType.properties?.forEach((property) => { - if (property.containerKey === containerKey) { + if (property.containerId === containerId) { props.push(property); } }); @@ -270,26 +270,26 @@ export class UmbWorkspacePropertyStructureManager { - return data.filter((x) => x.parentKey === null && x.type === containerType); + return data.filter((x) => x.parentId === null && x.type === containerType); }); } hasRootContainers(containerType: PropertyContainerTypes) { return this.#containers.getObservablePart((data) => { - return data.filter((x) => x.parentKey === null && x.type === containerType).length > 0; + return data.filter((x) => x.parentId === null && x.type === containerType).length > 0; }); } containersOfParentKey( - parentKey: PropertyTypeContainerResponseModelBaseModel['parentKey'], + parentId: PropertyTypeContainerResponseModelBaseModel['parentId'], containerType: PropertyContainerTypes ) { return this.#containers.getObservablePart((data) => { - return data.filter((x) => x.parentKey === parentKey && x.type === containerType); + return data.filter((x) => x.parentId === parentId && x.type === containerType); }); } - // TODO: Maybe this must take parentKey into account as well? + // TODO: Maybe this must take parentId into account as well? containersByNameAndType(name: string, containerType: PropertyContainerTypes) { return this.#containers.getObservablePart((data) => { return data.filter((x) => x.name === name && x.type === containerType); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/modals/template/template-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/modals/template/template-modal.element.ts index 1ad00017e4..f1771e6a34 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/modals/template/template-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/modals/template/template-modal.element.ts @@ -15,7 +15,7 @@ import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; @customElement('umb-template-modal') export class UmbTemplateModalElement extends UmbModalBaseElement { @state() - _key = ''; + _id = ''; @state() _template?: TemplateResponseModel; @@ -26,16 +26,16 @@ export class UmbTemplateModalElement extends UmbModalBaseElement> { + createScaffold(parentId: string | null): Promise> { throw new Error('Method not implemented.'); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/stylesheets/workspace/stylesheet-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/stylesheets/workspace/stylesheet-workspace.context.ts index 4eb287b166..a973a00a4b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/stylesheets/workspace/stylesheet-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/templating/stylesheets/workspace/stylesheet-workspace.context.ts @@ -20,7 +20,7 @@ export class UmbStylesheetWorkspaceContext extends UmbWorkspaceContext>; - getChildrenOf(parentKey: string): Promise>; + getChildrenOf(parentId: string): Promise>; getItems(key: Array): Promise>; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/sources/template.detail.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/sources/template.detail.server.data.ts index 7705f1ac6d..974f0f4cfd 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/sources/template.detail.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/sources/template.detail.server.data.ts @@ -6,10 +6,10 @@ import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; export interface TemplateDetailDataSource { createScaffold(): Promise>; - get(key: string): Promise>; + get(id: string): Promise>; insert(template: TemplateResponseModel): Promise; update(template: TemplateResponseModel): Promise; - delete(key: string): Promise; + delete(id: string): Promise; } /** @@ -31,18 +31,18 @@ export class UmbTemplateDetailServerDataSource implements TemplateDetailDataSour } /** - * Fetches a Template with the given key from the server - * @param {string} key + * Fetches a Template with the given id from the server + * @param {string} id * @return {*} * @memberof UmbTemplateDetailServerDataSource */ - get(key: string) { - return tryExecuteAndNotify(this.#host, TemplateResource.getTemplateByKey({ key })); + get(id: string) { + return tryExecuteAndNotify(this.#host, TemplateResource.getTemplateById({ id })); } /** * Creates a new Template scaffold - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof UmbTemplateDetailServerDataSource */ @@ -50,7 +50,7 @@ export class UmbTemplateDetailServerDataSource implements TemplateDetailDataSour const error = undefined; const data: TemplateResponseModel = { $type: '', - key: uuid(), + id: uuid(), name: '', alias: '', content: '', @@ -93,27 +93,27 @@ export class UmbTemplateDetailServerDataSource implements TemplateDetailDataSour * @memberof UmbTemplateDetailServerDataSource */ async update(template: TemplateResponseModel) { - if (!template.key) { - const error: ProblemDetailsModel = { title: 'Template key is missing' }; + if (!template.id) { + const error: ProblemDetailsModel = { title: 'Template id is missing' }; return { error }; } - const payload = { key: template.key, requestBody: template }; - return tryExecuteAndNotify(this.#host, TemplateResource.putTemplateByKey(payload)); + const payload = { id: template.id, requestBody: template }; + return tryExecuteAndNotify(this.#host, TemplateResource.putTemplateById(payload)); } /** * Deletes a Template on the server - * @param {string} key + * @param {string} id * @return {*} * @memberof UmbTemplateDetailServerDataSource */ - async delete(key: string) { - if (!key) { + async delete(id: string) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - return await tryExecuteAndNotify(this.#host, TemplateResource.deleteTemplateByKey({ key })); + return await tryExecuteAndNotify(this.#host, TemplateResource.deleteTemplateById({ id })); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/sources/template.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/sources/template.tree.server.data.ts index 219e8cc807..cdc77d176b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/sources/template.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/sources/template.tree.server.data.ts @@ -31,41 +31,41 @@ export class TemplateTreeServerDataSource implements TemplateTreeDataSource { } /** - * Fetches the children of a given parent key from the server - * @param {(string | null)} parentKey + * Fetches the children of a given parent id from the server + * @param {(string | null)} parentId * @return {*} * @memberof TemplateTreeServerDataSource */ - async getChildrenOf(parentKey: string | null) { - if (!parentKey) { - const error: ProblemDetailsModel = { title: 'Parent key is missing' }; + async getChildrenOf(parentId: string | null) { + if (!parentId) { + const error: ProblemDetailsModel = { title: 'Parent id is missing' }; return { error }; } return tryExecuteAndNotify( this.#host, TemplateResource.getTreeTemplateChildren({ - parentKey, + parentId, }) ); } /** - * Fetches the items for the given keys from the server - * @param {Array} keys + * Fetches the items for the given ids from the server + * @param {Array} id * @return {*} * @memberof TemplateTreeServerDataSource */ - async getItems(keys: Array) { - if (!keys) { - const error: ProblemDetailsModel = { title: 'Keys are missing' }; + async getItems(ids: Array) { + if (!ids) { + const error: ProblemDetailsModel = { title: 'Ids are missing' }; return { error }; } return tryExecuteAndNotify( this.#host, TemplateResource.getTreeTemplateItem({ - key: keys, + id: ids, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.repository.ts index 5567f76759..a41048ff2a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.repository.ts @@ -56,34 +56,34 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR return { data, error, asObservable: () => this.#treeStore!.rootItems }; } - async requestTreeItemsOf(parentKey: string | null) { + async requestTreeItemsOf(parentId: string | null) { await this.#init; - if (!parentKey) { - const error: ProblemDetailsModel = { title: 'Parent key is missing' }; + if (!parentId) { + const error: ProblemDetailsModel = { title: 'Parent id is missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeDataSource.getChildrenOf(parentKey); + const { data, error } = await this.#treeDataSource.getChildrenOf(parentId); if (data) { this.#treeStore?.appendItems(data.items); } - return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentKey) }; + return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentId) }; } - async requestTreeItems(keys: Array) { + async requestTreeItems(ids: Array) { await this.#init; - if (!keys) { + if (!ids) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeDataSource.getItems(keys); + const { data, error } = await this.#treeDataSource.getItems(ids); - return { data, error, asObservable: () => this.#treeStore!.items(keys) }; + return { data, error, asObservable: () => this.#treeStore!.items(ids) }; } async rootTreeItems() { @@ -91,39 +91,39 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR return this.#treeStore!.rootItems; } - async treeItemsOf(parentKey: string | null) { + async treeItemsOf(parentId: string | null) { await this.#init; - return this.#treeStore!.childrenOf(parentKey); + return this.#treeStore!.childrenOf(parentId); } - async treeItems(keys: Array) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } // DETAILS: - async createScaffold(parentKey: string | null) { + async createScaffold(parentId: string | null) { await this.#init; - if (!parentKey) { - throw new Error('Parent key is missing'); + if (!parentId) { + throw new Error('Parent id is missing'); } - // TODO: add parent key to create scaffold + // TODO: add parent id to create scaffold return this.#detailDataSource.createScaffold(); } - async requestByKey(key: string) { + async requestById(id: string) { await this.#init; - // TODO: should we show a notification if the key is missing? + // TODO: should we show a notification if the id is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!key) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - const { data, error } = await this.#detailDataSource.get(key); + const { data, error } = await this.#detailDataSource.get(id); if (data) { this.#store?.append(data); @@ -137,7 +137,7 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR async create(template: TemplateResponseModel) { await this.#init; - if (!template || !template.key) { + if (!template || !template.id) { throw new Error('Template is missing'); } @@ -159,7 +159,7 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR async save(template: TemplateResponseModel) { await this.#init; - if (!template || !template.key) { + if (!template || !template.id) { throw new Error('Template is missing'); } @@ -174,7 +174,7 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR // Consider to look up the data before fetching from the server // Consider notify a workspace if a template is updated in the store while someone is editing it. this.#store?.append(template); - this.#treeStore?.updateItem(template.key, { name: template.name }); + this.#treeStore?.updateItem(template.id, { name: template.name }); // TODO: would be nice to align the stores on methods/methodNames. return { error }; @@ -182,14 +182,14 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR // General: - async delete(key: string) { + async delete(id: string) { await this.#init; - if (!key) { - throw new Error('Template key is missing'); + if (!id) { + throw new Error('Template id is missing'); } - const { error } = await this.#detailDataSource.delete(key); + const { error } = await this.#detailDataSource.delete(id); if (!error) { const notification = { data: { message: `Template deleted` } }; @@ -199,8 +199,8 @@ export class UmbTemplateRepository implements UmbTreeRepository, UmbDetailR // TODO: we currently don't use the detail store for anything. // Consider to look up the data before fetching from the server. // Consider notify a workspace if a template is deleted from the store while someone is editing it. - this.#store?.remove([key]); - this.#treeStore?.removeItem(key); + this.#store?.remove([id]); + this.#treeStore?.removeItem(id); // TODO: would be nice to align the stores on methods/methodNames. return { error }; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.store.ts index bda7548eb7..edebf64d61 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.store.ts @@ -11,7 +11,7 @@ import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controlle * @description - Data Store for Templates */ export class UmbTemplateStore extends UmbStoreBase { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); /** * Creates an instance of UmbTemplateStore. diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/workspace/template-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/workspace/template-workspace.context.ts index 8685dbdc5a..efb54d7345 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/workspace/template-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/workspace/template-workspace.context.ts @@ -18,8 +18,8 @@ export class UmbTemplateWorkspaceContext extends UmbWorkspaceContext { - // key is name to allow filtering on the displayed value + // id is set to name to allow filtering on the displayed value const tableItem: UmbTableItem = { - key: dictionary.name ?? '', + id: dictionary.name ?? '', icon: 'umb:book-alt', data: [ { columnAlias: 'name', - value: html` + value: html` ${dictionary.name} `, }, @@ -148,7 +148,7 @@ export class UmbDashboardTranslationDictionaryElement extends UmbLitElement { #filter(e: { target: HTMLInputElement }) { this._tableItemsFiltered = e.target.value - ? this.#tableItems.filter((t) => t.key.includes(e.target.value)) + ? this.#tableItems.filter((t) => t.id.includes(e.target.value)) : this.#tableItems; } @@ -162,7 +162,7 @@ export class UmbDashboardTranslationDictionaryElement extends UmbLitElement { const { name } = await modalHandler.onSubmit(); if (!name) return; - const result = await this.#repo?.create({ $type: '', name, parentKey: null, translations: [], key: '' }); + const result = await this.#repo?.create({ $type: '', name, parentId: null, translations: [], id: '' }); // TODO => get location header to route to new item } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/create/create.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/create/create.action.ts index 8f7f3eae7e..dae8885787 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/create/create.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/create/create.action.ts @@ -49,9 +49,9 @@ export default class UmbCreateDictionaryEntityAction extends UmbEntityActionBase const result = await this.repository?.create({ $type: '', name, - parentKey: this.unique, + parentId: this.unique, translations: [], - key: '', + id: '', }); // TODO => get location header to route to new item diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/import/import-dictionary-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/import/import-dictionary-modal.element.ts index 92e2e6f507..f92fc6a94b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/import/import-dictionary-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/import/import-dictionary-modal.element.ts @@ -6,7 +6,7 @@ import { repeat } from 'lit/directives/repeat.js'; import { UmbTreeElement } from '../../../../shared/components/tree/tree.element'; import { UmbDictionaryRepository } from '../../repository/dictionary.repository'; import { UmbImportDictionaryModalData, UmbImportDictionaryModalResult } from '@umbraco-cms/backoffice/modal'; -import { UploadDictionaryResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { DictionaryItemResponseModel, ImportDictionaryRequestModel } from '@umbraco-cms/backoffice/backend-api'; import { UmbModalBaseElement } from '@umbraco-cms/internal/modal'; @customElement('umb-import-dictionary-modal') @@ -27,7 +27,7 @@ export class UmbImportDictionaryModalLayout extends UmbModalBaseElement< private _form!: HTMLFormElement; @state() - private _uploadedDictionary?: UploadDictionaryResponseModel; + private _uploadedDictionaryTempId?: string; @state() private _showUploadView = true; @@ -44,11 +44,11 @@ export class UmbImportDictionaryModalLayout extends UmbModalBaseElement< #detailRepo = new UmbDictionaryRepository(this); async #importDictionary() { - if (!this._uploadedDictionary?.fileName) return; + if (!this._uploadedDictionaryTempId) return; this.modalHandler?.submit({ - fileName: this._uploadedDictionary.fileName, - parentKey: this._selection[0], + temporaryFileId: this._uploadedDictionaryTempId, + parentId: this._selection[0], }); } @@ -66,11 +66,21 @@ export class UmbImportDictionaryModalLayout extends UmbModalBaseElement< if (!this._form.checkValidity()) return; const formData = new FormData(this._form); - const { data } = await this.#detailRepo.upload(formData); - this._uploadedDictionary = data; + const uploadData: ImportDictionaryRequestModel = { + temporaryFileId: formData.get('file')?.toString() ?? '', + }; - if (!this._uploadedDictionary) { + // TODO: fix this upload experience. We need to update our form so it gets temporary file id from the server: + const { data } = await this.#detailRepo.upload(uploadData); + + if (!data) return; + + this._uploadedDictionaryTempId = data; + // TODO: We need to find another way to gather the data of the uploaded dictionary, to represent the dictionaryItems? See further below. + //this._uploadedDictionary = data; + + if (!this._uploadedDictionaryTempId) { this._showErrorView = true; this._showImportView = false; return; @@ -113,6 +123,8 @@ export class UmbImportDictionaryModalLayout extends UmbModalBaseElement< /// TODO => Tree view needs isolation and single-select option #renderImportView() { + //TODO: gather this data in some other way, we cannot use the feedback from the server anymore. can we use info about the file directly? or is a change to the end point required? + /* if (!this._uploadedDictionary?.dictionaryItems) return; return html` @@ -140,6 +152,7 @@ export class UmbImportDictionaryModalLayout extends UmbModalBaseElement< look="primary" @click=${this.#importDictionary}> `; + */ } // TODO => Determine what to display when dictionary import/upload fails diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/import/import.action.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/import/import.action.ts index 0ba63c6352..2ab539bca3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/import/import.action.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/entity-actions/import/import.action.ts @@ -27,10 +27,10 @@ export default class UmbImportDictionaryEntityAction extends UmbEntityActionBase const modalHandler = this.#modalContext?.open(UMB_IMPORT_DICTIONARY_MODAL, { unique: this.unique }); // TODO: get type from modal result - const { fileName, parentKey } = await modalHandler.onSubmit(); - if (!fileName) return; + const { temporaryFileId, parentId } = await modalHandler.onSubmit(); + if (!temporaryFileId) return; - const result = await this.repository?.import(fileName, parentKey); + const result = await this.repository?.import(temporaryFileId, parentId); // TODO => get location header to route to new item console.log(result); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/index.ts index 8caa4f12a7..b478fc4193 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/index.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/index.ts @@ -1,6 +1,6 @@ import { DictionaryItemTranslationModel, EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +// TODO: Can we get rid of this type? I guess it should come from the server? Investigate this. export interface DictionaryDetails extends EntityTreeItemResponseModel { - key: string; // TODO: Remove this when the backend is fixed translations: DictionaryItemTranslationModel[]; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/dictionary.repository.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/dictionary.repository.ts index 925f993f48..aeba6365eb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/dictionary.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/dictionary.repository.ts @@ -6,7 +6,7 @@ import { DictionaryTreeServerDataSource } from './sources/dictionary.tree.server import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller'; import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; import { UmbTreeDataSource, UmbDetailRepository, UmbTreeRepository } from '@umbraco-cms/backoffice/repository'; -import { ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; +import { ImportDictionaryRequestModel, ProblemDetailsModel } from '@umbraco-cms/backoffice/backend-api'; import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification'; export class UmbDictionaryRepository implements UmbTreeRepository, UmbDetailRepository { @@ -56,34 +56,34 @@ export class UmbDictionaryRepository implements UmbTreeRepository, UmbDetailRepo return { data, error, asObservable: () => this.#treeStore!.rootItems }; } - async requestTreeItemsOf(parentKey: string | null) { + async requestTreeItemsOf(parentId: string | null) { await this.#init; - if (!parentKey) { - const error: ProblemDetailsModel = { title: 'Parent key is missing' }; + if (!parentId) { + const error: ProblemDetailsModel = { title: 'Parent id is missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getChildrenOf(parentKey); + const { data, error } = await this.#treeSource.getChildrenOf(parentId); if (data) { this.#treeStore?.appendItems(data.items); } - return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentKey) }; + return { data, error, asObservable: () => this.#treeStore!.childrenOf(parentId) }; } - async requestTreeItems(keys: Array) { + async requestTreeItems(ids: Array) { await this.#init; - if (!keys) { + if (!ids) { const error: ProblemDetailsModel = { title: 'Keys are missing' }; return { data: undefined, error }; } - const { data, error } = await this.#treeSource.getItems(keys); + const { data, error } = await this.#treeSource.getItems(ids); - return { data, error, asObservable: () => this.#treeStore!.items(keys) }; + return { data, error, asObservable: () => this.#treeStore!.items(ids) }; } async rootTreeItems() { @@ -91,39 +91,39 @@ export class UmbDictionaryRepository implements UmbTreeRepository, UmbDetailRepo return this.#treeStore!.rootItems; } - async treeItemsOf(parentKey: string | null) { + async treeItemsOf(parentId: string | null) { await this.#init; - return this.#treeStore!.childrenOf(parentKey); + return this.#treeStore!.childrenOf(parentId); } - async treeItems(keys: Array) { + async treeItems(ids: Array) { await this.#init; - return this.#treeStore!.items(keys); + return this.#treeStore!.items(ids); } // DETAILS - async createScaffold(parentKey: string | null) { + async createScaffold(parentId: string | null) { await this.#init; - if (!parentKey) { - const error: ProblemDetailsModel = { title: 'Parent key is missing' }; + if (!parentId) { + const error: ProblemDetailsModel = { title: 'Parent id is missing' }; return { data: undefined, error }; } - return this.#detailSource.createScaffold(parentKey); + return this.#detailSource.createScaffold(parentId); } - async requestByKey(key: string) { + async requestById(id: string) { await this.#init; - // TODO: should we show a notification if the key is missing? + // TODO: should we show a notification if the id is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!key) { - const error: ProblemDetailsModel = { title: 'Key is missing' }; + if (!id) { + const error: ProblemDetailsModel = { title: 'Id is missing' }; return { error }; } - const { data, error } = await this.#detailSource.get(key); + const { data, error } = await this.#detailSource.get(id); if (data) { this.#detailStore?.append(data); @@ -136,9 +136,9 @@ export class UmbDictionaryRepository implements UmbTreeRepository, UmbDetailRepo return this.#detailSource.list(skip, take); } - async delete(key: string) { + async delete(id: string) { await this.#init; - return this.#detailSource.delete(key); + return this.#detailSource.delete(id); } async save(dictionary: DictionaryDetails) { @@ -146,7 +146,7 @@ export class UmbDictionaryRepository implements UmbTreeRepository, UmbDetailRepo // TODO: should we show a notification if the dictionary is missing? // Investigate what is best for Acceptance testing, cause in that perspective a thrown error might be the best choice? - if (!dictionary || !dictionary.key) { + if (!dictionary || !dictionary.id) { const error: ProblemDetailsModel = { title: 'Dictionary is missing' }; return { error }; } @@ -162,7 +162,7 @@ export class UmbDictionaryRepository implements UmbTreeRepository, UmbDetailRepo // Consider to look up the data before fetching from the server // Consider notify a workspace if a dictionary is updated in the store while someone is editing it. this.#detailStore?.append(dictionary); - this.#treeStore?.updateItem(dictionary.key, { name: dictionary.name }); + this.#treeStore?.updateItem(dictionary.id, { name: dictionary.name }); // TODO: would be nice to align the stores on methods/methodNames. return { error }; @@ -186,29 +186,29 @@ export class UmbDictionaryRepository implements UmbTreeRepository, UmbDetailRepo return { data, error }; } - async export(key: string, includeChildren = false) { + async export(id: string, includeChildren = false) { await this.#init; - if (!key) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - return this.#detailSource.export(key, includeChildren); + return this.#detailSource.export(id, includeChildren); } - async import(fileName: string, parentKey?: string) { + async import(temporaryFileId: string, parentId?: string) { await this.#init; - if (!fileName) { + if (!temporaryFileId) { const error: ProblemDetailsModel = { title: 'File is missing' }; return { error }; } - return this.#detailSource.import(fileName, parentKey); + return this.#detailSource.import(temporaryFileId, parentId); } - async upload(formData: FormData) { + async upload(formData: ImportDictionaryRequestModel) { await this.#init; if (!formData) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/dictionary.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/dictionary.store.ts index 45ec7a5f5f..a9907ca76a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/dictionary.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/dictionary.store.ts @@ -11,7 +11,7 @@ import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; * @description - Data Store for Dictionary */ export class UmbDictionaryStore extends UmbStoreBase { - #data = new ArrayState([], (x) => x.key); + #data = new ArrayState([], (x) => x.id); constructor(host: UmbControllerHostElement) { super(host, UMB_DICTIONARY_STORE_CONTEXT_TOKEN.toString()); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.detail.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.detail.server.data.ts index 109d5a3924..9a0de80937 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.detail.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.detail.server.data.ts @@ -5,6 +5,7 @@ import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; import { CreateDictionaryItemRequestModel, DictionaryResource, + ImportDictionaryRequestModel, LanguageResource, ProblemDetailsModel, } from '@umbraco-cms/backoffice/backend-api'; @@ -24,27 +25,27 @@ export class UmbDictionaryDetailServerDataSource implements DictionaryDetailData /** * @description - Creates a new Dictionary scaffold - * @param {string} parentKey + * @param {string} parentId * @return {*} * @memberof UmbDictionaryDetailServerDataSource */ - async createScaffold(parentKey: string) { + async createScaffold(parentId: string) { const data: DictionaryDetails = { name: '', - parentKey, + parentId, } as DictionaryDetails; return { data }; } /** - * @description - Fetches a Dictionary with the given key from the server - * @param {string} key + * @description - Fetches a Dictionary with the given id from the server + * @param {string} id * @return {*} * @memberof UmbDictionaryDetailServerDataSource */ - get(key: string) { - return tryExecuteAndNotify(this.#host, DictionaryResource.getDictionaryByKey({ key })) as any; + get(id: string) { + return tryExecuteAndNotify(this.#host, DictionaryResource.getDictionaryById({ id })) as any; } /** @@ -64,13 +65,13 @@ export class UmbDictionaryDetailServerDataSource implements DictionaryDetailData * @memberof UmbDictionaryDetailServerDataSource */ async update(dictionary: DictionaryDetails) { - if (!dictionary.key) { + if (!dictionary.id) { const error: ProblemDetailsModel = { title: 'Dictionary key is missing' }; return { error }; } - const payload = { key: dictionary.key, requestBody: dictionary }; - return tryExecuteAndNotify(this.#host, DictionaryResource.putDictionaryByKey(payload)); + const payload = { id: dictionary.id, requestBody: dictionary }; + return tryExecuteAndNotify(this.#host, DictionaryResource.putDictionaryById(payload)); } /** @@ -81,7 +82,7 @@ export class UmbDictionaryDetailServerDataSource implements DictionaryDetailData */ async insert(data: DictionaryDetails) { const requestBody: CreateDictionaryItemRequestModel = { - parentKey: data.parentKey, + parentId: data.parentId, name: data.name, }; @@ -91,44 +92,44 @@ export class UmbDictionaryDetailServerDataSource implements DictionaryDetailData /** * @description - Deletes a Dictionary on the server - * @param {string} key + * @param {string} id * @return {*} * @memberof UmbDictionaryDetailServerDataSource */ - async delete(key: string) { - if (!key) { + async delete(id: string) { + if (!id) { const error: ProblemDetailsModel = { title: 'Key is missing' }; return { error }; } - return await tryExecuteAndNotify(this.#host, DictionaryResource.deleteDictionaryByKey({ key })); + return await tryExecuteAndNotify(this.#host, DictionaryResource.deleteDictionaryById({ id })); } /** * @description - Import a dictionary - * @param {string} fileName - * @param {string?} parentKey + * @param {string} temporaryFileId + * @param {string?} parentId * @returns {*} * @memberof UmbDictionaryDetailServerDataSource */ - async import(fileName: string, parentKey?: string) { - // TODO => parentKey will be a guid param once #13786 is merged and API regenerated + async import(temporaryFileId: string, parentId?: string) { + // TODO => parentId will be a guid param once #13786 is merged and API regenerated return await tryExecuteAndNotify( this.#host, - DictionaryResource.postDictionaryImport({ requestBody: { fileName, parentKey } }) + DictionaryResource.postDictionaryImport({ requestBody: { temporaryFileId, parentId } }) ); } /** * @description - Upload a Dictionary - * @param {FormData} formData + * @param {ImportDictionaryRequestModel} formData * @return {*} * @memberof UmbDictionaryDetailServerDataSource */ - async upload(formData: FormData) { + async upload(formData: ImportDictionaryRequestModel) { return await tryExecuteAndNotify( this.#host, - DictionaryResource.postDictionaryUpload({ + DictionaryResource.postDictionaryImport({ requestBody: formData, }) ); @@ -136,13 +137,13 @@ export class UmbDictionaryDetailServerDataSource implements DictionaryDetailData /** * @description - Export a Dictionary, optionally including child items. - * @param {string} key + * @param {string} id * @param {boolean} includeChildren * @return {*} * @memberof UmbDictionaryDetailServerDataSource */ - async export(key: string, includeChildren: boolean) { - return await tryExecuteAndNotify(this.#host, DictionaryResource.getDictionaryByKeyExport({ key, includeChildren })); + async export(id: string, includeChildren: boolean) { + return await tryExecuteAndNotify(this.#host, DictionaryResource.getDictionaryByIdExport({ id, includeChildren })); } async getLanguages() { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.details.server.data.interface.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.details.server.data.interface.ts index 1b3c74e3b8..fba60eaeaf 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.details.server.data.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.details.server.data.interface.ts @@ -1,22 +1,22 @@ import type { DictionaryDetails } from '../../'; import { DictionaryItemResponseModel, - UploadDictionaryResponseModel, PagedDictionaryOverviewResponseModel, PagedLanguageResponseModel, + ImportDictionaryRequestModel, } from '@umbraco-cms/backoffice/backend-api'; import type { DataSourceResponse } from '@umbraco-cms/backoffice/repository'; export interface DictionaryDetailDataSource { - createScaffold(parentKey: string): Promise>; + createScaffold(parentId: string): Promise>; list(skip?: number, take?: number): Promise>; get(key: string): Promise>; insert(data: DictionaryDetails): Promise; update(dictionary: DictionaryItemResponseModel): Promise; delete(key: string): Promise; export(key: string, includeChildren: boolean): Promise>; - import(fileName: string, parentKey?: string): Promise>; - upload(formData: FormData): Promise>; + import(fileName: string, parentId?: string): Promise>; + upload(formData: ImportDictionaryRequestModel): Promise>; // TODO - temp only getLanguages(): Promise>; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.tree.server.data.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.tree.server.data.ts index fa073716ed..c2a2c5ca3e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.tree.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/repository/sources/dictionary.tree.server.data.ts @@ -32,12 +32,12 @@ export class DictionaryTreeServerDataSource implements UmbTreeDataSource { /** * Fetches the children of a given parent key from the server - * @param {(string | null)} parentKey + * @param {(string | null)} parentId * @return {*} * @memberof DictionaryTreeServerDataSource */ - async getChildrenOf(parentKey: string | null) { - if (!parentKey) { + async getChildrenOf(parentId: string | null) { + if (!parentId) { const error: ProblemDetailsModel = { title: 'Parent key is missing' }; return { error }; } @@ -45,27 +45,27 @@ export class DictionaryTreeServerDataSource implements UmbTreeDataSource { return tryExecuteAndNotify( this.#host, DictionaryResource.getTreeDictionaryChildren({ - parentKey, + parentId, }) ); } /** - * Fetches the items for the given keys from the server - * @param {Array} keys + * Fetches the items for the given ids from the server + * @param {Array} ids * @return {*} * @memberof DictionaryTreeServerDataSource */ - async getItems(keys: Array) { - if (!keys || keys.length === 0) { - const error: ProblemDetailsModel = { title: 'Keys are missing' }; + async getItems(ids: Array) { + if (!ids || ids.length === 0) { + const error: ProblemDetailsModel = { title: 'Ids are missing' }; return { error }; } return tryExecuteAndNotify( this.#host, DictionaryResource.getTreeDictionaryItem({ - key: keys, + id: ids, }) ); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.context.ts index 054de18f3f..56b6eb4706 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.context.ts @@ -24,8 +24,8 @@ export class UmbDictionaryWorkspaceContext return this.#data.getValue(); } - getEntityKey() { - return this.getData()?.key || ''; + getEntityId() { + return this.getData()?.id || ''; } getEntityType() { @@ -57,15 +57,15 @@ export class UmbDictionaryWorkspaceContext } async load(entityKey: string) { - const { data } = await this.repository.requestByKey(entityKey); + const { data } = await this.repository.requestById(entityKey); if (data) { this.setIsNew(false); this.#data.next(data); } } - async createScaffold(parentKey: string | null) { - const { data } = await this.repository.createScaffold(parentKey); + async createScaffold(parentId: string | null) { + const { data } = await this.repository.createScaffold(parentId); if (!data) return; this.setIsNew(true); this.#data.next(data); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.element.ts index e73ac5b743..22303e180b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.element.ts @@ -16,11 +16,11 @@ export class UmbWorkspaceDictionaryElement extends UmbLitElement { @state() _routes: any[] = [ { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.stories.ts b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.stories.ts index 3c1afd4dad..48b78c2954 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.stories.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/translation/dictionary/workspace/dictionary-workspace.stories.ts @@ -1,6 +1,7 @@ import './dictionary-workspace.element'; import { Meta, Story } from '@storybook/web-components'; import { html } from 'lit'; +import { ifDefined } from 'lit/directives/if-defined'; import { data } from '../../../../core/mocks/data/dictionary.data'; import type { UmbWorkspaceDictionaryElement } from './dictionary-workspace.element'; @@ -11,6 +12,6 @@ export default { } as Meta; export const AAAOverview: Story = () => - html` `; + html` `; AAAOverview.storyName = 'Overview'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/user-profile-apps/user-profile-app-profile.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/user-profile-apps/user-profile-app-profile.element.ts index a08664367d..a1baf152c4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/user-profile-apps/user-profile-app-profile.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/user-profile-apps/user-profile-app-profile.element.ts @@ -42,7 +42,7 @@ export class UmbUserProfileAppProfileElement extends UmbLitElement { private _edit() { if (!this._currentUser) return; - history.pushState(null, '', '/section/users/view/users/user/' + this._currentUser.key); //TODO Change to a tag with href and make dynamic + history.pushState(null, '', '/section/users/view/users/user/' + this._currentUser.id); //TODO Change to a tag with href and make dynamic //TODO Implement modal routing for the current-user-modal, so that the modal closes when navigating to the edit profile page } private _changePassword() { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/modals/user-group-picker/user-group-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/modals/user-group-picker/user-group-picker-modal.element.ts index 39866a547a..3a06069852 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/modals/user-group-picker/user-group-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/modals/user-group-picker/user-group-picker-modal.element.ts @@ -81,9 +81,9 @@ export class UmbUserGroupPickerModalElement extends UmbModalElementPickerBase html`
this.handleSelection(item.key)} - @keydown=${(e: KeyboardEvent) => this._handleKeydown(e, item.key)} - class=${this.isSelected(item.key) ? 'item selected' : 'item'}> + @click=${() => this.handleSelection(item.id)} + @keydown=${(e: KeyboardEvent) => this._handleKeydown(e, item.id)} + class=${this.isSelected(item.id) ? 'item selected' : 'item'}> ${item.name}
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/repository/user-group.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/repository/user-group.store.ts index 2b4fd90559..64197bb05b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/repository/user-group.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/repository/user-group.store.ts @@ -16,21 +16,21 @@ export const UMB_USER_GROUP_STORE_CONTEXT_TOKEN = new UmbContextToken { - #groups = new ArrayState([], (x) => x.key); + #groups = new ArrayState([], (x) => x.id); public groups = this.#groups.asObservable(); constructor(host: UmbControllerHostElement) { super(host, UMB_USER_GROUP_STORE_CONTEXT_TOKEN.toString()); } - getScaffold(entityType: string, parentKey: string | null) { + getScaffold(entityType: string, parentId: string | null) { return { - key: '', + id: '', name: '', icon: '', type: 'user-group', hasChildren: false, - parentKey: '', + parentId: '', sections: [], permissions: [], users: [], @@ -49,27 +49,27 @@ export class UmbUserGroupStore extends UmbStoreBase implements UmbEntityDetailSt return this.groups; } - getByKey(key: string) { + getByKey(id: string) { // TODO: use Fetcher API. // TODO: only fetch if the data type is not in the store? - fetch(`/umbraco/backoffice/user-groups/details/${key}`) + fetch(`/umbraco/backoffice/user-groups/details/${id}`) .then((res) => res.json()) .then((data) => { this.#groups.append([data]); }); - return this.#groups.getObservablePart((userGroups) => userGroups.find((userGroup) => userGroup.key === key)); + return this.#groups.getObservablePart((userGroups) => userGroups.find((userGroup) => userGroup.id === id)); } - getByKeys(keys: Array) { - const params = keys.map((key) => `key=${key}`).join('&'); + getByKeys(ids: Array) { + const params = ids.map((id) => `id=${id}`).join('&'); fetch(`/umbraco/backoffice/user-groups/getByKeys?${params}`) .then((res) => res.json()) .then((data) => { this.#groups.append(data); }); - return this.#groups.getObservablePart((items) => items.filter((node) => keys.includes(node.key))); + return this.#groups.getObservablePart((items) => items.filter((node) => ids.includes(node.id))); } async save(userGroups: Array) { @@ -78,7 +78,7 @@ export class UmbUserGroupStore extends UmbStoreBase implements UmbEntityDetailSt // TODO: implement so user group store updates the users, but these needs to save as well..? /* if (this._userStore && userGroup.users) { - await this._userStore.updateUserGroup(userGroup.users, userGroup.key); + await this._userStore.updateUserGroup(userGroup.users, userGroup.id); } */ diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace-edit.element.ts index 53064d9801..9ca5a52915 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace-edit.element.ts @@ -214,9 +214,9 @@ export class UmbUserGroupWorkspaceEditElement extends UmbLitElement { this.observe(this._userStore.getAll(), (users) => { // TODO: handle if there is no users. if (!this._userKeys && users.length > 0) { - const entityKey = this.#workspaceContext?.getEntityKey(); + const entityKey = this.#workspaceContext?.getEntityId(); if (!entityKey) return; - this._userKeys = users.filter((user) => user.userGroups.includes(entityKey)).map((user) => user.key); + this._userKeys = users.filter((user) => user.userGroups.includes(entityKey)).map((user) => user.id); //this._updateProperty('users', this._userKeys); // TODO: make a method on the UmbWorkspaceUserGroupContext: //this._workspaceContext.setUsers(); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.context.ts index 8aa55263d8..19a5fe183b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.context.ts @@ -28,7 +28,7 @@ export class UmbUserGroupWorkspaceContext } getEntityType = this.#manager.getEntityType; getUnique = this.#manager.getEntityKey; - getEntityKey = this.#manager.getEntityKey; + getEntityId = this.#manager.getEntityKey; getStore = this.#manager.getStore; getData = this.#manager.getData as any; // TODO: fix type mismatch, but this will be done when we move to repositories. load = this.#manager.load; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.element.ts index e232947181..aae4ff5fe6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.element.ts @@ -49,11 +49,11 @@ export class UmbUserGroupWorkspaceElement extends UmbLitElement { @state() _routes: any[] = [ { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/user-groups/user-group-table-name-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/user-groups/user-group-table-name-column-layout.element.ts index 4a1f79127f..b60dc36c88 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/user-groups/user-group-table-name-column-layout.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/user-groups/user-group-table-name-column-layout.element.ts @@ -11,7 +11,7 @@ export class UmbUserGroupTableNameColumnLayoutElement extends LitElement { value!: any; render() { - return html` + return html` ${this.value.name} `; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/user-groups/workspace-view-user-groups.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/user-groups/workspace-view-user-groups.element.ts index 0fa5dd071d..61ae8d8384 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/user-groups/workspace-view-user-groups.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/user-groups/workspace-view-user-groups.element.ts @@ -31,11 +31,11 @@ export class UmbWorkspaceViewUserGroupsElement extends UmbLitElement { height: 100%; display: flex; flex-direction: column; - margin:var(--uui-size-layout-1); + margin: var(--uui-size-layout-1); } umb-table { - padding:0; + padding: 0; } `, ]; @@ -99,7 +99,7 @@ export class UmbWorkspaceViewUserGroupsElement extends UmbLitElement { private _createTableItems(userGroups: Array) { this._tableItems = userGroups.map((userGroup) => { return { - key: userGroup.key, + id: userGroup.id, icon: userGroup.icon, data: [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/grid/workspace-view-users-grid.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/grid/workspace-view-users-grid.element.ts index 99f10ee203..3ed1b5d986 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/grid/workspace-view-users-grid.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/grid/workspace-view-users-grid.element.ts @@ -95,17 +95,17 @@ export class UmbWorkspaceViewUsersGridElement extends UmbLitElement { } private _selectRowHandler(user: UserEntity) { - this._usersContext?.select(user.key); + this._usersContext?.select(user.id); } private _deselectRowHandler(user: UserEntity) { - this._usersContext?.deselect(user.key); + this._usersContext?.deselect(user.id); } - private _getUserGroupNames(keys: Array) { - return keys + private _getUserGroupNames(ids: Array) { + return ids .map((key: string) => { - return this._userGroups.find((x) => x.key === key)?.name; + return this._userGroups.find((x) => x.id === key)?.name; }) .join(', '); } @@ -120,8 +120,8 @@ export class UmbWorkspaceViewUsersGridElement extends UmbLitElement { .name=${user.name} selectable ?select-only=${this._selection.length > 0} - ?selected=${this._isSelected(user.key)} - @open=${() => this._handleOpenCard(user.key)} + ?selected=${this._isSelected(user.id)} + @open=${() => this._handleOpenCard(user.id)} @selected=${() => this._selectRowHandler(user)} @unselected=${() => this._deselectRowHandler(user)}> ${user.status && user.status !== 'enabled' @@ -149,7 +149,7 @@ export class UmbWorkspaceViewUsersGridElement extends UmbLitElement {
${repeat( this._users, - (user) => user.key, + (user) => user.id, (user) => this.renderUserCard(user) )}
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/table/column-layouts/name/user-table-name-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/table/column-layouts/name/user-table-name-column-layout.element.ts index bf6d9fa7af..ed36318416 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/table/column-layouts/name/user-table-name-column-layout.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/table/column-layouts/name/user-table-name-column-layout.element.ts @@ -16,7 +16,7 @@ export class UmbUserTableNameColumnLayoutElement extends LitElement { render() { return html` `; } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/table/workspace-view-users-table.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/table/workspace-view-users-table.element.ts index c3c8519b36..33b8e1aa1e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/table/workspace-view-users-table.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/list-view-layouts/table/workspace-view-users-table.element.ts @@ -119,10 +119,10 @@ export class UmbWorkspaceViewUsersTableElement extends UmbLitElement { }); } - private _getUserGroupNames(keys: Array) { - return keys - .map((key: string) => { - return this._userGroups.find((x) => x.key === key)?.name; + private _getUserGroupNames(ids: Array) { + return ids + .map((id: string) => { + return this._userGroups.find((x) => x.id === id)?.name; }) .join(', '); } @@ -130,7 +130,7 @@ export class UmbWorkspaceViewUsersTableElement extends UmbLitElement { private _createTableItems(users: Array) { this._tableItems = users.map((user) => { return { - key: user.key, + id: user.id, icon: 'umb:user', data: [ { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/section-view-users.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/section-view-users.element.ts index d84ed8a6c1..6f65167fd5 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/section-view-users.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/section-view-users.element.ts @@ -21,7 +21,7 @@ export class UmbSectionViewUsersElement extends UmbLitElement { css` :host { height: 100%; - } + } #router-slot { height: calc(100% - var(--umb-header-layout-height)); @@ -75,11 +75,11 @@ export class UmbSectionViewUsersElement extends UmbLitElement { // TODO: find a way to make this reuseable across: this._workspaces?.map((workspace: ManifestWorkspace) => { routes.push({ - path: `${workspace.meta.entityType}/:key`, + path: `${workspace.meta.entityType}/:id`, component: () => createExtensionElement(workspace), setup: (component: Promise, info: IRoutingInfo) => { component.then((el: HTMLElement) => { - (el as any).entityKey = info.match.params.key; + (el as any).entityKey = info.match.params.id; }); }, }); @@ -118,17 +118,17 @@ export class UmbSectionViewUsersElement extends UmbLitElement { this.requestUpdate('selection'); } - public select(key: string) { + public select(id: string) { const oldSelection = this.#selection.getValue(); - if (oldSelection.indexOf(key) !== -1) return; + if (oldSelection.indexOf(id) !== -1) return; - this.#selection.next([...oldSelection, key]); + this.#selection.next([...oldSelection, id]); this.requestUpdate('selection'); } - public deselect(key: string) { + public deselect(id: string) { const selection = this.#selection.getValue(); - this.#selection.next(selection.filter((k) => k !== key)); + this.#selection.next(selection.filter((k) => k !== id)); this.requestUpdate('selection'); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/create-user/create-user-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/create-user/create-user-modal.element.ts index 73dc26085b..d86530ad45 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/create-user/create-user-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/create-user/create-user-modal.element.ts @@ -126,7 +126,7 @@ export class UmbCreateUserModalElement extends UmbModalBaseElement { if (!this._createdUser) return; this._closeModal(); - history.pushState(null, '', '/section/users/view/users/user/' + this._createdUser?.key); //TODO: URL Should be dynamic + history.pushState(null, '', '/section/users/view/users/user/' + this._createdUser?.id); //TODO: URL Should be dynamic } private _renderForm() { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/invite-user/invite-user-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/invite-user/invite-user-modal.element.ts index 492590d4ce..2c1eaed271 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/invite-user/invite-user-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/invite-user/invite-user-modal.element.ts @@ -105,7 +105,7 @@ export class UmbInviteUserModalElement extends UmbModalBaseElement { if (!this._invitedUser) return; this._closeModal(); - history.pushState(null, '', 'section/users/view/users/user/' + this._invitedUser?.key); //TODO: URL Should be dynamic + history.pushState(null, '', 'section/users/view/users/user/' + this._invitedUser?.id); //TODO: URL Should be dynamic } private _renderForm() { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/user-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/user-picker-modal.element.ts index faa135b3de..a1f18890a1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/user-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/user-picker-modal.element.ts @@ -86,9 +86,9 @@ export class UmbUserPickerModalElement extends UmbModalElementPickerBase html`
this.handleSelection(item.key)} - @keydown=${(e: KeyboardEvent) => this._handleKeydown(e, item.key)} - class=${this.isSelected(item.key) ? 'item selected' : 'item'}> + @click=${() => this.handleSelection(item.id)} + @keydown=${(e: KeyboardEvent) => this._handleKeydown(e, item.id)} + class=${this.isSelected(item.id) ? 'item selected' : 'item'}> ${item.name}
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/repository/user.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/repository/user.store.ts index 4c6791de91..a52581484d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/repository/user.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/repository/user.store.ts @@ -15,7 +15,7 @@ export const UMB_USER_STORE_CONTEXT_TOKEN = new UmbContextToken('U * @description - Data Store for Users */ export class UmbUserStore extends UmbStoreBase implements UmbEntityDetailStore { - #users = new ArrayState([], (x) => x.key); + #users = new ArrayState([], (x) => x.id); public users = this.#users.asObservable(); #totalUsers = new NumberState(0); @@ -25,14 +25,14 @@ export class UmbUserStore extends UmbStoreBase implements UmbEntityDetailStore)} * @memberof UmbDataTypeStore */ - getByKey(key: string) { + getByKey(id: string) { // TODO: use Fetcher API. // TODO: only fetch if the data type is not in the store? - fetch(`/umbraco/backoffice/users/details/${key}`) + fetch(`/umbraco/backoffice/users/details/${id}`) .then((res) => res.json()) .then((data) => { this.#users.appendOne(data); }); return this.#users.getObservablePart((users: Array) => - users.find((user: UmbUserStoreItemType) => user.key === key) + users.find((user: UmbUserStoreItemType) => user.id === id) ); } /** - * @description - Request Users by keys. - * @param {string} key + * @description - Request Users by ids. + * @param {string} id * @return {*} {(Observable)} * @memberof UmbDataTypeStore */ - getByKeys(keys: Array) { - const params = keys.map((key) => `key=${key}`).join('&'); + getByKeys(ids: Array) { + const params = ids.map((id) => `id=${id}`).join('&'); fetch(`/umbraco/backoffice/users/getByKeys?${params}`) .then((res) => res.json()) .then((data) => { @@ -93,7 +93,7 @@ export class UmbUserStore extends UmbStoreBase implements UmbEntityDetailStore) => - users.filter((user: UmbUserStoreItemType) => keys.includes(user.key)) + users.filter((user: UmbUserStoreItemType) => ids.includes(user.id)) ); } @@ -124,7 +124,7 @@ export class UmbUserStore extends UmbStoreBase implements UmbEntityDetailStore enabledKeys.includes(user.key)); + const storedUsers = this.#users.getValue().filter((user) => enabledKeys.includes(user.id)); storedUsers.forEach((user) => { user.status = 'enabled'; @@ -147,10 +147,10 @@ export class UmbUserStore extends UmbStoreBase implements UmbEntityDetailStore enabledKeys.includes(user.key)); + const storedUsers = this.#users.getValue().filter((user) => enabledKeys.includes(user.id)); storedUsers.forEach((user) => { - if (userKeys.includes(user.key)) { + if (userKeys.includes(user.id)) { user.userGroups.push(userGroup); } else { user.userGroups = user.userGroups.filter((group) => group !== userGroup); @@ -174,7 +174,7 @@ export class UmbUserStore extends UmbStoreBase implements UmbEntityDetailStore enabledKeys.includes(user.key)); + const storedUsers = this.#users.getValue().filter((user) => enabledKeys.includes(user.id)); storedUsers.forEach((user) => { user.userGroups = user.userGroups.filter((group) => group !== userGroup); @@ -197,7 +197,7 @@ export class UmbUserStore extends UmbStoreBase implements UmbEntityDetailStore disabledKeys.includes(user.key)); + const storedUsers = this.#users.getValue().filter((user) => disabledKeys.includes(user.id)); storedUsers.forEach((user) => { user.status = 'disabled'; @@ -265,7 +265,7 @@ export class UmbUserStore extends UmbStoreBase implements UmbEntityDetailStore u.key === user.key); + // const index = users.findIndex((u) => u.id === user.id); // if (index === -1) return; // users[index] = { ...users[index], ...user }; // console.log('updateUser', user, users[index]); @@ -277,7 +277,7 @@ export class UmbUserStore extends UmbStoreBase implements UmbEntityDetailStore u.key === key); + // const index = users.findIndex((u) => u.id === id); // if (index === -1) return; // users.splice(index, 1); // this._users.next(users); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace-edit.element.ts index 06e603d4d9..c0a9430280 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace-edit.element.ts @@ -127,8 +127,8 @@ export class UmbUserWorkspaceEditElement extends UmbLitElement { // TODO: make sure we use the workspace for this: /* isDisabled - ? this._workspaceContext.getStore()?.enableUsers([this._user.key]) - : this._workspaceContext.getStore()?.disableUsers([this._user.key]); + ? this._workspaceContext.getStore()?.enableUsers([this._user.id]) + : this._workspaceContext.getStore()?.disableUsers([this._user.id]); */ } @@ -136,7 +136,7 @@ export class UmbUserWorkspaceEditElement extends UmbLitElement { if (!this._user || !this._workspaceContext) return; // TODO: make sure we use the workspace for this: - //this._workspaceContext.getStore()?.deleteUsers([this._user.key]); + //this._workspaceContext.getStore()?.deleteUsers([this._user.id]); history.pushState(null, '', 'section/users/view/users/overview'); } @@ -166,7 +166,7 @@ export class UmbUserWorkspaceEditElement extends UmbLitElement { `; - //TODO Render the name of the content start node instead of it's key. + //TODO Render the name of the content start node instead of it's id. return repeat( this._user.contentStartNodes, (node) => node, @@ -204,7 +204,7 @@ export class UmbUserWorkspaceEditElement extends UmbLitElement { ` ); - if (this._currentUser?.key !== this._user?.key) + if (this._currentUser?.id !== this._user?.id) buttons.push(html`
Key: - ${this._user.key} + ${this._user.id}
`; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.context.ts index 545a9e3c1b..66d6589d2c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.context.ts @@ -31,7 +31,7 @@ export class UmbUserWorkspaceContext } getEntityType = this.#manager.getEntityType; getUnique = this.#manager.getEntityKey; - getEntityKey = this.#manager.getEntityKey; + getEntityId = this.#manager.getEntityKey; getStore = this.#manager.getStore; getData = this.#manager.getData as any; // TODO: fix type mismatch, this will mos likely be handled when switching to repositories. load = this.#manager.load; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.element.ts index 1a531ae058..29f5f99569 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.element.ts @@ -20,11 +20,11 @@ export class UmbUserWorkspaceElement extends UmbLitElement { @state() _routes: any[] = [ { - path: 'edit/:key', + path: 'edit/:id', component: () => this.#element, setup: (component: HTMLElement, info: IRoutingInfo) => { - const key = info.match.params.key; - this.#workspaceContext.load(key); + const id = info.match.params.id; + this.#workspaceContext.load(id); }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/data-type.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/data-type.data.ts index ff90a90a2e..fccf52dbfa 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/data-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/data-type.data.ts @@ -12,15 +12,15 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Folder 1', - key: 'dt-folder1', - parentKey: null, + id: 'dt-folder1', + parentId: null, isFolder: true, }, { $type: 'data-type', type: 'data-type', - key: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', - parentKey: null, + id: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', + parentId: null, name: 'Textstring', propertyEditorAlias: 'Umbraco.TextBox', propertyEditorUiAlias: 'Umb.PropertyEditorUI.TextBox', @@ -30,8 +30,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Text', - key: 'dt-textBox', - parentKey: null, + id: 'dt-textBox', + parentId: null, propertyEditorAlias: 'Umbraco.TextBox', propertyEditorUiAlias: 'Umb.PropertyEditorUI.TextBox', values: [ @@ -45,8 +45,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Text Area', - key: 'dt-textArea', - parentKey: null, + id: 'dt-textArea', + parentId: null, propertyEditorAlias: 'Umbraco.TextArea', propertyEditorUiAlias: 'Umb.PropertyEditorUI.TextArea', values: [], @@ -55,8 +55,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'My JS Property Editor', - key: 'dt-custom', - parentKey: null, + id: 'dt-custom', + parentId: null, propertyEditorAlias: 'Umbraco.JSON', propertyEditorUiAlias: 'My.PropertyEditorUI.Custom', values: [], @@ -65,8 +65,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Color Picker', - key: 'dt-colorPicker', - parentKey: null, + id: 'dt-colorPicker', + parentId: null, propertyEditorAlias: 'Umbraco.ColorPicker', propertyEditorUiAlias: 'Umb.PropertyEditorUI.ColorPicker', values: [ @@ -121,8 +121,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Content Picker', - key: 'dt-contentPicker', - parentKey: null, + id: 'dt-contentPicker', + parentId: null, propertyEditorAlias: 'Umbraco.ContentPicker', propertyEditorUiAlias: 'Umb.PropertyEditorUI.DocumentPicker', values: [ @@ -136,8 +136,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Eye Dropper', - key: 'dt-eyeDropper', - parentKey: null, + id: 'dt-eyeDropper', + parentId: null, propertyEditorAlias: 'Umbraco.ColorPicker.EyeDropper', propertyEditorUiAlias: 'Umb.PropertyEditorUI.EyeDropper', values: [ @@ -173,8 +173,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Multi URL Picker', - key: 'dt-multiUrlPicker', - parentKey: null, + id: 'dt-multiUrlPicker', + parentId: null, propertyEditorAlias: 'Umbraco.MultiUrlPicker', propertyEditorUiAlias: 'Umb.PropertyEditorUI.MultiUrlPicker', values: [ @@ -204,8 +204,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Multi Node Tree Picker', - key: 'dt-multiNodeTreePicker', - parentKey: null, + id: 'dt-multiNodeTreePicker', + parentId: null, propertyEditorAlias: 'Umbraco.MultiNodeTreePicker', propertyEditorUiAlias: 'Umb.PropertyEditorUI.TreePicker', values: [], @@ -214,8 +214,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Date Picker', - key: 'dt-datePicker', - parentKey: null, + id: 'dt-datePicker', + parentId: null, propertyEditorAlias: 'Umbraco.DateTime', propertyEditorUiAlias: 'Umb.PropertyEditorUI.DatePicker', values: [ @@ -233,8 +233,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', name: 'Date Picker With Time', type: 'data-type', - key: 'dt-datePicker-time', - parentKey: null, + id: 'dt-datePicker-time', + parentId: null, propertyEditorAlias: 'Umbraco.DateTime', propertyEditorUiAlias: 'Umb.PropertyEditorUI.DatePicker', values: [ @@ -252,8 +252,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', name: 'Time', type: 'data-type', - key: 'dt-time', - parentKey: null, + id: 'dt-time', + parentId: null, propertyEditorAlias: 'Umbraco.DateTime', propertyEditorUiAlias: 'Umb.PropertyEditorUI.DatePicker', values: [ @@ -271,8 +271,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Email', - key: 'dt-email', - parentKey: null, + id: 'dt-email', + parentId: null, propertyEditorAlias: 'Umbraco.EmailAddress', propertyEditorUiAlias: 'Umb.PropertyEditorUI.Email', values: [], @@ -281,8 +281,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Multiple Text String', - key: 'dt-multipleTextString', - parentKey: null, + id: 'dt-multipleTextString', + parentId: null, propertyEditorAlias: 'Umbraco.MultipleTextString', propertyEditorUiAlias: 'Umb.PropertyEditorUI.MultipleTextString', values: [ @@ -300,8 +300,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Dropdown', - key: 'dt-dropdown', - parentKey: null, + id: 'dt-dropdown', + parentId: null, propertyEditorAlias: 'Umbraco.DropDown.Flexible', propertyEditorUiAlias: 'Umb.PropertyEditorUI.Dropdown', values: [], @@ -310,8 +310,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Slider', - key: 'dt-slider', - parentKey: null, + id: 'dt-slider', + parentId: null, propertyEditorAlias: 'Umbraco.Slider', propertyEditorUiAlias: 'Umb.PropertyEditorUI.Slider', values: [ @@ -345,8 +345,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Toggle', - key: 'dt-toggle', - parentKey: null, + id: 'dt-toggle', + parentId: null, propertyEditorAlias: 'Umbraco.TrueFalse', propertyEditorUiAlias: 'Umb.PropertyEditorUI.Toggle', values: [ @@ -372,8 +372,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Tags', - key: 'dt-tags', - parentKey: null, + id: 'dt-tags', + parentId: null, propertyEditorAlias: 'Umbraco.Tags', propertyEditorUiAlias: 'Umb.PropertyEditorUI.Tags', values: [], @@ -382,8 +382,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Markdown Editor', - key: 'dt-markdownEditor', - parentKey: null, + id: 'dt-markdownEditor', + parentId: null, propertyEditorAlias: 'Umbraco.MarkdownEditor', propertyEditorUiAlias: 'Umb.PropertyEditorUI.MarkdownEditor', values: [], @@ -392,8 +392,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Radio Button List', - key: 'dt-radioButtonList', - parentKey: null, + id: 'dt-radioButtonList', + parentId: null, propertyEditorAlias: 'Umbraco.RadioButtonList', propertyEditorUiAlias: 'Umb.PropertyEditorUI.RadioButtonList', values: [ @@ -411,8 +411,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Checkbox List', - key: 'dt-checkboxList', - parentKey: null, + id: 'dt-checkboxList', + parentId: null, propertyEditorAlias: 'Umbraco.CheckboxList', propertyEditorUiAlias: 'Umb.PropertyEditorUI.CheckboxList', values: [ @@ -430,8 +430,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Block List', - key: 'dt-blockList', - parentKey: null, + id: 'dt-blockList', + parentId: null, propertyEditorAlias: 'Umbraco.BlockList', propertyEditorUiAlias: 'Umb.PropertyEditorUI.BlockList', values: [], @@ -440,8 +440,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Media Picker', - key: 'dt-mediaPicker', - parentKey: null, + id: 'dt-mediaPicker', + parentId: null, propertyEditorAlias: 'Umbraco.MediaPicker3', propertyEditorUiAlias: 'Umb.PropertyEditorUI.MediaPicker', values: [], @@ -450,8 +450,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Image Cropper', - key: 'dt-imageCropper', - parentKey: null, + id: 'dt-imageCropper', + parentId: null, propertyEditorAlias: 'Umbraco.ImageCropper', propertyEditorUiAlias: 'Umb.PropertyEditorUI.ImageCropper', values: [], @@ -460,8 +460,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Upload Field', - key: 'dt-uploadField', - parentKey: null, + id: 'dt-uploadField', + parentId: null, propertyEditorAlias: 'Umbraco.UploadField', propertyEditorUiAlias: 'Umb.PropertyEditorUI.UploadField', values: [ @@ -475,8 +475,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Block Grid', - key: 'dt-blockGrid', - parentKey: null, + id: 'dt-blockGrid', + parentId: null, propertyEditorAlias: 'Umbraco.BlockGrid', propertyEditorUiAlias: 'Umb.PropertyEditorUI.BlockGrid', values: [], @@ -485,8 +485,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Collection View', - key: 'dt-collectionView', - parentKey: null, + id: 'dt-collectionView', + parentId: null, propertyEditorAlias: 'Umbraco.ListView', propertyEditorUiAlias: 'Umb.PropertyEditorUI.CollectionView', values: [], @@ -495,8 +495,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Icon Picker', - key: 'dt-iconPicker', - parentKey: null, + id: 'dt-iconPicker', + parentId: null, propertyEditorAlias: 'Umbraco.IconPicker', propertyEditorUiAlias: 'Umb.PropertyEditorUI.IconPicker', values: [], @@ -505,8 +505,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Number Range', - key: 'dt-numberRange', - parentKey: null, + id: 'dt-numberRange', + parentId: null, propertyEditorAlias: 'Umbraco.JSON', propertyEditorUiAlias: 'Umb.PropertyEditorUI.NumberRange', values: [], @@ -515,8 +515,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Order Direction', - key: 'dt-orderDirection', - parentKey: null, + id: 'dt-orderDirection', + parentId: null, propertyEditorAlias: 'Umbraco.JSON', propertyEditorUiAlias: 'Umb.PropertyEditorUI.OrderDirection', values: [], @@ -525,8 +525,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Overlay Size', - key: 'dt-overlaySize', - parentKey: null, + id: 'dt-overlaySize', + parentId: null, propertyEditorAlias: 'Umbraco.JSON', propertyEditorUiAlias: 'Umb.PropertyEditorUI.OverlaySize', values: [], @@ -535,8 +535,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Rich Text Editor', - key: 'dt-richTextEditor', - parentKey: null, + id: 'dt-richTextEditor', + parentId: null, propertyEditorAlias: 'Umbraco.TinyMCE', propertyEditorUiAlias: 'Umb.PropertyEditorUI.TinyMCE', values: [], @@ -545,8 +545,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Label', - key: 'dt-label', - parentKey: null, + id: 'dt-label', + parentId: null, propertyEditorAlias: 'Umbraco.Label', propertyEditorUiAlias: 'Umb.PropertyEditorUI.Label', values: [], @@ -555,8 +555,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Integer', - key: 'dt-integer', - parentKey: null, + id: 'dt-integer', + parentId: null, propertyEditorAlias: 'Umbraco.Integer', propertyEditorUiAlias: 'Umb.PropertyEditorUI.Integer', values: [], @@ -565,8 +565,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Decimal', - key: 'dt-decimal', - parentKey: null, + id: 'dt-decimal', + parentId: null, propertyEditorAlias: 'Umbraco.Decimal', propertyEditorUiAlias: 'Umb.PropertyEditorUI.Decimal', values: [], @@ -575,8 +575,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'User Picker', - key: 'dt-userPicker', - parentKey: null, + id: 'dt-userPicker', + parentId: null, propertyEditorAlias: 'Umbraco.UserPicker', propertyEditorUiAlias: 'Umb.PropertyEditorUI.UserPicker', values: [], @@ -585,8 +585,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Member Picker', - key: 'dt-memberPicker', - parentKey: null, + id: 'dt-memberPicker', + parentId: null, propertyEditorAlias: 'Umbraco.MemberPicker', propertyEditorUiAlias: 'Umb.PropertyEditorUI.MemberPicker', values: [], @@ -595,8 +595,8 @@ export const data: Array<(DataTypeResponseModel & { type: 'data-type' }) | Folde $type: 'data-type', type: 'data-type', name: 'Member Group Picker', - key: 'dt-memberGroupPicker', - parentKey: null, + id: 'dt-memberGroupPicker', + parentId: null, propertyEditorAlias: 'Umbraco.MemberGroupPicker', propertyEditorUiAlias: 'Umb.PropertyEditorUI.MemberGroupPicker', values: [], @@ -613,25 +613,25 @@ class UmbDataTypeData extends UmbEntityData { - const rootItems = this.data.filter((item) => item.parentKey === null); + const rootItems = this.data.filter((item) => item.parentId === null); return rootItems.map((item) => createFolderTreeItem(item)); } - getTreeItemChildren(key: string): Array { - const childItems = this.data.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): Array { + const childItems = this.data.filter((item) => item.parentId === id); return childItems.map((item) => createFolderTreeItem(item)); } - getTreeItem(keys: Array): Array { - const items = this.data.filter((item) => keys.includes(item.key ?? '')); + getTreeItem(ids: Array): Array { + const items = this.data.filter((item) => ids.includes(item.id ?? '')); return items.map((item) => createFolderTreeItem(item)); } - createFolder(folder: CreateFolderRequestModel & { key: string | undefined }) { + createFolder(folder: CreateFolderRequestModel & { id: string | undefined }) { const newFolder: FolderTreeItemResponseModel = { name: folder.name, - key: folder.key, - parentKey: folder.parentKey, + id: folder.id, + parentId: folder.parentId, $type: 'data-type', type: 'data-type', isFolder: true, @@ -642,11 +642,11 @@ class UmbDataTypeData extends UmbEntityData item.key !== key); + deleteFolder(id: string) { + const item = this.getById(id) as FolderTreeItemResponseModel; + if (!item) throw new Error(`Item with id ${id} not found`); + if (!item.isFolder) throw new Error(`Item with id ${id} is not a folder`); + this.data = this.data.filter((item) => item.id !== id); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/dictionary.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/dictionary.data.ts index 8a76f7c398..c25318b39f 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/dictionary.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/dictionary.data.ts @@ -6,9 +6,9 @@ import type { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backen export const data: Array = [ { $type: '', - parentKey: null, + parentId: null, name: 'Hello', - key: 'aae7d0ab-53ba-485d-b8bd-12537f9925cb', + id: 'aae7d0ab-53ba-485d-b8bd-12537f9925cb', hasChildren: true, type: 'dictionary-item', isContainer: false, @@ -26,9 +26,9 @@ export const data: Array = [ }, { $type: '', - parentKey: 'aae7d0ab-53ba-485d-b8bd-12537f9925cb', + parentId: 'aae7d0ab-53ba-485d-b8bd-12537f9925cb', name: 'Hello again', - key: 'bbe7d0ab-53bb-485d-b8bd-12537f9925cb', + id: 'bbe7d0ab-53bb-485d-b8bd-12537f9925cb', hasChildren: false, type: 'dictionary-item', isContainer: false, @@ -56,17 +56,17 @@ class UmbDictionaryData extends UmbEntityData { } getTreeRoot(): Array { - const rootItems = this.data.filter((item) => item.parentKey === null); + const rootItems = this.data.filter((item) => item.parentId === null); return rootItems.map((item) => createEntityTreeItem(item)); } - getTreeItemChildren(key: string): Array { - const childItems = this.data.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): Array { + const childItems = this.data.filter((item) => item.parentId === id); return childItems.map((item) => createEntityTreeItem(item)); } - getTreeItem(keys: Array): Array { - const items = this.data.filter((item) => keys.includes(item.key ?? '')); + getTreeItem(ids: Array): Array { + const items = this.data.filter((item) => ids.includes(item.id ?? '')); return items.map((item) => createEntityTreeItem(item)); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/document-blueprint.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/document-blueprint.data.ts index 041417a449..9ac544bffd 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/document-blueprint.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/document-blueprint.data.ts @@ -5,7 +5,7 @@ export const data: Array = [ { name: 'Document Blueprint 1', type: 'document-blueprint', - key: '3fa85f64-5717-4562-b3fc-2c963f66afa6', + id: '3fa85f64-5717-4562-b3fc-2c963f66afa6', icon: 'umb:blueprint', documentTypeKey: 'd81c7957-153c-4b5a-aa6f-b434a4964624', properties: [], @@ -14,7 +14,7 @@ export const data: Array = [ { name: 'Document Blueprint 2', type: 'document-blueprint', - key: '3fa85f64-5717-4562-b3qc-2c963f66afa6', + id: '3fa85f64-5717-4562-b3qc-2c963f66afa6', icon: 'umb:blueprint', documentTypeKey: 'a99e4018-3ffc-486b-aa76-eecea9593d17', properties: [], diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/document-type.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/document-type.data.ts index 1df0a4c0ea..532186dde7 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/document-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/document-type.data.ts @@ -8,9 +8,9 @@ import { export const data: Array = [ { - allowedTemplateKeys: [], - defaultTemplateKey: null, - key: 'all-property-editors-document-type-key', + allowedTemplateIds: [], + defaultTemplateId: null, + id: 'all-property-editors-document-type-id', alias: 'blogPost', name: 'Blog Post', description: null, @@ -21,12 +21,12 @@ export const data: Array = [ isElement: false, properties: [ { - key: '2', - containerKey: 'all-properties-group-key', + id: '2', + containerId: 'all-properties-group-id', alias: 'colorPicker', name: 'Color Picker', description: '', - dataTypeKey: 'dt-colorPicker', + dataTypeId: 'dt-colorPicker', variesByCulture: false, variesBySegment: false, validation: { @@ -40,12 +40,12 @@ export const data: Array = [ }, }, { - key: '3', - containerKey: 'all-properties-group-key', + id: '3', + containerId: 'all-properties-group-key', alias: 'contentPicker', name: 'Content Picker', description: '', - dataTypeKey: 'dt-contentPicker', + dataTypeId: 'dt-contentPicker', variesByCulture: false, variesBySegment: false, validation: { @@ -59,12 +59,12 @@ export const data: Array = [ }, }, { - key: '4', - containerKey: 'all-properties-group-key', + id: '4', + containerId: 'all-properties-group-key', alias: 'eyeDropper', name: 'Eye Dropper', description: '', - dataTypeKey: 'dt-eyeDropper', + dataTypeId: 'dt-eyeDropper', variesByCulture: false, variesBySegment: false, validation: { @@ -78,12 +78,12 @@ export const data: Array = [ }, }, { - key: '5', - containerKey: 'all-properties-group-key', + id: '5', + containerId: 'all-properties-group-key', alias: 'multiUrlPicker', name: 'Multi URL Picker', description: '', - dataTypeKey: 'dt-multiUrlPicker', + dataTypeId: 'dt-multiUrlPicker', variesByCulture: true, variesBySegment: false, validation: { @@ -97,12 +97,12 @@ export const data: Array = [ }, }, { - key: '6', - containerKey: 'all-properties-group-key', + id: '6', + containerId: 'all-properties-group-key', alias: 'multiNodeTreePicker', name: 'Multi Node Tree Picker', description: '', - dataTypeKey: 'dt-multiNodeTreePicker', + dataTypeId: 'dt-multiNodeTreePicker', variesByCulture: false, variesBySegment: false, validation: { @@ -116,12 +116,12 @@ export const data: Array = [ }, }, { - key: '7', - containerKey: 'all-properties-group-key', + id: '7', + containerId: 'all-properties-group-key', alias: 'datePicker', name: 'Date Picker', description: '', - dataTypeKey: 'dt-datePicker', + dataTypeId: 'dt-datePicker', variesByCulture: false, variesBySegment: false, validation: { @@ -135,12 +135,12 @@ export const data: Array = [ }, }, { - key: '8', - containerKey: 'all-properties-group-key', + id: '8', + containerId: 'all-properties-group-key', alias: 'email', name: 'Email', description: '', - dataTypeKey: 'dt-email', + dataTypeId: 'dt-email', variesByCulture: false, variesBySegment: false, validation: { @@ -154,12 +154,12 @@ export const data: Array = [ }, }, { - key: '9', - containerKey: 'all-properties-group-key', + id: '9', + containerId: 'all-properties-group-key', alias: 'textBox', name: 'Text Box', description: '', - dataTypeKey: 'dt-textBox', + dataTypeId: 'dt-textBox', variesByCulture: false, variesBySegment: false, validation: { @@ -173,12 +173,12 @@ export const data: Array = [ }, }, { - key: '19', - containerKey: 'all-properties-group-key', + id: '19', + containerId: 'all-properties-group-key', alias: 'dropdown', name: 'Dropdown', description: '', - dataTypeKey: 'dt-dropdown', + dataTypeId: 'dt-dropdown', variesByCulture: false, variesBySegment: false, validation: { @@ -192,12 +192,12 @@ export const data: Array = [ }, }, { - key: '11', - containerKey: 'all-properties-group-key', + id: '11', + containerId: 'all-properties-group-key', alias: 'textArea', name: 'Text Area', description: '', - dataTypeKey: 'dt-textArea', + dataTypeId: 'dt-textArea', variesByCulture: false, variesBySegment: false, validation: { @@ -211,12 +211,12 @@ export const data: Array = [ }, }, { - key: '12', - containerKey: 'all-properties-group-key', + id: '12', + containerId: 'all-properties-group-key', alias: 'slider', name: 'Slider', description: '', - dataTypeKey: 'dt-slider', + dataTypeId: 'dt-slider', variesByCulture: false, variesBySegment: false, validation: { @@ -230,12 +230,12 @@ export const data: Array = [ }, }, { - key: '13', - containerKey: 'all-properties-group-key', + id: '13', + containerId: 'all-properties-group-key', alias: 'toggle', name: 'Toggle', description: '', - dataTypeKey: 'dt-toggle', + dataTypeId: 'dt-toggle', variesByCulture: false, variesBySegment: false, validation: { @@ -249,12 +249,12 @@ export const data: Array = [ }, }, { - key: '14', - containerKey: 'all-properties-group-key', + id: '14', + containerId: 'all-properties-group-key', alias: 'tags', name: 'Tags', description: '', - dataTypeKey: 'dt-tags', + dataTypeId: 'dt-tags', variesByCulture: false, variesBySegment: false, validation: { @@ -268,12 +268,12 @@ export const data: Array = [ }, }, { - key: '15', - containerKey: 'all-properties-group-key', + id: '15', + containerId: 'all-properties-group-key', alias: 'markdownEditor', name: 'MarkdownEditor', description: '', - dataTypeKey: 'dt-markdownEditor', + dataTypeId: 'dt-markdownEditor', variesByCulture: false, variesBySegment: false, validation: { @@ -287,12 +287,12 @@ export const data: Array = [ }, }, { - key: '16', - containerKey: 'all-properties-group-key', + id: '16', + containerId: 'all-properties-group-key', alias: 'radioButtonList', name: 'Radio Button List', description: '', - dataTypeKey: 'dt-radioButtonList', + dataTypeId: 'dt-radioButtonList', variesByCulture: false, variesBySegment: false, validation: { @@ -306,12 +306,12 @@ export const data: Array = [ }, }, { - key: '17', - containerKey: 'all-properties-group-key', + id: '17', + containerId: 'all-properties-group-key', alias: 'checkboxList', name: 'Checkbox List', description: '', - dataTypeKey: 'dt-checkboxList', + dataTypeId: 'dt-checkboxList', variesByCulture: false, variesBySegment: false, validation: { @@ -325,12 +325,12 @@ export const data: Array = [ }, }, { - key: '18', - containerKey: 'all-properties-group-key', + id: '18', + containerId: 'all-properties-group-key', alias: 'blockList', name: 'Block List', description: '', - dataTypeKey: 'dt-blockList', + dataTypeId: 'dt-blockList', variesByCulture: false, variesBySegment: false, validation: { @@ -344,12 +344,12 @@ export const data: Array = [ }, }, { - key: '19', - containerKey: 'all-properties-group-key', + id: '19', + containerId: 'all-properties-group-key', alias: 'mediaPicker', name: 'Media Picker', description: '', - dataTypeKey: 'dt-mediaPicker', + dataTypeId: 'dt-mediaPicker', variesByCulture: false, variesBySegment: false, validation: { @@ -363,12 +363,12 @@ export const data: Array = [ }, }, { - key: '20', - containerKey: 'all-properties-group-key', + id: '20', + containerId: 'all-properties-group-key', alias: 'imageCropper', name: 'Image Cropper', description: '', - dataTypeKey: 'dt-imageCropper', + dataTypeId: 'dt-imageCropper', variesByCulture: false, variesBySegment: false, validation: { @@ -382,12 +382,12 @@ export const data: Array = [ }, }, { - key: '21', - containerKey: 'all-properties-group-key', + id: '21', + containerId: 'all-properties-group-key', alias: 'uploadField', name: 'Upload Field', description: '', - dataTypeKey: 'dt-uploadField', + dataTypeId: 'dt-uploadField', variesByCulture: false, variesBySegment: false, validation: { @@ -401,12 +401,12 @@ export const data: Array = [ }, }, { - key: '22', - containerKey: 'all-properties-group-key', + id: '22', + containerId: 'all-properties-group-key', alias: 'blockGrid', name: 'Block Grid', description: '', - dataTypeKey: 'dt-blockGrid', + dataTypeId: 'dt-blockGrid', variesByCulture: false, variesBySegment: false, validation: { @@ -420,12 +420,12 @@ export const data: Array = [ }, }, { - key: '23', - containerKey: 'all-properties-group-key', + id: '23', + containerId: 'all-properties-group-key', alias: 'blockGrid', name: 'Icon Picker', description: '', - dataTypeKey: 'dt-iconPicker', + dataTypeId: 'dt-iconPicker', variesByCulture: false, variesBySegment: false, validation: { @@ -439,12 +439,12 @@ export const data: Array = [ }, }, { - key: '24', - containerKey: 'all-properties-group-key', + id: '24', + containerId: 'all-properties-group-key', alias: 'numberRange', name: 'Number Range', description: '', - dataTypeKey: 'dt-numberRange', + dataTypeId: 'dt-numberRange', variesByCulture: false, variesBySegment: false, validation: { @@ -458,12 +458,12 @@ export const data: Array = [ }, }, { - key: '25', - containerKey: 'all-properties-group-key', + id: '25', + containerId: 'all-properties-group-key', alias: 'orderDirection', name: 'Order Direction', description: '', - dataTypeKey: 'dt-orderDirection', + dataTypeId: 'dt-orderDirection', variesByCulture: false, variesBySegment: false, validation: { @@ -477,12 +477,12 @@ export const data: Array = [ }, }, { - key: '26', - containerKey: 'all-properties-group-key', + id: '26', + containerId: 'all-properties-group-key', alias: 'overlaySize', name: 'Overlay Size', description: '', - dataTypeKey: 'dt-overlaySize', + dataTypeId: 'dt-overlaySize', variesByCulture: false, variesBySegment: false, validation: { @@ -496,12 +496,12 @@ export const data: Array = [ }, }, { - key: '27', - containerKey: 'all-properties-group-key', + id: '27', + containerId: 'all-properties-group-key', alias: 'label', name: 'Label', description: '', - dataTypeKey: 'dt-label', + dataTypeId: 'dt-label', variesByCulture: false, variesBySegment: false, validation: { @@ -515,12 +515,12 @@ export const data: Array = [ }, }, { - key: '28', - containerKey: 'all-properties-group-key', + id: '28', + containerId: 'all-properties-group-key', alias: 'integer', name: 'Integer', description: '', - dataTypeKey: 'dt-integer', + dataTypeId: 'dt-integer', variesByCulture: false, variesBySegment: false, validation: { @@ -534,12 +534,12 @@ export const data: Array = [ }, }, { - key: '29', - containerKey: 'all-properties-group-key', + id: '29', + containerId: 'all-properties-group-key', alias: 'decimal', name: 'Decimal', description: '', - dataTypeKey: 'dt-decimal', + dataTypeId: 'dt-decimal', variesByCulture: false, variesBySegment: false, validation: { @@ -553,12 +553,12 @@ export const data: Array = [ }, }, { - key: '30', - containerKey: 'all-properties-group-key', + id: '30', + containerId: 'all-properties-group-key', alias: 'memberPicker', name: 'Member Picker', description: '', - dataTypeKey: 'dt-memberPicker', + dataTypeId: 'dt-memberPicker', variesByCulture: false, variesBySegment: false, validation: { @@ -572,12 +572,12 @@ export const data: Array = [ }, }, { - key: '31', - containerKey: 'all-properties-group-key', + id: '31', + containerId: 'all-properties-group-key', alias: 'memberGroupPicker', name: 'Member Group Picker', description: '', - dataTypeKey: 'dt-memberGroupPicker', + dataTypeId: 'dt-memberGroupPicker', variesByCulture: false, variesBySegment: false, validation: { @@ -591,12 +591,12 @@ export const data: Array = [ }, }, { - key: '32', - containerKey: 'all-properties-group-key', + id: '32', + containerId: 'all-properties-group-key', alias: 'userPicker', name: 'User Picker', description: '', - dataTypeKey: 'dt-userPicker', + dataTypeId: 'dt-userPicker', variesByCulture: false, variesBySegment: false, validation: { @@ -612,8 +612,8 @@ export const data: Array = [ ], containers: [ { - key: 'all-properties-group-key', - parentKey: null, + id: 'all-properties-group-key', + parentId: null, name: 'Content', type: 'Group', sortOrder: 0, @@ -629,9 +629,9 @@ export const data: Array = [ }, { - allowedTemplateKeys: [], - defaultTemplateKey: null, - key: '29643452-cff9-47f2-98cd-7de4b6807681', + allowedTemplateIds: [], + defaultTemplateId: null, + id: '29643452-cff9-47f2-98cd-7de4b6807681', alias: 'blogPost', name: 'Blog Post', description: null, @@ -642,12 +642,12 @@ export const data: Array = [ isElement: false, properties: [ { - key: '5b4ca208-134e-4865-b423-06e5e97adf3c', - containerKey: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75', + id: '5b4ca208-134e-4865-b423-06e5e97adf3c', + containerId: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75', alias: 'blogPostText', name: 'Blog Post Text', description: null, - dataTypeKey: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', + dataTypeId: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', variesByCulture: false, variesBySegment: false, validation: { @@ -661,12 +661,12 @@ export const data: Array = [ }, }, { - key: 'ef7096b6-7c9e-49ba-8d49-395111e65ea2', - containerKey: '227d6ed2-e118-4494-b8f2-deb69854a56a', + id: 'ef7096b6-7c9e-49ba-8d49-395111e65ea2', + containerId: '227d6ed2-e118-4494-b8f2-deb69854a56a', alias: 'blogTextStringUnderMasterTab', name: 'Blog text string under master tab', description: null, - dataTypeKey: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', + dataTypeId: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', variesByCulture: true, variesBySegment: false, validation: { @@ -680,12 +680,12 @@ export const data: Array = [ }, }, { - key: 'e010c429-b298-499a-9bfe-79687af8972a', - containerKey: '22177c49-ecba-4f2e-b7fa-3f2c04d02cfb', + id: 'e010c429-b298-499a-9bfe-79687af8972a', + containerId: '22177c49-ecba-4f2e-b7fa-3f2c04d02cfb', alias: 'blogTextStringUnderGroupUnderMasterTab', name: 'Blog text string under group under master tab', description: null, - dataTypeKey: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', + dataTypeId: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', variesByCulture: true, variesBySegment: false, validation: { @@ -699,12 +699,12 @@ export const data: Array = [ }, }, { - key: '1a22749a-c7d2-44bb-b36b-c977c2ced6ef', - containerKey: '2c943997-b685-432d-a6c5-601d8e7a298a', + id: '1a22749a-c7d2-44bb-b36b-c977c2ced6ef', + containerId: '2c943997-b685-432d-a6c5-601d8e7a298a', alias: 'localBlogTabString', name: 'Local Blog Tab String', description: null, - dataTypeKey: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', + dataTypeId: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', variesByCulture: false, variesBySegment: false, validation: { @@ -718,12 +718,12 @@ export const data: Array = [ }, }, { - key: '22', - containerKey: '2c943997-b685-432d-a6c5-601d8e7a298a', + id: '22', + containerId: '2c943997-b685-432d-a6c5-601d8e7a298a', alias: 'blockGrid', name: 'Block Grid', description: '', - dataTypeKey: 'dt-blockGrid', + dataTypeId: 'dt-blockGrid', variesByCulture: false, variesBySegment: false, validation: { @@ -739,29 +739,29 @@ export const data: Array = [ ], containers: [ { - key: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75', - parentKey: null, + id: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75', + parentId: null, name: 'Content-group', type: 'Group', sortOrder: 0, }, { - key: '227d6ed2-e118-4494-b8f2-deb69854a56a', - parentKey: null, + id: '227d6ed2-e118-4494-b8f2-deb69854a56a', + parentId: null, name: 'Master Tab', type: 'Tab', sortOrder: 0, }, { - key: '22177c49-ecba-4f2e-b7fa-3f2c04d02cfb', - parentKey: '227d6ed2-e118-4494-b8f2-deb69854a56a', + id: '22177c49-ecba-4f2e-b7fa-3f2c04d02cfb', + parentId: '227d6ed2-e118-4494-b8f2-deb69854a56a', name: 'Blog Group under master tab', type: 'Group', sortOrder: 0, }, { - key: '2c943997-b685-432d-a6c5-601d8e7a298a', - parentKey: null, + id: '2c943997-b685-432d-a6c5-601d8e7a298a', + parentId: null, name: 'Local blog tab', type: 'Tab', sortOrder: 1, @@ -769,17 +769,17 @@ export const data: Array = [ ], allowedContentTypes: [ { - key: '29643452-cff9-47f2-98cd-7de4b6807681', + id: '29643452-cff9-47f2-98cd-7de4b6807681', sortOrder: 0, }, ], compositions: [ { - key: '5035d7d9-0a63-415c-9e75-ee2cf931db92', + id: '5035d7d9-0a63-415c-9e75-ee2cf931db92', compositionType: ContentTypeCompositionTypeModel.INHERITANCE, }, { - key: '8f68ba66-6fb2-4778-83b8-6ab4ca3a7c5d', + id: '8f68ba66-6fb2-4778-83b8-6ab4ca3a7c5d', compositionType: ContentTypeCompositionTypeModel.COMPOSITION, }, ], @@ -790,9 +790,9 @@ export const data: Array = [ }, }, { - allowedTemplateKeys: ['916cfecc-3295-490c-a16d-c41fa9f72980'], - defaultTemplateKey: '916cfecc-3295-490c-a16d-c41fa9f72980', - key: '5035d7d9-0a63-415c-9e75-ee2cf931db92', + allowedTemplateIds: ['916cfecc-3295-490c-a16d-c41fa9f72980'], + defaultTemplateId: '916cfecc-3295-490c-a16d-c41fa9f72980', + id: '5035d7d9-0a63-415c-9e75-ee2cf931db92', alias: 'masterPage', name: 'Master Page', description: null, @@ -803,12 +803,12 @@ export const data: Array = [ isElement: false, properties: [ { - key: '5e5f7456-c751-4846-9f2b-47965cc96ec6', - containerKey: '6f281e5a-0242-4649-bd9e-d6bf87f92b41', + id: '5e5f7456-c751-4846-9f2b-47965cc96ec6', + containerId: '6f281e5a-0242-4649-bd9e-d6bf87f92b41', alias: 'masterText', name: 'Master text', description: null, - dataTypeKey: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', + dataTypeId: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', variesByCulture: false, variesBySegment: false, validation: { @@ -824,8 +824,8 @@ export const data: Array = [ ], containers: [ { - key: '6f281e5a-0242-4649-bd9e-d6bf87f92b41', - parentKey: null, + id: '6f281e5a-0242-4649-bd9e-d6bf87f92b41', + parentId: null, name: 'Master Tab', type: 'Tab', sortOrder: 0, @@ -840,9 +840,9 @@ export const data: Array = [ }, }, { - allowedTemplateKeys: [], - defaultTemplateKey: null, - key: '8f68ba66-6fb2-4778-83b8-6ab4ca3a7c5d', + allowedTemplateIds: [], + defaultTemplateId: null, + id: '8f68ba66-6fb2-4778-83b8-6ab4ca3a7c5d', alias: 'baseElementType', name: 'Base Element Type', description: null, @@ -853,12 +853,12 @@ export const data: Array = [ isElement: true, properties: [ { - key: 'b92de6ac-1a22-4a45-a481-b6cae1cccbbf', - containerKey: '1e845ca8-1e3e-4b03-be1d-0b4149ce2129', + id: 'b92de6ac-1a22-4a45-a481-b6cae1cccbbf', + containerId: '1e845ca8-1e3e-4b03-be1d-0b4149ce2129', alias: 'pageTitle', name: 'Page title', description: null, - dataTypeKey: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', + dataTypeId: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', variesByCulture: false, variesBySegment: false, validation: { @@ -874,8 +874,8 @@ export const data: Array = [ ], containers: [ { - key: '1e845ca8-1e3e-4b03-be1d-0b4149ce2129', - parentKey: null, + id: '1e845ca8-1e3e-4b03-be1d-0b4149ce2129', + parentId: null, name: 'Content-group', type: 'Group', sortOrder: 0, @@ -890,13 +890,13 @@ export const data: Array = [ }, }, { - allowedTemplateKeys: [ + allowedTemplateIds: [ '2bf464b6-3aca-4388-b043-4eb439cc2643', '9a84c0b3-03b4-4dd4-84ac-706740ac0f71', '9a84c0b3-03b4-4dd4-84ac-706740ac0f72', ], - defaultTemplateKey: '2bf464b6-3aca-4388-b043-4eb439cc2643', - key: 'simple-document-type-key', + defaultTemplateId: '2bf464b6-3aca-4388-b043-4eb439cc2643', + id: 'simple-document-type-key', alias: 'simpleDocumentType', name: 'Simple Document Type', description: null, @@ -907,12 +907,12 @@ export const data: Array = [ isElement: false, properties: [ { - key: '1680d4d2-cda8-4ac2-affd-a69fc10382b1', - containerKey: '341b8521-fd43-4333-ae7a-a10cbbc6f4b0', + id: '1680d4d2-cda8-4ac2-affd-a69fc10382b1', + containerId: '341b8521-fd43-4333-ae7a-a10cbbc6f4b0', alias: 'prop1', name: 'Prop 1', description: null, - dataTypeKey: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', + dataTypeId: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', variesByCulture: false, variesBySegment: false, validation: { @@ -928,16 +928,16 @@ export const data: Array = [ ], containers: [ { - key: '341b8521-fd43-4333-ae7a-a10cbbc6f4b0', - parentKey: null, + id: '341b8521-fd43-4333-ae7a-a10cbbc6f4b0', + parentId: null, name: 'Content', type: 'Group', sortOrder: 0, }, ], allowedContentTypes: [ - { key: 'simple-document-type-key', sortOrder: 0 }, - { key: 'simple-document-type-2-key', sortOrder: 0 }, + { id: 'simple-document-type-key', sortOrder: 0 }, + { id: 'simple-document-type-2-key', sortOrder: 0 }, ], compositions: [], cleanup: { @@ -947,9 +947,9 @@ export const data: Array = [ }, }, { - allowedTemplateKeys: [], - defaultTemplateKey: null, - key: 'simple-document-type-2-key', + allowedTemplateIds: [], + defaultTemplateId: null, + id: 'simple-document-type-2-key', alias: 'simpleDocumentType2', name: 'Simple Document Type 2', description: null, @@ -960,12 +960,12 @@ export const data: Array = [ isElement: false, properties: [ { - key: '82d4b050-b128-42fe-ac8e-d5586e533592', - containerKey: 'b275052a-1868-4901-bc8c-2b35b78a9ab2', + id: '82d4b050-b128-42fe-ac8e-d5586e533592', + containerId: 'b275052a-1868-4901-bc8c-2b35b78a9ab2', alias: 'prop1', name: 'Prop 1', description: null, - dataTypeKey: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', + dataTypeId: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', variesByCulture: false, variesBySegment: false, validation: { @@ -979,12 +979,12 @@ export const data: Array = [ }, }, { - key: 'beadc69a-d669-4d01-9919-98bafba31e57', - containerKey: 'b275052a-1868-4901-bc8c-2b35b78a9ab2', + id: 'beadc69a-d669-4d01-9919-98bafba31e57', + containerId: 'b275052a-1868-4901-bc8c-2b35b78a9ab2', alias: 'prop2', name: 'Prop 2', description: null, - dataTypeKey: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', + dataTypeId: '0cc0eba1-9960-42c9-bf9b-60e150b429ae', variesByCulture: false, variesBySegment: false, validation: { @@ -1000,14 +1000,14 @@ export const data: Array = [ ], containers: [ { - key: 'b275052a-1868-4901-bc8c-2b35b78a9ab2', - parentKey: null, + id: 'b275052a-1868-4901-bc8c-2b35b78a9ab2', + parentId: null, name: 'Content', type: 'Group', sortOrder: 0, }, ], - allowedContentTypes: [{ key: 'simple-document-type-key', sortOrder: 0 }], + allowedContentTypes: [{ id: 'simple-document-type-key', sortOrder: 0 }], compositions: [], cleanup: { preventCleanup: false, @@ -1023,9 +1023,9 @@ export const treeData: Array = [ name: 'All property editors document type', type: 'document-type', hasChildren: false, - key: 'all-property-editors-document-type-key', + id: 'all-property-editors-document-type-id', isContainer: false, - parentKey: null, + parentId: null, icon: '', }, { @@ -1033,9 +1033,9 @@ export const treeData: Array = [ name: 'Page Document Type', type: 'document-type', hasChildren: false, - key: '29643452-cff9-47f2-98cd-7de4b6807681', + id: '29643452-cff9-47f2-98cd-7de4b6807681', isContainer: false, - parentKey: null, + parentId: null, icon: 'umb:document', }, { @@ -1043,9 +1043,9 @@ export const treeData: Array = [ name: 'Page Document Type Compositional', type: 'document-type', hasChildren: false, - key: '5035d7d9-0a63-415c-9e75-ee2cf931db92', + id: '5035d7d9-0a63-415c-9e75-ee2cf931db92', isContainer: false, - parentKey: null, + parentId: null, icon: 'umb:document', }, { @@ -1053,9 +1053,9 @@ export const treeData: Array = [ name: 'Page Document Type Inherited', type: 'document-type', hasChildren: false, - key: '8f68ba66-6fb2-4778-83b8-6ab4ca3a7c5d', + id: '8f68ba66-6fb2-4778-83b8-6ab4ca3a7c5d', isContainer: false, - parentKey: null, + parentId: null, icon: 'umb:document', }, { @@ -1063,9 +1063,9 @@ export const treeData: Array = [ name: 'Simple Document Type', type: 'document-type', hasChildren: false, - key: 'simple-document-type-key', + id: 'simple-document-type-key', isContainer: false, - parentKey: null, + parentId: null, icon: 'umb:document', }, { @@ -1073,9 +1073,9 @@ export const treeData: Array = [ name: 'Simple Document Type 2', type: 'document-type', hasChildren: false, - key: 'simple-document-type-2-key', + id: 'simple-document-type-2-key', isContainer: false, - parentKey: null, + parentId: null, icon: 'umb:document', }, ]; @@ -1092,24 +1092,24 @@ class UmbDocumentTypeData extends UmbEntityData { } getTreeRoot(): Array { - const rootItems = this.treeData.filter((item) => item.parentKey === null); + const rootItems = this.treeData.filter((item) => item.parentId === null); return rootItems.map((item) => createDocumentTypeTreeItem(item)); } - getTreeItemChildren(key: string): Array { - const childItems = this.treeData.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): Array { + const childItems = this.treeData.filter((item) => item.parentId === id); return childItems.map((item) => createDocumentTypeTreeItem(item)); } - getTreeItem(keys: Array): Array { - const items = this.treeData.filter((item) => keys.includes(item.key ?? '')); + getTreeItem(ids: Array): Array { + const items = this.treeData.filter((item) => ids.includes(item.id ?? '')); return items.map((item) => createDocumentTypeTreeItem(item)); } - getAllowedTypesOf(key: string): Array { - const documentType = this.getByKey(key); - const allowedTypeKeys = documentType?.allowedContentTypes?.map((documentType) => documentType.key) ?? []; - const items = this.treeData.filter((item) => allowedTypeKeys.includes(item.key ?? '')); + getAllowedTypesOf(id: string): Array { + const documentType = this.getById(id); + const allowedTypeKeys = documentType?.allowedContentTypes?.map((documentType) => documentType.id) ?? []; + const items = this.treeData.filter((item) => allowedTypeKeys.includes(item.id ?? '')); return items.map((item) => createDocumentTypeTreeItem(item)); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/document.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/document.data.ts index e1fa80708c..15224b187d 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/document.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/document.data.ts @@ -15,9 +15,9 @@ export const data: Array = [ url: '/', }, ], - templateKey: null, - key: 'all-property-editors-document-key', - contentTypeKey: 'all-property-editors-document-type-key', + templateId: null, + id: 'all-property-editors-document-id', + contentTypeId: 'all-property-editors-document-type-id', values: [ { $type: '', @@ -305,9 +305,9 @@ export const data: Array = [ url: '/', }, ], - templateKey: null, - key: 'c05da24d-7740-447b-9cdc-bd8ce2172e38', - contentTypeKey: '29643452-cff9-47f2-98cd-7de4b6807681', + templateId: null, + id: 'c05da24d-7740-447b-9cdc-bd8ce2172e38', + contentTypeId: '29643452-cff9-47f2-98cd-7de4b6807681', values: [ { $type: '', @@ -435,9 +435,9 @@ export const data: Array = [ }, { urls: [], - templateKey: null, - key: 'fd56a0b5-01a0-4da2-b428-52773bfa9cc4', - contentTypeKey: '29643452-cff9-47f2-98cd-7de4b6807681', + templateId: null, + id: 'fd56a0b5-01a0-4da2-b428-52773bfa9cc4', + contentTypeId: '29643452-cff9-47f2-98cd-7de4b6807681', values: [ { $type: '', @@ -511,9 +511,9 @@ export const data: Array = [ }, { urls: [], - templateKey: null, - key: 'simple-document-key', - contentTypeKey: 'simple-document-type-key', + templateId: null, + id: 'simple-document-id', + contentTypeId: 'simple-document-type-id', variants: [ { $type: '', @@ -537,9 +537,9 @@ export const treeData: Array = [ isEdited: false, noAccess: false, isTrashed: false, - key: 'all-property-editors-document-key', + id: 'all-property-editors-document-id', isContainer: false, - parentKey: null, + parentId: null, name: 'All property editors', type: 'document', icon: 'document', @@ -552,9 +552,9 @@ export const treeData: Array = [ isEdited: false, noAccess: false, isTrashed: false, - key: 'c05da24d-7740-447b-9cdc-bd8ce2172e38', + id: 'c05da24d-7740-447b-9cdc-bd8ce2172e38', isContainer: false, - parentKey: null, + parentId: null, name: 'Article in english', type: 'document', icon: 'document', @@ -567,9 +567,9 @@ export const treeData: Array = [ isEdited: false, noAccess: false, isTrashed: false, - key: 'fd56a0b5-01a0-4da2-b428-52773bfa9cc4', + id: 'fd56a0b5-01a0-4da2-b428-52773bfa9cc4', isContainer: false, - parentKey: 'c05da24d-7740-447b-9cdc-bd8ce2172e38', + parentId: 'c05da24d-7740-447b-9cdc-bd8ce2172e38', name: 'Blog post B', type: 'document', icon: 'document', @@ -581,9 +581,9 @@ export const treeData: Array = [ type: 'document', icon: 'document', hasChildren: false, - key: 'f6n7a5b2-e7c1-463a-956bc-6ck5b9bdf447', + id: 'f6n7a5b2-e7c1-463a-956bc-6ck5b9bdf447', isContainer: false, - parentKey: 'cdd30288-2d1c-41b4-89a9-61647b4a10d5', + parentId: 'cdd30288-2d1c-41b4-89a9-61647b4a10d5', noAccess: false, isProtected: false, isPublished: false, @@ -596,9 +596,9 @@ export const treeData: Array = [ type: 'document', icon: 'document', hasChildren: false, - key: 'simple-document-key', + id: 'simple-document-id', isContainer: false, - parentKey: null, + parentId: null, noAccess: false, isProtected: false, isPublished: false, @@ -619,21 +619,21 @@ class UmbDocumentData extends UmbEntityData { } getTreeRoot(): PagedDocumentTreeItemResponseModel { - const items = this.treeData.filter((item) => item.parentKey === null); + const items = this.treeData.filter((item) => item.parentId === null); const treeItems = items.map((item) => createDocumentTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItemChildren(key: string): PagedDocumentTreeItemResponseModel { - const items = this.treeData.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): PagedDocumentTreeItemResponseModel { + const items = this.treeData.filter((item) => item.parentId === id); const treeItems = items.map((item) => createDocumentTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItem(keys: Array): Array { - const items = this.treeData.filter((item) => keys.includes(item.key ?? '')); + getTreeItem(ids: Array): Array { + const items = this.treeData.filter((item) => ids.includes(item.id ?? '')); return items.map((item) => createDocumentTreeItem(item)); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/entity.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/entity.data.ts index d2e43b9f49..c0fb1ac135 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/entity.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/entity.data.ts @@ -11,16 +11,16 @@ export class UmbEntityData extends UmbData { return this.data.slice(skip, skip + take); } - getByKey(key: string) { - return this.data.find((item) => item.key === key); + getById(id: string) { + return this.data.find((item) => item.id === id); } - getByKeys(keys: Array) { - return this.data.filter((item) => keys.includes(item.key)); + getByIds(ids: Array) { + return this.data.filter((item) => ids.includes(item.id)); } save(saveItem: T) { - const foundIndex = this.data.findIndex((item) => item.key === saveItem.key); + const foundIndex = this.data.findIndex((item) => item.id === saveItem.id); if (foundIndex !== -1) { // update this.data[foundIndex] = saveItem; @@ -33,12 +33,12 @@ export class UmbEntityData extends UmbData { return saveItem; } - move(keys: Array, destinationKey: string) { - const items = this.getByKeys(keys); + move(ids: Array, destinationKey: string) { + const items = this.getByIds(ids); const movedItems = items.map((item) => { return { ...item, - parentKey: destinationKey, + parentId: destinationKey, }; }); @@ -46,11 +46,11 @@ export class UmbEntityData extends UmbData { return movedItems; } - trash(keys: Array) { + trash(ids: Array) { const trashedItems: Array = []; - keys.forEach((key) => { - const item = this.getByKey(key); + ids.forEach((key) => { + const item = this.getById(key); if (!item) return; // TODO: how do we handle trashed items? @@ -65,17 +65,18 @@ export class UmbEntityData extends UmbData { return trashedItems; } - delete(keys: Array) { - const deletedKeys = this.data.filter((item) => keys.includes(item.key)).map((item) => item.key); - this.data = this.data.filter((item) => keys.indexOf(item.key) === -1); + delete(ids: Array) { + const deletedKeys = this.data.filter((item) => ids.includes(item.id)).map((item) => item.id); + this.data = this.data.filter((item) => ids.indexOf(item.id) === -1); return deletedKeys; } protected updateData(updateItem: T) { - const itemIndex = this.data.findIndex((item) => item.key === updateItem.key); + const itemIndex = this.data.findIndex((item) => item.id === updateItem.id); const item = this.data[itemIndex]; if (!item) return; + // TODO: revisit this code, seems like something we can solve smarter/type safer now: const itemKeys = Object.keys(item); const newItem = {}; diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/health-check.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/health-check.data.ts index d0afe79a92..b21934a28f 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/health-check.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/health-check.data.ts @@ -25,7 +25,7 @@ export const healthGroups: Arrayyour@email.here.`, @@ -51,7 +51,7 @@ export const healthGroups: Array { return this.data; } - delete(keys: Array) { - keys.forEach((key) => { - const foundIndex = this.data.findIndex((item) => item.isoCode === key); + delete(isoCodes: Array) { + isoCodes.forEach((isoCode) => { + const foundIndex = this.data.findIndex((item) => item.isoCode === isoCode); if (foundIndex !== -1) { this.data.splice(foundIndex, 1); } }); - return keys; + return isoCodes; } updateData(updateItem: LanguageResponseModel) { diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/log-viewer.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/log-viewer.data.ts index fcf544de4b..30ea41f140 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/log-viewer.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/log-viewer.data.ts @@ -1,9 +1,13 @@ import { logs } from './logs.data'; import { UmbData } from './data'; -import { LogMessageResponseModel, LogTemplateResponseModel, SavedLogSearchResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { + LogMessageResponseModel, + LogTemplateResponseModel, + SavedLogSearchResponseModel, +} from '@umbraco-cms/backoffice/backend-api'; // Temp mocked database -class UmbLogviewerSearchesData extends UmbData { +class UmbLogViewerSearchesData extends UmbData { constructor(data: SavedLogSearchResponseModel[]) { super(data); } @@ -405,8 +409,8 @@ export const logLevels = { ], }; -export const umbLogviewerData = { - searches: new UmbLogviewerSearchesData(savedSearches), +export const umbLogViewerData = { + searches: new UmbLogViewerSearchesData(savedSearches), templates: new UmbLogviewerTemplatesData(messageTemplates), logs: new UmbLogviewerMessagesData(logs), logLevels: logLevels, diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/media-type.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/media-type.data.ts index 151158303a..601f5fc6c3 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/media-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/media-type.data.ts @@ -9,9 +9,9 @@ export const data: Array = [ name: 'Media Type 1', type: 'media-type', hasChildren: false, - key: 'c5159663-eb82-43ee-bd23-e42dc5e71db6', + id: 'c5159663-eb82-43ee-bd23-e42dc5e71db6', isContainer: false, - parentKey: null, + parentId: null, isFolder: false, icon: '', alias: 'mediaType1', @@ -22,9 +22,9 @@ export const data: Array = [ name: 'Media Type 2', type: 'media-type', hasChildren: false, - key: '22da1b0b-c310-4730-9912-c30b3eb9802e', + id: '22da1b0b-c310-4730-9912-c30b3eb9802e', isContainer: false, - parentKey: null, + parentId: null, isFolder: false, icon: '', alias: 'mediaType2', @@ -42,21 +42,21 @@ class UmbMediaTypeData extends UmbEntityData { } getTreeRoot(): PagedFolderTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === null); + const items = this.data.filter((item) => item.parentId === null); const treeItems = items.map((item) => createFolderTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItemChildren(key: string): PagedFolderTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): PagedFolderTreeItemResponseModel { + const items = this.data.filter((item) => item.parentId === id); const treeItems = items.map((item) => createFolderTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItem(keys: Array): Array { - const items = this.data.filter((item) => keys.includes(item.key ?? '')); + getTreeItem(ids: Array): Array { + const items = this.data.filter((item) => ids.includes(item.id ?? '')); return items.map((item) => createFolderTreeItem(item)); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/media.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/media.data.ts index 82f1c4d25a..31a930b596 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/media.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/media.data.ts @@ -10,9 +10,9 @@ export const data: Array = [ type: 'media', icon: 'picture', hasChildren: false, - key: 'f2f81a40-c989-4b6b-84e2-057cecd3adc1', + id: 'f2f81a40-c989-4b6b-84e2-057cecd3adc1', isContainer: false, - parentKey: null, + parentId: null, noAccess: false, isTrashed: false, properties: [ @@ -20,7 +20,7 @@ export const data: Array = [ alias: 'myMediaHeadline', label: 'Media Headline', description: 'Text string property', - dataTypeKey: 'dt-textBox', + dataTypeId: 'dt-textBox', }, ], data: [ @@ -37,9 +37,9 @@ export const data: Array = [ type: 'media', icon: 'picture', hasChildren: false, - key: '69431027-8867-45bf-a93b-72bbdabfb177', + id: '69431027-8867-45bf-a93b-72bbdabfb177', isContainer: false, - parentKey: null, + parentId: null, noAccess: false, isTrashed: false, properties: [ @@ -47,7 +47,7 @@ export const data: Array = [ alias: 'myMediaDescription', label: 'Description', description: 'Textarea property', - dataTypeKey: 'dt-textArea', + dataTypeId: 'dt-textArea', }, ], data: [ @@ -64,9 +64,9 @@ export const data: Array = [ type: 'media', icon: 'folder', hasChildren: true, - key: '69461027-8867-45bf-a93b-72bbdabfb177', + id: '69461027-8867-45bf-a93b-72bbdabfb177', isContainer: true, - parentKey: null, + parentId: null, noAccess: false, isTrashed: false, properties: [], @@ -79,9 +79,9 @@ export const data: Array = [ type: 'media', icon: 'folder', hasChildren: true, - key: '69461027-8867-45bf-a93b-5224dabfb177', + id: '69461027-8867-45bf-a93b-5224dabfb177', isContainer: true, - parentKey: null, + parentId: null, noAccess: false, isTrashed: false, properties: [], @@ -94,9 +94,9 @@ export const data: Array = [ type: 'media', icon: 'picture', hasChildren: false, - key: '69431027-8867-45s7-a93b-7uibdabfb177', + id: '69431027-8867-45s7-a93b-7uibdabfb177', isContainer: false, - parentKey: '69461027-8867-45bf-a93b-72bbdabfb177', + parentId: '69461027-8867-45bf-a93b-72bbdabfb177', noAccess: false, isTrashed: false, properties: [ @@ -104,7 +104,7 @@ export const data: Array = [ alias: 'myMediaDescription', label: 'Description', description: 'Textarea property', - dataTypeKey: 'dt-textArea', + dataTypeId: 'dt-textArea', }, ], data: [ @@ -121,9 +121,9 @@ export const data: Array = [ type: 'media', icon: 'picture', hasChildren: false, - key: '69431027-8867-45s7-a93b-7uibdabf2147', + id: '69431027-8867-45s7-a93b-7uibdabf2147', isContainer: false, - parentKey: '69461027-8867-45bf-a93b-72bbdabfb177', + parentId: '69461027-8867-45bf-a93b-72bbdabfb177', noAccess: false, isTrashed: false, properties: [ @@ -131,7 +131,7 @@ export const data: Array = [ alias: 'myMediaDescription', label: 'Description', description: 'Textarea property', - dataTypeKey: 'dt-textArea', + dataTypeId: 'dt-textArea', }, ], data: [ @@ -148,9 +148,9 @@ export const data: Array = [ type: 'media', icon: 'picture', hasChildren: false, - key: '694hdj27-8867-45s7-a93b-7uibdabf2147', + id: '694hdj27-8867-45s7-a93b-7uibdabf2147', isContainer: false, - parentKey: '69461027-8867-45bf-a93b-5224dabfb177', + parentId: '69461027-8867-45bf-a93b-5224dabfb177', noAccess: false, isTrashed: false, properties: [ @@ -158,7 +158,7 @@ export const data: Array = [ alias: 'myMediaDescription', label: 'Description', description: 'Textarea property', - dataTypeKey: 'dt-textArea', + dataTypeId: 'dt-textArea', }, ], data: [ @@ -175,9 +175,9 @@ export const data: Array = [ type: 'media', icon: 'picture', hasChildren: false, - key: '694hdj27-1237-45s7-a93b-7uibdabfas47', + id: '694hdj27-1237-45s7-a93b-7uibdabfas47', isContainer: false, - parentKey: '69461027-8867-45bf-a93b-5224dabfb177', + parentId: '69461027-8867-45bf-a93b-5224dabfb177', noAccess: false, isTrashed: false, properties: [ @@ -185,7 +185,7 @@ export const data: Array = [ alias: 'myMediaDescription', label: 'Description', description: 'Textarea property', - dataTypeKey: 'dt-textArea', + dataTypeId: 'dt-textArea', }, ], data: [ @@ -208,21 +208,21 @@ class UmbMediaData extends UmbEntityData { } getTreeRoot(): PagedContentTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === null); + const items = this.data.filter((item) => item.parentId === null); const treeItems = items.map((item) => createContentTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItemChildren(key: string): PagedContentTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): PagedContentTreeItemResponseModel { + const items = this.data.filter((item) => item.parentId === id); const treeItems = items.map((item) => createContentTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItem(keys: Array): Array { - const items = this.data.filter((item) => keys.includes(item.key)); + getTreeItem(ids: Array): Array { + const items = this.data.filter((item) => ids.includes(item.id)); return items.map((item) => createContentTreeItem(item)); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/member-group.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/member-group.data.ts index 43dd431745..db2d57d5e7 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/member-group.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/member-group.data.ts @@ -10,9 +10,9 @@ export const data: Array = [ type: 'member-group', icon: 'umb:document', hasChildren: false, - key: '76708ccd-4179-464c-b694-6969149dd9f9', + id: '76708ccd-4179-464c-b694-6969149dd9f9', isContainer: false, - parentKey: null, + parentId: null, }, ]; @@ -26,21 +26,21 @@ class UmbMemberGroupData extends UmbEntityData { } getTreeRoot(): PagedEntityTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === null); + const items = this.data.filter((item) => item.parentId === null); const treeItems = items.map((item) => createEntityTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItemChildren(key: string): PagedEntityTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): PagedEntityTreeItemResponseModel { + const items = this.data.filter((item) => item.parentId === id); const treeItems = items.map((item) => createEntityTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItem(keys: Array): Array { - const items = this.data.filter((item) => keys.includes(item.key ?? '')); + getTreeItem(ids: Array): Array { + const items = this.data.filter((item) => ids.includes(item.id ?? '')); return items.map((item) => createEntityTreeItem(item)); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/member-type.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/member-type.data.ts index 0e548edd1b..7200916cb4 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/member-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/member-type.data.ts @@ -10,9 +10,9 @@ export const data: Array = [ type: 'member-type', icon: 'icon-user', hasChildren: false, - key: 'd59be02f-1df9-4228-aa1e-01917d806cda', + id: 'd59be02f-1df9-4228-aa1e-01917d806cda', isContainer: false, - parentKey: null, + parentId: null, alias: 'memberType1', properties: [], }, @@ -25,21 +25,21 @@ class UmbMemberTypeData extends UmbData { } getTreeRoot(): PagedEntityTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === null); + const items = this.data.filter((item) => item.parentId === null); const treeItems = items.map((item) => createEntityTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItemChildren(key: string): PagedEntityTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): PagedEntityTreeItemResponseModel { + const items = this.data.filter((item) => item.parentId === id); const treeItems = items.map((item) => createEntityTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItem(keys: Array): Array { - const items = this.data.filter((item) => keys.includes(item.key ?? '')); + getTreeItem(ids: Array): Array { + const items = this.data.filter((item) => ids.includes(item.id ?? '')); return items.map((item) => createEntityTreeItem(item)); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/member.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/member.data.ts index 5eb713016a..75faed9860 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/member.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/member.data.ts @@ -13,9 +13,9 @@ export const data: Array = [ type: 'member', icon: 'umb:user', hasChildren: false, - key: 'aaa08ccd-4179-464c-b634-6969149dd9f9', + id: 'aaa08ccd-4179-464c-b634-6969149dd9f9', isContainer: false, - parentKey: null, + parentId: null, }, ]; @@ -29,21 +29,21 @@ class UmbMemberData extends UmbEntityData { } getTreeRoot(): PagedEntityTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === null); + const items = this.data.filter((item) => item.parentId === null); const treeItems = items.map((item) => createEntityTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItemChildren(key: string): PagedEntityTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): PagedEntityTreeItemResponseModel { + const items = this.data.filter((item) => item.parentId === id); const treeItems = items.map((item) => createEntityTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItem(keys: Array): Array { - const items = this.data.filter((item) => keys.includes(item.key ?? '')); + getTreeItem(ids: Array): Array { + const items = this.data.filter((item) => ids.includes(item.id ?? '')); return items.map((item) => createEntityTreeItem(item)); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/relation-type.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/relation-type.data.ts index 93a7911735..c39f9dc2e4 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/relation-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/relation-type.data.ts @@ -5,7 +5,7 @@ import type { EntityTreeItemResponseModel, RelationTypeResponseModel } from '@um // TODO: investigate why we don't get an entity type as part of the RelationTypeResponseModel export const data: Array = [ { - key: 'e0d39ff5-71d8-453f-b682-9d8d31ee5e06', + id: 'e0d39ff5-71d8-453f-b682-9d8d31ee5e06', alias: 'relateDocumentOnCopy', name: 'Relate Document On Copy', path: '', @@ -18,7 +18,7 @@ export const data: Array = [ childObjectTypeName: 'Document', }, { - key: 'ac68cde6-763f-4231-a751-1101b57defd2', + id: 'ac68cde6-763f-4231-a751-1101b57defd2', alias: 'relateParentDocumentOnDelete', name: 'Relate Parent Document On Delete', path: '', @@ -31,7 +31,7 @@ export const data: Array = [ childObjectTypeName: 'Document', }, { - key: '6f9b800c-762c-42d4-85d9-bf40a77d689e', + id: '6f9b800c-762c-42d4-85d9-bf40a77d689e', alias: 'relateParentMediaFolderOnDelete', name: 'Relate Parent Media Folder On Delete', path: '', @@ -44,7 +44,7 @@ export const data: Array = [ childObjectTypeName: 'Document', }, { - key: 'd421727d-43de-4205-b4c6-037404f309ad', + id: 'd421727d-43de-4205-b4c6-037404f309ad', alias: 'relatedMedia', name: 'Related Media', path: '', @@ -57,7 +57,7 @@ export const data: Array = [ childObjectTypeName: 'Document', }, { - key: 'e9a0a28e-2d5b-4229-ac00-66f2df230513', + id: 'e9a0a28e-2d5b-4229-ac00-66f2df230513', alias: 'relatedDocument', name: 'Related Document', path: '', @@ -73,46 +73,46 @@ export const data: Array = [ export const treeData: Array = [ { - key: 'e0d39ff5-71d8-453f-b682-9d8d31ee5e06', + id: 'e0d39ff5-71d8-453f-b682-9d8d31ee5e06', $type: 'EntityTreeItemViewModel', isContainer: false, - parentKey: null, + parentId: null, name: 'Relate Document On Copy', icon: 'umb:trafic', type: 'relation-type', }, { - key: 'ac68cde6-763f-4231-a751-1101b57defd2', + id: 'ac68cde6-763f-4231-a751-1101b57defd2', $type: 'EntityTreeItemViewModel', isContainer: false, - parentKey: null, + parentId: null, name: 'Relate Parent Document On Delete', icon: 'umb:trafic', type: 'relation-type', }, { - key: '6f9b800c-762c-42d4-85d9-bf40a77d689e', + id: '6f9b800c-762c-42d4-85d9-bf40a77d689e', $type: 'EntityTreeItemViewModel', isContainer: false, - parentKey: null, + parentId: null, name: 'Relate Parent Media Folder On Delete', icon: 'umb:trafic', type: 'relation-type', }, { - key: 'd421727d-43de-4205-b4c6-037404f309ad', + id: 'd421727d-43de-4205-b4c6-037404f309ad', $type: 'EntityTreeItemViewModel', isContainer: false, - parentKey: null, + parentId: null, name: 'Related Media', icon: 'umb:trafic', type: 'relation-type', }, { - key: 'e9a0a28e-2d5b-4229-ac00-66f2df230513', + id: 'e9a0a28e-2d5b-4229-ac00-66f2df230513', $type: 'EntityTreeItemViewModel', isContainer: false, - parentKey: null, + parentId: null, name: 'Related Document', icon: 'umb:trafic', type: 'relation-type', @@ -136,13 +136,13 @@ class UmbRelationTypeData extends UmbEntityData { } //TODO Can relation types have children? - getTreeItemChildren(key: string): Array { - const childItems = this.treeData.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): Array { + const childItems = this.treeData.filter((item) => item.parentId === id); return childItems.map((item) => createEntityTreeItem(item)); } - getTreeItem(keys: Array): Array { - const items = this.treeData.filter((item) => keys.includes(item.key ?? '')); + getTreeItem(ids: Array): Array { + const items = this.treeData.filter((item) => ids.includes(item.id ?? '')); return items.map((item) => createEntityTreeItem(item)); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/template.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/template.data.ts index 210f4b48d5..70a5fc11f8 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/template.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/template.data.ts @@ -14,7 +14,7 @@ type TemplateDBItem = TemplateResponseModel & EntityTreeItemResponseModel; const createTemplate = (dbItem: TemplateDBItem): TemplateResponseModel => { return { $type: '', - key: dbItem.key, + id: dbItem.id, name: dbItem.name, alias: dbItem.alias, content: dbItem.content, @@ -24,9 +24,9 @@ const createTemplate = (dbItem: TemplateDBItem): TemplateResponseModel => { export const data: Array = [ { $type: '', - key: '2bf464b6-3aca-4388-b043-4eb439cc2643', + id: '2bf464b6-3aca-4388-b043-4eb439cc2643', isContainer: false, - parentKey: null, + parentId: null, name: 'Doc 1', type: 'template', icon: 'icon-layout', @@ -37,7 +37,7 @@ export const data: Array = [ @{ if (Model?.Areas.Any() != true) { return; } } - +
@foreach (var area in Model.Areas) @@ -48,9 +48,9 @@ export const data: Array = [ }, { $type: '', - key: '9a84c0b3-03b4-4dd4-84ac-706740ac0f71', + id: '9a84c0b3-03b4-4dd4-84ac-706740ac0f71', isContainer: false, - parentKey: null, + parentId: null, name: 'Test', type: 'template', icon: 'icon-layout', @@ -61,9 +61,9 @@ export const data: Array = [ }, { $type: '', - key: '9a84c0b3-03b4-4dd4-84ac-706740ac0f72', + id: '9a84c0b3-03b4-4dd4-84ac-706740ac0f72', isContainer: false, - parentKey: '9a84c0b3-03b4-4dd4-84ac-706740ac0f71', + parentId: '9a84c0b3-03b4-4dd4-84ac-706740ac0f71', name: 'Child', type: 'template', icon: 'icon-layout', @@ -87,8 +87,8 @@ class UmbTemplateData extends UmbEntityData { super(data); } - getByKey(key: string): TemplateResponseModel | undefined { - const item = this.data.find((item) => item.key === key); + getById(id: string): TemplateResponseModel | undefined { + const item = this.data.find((item) => item.id === id); return item ? createTemplate(item) : undefined; } @@ -101,7 +101,7 @@ class UmbTemplateData extends UmbEntityData { create(templateData: TemplateModelBaseModel) { const template = { $type: '', - key: uuid(), + id: uuid(), ...templateData, }; this.data.push(template); @@ -114,21 +114,21 @@ class UmbTemplateData extends UmbEntityData { } getTreeRoot(): PagedEntityTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === null); + const items = this.data.filter((item) => item.parentId === null); const treeItems = items.map((item) => createEntityTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItemChildren(key: string): PagedEntityTreeItemResponseModel { - const items = this.data.filter((item) => item.parentKey === key); + getTreeItemChildren(id: string): PagedEntityTreeItemResponseModel { + const items = this.data.filter((item) => item.parentId === id); const treeItems = items.map((item) => createEntityTreeItem(item)); const total = items.length; return { items: treeItems, total }; } - getTreeItem(keys: Array): Array { - const items = this.data.filter((item) => keys.includes(item.key ?? '')); + getTreeItem(ids: Array): Array { + const items = this.data.filter((item) => ids.includes(item.id ?? '')); return items.map((item) => createEntityTreeItem(item)); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/user-groups.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/user-groups.data.ts index 4da8dbb21c..3c4b99b1ca 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/user-groups.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/user-groups.data.ts @@ -14,10 +14,10 @@ class UmbUserGroupsData extends UmbEntityData { export const data: Array = [ { - key: 'c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', + id: 'c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', name: 'Administrators', icon: 'umb:medal', - parentKey: '', + parentId: '', type: 'user-group', hasChildren: false, sections: [ @@ -31,10 +31,10 @@ export const data: Array = [ permissions: [], }, { - key: '9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949', + id: '9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949', name: 'Workspaces', icon: 'umb:tools', - parentKey: '', + parentId: '', type: 'user-group', hasChildren: false, sections: ['Umb.Section.Members', 'Umb.Section.Media'], @@ -42,10 +42,10 @@ export const data: Array = [ contentStartNode: '74e4008a-ea4f-4793-b924-15e02fd380d1', }, { - key: 'b847398a-6875-4d7a-9f6d-231256b81471', + id: 'b847398a-6875-4d7a-9f6d-231256b81471', name: 'Sensitive Data', icon: 'umb:lock', - parentKey: '', + parentId: '', type: 'user-group', hasChildren: false, sections: ['Umb.Section.Settings', 'Umb.Section.Members', 'Umb.Section.Media', 'Umb.Section.Content'], @@ -53,10 +53,10 @@ export const data: Array = [ contentStartNode: 'cdd30288-2d1c-41b4-89a9-61647b4a10d5', }, { - key: '2668f09b-320c-48a7-a78a-95047026ec0e', + id: '2668f09b-320c-48a7-a78a-95047026ec0e', name: 'Translators', icon: 'umb:globe', - parentKey: '', + parentId: '', type: 'user-group', hasChildren: false, sections: ['Umb.Section.Packages', 'Umb.Section.Settings'], @@ -64,10 +64,10 @@ export const data: Array = [ contentStartNode: 'cdd30288-2d1c-41b4-89a9-61647b4a10d5', }, { - key: '397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2', + id: '397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2', name: 'Writers', icon: 'umb:edit', - parentKey: '', + parentId: '', type: 'user-group', hasChildren: false, sections: ['Umb.Section.Content'], diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/users.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/users.data.ts index 28440cbc10..740b6a1957 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/users.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/users.data.ts @@ -11,9 +11,9 @@ class UmbUsersData extends UmbEntityData { return this.data; } - updateUserGroup(keys: string[], userGroup: string) { + updateUserGroup(ids: string[], userGroup: string) { this.data.forEach((user) => { - if (keys.includes(user.key)) { + if (ids.includes(user.id)) { user.userGroups = [...user.userGroups, userGroup]; } else { user.userGroups = user.userGroups.filter((group) => group !== userGroup); @@ -22,34 +22,34 @@ class UmbUsersData extends UmbEntityData { this.updateData(user); }); - return this.data.map((user) => user.key); + return this.data.map((user) => user.id); } - enable(keys: string[]) { - const users = this.data.filter((user) => keys.includes(user.key)); + enable(ids: string[]) { + const users = this.data.filter((user) => ids.includes(user.id)); users.forEach((user) => { user.status = 'enabled'; this.updateData(user); }); - return users.map((user) => user.key); + return users.map((user) => user.id); } - disable(keys: string[]) { - const users = this.data.filter((user) => keys.includes(user.key)); + disable(ids: string[]) { + const users = this.data.filter((user) => ids.includes(user.id)); users.forEach((user) => { user.status = 'disabled'; this.updateData(user); }); - return users.map((user) => user.key); + return users.map((user) => user.id); } } export const data: Array = [ { - key: 'a953e376-89f8-46d1-bed9-1b47743aa38a', + id: 'a953e376-89f8-46d1-bed9-1b47743aa38a', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -66,10 +66,10 @@ export const data: Array = [ userGroups: ['397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2', 'c630d49e-4e7b-42ea-b2bc-edc0edacb6b1'], }, { - key: 'bca6c733-a63d-4353-a271-9a8b6bcca8bd', + id: 'bca6c733-a63d-4353-a271-9a8b6bcca8bd', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -90,10 +90,10 @@ export const data: Array = [ ], }, { - key: '9f63996f-71e9-49be-bc21-5a69ea97e72e', + id: '9f63996f-71e9-49be-bc21-5a69ea97e72e', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -114,10 +114,10 @@ export const data: Array = [ ], }, { - key: 'ff1d1bff-b6d2-444b-950a-68b5eec46277', + id: 'ff1d1bff-b6d2-444b-950a-68b5eec46277', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -138,10 +138,10 @@ export const data: Array = [ ], }, { - key: 'c9cf849f-0536-4e38-a91a-02c8c45a6f47', + id: 'c9cf849f-0536-4e38-a91a-02c8c45a6f47', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -158,10 +158,10 @@ export const data: Array = [ userGroups: ['b847398a-6875-4d7a-9f6d-231256b81471', '9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949'], }, { - key: 'd9cbd4cd-6950-42b2-be57-1f5829c6dd19', + id: 'd9cbd4cd-6950-42b2-be57-1f5829c6dd19', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -178,10 +178,10 @@ export const data: Array = [ userGroups: ['397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2', 'b847398a-6875-4d7a-9f6d-231256b81471'], }, { - key: '515b2c5c-c195-43f2-8e52-4733572030c7', + id: '515b2c5c-c195-43f2-8e52-4733572030c7', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -204,10 +204,10 @@ export const data: Array = [ ], }, { - key: 'db8a0800-28b3-4f0b-9152-37debea6b8d7', + id: 'db8a0800-28b3-4f0b-9152-37debea6b8d7', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -228,10 +228,10 @@ export const data: Array = [ ], }, { - key: '3fe38c9b-b5a3-4897-8507-3f062a25659e', + id: '3fe38c9b-b5a3-4897-8507-3f062a25659e', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -248,10 +248,10 @@ export const data: Array = [ userGroups: ['c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', '9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949'], }, { - key: '09e99152-bc3e-449f-9fa1-322ab3390b7d', + id: '09e99152-bc3e-449f-9fa1-322ab3390b7d', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -272,10 +272,10 @@ export const data: Array = [ ], }, { - key: '5680bd61-9b58-4ecb-ae06-bdfacebe05f2', + id: '5680bd61-9b58-4ecb-ae06-bdfacebe05f2', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -292,10 +292,10 @@ export const data: Array = [ userGroups: ['397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2', 'c630d49e-4e7b-42ea-b2bc-edc0edacb6b1'], }, { - key: '1c2cb6b5-1b96-47c0-a2b7-f5dd6bd3d325', + id: '1c2cb6b5-1b96-47c0-a2b7-f5dd6bd3d325', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -316,10 +316,10 @@ export const data: Array = [ ], }, { - key: 'ac6cc4e4-ab38-4920-8646-63c7652fc97a', + id: 'ac6cc4e4-ab38-4920-8646-63c7652fc97a', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -336,10 +336,10 @@ export const data: Array = [ userGroups: ['b847398a-6875-4d7a-9f6d-231256b81471', '2668f09b-320c-48a7-a78a-95047026ec0e'], }, { - key: 'a5e5bbe4-acb4-4c40-b15a-eab510338620', + id: 'a5e5bbe4-acb4-4c40-b15a-eab510338620', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -360,10 +360,10 @@ export const data: Array = [ ], }, { - key: 'c775af23-4aec-4d24-a2d1-5b0d666c9eb4', + id: 'c775af23-4aec-4d24-a2d1-5b0d666c9eb4', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -384,10 +384,10 @@ export const data: Array = [ ], }, { - key: '3333e2dc-b8a6-4db3-af00-ac1c1e1d5d9c', + id: '3333e2dc-b8a6-4db3-af00-ac1c1e1d5d9c', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -404,10 +404,10 @@ export const data: Array = [ userGroups: ['c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', '9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949'], }, { - key: '506126e3-2b96-4746-bd0a-1e6b2283021f', + id: '506126e3-2b96-4746-bd0a-1e6b2283021f', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -424,10 +424,10 @@ export const data: Array = [ userGroups: ['9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949', 'b847398a-6875-4d7a-9f6d-231256b81471'], }, { - key: 'caf10593-3710-4417-af3d-7015f88f5fe3', + id: 'caf10593-3710-4417-af3d-7015f88f5fe3', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -448,10 +448,10 @@ export const data: Array = [ ], }, { - key: 'e2492eeb-bcc2-4c95-8893-27c45c895c9c', + id: 'e2492eeb-bcc2-4c95-8893-27c45c895c9c', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -473,10 +473,10 @@ export const data: Array = [ ], }, { - key: '8c93b359-a719-4453-991c-e2d5bcc965c3', + id: '8c93b359-a719-4453-991c-e2d5bcc965c3', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -497,10 +497,10 @@ export const data: Array = [ ], }, { - key: '4cd22c7c-baeb-463f-89e5-e0a6bb3ea27e', + id: '4cd22c7c-baeb-463f-89e5-e0a6bb3ea27e', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -521,10 +521,10 @@ export const data: Array = [ ], }, { - key: 'ccd03e29-e924-4240-a1e4-b0114c66aae9', + id: 'ccd03e29-e924-4240-a1e4-b0114c66aae9', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -547,10 +547,10 @@ export const data: Array = [ ], }, { - key: '7ffa97ca-0702-4bcf-8e32-751bae9aa156', + id: '7ffa97ca-0702-4bcf-8e32-751bae9aa156', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -571,10 +571,10 @@ export const data: Array = [ ], }, { - key: 'e139ec4b-b49a-48c0-a1a3-1c2e8e95366d', + id: 'e139ec4b-b49a-48c0-a1a3-1c2e8e95366d', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -595,10 +595,10 @@ export const data: Array = [ ], }, { - key: '30d29d56-cbb2-41fd-9154-94b0f0d9a385', + id: '30d29d56-cbb2-41fd-9154-94b0f0d9a385', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -619,10 +619,10 @@ export const data: Array = [ ], }, { - key: '3ecac483-c4df-4971-a357-a0be03c520ca', + id: '3ecac483-c4df-4971-a357-a0be03c520ca', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -639,10 +639,10 @@ export const data: Array = [ userGroups: ['c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', '2668f09b-320c-48a7-a78a-95047026ec0e'], }, { - key: '2dae8bf8-5fdd-4efa-a493-cbec11b179e2', + id: '2dae8bf8-5fdd-4efa-a493-cbec11b179e2', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -663,10 +663,10 @@ export const data: Array = [ ], }, { - key: '0397dd89-72c5-4d0b-a544-dc1c9c0a932d', + id: '0397dd89-72c5-4d0b-a544-dc1c9c0a932d', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -688,10 +688,10 @@ export const data: Array = [ ], }, { - key: '4f2f64c1-1b9b-4217-80c7-7760962215af', + id: '4f2f64c1-1b9b-4217-80c7-7760962215af', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -713,10 +713,10 @@ export const data: Array = [ ], }, { - key: '6cefa1e1-4302-4003-81df-3fa4759245a4', + id: '6cefa1e1-4302-4003-81df-3fa4759245a4', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -738,10 +738,10 @@ export const data: Array = [ ], }, { - key: '2ba9ae27-7860-42ea-b628-c5484b64b2c6', + id: '2ba9ae27-7860-42ea-b628-c5484b64b2c6', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -758,10 +758,10 @@ export const data: Array = [ userGroups: ['c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', 'b847398a-6875-4d7a-9f6d-231256b81471'], }, { - key: 'f4bee7c8-7a94-4937-8e6e-ceb55c9ec8b4', + id: 'f4bee7c8-7a94-4937-8e6e-ceb55c9ec8b4', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -778,10 +778,10 @@ export const data: Array = [ userGroups: ['c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', 'b847398a-6875-4d7a-9f6d-231256b81471'], }, { - key: '3ccfeec3-1c96-4205-ae90-3297702d0d59', + id: '3ccfeec3-1c96-4205-ae90-3297702d0d59', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -802,10 +802,10 @@ export const data: Array = [ ], }, { - key: 'cb0e3a46-1e99-4dc3-a206-462c3d985916', + id: 'cb0e3a46-1e99-4dc3-a206-462c3d985916', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -826,10 +826,10 @@ export const data: Array = [ ], }, { - key: 'eb5af046-f2af-490f-a195-b0faff73f538', + id: 'eb5af046-f2af-490f-a195-b0faff73f538', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -846,10 +846,10 @@ export const data: Array = [ userGroups: ['c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', '397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2'], }, { - key: '42037971-4e06-41a8-be76-04313571fe54', + id: '42037971-4e06-41a8-be76-04313571fe54', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -866,10 +866,10 @@ export const data: Array = [ userGroups: ['2668f09b-320c-48a7-a78a-95047026ec0e', '397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2'], }, { - key: 'd71ba775-2920-42de-b5a1-09104e81cf27', + id: 'd71ba775-2920-42de-b5a1-09104e81cf27', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -892,10 +892,10 @@ export const data: Array = [ ], }, { - key: 'ed94e56b-64d5-43d0-9c9c-7149a0b26657', + id: 'ed94e56b-64d5-43d0-9c9c-7149a0b26657', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -916,10 +916,10 @@ export const data: Array = [ ], }, { - key: '8acfe50e-2e15-460d-b368-0510d08fea4c', + id: '8acfe50e-2e15-460d-b368-0510d08fea4c', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -941,10 +941,10 @@ export const data: Array = [ ], }, { - key: '73401c00-3b05-465b-ab59-8def5af4ec54', + id: '73401c00-3b05-465b-ab59-8def5af4ec54', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -965,10 +965,10 @@ export const data: Array = [ ], }, { - key: 'ffed1abb-aee0-45f1-9915-5ea7da165011', + id: 'ffed1abb-aee0-45f1-9915-5ea7da165011', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -989,10 +989,10 @@ export const data: Array = [ ], }, { - key: '754fafb2-ec86-4313-8c5a-26a0a460df70', + id: '754fafb2-ec86-4313-8c5a-26a0a460df70', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1013,10 +1013,10 @@ export const data: Array = [ ], }, { - key: 'eae3c035-1b9d-4d1d-b626-89a7c3b3bc39', + id: 'eae3c035-1b9d-4d1d-b626-89a7c3b3bc39', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1037,10 +1037,10 @@ export const data: Array = [ ], }, { - key: '4bbf5669-99ec-4e60-b159-2198990ee8f1', + id: '4bbf5669-99ec-4e60-b159-2198990ee8f1', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1057,10 +1057,10 @@ export const data: Array = [ userGroups: ['397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2', '9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949'], }, { - key: 'bc17c986-9869-49f4-baee-d888bf013f27', + id: 'bc17c986-9869-49f4-baee-d888bf013f27', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1082,10 +1082,10 @@ export const data: Array = [ ], }, { - key: 'f015b8a7-35b7-4859-a506-253ee95f92f4', + id: 'f015b8a7-35b7-4859-a506-253ee95f92f4', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1107,10 +1107,10 @@ export const data: Array = [ ], }, { - key: 'b5fd8d4f-eecc-4bea-b841-b4ba3621e8ba', + id: 'b5fd8d4f-eecc-4bea-b841-b4ba3621e8ba', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1131,10 +1131,10 @@ export const data: Array = [ ], }, { - key: '0bfe956a-5293-48bf-8c43-fd9be5c8dd19', + id: '0bfe956a-5293-48bf-8c43-fd9be5c8dd19', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1155,10 +1155,10 @@ export const data: Array = [ ], }, { - key: 'f2914aaa-de0a-4285-b820-88d22ae7a566', + id: 'f2914aaa-de0a-4285-b820-88d22ae7a566', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1179,10 +1179,10 @@ export const data: Array = [ ], }, { - key: 'f5489ee0-589d-47e5-8c11-b5e2ef027519', + id: 'f5489ee0-589d-47e5-8c11-b5e2ef027519', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1203,10 +1203,10 @@ export const data: Array = [ ], }, { - key: '293074af-8188-4151-b025-2b43f6aa6c2c', + id: '293074af-8188-4151-b025-2b43f6aa6c2c', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1223,10 +1223,10 @@ export const data: Array = [ userGroups: ['2668f09b-320c-48a7-a78a-95047026ec0e', '9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949'], }, { - key: '93765192-b40f-4bf2-8c06-1d5ffb6989ae', + id: '93765192-b40f-4bf2-8c06-1d5ffb6989ae', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1243,10 +1243,10 @@ export const data: Array = [ userGroups: ['397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2', 'b847398a-6875-4d7a-9f6d-231256b81471'], }, { - key: '59f1023c-7ce6-4c78-a1ee-dcb4625b9281', + id: '59f1023c-7ce6-4c78-a1ee-dcb4625b9281', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1263,10 +1263,10 @@ export const data: Array = [ userGroups: ['c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', '397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2'], }, { - key: '42592a81-f584-4b77-b312-b8e268203c22', + id: '42592a81-f584-4b77-b312-b8e268203c22', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1283,10 +1283,10 @@ export const data: Array = [ userGroups: ['397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2', '2668f09b-320c-48a7-a78a-95047026ec0e'], }, { - key: '8ad78a84-8183-4833-9f8b-07b3ea8a881c', + id: '8ad78a84-8183-4833-9f8b-07b3ea8a881c', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1307,10 +1307,10 @@ export const data: Array = [ ], }, { - key: '3f7bc8b5-df8b-4a79-a8bf-f379c63b8d01', + id: '3f7bc8b5-df8b-4a79-a8bf-f379c63b8d01', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1331,10 +1331,10 @@ export const data: Array = [ ], }, { - key: '09901602-688a-4c83-a977-51c16950a2c1', + id: '09901602-688a-4c83-a977-51c16950a2c1', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1355,10 +1355,10 @@ export const data: Array = [ ], }, { - key: '060972c7-9b23-4788-8dc3-c2fcec1d002e', + id: '060972c7-9b23-4788-8dc3-c2fcec1d002e', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1379,10 +1379,10 @@ export const data: Array = [ ], }, { - key: 'ccf7639c-09d9-4de6-88ec-be51be7f9d69', + id: 'ccf7639c-09d9-4de6-88ec-be51be7f9d69', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1403,10 +1403,10 @@ export const data: Array = [ ], }, { - key: '2c6b24a4-c0d2-4efe-8a09-68b61d2a17ef', + id: '2c6b24a4-c0d2-4efe-8a09-68b61d2a17ef', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1427,10 +1427,10 @@ export const data: Array = [ ], }, { - key: 'ff7a2003-f8d7-4fbc-96cb-ee221bdc01c9', + id: 'ff7a2003-f8d7-4fbc-96cb-ee221bdc01c9', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1447,10 +1447,10 @@ export const data: Array = [ userGroups: ['2668f09b-320c-48a7-a78a-95047026ec0e', 'b847398a-6875-4d7a-9f6d-231256b81471'], }, { - key: 'b7f7b275-f62d-44ba-a6b0-0e7e83fe4e49', + id: 'b7f7b275-f62d-44ba-a6b0-0e7e83fe4e49', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1471,10 +1471,10 @@ export const data: Array = [ ], }, { - key: '18a9a6bc-ae4c-49b0-8afd-43bc214053f4', + id: '18a9a6bc-ae4c-49b0-8afd-43bc214053f4', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1495,10 +1495,10 @@ export const data: Array = [ ], }, { - key: '14fa1c36-1252-433e-a1ad-63cf5c9aba62', + id: '14fa1c36-1252-433e-a1ad-63cf5c9aba62', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1521,10 +1521,10 @@ export const data: Array = [ ], }, { - key: '7cb9327f-6aeb-47af-80b3-4b85abde1f5f', + id: '7cb9327f-6aeb-47af-80b3-4b85abde1f5f', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1545,10 +1545,10 @@ export const data: Array = [ ], }, { - key: '0574e903-ba72-49ee-b838-4eb200e68612', + id: '0574e903-ba72-49ee-b838-4eb200e68612', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1570,10 +1570,10 @@ export const data: Array = [ ], }, { - key: '6e4515d6-4a67-4f47-8783-1d074c1d1f75', + id: '6e4515d6-4a67-4f47-8783-1d074c1d1f75', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1594,10 +1594,10 @@ export const data: Array = [ ], }, { - key: '4faa2064-6776-4cc0-8bc1-3ceaa5884a0f', + id: '4faa2064-6776-4cc0-8bc1-3ceaa5884a0f', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1614,10 +1614,10 @@ export const data: Array = [ userGroups: ['b847398a-6875-4d7a-9f6d-231256b81471', '2668f09b-320c-48a7-a78a-95047026ec0e'], }, { - key: '0cccec0d-d7c4-47bc-97b0-bd55dca42dd7', + id: '0cccec0d-d7c4-47bc-97b0-bd55dca42dd7', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1639,10 +1639,10 @@ export const data: Array = [ ], }, { - key: 'd6ffe266-f024-45c2-a1cd-f39bdbc00a5b', + id: 'd6ffe266-f024-45c2-a1cd-f39bdbc00a5b', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1663,10 +1663,10 @@ export const data: Array = [ ], }, { - key: '72d3047a-8c48-4425-ad11-a4a64281e7e5', + id: '72d3047a-8c48-4425-ad11-a4a64281e7e5', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1687,10 +1687,10 @@ export const data: Array = [ ], }, { - key: 'ebfe0335-6926-433d-90de-82f9661955f9', + id: 'ebfe0335-6926-433d-90de-82f9661955f9', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1711,10 +1711,10 @@ export const data: Array = [ ], }, { - key: 'e6e833fb-a872-4364-893c-b6bfc9802043', + id: 'e6e833fb-a872-4364-893c-b6bfc9802043', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1735,10 +1735,10 @@ export const data: Array = [ ], }, { - key: 'abd4d295-9ebb-4a0d-bc07-e2a662671e18', + id: 'abd4d295-9ebb-4a0d-bc07-e2a662671e18', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1759,10 +1759,10 @@ export const data: Array = [ ], }, { - key: '29d42fe1-b465-4dfe-8d29-10286474d625', + id: '29d42fe1-b465-4dfe-8d29-10286474d625', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1783,10 +1783,10 @@ export const data: Array = [ ], }, { - key: '690535f5-194a-4e32-b569-608fbf279059', + id: '690535f5-194a-4e32-b569-608fbf279059', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1807,10 +1807,10 @@ export const data: Array = [ ], }, { - key: '13b5e542-e779-48df-b7f9-2c7def0e2e55', + id: '13b5e542-e779-48df-b7f9-2c7def0e2e55', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1831,10 +1831,10 @@ export const data: Array = [ ], }, { - key: 'af5bfaaf-1597-4ad1-aa1e-206f78a91674', + id: 'af5bfaaf-1597-4ad1-aa1e-206f78a91674', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1851,10 +1851,10 @@ export const data: Array = [ userGroups: ['397f3a8b-4ca3-4b01-9dd3-94e5c9eaa9b2', '9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949'], }, { - key: '8f39464a-2e49-498b-b8b8-cf2926978e83', + id: '8f39464a-2e49-498b-b8b8-cf2926978e83', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1876,10 +1876,10 @@ export const data: Array = [ ], }, { - key: 'ac4785f1-b6f5-4d2d-99e6-f62a96947f8c', + id: 'ac4785f1-b6f5-4d2d-99e6-f62a96947f8c', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1896,10 +1896,10 @@ export const data: Array = [ userGroups: ['2668f09b-320c-48a7-a78a-95047026ec0e', '9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949'], }, { - key: 'd89ada67-eca1-475a-9273-0c69b56116da', + id: 'd89ada67-eca1-475a-9273-0c69b56116da', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1921,10 +1921,10 @@ export const data: Array = [ ], }, { - key: '03ced59c-40b3-482a-8470-b12f56974a0f', + id: '03ced59c-40b3-482a-8470-b12f56974a0f', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1946,10 +1946,10 @@ export const data: Array = [ ], }, { - key: 'dcfba56e-5f3c-446b-a4ef-18da66df8181', + id: 'dcfba56e-5f3c-446b-a4ef-18da66df8181', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1970,10 +1970,10 @@ export const data: Array = [ ], }, { - key: '63be3c07-9178-4c2e-810a-6bbdbbe16dcb', + id: '63be3c07-9178-4c2e-810a-6bbdbbe16dcb', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -1995,10 +1995,10 @@ export const data: Array = [ ], }, { - key: 'c57661ef-8f66-4502-91cb-2069a186ce79', + id: 'c57661ef-8f66-4502-91cb-2069a186ce79', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2019,10 +2019,10 @@ export const data: Array = [ ], }, { - key: 'b5fbd289-2900-4328-8d1f-0a6780be3585', + id: 'b5fbd289-2900-4328-8d1f-0a6780be3585', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2043,10 +2043,10 @@ export const data: Array = [ ], }, { - key: '9ca26535-5288-4b37-8e3b-96b3530de3d1', + id: '9ca26535-5288-4b37-8e3b-96b3530de3d1', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2067,10 +2067,10 @@ export const data: Array = [ ], }, { - key: '19998fc5-2902-4646-9cf2-395404da2b2a', + id: '19998fc5-2902-4646-9cf2-395404da2b2a', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2092,10 +2092,10 @@ export const data: Array = [ ], }, { - key: '468a904c-f87c-4079-920b-74c6aa3a5242', + id: '468a904c-f87c-4079-920b-74c6aa3a5242', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2117,10 +2117,10 @@ export const data: Array = [ ], }, { - key: '60336828-85ed-4b5a-abf6-869d6902ad93', + id: '60336828-85ed-4b5a-abf6-869d6902ad93', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2142,10 +2142,10 @@ export const data: Array = [ ], }, { - key: '2b0c8ffe-4bcb-4df6-b519-3358a5c90480', + id: '2b0c8ffe-4bcb-4df6-b519-3358a5c90480', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2166,10 +2166,10 @@ export const data: Array = [ ], }, { - key: 'c967ff49-f967-449b-9aab-e5ca72255a61', + id: 'c967ff49-f967-449b-9aab-e5ca72255a61', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2191,10 +2191,10 @@ export const data: Array = [ ], }, { - key: '594040ce-c6f7-49e7-8f4a-ffa8c42a2102', + id: '594040ce-c6f7-49e7-8f4a-ffa8c42a2102', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2211,10 +2211,10 @@ export const data: Array = [ userGroups: ['b847398a-6875-4d7a-9f6d-231256b81471', '9a9ad4e9-3b5b-4fe7-b0d9-e301b9675949'], }, { - key: '33806fc1-d4a9-4ddb-8d57-3c087ea1f489', + id: '33806fc1-d4a9-4ddb-8d57-3c087ea1f489', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2235,10 +2235,10 @@ export const data: Array = [ ], }, { - key: 'a59a5259-9393-4c49-a5be-56a475b27640', + id: 'a59a5259-9393-4c49-a5be-56a475b27640', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2259,10 +2259,10 @@ export const data: Array = [ ], }, { - key: '9e96841c-131d-420a-bdc8-4ba087f0f11c', + id: '9e96841c-131d-420a-bdc8-4ba087f0f11c', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2283,10 +2283,10 @@ export const data: Array = [ ], }, { - key: '84eaae2a-9aa8-4745-b4c3-fad2f5632e85', + id: '84eaae2a-9aa8-4745-b4c3-fad2f5632e85', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2308,10 +2308,10 @@ export const data: Array = [ ], }, { - key: '6fe86358-f3fd-4f7d-8d28-e867562569f2', + id: '6fe86358-f3fd-4f7d-8d28-e867562569f2', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2328,10 +2328,10 @@ export const data: Array = [ userGroups: ['c630d49e-4e7b-42ea-b2bc-edc0edacb6b1', 'b847398a-6875-4d7a-9f6d-231256b81471'], }, { - key: '365fd725-81c7-48f0-be68-4dbcf15f1ca9', + id: '365fd725-81c7-48f0-be68-4dbcf15f1ca9', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', @@ -2348,10 +2348,10 @@ export const data: Array = [ userGroups: ['2668f09b-320c-48a7-a78a-95047026ec0e', 'b847398a-6875-4d7a-9f6d-231256b81471'], }, { - key: 'b6028623-995e-4eee-8142-723141030692', + id: 'b6028623-995e-4eee-8142-723141030692', type: 'user', hasChildren: false, - parentKey: '', + parentId: '', contentStartNodes: [], mediaStartNodes: [], icon: 'umb:user', diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/utils.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/utils.ts index 325e8e46b0..5c847f47e8 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/utils.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/utils.ts @@ -16,9 +16,9 @@ export const createEntityTreeItem = (item: any): EntityTreeItemResponseModel => type: item.type, icon: item.icon, hasChildren: item.hasChildren, - key: item.key, + id: item.id, isContainer: item.isContainer, - parentKey: item.parentKey, + parentId: item.parentId, }; }; diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/data-type.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/data-type.handlers.ts index d235482f9a..0c3c6f75e5 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/data-type.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/data-type.handlers.ts @@ -16,10 +16,10 @@ export const handlers = [ }), rest.get(umbracoPath('/tree/data-type/children'), (req, res, ctx) => { - const parentKey = req.url.searchParams.get('parentKey'); - if (!parentKey) return; + const parentId = req.url.searchParams.get('parentId'); + if (!parentId) return; - const children = umbDataTypeData.getTreeItemChildren(parentKey); + const children = umbDataTypeData.getTreeItemChildren(parentId); const response = { total: children.length, @@ -30,9 +30,9 @@ export const handlers = [ }), rest.get(umbracoPath('/tree/data-type/item'), (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; - const items = umbDataTypeData.getTreeItem(keys); + const ids = req.url.searchParams.getAll('id'); + if (!ids) return; + const items = umbDataTypeData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), @@ -46,16 +46,16 @@ export const handlers = [ return res(ctx.status(200)); }), - rest.get(umbracoPath('/data-type/folder/:key'), (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get(umbracoPath('/data-type/folder/:id'), (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const dataType = umbDataTypeData.getByKey(key); + const dataType = umbDataTypeData.getById(id); return res(ctx.status(200), ctx.json(dataType)); }), - rest.put(umbracoPath('/data-type/folder/:key'), async (req, res, ctx) => { + rest.put(umbracoPath('/data-type/folder/:id'), async (req, res, ctx) => { const data = await req.json(); if (!data) return; @@ -64,12 +64,12 @@ export const handlers = [ return res(ctx.status(200)); }), - rest.delete(umbracoPath('/data-type/folder/:key'), async (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.delete(umbracoPath('/data-type/folder/:id'), async (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; try { - umbDataTypeData.deleteFolder(key); + umbDataTypeData.deleteFolder(id); return res(ctx.status(200)); } catch (error) { return res( @@ -93,16 +93,16 @@ export const handlers = [ return res(ctx.status(200), ctx.json(saved)); }), - rest.get(umbracoPath('/data-type/:key'), (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get(umbracoPath('/data-type/:id'), (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const dataType = umbDataTypeData.getByKey(key); + const dataType = umbDataTypeData.getById(id); return res(ctx.status(200), ctx.json(dataType)); }), - rest.put(umbracoPath('/data-type/:key'), async (req, res, ctx) => { + rest.put(umbracoPath('/data-type/:id'), async (req, res, ctx) => { const data = await req.json(); if (!data) return; @@ -111,11 +111,11 @@ export const handlers = [ return res(ctx.status(200), ctx.json(saved)); }), - rest.delete(umbracoPath('/data-type/:key'), async (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.delete(umbracoPath('/data-type/:id'), async (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - umbDataTypeData.delete([key]); + umbDataTypeData.delete([id]); return res(ctx.status(200)); }), diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/dictionary.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/dictionary.handlers.ts index 036d063c59..16fbe9f341 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/dictionary.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/dictionary.handlers.ts @@ -4,16 +4,16 @@ import { umbDictionaryData } from '../data/dictionary.data'; import { ImportDictionaryRequestModel, DictionaryOverviewResponseModel } from '@umbraco-cms/backoffice/backend-api'; const uploadResponse: ImportDictionaryRequestModel = { - fileName: 'c:/path/to/tempfilename.udt', - parentKey: 'b7e7d0ab-53ba-485d-dddd-12537f9925aa', + temporaryFileId: 'c:/path/to/tempfilename.udt', + parentId: 'b7e7d0ab-53ba-485d-dddd-12537f9925aa', }; /// const importResponse: DictionaryDetails = { $type: '', - parentKey: null, + parentId: null, name: 'Uploaded dictionary', - key: 'b7e7d0ab-53ba-485d-dddd-12537f9925cb', + id: 'b7e7d0ab-53ba-485d-dddd-12537f9925cb', hasChildren: false, type: 'dictionary-item', isContainer: false, @@ -34,23 +34,23 @@ const importResponse: DictionaryDetails = { const overviewData: Array = [ { name: 'Hello', - key: 'aae7d0ab-53ba-485d-b8bd-12537f9925cb', + id: 'aae7d0ab-53ba-485d-b8bd-12537f9925cb', translatedIsoCodes: ['en'], }, { name: 'Hello again', - key: 'bbe7d0ab-53bb-485d-b8bd-12537f9925cb', + id: 'bbe7d0ab-53bb-485d-b8bd-12537f9925cb', translatedIsoCodes: ['en', 'fr'], }, ]; // TODO: add schema export const handlers = [ - rest.get('/umbraco/management/api/v1/dictionary/:key', (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get('/umbraco/management/api/v1/dictionary/:id', (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const dictionary = umbDictionaryData.getByKey(key); + const dictionary = umbDictionaryData.getById(id); return res(ctx.status(200), ctx.json(dictionary)); }), @@ -100,12 +100,12 @@ export const handlers = [ return res(ctx.status(200), ctx.json(createdResult)); }), - rest.patch('/umbraco/management/api/v1/dictionary/:key', async (req, res, ctx) => { + rest.patch('/umbraco/management/api/v1/dictionary/:id', async (req, res, ctx) => { const data = await req.json(); if (!data) return; - const key = req.params.key as string; - if (!key) return; + const id = req.params.id as string; + if (!id) return; const dataToSave = JSON.parse(data[0].value); const saved = umbDictionaryData.save(dataToSave); @@ -123,10 +123,10 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/dictionary/children', (req, res, ctx) => { - const parentKey = req.url.searchParams.get('parentKey'); - if (!parentKey) return; + const parentId = req.url.searchParams.get('parentId'); + if (!parentId) return; - const items = umbDictionaryData.getTreeItemChildren(parentKey); + const items = umbDictionaryData.getTreeItemChildren(parentId); const response = { total: items.length, @@ -137,30 +137,30 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/dictionary/item', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; + const ids = req.url.searchParams.getAll('id'); + if (!ids) return; - const items = umbDictionaryData.getTreeItem(keys); + const items = umbDictionaryData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), - rest.delete('/umbraco/management/api/v1/dictionary/:key', (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.delete('/umbraco/management/api/v1/dictionary/:id', (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const deletedKeys = umbDictionaryData.delete([key]); + const deletedKeys = umbDictionaryData.delete([id]); return res(ctx.status(200), ctx.json(deletedKeys)); }), // TODO => handle properly, querystring breaks handler - rest.get('/umbraco/management/api/v1/dictionary/:key/export', (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get('/umbraco/management/api/v1/dictionary/:id/export', (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; const includeChildren = req.url.searchParams.get('includeChildren'); - const item = umbDictionaryData.getByKey(key); + const item = umbDictionaryData.getById(id); alert( `Downloads file for dictionary "${item?.name}", ${includeChildren === 'true' ? 'with' : 'without'} children.` @@ -177,16 +177,16 @@ export const handlers = [ rest.post('/umbraco/management/api/v1/dictionary/import', async (req, res, ctx) => { const file = req.url.searchParams.get('file'); - if (!file) return; + if (!file || !importResponse.id) return; - importResponse.parentKey = req.url.searchParams.get('parentKey') ?? null; + importResponse.parentId = req.url.searchParams.get('parentId') ?? null; umbDictionaryData.save(importResponse); // build the path to the new item => reflects the expected server response const path = ['-1']; - if (importResponse.parentKey) path.push(importResponse.parentKey); + if (importResponse.parentId) path.push(importResponse.parentId); - path.push(importResponse.key); + path.push(importResponse.id); const contentResult = { content: path.join(','), diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/document-type.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/document-type.handlers.ts index b9ae6eabca..1daea0ba0f 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/document-type.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/document-type.handlers.ts @@ -4,7 +4,7 @@ import type { DocumentTypeResponseModel } from '@umbraco-cms/backoffice/backend- // TODO: add schema export const handlers = [ - rest.post('/umbraco/management/api/v1/document-type/:key', (req, res, ctx) => { + rest.post('/umbraco/management/api/v1/document-type/:id', (req, res, ctx) => { const data = req.body; if (!data) return; @@ -13,11 +13,11 @@ export const handlers = [ return res(ctx.status(200), ctx.json(saved)); }), - rest.get('/umbraco/management/api/v1/document-type/details/:key', (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get('/umbraco/management/api/v1/document-type/details/:id', (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const document = umbDocumentTypeData.getByKey(key); + const document = umbDocumentTypeData.getById(id); return res(ctx.status(200), ctx.json([document])); }), @@ -41,10 +41,10 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/document-type/children', (req, res, ctx) => { - const parentKey = req.url.searchParams.get('parentKey'); - if (!parentKey) return; + const parentId = req.url.searchParams.get('parentId'); + if (!parentId) return; - const children = umbDocumentTypeData.getTreeItemChildren(parentKey); + const children = umbDocumentTypeData.getTreeItemChildren(parentId); const response = { total: children.length, @@ -55,28 +55,28 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/document-type/item', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; + const ids = req.url.searchParams.getAll('id'); + if (!ids) return; - const items = umbDocumentTypeData.getTreeItem(keys); + const items = umbDocumentTypeData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), - rest.get('/umbraco/management/api/v1/document-type/:key', (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get('/umbraco/management/api/v1/document-type/:id', (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const documentType = umbDocumentTypeData.getByKey(key); + const documentType = umbDocumentTypeData.getById(id); return res(ctx.status(200), ctx.json(documentType)); }), - rest.get('/umbraco/management/api/v1/document-type/allowed-children-of/:key', (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get('/umbraco/management/api/v1/document-type/allowed-children-of/:id', (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const items = umbDocumentTypeData.getAllowedTypesOf(key); + const items = umbDocumentTypeData.getAllowedTypesOf(id); return res(ctx.status(200), ctx.json(items)); }), diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/document.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/document.handlers.ts index b20817747d..44c3eb41da 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/document.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/document.handlers.ts @@ -7,9 +7,9 @@ import { umbracoPath } from '@umbraco-cms/backoffice/utils'; export const handlers = [ rest.post('/umbraco/management/api/v1/document/trash', async (req, res, ctx) => { console.warn('Please move to schema'); - const keys = await req.json(); + const ids = await req.json(); - const trashed = umbDocumentData.trash(keys); + const trashed = umbDocumentData.trash(ids); return res(ctx.status(200), ctx.json(trashed)); }), @@ -20,22 +20,22 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/document/children', (req, res, ctx) => { - const parentKey = req.url.searchParams.get('parentKey'); - if (!parentKey) return; - const response = umbDocumentData.getTreeItemChildren(parentKey); + const parentId = req.url.searchParams.get('parentId'); + if (!parentId) return; + const response = umbDocumentData.getTreeItemChildren(parentId); return res(ctx.status(200), ctx.json(response)); }), rest.get('/umbraco/management/api/v1/tree/document/item', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; + const ids = req.url.searchParams.getAll('id'); + if (!ids) return; - const items = umbDocumentData.getTreeItem(keys); + const items = umbDocumentData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), - rest.post('/umbraco/management/api/v1/document/:key', async (req, res, ctx) => { + rest.post('/umbraco/management/api/v1/document/:id', async (req, res, ctx) => { const data = await req.json(); if (!data) return; @@ -44,11 +44,11 @@ export const handlers = [ return res(ctx.status(200), ctx.json(saved)); }), - rest.get(umbracoPath('/document/:key'), (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get(umbracoPath('/document/:id'), (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const document = umbDocumentData.getByKey(key); + const document = umbDocumentData.getById(id); return res(ctx.status(200), ctx.json(document)); }), diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/health-check.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/health-check.handlers.ts index de8d67686f..a4e075f140 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/health-check.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/health-check.handlers.ts @@ -54,9 +54,9 @@ export const handlers = [ rest.post(umbracoPath('/health-check/execute-action'), async (req, res, ctx) => { const body = await req.json(); - const healthCheckKey = body.healthCheckKey; - // Find the health check based on the healthCheckKey from the healthGroups[].checks - const healthCheck = healthGroups.flatMap((group) => group.checks).find((check) => check?.key === healthCheckKey); + const healthCheckId = body.healthCheckId; + // Find the health check based on the healthCheckId from the healthGroups[].checks + const healthCheck = healthGroups.flatMap((group) => group.checks).find((check) => check?.id === healthCheckId); if (!healthCheck) { return res(ctx.status(404)); diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/language.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/language.handlers.ts index 4759c1d423..41158abe5b 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/language.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/language.handlers.ts @@ -21,12 +21,12 @@ export const handlers = [ return res(ctx.status(200), ctx.json(response)); }), - rest.get(umbracoPath('/language/:key'), (req, res, ctx) => { - const key = req.params.key as string; + rest.get(umbracoPath('/language/:id'), (req, res, ctx) => { + const id = req.params.id as string; - if (!key) return; + if (!id) return; - const item = umbLanguagesData.getByKey(key); + const item = umbLanguagesData.getByKey(id); return res(ctx.status(200), ctx.json(item)); }), @@ -53,7 +53,7 @@ export const handlers = [ } }), - rest.put(umbracoPath('/language/:key'), async (req, res, ctx) => { + rest.put(umbracoPath('/language/:id'), async (req, res, ctx) => { const data = await req.json(); if (!data) return; @@ -63,7 +63,7 @@ export const handlers = [ return res(ctx.status(200)); }), - rest.delete(umbracoPath('/language/:key'), async (req, res, ctx) => { + rest.delete(umbracoPath('/language/:id'), async (req, res, ctx) => { return res(ctx.status(200)); }), ]; diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/log-viewer.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/log-viewer.handlers.ts index 39d9fe9422..03491bbf88 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/log-viewer.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/log-viewer.handlers.ts @@ -1,5 +1,5 @@ import { rest } from 'msw'; -import { umbLogviewerData } from '../data/log-viewer.data'; +import { umbLogViewerData } from '../data/log-viewer.data'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; import { SavedLogSearchRequestModel } from '@umbraco-cms/backoffice/backend-api'; @@ -11,7 +11,7 @@ export const handlers = [ const take = req.url.searchParams.get('take'); const takeNumber = take ? Number.parseInt(take) : undefined; - const items = umbLogviewerData.searches.getSavedSearches(skipNumber, takeNumber); + const items = umbLogViewerData.searches.getSavedSearches(skipNumber, takeNumber); const response = { total: items.length, @@ -22,11 +22,11 @@ export const handlers = [ }), rest.get(umbracoPath('/log-viewer/saved-search/:name'), (req, res, ctx) => { - const name = req.params.key as string; + const name = req.params.name as string; if (!name) return; - const item = umbLogviewerData.searches.getByName(name); + const item = umbLogViewerData.searches.getByName(name); return res(ctx.delay(), ctx.status(200), ctx.json(item)); }), @@ -35,6 +35,7 @@ export const handlers = [ }), rest.delete(umbracoPath('/log-viewer/saved-search/:name'), async (req, res, ctx) => { + // TODO: implement this return res(ctx.status(200)); }), //#endregion @@ -46,10 +47,10 @@ export const handlers = [ const take = req.url.searchParams.get('take'); const takeNumber = take ? Number.parseInt(take) : undefined; - const items = umbLogviewerData.templates.getTemplates(skipNumber, takeNumber); + const items = umbLogViewerData.templates.getTemplates(skipNumber, takeNumber); const response = { - total: umbLogviewerData.templates.total, + total: umbLogViewerData.templates.total, items, }; @@ -58,11 +59,11 @@ export const handlers = [ //#endregion //#region Logs rest.get(umbracoPath('/log-viewer/level'), (req, res, ctx) => { - return res(ctx.delay(), ctx.status(200), ctx.json(umbLogviewerData.logLevels)); + return res(ctx.delay(), ctx.status(200), ctx.json(umbLogViewerData.logLevels)); }), rest.get(umbracoPath('/log-viewer/level-count'), (req, res, ctx) => { - return res(ctx.delay(), ctx.status(200), ctx.json(umbLogviewerData.logs.getLevelCount())); + return res(ctx.delay(), ctx.status(200), ctx.json(umbLogViewerData.logs.getLevelCount())); }), rest.get(umbracoPath('/log-viewer/validate-logs-size'), (req, res, ctx) => { @@ -75,9 +76,9 @@ export const handlers = [ const take = req.url.searchParams.get('take'); const takeNumber = take ? Number.parseInt(take) : undefined; - const items = umbLogviewerData.logs.getLogs(skipNumber, takeNumber); + const items = umbLogViewerData.logs.getLogs(skipNumber, takeNumber); const response = { - total: umbLogviewerData.logs.total, + total: umbLogViewerData.logs.total, items, }; diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/media-type.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/media-type.handlers.ts index 0b16b0e0a8..59e3c212c9 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/media-type.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/media-type.handlers.ts @@ -9,18 +9,18 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/media-type/children', (req, res, ctx) => { - const parentKey = req.url.searchParams.get('parentKey'); - if (!parentKey) return; + const parentId = req.url.searchParams.get('parentId'); + if (!parentId) return; - const response = umbMediaTypeData.getTreeItemChildren(parentKey); + const response = umbMediaTypeData.getTreeItemChildren(parentId); return res(ctx.status(200), ctx.json(response)); }), rest.get('/umbraco/management/api/v1/tree/media-type/item', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; + const ids = req.url.searchParams.getAll('key'); + if (!ids) return; - const items = umbMediaTypeData.getTreeItem(keys); + const items = umbMediaTypeData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), ]; diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/media.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/media.handlers.ts index cd7c2479f4..efb5a91845 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/media.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/media.handlers.ts @@ -4,12 +4,12 @@ import type { MediaDetails } from '../../../backoffice/media/media'; // TODO: add schema export const handlers = [ - rest.get('/umbraco/management/api/v1/media/details/:key', (req, res, ctx) => { + rest.get('/umbraco/management/api/v1/media/details/:id', (req, res, ctx) => { console.warn('Please move to schema'); - const key = req.params.key as string; - if (!key) return; + const id = req.params.id as string; + if (!id) return; - const media = umbMediaData.getByKey(key); + const media = umbMediaData.getById(id); return res(ctx.status(200), ctx.json([media])); }), @@ -26,13 +26,13 @@ export const handlers = [ rest.post('/umbraco/management/api/v1/media/move', async (req, res, ctx) => { const data = await req.json(); if (!data) return; - const moved = umbMediaData.move(data.keys, data.destination); + const moved = umbMediaData.move(data.ids, data.destination); return res(ctx.status(200), ctx.json(moved)); }), rest.post('/umbraco/management/api/v1/media/trash', async (req, res, ctx) => { - const keys = await req.json(); - const trashed = umbMediaData.trash(keys); + const ids = await req.json(); + const trashed = umbMediaData.trash(ids); return res(ctx.status(200), ctx.json(trashed)); }), @@ -42,17 +42,17 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/media/children', (req, res, ctx) => { - const parentKey = req.url.searchParams.get('parentKey'); - if (!parentKey) return; - const response = umbMediaData.getTreeItemChildren(parentKey); + const parentId = req.url.searchParams.get('parentId'); + if (!parentId) return; + const response = umbMediaData.getTreeItemChildren(parentId); return res(ctx.status(200), ctx.json(response)); }), rest.get('/umbraco/management/api/v1/tree/media/item', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; + const ids = req.url.searchParams.getAll('id'); + if (!ids) return; - const items = umbMediaData.getTreeItem(keys); + const items = umbMediaData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member-group.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member-group.handlers.ts index 04f3c6817b..db4ce18195 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member-group.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member-group.handlers.ts @@ -9,10 +9,10 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/member-group/item', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; + const ids = req.url.searchParams.getAll('key'); + if (!ids) return; - const items = umbMemberGroupData.getTreeItem(keys); + const items = umbMemberGroupData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member-type.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member-type.handlers.ts index 9411d8a2aa..694a7f9bef 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member-type.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member-type.handlers.ts @@ -9,10 +9,10 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/member-type/item', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; + const ids = req.url.searchParams.getAll('key'); + if (!ids) return; - const items = umbMemberTypeData.getTreeItem(keys); + const items = umbMemberTypeData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member.handlers.ts index 41555f9b2f..aa4d404356 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/member.handlers.ts @@ -9,10 +9,10 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/member/item', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; + const ids = req.url.searchParams.getAll('key'); + if (!ids) return; - const items = umbMemberData.getTreeItem(keys); + const items = umbMemberData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/package.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/package.handlers.ts index 886d08f5ef..840dbc0371 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/package.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/package.handlers.ts @@ -54,40 +54,40 @@ export const handlers = [ rest.post(umbracoPath('/package/created'), async (_req, res, ctx) => { //save const data: PackageMigrationStatusResponseModel = await _req.json(); - const newPackage: PackageDefinitionResponseModel = { ...data, key: uuidv4() }; + const newPackage: PackageDefinitionResponseModel = { ...data, id: uuidv4() }; packageArray.push(newPackage); return res(ctx.status(200), ctx.json(newPackage)); }), - rest.get(umbracoPath('/package/created/:key'), (_req, res, ctx) => { + rest.get(umbracoPath('/package/created/:id'), (_req, res, ctx) => { //read 1 - const key = _req.params.key as string; - if (!key) return res(ctx.status(404)); - const found = packageArray.find((p) => p.key == key); + const id = _req.params.id as string; + if (!id) return res(ctx.status(404)); + const found = packageArray.find((p) => p.id == id); if (!found) return res(ctx.status(404)); return res(ctx.status(200), ctx.json(found)); }), - rest.put(umbracoPath('/package/created/:key'), async (_req, res, ctx) => { + rest.put(umbracoPath('/package/created/:id'), async (_req, res, ctx) => { //update const data: PackageDefinitionResponseModel = await _req.json(); - if (!data.key) return; - const index = packageArray.findIndex((x) => x.key === data.key); + if (!data.id) return; + const index = packageArray.findIndex((x) => x.id === data.id); packageArray[index] = data; return res(ctx.status(200)); }), - rest.delete(umbracoPath('/package/created/:key'), (_req, res, ctx) => { + rest.delete(umbracoPath('/package/created/:id'), (_req, res, ctx) => { //delete - const key = _req.params.key as string; - if (!key) return res(ctx.status(404)); - const index = packageArray.findIndex((p) => p.key == key); + const id = _req.params.id as string; + if (!id) return res(ctx.status(404)); + const index = packageArray.findIndex((p) => p.id == id); if (index <= -1) return res(ctx.status(404)); packageArray.splice(index, 1); return res(ctx.status(200)); }), - rest.get(umbracoPath('/package/created/:key/download'), (_req, res, ctx) => { + rest.get(umbracoPath('/package/created/:id/download'), (_req, res, ctx) => { //download return res(ctx.status(200)); }), @@ -95,12 +95,12 @@ export const handlers = [ const packageArray: PackageDefinitionResponseModel[] = [ { - key: '2a0181ec-244b-4068-a1d7-2f95ed7e6da6', + id: '2a0181ec-244b-4068-a1d7-2f95ed7e6da6', packagePath: undefined, name: 'My Package', //contentNodeId?: string | null; //contentLoadChildNodes?: boolean; - //mediaKeys?: Array; + //mediaIds?: Array; //mediaLoadChildNodes?: boolean; //documentTypes?: Array; //mediaTypes?: Array; @@ -113,13 +113,13 @@ const packageArray: PackageDefinitionResponseModel[] = [ //dictionaryItems?: Array; }, { - key: '2a0181ec-244b-4068-a1d7-2f95ed7e6da7', + id: '2a0181ec-244b-4068-a1d7-2f95ed7e6da7', packagePath: undefined, name: 'My Second Package', }, { - key: '2a0181ec-244b-4068-a1d7-2f95ed7e6da8', + id: '2a0181ec-244b-4068-a1d7-2f95ed7e6da8', packagePath: undefined, name: 'My Third Package', }, diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/redirect-management.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/redirect-management.handlers.ts index 0b408a404a..af6d756e80 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/redirect-management.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/redirect-management.handlers.ts @@ -35,21 +35,21 @@ export const handlers = [ } }), - rest.get(umbracoPath('/redirect-management/:key'), async (_req, res, ctx) => { - const key = _req.params.key as string; - if (!key) return res(ctx.status(404)); - if (key === 'status') return res(ctx.status(200), ctx.json(UrlTracker)); + rest.get(umbracoPath('/redirect-management/:id'), async (_req, res, ctx) => { + const id = _req.params.id as string; + if (!id) return res(ctx.status(404)); + if (id === 'status') return res(ctx.status(200), ctx.json(UrlTracker)); - const PagedRedirectUrlObject = _getRedirectUrlByKey(key); + const PagedRedirectUrlObject = _getRedirectUrlByKey(id); return res(ctx.status(200), ctx.json(PagedRedirectUrlObject)); }), - rest.delete(umbracoPath('/redirect-management/:key'), async (_req, res, ctx) => { - const key = _req.params.key as string; - if (!key) return res(ctx.status(404)); + rest.delete(umbracoPath('/redirect-management/:id'), async (_req, res, ctx) => { + const id = _req.params.id as string; + if (!id) return res(ctx.status(404)); - const PagedRedirectUrlObject = _deleteRedirectUrlByKey(key); + const PagedRedirectUrlObject = _deleteRedirectUrlByKey(id); return res(ctx.status(200), ctx.json(PagedRedirectUrlObject)); }), @@ -69,13 +69,13 @@ export const handlers = [ const UrlTracker: RedirectUrlStatusResponseModel = { status: RedirectStatusModel.ENABLED, userIsAdmin: true }; -const _getRedirectUrlByKey = (key: string) => { +const _getRedirectUrlByKey = (id: string) => { const PagedResult: PagedRedirectUrlResponseModel = { total: 0, items: [], }; RedirectUrlData.forEach((data) => { - if (data.key?.includes(key)) { + if (data.id?.includes(id)) { PagedResult.items.push(data); PagedResult.total++; } @@ -83,8 +83,8 @@ const _getRedirectUrlByKey = (key: string) => { return PagedResult; }; -const _deleteRedirectUrlByKey = (key: string) => { - const index = RedirectUrlData.findIndex((data) => data.key === key); +const _deleteRedirectUrlByKey = (id: string) => { + const index = RedirectUrlData.findIndex((data) => data.id === id); if (index > -1) RedirectUrlData.splice(index, 1); const PagedResult: PagedRedirectUrlResponseModel = { items: RedirectUrlData, @@ -95,81 +95,81 @@ const _deleteRedirectUrlByKey = (key: string) => { const RedirectUrlData: RedirectUrlResponseModel[] = [ { - key: '1', + id: '1', created: '2022-12-05T13:59:43.6827244', destinationUrl: 'kitty.com', originalUrl: 'kitty.dk', - contentKey: '7191c911-6747-4824-849e-5208e2b31d9f2', + contentId: '7191c911-6747-4824-849e-5208e2b31d9f2', }, { - key: '2', + id: '2', created: '2022-13-05T13:59:43.6827244', destinationUrl: 'umbraco.com', originalUrl: 'umbraco.dk', - contentKey: '7191c911-6747-4824-849e-5208e2b31d9f', + contentId: '7191c911-6747-4824-849e-5208e2b31d9f', }, { - key: '3', + id: '3', created: '2022-12-05T13:59:43.6827244', destinationUrl: 'uui.umbraco.com', originalUrl: 'uui.umbraco.dk', - contentKey: '7191c911-6747-4824-849e-5208e2b31d9f23', + contentId: '7191c911-6747-4824-849e-5208e2b31d9f23', }, { - key: '4', + id: '4', created: '2022-13-05T13:59:43.6827244', destinationUrl: 'umbracoffee.com', originalUrl: 'umbracoffee.dk', - contentKey: '7191c911-6747-4824-849e-5208e2b31d9fdsaa', + contentId: '7191c911-6747-4824-849e-5208e2b31d9fdsaa', }, { - key: '5', + id: '5', created: '2022-12-05T13:59:43.6827244', destinationUrl: 'section/settings', originalUrl: 'section/settings/123', - contentKey: '7191c911-6747-4824-849e-5208e2b31d9f2e23', + contentId: '7191c911-6747-4824-849e-5208e2b31d9f2e23', }, { - key: '6', + id: '6', created: '2022-13-05T13:59:43.6827244', destinationUrl: 'dxp.com', originalUrl: 'dxp.dk', - contentKey: '7191c911-6747-4824-849e-5208e2b31d9fsafsfd', + contentId: '7191c911-6747-4824-849e-5208e2b31d9fsafsfd', }, { - key: '7', + id: '7', created: '2022-12-05T13:59:43.6827244', destinationUrl: 'google.com', originalUrl: 'google.dk', - contentKey: '7191c911-6747-4824-849e-5208e2b31d9f2cxza', + contentId: '7191c911-6747-4824-849e-5208e2b31d9f2cxza', }, { - key: '8', + id: '8', created: '2022-13-05T13:59:43.6827244', destinationUrl: 'unicorns.com', originalUrl: 'unicorns.dk', - contentKey: '7191c911-6747-4824-849e-5208e2b31d9fweds', + contentId: '7191c911-6747-4824-849e-5208e2b31d9fweds', }, { - key: '9', + id: '9', created: '2022-12-05T13:59:43.6827244', destinationUrl: 'h5yr.com', originalUrl: 'h5yr.dk', - contentKey: '7191c911-6747-4824-849e-5208e2b31ddsfsdsfadsfdx9f2', + contentId: '7191c911-6747-4824-849e-5208e2b31ddsfsdsfadsfdx9f2', }, { - key: '10', + id: '10', created: '2022-13-05T13:59:43.6827244', destinationUrl: 'our.umbraco.com', originalUrl: 'our.umbraco.dk', - contentKey: '7191c911-6747-4824-849e-52dsacx08e2b31d9dsafdsff', + contentId: '7191c911-6747-4824-849e-52dsacx08e2b31d9dsafdsff', }, { - key: '11', + id: '11', created: '2022-13-05T13:59:43.6827244', destinationUrl: 'your.umbraco.com', originalUrl: 'your.umbraco.dk', - contentKey: '7191c911-6747-4824-849e-52dsacx08e2b31d9fsda', + contentId: '7191c911-6747-4824-849e-52dsacx08e2b31d9fsda', }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/relation-type.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/relation-type.handlers.ts index d1e39b7a1b..0e4c1d4ea6 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/relation-type.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/relation-type.handlers.ts @@ -4,11 +4,11 @@ import { umbracoPath } from '@umbraco-cms/backoffice/utils'; // TODO: add schema export const handlers = [ - rest.delete('/umbraco/backoffice/relation-type/:key', async (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.delete('/umbraco/backoffice/relation-type/:id', async (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - umbRelationTypeData.delete([key]); + umbRelationTypeData.delete([id]); return res(ctx.status(200)); }), @@ -23,10 +23,10 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/relation-type/children', (req, res, ctx) => { - const parentKey = req.url.searchParams.get('parentKey'); - if (!parentKey) return; + const parentId = req.url.searchParams.get('parentId'); + if (!parentId) return; - const children = umbRelationTypeData.getTreeItemChildren(parentKey); + const children = umbRelationTypeData.getTreeItemChildren(parentId); const response = { total: children.length, @@ -37,22 +37,22 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/relation-type/item', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; - const items = umbRelationTypeData.getTreeItem(keys); + const ids = req.url.searchParams.getAll('id'); + if (!ids) return; + const items = umbRelationTypeData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), - rest.get(umbracoPath('/relation-type/:key'), (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get(umbracoPath('/relation-type/:id'), (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const RelationType = umbRelationTypeData.getByKey(key); + const RelationType = umbRelationTypeData.getById(id); return res(ctx.status(200), ctx.json(RelationType)); }), - rest.post(umbracoPath('/relation-type/:key'), async (req, res, ctx) => { + rest.post(umbracoPath('/relation-type/:id'), async (req, res, ctx) => { const data = await req.json(); if (!data) return; @@ -61,7 +61,7 @@ export const handlers = [ return res(ctx.status(200), ctx.json(saved)); }), - rest.put(umbracoPath('/relation-type/:key'), async (req, res, ctx) => { + rest.put(umbracoPath('/relation-type/:id'), async (req, res, ctx) => { const data = await req.json(); if (!data) return; diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/template.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/template.handlers.ts index e0bd906f49..55e73ea95b 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/template.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/template.handlers.ts @@ -11,18 +11,18 @@ export const handlers = [ }), rest.get(umbracoPath('/tree/template/children'), (req, res, ctx) => { - const parentKey = req.url.searchParams.get('parentKey'); - if (!parentKey) return; + const parentId = req.url.searchParams.get('parentId'); + if (!parentId) return; - const response = umbTemplateData.getTreeItemChildren(parentKey); + const response = umbTemplateData.getTreeItemChildren(parentId); return res(ctx.status(200), ctx.json(response)); }), rest.get(umbracoPath('/tree/template/item'), (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; + const ids = req.url.searchParams.getAll('id'); + if (!ids) return; - const items = umbTemplateData.getTreeItem(keys); + const items = umbTemplateData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), @@ -34,18 +34,18 @@ export const handlers = [ return res(ctx.status(200), ctx.json(response)); }), - rest.get(umbracoPath('/template/:key'), (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get(umbracoPath('/template/:id'), (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const response = umbTemplateData.getByKey(key); + const response = umbTemplateData.getById(id); return res(ctx.status(200), ctx.json(response)); }), - rest.put(umbracoPath('/template/:key'), async (req, res, ctx) => { - const key = req.params.key as string; + rest.put(umbracoPath('/template/:id'), async (req, res, ctx) => { + const id = req.params.id as string; const data = await req.json(); - if (!key) return; + if (!id) return; umbTemplateData.update(data); return res(ctx.status(200)); diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/tree-media.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/tree-media.handlers.ts index b61126fa72..3a0b3b4e29 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/tree-media.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/tree-media.handlers.ts @@ -9,17 +9,17 @@ export const handlers = [ }), rest.get('/umbraco/management/api/v1/tree/media/children', (req, res, ctx) => { - const parentKey = req.url.searchParams.get('parentKey'); - if (!parentKey) return; - const response = umbMediaData.getTreeItemChildren(parentKey); + const parentId = req.url.searchParams.get('parentId'); + if (!parentId) return; + const response = umbMediaData.getTreeItemChildren(parentId); return res(ctx.status(200), ctx.json(response)); }), rest.get('/umbraco/management/api/v1/tree/media/item', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (!keys) return; + const ids = req.url.searchParams.getAll('key'); + if (!ids) return; - const items = umbMediaData.getTreeItem(keys); + const items = umbMediaData.getTreeItem(ids); return res(ctx.status(200), ctx.json(items)); }), diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/user-groups.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/user-groups.handlers.ts index e32b063ec5..929979ba43 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/user-groups.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/user-groups.handlers.ts @@ -14,19 +14,19 @@ export const handlers = [ return res(ctx.status(200), ctx.json(response)); }), - rest.get('/umbraco/backoffice/user-groups/details/:key', (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get('/umbraco/backoffice/user-groups/details/:id', (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const userGroup = umbUserGroupsData.getByKey(key); + const userGroup = umbUserGroupsData.getById(id); return res(ctx.status(200), ctx.json(userGroup)); }), rest.get('/umbraco/backoffice/user-groups/getByKeys', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (keys.length === 0) return; - const userGroups = umbUserGroupsData.getByKeys(keys); + const ids = req.url.searchParams.getAll('id'); + if (ids.length === 0) return; + const userGroups = umbUserGroupsData.getByIds(ids); return res(ctx.status(200), ctx.json(userGroups)); }), diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/users.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/users.handlers.ts index 298b454273..e56784f793 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/users.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/users.handlers.ts @@ -16,19 +16,19 @@ export const handlers = [ return res(ctx.status(200), ctx.json(response)); }), - rest.get('/umbraco/backoffice/users/details/:key', (req, res, ctx) => { - const key = req.params.key as string; - if (!key) return; + rest.get('/umbraco/backoffice/users/details/:id', (req, res, ctx) => { + const id = req.params.id as string; + if (!id) return; - const user = umbUsersData.getByKey(key); + const user = umbUsersData.getById(id); return res(ctx.status(200), ctx.json(user)); }), rest.get('/umbraco/backoffice/users/getByKeys', (req, res, ctx) => { - const keys = req.url.searchParams.getAll('key'); - if (keys.length === 0) return; - const users = umbUsersData.getByKeys(keys); + const ids = req.url.searchParams.getAll('id'); + if (ids.length === 0) return; + const users = umbUsersData.getByIds(ids); return res(ctx.status(200), ctx.json(users)); }), @@ -49,7 +49,7 @@ export const handlers = [ if (!data) return; const newUser: UserDetails = { - key: uuidv4(), + id: uuidv4(), name: data.name, email: data.email, status: 'invited', @@ -57,7 +57,7 @@ export const handlers = [ updateDate: new Date().toISOString(), createDate: new Date().toISOString(), failedLoginAttempts: 0, - parentKey: '', + parentId: '', hasChildren: false, type: 'user', icon: 'umb:icon-user', diff --git a/src/Umbraco.Web.UI.Client/src/stories/store.mdx b/src/Umbraco.Web.UI.Client/src/stories/store.mdx index 667afd9124..1140ee8e40 100644 --- a/src/Umbraco.Web.UI.Client/src/stories/store.mdx +++ b/src/Umbraco.Web.UI.Client/src/stories/store.mdx @@ -11,7 +11,7 @@ Generally a Store will be holding one or more RxJS Subjects, each Subject is mad ```typescript class MyProductStore { - #products = new ArrayState(>[], (product) => product.key); + #products = new ArrayState(>[], (product) => product.id); public readonly products = this.#products.asObservable(); @@ -65,10 +65,10 @@ class MyProductStore { ... - getByKey(key: string) { + getByKey(id: string) { // Request data via a Resource to then take part of this state when recieved. - tryExecuteAndNotify(this.host, ProductResource.getByKey({key})).then(({ data }) => { + tryExecuteAndNotify(this.host, ProductResource.getByKey({id})).then(({ data }) => { if (data) { this.#products.append(data.items); } @@ -76,7 +76,7 @@ class MyProductStore { // Return a Observable part, to listen for this specific product and the future changes of it. return this.#data.getObservablePart((documents) => - documents.find((document) => document.key === key) + documents.find((document) => document.id === id) ); } } @@ -134,11 +134,11 @@ With this we can make a high performant application, only triggering the parts t ### Ensure unique data: For incoming data to replace existing data, we need to clarify what makes a entry of the array unique. -In the examples of this guide each product has a key, and we have clarified this to the State by giving it the little method `(product) => product.key` as part of the its creation: +In the examples of this guide each product has a id, and we have clarified this to the State by giving it the little method `(product) => product.id` as part of the its creation: ```typescript class MyProductStore { - #products = new ArrayState(>[], (product) => product.key); + #products = new ArrayState(>[], (product) => product.id); ... } ```