From 7d3264784dfac7320636bc5e15259f2fa00870b4 Mon Sep 17 00:00:00 2001 From: JesmoDev Date: Mon, 30 May 2022 13:10:20 +0200 Subject: [PATCH] added Types for handlers --- .../src/mocks/handlers.ts | 36 +++++++++++-------- src/Umbraco.Web.UI.Client/src/models/index.ts | 10 ++++++ 2 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/models/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers.ts index 5a74754723..c8e3e9402e 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers.ts @@ -1,6 +1,14 @@ import { rest } from 'msw'; import { components } from '../../schemas/generated-schema'; +import { + AllowedSectionsResponse, + ErrorResponse, + InitResponse, + UmbracoInstaller, + UserResponse, + VersionResponse, +} from '../models'; export const handlers = [ rest.get('/umbraco/backoffice/manifests', (_req, res, ctx) => { @@ -15,8 +23,8 @@ export const handlers = [ name: 'Custom', elementName: 'umb-custom-section', meta: { - weight: 30 - } + weight: 30, + }, }, ], }) @@ -27,9 +35,9 @@ export const handlers = [ return res( // Respond with a 200 status code ctx.status(200), - ctx.json({ + ctx.json({ installed: import.meta.env.VITE_UMBRACO_INSTALL_STATUS !== 'false', - } as components['schemas']['InitResponse']) + }) ); }), @@ -37,9 +45,9 @@ export const handlers = [ return res( // Respond with a 200 status code ctx.status(200), - ctx.json({ + ctx.json({ version: '13.0.0', - } as components['schemas']['VersionResponse']) + }) ); }), @@ -68,7 +76,7 @@ export const handlers = [ // If not authenticated, respond with a 403 error return res( ctx.status(403), - ctx.json({ + ctx.json({ errorMessage: 'Not authorized', }) ); @@ -76,19 +84,19 @@ export const handlers = [ // If authenticated, return a mocked user details return res( ctx.status(200), - ctx.json({ + ctx.json({ username: 'admin', role: 'administrator', - } as components['schemas']['UserResponse']) + }) ); }), rest.get('/umbraco/backoffice/user/sections', (_req, res, ctx) => { return res( ctx.status(200), - ctx.json({ + ctx.json({ sections: ['Umb.Section.Content', 'Umb.Section.Media', 'Umb.Section.Settings', 'My.Section.Custom'], - } as components['schemas']['AllowedSectionsResponse']) + }) ); }), @@ -96,7 +104,7 @@ export const handlers = [ return res( // Respond with a 200 status code ctx.status(200), - ctx.json({ + ctx.json({ user: { minCharLength: 2, minNonAlphaNumericLength: 0, @@ -123,7 +131,6 @@ export const handlers = [ displayName: 'SQLite', defaultDatabaseName: 'Umbraco', providerName: 'Microsoft.Data.SQLite', - supportsQuickInstall: true, isAvailable: true, requiresServer: false, serverPlaceholder: null, @@ -137,7 +144,6 @@ export const handlers = [ displayName: 'SQL Server', defaultDatabaseName: '', providerName: 'Microsoft.Data.SqlClient', - supportsQuickInstall: false, isAvailable: true, requiresServer: true, serverPlaceholder: '(local)\\SQLEXPRESS', @@ -159,7 +165,7 @@ export const handlers = [ requiresConnectionTest: true, }, ], - } as components['schemas']['UmbracoInstaller']) + }) ); }), diff --git a/src/Umbraco.Web.UI.Client/src/models/index.ts b/src/Umbraco.Web.UI.Client/src/models/index.ts new file mode 100644 index 0000000000..3556428ae3 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/models/index.ts @@ -0,0 +1,10 @@ +import { components } from '../../schemas/generated-schema'; + +export type PostInstallRequest = components['schemas']['UmbracoPerformInstallRequest']; +export type InitResponse = components['schemas']['InitResponse']; +export type VersionResponse = components['schemas']['VersionResponse']; +export type ErrorResponse = components['schemas']['ErrorResponse']; +export type UserResponse = components['schemas']['UserResponse']; +export type AllowedSectionsResponse = components['schemas']['AllowedSectionsResponse']; + +export type UmbracoInstaller = components['schemas']['UmbracoInstaller'];