Skip to content
This repository was archived by the owner on Feb 13, 2020. It is now read-only.

Commit 8623055

Browse files
committed
Create a fake "api" object
1 parent 8b3f4f7 commit 8623055

File tree

2 files changed

+92
-0
lines changed

2 files changed

+92
-0
lines changed

src/fake-api.js

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
const addUser = (name, billing_address, delivery_address, tasks) => {
2+
data.users.push({
3+
id: data.users.length + 1,
4+
name,
5+
billing_address,
6+
delivery_address,
7+
tasks,
8+
// Omit the posts, you get the principle :)
9+
})
10+
}
11+
12+
const addAddress = (number, street) => {
13+
data.addresses.push({
14+
id: data.addresses.length + 1,
15+
number,
16+
street,
17+
})
18+
}
19+
20+
const addArticle = (title, user, tags) => {
21+
data.articles.push({
22+
id: data.articles.length + 1,
23+
title,
24+
user,
25+
tags,
26+
})
27+
}
28+
29+
const addTag = (name) => {
30+
data.tags.push({
31+
id: data.tags.length + 1,
32+
name,
33+
// Omit the posts, you get the principle :)
34+
})
35+
}
36+
37+
const addTask = (title, user_id) => {
38+
data.tasks.push({
39+
id: data.tasks.length + 1,
40+
title,
41+
user_id,
42+
done: false,
43+
})
44+
}
45+
46+
const data = {
47+
users: [],
48+
addresses: [],
49+
articles: [],
50+
tags: [],
51+
tasks: [],
52+
}
53+
54+
addAddress('1', 'Elm street')
55+
addAddress('12', 'Crystal lake av.')
56+
addAddress('45', 'Chicago street')
57+
58+
addTag('recipes')
59+
addTag('my dreams')
60+
addTag('howto')
61+
62+
addTask('Terrorize young people', 1)
63+
addTask('Visit Crystal Lake', 1)
64+
65+
addTask('Kill everybody', 2)
66+
addTask('Sleep', 2)
67+
68+
addUser('Freddy', data.addresses[0], data.addresses[0])
69+
addUser('Jason', data.addresses[1], data.addresses[2])
70+
71+
addArticle('I have a dream', data.users[0], [data.tags[0]])
72+
addArticle('Cooking with friends', data.users[0], [data.tags[1]])
73+
addArticle('Shahahahuhaha, or discrete whispering', data.users[1], [data.tags[2]])
74+
75+
const types = Object.keys(data)
76+
const error404 = {statusCode: 404, message: 'Not found'}
77+
78+
export default {
79+
get (url, payload) {
80+
return new Promise((resolve, reject) => {
81+
if (types.indexOf(url) > -1) {
82+
resolve(data[url])
83+
}
84+
reject(error404)
85+
})
86+
},
87+
// No needs for this.
88+
post: (url, payload) => new Promise((resolve, reject) => {resolve({})}),
89+
patch: (url, payload) => new Promise((resolve, reject) => {resolve({})}),
90+
delete: (url, payload) => new Promise((resolve, reject) => {resolve({})}),
91+
}

src/modulator/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// We need Vue to ensure proper updates in mutations
22
import Vue from 'vue'
33
import utils from '../utils'
4+
import api from '../fake-api'
45
import findAndDispatchEntities from '../data_types'
56

67
export default {

0 commit comments

Comments
 (0)