Commit Graph

62 Commits

Author SHA1 Message Date
Kenn Jacobsen
469a54cbbe Workaround for failing entity tree children (#15887)
* Workaround for failing entity tree children

* Fix typo from original PR

* Expose and actually use GetPagedTrashedChildren on EntityService (the default implementation on the interface is currently used).

* Ensure that ID/Key mapping for recycle bins work
2024-03-15 11:21:36 +01:00
Mole
ae675b28f7 V14: Remove duplicate pagination helper (#15856)
* Remove management PaginationService

* Remove usage of PaginationHelper in FilterMemberFilterController
2024-03-12 12:57:29 +01:00
Elitsa Marinovska
04400054ac V14: Cleanup [ApiController] attribute usage (#15842)
* Applying [ApiController] to ManagementApiControllerBase and the rest derive it from it

* Removing [ApiController] from deriving controllers

* Removing [ApiVersion("1.0")] from controller base

* Cleanup

* [ApiController] from deriving DeliveryApiControllerBase controller
2024-03-05 15:49:40 +01:00
Bjarke Berg
1fd4fce3a8 Rename policies to original names (#15825)
* Removed the "New" from all policy names now that the legacy backoffice is gone.

* more policy renaming

* more policy renaming

* Uncommenting tests

* Cleanup

* Removing unused policy names

* Renaming AdminUserEditsRequireAdmin to a more meaningful UserPermissionByResource

* Completing TODO and some alphabetical rearranging

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-03-04 15:51:24 +01:00
Nikolaj Geisle
7c33afa3a9 enable start node calculation (#15813) 2024-03-01 14:18:22 +01:00
Elitsa Marinovska
6010565fab V14: Segments configuration (#15812)
* Adding configuration options for segment settings

* Add "useSegments" to the document type configuration endpoint

* Adding additional configuration for creation of non-existing segments
2024-03-01 13:06:03 +01:00
Kenn Jacobsen
d8659ca53e Refactor content updates to shift responsibility downwards (#15807) 2024-03-01 10:45:19 +01:00
Nikolaj Geisle
b8577e3af2 V14: Unpublish multiple cultures (#15789)
* Refactor to accept multiple cultures

* Add test

* Move logic into service

* Remember to complete scope

* Move scope creation.

* Add test

* Close scope on early return

* Handle invalid cultures with bad request

* Handle valid cultures based on content

* Change return type if a culture is required

* Refactor content publishing service to have 1 unpublish method

* Update tests

* Return better error

* Scope completes

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-02-29 14:38:47 +01:00
Bjarke Berg
cf9b00bffc Refactor authorizers to be reusable from the core project (#15782)
* Refactored the Authorizers to be reuseable from core by now knowing about principal but only the IUser. Also moved them to core

* Fix multiple enumeration

* Fix more multiple enumerations

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2024-02-29 10:41:56 +01:00
Kenn Jacobsen
4443f8b88a Validate collisions in domain assignments (#15759)
* Validate collisions in domain assignments

* Update OpenApi.json
2024-02-26 15:52:02 +01:00
Sven Geusens
00dade48f6 Document and Media restore endpoints (#15681)
* Added Endpoint to get Document restore information

* Add media version of original paent recycle bin

update document permission
regisered interfaces

* Added restore endpoints

* PR feedback and other cleanup

* Update orignal root parent logic & shrank return model

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-02-22 17:37:27 +01:00
Kenn Jacobsen
918457d9f8 Output "operationStatus" for error scenarios whenever possible (#15703) 2024-02-22 15:17:06 +01:00
Bjarke Berg
608f2e3c76 Scheduled publishing in Management API (#15680)
* Only use datetimeoffset in API

* Updated publish endpoint to take schedule information

* Fixed test builds

* OpenApi updates

* Update OpenApi schema

* Fixed issues with publishing.

* Added validation before publishing. Had to move a lot of classes to core.

* added missing files

* Added validation info to error

* Typo

* Clean up and adding missing result

* Updating to AvailableCultures instead of PublishedCultures

* Handle time needs to be in the future

* validate only cultures that needs to be published

* Fix typos

* Filter out cultures that we are not trying to publish from the validation errors

* Don't filter out only the available cultures, to accommodate non-created variants

* Only allow publish of existing cultures

* Fixed issues found in test

* fixed build

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-02-21 09:10:48 +01:00
Elitsa Marinovska
ec1ba6031f V14: Document and media collection view endpoints (#15696)
* Fix authz status

* Adding another silo for list views

* Adding base classes and handling collection operation statuses

* Change signature to reuse functionality. Fix references

* Adding collection response models

* Adding content and media type collection response models

* Adding mapping

* Adding mapping for document and media types

* Adding list view page model

* Initial implementation

* Moving implementation to service base

* Adding content and media service interfaces for handling list views

* Registering and implementation

* Update controllers to use new services

* Renaming param

* Refactor to pass content type instead of content type key

* Handle the case where only data type is provided

* Add missing operation status

* Update OpenApi.json

* Added comment for a temp workaround

* Removing orderCulture from media interface as it is not yet supported

* Adding a base class for content type collection reference model

* Adding common collection controller base and moving the ContentCollectionOperationStatusResult to there

* Cleaning up controllers after implementing the base class

* Cleaning up concrete controller bases

* OpenApi.json updates

* Changing GetPagedChildren to return a paged model

* Fix ordering

* Adding ,

* Fix wording

* Append operation status to unsuccessful API responses

* A little bit of clean-up

* Update default orderBy value

* Update the default value of orderBy

* Adding missing owner and updater system fields

* Updating OpenApi.json with owner and updater props

* Create base and rename owner to creator

* Update OpenApi.json

* Reordering of properties

* "Owner" will be "creator"

* Fix comment

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-02-14 15:13:56 +01:00
Sven Geusens
024bb8903c V14/feature/delete media in recyblebin (#15636)
* Bugfix: MediaCacheRefresher needs to always clear the mediaCache no matter what the publishedState is

* fix: check correct permissions for deleteDocumentFromRecycleBin

* Fix: ImageCropper propertyValues should not hold invalid values.

* Added media delete endpoints

* PR comment fix: Do not schedule cleanup if we know the file does not exist.

* resolved forward merge build conflicts

namespace cleanup

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-02-07 10:44:20 +01:00
Kenn Jacobsen
183b5cc454 Management API model mapping take two (#15667)
* Re-modelling API models (take two)

* Do not use "content" - use "document" and "media" instead.

* Move "item" endpoints to their own silo

* Use "Id", not "Key"

* Regenerate OpenApi.json

* Rename user start node IDs from "content" to "document"

* Regererate OpenApi.json after forward merge

* update importmap

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2024-02-06 13:19:30 +01:00
Kenn Jacobsen
d29e05efb7 Move document related operations to DocumentControllerBase (#15661)
* Clean up ContentControllerBase and move document related operations to DocumentControllerBase

* Rename content to document

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-02-01 11:29:52 +01:00
Kenn Jacobsen
d631ef1802 Move the ContentControllerBase to the correct location (#15656) 2024-01-31 16:22:15 +01:00
Kenn Jacobsen
aaf7075313 Property level validation for Management API (#15644)
* Property level validation for content - initial implementation

* Always succeed create/update regardless of property level validation errors

* Move old complex editor validation classes to Web.BackOffice so they will be deleted

* Include operation status and property validation errors in ProblemDetails

* Refactor property validation to its own service(s)

* Make the problem details builder a little more generic towards extensions

* Validation for item and branch publish

* Moved malplaced test

* Get rid of a TODO

* Integration tests for content validation service

* Simplify validation service

* Add missing response types to create and update for document and media

* Remove test that no longer applies

* Use "errors" for model validation errors (property validation errors)

* Split create/update and validation into their own endpoints

* Fix forward merge

* Correct wrong assumption for missing properties

* Remove localization from validation error messages - decreases dependencies, adds a lot of obsolete constructors

* Reuse existing validation service + support custom error messages

* Fix merge errors

* Review comments
2024-01-31 10:40:58 +01:00
Kenn Jacobsen
9b454bec6b Model mapping PoC (#15546)
* First take at new models for improved mapping between client and server

* Add variants to Media

* Re-introduced lost names

* Start breaking apart "Id" reference properties in request models as well

* Refactor to fix OpenAPI spec

* Discard TODO (not relevant)

* Split recycle bin response models

* Delete unused marker interface

* Use reference properties for content and media type handling

* Rework document and media types to be explicit in relations (do not expose "content type", it is an implementation detail)

* Mapping for document and media type copy + move

* Ensure correct response model for Media

* Regenerate OpenAPI JSON after forward merge

* Fix forward merge issues

* Fix forward merge + regenerate OpenApi.json

* Added unit tests for content state helper

* Move "allowed document types" endpoint to document type silo, refactored services and added "allowed media types"

* Regenerate OpenApi.json after forward merge

* Do not include content state for media items

* Review fix
2024-01-30 12:19:05 +01:00
Andreas Zerbst
bb46d23730 V14 Bugfix, fixed some of the document controllers (#15449)
* Updated naming to route correctly

* Added a check for null

* Added another status code for the PublicAccess

* Added a check for null

* Updated naming to match route

* Added attempt pattern

* added a ProblemDetailsBuilder for the EntryNotFound

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-01-29 12:58:03 +01:00
Nikolaj Geisle
e7749ecb58 V14/feature/more configuration endpoints (#15603)
* Add template configuration endpoint

* Implement template endpoint

* rename template configuration response model

* Implement package configuration endpoint

* Add media configuration endpoint

* Implement document configuration endpoint

* Refactor enabled to disabled

* implement document type configuratio endpoint

* Add required to view model properties

* Update OpenApi.json
2024-01-26 11:03:22 +01:00
Sven Geusens
26761cc04a Implemented culture based authorization for content (#15580)
* Implemented culture based authorization for content

* Implemented culture auth for create/update of documents

* Applied culture authorization to dictionary create/update

* Added an integration test to test an assumption about the ContentTypeEditingService.CreateAsync method

* Fix processing when result is already false;

* Apply suggestions from code review

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>

* Refactor method to async + clarify and consilidate comments regarding dictionary locks

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-01-22 21:08:20 +01:00
Sven Geusens
acc71b6d45 Add management api delete document endpoints (#15600)
* Added Delete document endpoint

* Added delete from recylebin endpoint

Added/restructured unittests

* Clarifications

* Moved document specific mapping from base recyclebin to document recyclebin

* Refactor OperationStatusResult mapping trough inheritance

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-01-22 15:58:18 +01:00
Kenn Jacobsen
e4f9f98f2d File system endpoints redo (#15521)
* First stab at a massive remake of file system based endpoints

* Do not prefix system paths with directory separator char

* Ensure correct and consistent response types

* Fix partial view snippets endpoints

* Clean up IO (path) operations

* Update OpenAPI JSON to match new endpoints

* Return 201 when renaming file system resources

* Add "IsFolder" to file system item endpoints

* Replace "parentPath" with a "parent" object for file system creation endpoints

* Update OpenAPI JSON

* Rewrite snippets

* Regenerate OpenAPI JSON after forward merge

* Remove stylesheet overview endpoint

* Regenerate OpenAPI JSON after forward merge

* add server-file-system module to importmap

* Expose generated resource identifier in 201 responses

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2024-01-22 08:20:45 +01:00
Sven Geusens
1fe39de589 Add missing empty recycle bin endpoints (#15602)
* Added empty document recyble bin

* Made EmptyDocumentRecycleBinController leaner

Cleaned up obsolete constructor

* Added empty media recycle bin endpoint

* Cleanup

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>
2024-01-19 10:58:33 +01:00
Elitsa Marinovska
fda866fc9e V14: Add authorization policies to Management API controllers - p2 (#15211)
* 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>
2023-12-11 08:25:29 +01:00
Kenn Jacobsen
c9c234492b Add missing API version attributes to management API controllers (#15310) 2023-11-29 09:23:23 +01:00
Kenn Jacobsen
012b43a1c2 Publishing in the Management API (#14774)
* make CoreScopeProvider available for derived classes

* Create publish controller

* Add publish functionality

* Remove unneeded using

* Implement publish for multiple cultures

* support multiple cultures in controler

* Dont validate properties

* Refactor to use PublishingOperationStatus

* refactor to use proper publish async methods

* Refactor publish logic into own service

* Commit some demo code

* Add notes about what errors can happen when publishing

* Rework ContentPublishingService and introduce explicit Publish and PublishBranch methods in ContentService

* Fix merge

* Allow the publishing strategy to do its job

* Improved check for unsaved changes

* Make the old content controller work (as best possible)

* Remove SaveAndPublish (SaveAndPublishBranch) from all tests

* Proper guards for invalid cultures when publishing

* Fix edge cases for property validation and content unpublishing + add unpublishing to ContentPublishingService

* Clear out a few TODOs - we'll accept the behavior for now

* Unpublish controller

* Fix merge

* Fix branch publish notifications

* Added extra test for publishing unpublished cultures and added FIXME comments for when we fix the state of published cultures in content

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-11-22 12:52:08 +01:00
Kenn Jacobsen
981bf09325 Minor Management API changes from FE (#14804)
* Change document delete into move-to-recycle-bin

* Make it possible to supply an explicit ID when creating content and media

* Change media delete into move-to-recycle-bin

* Merge "allowed child content types" controllers into one + fixed a bug that allowed all types if none were defined

* Update OpenAPI JSON to reflect merged endpoints
2023-09-14 10:07:08 +02:00
Kenn Jacobsen
f2d11e3095 Add content and media sorting to the Management API (#14712)
* Add content and media sorting to the Management API

* Rename "id" to "key" throughout the ContentEditingService

* Update Open API json file

* Use "key" instead of "id" in ContentEditingServiceBase

* Use "key" instead of "id" in IMediaEditingService and MediaEditingService

* Turn delegates into abstracts + fix bug that allowed deleting items outside of the recycle bin

* Use PUT instead of POST

* Update src/Umbraco.Core/Services/MediaEditingService.cs

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>

* Update src/Umbraco.Core/Services/MediaEditingService.cs

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

* Update Open API JSON

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-08-28 08:56:57 +02:00
Bjarke Berg
45033437a2 Updated all 404 and 500 responses to use problem details model (#14634)
* Updated all 404 and 500 responses to use problem details

* Updated OpenApi.json

* Add missing ProducesResponseType

* Updated OpenApi.json
2023-08-04 10:51:20 +02:00
Elitsa Marinovska
036876f349 V14: Add authorization policies to new Backoffice API controllers - p1 (#14551)
* AuditLog policies

* DataType policies

* Dictionary policies

* Document controllers policies

* DocumentBlueprint controllers policies

* DocumentType controllers policies

* HealthCheck controllers policies

* Language controllers policies

* LogViewer controllers policies

* Media controllers policies

* MediaType controllers policies

* Member controllers policies

* MemberGroup controllers policies

* MemberType controllers policies

* ModelsBuilder controllers policies

* Package controllers policies

* PartialView controllers policies

* Profiling controllers policies

* PropertyType controllers policies

* RedirectUrlManagement controllers policies

* Relation controllers policies

* RelationType controllers policies

* Script controllers policies

* Stylesheet controllers policies

* Telemetry controllers policies

* Template controllers policies

* TrackedReference controllers policies

* Upgrade controllers policies

* User controllers policies

* UserGroup controllers policies

* Other controllers cleanup

* Moved CreatePolicies to its own Extensions class

* Added TreeAccessScripts and TreeAccessStylesheets policies

* Remove comments

* Forgotten "New" prefix

* Duplicate Auth Policy

* Removed comment since we are using reference tokens and this is no longer a problem

* Fix AdminUserEditsRequireAdmin auth policy to use a constant

* Revert change

* Revery UpgradeControllerBase attribute

* Removed AdminUserEditsRequireAdmin policy as it will be implemented later on

* Adding RequireAdminAccess policy for Upgrade controller

* Wrong claim type
2023-07-19 08:02:51 +02:00
Nikolaj Geisle
c7a38cdac4 V14: Public access controller (#14501)
* Implement GetEntryByContentKey

* Implement PublicAccessResponseModel

* Implement IPublicAccessPresentationFactory

* Rename MemberGroupItemReponseModel to MemberGroupItemResponseModel

* Refactor PublicAccessResponseModel to use Ids instead of entire content items

* Return attempt instead of PresentationModel

* Add missing statuses to PublicAccessOperationStatusResult

* Implement PublicAccessDocumentController.cs

* Refacotr PublicAccessResponseModel to use a base model

* Add CreatePublicAccessEntry method

* Refactor AccessRequestModel to use names not ids :(

* Rename ErrorPageNotFound to ErrorNodeNotFound

* Implement new SaveAsync method

* Introduce more OperationResults

* Implement PublicAccessEntrySlim

* Implement SaveAsync

* Remove CreatePublicAccessEntry from presentation factory

* Rename to CreateAsync

* Implement UpdateAsync

* Rename to async

* Implement CreatePublicAccessEntry

* Implement update endpoint

* remove PublicAccessEntrySlim mapping

* implement CreatePublicAccessEntrySlim method

* Refactor UpdateAsync

* Remove ContentId from request model as it should be in the request

* Use new service layer

* Amend method name in update controller

* Refactor create public access entry to use async method and return entity

* Refactor to use saveAsync method instead of synchronously

* Use presentation factory instead of mapping

* Implement deleteAsync endpoint

* Add produces response type

* Refactor mapping to not use UmbracoMapper, as that causes errors

* Update OpenApi.json

* Refactor out variables to intermediate object

* Validate that groups and names are not specified at the same time

* Make presentation factory not async

* Minor cleanup

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-07-05 14:56:51 +02:00
Nikolaj Geisle
d5a0dda89a V14: allowed children endpoints (#14434)
* Implement allowed children of root

* Allow children by key controller

* Update to be document controlller instead

* Fix AllowedChildrenOfRootDocumentController

* Create GetAllAsync method in ContentTypeServiceBaseOfTRepositoryTItemTService

* Revert "Create GetAllAsync method in ContentTypeServiceBaseOfTRepositoryTItemTService"

This reverts commit b01b5b924099e58bb53246e4b4ba5fa15358d0cd.

* Implement attemp pattern in IContentTypeService

* Create IContentCreatingService

* Use new contentCreatingService in controller

* Revert if statement

* Use total from attempt

* Throw exceptions instead of returning attempt

* Wrap in scope

* Rename to GetAllowedChildrenContentTypesAsync

* Fix summary

* Removed unneccessary await Task.FromResult

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-06-29 09:38:05 +02:00
Mole
040bf2c1e3 Replace use of SortedSet with HashSets and ISets (#14353) 2023-06-08 10:30:23 +02:00
Mole
138148481d V14: Add information to tree items (#14301)
* Add variant information to the document tree model

* Add content type key to document tree and item

* Add sort order to PropertyTypeResponseModelBase
2023-05-30 11:00:22 +02:00
Bjarke Berg
28712bd5cd Make new backoffice packable (#14286)
* This moves around files and deletes the temp projects with files that are not moved to Core, Infrastructure etc.

Also moves the from new backoffice to static access, and override those with the old views in the legacy executeable

* Removes old files from the new executeable.

* Added missing files

* Added EF Core project to solution file

* fix build
2023-05-25 10:38:44 +02:00
Bjarke Berg
417e92dad0 Updated API version package and moved attribute to each controller (#14209)
* Updated API version package and moved attribute to each controller as it cannot be inherited.

* Ignore "$type" on types implementing interfaces in the delivery api
2023-05-09 08:38:07 +02:00
Kenn Jacobsen
c2af43d9d9 Copy and move API for content and media (#14040)
* Copy and Move API for Content and Media

* Update OpenAPI JSON schema

* Update OpenApi JSON file after merge

* Rename key to id

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-04-14 09:44:52 +02:00
Bjarke Berg
b34b1906de Rename key to id 2023-04-05 13:43:54 +02:00
Nikolaj Geisle
9fadb3a926 V13: Entity viewports (#14050)
* Add language entity

* Refactor LanguageEntities

* Rename ItemsLanguageController.cs to ItemsLanguageEntityController.cs

* Change route to match old pattern

* Implement datatype item endpoint

* Rename controllers to item instead of entity

* Implement dictionary item endpoint

* Add DocumentItemControllerBase.cs

* Implement ItemDocumentItemController.cs

* Implement documnent-type controller

* Implement media type controller

* Move to item folder

* Implement MemberGroupItem viewport

* Implement member type item viewport

* Implement partial view viewport

* Implement partial view viewport

* Implement Relation type viewport

* Implement script items endpoint

* Refactor FileItemPresentationModelFactory

* Implement StaticFile viewport

* Implement stylesheet viewport

* Implement template item viewport

* Fix up routing

* Implement taking start nodes into account

* Implement filtering by culture too

* Delete old endpoints

* Implement document blueprint endpoint

* Implement media item viewport

* remove unneccesary $

* add fixme comment

* Fix response moedl

* update OpenApi.json

* Update OpenApi.json

* Update openapi file

* filter languages på isocode

* Change to sorted set to avoid duplicates

* Implement GetMultipleAsync for ILanguageService

* Fixed issue with params from GET needs to be querystring

* Removed Icon from base and only return Icon if explicitly set

* Fixed openAPI spec

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-04-05 12:50:41 +02:00
Bjarke Berg
6313b8b3a1 Changed "Key" to "Id" in management API (#14045) 2023-04-04 13:20:29 +02:00
Kenn Jacobsen
fd3bb0fcb8 Add content notifications API (#14010) 2023-03-29 10:48:30 +02:00
kjac
313eed96b9 Revert "Add content notifications API"
This reverts commit 8202879ba7.
2023-03-27 07:55:55 +02:00
kjac
8202879ba7 Add content notifications API 2023-03-27 07:55:18 +02:00
Nikolaj Geisle
93da4371e3 V13: Rework attempt pattern to use userkey (#13964)
* Add default super user key to migrations

* Start refactoring all interfaces signatures with ids

* Refactor datatype service to use userKey pattern instead

* Refactor ContentEditingService to use userkeys

* Refactor services to userKey

* Refactor more services to use userkey instead of id

* Refactor RelationService to use userKeys

* Refactor template service to use keys instead of ids

* Refactor fileservice to use keys instead of ids

* Refactor LocalizationService to use keys instead of ids

* Refactor PackagingService to use keys instead of ids

* Refactor TemplateController to use current user keys

* Refactor DataTypeContainerService.cs

* Refactor DataTypeService to use keys instead of ids

* Fix up tests

* Fix up media editing service to use userkey instead of ID

* Update service ctor to avoid ambigious ctors

* refactor DataTypeService

* Refactor DataTypeService to not have a default value for parentKey

* Apply suggestions from code review

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Update comment

* Add suppression file

* Add backoffice CompatibilitySuppressions

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2023-03-21 12:41:20 +01:00
Kenn Jacobsen
4fb011e0fc Domains and hosts API (#13963)
* API for domains and hostnames incl. unit tests

* Update Open API json

* Update other unit tests to use new domain service methods where applicable

* Fix merge + update models to new naming scheme

* Handle attempts to add the same domain twice + unit tests for duplicate domain handling

* Review fixes
2023-03-15 10:28:23 +01:00
Kenn Jacobsen
c0975f341c CRUD API for media + get-by-id for media type (#13934)
* CRUD API for media + get by ID for media types

* A little housekeeping for documents (align with media)

* Update Open API json

* Add messages to NotFound results (both content and media)

* Review changes; use same model for content and media URLs + return bad request when trying to move something to trash that is already in trash

* Fix bad merge + rename base (response) classes appropriately between both media and content types
2023-03-13 15:02:30 +01:00
Nikolaj Geisle
5107375cd8 V13/feature/rename viewmodels to request response (#13952)
* Rename DocumentType/ContentType models

* Rename all viewmodels

* Rename factories

* Update OpenApi.json

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-03-13 10:49:21 +01:00