add language mocks

This commit is contained in:
Jesper Møller Jensen
2023-01-17 10:51:26 +01:00
parent d60203caa8
commit 2d3f527615
3 changed files with 70 additions and 0 deletions

View File

@@ -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) {

View File

@@ -0,0 +1,49 @@
import { Language } from '@umbraco-cms/backend-api';
import { UmbData } from './data';
// Temp mocked database
class UmbLanguagesData extends UmbData<Language> {
constructor(data: Language[]) {
super(data);
}
getAll(skip = 0, take = this.data.length): Array<Language> {
return this.data.splice(skip || 0, take || this.data.length);
}
}
export const data: Array<Language> = [
{
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);

View File

@@ -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));
}),
];