Started mocking API
parent
81266f427b
commit
243dc9fe17
|
@ -5,7 +5,7 @@ defineProps<{ msg: string }>()
|
|||
|
||||
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>
|
||||
|
||||
<template>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { createApp } from 'vue'
|
||||
import App from './App.vue'
|
||||
// @ts-ignore
|
||||
import { makeServer } from './server'
|
||||
import { makeServer } from './mirage/v1'
|
||||
|
||||
if (import.meta.env.DEV) {
|
||||
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