* Adding response/request models
* Adding mapping
* Adding factory
* Adding controllers
* Moved to correct (generic domain) namespace
* Renamed to reflect the correct domain + renamed IsAllowed to IsCompatible
* Renaming + TODO
* Removed presentation logic + TODO
* Fixed controller
* Attempt for generic implementation
* Enable composition of media types + refactor content/media type editing tests to prove it (and a little renaming of a mis-named property)
* Remove unused classes
* Introducing GetAvailableCompositionsAsync to EditingServices
* Implement GetAvailableCompositionsAsync
* Base share implementation
* Tests
* Tests
* Renaming
* Clean up controller
* Clean up test
* Remove redundant check
* Create and use generic models
* Add shared implementation
* Fix and rename doc type mapper
* Fix document Type factory
* Add missing response type
* Create a base request model
* Make key nullable when new item
* Media type response models
* Default isElement to false and remove isElement param from media type related things
* Create mappings for media type compositions
* Inject generic base service to reuse implementation amongst concrete services
* Add new composition endpoints for media type
* Use specific type
* Add a reference comment to other test suite
* Add more test cases
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Fixed failing tests
* Updated tests to use the updated helpers
* Clean up tests
* Enabled our pipeline for E2E testing
* Updated the CMS URl for our E2E tests
* Bumped version of our testHelpers
* Did some fixing, still a bit more to do
* Updated auth tests to use LoginUiHelper
* Updated Telemetry tests to use TelemetryUiHelper
* Updated LogViewer tests to use LogViewerUiHelper
* Updated api tests to apply AAA pattern and fix failed tests
* Removed unused import
* Fixed comments
* Bumped version of test helper
* Updated the version to 10 instead of 11
* Updated the package-lock.json file to contain the correct versions
* Added a waitForTimeout
The reason for this is that this test is failing on the pipeline
* Bumped version of testhelpers
* Removed TODO
* Updated EnsurePathExists so we create the stylesheet and scripts folder
* Added a waits for response, otherwise our test would be too fast
* Sometimes it reloads before the save is complete
* Added timeout for locator
* Removed duplicate
* Wait until save
* This was an actual bug, so we should not use a workaround, we should fix it
* Skips the tests for script.
* Bug was fixed, so this can be used again
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
* Begin migrating test to use new service calls
* Fix formatting
* Add todo to add timeout so our tests dont stall entirely
* Add timeout so tests can run
Still need to figure out why the index only seems to update sometimes
* Migrate BackOfficeExamineSearcherTests to use new service calls
* Remove unused imports
* Migrate to languageservice in external index searcher test
* Use seperate save and publish calls
* Use scopes in ExamineExternalIndexTests
* Use scopes in BackOfficeExamineSearcherTests
* Rename information endpoint to troubleshooting
* Rename information endpoint to troubleshooting
* Add new information endpoint
* Fix bad merge
* Add InformationServerController.cs back
* Update serverTime offset to non hard-coded value.
* Add dictionary to swagger models
* Update OpenApi.json file
* Rename map definition
* Add ServerConfigurationBaseModel
* Implement ServerConfigurationBaseModel.cs
* Updated OpenApi
* Updated endpoint to return correct type in openapi
* Use explicit class for server information
* Remove version endpoint, as that is contained in server information.
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Making ProblemDetails details more generic
* Adding authorizer that can be replaces for external authz in handlers. Adding handler and requirement for UserBelongsToUserGroupInRequest policy
* Adding method to get the GUID from claims
* Adding service methods to check user group authz
* Porting MustSatisfyRequirementAuthorizationHandler
* Adding controllers authz
* Fix return status code + produced response type
* Moving to folder
* Adding DenyLocalLogin policy scaffold
* Implement a temp DenyLocalLoginHandler
* Introducing a new Fobidden result
* Fix comment
* Introducing a helper class for authorizers
* Changed nullability for GetCurrentUser
* Changes from Attempt to Status + FIXME comments
* Create a UserGroupAuthorizationStatus to be used in the future
* Introduces a new authz status for checking media acess
* Introducing a new permission service for media
* Adding fixme
* Adding more policy configurations
* Adding Media policy requirement and handler
* Adding media authorizer
* Fix order of params
* Adding duplicate code comment
* Adding authz to media controllers
* Migrating more logic from MediaPermissions.cs
* Adding more MediaAuthorizationStatus-es
* Handling of new authorization status
* Fix comment
* Adding NotFound case
* Adding NewDenyLocalLoginIfConfigured policy && commenting [AllowAnonymous] where the policy is applied since it is already handled
* Changed Forbid() to Forbidden() to get the correct status code
* Remove policy that is applied on the base controller already
* Implement and apply NewUmbracoFeatureEnabled policy
* Renaming classes to add Permission in the name
* Register permission services
* Add FIXME
* Introduce new IUserGroupPermissionService and refactor accordingly
* Add single overload with default implementation
* Adding user permission policy and related
* Applying admin policy
* Register all new policies
* Better wording
* Add default implementation for a single overload
* Adding remarks to IContentPermissionService.cs
* Supporting null as key in ContentPermissionService
* Fix namespace
* Reverting back to not supporting null as content key, but having dedicated implementation
* Adding content authorizer with null values to represent root item
* Removing null key support and adding dedicated implementation
* Removing remarks
* Adding content resource with null support
* Removing null support
* Adding requirement and status
* Adding content authorizer + handlers
* Applying policies to content controllers
* Update comment
* Handling of Authorization Statuses
* More authz in controllers
* Fix comments
* New branch handler
* Obsolete old implementation
* Adding dedicated policies to root and bin
* Adding a branch specific namespace
* Bin specific requirement and namespace
* Root specific requirement and namespace
* Changing to new root policy
* Refactoring
* Save policies
* Fix null check/reference
* Add TODO comment
* Create media root- and bin-specific policies, handlers, etc.
* Apply correct policy in create and update media controllers
* Apply root policy to move and sort controllers
* Fix wording
* Adding UserGroupAuthorizationStatusResult
* Remove all AuthorizationStatusResult as we cannot get the specific AuthorizationStatus
* Fixing Umbraco feature policy
* Fix allow anonymous endpoints - the value returned from DenyLocalLoginHandler wasn't enough, we need to succeed DenyAnonymousAuthorizationRequirement as it is required for some of the endpoints that had the attribute
* Apply DenyLocalLoginIfConfigured policy to corresponding re-implementation of PostSetInvitedUserPassword
* Fix comment
* Renaming performingUser to user and fixing comments
* Rename helper method
* Fix references
* Re-add merge conflict deletion
* Adding Backoffice requirement and relevant
* Registering
* Added a simple policy test
* Fixed small test things and clean up
* Temp solution
* Added one more test and fix another static issue
* Fix another merge conflict
* Remove BackOfficePermissionRequirement and handler as they might not be necessary
* Comment out again [AllowAnonymous]
* Remove AuthorizationPolicies.BackOfficeAccessWithoutApproval policy as it might not be necessary
* Fix temp implementation
* Fix reference to correct handler
* Apply authz policy to new publish/unpublish controllers
* Fix comments
* Removing duplicate ProducesResponseTypes
* Added swagger documentation about the 401 and 403
* Added Resources to Media, User and UserGroup
* Handle root, recycle bin and branch in the same handler
* Handle both parent and target when moving
* Check Ids for all sort requests
* Xml docs
* Clean up
* Clean up
* Fix build
* Cleanup
* Remove TODO
* Added missing overload
* Use yield
* Adding some keys to check
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
* Disable transitive package version pinning
* Take top-level dependencies on Azure.Identity and System.Net.Http
* Take top-level dependencies on System.Security.Cryptography.Xml and System.Text.RegularExpressions
* Use version overrides for ImageSharp 2
* Move Directory.Packages.props to root, use GlobalPackageReference and replace Microsoft.CSharp with Microsoft.CodeAnalysis.CSharp
* Replace NPoco.SqlServer with NPoco and remove unused System dependencies
* Fix package validation and MSBuild warnings
* Add nuget.config and enable package source mapping
* Remove explicitly set C# language version
* Add empty Directory.Packages.props file for acceptance test
* Downgrade SixLabors.ImageSharp back to 3.0.2 because of breaking changes
* Update ImageSharp/ImageSharp.Web to 3.1.0 and use ComputeHMAC
* Added the possibility for us to search through the external index
* Added ForceInstantExecution
* Added InternalIndex integration tests
* Added External Index integration tests
* Removed comments
* Remove unused internal field
* Add mechanism to wait for index rebuilding
* Remove some of the usages of sleep
* Remove sleeps
* Added comments from review
* Added a method for getting the IndexPath
---------
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
* Refactor acceptance tests for Partial View
* Refactor api tests for Partial View
* Bumped version of Test Helper
* Added suggestion from review
* Bumped version to testhelpers 2.0.8
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
* Cache block item constructors for block based editors
* Fix unit tests
* Fixed Grid unit tests
* Clear constructor caches when content types and data types change (to support InMemoryAuto models)
* Moved to centralized nuget packages
* Handle JsonSchema
* Change PackageReference to PackageVersion
* Opt out of central package management for mangement api (at least for versions less than 14) and the UI project
* ManagePackageVersionsCentrally = false
* Change folder acceptance tests are build, to avoid reading the test Directory.Packages.props
* Change folder acceptance tests are build, to avoid reading the test Directory.Packages.props
* change working directory
* workingDirectory
* Force the template to use local nuget packages
* Force the template to use local nuget packages
* clean up
* added wait on
* added wait on
* Added acceptance test for Stylesheets
* Updated api test for stylesheet using new helpers and apply AAA pattern
* Bumped version of Test Helpers
* Updated api and ui tests of Stylesheet after modifying TestHelper
* Updated stylesheets ui tests using openActionMenuAtRoot()
* Added suggestions from review
* Added wait for the flaky tests
* Fixed package-lock.json
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
* Fix IWebhook and IEntity GetUdi extension method
* Refactor to use switch expressions
* Add GetUdiForWebhook test
* Added a webhook builder for unit tests.
---------
Co-authored-by: Andy Butland <abutland73@gmail.com>