diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/core/request.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/core/request.ts index 051758e054..b018a07cae 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/core/request.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/core/request.ts @@ -232,21 +232,13 @@ export const getResponseBody = async (response: Response): Promise => { try { const contentType = response.headers.get('Content-Type'); if (contentType) { - - const binaryTypes = ['application/octet-stream', 'application/pdf', 'application/zip']; - const isBinary = binaryTypes.some(type => contentType.toLowerCase().startsWith(type)); - if (isBinary) { - return await response.blob(); - } - - const jsonTypes = ['application/json', 'application/problem+json'] - const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); - if (isJSON) { - return await response.json(); - } - - return await response.text(); - + const jsonTypes = ['application/json', 'application/problem+json'] + const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); + if (isJSON) { + return await response.json(); + } else { + return await response.text(); + } } } catch (error) { console.error(error); diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts index 1c8b628c5e..17014a5ab2 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts @@ -195,6 +195,7 @@ export type { ModelsBuilderResponseModel } from './models/ModelsBuilderResponseM export { ModelsModeModel } from './models/ModelsModeModel'; export type { MoveDataTypeRequestModel } from './models/MoveDataTypeRequestModel'; export type { MoveDictionaryRequestModel } from './models/MoveDictionaryRequestModel'; +export type { MoveDocumentBlueprintRequestModel } from './models/MoveDocumentBlueprintRequestModel'; export type { MoveDocumentRequestModel } from './models/MoveDocumentRequestModel'; export type { MoveDocumentTypeRequestModel } from './models/MoveDocumentTypeRequestModel'; export type { MoveMediaRequestModel } from './models/MoveMediaRequestModel'; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts index 1f877b1dcd..3df3c06dce 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DocumentBlueprintTreeItemResponseModel.ts @@ -11,6 +11,7 @@ export type DocumentBlueprintTreeItemResponseModel = { id: string; parent?: ReferenceByIdModel | null; name: string; - documentType: DocumentTypeReferenceResponseModel; + isFolder: boolean; + documentType?: DocumentTypeReferenceResponseModel | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentBlueprintRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentBlueprintRequestModel.ts new file mode 100644 index 0000000000..f1df4f337e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/MoveDocumentBlueprintRequestModel.ts @@ -0,0 +1,11 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ReferenceByIdModel } from './ReferenceByIdModel'; + +export type MoveDocumentBlueprintRequestModel = { + target?: ReferenceByIdModel | null; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts index 2ec4757dbb..50837fd587 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentBlueprintResource.ts @@ -4,10 +4,14 @@ /* eslint-disable */ import type { CreateDocumentBlueprintFromDocumentRequestModel } from '../models/CreateDocumentBlueprintFromDocumentRequestModel'; import type { CreateDocumentBlueprintRequestModel } from '../models/CreateDocumentBlueprintRequestModel'; +import type { CreateFolderRequestModel } from '../models/CreateFolderRequestModel'; import type { DocumentBlueprintItemResponseModel } from '../models/DocumentBlueprintItemResponseModel'; import type { DocumentBlueprintResponseModel } from '../models/DocumentBlueprintResponseModel'; +import type { FolderResponseModel } from '../models/FolderResponseModel'; +import type { MoveDocumentBlueprintRequestModel } from '../models/MoveDocumentBlueprintRequestModel'; import type { PagedDocumentBlueprintTreeItemResponseModel } from '../models/PagedDocumentBlueprintTreeItemResponseModel'; import type { UpdateDocumentBlueprintRequestModel } from '../models/UpdateDocumentBlueprintRequestModel'; +import type { UpdateFolderResponseModel } from '../models/UpdateFolderResponseModel'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; @@ -112,6 +116,130 @@ export class DocumentBlueprintResource { }); } + /** + * @returns string Success + * @throws ApiError + */ + public static putDocumentBlueprintByIdMove({ + id, + requestBody, + }: { + id: string, + requestBody?: MoveDocumentBlueprintRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/document-blueprint/{id}/move', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + responseHeader: 'Umb-Notifications', + errors: { + 401: `The resource is protected and requires an authentication token`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns string Created + * @throws ApiError + */ + public static postDocumentBlueprintFolder({ + requestBody, + }: { + requestBody?: CreateFolderRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/document-blueprint/folder', + body: requestBody, + mediaType: 'application/json', + responseHeader: 'Umb-Generated-Resource', + errors: { + 400: `Bad Request`, + 401: `The resource is protected and requires an authentication token`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static getDocumentBlueprintFolderById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/document-blueprint/folder/{id}', + path: { + 'id': id, + }, + errors: { + 401: `The resource is protected and requires an authentication token`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns string Success + * @throws ApiError + */ + public static deleteDocumentBlueprintFolderById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/document-blueprint/folder/{id}', + path: { + 'id': id, + }, + responseHeader: 'Umb-Notifications', + errors: { + 400: `Bad Request`, + 401: `The resource is protected and requires an authentication token`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns string Success + * @throws ApiError + */ + public static putDocumentBlueprintFolderById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateFolderResponseModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/document-blueprint/folder/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + responseHeader: 'Umb-Notifications', + errors: { + 400: `Bad Request`, + 401: `The resource is protected and requires an authentication token`, + 404: `Not Found`, + }, + }); + } + /** * @returns string Created * @throws ApiError @@ -156,6 +284,36 @@ export class DocumentBlueprintResource { }); } + /** + * @returns any Success + * @throws ApiError + */ + public static getTreeDocumentBlueprintChildren({ + parentId, + skip, + take = 100, + foldersOnly = false, + }: { + parentId?: string, + skip?: number, + take?: number, + foldersOnly?: boolean, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/tree/document-blueprint/children', + query: { + 'parentId': parentId, + 'skip': skip, + 'take': take, + 'foldersOnly': foldersOnly, + }, + errors: { + 401: `The resource is protected and requires an authentication token`, + }, + }); + } + /** * @returns any Success * @throws ApiError @@ -163,9 +321,11 @@ export class DocumentBlueprintResource { public static getTreeDocumentBlueprintRoot({ skip, take = 100, + foldersOnly = false, }: { skip?: number, take?: number, + foldersOnly?: boolean, }): CancelablePromise { return __request(OpenAPI, { method: 'GET', @@ -173,6 +333,7 @@ export class DocumentBlueprintResource { query: { 'skip': skip, 'take': take, + 'foldersOnly': foldersOnly, }, errors: { 401: `The resource is protected and requires an authentication token`,