should be the last one
continuous-integration/drone/push Build is failing Details

MqqtMessage
David D'ALMEIDA 2 years ago
parent 7c91d35bf9
commit f2299519f6

@ -9,6 +9,7 @@ const cors_1 = __importDefault(require("cors"));
// import ErrorMiddleware from './middleware/error.middleware';
const body_parser_1 = __importDefault(require("body-parser"));
const mongoose_1 = __importDefault(require("mongoose"));
const cookie_parser_1 = __importDefault(require("cookie-parser"));
class App {
constructor(controllers, port) {
this.express = (0, express_1.default)();
@ -22,6 +23,7 @@ class App {
initialiseMiddleware() {
// this.express.use(helmet());
this.express.use((0, cors_1.default)());
this.express.use((0, cookie_parser_1.default)());
// this.express.use(morgan('dev'));
this.express.use(express_1.default.json());
this.express.use(express_1.default.urlencoded({ extended: false }));

@ -1 +1 @@
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;;;;AAAA,sDAA+C;AAC/C,yCAAyC;AACzC,gDAAwB;AAIxB,+DAA+D;AAC/D,8DAAqC;AACrC,wDAAgC;AAOhC,MAAM,GAAG;IAOL,YAAY,WAAyB,EAAE,IAAY;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAA,iBAAO,GAAE,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAExC,kCAAkC;IACtC,CAAC;IAEO,oBAAoB;QACxB,8BAA8B;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;QACzB,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,mCAAmC;QACnC,OAAO;QACP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAU,CAAC,UAAU,CAAC;YACnC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC,CAAC;IAEV,CAAC;IAEO,qBAAqB,CAAC,WAAyB;QACnD,WAAW,CAAC,OAAO,CAAC,CAAC,UAAsB,EAAE,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAA;QACR,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4CAA4C;IAC5C,yCAAyC;IACzC,IAAI;IAEG,MAAM;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,kBAAkB;QACtB,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;QAC/D,MAAM,GAAG,GAAG,uGAAuG,CAAA;QACnH,kBAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;aACnE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAE,GAAG,CAAE,CAAC,CAAC;IAC5D,CAAC;CAEJ;AAED,kBAAe,GAAG,CAAC"}
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;;;;AAAA,sDAA+C;AAC/C,yCAAyC;AACzC,gDAAwB;AAIxB,+DAA+D;AAC/D,8DAAqC;AACrC,wDAAgC;AAMhC,kEAAyC;AAEzC,MAAM,GAAG;IAOL,YAAY,WAAyB,EAAE,IAAY;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAA,iBAAO,GAAE,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAExC,kCAAkC;IACtC,CAAC;IAEO,oBAAoB;QACxB,8BAA8B;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,uBAAY,GAAE,CAAC,CAAC;QAGjC,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,mCAAmC;QACnC,OAAO;QACP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAU,CAAC,UAAU,CAAC;YACnC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC,CAAC;IAEV,CAAC;IAEO,qBAAqB,CAAC,WAAyB;QACnD,WAAW,CAAC,OAAO,CAAC,CAAC,UAAsB,EAAE,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAA;QACR,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4CAA4C;IAC5C,yCAAyC;IACzC,IAAI;IAEG,MAAM;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,kBAAkB;QACtB,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;QAC/D,MAAM,GAAG,GAAG,uGAAuG,CAAA;QACnH,kBAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;aACnE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAE,GAAG,CAAE,CAAC,CAAC;IAC5D,CAAC;CAEJ;AAED,kBAAe,GAAG,CAAC"}

@ -1,85 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = require("express");
const httpExeption_1 = __importDefault(require("../../middleware/exeption/httpExeption"));
const UserService_1 = __importDefault(require("../../service/UserService"));
const UserValidation_1 = __importDefault(require("../../database/schema/User/UserValidation"));
const ValidatorMiddleware_1 = __importDefault(require("../../middleware/validation/ValidatorMiddleware"));
const authMiddleware_1 = __importDefault(require("../../middleware/authMiddleware"));
const LocationService_1 = __importDefault(require("../../service/LocationService"));
class UserController {
constructor() {
this.path = '/users';
this.router = (0, express_1.Router)();
this.userService = new UserService_1.default();
this.locationService = new LocationService_1.default();
this.register = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
try {
// the FladId should be created by the Userservice
const { name, email, password, idFlad, idSpotify } = req.body;
console.log(name, email, password, idFlad, idSpotify);
const token = yield this.userService.register(name, email, password, idFlad, idSpotify);
res.status(201).json({ token });
}
catch (error) {
next(new httpExeption_1.default(400, error.message));
}
});
this.login = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
try {
const { email, password } = req.body;
const token = yield this.userService.login(email, password);
res.status(200).json({ token });
}
catch (error) {
next(new httpExeption_1.default(400, error.message));
}
});
this.getUser = (req, res, next) => {
if (!req.user) {
return next(new httpExeption_1.default(404, 'No logged in user'));
}
res.status(200).send({ data: req.user });
};
this.getUserNext = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
try {
const longitude = Number(req.params.longitude);
const latitude = Number(req.params.latitude);
//verify::val_int(){
console.log('woooooooooooooo' + req);
if (isNaN(longitude) || isNaN(latitude)) {
console.log('Impossible de convertir la chaîne en nombre');
}
//}
const userId = req.user.idFlad;
const musicId = req.params.currentMusic;
const data = yield this.locationService.getNearUser(userId, musicId, latitude, longitude);
console.log(data);
res.status(201).send(data);
}
catch (error) {
next(new httpExeption_1.default(400, 'Cannot create get netUser'));
}
});
this.initialiseRoutes();
}
initialiseRoutes() {
this.router.post(`${this.path}/register`, (0, ValidatorMiddleware_1.default)(UserValidation_1.default.register), this.register);
this.router.post(`${this.path}/login`, (0, ValidatorMiddleware_1.default)(UserValidation_1.default.login), this.login);
this.router.get(`${this.path}`, authMiddleware_1.default, this.getUser);
}
}
exports.default = ChatController;
//# sourceMappingURL=chatCtrl.js.map

@ -1 +0,0 @@
{"version":3,"file":"chatCtrl.js","sourceRoot":"","sources":["../../../src/controller/chat-controller/chatCtrl.ts"],"names":[],"mappings":"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"}

@ -1,208 +0,0 @@
// import Controller from '../Icontroller';
// import { Router, Request, Response, NextFunction, RequestHandler } from 'express';
// import HttpException from '../../middleware/exeption/httpExeption';
// import axios from 'axios';
// import AES from 'crypto-js'
// import querystring from 'querystring';
// import qs from 'qs';
// class SpotifyController implements Controller {
// public path = '/spot';
// public router = Router();
// constructor() {
// console.log("useeeee");
// this.initialiseRoutes();
// }
// initialiseRoutes() {
// // this.router.post(`${this.path}`,this.createTask);
// this.router.get(`${this.path}/likes/{user}/{id-spot}`,this.like);
// this.router.get(`${this.path}/callback`,this.getAccessToken);
// this.router.post(`${this.path}/refresh`,this.getRefreshToken);
// this.router.get(`${this.path}/spot`, this.getSpot);
// }
// // need to put in ENvironement file
// // private readonly CLIENT_CALLBACK_URL = "http://localhost:8080/callback";
// private readonly API_URL = "https://accounts.spotify.com/api/token";
// private readonly CLIENT_ID = "1f1e34e4b6ba48b388469dba80202b10";
// private readonly CLIENT_SECRET = "779371c6d4994a68b8dd6e84b0873c82";
// // private readonly CLIENT_CALLBACK_URL = "https://auth.expo.io/@thed47/FLAD//callback";
// private readonly CALLBACK_2 = 'https://flad-api-production.up.railway.app/api/spotify/callback';
// private readonly SCOPES ='user-read-private user-read-email user-read-playback-state user-read-currently-playing user-read-recently-played playlist-modify-public ugc-image-upload user-modify-playback-state';
// private readonly ENCRYPTION_SECRET = new CryptString(16);
// private login = async (
// req: Request,
// res: Response,
// next: NextFunction
// ): Promise<Response | void> => {
// console.log("useeeee== login");
// try {
// // const params = req.body;
// // if (!params.refresh_token) {
// // return res.json({
// // "error": "Parameter missing"
// // });
// // }
// // this.spotifyRequest({
// // grant_type: "authorization_code",
// // redirect_uri: this.CLIENT_CALLBACK_2,
// // // code: params.code
// // })
// console.log("aloorrr si c'est niquuuuuuuuuuuueeee" +this.CALLBACK_2+ "gennnnnnnnnrree vraiiiiiiiment ");
// res.redirect('https://accounts.spotify.com/authorize?' +
// qs.stringify({
// response_type: 'code',
// client_id: this.CLIENT_ID,
// scope: this.SCOPES,
// redirect_uri: this.CALLBACK_2,
// // state: this.ENCRYPTION_SECRET.stringCrypt
// }));
// // '?response_type=code' +
// // '&client_id=' +
// // "1f1e34e4b6ba48b388469dba80202b10" +
// // (this.SCOPES ? '&scope=' + encodeURIComponent(this.SCOPES) : '') +
// // '&redirect_uri=' +
// // encodeURIComponent(this.CALLBACK_2)
// // );
// // .then(session => {
// // let result = {
// // "access_token": session.access_token,
// // "expires_in": session.expires_in,
// // "refresh_token": this.encrypt(session.refresh_token)
// // };
// // return res.send(result);
// // })
// // .catch(response => {
// // return res.json(response);
// // });
// } catch (error) {
// next(new HttpException(400, 'Cannot create spot'));
// }
// };
// private getRefreshToken = async (
// req: Request,
// res: Response,
// next: NextFunction
// ): Promise<Response | void> => {
// console.log('UUse2');
// try {
// const params = req.query.refresh_token;
// if (!req.query.refresh_token) {
// return res.json({
// "error": "Parameter refresh_token missing"
// });
// }
// var authOptions = {
// method: 'POST',
// url: 'https://accounts.spotify.com/api/token',
// data: qs.stringify({
// grant_type: 'refresh_token',
// refresh_token: params
// }),
// headers: {
// 'Authorization': 'Basic ' + ( Buffer.from(this.CLIENT_ID + ':' + this.CLIENT_SECRET).toString('base64')),
// 'Content-Type' : 'application/x-www-form-urlencoded'
// },
// json: true
// };
// // request.post(authOptions, function(error, response, body) {
// // if (!error && response.statusCode === 200) {
// // var access_token = body.access_token;
// // res.send({
// // 'access_token': access_token
// // });
// // }
// // });
// axios(authOptions)
// .then(session => {
// if(session.status === 200){
// res.send({
// "access_token": session.data.access_token,
// "expires_in": session.data.expires_in
// });
// }});
// console.log("goood");
// } catch (error) {
// console.log("errur");
// next(new HttpException(400, 'Cannot create post'));
// }
// }
// public getSpot = async (
// req: Request,
// res: Response,
// next: NextFunction
// ): Promise<Response | void> => {
// const spots = [
// {
// name: "blue",
// sourceUrl: "https://cdns-images.dzcdn.net/images/artist/399e7e760d8fedf3cc2891e9c0c41658/200x200-000000-80-0-0.jpg",
// index: 3
// },
// {
// name: "strange history",
// sourceUrl: "https://images.genius.com/339dfe2a7c0adf9a5d08febf29a845f4.1000x1000x1.jpg",
// index: 7
// },
// {
// name: "oboy album",
// sourceUrl: "https://i.pinimg.com/originals/ad/cc/d5/adccd58a0d0ff516a6114703cd05810e.jpg",
// index: 1
// }
// ];
// try {
// res.send(spots);
// } catch (error) {
// console.log('heuuuuuuuuuuuuuuuuuuuuubizzzaaarrreeee');
// console.log(error);
// next(new HttpException(400, 'On peut pas avoir darray mec'));
// } }
// private getAccessToken = async (
// req: Request,
// res: Response,
// next: NextFunction
// ): Promise<Response | void> => {
// console.log("useeeee== accesToken");
// var code = req.query.code;
// var state = req.query.state || null;
// // var storedState = req.cookies ? req.cookies[stateKey] : null;
// var authOptions = {
// method: 'POST',
// url: 'https://accounts.spotify.com/api/token',
// data: qs.stringify({
// code: code,
// redirect_uri: this.CALLBACK_2,
// grant_type: 'authorization_code'
// }),
// headers: {
// 'Authorization': 'Basic ' + ( Buffer.from(this.CLIENT_ID + ':' + this.CLIENT_SECRET).toString('base64')),
// 'Content-Type' : 'application/x-www-form-urlencoded'
// },
// json: true
// };
// try {
// var resp = await axios(authOptions);
// if (resp.status === 200) {
// console.log('oon esttt laaa');
// var access_token = resp.data.access_token;
// var expiration =resp.data.expires_in;
// var refresh = resp.data.refresh_token
// console.log(access_token);
// // res.send({
// // "access_token": access_token,
// // "expires_in": expiration,
// // "refresh" : refresh
// // });
// res.redirect('/#'+
// qs.stringify({
// "access_token": access_token,
// "expires_in": expiration,
// "refreshuyjfguk" : refresh
// }));
// }
// } catch (error) {
// console.log('heuuuuuuuuuuuuuuuuuuuuubizzzaaarrreeee');
// console.log(error);
// next(new HttpException(400, 'On peut pas te connecter mec'+ error.message));
// }
// };
// }
// export default SpotifyController;
//# sourceMappingURL=spotCtrl.js.map

@ -1 +0,0 @@
{"version":3,"file":"spotCtrl.js","sourceRoot":"","sources":["../../../src/controller/spot-controller/spotCtrl.ts"],"names":[],"mappings":"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"}

@ -30,6 +30,7 @@ class SpotifyController {
this.CALLBACK_2 = 'https://flad-api-production.up.railway.app/api/spotify/callback';
this.SCOPES = 'user-read-private user-read-email user-read-playback-state user-read-currently-playing user-read-recently-played playlist-modify-public ugc-image-upload user-modify-playback-state';
this.ENCRYPTION_SECRET = new crypt_1.default(16);
this.clientRedirect = 'spotify_final_redirect-uri-key';
this.login = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
console.log("useeeee== login");
try {
@ -44,6 +45,8 @@ class SpotifyController {
// redirect_uri: this.CLIENT_CALLBACK_2,
// // code: params.code
// })
const redirectResponse = req.query.redirectUrl ? req.query.redirectUrl : req.headers.referer;
res.cookie(this.clientRedirect, redirectResponse);
console.log("aloorrr si c'est niquuuuuuuuuuuueeee" + this.CALLBACK_2 + "gennnnnnnnnrree vraiiiiiiiment ");
res.redirect('https://accounts.spotify.com/authorize?' +
qs_1.default.stringify({
@ -109,8 +112,11 @@ class SpotifyController {
(0, axios_1.default)(authOptions)
.then(session => {
if (session.status === 200) {
console.log('### Information : responce ###' + JSON.stringify(session.data));
console.log('### Information : refresh_token ###' + session.data.refresh_token);
res.send({
"access_token": session.data.access_token,
"refresh_token": session.data.refresh_token,
"expires_in": session.data.expires_in
});
}
@ -153,6 +159,7 @@ class SpotifyController {
console.log("useeeee== accesToken");
var code = req.query.code;
var state = req.query.state || null;
var storedredirectUri = req.cookies ? req.cookies[this.clientRedirect] : null;
// var storedState = req.cookies ? req.cookies[stateKey] : null;
var authOptions = {
method: 'POST',
@ -181,11 +188,12 @@ class SpotifyController {
// "expires_in": expiration,
// "refresh" : refresh
// });
res.redirect('/#' +
res.clearCookie(this.clientRedirect);
res.redirect(`${storedredirectUri}?` +
qs_1.default.stringify({
"access_token": access_token,
"expires_in": expiration,
"refreshuyjfguk": refresh
"refresh_token": refresh
}));
}
}
@ -202,7 +210,7 @@ class SpotifyController {
// this.router.post(`${this.path}`,this.createTask);
this.router.get(`${this.path}/exchange`, this.login);
this.router.get(`${this.path}/callback`, this.getAccessToken);
this.router.post(`${this.path}/refresh`, this.getRefreshToken);
this.router.get(`${this.path}/refresh`, this.getRefreshToken);
this.router.get(`${this.path}/spot`, this.getSpot);
}
}

File diff suppressed because one or more lines are too long

@ -147,16 +147,21 @@ class UserController {
};
this.getUserNext = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
try {
const longitude = Number(req.params.longitude);
const latitude = Number(req.params.latitude);
const longitude = Number(req.query.longitude);
const latitude = Number(req.query.latitude);
//verify::val_int(){
console.log('woooooooooooooo' + req);
if (isNaN(longitude) || isNaN(latitude)) {
console.log('============' + longitude);
console.log('============' + latitude);
console.log('Impossible de convertir la chaîne en nombre');
}
//}
const userId = req.user.idFlad;
const musicId = req.params.currentMusic;
const musicId = String(req.query.currentMusic);
console.log('============' + longitude);
console.log('============' + latitude);
console.log('daaaaaaaaaaaaaaaaaaaaaa' + musicId);
const data = yield this.locationService.getNearUser(userId, musicId, latitude, longitude);
console.log(data);
res.status(201).send(data);

@ -1 +1 @@
{"version":3,"file":"userCtrl.js","sourceRoot":"","sources":["../../../src/controller/user-controller/userCtrl.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"userCtrl.js","sourceRoot":"","sources":["../../../src/controller/user-controller/userCtrl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,qCAAkF;AAElF,0FAAmE;AAGnE,4EAAoD;AACpD,+FAAiE;AACjE,0GAAmF;AACnF,qFAA2D;AAC3D,oFAA4D;AAC5D,MAAM,cAAc;IAMhB;QALO,SAAI,GAAG,QAAQ,CAAC;QAChB,WAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACjB,gBAAW,GAAG,IAAI,qBAAW,EAAE,CAAC;QAChC,oBAAe,GAAG,IAAI,yBAAe,EAAE,CAAC;QAmChD,+BAA+B;QAC/B,oBAAoB;QACpB,qBAAqB;QACrB,yBAAyB;QACzB,mCAAmC;QACnC,YAAY;QAEZ,iCAAiC;QACjC,yEAAyE;QACzE,oDAAoD;QACpD,4DAA4D;QAC5D,aAAa;QAEb,2EAA2E;QAG3E,wBAAwB;QACxB,8DAA8D;QAC9D,QAAQ;QACR,KAAK;QACL,yDAAyD;QACzD,oBAAoB;QACpB,qBAAqB;QACrB,yBAAyB;QACzB,mCAAmC;QACnC,YAAY;QACZ,wCAAwC;QACxC,4CAA4C;QAE5C,uEAAuE;QACvE,sCAAsC;QAEtC,QAAQ;QACR,oBAAoB;QACpB,8DAA8D;QAC9D,QAAQ;QAER,IAAI;QACJ,yDAAyD;QACzD,oBAAoB;QACpB,qBAAqB;QACrB,yBAAyB;QACzB,mCAAmC;QACnC,YAAY;QACZ,4CAA4C;QAC5C,iEAAiE;QACjE,8EAA8E;QAC9E,2DAA2D;QAE3D,QAAQ;QACR,oBAAoB;QACpB,gEAAgE;QAChE,QAAQ;QAER,IAAI;QAEJ,+BAA+B;QAC/B,oBAAoB;QACpB,qBAAqB;QACrB,yBAAyB;QACzB,mCAAmC;QACnC,YAAY;QACZ,wCAAwC;QACxC,4CAA4C;QAC5C,yDAAyD;QACzD,mFAAmF;QACnF,wBAAwB;QACxB,8DAA8D;QAC9D,QAAQ;QACR,KAAK;QAEL,+BAA+B;QAC/B,oBAAoB;QACpB,qBAAqB;QACrB,yBAAyB;QACzB,mCAAmC;QACnC,YAAY;QAEZ,4CAA4C;QAC5C,4CAA4C;QAC5C,yFAAyF;QAEzF,iEAAiE;QACjE,gCAAgC;QAChC,sBAAsB;QACtB,sBAAsB;QACtB,0DAA0D;QAC1D,2BAA2B;QAC3B,mCAAmC;QACnC,4BAA4B;QAC5B,gCAAgC;QAChC,4BAA4B;QAC5B,+BAA+B;QAC/B,+BAA+B;QAC/B,2BAA2B;QAC3B,0BAA0B;QAC1B,iBAAiB;QACjB,0CAA0C;QAC1C,iDAAiD;QACjD,4EAA4E;QAC5E,wBAAwB;QACxB,8BAA8B;QAC9B,8DAA8D;QAC9D,QAAQ;QACR,KAAK;QAGG,aAAQ,GAAG,CACf,GAAY,EACZ,GAAa,EACb,IAAkB,EACM,EAAE;YAC1B,IAAI;gBACA,kDAAkD;gBAClD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAG,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAEtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CACzC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,CACZ,CAAC;gBAEF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aACnC;YAAC,OAAO,KAAW,EAAE;gBAClB,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;aAC/C;QACL,CAAC,CAAA,CAAC;QAEM,UAAK,GAAG,CACZ,GAAY,EACZ,GAAa,EACb,IAAkB,EACM,EAAE;YAC1B,IAAI;gBACA,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;gBAErC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAE5D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aACnC;YAAC,OAAO,KAAW,EAAE;gBAClB,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;aAC/C;QACL,CAAC,CAAA,CAAC;QAEM,YAAO,GAAG,CACd,GAAY,EACZ,GAAa,EACb,IAAkB,EACH,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACX,OAAO,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;aAC5D;YAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEM,gBAAW,GAAG,CAClB,GAAY,EACZ,GAAa,EACb,IAAkB,EACM,EAAE;YAC1B,IAAI;gBACA,MAAM,SAAS,GAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC7C,oBAAoB;gBAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;gBACzC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;oBACrC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,CAAA;oBACvC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAA;oBACtC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;iBAC9D;gBACD,GAAG;gBACH,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,CAAA;gBACvC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAA;gBACtC,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,OAAO,CAAC,CAAC;gBACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,EAAC,SAAS,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAE9B;YACD,OAAM,KAAW,EAAC;gBACd,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC,CAAC;aAC7D;QAEL,CAAC,CAAA,CAAA;QA7NG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,IAAI,WAAW,EACvB,IAAA,6BAAoB,EAAC,wBAAS,CAAC,QAAQ,CAAC,EACxC,IAAI,CAAC,QAAQ,CAChB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,IAAI,QAAQ,EACpB,IAAA,6BAAoB,EAAC,wBAAS,CAAC,KAAK,CAAC,EACrC,IAAI,CAAC,KAAK,CACb,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,wBAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,EAAE,wBAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAGxE,WAAW;QACX,oDAAoD;QAEpD,gBAAgB;QAChB,8DAA8D;QAC9D,gBAAgB;QAChB,sDAAsD;QACtD,eAAe;QACf,6DAA6D;QAC7D,eAAe;QACf,gEAAgE;IAEpE,CAAC;CAkMJ;AAED,kBAAe,cAAc,CAAC"}

@ -1 +0,0 @@
//# sourceMappingURL=Message.js.map

@ -1 +0,0 @@
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../src/model/Message.ts"],"names":[],"mappings":""}

@ -1 +0,0 @@
//# sourceMappingURL=MessageFactory.js.map

@ -1 +0,0 @@
{"version":3,"file":"MessageFactory.js","sourceRoot":"","sources":["../../../src/model/factory/MessageFactory.ts"],"names":[],"mappings":""}

@ -1 +0,0 @@
//# sourceMappingURL=ChatService.js.map

@ -1 +0,0 @@
{"version":3,"file":"ChatService.js","sourceRoot":"","sources":["../../src/service/ChatService.ts"],"names":[],"mappings":""}

@ -1 +0,0 @@
//# sourceMappingURL=Notifier.js.map

@ -1 +0,0 @@
{"version":3,"file":"Notifier.js","sourceRoot":"","sources":["../../src/service/Notifier.ts"],"names":[],"mappings":""}

@ -1 +0,0 @@
//# sourceMappingURL=IChatService.js.map

@ -1 +0,0 @@
{"version":3,"file":"IChatService.js","sourceRoot":"","sources":["../../../src/service/interfaces/IChatService.ts"],"names":[],"mappings":""}

@ -10,11 +10,6 @@
"start": "tsc & node .",
"test": "echo \"Error: no test specified\" && exit 1"
},
"pre-commit": [
"ts.check",
"build",
"add-build"
],
"keywords": [],
"author": "",
"license": "ISC",
@ -32,11 +27,13 @@
"typescript": "^4.9.5"
},
"dependencies": {
"@types/cookie-parser": "^1.4.3",
"@types/crypto-js": "^4.1.1",
"@types/mongoose": "^5.11.97",
"@types/request": "^2.48.8",
"axios": "^1.2.6",
"bcrypt": "^5.1.0",
"cookie-parser": "^1.4.6",
"cors": "^2.8.5",
"dotenv": "^16.0.3",
"express-winston": "^4.2.0",
@ -45,7 +42,6 @@
"mongodb": "^5.0.0",
"mongoose": "^6.9.0",
"morgan": "^1.10.0",
"mqtt": "^4.3.7",
"request": "^2.88.2",
"rimraf": "^4.1.2",
"swagger-ui-express": "^4.6.0",

@ -12,6 +12,7 @@ import mongoose from 'mongoose';
// import helmet from 'helmet';
import http from 'http';
import cookieParser from 'cookie-parser';
class App {
public express: Application;
@ -35,6 +36,9 @@ class App {
private initialiseMiddleware(): void {
// this.express.use(helmet());
this.express.use(cors());
this.express.use(cookieParser());
// this.express.use(morgan('dev'));
this.express.use(express.json());
this.express.use(express.urlencoded({ extended: false }));

@ -1,96 +0,0 @@
import { Router, Request, Response, NextFunction, RequestHandler } from 'express';
import Controller from '../Icontroller';
import HttpException from '../../middleware/exeption/httpExeption';
// import LocationService from '../../service/LocationService';
import IUser from '../../database/schema/User/UserInterface';
import UserService from '../../service/UserService';
import validator from '../../database/schema/User/UserValidation'
import validationMiddleware from '../../middleware/validation/ValidatorMiddleware';
import authenticator from '../../middleware/authMiddleware'
import LocationService from '../../service/LocationService';
class ChatController implements Controller {
public path = '/chat';
public router = Router();
private chatService = new ChatService();
constructor() {
this.initialiseRoutes();
}
private initialiseRoutes(): void {
this.router.post(
`${this.path}/register`,
validationMiddleware(validator.register),
this.register
);
this.router.post(
`${this.path}/login`,
validationMiddleware(validator.login),
this.login
);
this.router.get(`${this.path}`, authenticator, this.getUser);
}
private register = async (
req: Request,
res: Response,
next: NextFunction
): Promise<Response | void> => {
try {
// the FladId should be created by the Userservice
const { name, email, password , idFlad, idSpotify } = req.body;
console.log(name, email, password, idFlad, idSpotify);
const token = await this.userService.register(
name,
email,
password,
idFlad,
idSpotify
);
res.status(201).json({ token });
} catch (error : any) {
next(new HttpException(400, error.message));
}
};
private login = async (
req: Request,
res: Response,
next: NextFunction
): Promise<Response | void> => {
try {
const { email, password } = req.body;
const token = await this.userService.login(email, password);
res.status(200).json({ token });
} catch (error : any) {
next(new HttpException(400, error.message));
}
};
private getUser = (
req: Request,
res: Response,
next: NextFunction
): Response | void => {
if (!req.user) {
return next(new HttpException(404, 'No logged in user'));
}
res.status(200).send({ data: req.user });
};
}
export default ChatController;

@ -1,236 +0,0 @@
// import Controller from '../Icontroller';
// import { Router, Request, Response, NextFunction, RequestHandler } from 'express';
// import HttpException from '../../middleware/exeption/httpExeption';
// import axios from 'axios';
// import AES from 'crypto-js'
// import querystring from 'querystring';
// import qs from 'qs';
// class SpotifyController implements Controller {
// public path = '/spot';
// public router = Router();
// constructor() {
// console.log("useeeee");
// this.initialiseRoutes();
// }
// initialiseRoutes() {
// // this.router.post(`${this.path}`,this.createTask);
// this.router.get(`${this.path}/likes/{user}/{id-spot}`,this.like);
// this.router.get(`${this.path}/callback`,this.getAccessToken);
// this.router.post(`${this.path}/refresh`,this.getRefreshToken);
// this.router.get(`${this.path}/spot`, this.getSpot);
// }
// // need to put in ENvironement file
// // private readonly CLIENT_CALLBACK_URL = "http://localhost:8080/callback";
// private readonly API_URL = "https://accounts.spotify.com/api/token";
// private readonly CLIENT_ID = "1f1e34e4b6ba48b388469dba80202b10";
// private readonly CLIENT_SECRET = "779371c6d4994a68b8dd6e84b0873c82";
// // private readonly CLIENT_CALLBACK_URL = "https://auth.expo.io/@thed47/FLAD//callback";
// private readonly CALLBACK_2 = 'https://flad-api-production.up.railway.app/api/spotify/callback';
// private readonly SCOPES ='user-read-private user-read-email user-read-playback-state user-read-currently-playing user-read-recently-played playlist-modify-public ugc-image-upload user-modify-playback-state';
// private readonly ENCRYPTION_SECRET = new CryptString(16);
// private login = async (
// req: Request,
// res: Response,
// next: NextFunction
// ): Promise<Response | void> => {
// console.log("useeeee== login");
// try {
// // const params = req.body;
// // if (!params.refresh_token) {
// // return res.json({
// // "error": "Parameter missing"
// // });
// // }
// // this.spotifyRequest({
// // grant_type: "authorization_code",
// // redirect_uri: this.CLIENT_CALLBACK_2,
// // // code: params.code
// // })
// console.log("aloorrr si c'est niquuuuuuuuuuuueeee" +this.CALLBACK_2+ "gennnnnnnnnrree vraiiiiiiiment ");
// res.redirect('https://accounts.spotify.com/authorize?' +
// qs.stringify({
// response_type: 'code',
// client_id: this.CLIENT_ID,
// scope: this.SCOPES,
// redirect_uri: this.CALLBACK_2,
// // state: this.ENCRYPTION_SECRET.stringCrypt
// }));
// // '?response_type=code' +
// // '&client_id=' +
// // "1f1e34e4b6ba48b388469dba80202b10" +
// // (this.SCOPES ? '&scope=' + encodeURIComponent(this.SCOPES) : '') +
// // '&redirect_uri=' +
// // encodeURIComponent(this.CALLBACK_2)
// // );
// // .then(session => {
// // let result = {
// // "access_token": session.access_token,
// // "expires_in": session.expires_in,
// // "refresh_token": this.encrypt(session.refresh_token)
// // };
// // return res.send(result);
// // })
// // .catch(response => {
// // return res.json(response);
// // });
// } catch (error) {
// next(new HttpException(400, 'Cannot create spot'));
// }
// };
// private getRefreshToken = async (
// req: Request,
// res: Response,
// next: NextFunction
// ): Promise<Response | void> => {
// console.log('UUse2');
// try {
// const params = req.query.refresh_token;
// if (!req.query.refresh_token) {
// return res.json({
// "error": "Parameter refresh_token missing"
// });
// }
// var authOptions = {
// method: 'POST',
// url: 'https://accounts.spotify.com/api/token',
// data: qs.stringify({
// grant_type: 'refresh_token',
// refresh_token: params
// }),
// headers: {
// 'Authorization': 'Basic ' + ( Buffer.from(this.CLIENT_ID + ':' + this.CLIENT_SECRET).toString('base64')),
// 'Content-Type' : 'application/x-www-form-urlencoded'
// },
// json: true
// };
// // request.post(authOptions, function(error, response, body) {
// // if (!error && response.statusCode === 200) {
// // var access_token = body.access_token;
// // res.send({
// // 'access_token': access_token
// // });
// // }
// // });
// axios(authOptions)
// .then(session => {
// if(session.status === 200){
// res.send({
// "access_token": session.data.access_token,
// "expires_in": session.data.expires_in
// });
// }});
// console.log("goood");
// } catch (error) {
// console.log("errur");
// next(new HttpException(400, 'Cannot create post'));
// }
// }
// public getSpot = async (
// req: Request,
// res: Response,
// next: NextFunction
// ): Promise<Response | void> => {
// const spots = [
// {
// name: "blue",
// sourceUrl: "https://cdns-images.dzcdn.net/images/artist/399e7e760d8fedf3cc2891e9c0c41658/200x200-000000-80-0-0.jpg",
// index: 3
// },
// {
// name: "strange history",
// sourceUrl: "https://images.genius.com/339dfe2a7c0adf9a5d08febf29a845f4.1000x1000x1.jpg",
// index: 7
// },
// {
// name: "oboy album",
// sourceUrl: "https://i.pinimg.com/originals/ad/cc/d5/adccd58a0d0ff516a6114703cd05810e.jpg",
// index: 1
// }
// ];
// try {
// res.send(spots);
// } catch (error) {
// console.log('heuuuuuuuuuuuuuuuuuuuuubizzzaaarrreeee');
// console.log(error);
// next(new HttpException(400, 'On peut pas avoir darray mec'));
// } }
// private getAccessToken = async (
// req: Request,
// res: Response,
// next: NextFunction
// ): Promise<Response | void> => {
// console.log("useeeee== accesToken");
// var code = req.query.code;
// var state = req.query.state || null;
// // var storedState = req.cookies ? req.cookies[stateKey] : null;
// var authOptions = {
// method: 'POST',
// url: 'https://accounts.spotify.com/api/token',
// data: qs.stringify({
// code: code,
// redirect_uri: this.CALLBACK_2,
// grant_type: 'authorization_code'
// }),
// headers: {
// 'Authorization': 'Basic ' + ( Buffer.from(this.CLIENT_ID + ':' + this.CLIENT_SECRET).toString('base64')),
// 'Content-Type' : 'application/x-www-form-urlencoded'
// },
// json: true
// };
// try {
// var resp = await axios(authOptions);
// if (resp.status === 200) {
// console.log('oon esttt laaa');
// var access_token = resp.data.access_token;
// var expiration =resp.data.expires_in;
// var refresh = resp.data.refresh_token
// console.log(access_token);
// // res.send({
// // "access_token": access_token,
// // "expires_in": expiration,
// // "refresh" : refresh
// // });
// res.redirect('/#'+
// qs.stringify({
// "access_token": access_token,
// "expires_in": expiration,
// "refreshuyjfguk" : refresh
// }));
// }
// } catch (error) {
// console.log('heuuuuuuuuuuuuuuuuuuuuubizzzaaarrreeee');
// console.log(error);
// next(new HttpException(400, 'On peut pas te connecter mec'+ error.message));
// }
// };
// }
// export default SpotifyController;

@ -7,6 +7,7 @@ import CryptString from './crypt';
import AES from 'crypto-js'
import querystring from 'querystring';
import qs from 'qs';
import cookieParser from 'cookie-parser';
class SpotifyController implements Controller {
public path = '/spotify';
@ -21,7 +22,7 @@ class SpotifyController implements Controller {
// this.router.post(`${this.path}`,this.createTask);
this.router.get(`${this.path}/exchange`,this.login);
this.router.get(`${this.path}/callback`,this.getAccessToken);
this.router.post(`${this.path}/refresh`,this.getRefreshToken);
this.router.get(`${this.path}/refresh`,this.getRefreshToken);
this.router.get(`${this.path}/spot`, this.getSpot);
}
@ -35,6 +36,7 @@ class SpotifyController implements Controller {
private readonly CALLBACK_2 = 'https://flad-api-production.up.railway.app/api/spotify/callback';
private readonly SCOPES ='user-read-private user-read-email user-read-playback-state user-read-currently-playing user-read-recently-played playlist-modify-public ugc-image-upload user-modify-playback-state';
private readonly ENCRYPTION_SECRET = new CryptString(16);
private readonly clientRedirect= 'spotify_final_redirect-uri-key';
private login = async (
req: Request,
@ -56,6 +58,8 @@ class SpotifyController implements Controller {
// redirect_uri: this.CLIENT_CALLBACK_2,
// // code: params.code
// })
const redirectResponse = req.query.redirectUrl ? req.query.redirectUrl : req.headers.referer;
res.cookie(this.clientRedirect, redirectResponse);
console.log("aloorrr si c'est niquuuuuuuuuuuueeee" +this.CALLBACK_2+ "gennnnnnnnnrree vraiiiiiiiment ");
res.redirect('https://accounts.spotify.com/authorize?' +
qs.stringify({
@ -101,6 +105,7 @@ class SpotifyController implements Controller {
try {
const params = req.query.refresh_token;
if (!req.query.refresh_token) {
return res.json({
"error": "Parameter refresh_token missing"
@ -131,9 +136,12 @@ class SpotifyController implements Controller {
axios(authOptions)
.then(session => {
if(session.status === 200){
console.log('### Information : responce ###' + JSON.stringify( session.data) );
console.log('### Information : refresh_token ###' + session.data.refresh_token);
res.send({
"access_token": session.data.access_token,
"refresh_token": session.data.refresh_token,
"expires_in": session.data.expires_in
});
}});
@ -185,8 +193,11 @@ class SpotifyController implements Controller {
next: NextFunction
): Promise<Response | void> => {
console.log("useeeee== accesToken");
var code = req.query.code;
var state = req.query.state || null;
var storedredirectUri = req.cookies ? req.cookies[this.clientRedirect] : null;
// var storedState = req.cookies ? req.cookies[stateKey] : null;
var authOptions = {
method: 'POST',
@ -216,11 +227,12 @@ class SpotifyController implements Controller {
// "refresh" : refresh
// });
res.redirect('/#'+
res.clearCookie(this.clientRedirect);
res.redirect(`${storedredirectUri}?` +
qs.stringify({
"access_token": access_token,
"expires_in": expiration,
"refreshuyjfguk" : refresh
"refresh_token" : refresh
}));
}
} catch (error) {

@ -1,63 +0,0 @@
import UserSchema from "../database/schema/User/UserSchema";
import token from "../model/token";
class ChatService {
private user = UserSchema;
/**
* Register a new user
*/
public async sendMessage(
name: string,
email: string,
password: string,
idFlad : string,
idSpotify : string
): Promise<string | Error> {
try {
const user = await this.user.create({
name,
email,
password,
idFlad,
idSpotify
});
const accessToken = token.createToken(user);
return accessToken;
} catch (error : any) {
throw new Error(error.message);
}
}
/**
* Attempt to login a user
*/
public async createConverssation(
email: string,
password: string
): Promise<string | Error> {
try {
// should maybe creat a method base on id and other information for better security
// need to view with Emre
const user = await this.user.findOne({ email });
// const user = await this.user.findById(idFlad);
if (!user) {
throw new Error('Unable to find user with that email address');
}
if (await user.isValidPassword(password)) {
return token.createToken(user);
} else {
throw new Error('Wrong credentials given');
}
} catch (error) {
throw new Error('Unable to create user');
}
}
}
export default ChatService;

@ -1,5 +0,0 @@
interface IChatService {
sendMessage() : Promise<any>;
getHistory() : Promise<any>;// pagination
createConverssation () :Promise<boolean>;
}
Loading…
Cancel
Save