From 1cf86b315f00dddcce93233e92527ead13ac8623 Mon Sep 17 00:00:00 2001 From: dadalmeida1 Date: Wed, 29 Mar 2023 15:10:57 +0200 Subject: [PATCH] merge fix --- src/Api/dist/app.js | 60 ----- src/Api/dist/app.js.map | 1 - src/Api/dist/controller/Icontroller.js | 3 - src/Api/dist/controller/Icontroller.js.map | 1 - src/Api/dist/controller/TestCtrl.js | 34 --- src/Api/dist/controller/TestCtrl.js.map | 1 - .../controller/spotify-controller/crypt.js | 17 -- .../spotify-controller/crypt.js.map | 1 - .../spotify-controller/request/authReqBody.js | 3 - .../request/authReqBody.js.map | 1 - .../spotify-controller/spotifyCtrl.js | 197 --------------- .../spotify-controller/spotifyCtrl.js.map | 1 - .../controller/user-controller/userCtrl.js | 186 -------------- .../user-controller/userCtrl.js.map | 1 - src/Api/dist/database/MongoDataBase.js | 2 - src/Api/dist/database/MongoDataBase.js.map | 1 - src/Api/dist/database/StrategyDatabase.js | 1 - src/Api/dist/database/StrategyDatabase.js.map | 1 - .../dist/database/schema/LocationSchema.js | 22 -- .../database/schema/LocationSchema.js.map | 1 - .../database/schema/NotificationSchema.js | 9 - .../database/schema/NotificationSchema.js.map | 1 - src/Api/dist/database/schema/Token/IToken.js | 3 - .../dist/database/schema/Token/IToken.js.map | 1 - .../database/schema/User/UserInterface.js | 3 - .../database/schema/User/UserInterface.js.map | 1 - .../dist/database/schema/User/UserSchema.js | 82 ------ .../database/schema/User/UserSchema.js.map | 1 - .../database/schema/User/UserValidation.js | 20 -- .../schema/User/UserValidation.js.map | 1 - src/Api/dist/index.js | 14 -- src/Api/dist/index.js.map | 1 - src/Api/dist/middleware/authMiddleware.js | 46 ---- src/Api/dist/middleware/authMiddleware.js.map | 1 - .../dist/middleware/exeption/httpExeption.js | 12 - .../middleware/exeption/httpExeption.js.map | 1 - .../validation/ValidatorMiddleware.js | 34 --- .../validation/ValidatorMiddleware.js.map | 1 - src/Api/dist/middleware/winston.js | 9 - src/Api/dist/middleware/winston.js.map | 1 - src/Api/dist/model/IUser.js | 3 - src/Api/dist/model/IUser.js.map | 1 - src/Api/dist/model/locationModel.js | 26 -- src/Api/dist/model/locationModel.js.map | 1 - src/Api/dist/model/token.js | 34 --- src/Api/dist/model/token.js.map | 1 - src/Api/dist/service/LocationService.js | 114 --------- src/Api/dist/service/LocationService.js.map | 1 - src/Api/dist/service/UserService.js | 69 ----- src/Api/dist/service/UserService.js.map | 1 - .../controller/spot-controller/spotCtrl.ts | 236 ++++++++++++++++++ .../spotify-controller/spotifyCtrl.ts | 55 ++-- .../controller/user-controller/userCtrl.ts | 11 +- src/Api/src/database/schema/LocationSchema.ts | 10 +- src/Api/src/index.ts | 2 +- src/Api/src/model/locationModel.ts | 6 +- src/Api/src/service/LocationService.ts | 19 +- src/Api/src/service/UserService.ts | 9 +- 58 files changed, 300 insertions(+), 1076 deletions(-) delete mode 100644 src/Api/dist/app.js delete mode 100644 src/Api/dist/app.js.map delete mode 100644 src/Api/dist/controller/Icontroller.js delete mode 100644 src/Api/dist/controller/Icontroller.js.map delete mode 100644 src/Api/dist/controller/TestCtrl.js delete mode 100644 src/Api/dist/controller/TestCtrl.js.map delete mode 100644 src/Api/dist/controller/spotify-controller/crypt.js delete mode 100644 src/Api/dist/controller/spotify-controller/crypt.js.map delete mode 100644 src/Api/dist/controller/spotify-controller/request/authReqBody.js delete mode 100644 src/Api/dist/controller/spotify-controller/request/authReqBody.js.map delete mode 100644 src/Api/dist/controller/spotify-controller/spotifyCtrl.js delete mode 100644 src/Api/dist/controller/spotify-controller/spotifyCtrl.js.map delete mode 100644 src/Api/dist/controller/user-controller/userCtrl.js delete mode 100644 src/Api/dist/controller/user-controller/userCtrl.js.map delete mode 100644 src/Api/dist/database/MongoDataBase.js delete mode 100644 src/Api/dist/database/MongoDataBase.js.map delete mode 100644 src/Api/dist/database/StrategyDatabase.js delete mode 100644 src/Api/dist/database/StrategyDatabase.js.map delete mode 100644 src/Api/dist/database/schema/LocationSchema.js delete mode 100644 src/Api/dist/database/schema/LocationSchema.js.map delete mode 100644 src/Api/dist/database/schema/NotificationSchema.js delete mode 100644 src/Api/dist/database/schema/NotificationSchema.js.map delete mode 100644 src/Api/dist/database/schema/Token/IToken.js delete mode 100644 src/Api/dist/database/schema/Token/IToken.js.map delete mode 100644 src/Api/dist/database/schema/User/UserInterface.js delete mode 100644 src/Api/dist/database/schema/User/UserInterface.js.map delete mode 100644 src/Api/dist/database/schema/User/UserSchema.js delete mode 100644 src/Api/dist/database/schema/User/UserSchema.js.map delete mode 100644 src/Api/dist/database/schema/User/UserValidation.js delete mode 100644 src/Api/dist/database/schema/User/UserValidation.js.map delete mode 100644 src/Api/dist/index.js delete mode 100644 src/Api/dist/index.js.map delete mode 100644 src/Api/dist/middleware/authMiddleware.js delete mode 100644 src/Api/dist/middleware/authMiddleware.js.map delete mode 100644 src/Api/dist/middleware/exeption/httpExeption.js delete mode 100644 src/Api/dist/middleware/exeption/httpExeption.js.map delete mode 100644 src/Api/dist/middleware/validation/ValidatorMiddleware.js delete mode 100644 src/Api/dist/middleware/validation/ValidatorMiddleware.js.map delete mode 100644 src/Api/dist/middleware/winston.js delete mode 100644 src/Api/dist/middleware/winston.js.map delete mode 100644 src/Api/dist/model/IUser.js delete mode 100644 src/Api/dist/model/IUser.js.map delete mode 100644 src/Api/dist/model/locationModel.js delete mode 100644 src/Api/dist/model/locationModel.js.map delete mode 100644 src/Api/dist/model/token.js delete mode 100644 src/Api/dist/model/token.js.map delete mode 100644 src/Api/dist/service/LocationService.js delete mode 100644 src/Api/dist/service/LocationService.js.map delete mode 100644 src/Api/dist/service/UserService.js delete mode 100644 src/Api/dist/service/UserService.js.map create mode 100644 src/Api/src/controller/spot-controller/spotCtrl.ts diff --git a/src/Api/dist/app.js b/src/Api/dist/app.js deleted file mode 100644 index 629f23c..0000000 --- a/src/Api/dist/app.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const express_1 = __importDefault(require("express")); -// import compression from 'compression'; -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")); -class App { - constructor(controllers, port) { - this.express = (0, express_1.default)(); - this.port = port; - this.dataBase = null; - this.initialiseDatabase(); - this.initialiseMiddleware(); - this.initialiseControllers(controllers); - // this.initialiseErrorHandling(); - } - initialiseMiddleware() { - // this.express.use(helmet()); - this.express.use((0, cors_1.default)()); - // this.express.use(morgan('dev')); - this.express.use(express_1.default.json()); - this.express.use(express_1.default.urlencoded({ extended: false })); - // this.express.use(compression()); - // mine - this.express.use(body_parser_1.default.json()); - this.express.use(body_parser_1.default.urlencoded({ - extended: true - })); - } - initialiseControllers(controllers) { - controllers.forEach((controller) => { - this.express.use('/api', controller.router); - this.express.get('/toto', (req, res) => { - res.send('Hello World!'); - }); - }); - } - // private initialiseErrorHandling(): void { - // this.express.use(ErrorMiddleware); - // } - listen() { - const server = this.express.listen(this.port, () => { - console.log(`⚡️[server] : App listening on the port ${this.port}`); - }); - } - initialiseDatabase() { - const { MONGO_USER, MONGO_PASSWORD, MONGO_PATH } = process.env; - const uri = "mongodb+srv://fladDevDb:ZslYlNRWIOUU7i6o@fladcluster.b29tytu.mongodb.net/?retryWrites=true&w=majority"; - mongoose_1.default.connect(uri) - .then(() => console.log("Connect to MongoDB database successfully")) - .catch(err => console.log("Error connecting : " + err)); - } -} -exports.default = App; -//# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/src/Api/dist/app.js.map b/src/Api/dist/app.js.map deleted file mode 100644 index 3b2404e..0000000 --- a/src/Api/dist/app.js.map +++ /dev/null @@ -1 +0,0 @@ -{"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"} \ No newline at end of file diff --git a/src/Api/dist/controller/Icontroller.js b/src/Api/dist/controller/Icontroller.js deleted file mode 100644 index b804bba..0000000 --- a/src/Api/dist/controller/Icontroller.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=Icontroller.js.map \ No newline at end of file diff --git a/src/Api/dist/controller/Icontroller.js.map b/src/Api/dist/controller/Icontroller.js.map deleted file mode 100644 index b57d665..0000000 --- a/src/Api/dist/controller/Icontroller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Icontroller.js","sourceRoot":"","sources":["../../src/controller/Icontroller.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/Api/dist/controller/TestCtrl.js b/src/Api/dist/controller/TestCtrl.js deleted file mode 100644 index b239e96..0000000 --- a/src/Api/dist/controller/TestCtrl.js +++ /dev/null @@ -1,34 +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()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const express_1 = require("express"); -class PingController { - constructor() { - this.path = '/ping'; - this.router = (0, express_1.Router)(); - this.initialiseRoutes(); - } - initialiseRoutes() { - this.router.get("/ping", (_req, res) => __awaiter(this, void 0, void 0, function* () { - const response = yield this.getMessage(); - return res.send(response); - })); - } - getMessage() { - return __awaiter(this, void 0, void 0, function* () { - return { - message: "pong", - }; - }); - } -} -exports.default = PingController; -//# sourceMappingURL=TestCtrl.js.map \ No newline at end of file diff --git a/src/Api/dist/controller/TestCtrl.js.map b/src/Api/dist/controller/TestCtrl.js.map deleted file mode 100644 index 782b7d8..0000000 --- a/src/Api/dist/controller/TestCtrl.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TestCtrl.js","sourceRoot":"","sources":["../../src/controller/TestCtrl.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,qCAAiC;AAOjC,MAAqB,cAAc;IAI/B;QAHO,SAAI,GAAG,OAAO,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QAGrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAO,IAAI,EAAE,GAAG,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAA,CAAC,CAAC;IACT,CAAC;IACK,UAAU;;YACZ,OAAO;gBACP,OAAO,EAAE,MAAM;aACd,CAAC;QACN,CAAC;KAAA;CACJ;AAnBD,iCAmBC"} \ No newline at end of file diff --git a/src/Api/dist/controller/spotify-controller/crypt.js b/src/Api/dist/controller/spotify-controller/crypt.js deleted file mode 100644 index 2fdf1dc..0000000 --- a/src/Api/dist/controller/spotify-controller/crypt.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class CryptString { - constructor(length) { - this.stringCrypt = this.generateRandomString(length); - } - generateRandomString(length) { - var text = ''; - var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - for (var i = 0; i < length; i++) { - text += possible.charAt(Math.floor(Math.random() * possible.length)); - } - return text; - } -} -exports.default = CryptString; -//# sourceMappingURL=crypt.js.map \ No newline at end of file diff --git a/src/Api/dist/controller/spotify-controller/crypt.js.map b/src/Api/dist/controller/spotify-controller/crypt.js.map deleted file mode 100644 index 76c08d1..0000000 --- a/src/Api/dist/controller/spotify-controller/crypt.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"crypt.js","sourceRoot":"","sources":["../../../src/controller/spotify-controller/crypt.ts"],"names":[],"mappings":";;AAAA,MAAqB,WAAW;IAI5B,YAAY,MAAe;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IACD,oBAAoB,CAAE,MAAe;QACjC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,QAAQ,GAAG,gEAAgE,CAAC;QAEhF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;SACtE;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAhBD,8BAgBC"} \ No newline at end of file diff --git a/src/Api/dist/controller/spotify-controller/request/authReqBody.js b/src/Api/dist/controller/spotify-controller/request/authReqBody.js deleted file mode 100644 index e9ba136..0000000 --- a/src/Api/dist/controller/spotify-controller/request/authReqBody.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=authReqBody.js.map \ No newline at end of file diff --git a/src/Api/dist/controller/spotify-controller/request/authReqBody.js.map b/src/Api/dist/controller/spotify-controller/request/authReqBody.js.map deleted file mode 100644 index 7e5a006..0000000 --- a/src/Api/dist/controller/spotify-controller/request/authReqBody.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"authReqBody.js","sourceRoot":"","sources":["../../../../src/controller/spotify-controller/request/authReqBody.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/Api/dist/controller/spotify-controller/spotifyCtrl.js b/src/Api/dist/controller/spotify-controller/spotifyCtrl.js deleted file mode 100644 index 95496dc..0000000 --- a/src/Api/dist/controller/spotify-controller/spotifyCtrl.js +++ /dev/null @@ -1,197 +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 axios_1 = __importDefault(require("axios")); -const crypt_1 = __importDefault(require("./crypt")); -const querystring_1 = __importDefault(require("querystring")); -const qs_1 = __importDefault(require("qs")); -class SpotifyController { - constructor() { - this.path = '/spotify'; - this.router = (0, express_1.Router)(); - // need to put in ENvironement file - // private readonly CLIENT_CALLBACK_URL = "http://localhost:8080/callback"; - this.API_URL = "https://accounts.spotify.com/api/token"; - this.CLIENT_ID = "1f1e34e4b6ba48b388469dba80202b10"; - this.CLIENT_SECRET = "779371c6d4994a68b8dd6e84b0873c82"; - this.CLIENT_CALLBACK_URL = "https://auth.expo.io/@thed47/FLAD//callback"; - this.CALLBACK_URL = "http://localhost:8080/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.login = (req, res, next) => __awaiter(this, void 0, void 0, function* () { - console.log("useeeee"); - 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_URL, - // // code: params.code - // }) - res.redirect('https://accounts.spotify.com/authorize?' + - querystring_1.default.stringify({ - response_type: 'code', - client_id: this.CLIENT_ID, - scope: this.SCOPES, - redirect_uri: this.CALLBACK_URL, - state: this.ENCRYPTION_SECRET.stringCrypt - })); - // .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 httpExeption_1.default(400, 'Cannot create spot')); - } - }); - this.getRefreshToken = (req, res, next) => __awaiter(this, void 0, void 0, function* () { - 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_1.default.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 - // }); - // } - // }); - (0, axios_1.default)(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 httpExeption_1.default(400, 'Cannot create post')); - } - }); - this.getSpot = (req, res, next) => __awaiter(this, void 0, void 0, function* () { - 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 httpExeption_1.default(400, 'On peut pas avoir darray mec')); - } - }); - this.getAccessToken = (req, res, next) => __awaiter(this, void 0, void 0, function* () { - 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_1.default.stringify({ - code: code, - redirect_uri: this.CALLBACK_URL, - 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 { - console.log('presssquuueee'); - var resp = yield (0, axios_1.default)(authOptions); - if (resp.status === 200) { - console.log(resp); - console.log('oon esttt laaa'); - var access_token = resp.data.access_token; - console.log(access_token); - // should redirect res.redirect('/') - res.json("ok"); - } - } - catch (error) { - console.log('heuuuuuuuuuuuuuuuuuuuuubizzzaaarrreeee'); - console.log(error); - next(new httpExeption_1.default(400, 'On peut pas te connecter mec')); - } - }); - console.log("useeeee"); - this.initialiseRoutes(); - } - initialiseRoutes() { - // 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}/play/:musicId`, this.getMusic); - this.router.get(`${this.path}/spot`, this.getSpot); - } - getMusic() { - return null; - } -} -exports.default = SpotifyController; -//# sourceMappingURL=spotifyCtrl.js.map \ No newline at end of file diff --git a/src/Api/dist/controller/spotify-controller/spotifyCtrl.js.map b/src/Api/dist/controller/spotify-controller/spotifyCtrl.js.map deleted file mode 100644 index ad76c08..0000000 --- a/src/Api/dist/controller/spotify-controller/spotifyCtrl.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"spotifyCtrl.js","sourceRoot":"","sources":["../../../src/controller/spotify-controller/spotifyCtrl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/Api/dist/controller/user-controller/userCtrl.js b/src/Api/dist/controller/user-controller/userCtrl.js deleted file mode 100644 index f35e330..0000000 --- a/src/Api/dist/controller/user-controller/userCtrl.js +++ /dev/null @@ -1,186 +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(); - // private createUser = async ( - // req: Request, - // res: Response, - // next: NextFunction - // ): Promise => { - // try { - // console.log(req.body); - // const reqBody:CreateTaskReqBody = Object.assign({}, req.body); - // checkIfIsValidCreateTaskReqBody(reqBody); - // await this.userService.createUserById(reqBody.fin - // ); - // res.status(200).send({ status: "Success", msg: "Success add" }); - // } catch (error) { - // next(new HttpException(400, 'Cannot create post')); - // } - // }; - // private readonly getUserById: RequestHandler = async ( - // req: Request, - // res: Response, - // next: NextFunction - // ): Promise => { - // try { - // const id = req.params.taskId; - // const userId = req.params.userId; - // const data = await this.userService.getUserById(id, userId); - // res.status(201).send(data); - // } - // catch(error){ - // next(new HttpException(400, 'Cannot create post')); - // } - // } - // private readonly getAllUsers: RequestHandler = async ( - // req: Request, - // res: Response, - // next: NextFunction - // ): Promise => { - // try { - // const userId = req.params.userId; - // const tasks = await this.userService.getUsers(userId); - // const responseList = tasks.map(task => new TaskResumedRes(task)); - // res.status(201).send(responseList); - // } - // catch(error){ - // next(new HttpException(400, 'Cannot get user task')); - // } - // } - // private deleteUser = async ( - // req: Request, - // res: Response, - // next: NextFunction - // ): Promise => { - // try { - // const id = req.params.taskId; - // const userId = req.params.userId; - // await this.userService.DeleteUser(id, userId); - // return res.status(200).send({ status: "Success", msg: "Data Removed" }); - // } catch (error) { - // next(new HttpException(400, 'Cannot create post')); - // } - // }; - // private updateUser = async ( - // req: Request, - // res: Response, - // next: NextFunction - // ): Promise => { - // try { - // const taskId = req.params.taskId; - // const userId = req.params.userId; - // const reqBody:CreateTaskReqBody = Object.assign({}, req.body); - // const updatedTask = await this.userService.UpdateTask( - // // req.auth!.uid, - // taskId, - // userId, - // // firebase.auth().currentUser.getIdToken() - // reqBody.nom, - // reqBody.description, - // reqBody.logo, - // reqBody.duration, - // reqBody.done, - // // reqBody.tags, - // reqBody.repepat, - // reqBody.deb, - // reqBody.fin - // ); - // // res.send('Success add'); - // // res.status(201).json({ task }); - // res.status(204).send(`Update a new contact: ${updatedTask}`); - // } catch (error) { - // console.log(error); - // next(new HttpException(403, 'Cannot create post')); - // } - // }; - 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.body.longitude); - const latitude = Number(req.body.latitude); - //verify::val_int(){ - if (isNaN(longitude) || isNaN(latitude)) { - console.log('Impossible de convertir la chaîne en nombre'); - } - //} - const userId = req.user.idFlad; - const data = yield this.locationService.getNearUser(userId, 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); - this.router.get(`${this.path}/nextTo`, authMiddleware_1.default, this.getUserNext); - // //create - // this.router.post(`${this.path}`,this.createUser); - // // // get One - // this.router.get (`${this.path}/:userId`, this.getUserById); - // // // get All - // this.router.get (`${this.path}`, this.getAllUsers); - // //update One - // this.router.put (`${this.path}/:userId`, this.updateUser); - // //Delete One - // this.router.delete (`${this.path}/:userId`, this.deleteUser); - } -} -exports.default = UserController; -//# sourceMappingURL=userCtrl.js.map \ No newline at end of file diff --git a/src/Api/dist/controller/user-controller/userCtrl.js.map b/src/Api/dist/controller/user-controller/userCtrl.js.map deleted file mode 100644 index 7cc2de4..0000000 --- a/src/Api/dist/controller/user-controller/userCtrl.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"userCtrl.js","sourceRoot":"","sources":["../../../src/controller/user-controller/userCtrl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/Api/dist/database/MongoDataBase.js b/src/Api/dist/database/MongoDataBase.js deleted file mode 100644 index ea520c6..0000000 --- a/src/Api/dist/database/MongoDataBase.js +++ /dev/null @@ -1,2 +0,0 @@ -// export default db = new MongoClient(uri); -//# sourceMappingURL=MongoDataBase.js.map \ No newline at end of file diff --git a/src/Api/dist/database/MongoDataBase.js.map b/src/Api/dist/database/MongoDataBase.js.map deleted file mode 100644 index 2d7c3f5..0000000 --- a/src/Api/dist/database/MongoDataBase.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"MongoDataBase.js","sourceRoot":"","sources":["../../src/database/MongoDataBase.ts"],"names":[],"mappings":"AACA,4CAA4C"} \ No newline at end of file diff --git a/src/Api/dist/database/StrategyDatabase.js b/src/Api/dist/database/StrategyDatabase.js deleted file mode 100644 index c376e83..0000000 --- a/src/Api/dist/database/StrategyDatabase.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=StrategyDatabase.js.map \ No newline at end of file diff --git a/src/Api/dist/database/StrategyDatabase.js.map b/src/Api/dist/database/StrategyDatabase.js.map deleted file mode 100644 index c04ad53..0000000 --- a/src/Api/dist/database/StrategyDatabase.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"StrategyDatabase.js","sourceRoot":"","sources":["../../src/database/StrategyDatabase.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/Api/dist/database/schema/LocationSchema.js b/src/Api/dist/database/schema/LocationSchema.js deleted file mode 100644 index 1ae68e4..0000000 --- a/src/Api/dist/database/schema/LocationSchema.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const mongoose_1 = require("mongoose"); -const locationSchema = new mongoose_1.Schema({ - idFlad: { - type: String, - required: true, - unique: true, - }, - latitude: { - type: Number, - required: true, - }, - longitude: { - type: Number, - required: true, - }, -}, { timestamps: true }); -// fladDevDb -// ZslYlNRWIOUU7i6o -exports.default = (0, mongoose_1.model)('Location', locationSchema); -//# sourceMappingURL=LocationSchema.js.map \ No newline at end of file diff --git a/src/Api/dist/database/schema/LocationSchema.js.map b/src/Api/dist/database/schema/LocationSchema.js.map deleted file mode 100644 index 708d7fe..0000000 --- a/src/Api/dist/database/schema/LocationSchema.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LocationSchema.js","sourceRoot":"","sources":["../../../src/database/schema/LocationSchema.ts"],"names":[],"mappings":";;AAAA,uCAAkD;AAGlD,MAAM,cAAc,GAAG,IAAI,iBAAM,CAC7B;IAEI,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACf;IAED,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB;CAGJ,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,CACvB,CAAC;AAEF,YAAY;AACZ,mBAAmB;AACnB,kBAAe,IAAA,gBAAK,EAAY,UAAU,EAAE,cAAc,CAAC,CAAC"} \ No newline at end of file diff --git a/src/Api/dist/database/schema/NotificationSchema.js b/src/Api/dist/database/schema/NotificationSchema.js deleted file mode 100644 index bb42953..0000000 --- a/src/Api/dist/database/schema/NotificationSchema.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const mongoose_1 = require("mongoose"); -const notificationSchema = new mongoose_1.Schema({ - type: { type: String, required: true }, - content: { type: String, required: true } -}); -exports.default = { Notification: (0, mongoose_1.model)("nofitication", notificationSchema) }; -//# sourceMappingURL=NotificationSchema.js.map \ No newline at end of file diff --git a/src/Api/dist/database/schema/NotificationSchema.js.map b/src/Api/dist/database/schema/NotificationSchema.js.map deleted file mode 100644 index ed407fc..0000000 --- a/src/Api/dist/database/schema/NotificationSchema.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"NotificationSchema.js","sourceRoot":"","sources":["../../../src/database/schema/NotificationSchema.ts"],"names":[],"mappings":";;AAAA,uCAAyC;AAEzC,MAAM,kBAAkB,GAAG,IAAI,iBAAM,CAAC;IAClC,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAC;IACpC,OAAO,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAC;CAC1C,CAAC,CAAC;AAEH,kBAAe,EAAC,YAAY,EAAE,IAAA,gBAAK,EAAC,cAAc,EAAE,kBAAkB,CAAC,EAAC,CAAA"} \ No newline at end of file diff --git a/src/Api/dist/database/schema/Token/IToken.js b/src/Api/dist/database/schema/Token/IToken.js deleted file mode 100644 index af0fc56..0000000 --- a/src/Api/dist/database/schema/Token/IToken.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=IToken.js.map \ No newline at end of file diff --git a/src/Api/dist/database/schema/Token/IToken.js.map b/src/Api/dist/database/schema/Token/IToken.js.map deleted file mode 100644 index c2c2353..0000000 --- a/src/Api/dist/database/schema/Token/IToken.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IToken.js","sourceRoot":"","sources":["../../../../src/database/schema/Token/IToken.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/Api/dist/database/schema/User/UserInterface.js b/src/Api/dist/database/schema/User/UserInterface.js deleted file mode 100644 index 01d113f..0000000 --- a/src/Api/dist/database/schema/User/UserInterface.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=UserInterface.js.map \ No newline at end of file diff --git a/src/Api/dist/database/schema/User/UserInterface.js.map b/src/Api/dist/database/schema/User/UserInterface.js.map deleted file mode 100644 index 5d59c31..0000000 --- a/src/Api/dist/database/schema/User/UserInterface.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UserInterface.js","sourceRoot":"","sources":["../../../../src/database/schema/User/UserInterface.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/Api/dist/database/schema/User/UserSchema.js b/src/Api/dist/database/schema/User/UserSchema.js deleted file mode 100644 index 5af36a4..0000000 --- a/src/Api/dist/database/schema/User/UserSchema.js +++ /dev/null @@ -1,82 +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 mongoose_1 = require("mongoose"); -const bcrypt_1 = __importDefault(require("bcrypt")); -// const userSchema: Schema = new Schema({ -// pseudo: {type: String, index: { unique: true }}, -// email: {type: String}, -// idDafl: {type: String, index: { unique: true }}, -// idSpotify: {type: String}, -// password: {type: String}, -// prenom: {type: String, default: ""}, -// description: {type: String, default: ""}, -// nom: {type: String, default: ""}, -// ville: {type: String, default: ""}, -// profilPic: {type: String}, -// noteList: [], -// notifications: [], -// friends: {type: [String] }, -// favoris: [], -// conversations: {type: [String] } -// }); -const userSchema = new mongoose_1.Schema({ - idFlad: { - type: String, - required: true, - unique: true, - }, - idSpotify: { - type: String, - required: true, - unique: true, - }, - name: { - type: String, - required: true, - }, - email: { - type: String, - required: true, - // this mean that we identify user by email - unique: true, - // delete the whitespace - trim: true, - }, - password: { - type: String, - }, -}, { timestamps: true }); -// this means that we hash the user password before saving it to the database -userSchema.pre('save', function (next) { - return __awaiter(this, void 0, void 0, function* () { - if (!this.isModified('password')) { - //just had that to be sure that the api still going - return next(); - } - const hash = yield bcrypt_1.default.hash(this.password, 8); - this.password = hash; - next(); - }); -}); -userSchema.methods.isValidPassword = function (password) { - return __awaiter(this, void 0, void 0, function* () { - return yield bcrypt_1.default.compare(password, this.password); - }); -}; -// fladDevDb -// ZslYlNRWIOUU7i6o -exports.default = (0, mongoose_1.model)('User', userSchema); -// export const User: Model = model('User', userSchema); -//# sourceMappingURL=UserSchema.js.map \ No newline at end of file diff --git a/src/Api/dist/database/schema/User/UserSchema.js.map b/src/Api/dist/database/schema/User/UserSchema.js.map deleted file mode 100644 index 80388e0..0000000 --- a/src/Api/dist/database/schema/User/UserSchema.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UserSchema.js","sourceRoot":"","sources":["../../../../src/database/schema/User/UserSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,uCAAyC;AACzC,oDAA4B;AAC5B,iDAAiD;AACjD,uDAAuD;AACvD,6BAA6B;AAC7B,uDAAuD;AACvD,iCAAiC;AACjC,gCAAgC;AAChC,2CAA2C;AAC3C,gDAAgD;AAChD,wCAAwC;AACxC,0CAA0C;AAC1C,iCAAiC;AACjC,oBAAoB;AACpB,yBAAyB;AACzB,kCAAkC;AAClC,mBAAmB;AACnB,uCAAuC;AACvC,MAAM;AAEN,MAAM,UAAU,GAAG,IAAI,iBAAM,CACzB;IAEI,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACf;IACD,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACjB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,2CAA2C;QAC3C,MAAM,EAAE,IAAI;QACZ,wBAAwB;QACxB,IAAI,EAAE,IAAI;KACb;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;KACf;CAEJ,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,CACvB,CAAC;AAEF,6EAA6E;AAC7E,UAAU,CAAC,GAAG,CAAQ,MAAM,EAAE,UAAgB,IAAI;;QAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC9B,mDAAmD;YACnD,OAAO,IAAI,EAAE,CAAC;SACjB;QAED,MAAM,IAAI,GAAG,MAAM,gBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,EAAE,CAAC;IACX,CAAC;CAAA,CAAC,CAAC;AAEH,UAAU,CAAC,OAAO,CAAC,eAAe,GAAG,UACjC,QAAgB;;QAEhB,OAAO,MAAM,gBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;CAAA,CAAC;AAEF,YAAY;AACZ,mBAAmB;AACnB,kBAAe,IAAA,gBAAK,EAAQ,MAAM,EAAE,UAAU,CAAC,CAAC;AAChD,+DAA+D"} \ No newline at end of file diff --git a/src/Api/dist/database/schema/User/UserValidation.js b/src/Api/dist/database/schema/User/UserValidation.js deleted file mode 100644 index cd0111a..0000000 --- a/src/Api/dist/database/schema/User/UserValidation.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const joi_1 = __importDefault(require("joi")); -const register = joi_1.default.object({ - name: joi_1.default.string().max(30).required(), - email: joi_1.default.string().email().required(), - password: joi_1.default.string().min(6).required(), - // can add an field like confimPassword and cheked that the password is equal to the confirmPassword - idSpotify: joi_1.default.string(), - idFlad: joi_1.default.string(), -}); -const login = joi_1.default.object({ - email: joi_1.default.string().email().required(), - password: joi_1.default.string().required(), -}); -exports.default = { register, login }; -//# sourceMappingURL=UserValidation.js.map \ No newline at end of file diff --git a/src/Api/dist/database/schema/User/UserValidation.js.map b/src/Api/dist/database/schema/User/UserValidation.js.map deleted file mode 100644 index 34d24e7..0000000 --- a/src/Api/dist/database/schema/User/UserValidation.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UserValidation.js","sourceRoot":"","sources":["../../../../src/database/schema/User/UserValidation.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AAEtB,MAAM,QAAQ,GAAG,aAAG,CAAC,MAAM,CAAC;IACxB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAErC,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAEtC,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,oGAAoG;IACpG,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE;IACvB,MAAM,EAAG,aAAG,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,aAAG,CAAC,MAAM,CAAC;IACrB,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,kBAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC"} \ No newline at end of file diff --git a/src/Api/dist/index.js b/src/Api/dist/index.js deleted file mode 100644 index 632b661..0000000 --- a/src/Api/dist/index.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const app_1 = __importDefault(require("./app")); -const spotifyCtrl_1 = __importDefault(require("./controller/spotify-controller/spotifyCtrl")); -const TestCtrl_1 = __importDefault(require("./controller/TestCtrl")); -const userCtrl_1 = __importDefault(require("./controller/user-controller/userCtrl")); -const dotenv_1 = __importDefault(require("dotenv")); -dotenv_1.default.config(); -const app = new app_1.default([new TestCtrl_1.default(), new spotifyCtrl_1.default(), new userCtrl_1.default()], Number(process.env.PORT)); -app.listen(); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/src/Api/dist/index.js.map b/src/Api/dist/index.js.map deleted file mode 100644 index 3d14e47..0000000 --- a/src/Api/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,8FAA4E;AAC5E,qEAAmD;AACnD,qFAAmE;AACnE,oDAA2B;AAC3B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAChB,MAAM,GAAG,GAAG,IAAI,aAAG,CACf,CAAC,IAAI,kBAAc,EAAE,EAAE,IAAI,qBAAiB,EAAE,EAAE,IAAI,kBAAc,EAAE,CAAC,EACrE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAE3B,CAAC;AAEF,GAAG,CAAC,MAAM,EAAE,CAAC"} \ No newline at end of file diff --git a/src/Api/dist/middleware/authMiddleware.js b/src/Api/dist/middleware/authMiddleware.js deleted file mode 100644 index 24ac50e..0000000 --- a/src/Api/dist/middleware/authMiddleware.js +++ /dev/null @@ -1,46 +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 jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); -const UserSchema_1 = __importDefault(require("../database/schema/User/UserSchema")); -const token_1 = __importDefault(require("../model/token")); -const httpExeption_1 = __importDefault(require("./exeption/httpExeption")); -function authenticatedMiddleware(req, res, next) { - return __awaiter(this, void 0, void 0, function* () { - const bearer = req.headers.authorization; - if (!bearer || !bearer.startsWith('Bearer ')) { - return next(new httpExeption_1.default(401, 'Unauthorised')); - } - const accessToken = bearer.split('Bearer ')[1].trim(); - try { - const payload = yield token_1.default.verifyToken(accessToken); - if (payload instanceof jsonwebtoken_1.default.JsonWebTokenError) { - return next(new httpExeption_1.default(401, 'Unauthorised')); - } - const user = yield UserSchema_1.default.findById(payload.id) - .select('-password') - .exec(); - if (!user) { - return next(new httpExeption_1.default(401, 'Unauthorised')); - } - req.user = user; - return next(); - } - catch (error) { - return next(new httpExeption_1.default(401, 'Unauthorised')); - } - }); -} -exports.default = authenticatedMiddleware; -//# sourceMappingURL=authMiddleware.js.map \ No newline at end of file diff --git a/src/Api/dist/middleware/authMiddleware.js.map b/src/Api/dist/middleware/authMiddleware.js.map deleted file mode 100644 index 77d6a84..0000000 --- a/src/Api/dist/middleware/authMiddleware.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"authMiddleware.js","sourceRoot":"","sources":["../../src/middleware/authMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,gEAA+B;AAE/B,oFAA4D;AAC5D,2DAAmC;AACnC,2EAAoD;AAEpD,SAAe,uBAAuB,CAClC,GAAY,EACZ,GAAa,EACb,IAAkB;;QAElB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAEzC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;SACvD;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI;YACA,MAAM,OAAO,GAAmC,MAAM,eAAK,CAAC,WAAW,CACnE,WAAW,CACd,CAAC;YAEF,IAAI,OAAO,YAAY,sBAAG,CAAC,iBAAiB,EAAE;gBAC1C,OAAO,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;aACvD;YAED,MAAM,IAAI,GAAG,MAAM,oBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;iBAC7C,MAAM,CAAC,WAAW,CAAC;iBACnB,IAAI,EAAE,CAAC;YAEZ,IAAI,CAAC,IAAI,EAAE;gBACP,OAAO,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;aACvD;YAED,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAEhB,OAAO,IAAI,EAAE,CAAC;SACjB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;SACvD;IACL,CAAC;CAAA;AAED,kBAAe,uBAAuB,CAAC"} \ No newline at end of file diff --git a/src/Api/dist/middleware/exeption/httpExeption.js b/src/Api/dist/middleware/exeption/httpExeption.js deleted file mode 100644 index bfed40e..0000000 --- a/src/Api/dist/middleware/exeption/httpExeption.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class HttpException extends Error { - constructor(status, message) { - super(message); - this.status = status; - this.message = message; - } -} -// en fontion de l'exeption firebas,etc une bonne exeption -exports.default = HttpException; -//# sourceMappingURL=httpExeption.js.map \ No newline at end of file diff --git a/src/Api/dist/middleware/exeption/httpExeption.js.map b/src/Api/dist/middleware/exeption/httpExeption.js.map deleted file mode 100644 index 47983ff..0000000 --- a/src/Api/dist/middleware/exeption/httpExeption.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"httpExeption.js","sourceRoot":"","sources":["../../../src/middleware/exeption/httpExeption.ts"],"names":[],"mappings":";;AAAA,MAAM,aAAc,SAAQ,KAAK;IAI7B,YAAY,MAAc,EAAE,OAAe;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AACD,0DAA0D;AAE1D,kBAAe,aAAa,CAAC"} \ No newline at end of file diff --git a/src/Api/dist/middleware/validation/ValidatorMiddleware.js b/src/Api/dist/middleware/validation/ValidatorMiddleware.js deleted file mode 100644 index 98ad7de..0000000 --- a/src/Api/dist/middleware/validation/ValidatorMiddleware.js +++ /dev/null @@ -1,34 +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()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -function validationMiddleware(schema) { - return (req, res, next) => __awaiter(this, void 0, void 0, function* () { - const validationOptions = { - abortEarly: false, - allowUnknown: true, - stripUnknown: true, - }; - try { - const value = yield schema.validateAsync(req.body, validationOptions); - req.body = value; - next(); - } - catch (e) { - const errors = []; - e.details.forEach((error) => { - errors.push(error.message); - }); - res.status(400).send({ errors: errors }); - } - }); -} -exports.default = validationMiddleware; -//# sourceMappingURL=ValidatorMiddleware.js.map \ No newline at end of file diff --git a/src/Api/dist/middleware/validation/ValidatorMiddleware.js.map b/src/Api/dist/middleware/validation/ValidatorMiddleware.js.map deleted file mode 100644 index 80fc94e..0000000 --- a/src/Api/dist/middleware/validation/ValidatorMiddleware.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ValidatorMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/validation/ValidatorMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,SAAS,oBAAoB,CAAC,MAAkB;IAC5C,OAAO,CACH,GAAY,EACZ,GAAa,EACb,IAAkB,EACL,EAAE;QACf,MAAM,iBAAiB,GAAG;YACtB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACrB,CAAC;QAEF,IAAI;YACA,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CACpC,GAAG,CAAC,IAAI,EACR,iBAAiB,CACpB,CAAC;YACF,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,EAAE,CAAC;SACV;QAAC,OAAO,CAAM,EAAE;YACb,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAA8B,EAAE,EAAE;gBACjD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;SAC5C;IACL,CAAC,CAAA,CAAC;AACN,CAAC;AAED,kBAAe,oBAAoB,CAAC"} \ No newline at end of file diff --git a/src/Api/dist/middleware/winston.js b/src/Api/dist/middleware/winston.js deleted file mode 100644 index 79ab948..0000000 --- a/src/Api/dist/middleware/winston.js +++ /dev/null @@ -1,9 +0,0 @@ -// export const loggerOptions: expressWinston.LoggerOptions = { -// transports: [new winston.transports.Console()], -// format: winston.format.combine( -// winston.format.json(), -// winston.format.prettyPrint(), -// winston.format.colorize({ all: true }) -// ), -// }; -//# sourceMappingURL=winston.js.map \ No newline at end of file diff --git a/src/Api/dist/middleware/winston.js.map b/src/Api/dist/middleware/winston.js.map deleted file mode 100644 index 7a79c49..0000000 --- a/src/Api/dist/middleware/winston.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"winston.js","sourceRoot":"","sources":["../../src/middleware/winston.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,sDAAsD;AACtD,sCAAsC;AACtC,iCAAiC;AACjC,wCAAwC;AACxC,iDAAiD;AACjD,SAAS;AACT,KAAK"} \ No newline at end of file diff --git a/src/Api/dist/model/IUser.js b/src/Api/dist/model/IUser.js deleted file mode 100644 index 6d13f68..0000000 --- a/src/Api/dist/model/IUser.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=IUser.js.map \ No newline at end of file diff --git a/src/Api/dist/model/IUser.js.map b/src/Api/dist/model/IUser.js.map deleted file mode 100644 index 1281d2b..0000000 --- a/src/Api/dist/model/IUser.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"IUser.js","sourceRoot":"","sources":["../../src/model/IUser.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/Api/dist/model/locationModel.js b/src/Api/dist/model/locationModel.js deleted file mode 100644 index 3a341c9..0000000 --- a/src/Api/dist/model/locationModel.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Place = exports.UserLocation = exports.PlacePosition = void 0; -class PlacePosition { - constructor(timestamp, latitude, longitude) { - this.timestamp = timestamp; - this.coords = { latitude, longitude }; - } -} -exports.PlacePosition = PlacePosition; -class UserLocation { - constructor(uuid, latitude, longitude) { - this.uuid = uuid; - this.latitude = latitude; - this.longitude = longitude; - } -} -exports.UserLocation = UserLocation; -class Place { - constructor(address, position) { - this.position = position; - this.address = address; - } -} -exports.Place = Place; -//# sourceMappingURL=locationModel.js.map \ No newline at end of file diff --git a/src/Api/dist/model/locationModel.js.map b/src/Api/dist/model/locationModel.js.map deleted file mode 100644 index 8b3cfdc..0000000 --- a/src/Api/dist/model/locationModel.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"locationModel.js","sourceRoot":"","sources":["../../src/model/locationModel.ts"],"names":[],"mappings":";;;AAmBA,MAAa,aAAa;IAMtB,YAAY,SAAiB,EAAC,QAAiB,EAAE,SAAiB;QAC9D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,SAAS,EAAC,CAAC;IACxC,CAAC;CACJ;AAVD,sCAUC;AACD,MAAa,YAAY;IAIrB,YAAY,IAAY,EAAE,QAAgB,EAAE,SAAiB;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AATD,oCASC;AAED,MAAa,KAAK;IAGlB,YAAY,OAAgB,EAAC,QAAkB;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACA;AAPD,sBAOC"} \ No newline at end of file diff --git a/src/Api/dist/model/token.js b/src/Api/dist/model/token.js deleted file mode 100644 index f63afa4..0000000 --- a/src/Api/dist/model/token.js +++ /dev/null @@ -1,34 +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 }); -exports.verifyToken = exports.createToken = void 0; -const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); -const createToken = (user) => { - return jsonwebtoken_1.default.sign({ id: user._id }, "foo", { - expiresIn: '100d', - }); -}; -exports.createToken = createToken; -const verifyToken = (token) => __awaiter(void 0, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - jsonwebtoken_1.default.verify(token, "foo", (err, payload) => { - if (err) - return reject(err); - resolve(payload); - }); - }); -}); -exports.verifyToken = verifyToken; -exports.default = { createToken: exports.createToken, verifyToken: exports.verifyToken }; -//# sourceMappingURL=token.js.map \ No newline at end of file diff --git a/src/Api/dist/model/token.js.map b/src/Api/dist/model/token.js.map deleted file mode 100644 index 87b1e0c..0000000 --- a/src/Api/dist/model/token.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/model/token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAA+B;AAIxB,MAAM,WAAW,GAAG,CAAC,IAAW,EAAU,EAAE;IAC/C,OAAO,sBAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAmB,EAAE;QACnD,SAAS,EAAE,MAAM;KACpB,CAAC,CAAC;AACP,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB;AAEK,MAAM,WAAW,GAAG,CACvB,KAAa,EACqB,EAAE;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,sBAAG,CAAC,MAAM,CACN,KAAK,EACL,KAAmB,EACnB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACb,IAAI,GAAG;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YAE5B,OAAO,CAAC,OAAiB,CAAC,CAAC;QAC/B,CAAC,CACJ,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAA,CAAC;AAdW,QAAA,WAAW,eActB;AAEF,kBAAe,EAAE,WAAW,EAAX,mBAAW,EAAE,WAAW,EAAX,mBAAW,EAAE,CAAC"} \ No newline at end of file diff --git a/src/Api/dist/service/LocationService.js b/src/Api/dist/service/LocationService.js deleted file mode 100644 index 2ce6996..0000000 --- a/src/Api/dist/service/LocationService.js +++ /dev/null @@ -1,114 +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 }); -// import db from '../database'; -const locationModel_1 = require("../model/locationModel"); -const LocationSchema_1 = __importDefault(require("../database/schema/LocationSchema")); -class LocationService { - constructor() { - this.locationCollection = LocationSchema_1.default; - this.toRad = (value) => (value * Math.PI) / 180; - this.toDeg = (value) => (value * 180) / Math.PI; - // getCenter(coords) - } - // private API_KEY : string = "AIzaSyBFCEAtmhZ8jvw84UTQvX3Aqpr66GVqB_A"; - getNearUser(idFlad, latitude, longitude) { - return __awaiter(this, void 0, void 0, function* () { - yield this.locationCollection.findOneAndUpdate({ idFlad }, { idFlad, latitude, longitude }, { upsert: true }); - const snapshot = yield this.locationCollection.find({ idFlad: { $ne: idFlad } }); - if (snapshot.length === 0) { - console.log('No matching documents.'); - return; - } - let dbUsersList = []; - snapshot.forEach(doc => { - dbUsersList.push(new locationModel_1.UserLocation(doc.idFlad, doc.latitude, doc.longitude)); - console.log(doc.idFlad, '=>', doc); - }); - // missing the curent music - let listUser = []; - dbUsersList.forEach(user => { - console.log(user); - const dist = this.distanceBetween(latitude, longitude, user.latitude, user.longitude); - console.log(user.uuid, dist); - if (dist <= 100) { - listUser.push(user.uuid); - } - }); - return listUser; - // $listUser[] = {userID,idMusic}; - }); - } - getCenter(points) { - if (Array.isArray(points) === false || points.length === 0) { - return false; - } - const numberOfPoints = points.length; - const sum = points.reduce((acc, point) => { - const pointLat = this.toRad(point.coords.latitude); - const pointLon = this.toRad(point.coords.longitude); - return { - X: acc.X + Math.cos(pointLat) * Math.cos(pointLon), - Y: acc.Y + Math.cos(pointLat) * Math.sin(pointLon), - Z: acc.Z + Math.sin(pointLat), - }; - }, { X: 0, Y: 0, Z: 0 }); - const X = sum.X / numberOfPoints; - const Y = sum.Y / numberOfPoints; - const Z = sum.Z / numberOfPoints; - return { - longitude: this.toDeg(Math.atan2(Y, X)), - latitude: this.toDeg(Math.atan2(Z, Math.sqrt(X * X + Y * Y))), - }; - } - ; - // sa c'est un utils du coup mettre dans une calss utils - // resulta en km - distanceBetween(lat1, lon1, lat2, lon2) { - if ((lat1 == lat2) && (lon1 == lon2)) { - return 0; - } - else { - var radlat1 = Math.PI * lat1 / 180; - var radlat2 = Math.PI * lat2 / 180; - var theta = lon1 - lon2; - var radtheta = Math.PI * theta / 180; - var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta); - if (dist > 1) { - dist = 1; - } - dist = Math.acos(dist); - dist = dist * 180 / Math.PI; - dist = dist * 60 * 1.1515; - dist = dist * 1.609344; - return dist; - } - } - distanceBetweenPosition(first, second) { - return this.distanceBetween(first.coords.latitude, first.coords.longitude, second.coords.latitude, second.coords.longitude); - } - // give a array of position sorted by distance and return the first - findNearest(main, list) { - this.orderByDistance(main, list)[0]; - } - //distanceFn: DistanceFn = getDistance est param sa serrait cool de lui passer un fonction - orderByDistance(mainPos, coords) { - return coords - .slice() - .sort((a, b) => this.distanceBetweenPosition(mainPos, a) - this.distanceBetweenPosition(mainPos, b)); - } - ; -} -exports.default = LocationService; -//# sourceMappingURL=LocationService.js.map \ No newline at end of file diff --git a/src/Api/dist/service/LocationService.js.map b/src/Api/dist/service/LocationService.js.map deleted file mode 100644 index f6b6e57..0000000 --- a/src/Api/dist/service/LocationService.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LocationService.js","sourceRoot":"","sources":["../../src/service/LocationService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/Api/dist/service/UserService.js b/src/Api/dist/service/UserService.js deleted file mode 100644 index 8e0e51e..0000000 --- a/src/Api/dist/service/UserService.js +++ /dev/null @@ -1,69 +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 UserSchema_1 = __importDefault(require("../database/schema/User/UserSchema")); -const token_1 = __importDefault(require("../model/token")); -class UserService { - constructor() { - this.user = UserSchema_1.default; - } - /** - * Register a new user - */ - register(name, email, password, idFlad, idSpotify) { - return __awaiter(this, void 0, void 0, function* () { - try { - const user = yield this.user.create({ - name, - email, - password, - idFlad, - idSpotify - }); - const accessToken = token_1.default.createToken(user); - return accessToken; - } - catch (error) { - throw new Error(error.message); - } - }); - } - /** - * Attempt to login a user - */ - login(email, password) { - return __awaiter(this, void 0, void 0, function* () { - try { - // should maybe creat a method base on id and other information for better security - // need to view with Emre - const user = yield 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 (yield user.isValidPassword(password)) { - return token_1.default.createToken(user); - } - else { - throw new Error('Wrong credentials given'); - } - } - catch (error) { - throw new Error('Unable to create user'); - } - }); - } -} -exports.default = UserService; -//# sourceMappingURL=UserService.js.map \ No newline at end of file diff --git a/src/Api/dist/service/UserService.js.map b/src/Api/dist/service/UserService.js.map deleted file mode 100644 index cb002da..0000000 --- a/src/Api/dist/service/UserService.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../src/service/UserService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oFAA4D;AAC5D,2DAAmC;AAGnC,MAAM,WAAW;IAAjB;QACY,SAAI,GAAG,oBAAU,CAAC;IAuD9B,CAAC;IArDG;;OAEG;IACU,QAAQ,CACjB,IAAY,EACZ,KAAa,EACb,QAAgB,EAChB,MAAe,EACf,SAAkB;;YAElB,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAChC,IAAI;oBACJ,KAAK;oBACL,QAAQ;oBACR,MAAM;oBACN,SAAS;iBACZ,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAG,eAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE5C,OAAO,WAAW,CAAC;aACtB;YAAC,OAAO,KAAW,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAClC;QACL,CAAC;KAAA;IAED;;OAEG;IACU,KAAK,CACd,KAAa,EACb,QAAgB;;YAEhB,IAAI;gBACA,mFAAmF;gBACnF,yBAAyB;gBACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChD,iDAAiD;gBAEjD,IAAI,CAAC,IAAI,EAAE;oBACP,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;iBAClE;gBAED,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;oBACtC,OAAO,eAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBAClC;qBAAM;oBACH,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;iBAC9C;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC5C;QACL,CAAC;KAAA;CACJ;AAED,kBAAe,WAAW,CAAC"} \ No newline at end of file diff --git a/src/Api/src/controller/spot-controller/spotCtrl.ts b/src/Api/src/controller/spot-controller/spotCtrl.ts new file mode 100644 index 0000000..3d762b9 --- /dev/null +++ b/src/Api/src/controller/spot-controller/spotCtrl.ts @@ -0,0 +1,236 @@ +// 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 => { + +// 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 => { + +// 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 => { +// 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 => { +// 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; diff --git a/src/Api/src/controller/spotify-controller/spotifyCtrl.ts b/src/Api/src/controller/spotify-controller/spotifyCtrl.ts index edca2a4..3930c28 100644 --- a/src/Api/src/controller/spotify-controller/spotifyCtrl.ts +++ b/src/Api/src/controller/spotify-controller/spotifyCtrl.ts @@ -21,8 +21,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}/play/:musicId`, this.getMusic); + this.router.post(`${this.path}/refresh`,this.getRefreshToken); this.router.get(`${this.path}/spot`, this.getSpot); } @@ -32,8 +31,8 @@ class SpotifyController implements Controller { 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_URL = "http://localhost:8080/api/spotify/callback"; + // 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); @@ -43,7 +42,7 @@ class SpotifyController implements Controller { next: NextFunction ): Promise => { - console.log("useeeee"); + console.log("useeeee== login"); try { // const params = req.body; // if (!params.refresh_token) { @@ -54,17 +53,26 @@ class SpotifyController implements Controller { // this.spotifyRequest({ // grant_type: "authorization_code", - // redirect_uri: this.CLIENT_CALLBACK_URL, + // 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?' + - querystring.stringify({ + qs.stringify({ response_type: 'code', client_id: this.CLIENT_ID, scope: this.SCOPES, - redirect_uri: this.CALLBACK_URL, - state: this.ENCRYPTION_SECRET.stringCrypt + 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, @@ -137,10 +145,7 @@ class SpotifyController implements Controller { } - public getMusic() : null{ - - return null; - } + public getSpot = async ( req: Request, @@ -179,7 +184,7 @@ class SpotifyController implements Controller { res: Response, next: NextFunction ): Promise => { - + console.log("useeeee== accesToken"); var code = req.query.code; var state = req.query.state || null; // var storedState = req.cookies ? req.cookies[stateKey] : null; @@ -188,7 +193,7 @@ class SpotifyController implements Controller { url: 'https://accounts.spotify.com/api/token', data: qs.stringify({ code: code, - redirect_uri: this.CALLBACK_URL, + redirect_uri: this.CALLBACK_2, grant_type: 'authorization_code' }), headers: { @@ -198,20 +203,30 @@ class SpotifyController implements Controller { json: true }; try { - console.log('presssquuueee'); var resp = await axios(authOptions); if (resp.status === 200) { - console.log(resp); 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); - // should redirect res.redirect('/') - res.json("ok"); + // 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')); + next(new HttpException(400, 'On peut pas te connecter mec'+ error.message)); } diff --git a/src/Api/src/controller/user-controller/userCtrl.ts b/src/Api/src/controller/user-controller/userCtrl.ts index 2479abb..2ecfa85 100644 --- a/src/Api/src/controller/user-controller/userCtrl.ts +++ b/src/Api/src/controller/user-controller/userCtrl.ts @@ -212,16 +212,17 @@ class UserController implements Controller { next: NextFunction ): Promise => { try { - const longitude = Number(req.body.longitude); - const latitude = Number(req.body.latitude); + 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 currentMusicId = req.body.currentMusicId; - const userId = req.user.idFlad; - const data = await this.locationService.getNearUser(userId,latitude,longitude, currentMusicId); + const userId = req.user.idFlad; + const musicId = req.params.currentMusic; + const data = await this.locationService.getNearUser(userId,musicId,latitude,longitude,); console.log(data); res.status(201).send(data); diff --git a/src/Api/src/database/schema/LocationSchema.ts b/src/Api/src/database/schema/LocationSchema.ts index b055d2b..66bce58 100644 --- a/src/Api/src/database/schema/LocationSchema.ts +++ b/src/Api/src/database/schema/LocationSchema.ts @@ -9,7 +9,10 @@ const locationSchema = new Schema( required: true, unique: true, }, - + musicId: { + type: String, + required: true, + }, latitude: { type: Number, required: true, @@ -18,9 +21,6 @@ const locationSchema = new Schema( type: Number, required: true, }, - currentMusicId : { - type: String, - } }, @@ -33,7 +33,7 @@ export default model('Location', locationSchema); export interface ILocation extends Document { idFlad: string; + musicId : string; latitude : number; longitude: number; - } \ No newline at end of file diff --git a/src/Api/src/index.ts b/src/Api/src/index.ts index 928e60a..54ec830 100644 --- a/src/Api/src/index.ts +++ b/src/Api/src/index.ts @@ -6,7 +6,7 @@ import dotenv from 'dotenv' dotenv.config(); const app = new App( [new PingController(), new SpotifyController(), new UserController()], - Number(8080) + Number(process.env.PORT) ); diff --git a/src/Api/src/model/locationModel.ts b/src/Api/src/model/locationModel.ts index 37341b1..0674db8 100644 --- a/src/Api/src/model/locationModel.ts +++ b/src/Api/src/model/locationModel.ts @@ -32,12 +32,12 @@ export class UserLocation { uuid: string; latitude : number; longitude: number; - currentMusicId : string; - constructor(uuid: string, latitude: number, longitude: number, currentMusicId : string) { + musicId : string; + constructor(uuid: string, musicId : string,latitude: number, longitude: number){ this.uuid = uuid; + this.musicId = musicId; this.latitude = latitude; this.longitude = longitude; - this.currentMusicId = currentMusicId; } } diff --git a/src/Api/src/service/LocationService.ts b/src/Api/src/service/LocationService.ts index 6b09c4a..c16652b 100644 --- a/src/Api/src/service/LocationService.ts +++ b/src/Api/src/service/LocationService.ts @@ -6,11 +6,11 @@ import LocationSchema from "../database/schema/LocationSchema"; class LocationService { private locationCollection = LocationSchema; // private API_KEY : string = "AIzaSyBFCEAtmhZ8jvw84UTQvX3Aqpr66GVqB_A"; - public async getNearUser(idFlad : string, latitude : number, longitude : number, currentMusicId: string) + public async getNearUser(idFlad : string, musicId : string,latitude : number, longitude : number) { await this.locationCollection.findOneAndUpdate( { idFlad }, - { idFlad, latitude, longitude, currentMusicId }, + { idFlad, musicId, latitude, longitude }, { upsert: true } ); @@ -22,26 +22,25 @@ class LocationService { let dbUsersList:UserLocation[] = []; snapshot.forEach(doc => { - dbUsersList.push(new UserLocation(doc.idFlad,doc.latitude,doc.longitude, doc.currentMusicId)); + dbUsersList.push(new UserLocation(doc.idFlad,doc.musicId,doc.latitude,doc.longitude)); console.log(doc.idFlad, '=>', doc); }); // missing the curent music - let listUser: {userid: string, music : string}[] = []; + let listUser: string[] = []; + const listUser2: Record = {}; dbUsersList.forEach(user => { console.log(user); const dist = this.distanceBetween(latitude , longitude , user.latitude, user.longitude); console.log(user.uuid,dist); if (dist <= 100) { - listUser.push({userid : user.uuid, music : user.currentMusicId}); - + listUser.push(user.uuid); + listUser2[user.uuid] = user.musicId; } }); - - - - return listUser; + + return{ listUser, listUser2}; // $listUser[] = {userID,idMusic}; } diff --git a/src/Api/src/service/UserService.ts b/src/Api/src/service/UserService.ts index fa7128d..682a963 100644 --- a/src/Api/src/service/UserService.ts +++ b/src/Api/src/service/UserService.ts @@ -39,14 +39,13 @@ class UserService { email: string, password: string ): Promise { + 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 }); - console.log(user?._id); // const user = await this.user.findById(idFlad); - if (user === undefined || user === null) { - console.log("Could") + if (!user) { throw new Error('Unable to find user with that email address'); } @@ -55,7 +54,9 @@ class UserService { } else { throw new Error('Wrong credentials given'); } - + } catch (error) { + throw new Error('Unable to create user'); + } } }