diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/browser-handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/browser-handlers.ts index 1d9c6a796c..9c544f5384 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/browser-handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/browser-handlers.ts @@ -18,6 +18,7 @@ import { handlers as dictionaryHandlers } from './domains/dictionary.handlers'; import { handlers as mediaTypeHandlers } from './domains/media-type.handlers'; import { handlers as memberGroupHandlers } from './domains/member-group.handlers'; import { handlers as memberTypeHandlers } from './domains/member-type.handlers'; +import { handlers as languageHandlers } from './domains/language.handlers'; const handlers = [ serverHandlers.serverVersionHandler, @@ -40,6 +41,7 @@ const handlers = [ ...modelsBuilderHandlers, ...profilingHandlers, ...dictionaryHandlers, + ...languageHandlers, ]; switch (import.meta.env.VITE_UMBRACO_INSTALL_STATUS) { diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/languages.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/languages.data.ts new file mode 100644 index 0000000000..3eb1fb99ce --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/languages.data.ts @@ -0,0 +1,49 @@ +import { Language } from '@umbraco-cms/backend-api'; +import { UmbData } from './data'; + +// Temp mocked database +class UmbLanguagesData extends UmbData { + constructor(data: Language[]) { + super(data); + } + + getAll(skip = 0, take = this.data.length): Array { + return this.data.splice(skip || 0, take || this.data.length); + } +} + +export const data: Array = [ + { + id: 1, + name: 'English', + isoCode: 'en', + isDefault: true, + isMandatory: true, + }, + { + id: 2, + name: 'Danish', + isoCode: 'da', + isDefault: false, + isMandatory: false, + fallbackLanguageId: 1, + }, + { + id: 3, + name: 'German', + isoCode: 'de', + isDefault: false, + isMandatory: false, + fallbackLanguageId: 1, + }, + { + id: 4, + name: 'French', + isoCode: 'fr', + isDefault: false, + isMandatory: false, + fallbackLanguageId: 1, + }, +]; + +export const umbLanguagesData = new UmbLanguagesData(data); diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/domains/language.handlers.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/language.handlers.ts new file mode 100644 index 0000000000..92091f6470 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/domains/language.handlers.ts @@ -0,0 +1,19 @@ +import { rest } from 'msw'; +import { umbLanguagesData } from '../data/languages.data'; + +// TODO: add schema +export const handlers = [ + rest.get('/umbraco/management/api/v1/language', (req, res, ctx) => { + const skip = Number.parseInt(req.url.searchParams.get('skip') ?? '0'); + const take = Number.parseInt(req.url.searchParams.get('take') ?? '100'); + + const items = umbLanguagesData.getAll(skip, take); + + const response = { + total: items.length, + items, + }; + + return res(ctx.status(200), ctx.json(response)); + }), +];