Files
comedy-video-lib/plugins/mirage.js
Kevin ANATOLE 6945c27ec0 Logged in/ Logged out
- Created midlewares for authenticated and guest]
- Add the token to the api calls
- Added redirect after the login
2020-11-11 20:26:45 +00:00

56 lines
1.6 KiB
JavaScript

import { createServer, Model } from 'miragejs'
const gravatar = require('gravatar')
if (process.env.NODE_ENV === 'development') {
// startServer()
}
function startServer() {
createServer({
models: {
video: Model,
profile: Model,
category: Model
},
seeds(server) {
server.create("video", {title: "Awesome video", thumbnail: "https://images.unsplash.com/photo-1517841905240-472988babdf9?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=8&w=1024&h=1024&q=80"})
server.createList("video", 10, {thumbnail: "https://images.unsplash.com/photo-1517841905240-472988babdf9?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=8&w=1024&h=1024&q=80"})
server.create("category", {name: "Sports"})
server.createList("category", 21)
},
routes() {
this.namespace = 'api'
this.get('/videos', (schema) => {
return schema.videos.all()
})
this.get('/profiles', (schema) => {
return schema.profiles.all()
})
this.get('/profiles/:id', (schema, request) => {
let id = request.params.id
return schema.profiles.find(id)
})
this.post('/profiles', (schema, request) => {
let attrs = JSON.parse(request.requestBody)
attrs.id = schema.profiles.all().length + 1
attrs.email = 'testEmail@yopmail.com'
attrs.picture = gravatar.url(attrs.email)
return { profile: attrs }
})
this.get('/categories', (schema, request) => {
return schema.categories.all()
})
},
})
}