Skip to content

Commit 66e880c

Browse files
committed
add utils
1 parent cfb9b9e commit 66e880c

File tree

7 files changed

+213
-41
lines changed

7 files changed

+213
-41
lines changed

controllers/index.js

Lines changed: 71 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ const passport = require('koa-passport');
22
const config = require('config');
33
const jwt = require('jwt-simple'); // аутентификация по JWT для hhtp
44
const User = require('../models/User');
5+
const uploadS3 = require('../utils/uploadS3');
56

67
module.exports = {
78
async signIn(ctx, next) {
@@ -12,7 +13,9 @@ module.exports = {
1213
};
1314
ctx.body = {
1415
token: jwt.encode(payload, config.get('jwtSecret')),
15-
user,
16+
user: {
17+
email: user.email,
18+
},
1619
};
1720
} else {
1821
ctx.body = {
@@ -95,57 +98,48 @@ module.exports = {
9598
};
9699
}
97100
},
98-
99101
async returnWorkers(ctx) {
100102
try {
101103
const workers = await User.find();
104+
//const workers = payload.sort(dynamicSortMultiple.apply(null, User.rating));
102105
ctx.body = {
103106
workers,
104107
};
105108
ctx.response.status = 200;
106109
} catch (err) {
107-
ctx.body = {
108-
err,
109-
};
110+
console.log(err);
110111
}
111112
},
112-
async returnUser(ctx) {
113+
async updateUser(ctx) {
113114
const data = ctx.request.body;
114115
try {
115-
const user = await User.findOne({ _id: data._id });
116+
const user = await User.findByIdAndUpdate(data._id);
117+
ctx.response.status = 200;
116118
ctx.body = {
117-
user,
119+
user: {
120+
firstname: user.firstname,
121+
lastname: user.lastname,
122+
email: user.email,
123+
username: user.username,
124+
title: user.title,
125+
location: {
126+
country: user.location.country,
127+
city: user.location.city,
128+
},
129+
company: user.company,
130+
stack: user.stack,
131+
price: user.price,
132+
rating: user.rating,
133+
mobile: {
134+
code: user.mobile.code,
135+
number: user.mobile.number,
136+
},
137+
},
118138
};
119139
} catch (err) {
120140
ctx.body = {
121141
err,
122-
};
123-
}
124-
},
125-
async updateUser(ctx) {
126-
const data = ctx.request.body;
127-
try {
128-
const userUpdate = await User.findById(data._id);
129-
userUpdate.firstname = data.firstname;
130-
userUpdate.lastname = data.lastname;
131-
userUpdate.email = data.email;
132-
userUpdate.username = data.username;
133-
userUpdate.title = data.title;
134-
userUpdate.location.country = data.location.country;
135-
userUpdate.location.city = data.location.city;
136-
userUpdate.company = data.company;
137-
userUpdate.stack = data.stack;
138-
userUpdate.price = data.price;
139-
userUpdate.rating = data.rating;
140-
userUpdate.mobile.code = data.mobile.code;
141-
userUpdate.mobile.number = data.mobile.number;
142-
await userUpdate.save();
143-
ctx.response.status = 200;
144-
ctx.body = {
145-
userUpdate,
146142
}
147-
} catch (err) {
148-
console.log(err);
149143
}
150144
},
151145
async deleteUser(ctx) {
@@ -161,5 +155,47 @@ module.exports = {
161155
};
162156
}
163157
},
164-
158+
async user(ctx) {
159+
const data = ctx.request.body;
160+
try {
161+
const user = await User.findOne({ email: data.email });
162+
ctx.body = {
163+
user: {
164+
firstname: user.firstname,
165+
photo: user.photo,
166+
lastname: user.lastname,
167+
email: user.email,
168+
username: user.username,
169+
title: user.title,
170+
location: {
171+
country: user.location.country,
172+
city: user.location.city,
173+
},
174+
company: user.company,
175+
stack: user.stack,
176+
price: user.price,
177+
rating: user.rating,
178+
mobile: {
179+
code: user.mobile.code,
180+
number: user.mobile.number,
181+
},
182+
},
183+
};
184+
ctx.response.status = 200;
185+
} catch (err) {
186+
ctx.body = {
187+
err,
188+
};
189+
}
190+
},
191+
async userPhoto(ctx) {
192+
193+
console.log(ctx.request.files);
194+
// const photo = await uploadS3(config.get('aws').userPhoto, ctx.request.files.photo)
195+
// console.log(photo);
196+
ctx.response.status = 200;
197+
ctx.body = {
198+
sraka: ctx.request.files,
199+
}
200+
}
165201
};

libs/aws.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const AWS = require('aws-sdk');
2+
const config = require('config');
3+
4+
const options = {
5+
accessKeyId: config.get('aws').accessKeyId,
6+
secretAccessKey: config.get('aws').secretAccessKey,
7+
};
8+
9+
AWS.config.update(options);
10+
11+
module.exports = AWS;

models/User.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const UserSchema = new User({
4040
},
4141
number: {
4242
type: Number,
43-
}
43+
},
4444
},
4545
location: {
4646
country: {

package-lock.json

Lines changed: 98 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"author": "",
1414
"license": "ISC",
1515
"dependencies": {
16+
"aws-sdk": "^2.524.0",
1617
"config": "^3.2.2",
1718
"crypto": "^1.0.1",
1819
"jwt-simple": "^0.5.6",

routes/auth.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const KoaRouter = require('koa-router');
22
const passport = require('koa-passport');
33

44
const {
5-
signIn, signUp, reset1, reset2, returnWorkers, deleteUser, updateUser, returnUser,
5+
signIn, signUp, reset1, reset2, returnWorkers, deleteUser, updateUser, user, userPhoto
66
} = require('../controllers');
77

88
const router = new KoaRouter();
@@ -11,9 +11,10 @@ router.post('signIn', signIn);
1111
router.post('signUp', signUp);
1212
router.post('reset1', reset1);
1313
router.post('reset2', reset2);
14-
router.get('returnUser', returnUser)
15-
router.get('returnWorkers', returnWorkers);
16-
router.delete('deleteUser', deleteUser);
17-
router.put('updateUser', updateUser);
14+
router.post('user', passport.authenticate('jwt', { session: false }), user);
15+
router.get('returnWorkers', passport.authenticate('jwt', { session: false }), returnWorkers);
16+
router.delete('deleteUser', passport.authenticate('jwt', { session: false }), deleteUser);
17+
router.put('updateUser', passport.authenticate('jwt', { session: false }), updateUser);
18+
router.put('photo', passport.authenticate('jwt', { session: false }), userPhoto)
1819

1920
module.exports = router;

0 commit comments

Comments
 (0)