Started mocking API
parent
81266f427b
commit
243dc9fe17
|
@ -5,7 +5,7 @@ defineProps<{ msg: string }>()
|
||||||
|
|
||||||
const count = ref(0)
|
const count = ref(0)
|
||||||
|
|
||||||
fetch('/api/users').then(res => res.json()).then(res => console.log(res))
|
fetch('/api/v1/sections').then(res => res.json()).then(res => console.log(res))
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { createApp } from 'vue'
|
import { createApp } from 'vue'
|
||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import { makeServer } from './server'
|
import { makeServer } from './mirage/v1'
|
||||||
|
|
||||||
if (import.meta.env.DEV) {
|
if (import.meta.env.DEV) {
|
||||||
makeServer()
|
makeServer()
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
export const sections = [
|
||||||
|
{
|
||||||
|
id: '837ba6a5-47ed-4682-bff5-90bc5c5f9646',
|
||||||
|
title: 'Section One',
|
||||||
|
shortname: 'one',
|
||||||
|
description: 'The first section.',
|
||||||
|
is_default: true,
|
||||||
|
has_titles: true,
|
||||||
|
is_private: false,
|
||||||
|
is_archived: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '5e661b3f-61e6-4aed-a93b-8cae0896f656',
|
||||||
|
title: 'Section Two',
|
||||||
|
shortname: 'two',
|
||||||
|
description: 'The second section.',
|
||||||
|
is_default: true,
|
||||||
|
has_titles: false,
|
||||||
|
is_private: false,
|
||||||
|
is_archived: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '5fcbeaca-1496-438e-ace2-18e99e11f384',
|
||||||
|
title: 'Section Three',
|
||||||
|
shortname: 'three',
|
||||||
|
description: 'The third section.',
|
||||||
|
is_default: false,
|
||||||
|
has_titles: true,
|
||||||
|
is_private: false,
|
||||||
|
is_archived: false
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
export const posts = [
|
||||||
|
{
|
||||||
|
id: 'af08bbcd-f6eb-446e-b355-13e0a0ef008e',
|
||||||
|
section_id: sections[0]['id'],
|
||||||
|
is_private: false,
|
||||||
|
is_archived: false
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
export const versions = [
|
||||||
|
{
|
||||||
|
id: '8c5bc2f9-e52f-4e19-bd76-119cc42ff863',
|
||||||
|
post_id: posts[0]['id'],
|
||||||
|
title: 'This Is A Title',
|
||||||
|
publish_date: '2021-12-28',
|
||||||
|
content: 'Hello. This is some content!',
|
||||||
|
is_draft: false
|
||||||
|
}
|
||||||
|
]
|
|
@ -0,0 +1,37 @@
|
||||||
|
import { createServer, Model } from 'miragejs';
|
||||||
|
import { sections, posts, versions } from './models';
|
||||||
|
|
||||||
|
export function makeServer ({ environment = 'development' } = {}) {
|
||||||
|
const server = createServer({
|
||||||
|
environment,
|
||||||
|
|
||||||
|
models: {
|
||||||
|
section: Model,
|
||||||
|
Post: Model,
|
||||||
|
version: Model
|
||||||
|
},
|
||||||
|
|
||||||
|
seeds (server) {
|
||||||
|
sections.forEach(s => server.create('section', s));
|
||||||
|
posts.forEach(s => server.create('post', s));
|
||||||
|
versions.forEach(s => server.create('version', s));
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
routes () {
|
||||||
|
this.namespace = 'api/v1';
|
||||||
|
|
||||||
|
this.get('/sections', (schema) => {
|
||||||
|
return schema.sections.all();
|
||||||
|
})
|
||||||
|
this.get('/posts', (schema) => {
|
||||||
|
return schema.posts.all();
|
||||||
|
})
|
||||||
|
this.get('/versions', (schema) => {
|
||||||
|
return schema.versions.all();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return server;
|
||||||
|
}
|
Loading…
Reference in New Issue