diff --git a/src/Umbraco.Web.UI.Client/schemas/api/api.yml b/src/Umbraco.Web.UI.Client/schemas/api/api.yml index 3e18379129..26aac5895b 100644 --- a/src/Umbraco.Web.UI.Client/schemas/api/api.yml +++ b/src/Umbraco.Web.UI.Client/schemas/api/api.yml @@ -19,6 +19,22 @@ paths: application/json: schema: $ref: '#/components/schemas/ErrorResponse' + /version: + get: + operationId: GetVersion + responses: + '200': + description: 200 response + content: + application/json: + schema: + $ref: '#/components/schemas/VersionResponse' + default: + description: default response + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' /user/login: post: operationId: PostUserLogin @@ -99,12 +115,9 @@ components: InitResponse: type: object properties: - version: - type: string installed: type: boolean required: - - version - installed ErrorResponse: type: object @@ -113,6 +126,13 @@ components: type: string required: - errorMessage + VersionResponse: + type: object + properties: + version: + type: string + required: + - version UserLoginRequest: type: object properties: diff --git a/src/Umbraco.Web.UI.Client/schemas/generated-schema.ts b/src/Umbraco.Web.UI.Client/schemas/generated-schema.ts index 499c645785..a7647a5744 100644 --- a/src/Umbraco.Web.UI.Client/schemas/generated-schema.ts +++ b/src/Umbraco.Web.UI.Client/schemas/generated-schema.ts @@ -7,6 +7,9 @@ export interface paths { "/init": { get: operations["GetInit"]; }; + "/version": { + get: operations["GetVersion"]; + }; "/user/login": { post: operations["PostUserLogin"]; }; @@ -25,12 +28,14 @@ export interface paths { export interface components { schemas: { InitResponse: { - version: string; installed: boolean; }; ErrorResponse: { errorMessage: string; }; + VersionResponse: { + version: string; + }; UserLoginRequest: { username: string; password: string; @@ -106,6 +111,22 @@ export interface operations { }; }; }; + GetVersion: { + responses: { + /** 200 response */ + 200: { + content: { + "application/json": components["schemas"]["VersionResponse"]; + }; + }; + /** default response */ + default: { + content: { + "application/json": components["schemas"]["ErrorResponse"]; + }; + }; + }; + }; PostUserLogin: { parameters: {}; responses: { diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers.ts index 0ce90c3278..684bb9b82b 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers.ts @@ -8,9 +8,18 @@ export const handlers = [ // Respond with a 200 status code ctx.status(200), ctx.json({ - version: '13.0.0', installed: import.meta.env.VITE_UMBRACO_INSTALL_STATUS !== 'false', - }) + } as components['schemas']['InitResponse']), + ); + }), + + rest.get('/umbraco/backoffice/version', (_req, res, ctx) => { + return res( + // Respond with a 200 status code + ctx.status(200), + ctx.json({ + version: '13.0.0' + } as components['schemas']['VersionResponse']), ); }), diff --git a/src/Umbraco.Web.UI.Client/temp-schema-generator/api.ts b/src/Umbraco.Web.UI.Client/temp-schema-generator/api.ts index f41c977c42..f2b4069f86 100644 --- a/src/Umbraco.Web.UI.Client/temp-schema-generator/api.ts +++ b/src/Umbraco.Web.UI.Client/temp-schema-generator/api.ts @@ -2,7 +2,7 @@ import './installer'; import { api, body, defaultResponse, endpoint, request, response } from '@airtasker/spot'; -import { ErrorResponse, InitResponse, UserLoginRequest, UserResponse } from './models'; +import { ErrorResponse, InitResponse, UserLoginRequest, UserResponse, VersionResponse } from './models'; /* eslint-disable */ @api({ name: "umbraco-backoffice-api", version: "1.0.0" }) @@ -20,6 +20,18 @@ class GetInit { default(@body body: ErrorResponse) { } } +@endpoint({ + method: "GET", + path: "/version", +}) +class GetVersion { + @response({ status: 200 }) + success(@body body: VersionResponse) { } + + @defaultResponse + default(@body body: ErrorResponse) { } +} + @endpoint({ method: "POST", path: "/user/login", diff --git a/src/Umbraco.Web.UI.Client/temp-schema-generator/models.ts b/src/Umbraco.Web.UI.Client/temp-schema-generator/models.ts index af671b8b20..6bf36ba37f 100644 --- a/src/Umbraco.Web.UI.Client/temp-schema-generator/models.ts +++ b/src/Umbraco.Web.UI.Client/temp-schema-generator/models.ts @@ -1,8 +1,11 @@ export interface InitResponse { - version: string; installed: boolean; } +export interface VersionResponse { + version: string; +} + export interface UserResponse { username: string; role: string;