mirror of
https://github.com/strapi/strapi.git
synced 2025-08-01 13:29:01 +00:00
74 lines
1.6 KiB
TypeScript
74 lines
1.6 KiB
TypeScript
import { rest } from 'msw';
|
|
import { setupServer } from 'msw/node';
|
|
|
|
import { CreateLocale, GetLocales, Locale } from '../../shared/contracts/locales';
|
|
|
|
const LOCALES = [
|
|
{
|
|
id: 1,
|
|
code: 'en',
|
|
name: 'English',
|
|
isDefault: true,
|
|
createdAt: '',
|
|
updatedAt: '',
|
|
},
|
|
{
|
|
id: 2,
|
|
code: 'fr',
|
|
name: 'Français',
|
|
isDefault: false,
|
|
createdAt: '',
|
|
updatedAt: '',
|
|
},
|
|
] satisfies GetLocales.Response;
|
|
|
|
export const server = setupServer(
|
|
...[
|
|
/**
|
|
*
|
|
* locales
|
|
*
|
|
*/
|
|
rest.get('/i18n/locales', (req, res, ctx) => {
|
|
return res(ctx.json(LOCALES));
|
|
}),
|
|
rest.post('/i18n/locales', async (req, res, ctx) => {
|
|
const body = await req.json<Pick<Locale, 'code' | 'name' | 'isDefault'>>();
|
|
|
|
const newLocale = {
|
|
id: LOCALES.length + 1,
|
|
createdAt: '',
|
|
updatedAt: '',
|
|
...body,
|
|
} satisfies CreateLocale.Response;
|
|
|
|
return res(ctx.json(newLocale));
|
|
}),
|
|
rest.put('/i18n/locales/:id', (req, res, ctx) => {
|
|
return res(ctx.status(200));
|
|
}),
|
|
rest.delete('/i18n/locales/:id', (req, res, ctx) => {
|
|
if (req.params.id === '1') {
|
|
return res(ctx.status(200));
|
|
}
|
|
|
|
return res(ctx.status(404));
|
|
}),
|
|
/**
|
|
*
|
|
* iso-locales
|
|
*
|
|
*/
|
|
rest.get('/i18n/iso-locales', (req, res, ctx) => {
|
|
return res(
|
|
ctx.json([
|
|
{ code: 'af', name: 'Afrikaans (af)' },
|
|
{ code: 'af-NA', name: 'Afrikaans (Namibia) (af-NA)' },
|
|
{ code: 'af-ZA', name: 'Afrikaans (South Africa) (af-ZA)' },
|
|
{ code: 'agq', name: 'Aghem (agq)' },
|
|
])
|
|
);
|
|
}),
|
|
]
|
|
);
|