web/src/mirage/v1.js

38 lines
950 B
JavaScript
Raw Normal View History

2021-12-29 19:44:08 +01:00
import { createServer, Model } from 'miragejs'
import { sections, posts, versions } from './models'
2021-12-28 18:46:55 +01:00
export function makeServer ({ environment = 'development' } = {}) {
const server = createServer({
environment,
models: {
section: Model,
Post: Model,
version: Model
},
seeds (server) {
2021-12-29 19:44:08 +01:00
sections.forEach(s => server.create('section', s))
posts.forEach(s => server.create('post', s))
versions.forEach(s => server.create('version', s))
2021-12-28 18:46:55 +01:00
},
routes () {
2021-12-29 19:44:08 +01:00
this.namespace = 'api/v1'
2021-12-28 18:46:55 +01:00
2021-12-28 20:40:47 +01:00
// Offsets & limits don't need to be implemented here, as the data set isn't large enough to require this yet
2021-12-28 18:46:55 +01:00
this.get('/sections', (schema) => {
2021-12-29 19:44:08 +01:00
return schema.sections.all()
2021-12-28 18:46:55 +01:00
})
this.get('/posts', (schema) => {
2021-12-29 19:44:08 +01:00
return schema.posts.all()
2021-12-28 18:46:55 +01:00
})
this.get('/versions', (schema) => {
2021-12-29 19:44:08 +01:00
return schema.versions.all()
2021-12-28 18:46:55 +01:00
})
}
2021-12-29 19:44:08 +01:00
})
2021-12-28 18:46:55 +01:00
2021-12-29 19:44:08 +01:00
return server
2021-12-28 18:46:55 +01:00
}