Skip to content

Commit d3514de

Browse files
committed
Continuando ... Parei na aula Protegendo acesso a api com senha e teste final no app cliente no minuto 6
1 parent 70fc7f5 commit d3514de

File tree

12 files changed

+222
-45
lines changed

12 files changed

+222
-45
lines changed

client/src/states/modules/user.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,21 @@ export default {
1717
actions: {
1818
getCurrentUser (context) {
1919
console.log('context', context)
20-
return window.axios.get('/users/me').then((response) => {
20+
return window.axios.get('/oauth/me').then((response) => {
2121
console.log('response do getCurrente', response)
2222
context.commit('updateUser', response.data)
2323
return response
2424
})
2525
},
2626
authentication (context, user) {
27-
return window.axios.post('/users/token', qs.stringify(user)).then((response) => {
27+
return window.axios.post('/oauth/token', qs.stringify(user)).then((response) => {
2828
context.commit('updateToken', response.data.token)
2929
window.localStorage.setItem('token', response.data.token)
3030
return response
3131
})
3232
},
3333
register (context, user) {
34-
return window.axios.post('/users/register', qs.stringify(user)).then((response) => {
34+
return window.axios.post('/oauth/register', qs.stringify(user)).then((response) => {
3535
let authData = {
3636
username: user.email,
3737
password: user.password
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const model = require("../models/campaign");
2+
const GenericController = require("./generic");
3+
4+
const CrudService = require("../services/crud");
5+
const service = new CrudService(model);
6+
7+
module.exports = function() {
8+
const controller = new GenericController(model);
9+
10+
return controller;
11+
};

server/src/controllers/generic.js

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
const CrudService = require("../services/crud");
2+
3+
function GenericController(model) {
4+
this.service = new CrudService(model);
5+
6+
this.index = (req, res) => {
7+
this.service.list().then(result => {
8+
return res.json(result);
9+
});
10+
};
11+
12+
this.add = (req, res) => {
13+
this.service
14+
.insert(req.body)
15+
.then(result => {
16+
return res.json(result);
17+
})
18+
.catch(err => {
19+
return res.status(422).json(err);
20+
});
21+
};
22+
23+
this.edit = (req, res) => {
24+
this.service
25+
.update(req.params.id, req.body)
26+
.then(result => {
27+
return res.json(result);
28+
})
29+
.catch(err => {
30+
return res.status(422).json(err);
31+
});
32+
};
33+
34+
this.view = (req, res) => {
35+
this.service
36+
.get(req.params.id)
37+
.then(result => {
38+
return res.json(result);
39+
})
40+
.catch(err => {
41+
return res.status(404).json(err);
42+
});
43+
};
44+
45+
this.delete = (req, res) => {
46+
this.service
47+
.delete(req.params.id)
48+
.then(result => {
49+
return res.json(result);
50+
})
51+
.catch(err => {
52+
return res.status(422).json(err);
53+
});
54+
};
55+
}
56+
57+
module.exports = GenericController;

server/src/controllers/leads.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const model = require("../models/lead");
2+
const GenericController = require("./generic");
3+
4+
const CrudService = require("../services/crud");
5+
const service = new CrudService(model);
6+
7+
module.exports = function() {
8+
const controller = new GenericController(model);
9+
10+
return controller;
11+
};

server/src/controllers/lists.js

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,11 @@
1-
const model = require('../models/list');
2-
const CrudService = require('../services/crud');
1+
const model = require("../models/list");
2+
const GenericController = require("./generic");
33

4+
const CrudService = require("../services/crud");
45
const service = new CrudService(model);
56

6-
module.exports = function () {
7-
return {
8-
index: function (req, res) {
9-
service.list().then((result) => {
10-
return res.json(result);
11-
});
12-
},
13-
add: function (req, res) {
14-
service.insert(req.body).then((result) => {
15-
return res.json(result);
16-
}).catch((err) =>{
17-
return res.status(422).json(err);
18-
});
19-
}
20-
}
21-
};
7+
module.exports = function() {
8+
const controller = new GenericController(model);
9+
10+
return controller;
11+
};

server/src/models/campaign.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const mongoose = require("mongoose");
2+
let ObjectId = mongoose.Schema.ObjectId;
3+
4+
const Campaign = mongoose.Schema({
5+
title: { type: String, required: true },
6+
body: String,
7+
status: String,
8+
start: { type: Date, required: true },
9+
opens: { type: Number, default: 0 },
10+
click: { type: Number, default: 0 },
11+
unsubscribe: { type: Number, default: 0 },
12+
bounce: { type: Number, default: 0 },
13+
lists: [
14+
{ title: String, type: ObjectId, ref: "List" }
15+
]
16+
});
17+
18+
module.exports = mongoose.model("Campaign", Campaign);

server/src/models/lead.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
const mongoose = require("mongoose");
2+
let ObjectId = mongoose.Schema.ObjectId;
3+
4+
const Lead = mongoose.Schema({
5+
email: { type: String, required: true, unique: true },
6+
data: [
7+
{
8+
label: String,
9+
value: String
10+
}
11+
],
12+
lists: [{ title: String, type: ObjectId, ref: "List" }],
13+
actions: [
14+
{
15+
type: ObjectId,
16+
ref: "List",
17+
action: [
18+
{
19+
type: String,
20+
link: String,
21+
date: Date
22+
}
23+
]
24+
}
25+
]
26+
});
27+
28+
module.exports = mongoose.model("Lead", Lead);

server/src/routes/campaigns.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
module.exports = function (app) {
2+
let controller = require('../controllers/campaigns')();
3+
4+
app.get('/api/campaigns', controller.index);
5+
app.post('/api/campaigns', controller.add);
6+
app.get('/api/campaigns:id', controller.view);
7+
app.put('/api/campaigns:id', controller.edit);
8+
app.delete('/api/campaigns:id', controller.delete);
9+
}

server/src/routes/index.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
1-
let auth = require('./auth');
2-
let lists = require('./lists');
1+
const passport = require('../auth/auth');
32

4-
module.exports = (app) => {
5-
app.get('/', function (req, res) {
6-
res.render('index', {title: 'Express'});
7-
});
3+
let auth = require("./auth");
4+
let campaigns = require("./campaigns");
5+
let leads = require("./leads");
6+
let lists = require("./lists");
87

9-
auth(app);
10-
lists(app);
11-
};
8+
module.exports = app => {
9+
app.get("/", function(req, res) {
10+
res.render("index", { title: "Express" });
11+
});
12+
13+
app.use("/api", passport.authenticate('jwt', {session: false}));
14+
15+
auth(app);
16+
campaigns(app);
17+
leads(app);
18+
lists(app);
19+
};

server/src/routes/leads.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
module.exports = function (app) {
2+
let controller = require('../controllers/leads')();
3+
4+
app.get('/api/leads', controller.index);
5+
app.post('/api/leads', controller.add);
6+
app.get('/api/leads:id', controller.view);
7+
app.put('/api/leads:id', controller.edit);
8+
app.delete('/api/leads:id', controller.delete);
9+
}

0 commit comments

Comments
 (0)