Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {Router} from 'express'
- export default (auth) => {
- const app = Router();
- app.get('/profile', (req, res) => {
- const token = req.header('Token');
- if (token) {
- const user = auth.validate(token);
- if (user) {
- res.send({
- user: user
- })
- } else {
- res.send({
- error: 403
- })
- }
- } else {
- res.sendStatus(400)
- }
- });
- app.post('/login', async (req, res) => {
- const email = req.body.email;
- const password = req.body.password;
- if (!email || !password) {
- res.send({
- error: 'Не все поля заполнены'
- })
- } else {
- if (validateEmail(email)) {
- const loginResult = await auth.login(email, password);
- if (loginResult.error) {
- res.send({
- error: loginResult.error
- });
- } else {
- res.send({
- token: auth.authorize(loginResult.result)
- });
- }
- } else {
- res.send({
- error: 'Email не валиден'
- })
- }
- }
- });
- app.post('/signup', async (req, res) => {
- const email = req.body.email;
- const name = req.body.name;
- const password = req.body.password;
- const confirmPassword = req.body.confirmPassword;
- if (!email || !name || !password || !confirmPassword) {
- res.send({
- fields: [email, name, password, confirmPassword],
- error: 'Не все поля заполнены'
- })
- } else {
- if (validateEmail(email)) {
- const registrationResult = await auth.register(email, name, password, confirmPassword);
- if (registrationResult.error) {
- res.send({
- error: registrationResult.error
- });
- } else {
- res.send({
- token: auth.authorize(registrationResult.result)
- })
- }
- } else {
- res.send({
- error: 'Email не валиден'
- })
- }
- }
- });
- function validateEmail(email) {
- const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
- return re.test(email);
- }
- return app;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement