From 0aa506a5111e573859ff154e57bd45c7b46e9162 Mon Sep 17 00:00:00 2001 From: Emre KARTAL Date: Mon, 27 Feb 2023 11:45:07 +0100 Subject: [PATCH 01/55] Add build Api --- .drone.yml | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 01bea70..b134747 100644 --- a/.drone.yml +++ b/.drone.yml @@ -12,10 +12,35 @@ steps: image: node:latest commands: - cd ./src/FLAD/ - - npm install expo-cli - npm install - npm run + - name: docker-build-and-push + image: node:latest + settings: + context: src/Api + registry: hub.codefirst.iut.uca.fr + repo: hub.codefirst.iut.uca.fr/emre.kartal/FLAD + username: + from_secret: SECRET_REGISTRY_USERNAME + password: + from_secret: SECRET_REGISTRY_PASSWORD + commands: + - cd ./src/Api + - npm install + - npm run build + + #container deployment + - name: deploy-container + image: node:latest + environment: + IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/FLAD:latest + CONTAINERNAME: FladApi + COMMAND: create + OVERWRITE: true + depends_on: [ docker-build-and-push ] + + - name: code-analysis image: node:latest environment: From 2e526b8a0469890d9dbcebfa2fa3213a1a370f95 Mon Sep 17 00:00:00 2001 From: Emre KARTAL Date: Mon, 27 Feb 2023 11:46:44 +0100 Subject: [PATCH 02/55] Add files for build API --- src/Api/.env | 1 + src/Api/.gitignore | 141 +++++++++++++ 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 + src/Api/package.json | 15 +- src/Api/src/app.ts | 3 + .../spotify-controller/spotifyCtrl.ts | 2 +- .../controller/user-controller/userCtrl.ts | 5 +- src/Api/src/database/schema/LocationSchema.ts | 2 +- .../database/schema/User/UserValidation.ts | 3 +- src/Api/src/{server.ts => index.ts} | 6 +- src/Api/tsconfig.json | 17 ++ 60 files changed, 1213 insertions(+), 10 deletions(-) create mode 100644 src/Api/.env create mode 100644 src/Api/.gitignore create mode 100644 src/Api/dist/app.js create mode 100644 src/Api/dist/app.js.map create mode 100644 src/Api/dist/controller/Icontroller.js create mode 100644 src/Api/dist/controller/Icontroller.js.map create mode 100644 src/Api/dist/controller/TestCtrl.js create mode 100644 src/Api/dist/controller/TestCtrl.js.map create mode 100644 src/Api/dist/controller/spotify-controller/crypt.js create mode 100644 src/Api/dist/controller/spotify-controller/crypt.js.map create mode 100644 src/Api/dist/controller/spotify-controller/request/authReqBody.js create mode 100644 src/Api/dist/controller/spotify-controller/request/authReqBody.js.map create mode 100644 src/Api/dist/controller/spotify-controller/spotifyCtrl.js create mode 100644 src/Api/dist/controller/spotify-controller/spotifyCtrl.js.map create mode 100644 src/Api/dist/controller/user-controller/userCtrl.js create mode 100644 src/Api/dist/controller/user-controller/userCtrl.js.map create mode 100644 src/Api/dist/database/MongoDataBase.js create mode 100644 src/Api/dist/database/MongoDataBase.js.map create mode 100644 src/Api/dist/database/StrategyDatabase.js create mode 100644 src/Api/dist/database/StrategyDatabase.js.map create mode 100644 src/Api/dist/database/schema/LocationSchema.js create mode 100644 src/Api/dist/database/schema/LocationSchema.js.map create mode 100644 src/Api/dist/database/schema/NotificationSchema.js create mode 100644 src/Api/dist/database/schema/NotificationSchema.js.map create mode 100644 src/Api/dist/database/schema/Token/IToken.js create mode 100644 src/Api/dist/database/schema/Token/IToken.js.map create mode 100644 src/Api/dist/database/schema/User/UserInterface.js create mode 100644 src/Api/dist/database/schema/User/UserInterface.js.map create mode 100644 src/Api/dist/database/schema/User/UserSchema.js create mode 100644 src/Api/dist/database/schema/User/UserSchema.js.map create mode 100644 src/Api/dist/database/schema/User/UserValidation.js create mode 100644 src/Api/dist/database/schema/User/UserValidation.js.map create mode 100644 src/Api/dist/index.js create mode 100644 src/Api/dist/index.js.map create mode 100644 src/Api/dist/middleware/authMiddleware.js create mode 100644 src/Api/dist/middleware/authMiddleware.js.map create mode 100644 src/Api/dist/middleware/exeption/httpExeption.js create mode 100644 src/Api/dist/middleware/exeption/httpExeption.js.map create mode 100644 src/Api/dist/middleware/validation/ValidatorMiddleware.js create mode 100644 src/Api/dist/middleware/validation/ValidatorMiddleware.js.map create mode 100644 src/Api/dist/middleware/winston.js create mode 100644 src/Api/dist/middleware/winston.js.map create mode 100644 src/Api/dist/model/IUser.js create mode 100644 src/Api/dist/model/IUser.js.map create mode 100644 src/Api/dist/model/locationModel.js create mode 100644 src/Api/dist/model/locationModel.js.map create mode 100644 src/Api/dist/model/token.js create mode 100644 src/Api/dist/model/token.js.map create mode 100644 src/Api/dist/service/LocationService.js create mode 100644 src/Api/dist/service/LocationService.js.map create mode 100644 src/Api/dist/service/UserService.js create mode 100644 src/Api/dist/service/UserService.js.map rename src/Api/src/{server.ts => index.ts} (82%) create mode 100644 src/Api/tsconfig.json diff --git a/src/Api/.env b/src/Api/.env new file mode 100644 index 0000000..c0c68b1 --- /dev/null +++ b/src/Api/.env @@ -0,0 +1 @@ +PORT=3000 \ No newline at end of file diff --git a/src/Api/.gitignore b/src/Api/.gitignore new file mode 100644 index 0000000..a179c40 --- /dev/null +++ b/src/Api/.gitignore @@ -0,0 +1,141 @@ +# Xcode +!**/*.xcodeproj +!**/*.pbxproj +!**/*.xcworkspacedata +!**/*.xcsettings +!**/*.xcscheme +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace +**/.xcode.env.local + +# Gradle +/build/ +/packages/react-native-gradle-plugin/build/ +/packages/rn-tester/build +/packages/rn-tester/android/app/.cxx/ +/packages/rn-tester/android/app/build/ +/packages/rn-tester/android/app/gradle/ +/packages/rn-tester/android/app/gradlew +/packages/rn-tester/android/app/gradlew.bat +/ReactAndroid/build/ +/ReactAndroid/.cxx/ +/ReactAndroid/gradle/ +/ReactAndroid/gradlew +/ReactAndroid/gradlew.bat +/ReactAndroid/external-artifacts/build/ +/ReactAndroid/external-artifacts/artifacts/ +/ReactAndroid/hermes-engine/build/ +/ReactAndroid/hermes-engine/.cxx/ +/template/android/app/build/ +/template/android/build/ + +# Buck +.buckd +buck-out +/.lsp.buckd +/.lsp-buck-out +/ReactAndroid/src/main/jni/prebuilt/lib/ +/ReactAndroid/src/main/gen + +# Android Studio +.project +.settings +.classpath + +# Watchman +.watchmanconfig + +# Android +.idea +.gradle +local.properties +*.iml +/android/* +!/android/README.md + +# Node +node_modules +*.log +.nvm +package-lock.json + +# OS X +.DS_Store + +# Test generated files +/ReactAndroid/src/androidTest/assets/AndroidTestBundle.js +*.js.meta + +/coverage +/third-party + +# Test Reports +/reports + +# Stack Dumps generated when programs crash (Ex. bash.exe.stackdump on Win) +*.stackdump + +# Root dir shouldn't have Xcode project +/*.xcodeproj + +# ReactCommon subdir shouldn't have Xcode project +/ReactCommon/**/*.xcodeproj + +# Libs that shouldn't have Xcode project +/Libraries/FBLazyVector/**/*.xcodeproj +/Libraries/RCTRequired/**/*.xcodeproj +/React/CoreModules/**/*.xcodeproj +/React/FBReactNativeSpec/**/*.xcodeproj +/packages/react-native-codegen/**/*.xcodeproj + +# Ruby Gems (Bundler) +/vendor +/template/vendor + +# iOS / CocoaPods +/template/ios/build/ +/template/ios/Pods/ +/template/ios/Podfile.lock +/packages/rn-tester/Gemfile.lock + +# Ignore RNTester specific Pods, but keep the __offline_mirrors__ here. +/packages/rn-tester/Pods/* +!/packages/rn-tester/Pods/__offline_mirrors_hermes__ +!/packages/rn-tester/Pods/__offline_mirrors_jsc__ + +# @react-native/codegen +/React/FBReactNativeSpec/FBReactNativeSpec +/packages/react-native-codegen/lib +/packages/react-native-codegen/tmp/ +/ReactCommon/react/renderer/components/rncore/ +/packages/rn-tester/NativeModuleExample/ScreenshotManagerSpec* + + +# Additional SDKs +/sdks/download +/sdks/hermes +/sdks/hermesc + +# Visual studio +.vscode +.vs + +# Android memory profiler files +*.hprof + +# Temporary files created by Metro to check the health of the file watcher +.metro-health-check* \ No newline at end of file diff --git a/src/Api/dist/app.js b/src/Api/dist/app.js new file mode 100644 index 0000000..629f23c --- /dev/null +++ b/src/Api/dist/app.js @@ -0,0 +1,60 @@ +"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 new file mode 100644 index 0000000..3b2404e --- /dev/null +++ b/src/Api/dist/app.js.map @@ -0,0 +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"} \ No newline at end of file diff --git a/src/Api/dist/controller/Icontroller.js b/src/Api/dist/controller/Icontroller.js new file mode 100644 index 0000000..b804bba --- /dev/null +++ b/src/Api/dist/controller/Icontroller.js @@ -0,0 +1,3 @@ +"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 new file mode 100644 index 0000000..b57d665 --- /dev/null +++ b/src/Api/dist/controller/Icontroller.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..b239e96 --- /dev/null +++ b/src/Api/dist/controller/TestCtrl.js @@ -0,0 +1,34 @@ +"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 new file mode 100644 index 0000000..782b7d8 --- /dev/null +++ b/src/Api/dist/controller/TestCtrl.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..2fdf1dc --- /dev/null +++ b/src/Api/dist/controller/spotify-controller/crypt.js @@ -0,0 +1,17 @@ +"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 new file mode 100644 index 0000000..76c08d1 --- /dev/null +++ b/src/Api/dist/controller/spotify-controller/crypt.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..e9ba136 --- /dev/null +++ b/src/Api/dist/controller/spotify-controller/request/authReqBody.js @@ -0,0 +1,3 @@ +"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 new file mode 100644 index 0000000..7e5a006 --- /dev/null +++ b/src/Api/dist/controller/spotify-controller/request/authReqBody.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..95496dc --- /dev/null +++ b/src/Api/dist/controller/spotify-controller/spotifyCtrl.js @@ -0,0 +1,197 @@ +"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 new file mode 100644 index 0000000..ad76c08 --- /dev/null +++ b/src/Api/dist/controller/spotify-controller/spotifyCtrl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"spotifyCtrl.js","sourceRoot":"","sources":["../../../src/controller/spotify-controller/spotifyCtrl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,qCAAkF;AAElF,0FAAmE;AACnE,kDAA0B;AAC1B,oDAAkC;AAElC,8DAAsC;AACtC,4CAAoB;AAEpB,MAAM,iBAAiB;IAInB;QAHO,SAAI,GAAG,UAAU,CAAC;QAClB,WAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QAiBvB,mCAAmC;QACrC,2EAA2E;QACzD,YAAO,GAAG,wCAAwC,CAAC;QACnD,cAAS,GAAG,kCAAkC,CAAC;QAC/C,kBAAa,GAAG,kCAAkC,CAAC;QACnD,wBAAmB,GAAG,6CAA6C,CAAC;QACpE,iBAAY,GAAG,4CAA4C,CAAC;QAC5D,WAAM,GAAE,qLAAqL,CAAC;QAC9L,sBAAiB,GAAG,IAAI,eAAW,CAAC,EAAE,CAAC,CAAC;QAElD,UAAK,GAAG,CACZ,GAAY,EACZ,GAAa,EACb,IAAkB,EACM,EAAE;YAE5B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrB,IAAI;gBACA,2BAA2B;gBAC3B,+BAA+B;gBAC/B,sBAAsB;gBACtB,mCAAmC;gBACnC,QAAQ;gBACR,IAAI;gBAEJ,wBAAwB;gBACxB,sCAAsC;gBACtC,4CAA4C;gBAC5C,yBAAyB;gBACzB,KAAK;gBACL,GAAG,CAAC,QAAQ,CAAC,yCAAyC;oBACtD,qBAAW,CAAC,SAAS,CAAC;wBACpB,aAAa,EAAE,MAAM;wBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,KAAK,EAAE,IAAI,CAAC,MAAM;wBAClB,YAAY,EAAE,IAAI,CAAC,YAAY;wBAC/B,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW;qBAC1C,CAAC,CAAC,CAAC;gBACJ,qBAAqB;gBACrB,mBAAmB;gBACnB,4CAA4C;gBAC5C,wCAAwC;gBACxC,2DAA2D;gBAC3D,OAAO;gBACP,6BAA6B;gBAC7B,KAAK;gBACL,uBAAuB;gBACvB,+BAA+B;gBAC/B,MAAM;aACT;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC;aACtD;QAGL,CAAC,CAAA,CAAC;QAEM,oBAAe,GAAG,CACtB,GAAY,EACZ,GAAa,EACb,IAAkB,EACM,EAAE;YAE5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEnB,IAAI;gBACA,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE;oBAC5B,OAAO,GAAG,CAAC,IAAI,CAAC;wBACd,OAAO,EAAE,iCAAiC;qBAC3C,CAAC,CAAC;iBACJ;gBACD,IAAI,WAAW,GAAG;oBAChB,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,wCAAwC;oBAC7C,IAAI,EAAE,YAAE,CAAC,SAAS,CAAC;wBACjB,UAAU,EAAE,eAAe;wBAC3B,aAAa,EAAE,MAAM;qBACtB,CAAC;oBACF,OAAO,EAAE;wBACP,eAAe,EAAE,QAAQ,GAAG,CAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACxG,cAAc,EAAG,mCAAmC;qBACrD;oBACD,IAAI,EAAE,IAAI;iBACX,CAAC;gBAEF,8DAA8D;gBAC9D,iDAAiD;gBACjD,4CAA4C;gBAC5C,iBAAiB;gBACjB,qCAAqC;gBACrC,UAAU;gBACV,MAAM;gBACN,MAAM;gBACN,IAAA,eAAK,EAAC,WAAW,CAAC;qBACjB,IAAI,CAAC,OAAO,CAAC,EAAE;oBACd,IAAG,OAAO,CAAC,MAAM,KAAK,GAAG,EAAC;wBAExB,GAAG,CAAC,IAAI,CAAC;4BACL,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY;4BACzC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU;yBACxC,CAAC,CAAC;qBACJ;gBAAA,CAAC,CAAC,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAClB;YAAC,OAAO,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC;aACtD;QAEH,CAAC,CAAA,CAAA;QAOI,YAAO,GAAG,CACf,GAAY,EACZ,GAAa,EACb,IAAkB,EACM,EAAE;YAC5B,MAAM,KAAK,GAAG;gBACZ;oBACE,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,wGAAwG;oBACnH,KAAK,EAAE,CAAC;iBACT;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,SAAS,EAAE,4EAA4E;oBACvF,KAAK,EAAE,CAAC;iBACT;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,8EAA8E;oBACzF,KAAK,EAAE,CAAC;iBACT;aACF,CAAC;YACF,IAAI;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAEjB;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC,CAAC;aAC9D;QAAI,CAAC,CAAA,CAAA;QAGE,mBAAc,GAAG,CACvB,GAAY,EACZ,GAAa,EACb,IAAkB,EACM,EAAE;YAE5B,IAAI,IAAI,GAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3B,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;YACpC,gEAAgE;YAChE,IAAI,WAAW,GAAG;gBAChB,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,wCAAwC;gBAC7C,IAAI,EAAE,YAAE,CAAC,SAAS,CAAC;oBACjB,IAAI,EAAE,IAAI;oBACV,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,UAAU,EAAE,oBAAoB;iBACjC,CAAC;gBACF,OAAO,EAAE;oBACP,eAAe,EAAE,QAAQ,GAAG,CAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACxG,cAAc,EAAG,mCAAmC;iBACrD;gBACD,IAAI,EAAE,IAAI;aACX,CAAC;YACF,IAAI;gBACF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC/B,IAAI,IAAI,GAAG,MAAM,IAAA,eAAK,EAAC,WAAW,CAAC,CAAC;gBACpC,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;oBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC9B,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC1B,oCAAoC;oBACpC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAChB;aACA;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC,CAAC;aAC9D;QAIH,CAAC,CAAA,CAAC;QA3ME,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAErB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IACD,gBAAgB;QACZ,oDAAoD;QACpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,WAAW,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,WAAW,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7D,iEAAiE;QACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAEvD,CAAC;IAgHM,QAAQ;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;CA+EJ;AACD,kBAAe,iBAAiB,CAAC"} \ 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 new file mode 100644 index 0000000..f35e330 --- /dev/null +++ b/src/Api/dist/controller/user-controller/userCtrl.js @@ -0,0 +1,186 @@ +"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 new file mode 100644 index 0000000..7cc2de4 --- /dev/null +++ b/src/Api/dist/controller/user-controller/userCtrl.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..ea520c6 --- /dev/null +++ b/src/Api/dist/database/MongoDataBase.js @@ -0,0 +1,2 @@ +// 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 new file mode 100644 index 0000000..2d7c3f5 --- /dev/null +++ b/src/Api/dist/database/MongoDataBase.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..c376e83 --- /dev/null +++ b/src/Api/dist/database/StrategyDatabase.js @@ -0,0 +1 @@ +//# 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 new file mode 100644 index 0000000..c04ad53 --- /dev/null +++ b/src/Api/dist/database/StrategyDatabase.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..1ae68e4 --- /dev/null +++ b/src/Api/dist/database/schema/LocationSchema.js @@ -0,0 +1,22 @@ +"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 new file mode 100644 index 0000000..708d7fe --- /dev/null +++ b/src/Api/dist/database/schema/LocationSchema.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..bb42953 --- /dev/null +++ b/src/Api/dist/database/schema/NotificationSchema.js @@ -0,0 +1,9 @@ +"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 new file mode 100644 index 0000000..ed407fc --- /dev/null +++ b/src/Api/dist/database/schema/NotificationSchema.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..af0fc56 --- /dev/null +++ b/src/Api/dist/database/schema/Token/IToken.js @@ -0,0 +1,3 @@ +"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 new file mode 100644 index 0000000..c2c2353 --- /dev/null +++ b/src/Api/dist/database/schema/Token/IToken.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..01d113f --- /dev/null +++ b/src/Api/dist/database/schema/User/UserInterface.js @@ -0,0 +1,3 @@ +"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 new file mode 100644 index 0000000..5d59c31 --- /dev/null +++ b/src/Api/dist/database/schema/User/UserInterface.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..5af36a4 --- /dev/null +++ b/src/Api/dist/database/schema/User/UserSchema.js @@ -0,0 +1,82 @@ +"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 new file mode 100644 index 0000000..80388e0 --- /dev/null +++ b/src/Api/dist/database/schema/User/UserSchema.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..cd0111a --- /dev/null +++ b/src/Api/dist/database/schema/User/UserValidation.js @@ -0,0 +1,20 @@ +"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 new file mode 100644 index 0000000..34d24e7 --- /dev/null +++ b/src/Api/dist/database/schema/User/UserValidation.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..632b661 --- /dev/null +++ b/src/Api/dist/index.js @@ -0,0 +1,14 @@ +"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 new file mode 100644 index 0000000..3d14e47 --- /dev/null +++ b/src/Api/dist/index.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..24ac50e --- /dev/null +++ b/src/Api/dist/middleware/authMiddleware.js @@ -0,0 +1,46 @@ +"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 new file mode 100644 index 0000000..77d6a84 --- /dev/null +++ b/src/Api/dist/middleware/authMiddleware.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..bfed40e --- /dev/null +++ b/src/Api/dist/middleware/exeption/httpExeption.js @@ -0,0 +1,12 @@ +"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 new file mode 100644 index 0000000..47983ff --- /dev/null +++ b/src/Api/dist/middleware/exeption/httpExeption.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..98ad7de --- /dev/null +++ b/src/Api/dist/middleware/validation/ValidatorMiddleware.js @@ -0,0 +1,34 @@ +"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 new file mode 100644 index 0000000..80fc94e --- /dev/null +++ b/src/Api/dist/middleware/validation/ValidatorMiddleware.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..79ab948 --- /dev/null +++ b/src/Api/dist/middleware/winston.js @@ -0,0 +1,9 @@ +// 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 new file mode 100644 index 0000000..7a79c49 --- /dev/null +++ b/src/Api/dist/middleware/winston.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..6d13f68 --- /dev/null +++ b/src/Api/dist/model/IUser.js @@ -0,0 +1,3 @@ +"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 new file mode 100644 index 0000000..1281d2b --- /dev/null +++ b/src/Api/dist/model/IUser.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..3a341c9 --- /dev/null +++ b/src/Api/dist/model/locationModel.js @@ -0,0 +1,26 @@ +"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 new file mode 100644 index 0000000..8b3cfdc --- /dev/null +++ b/src/Api/dist/model/locationModel.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..f63afa4 --- /dev/null +++ b/src/Api/dist/model/token.js @@ -0,0 +1,34 @@ +"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 new file mode 100644 index 0000000..87b1e0c --- /dev/null +++ b/src/Api/dist/model/token.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..2ce6996 --- /dev/null +++ b/src/Api/dist/service/LocationService.js @@ -0,0 +1,114 @@ +"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 new file mode 100644 index 0000000..f6b6e57 --- /dev/null +++ b/src/Api/dist/service/LocationService.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..8e0e51e --- /dev/null +++ b/src/Api/dist/service/UserService.js @@ -0,0 +1,69 @@ +"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 new file mode 100644 index 0000000..cb002da --- /dev/null +++ b/src/Api/dist/service/UserService.js.map @@ -0,0 +1 @@ +{"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/package.json b/src/Api/package.json index 2769247..f566d89 100644 --- a/src/Api/package.json +++ b/src/Api/package.json @@ -2,11 +2,18 @@ "name": "api", "version": "1.0.0", "description": "", - "main": "src/server.ts", + "main": "dist/index.js", "scripts": { - "start": "nodemon src/server.ts", + "build": "tsc", + "dev": "tsc -w & nodemon .", + "start": "tsc & node .", "test": "echo \"Error: no test specified\" && exit 1" }, + "pre-commit": [ + "ts.check", + "build", + "add-build" + ], "keywords": [], "author": "", "license": "ISC", @@ -17,7 +24,9 @@ "@types/express": "^4.17.16", "@types/jsonwebtoken": "^9.0.1", "@types/morgan": "^1.9.4", + "@types/node": "^18.14.0", "nodemon": "^2.0.20", + "pre-commit": "^1.2.2", "ts-node": "^10.9.1", "typescript": "^4.9.5" }, @@ -28,6 +37,7 @@ "axios": "^1.2.6", "bcrypt": "^5.1.0", "cors": "^2.8.5", + "dotenv": "^16.0.3", "express-winston": "^4.2.0", "joi": "^17.8.1", "jsonwebtoken": "^9.0.0", @@ -35,6 +45,7 @@ "mongoose": "^6.9.0", "morgan": "^1.10.0", "request": "^2.88.2", + "rimraf": "^4.1.2", "swagger-ui-express": "^4.6.0", "winston": "^3.8.2" } diff --git a/src/Api/src/app.ts b/src/Api/src/app.ts index d3f8d36..41db4a0 100644 --- a/src/Api/src/app.ts +++ b/src/Api/src/app.ts @@ -50,6 +50,9 @@ class App { private initialiseControllers(controllers: Controller[]): void { controllers.forEach((controller: Controller) => { this.express.use('/api', controller.router); + this.express.get('/toto', (req, res) => { + res.send('Hello World!'); + }) }); } diff --git a/src/Api/src/controller/spotify-controller/spotifyCtrl.ts b/src/Api/src/controller/spotify-controller/spotifyCtrl.ts index a26f33b..723a0fa 100644 --- a/src/Api/src/controller/spotify-controller/spotifyCtrl.ts +++ b/src/Api/src/controller/spotify-controller/spotifyCtrl.ts @@ -137,7 +137,7 @@ class SpotifyController implements Controller { } - public getMusic(){ + public getMusic() : null{ return null; } diff --git a/src/Api/src/controller/user-controller/userCtrl.ts b/src/Api/src/controller/user-controller/userCtrl.ts index 004e20e..9f5c740 100644 --- a/src/Api/src/controller/user-controller/userCtrl.ts +++ b/src/Api/src/controller/user-controller/userCtrl.ts @@ -161,8 +161,9 @@ class UserController implements Controller { ): Promise => { try { // the FladId should be created by the Userservice - const { name, email, password,idFlad, idSpotify } = req.body; - + const { name, email, password , idFlad, idSpotify } = req.body; + console.log(name, email, password, idFlad, idSpotify); + const token = await this.userService.register( name, email, diff --git a/src/Api/src/database/schema/LocationSchema.ts b/src/Api/src/database/schema/LocationSchema.ts index 795d45f..37d37b4 100644 --- a/src/Api/src/database/schema/LocationSchema.ts +++ b/src/Api/src/database/schema/LocationSchema.ts @@ -1,4 +1,4 @@ -import { Schema, model } from 'mongoose'; +import { Schema, model,Document } from 'mongoose'; const locationSchema = new Schema( diff --git a/src/Api/src/database/schema/User/UserValidation.ts b/src/Api/src/database/schema/User/UserValidation.ts index ec48660..e00e988 100644 --- a/src/Api/src/database/schema/User/UserValidation.ts +++ b/src/Api/src/database/schema/User/UserValidation.ts @@ -7,7 +7,8 @@ const register = Joi.object({ password: Joi.string().min(6).required(), // can add an field like confimPassword and cheked that the password is equal to the confirmPassword - + idSpotify: Joi.string(), + idFlad : Joi.string(), }); const login = Joi.object({ diff --git a/src/Api/src/server.ts b/src/Api/src/index.ts similarity index 82% rename from src/Api/src/server.ts rename to src/Api/src/index.ts index 1b3e87b..54ec830 100644 --- a/src/Api/src/server.ts +++ b/src/Api/src/index.ts @@ -2,11 +2,11 @@ import App from "./app"; import SpotifyController from "./controller/spotify-controller/spotifyCtrl"; import PingController from "./controller/TestCtrl"; import UserController from "./controller/user-controller/userCtrl"; - +import dotenv from 'dotenv' +dotenv.config(); const app = new App( [new PingController(), new SpotifyController(), new UserController()], - Number(8080) - // Number(process.env.PORT) + Number(process.env.PORT) ); diff --git a/src/Api/tsconfig.json b/src/Api/tsconfig.json new file mode 100644 index 0000000..9c4e225 --- /dev/null +++ b/src/Api/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "commonjs", + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "target": "es6", + "noImplicitAny": true, + "moduleResolution": "node", + "sourceMap": true, + "outDir": "dist", + "baseUrl": ".", + "paths": { + "*": ["node_modules/*"] + } + }, + "include": ["./src/**/*"] + } \ No newline at end of file From 389313b1bccc892bb88b02583d07fab6ffe7ce0e Mon Sep 17 00:00:00 2001 From: Emre KARTAL Date: Wed, 1 Mar 2023 10:32:47 +0100 Subject: [PATCH 03/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index b134747..8f4fa42 100644 --- a/.drone.yml +++ b/.drone.yml @@ -25,10 +25,6 @@ steps: from_secret: SECRET_REGISTRY_USERNAME password: from_secret: SECRET_REGISTRY_PASSWORD - commands: - - cd ./src/Api - - npm install - - npm run build #container deployment - name: deploy-container From 7b288f1a0d8bcac114b9a57fa156aceca2ee0b2d Mon Sep 17 00:00:00 2001 From: Emre KARTAL Date: Wed, 1 Mar 2023 10:42:31 +0100 Subject: [PATCH 04/55] Add dockerfile --- .drone.yml | 3 ++- src/Api/Dockerfile | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/Api/Dockerfile diff --git a/.drone.yml b/.drone.yml index 8f4fa42..096ee34 100644 --- a/.drone.yml +++ b/.drone.yml @@ -18,7 +18,8 @@ steps: - name: docker-build-and-push image: node:latest settings: - context: src/Api + dockerfile: src/Api/Dockerfile + context: src/ registry: hub.codefirst.iut.uca.fr repo: hub.codefirst.iut.uca.fr/emre.kartal/FLAD username: diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile new file mode 100644 index 0000000..13d807c --- /dev/null +++ b/src/Api/Dockerfile @@ -0,0 +1,15 @@ +# syntax=docker/dockerfile:1 + +FROM node:latest +ENV NODE_ENV=production + +WORKDIR /app + +COPY ["package.json", "package-lock.json*", "./"] + +RUN npm install --production + +COPY . . + +CMD [ "node", "server.js" ] + From 5d4f04296a618253924d38462f58be45ee1e1dd8 Mon Sep 17 00:00:00 2001 From: Emre KARTAL Date: Wed, 1 Mar 2023 10:51:48 +0100 Subject: [PATCH 05/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 13d807c..4717570 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -7,8 +7,9 @@ WORKDIR /app COPY ["package.json", "package-lock.json*", "./"] -RUN npm install --production - +RUN npm install +RUN npm run build +RUN npm publish COPY . . CMD [ "node", "server.js" ] From 60c27b28b3192351c3f251666ff40e475fd6022e Mon Sep 17 00:00:00 2001 From: emkartal1 Date: Thu, 2 Mar 2023 17:26:00 +0000 Subject: [PATCH 06/55] Test dockerfile --- src/Api/.dockerignore | 0 src/Api/Dockerfile | 18 +++++++----------- 2 files changed, 7 insertions(+), 11 deletions(-) create mode 100644 src/Api/.dockerignore diff --git a/src/Api/.dockerignore b/src/Api/.dockerignore new file mode 100644 index 0000000..e69de29 diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 4717570..d40f36b 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,16 +1,12 @@ -# syntax=docker/dockerfile:1 - FROM node:latest -ENV NODE_ENV=production - +ENV PORT=8080 WORKDIR /app - -COPY ["package.json", "package-lock.json*", "./"] - -RUN npm install -RUN npm run build -RUN npm publish +ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 +COPY package*.json ./ COPY . . -CMD [ "node", "server.js" ] +RUN npm install +RUN echo $? +#EXPOSE 8080 +#CMD [ "node", "server.js" ] From 254172425a5ff74cc2bdfe809727bcb5455fa6fe Mon Sep 17 00:00:00 2001 From: emkartal1 Date: Thu, 2 Mar 2023 18:23:42 +0000 Subject: [PATCH 07/55] Dockerfile updated --- src/Api/.dockerignore | 2 ++ src/Api/Dockerfile | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Api/.dockerignore b/src/Api/.dockerignore index e69de29..f06235c 100644 --- a/src/Api/.dockerignore +++ b/src/Api/.dockerignore @@ -0,0 +1,2 @@ +node_modules +dist diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index d40f36b..7246a32 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -3,10 +3,11 @@ ENV PORT=8080 WORKDIR /app ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 COPY package*.json ./ +COPY tsconfig.json ./ COPY . . RUN npm install -RUN echo $? +RUN npm run build #EXPOSE 8080 -#CMD [ "node", "server.js" ] +CMD [ "node","." ] From 3a5919b928cf813ab7513a270bdce6f3ac709151 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Thu, 2 Mar 2023 18:32:40 +0100 Subject: [PATCH 08/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 096ee34..7d1ca6b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -29,10 +29,10 @@ steps: #container deployment - name: deploy-container - image: node:latest + image: flady environment: - IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/FLAD:latest - CONTAINERNAME: FladApi + IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flady:latest + CONTAINERNAME: flady COMMAND: create OVERWRITE: true depends_on: [ docker-build-and-push ] From f40fcf3c919624abdf2de5f3da3b10fefbd01903 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Thu, 2 Mar 2023 18:35:54 +0100 Subject: [PATCH 09/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 7d1ca6b..9e022c0 100644 --- a/.drone.yml +++ b/.drone.yml @@ -33,7 +33,7 @@ steps: environment: IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flady:latest CONTAINERNAME: flady - COMMAND: create + COMMAND: run OVERWRITE: true depends_on: [ docker-build-and-push ] From d08dda9c45399f1f13cd3845cd74e15f4bd995e9 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Thu, 2 Mar 2023 18:36:56 +0100 Subject: [PATCH 10/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.drone.yml b/.drone.yml index 9e022c0..7ccd0f2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -28,14 +28,14 @@ steps: from_secret: SECRET_REGISTRY_PASSWORD #container deployment - - name: deploy-container - image: flady - environment: - IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flady:latest - CONTAINERNAME: flady - COMMAND: run - OVERWRITE: true - depends_on: [ docker-build-and-push ] + #- name: deploy-container + # image: flady + #environment: + # IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flady:latest + # CONTAINERNAME: flady + # COMMAND: run + #OVERWRITE: true + #depends_on: [ docker-build-and-push ] - name: code-analysis From 5d6524a7e8da8716dadbac938b51df0f23b06904 Mon Sep 17 00:00:00 2001 From: Emre KARTAL Date: Thu, 9 Mar 2023 10:06:57 +0100 Subject: [PATCH 11/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 7ccd0f2..e0c29a3 100644 --- a/.drone.yml +++ b/.drone.yml @@ -16,7 +16,7 @@ steps: - npm run - name: docker-build-and-push - image: node:latest + image: plugins/docker settings: dockerfile: src/Api/Dockerfile context: src/ From d0058a0c1378bb99e2e3586f76fc21c8139130ca Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Thu, 23 Mar 2023 12:01:35 +0100 Subject: [PATCH 12/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 7246a32..e886109 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -2,6 +2,7 @@ FROM node:latest ENV PORT=8080 WORKDIR /app ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 +RUN ls && pwd COPY package*.json ./ COPY tsconfig.json ./ COPY . . From 9bee6b1a9dee01b2a9bb232e5fd01d5f1250243e Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Thu, 23 Mar 2023 12:05:01 +0100 Subject: [PATCH 13/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index e886109..312669a 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -3,9 +3,9 @@ ENV PORT=8080 WORKDIR /app ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 RUN ls && pwd -COPY package*.json ./ -COPY tsconfig.json ./ -COPY . . +COPY package*.json /app +COPY tsconfig.json /app +COPY . /app RUN npm install RUN npm run build From dc05329afb73686fe4aba77ae3b0a5286e89c550 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Thu, 23 Mar 2023 12:08:40 +0100 Subject: [PATCH 14/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 312669a..c9f64da 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -2,7 +2,6 @@ FROM node:latest ENV PORT=8080 WORKDIR /app ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 -RUN ls && pwd COPY package*.json /app COPY tsconfig.json /app COPY . /app From ce2fa88ca0d923871aa2cbc65e32ee6e1342b485 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Thu, 23 Mar 2023 12:10:26 +0100 Subject: [PATCH 15/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index c9f64da..cdf8221 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -2,9 +2,9 @@ FROM node:latest ENV PORT=8080 WORKDIR /app ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 -COPY package*.json /app -COPY tsconfig.json /app -COPY . /app +COPY package*.json . +COPY tsconfig.json . +COPY . . RUN npm install RUN npm run build From e1be4c9714cdd144ba28c7c258297a622326952c Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Thu, 23 Mar 2023 12:11:18 +0100 Subject: [PATCH 16/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index cdf8221..f8e4b3a 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,7 +1,7 @@ FROM node:latest ENV PORT=8080 WORKDIR /app -ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 +#ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 COPY package*.json . COPY tsconfig.json . COPY . . From 1c87276c1c00c13b196a0f40e6561a9559c0fa37 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Thu, 23 Mar 2023 12:12:18 +0100 Subject: [PATCH 17/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index f8e4b3a..376e92c 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -2,9 +2,9 @@ FROM node:latest ENV PORT=8080 WORKDIR /app #ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 -COPY package*.json . -COPY tsconfig.json . -COPY . . +ADD package*.json . +ADD tsconfig.json . +ADD . . RUN npm install RUN npm run build From cabcb3ccebddbcbfb64f47a5ed6ae315b2aa141a Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:14:09 +0100 Subject: [PATCH 18/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 376e92c..09cab4e 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,13 +1,14 @@ FROM node:latest ENV PORT=8080 WORKDIR /app -#ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 -ADD package*.json . -ADD tsconfig.json . -ADD . . +ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 +COPY package*.json ./ +COPY tsconfig.json ./ +COPY . . RUN npm install RUN npm run build #EXPOSE 8080 CMD [ "node","." ] + From 61ead031c3e07d0e7db5aea93849227347c6fe53 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:15:37 +0100 Subject: [PATCH 19/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index e0c29a3..473b343 100644 --- a/.drone.yml +++ b/.drone.yml @@ -53,4 +53,4 @@ steps: - export PATH=$SONAR_SCANNER_HOME/bin:$PATH - export SONAR_SCANNER_OPTS="-server" - sonar-scanner -D sonar.projectKey=FLAD -D sonar.sources=. -D sonar.host.url=https://codefirst.iut.uca.fr/sonar - depends_on: [ app-build ] + depends_on: [ app-build ] \ No newline at end of file From 1035f1e214f92d870e675de55e93701b0bd4f78e Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:16:53 +0100 Subject: [PATCH 20/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 09cab4e..1dabe59 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,10 +1,10 @@ FROM node:latest ENV PORT=8080 WORKDIR /app -ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 -COPY package*.json ./ -COPY tsconfig.json ./ -COPY . . +#ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 +ADD package*.json . +ADD tsconfig.json . +ADD . . RUN npm install RUN npm run build From bdbc8c57c214484223b9ccd4efbbc23700ddc733 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:18:57 +0100 Subject: [PATCH 21/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 1dabe59..6480018 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -2,9 +2,9 @@ FROM node:latest ENV PORT=8080 WORKDIR /app #ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 -ADD package*.json . -ADD tsconfig.json . -ADD . . +#ADD package*.json /app +#ADD tsconfig.json /app +ADD . /app RUN npm install RUN npm run build From b7962af4541442c4ceabb046e55ee879a98f8709 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:23:54 +0100 Subject: [PATCH 22/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 6480018..486c634 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -2,8 +2,8 @@ FROM node:latest ENV PORT=8080 WORKDIR /app #ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 -#ADD package*.json /app -#ADD tsconfig.json /app +ADD package*.json /app +ADD tsconfig.json /app ADD . /app RUN npm install From 01ab477faff380ecbae7a7f17a4c3bf5735cd6d0 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:25:22 +0100 Subject: [PATCH 23/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 486c634..64489b4 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -2,7 +2,7 @@ FROM node:latest ENV PORT=8080 WORKDIR /app #ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 -ADD package*.json /app +ADD package.json /app ADD tsconfig.json /app ADD . /app From 902f79517ec457c4096e4af69fc5e8c09be8683a Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:26:39 +0100 Subject: [PATCH 24/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/.doc?= =?UTF-8?q?kerignore'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/.dockerignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Api/.dockerignore b/src/Api/.dockerignore index f06235c..e69de29 100644 --- a/src/Api/.dockerignore +++ b/src/Api/.dockerignore @@ -1,2 +0,0 @@ -node_modules -dist From 2d24977f21fcdbe2580b9a369711dc891d082c67 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:31:03 +0100 Subject: [PATCH 25/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 64489b4..dda7f62 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,5 +1,6 @@ FROM node:latest ENV PORT=8080 +RUN ls WORKDIR /app #ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 ADD package.json /app From ba8f7f2c2ae29fd00db621a356cfd9a9a30ef6ff Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:37:36 +0100 Subject: [PATCH 26/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index dda7f62..884becb 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,6 +1,6 @@ FROM node:latest ENV PORT=8080 -RUN ls +RUN find . -name package.json -type f -print WORKDIR /app #ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 ADD package.json /app From 188ed65d19f5bd20030ff243ae610fabaa59c8c4 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:39:00 +0100 Subject: [PATCH 27/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 884becb..9e421ac 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,6 +1,6 @@ FROM node:latest ENV PORT=8080 -RUN find . -name package.json -type f -print +RUN find . -name UserService.ts -type f -print WORKDIR /app #ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 ADD package.json /app From e84dadb423039c2bdbc769231b1be651b5081478 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:43:49 +0100 Subject: [PATCH 28/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 9e421ac..fcf772f 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -2,6 +2,8 @@ FROM node:latest ENV PORT=8080 RUN find . -name UserService.ts -type f -print WORKDIR /app +RUN ls +RUN find . -name UserService.ts -type f -print #ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 ADD package.json /app ADD tsconfig.json /app From 0f0d87c1564e135412828920a7587922bf33a843 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:55:41 +0100 Subject: [PATCH 29/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index fcf772f..216692d 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -2,7 +2,7 @@ FROM node:latest ENV PORT=8080 RUN find . -name UserService.ts -type f -print WORKDIR /app -RUN ls +RUN ls /app RUN find . -name UserService.ts -type f -print #ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 ADD package.json /app From b72039e582024afa049418dcfbca271ec8bc06b4 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 03:59:39 +0100 Subject: [PATCH 30/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 216692d..8e1b65a 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,17 +1,12 @@ FROM node:latest -ENV PORT=8080 -RUN find . -name UserService.ts -type f -print -WORKDIR /app -RUN ls /app -RUN find . -name UserService.ts -type f -print -#ARG http_proxy=http://193.49.118.36:8080 https_proxy=http://193.49.118.36:8080 + ADD package.json /app ADD tsconfig.json /app +WORKDIR /app ADD . /app - RUN npm install RUN npm run build -#EXPOSE 8080 -CMD [ "node","." ] +EXPOSE 8080 +CMD [ "node", "." ] From b79e0ccdcd54dad8bf781d0269fb1acde45d4b28 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:04:38 +0100 Subject: [PATCH 31/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 473b343..8040713 100644 --- a/.drone.yml +++ b/.drone.yml @@ -19,7 +19,7 @@ steps: image: plugins/docker settings: dockerfile: src/Api/Dockerfile - context: src/ + context: src/Api registry: hub.codefirst.iut.uca.fr repo: hub.codefirst.iut.uca.fr/emre.kartal/FLAD username: From d3ae212d9f373b417492ef5964d0e6e621949e03 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:05:58 +0100 Subject: [PATCH 32/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 8e1b65a..12ad995 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,5 +1,5 @@ FROM node:latest - +RUN ls ADD package.json /app ADD tsconfig.json /app WORKDIR /app From e89882486692256e7e19cfc39b0b2423c9aad9b4 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:07:53 +0100 Subject: [PATCH 33/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 12ad995..2579dd8 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,7 +1,8 @@ FROM node:latest -RUN ls +RUN ls /usr ADD package.json /app ADD tsconfig.json /app +RUN cat package.json WORKDIR /app ADD . /app RUN npm install From bca35b06f5b2eb1e1d995282c8c997ac88e35e48 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:12:26 +0100 Subject: [PATCH 34/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 2579dd8..025f399 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -3,8 +3,12 @@ RUN ls /usr ADD package.json /app ADD tsconfig.json /app RUN cat package.json +RUN find . -name package.json -type f -print +RUN mkdir /app WORKDIR /app ADD . /app +RUN find . -name package.json -type f -print +RUN find /app -name package.json -type f -print RUN npm install RUN npm run build From 760f4f07ca81bcedd58f98190bd93217fbbdf9e4 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:14:36 +0100 Subject: [PATCH 35/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 025f399..6c8bb18 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,5 +1,5 @@ FROM node:latest -RUN ls /usr +RUN ls /usr/src ADD package.json /app ADD tsconfig.json /app RUN cat package.json From 50e0b27cd20ea93257264c36de5d756774e4e96c Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:21:21 +0100 Subject: [PATCH 36/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 6c8bb18..3043403 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,17 +1,10 @@ FROM node:latest -RUN ls /usr/src ADD package.json /app ADD tsconfig.json /app -RUN cat package.json -RUN find . -name package.json -type f -print +ADD . /app RUN mkdir /app WORKDIR /app -ADD . /app -RUN find . -name package.json -type f -print -RUN find /app -name package.json -type f -print RUN npm install RUN npm run build - EXPOSE 8080 CMD [ "node", "." ] - From 179dad77c838eb13083e235e3f136930d394c7ae Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:29:29 +0100 Subject: [PATCH 37/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 3043403..d9121c3 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,9 +1,10 @@ FROM node:latest -ADD package.json /app -ADD tsconfig.json /app -ADD . /app -RUN mkdir /app -WORKDIR /app +RUN ls /var/lib/docker/overlay2/8a2577b78d0fe9066c00c1fed6bafce35b5ec17672822003ef2f343762941875/merged/app +WORKDIR /Api +RUN ls +ADD package.json /Api +ADD tsconfig.json /Api +ADD . /Api RUN npm install RUN npm run build EXPOSE 8080 From e811e1c515ace439580351adeb25f6ef82544bee Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:30:21 +0100 Subject: [PATCH 38/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index d9121c3..05ddc89 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,5 +1,4 @@ FROM node:latest -RUN ls /var/lib/docker/overlay2/8a2577b78d0fe9066c00c1fed6bafce35b5ec17672822003ef2f343762941875/merged/app WORKDIR /Api RUN ls ADD package.json /Api From 438ac755020ce7e1a68d8986f8cce2db05491987 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:34:52 +0100 Subject: [PATCH 39/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 05ddc89..26068ce 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -7,4 +7,3 @@ ADD . /Api RUN npm install RUN npm run build EXPOSE 8080 -CMD [ "node", "." ] From 65305b755be81062de067ca8bb5f9dbd194ba3f2 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:42:56 +0100 Subject: [PATCH 40/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.drone.yml b/.drone.yml index 8040713..e5dab16 100644 --- a/.drone.yml +++ b/.drone.yml @@ -28,14 +28,14 @@ steps: from_secret: SECRET_REGISTRY_PASSWORD #container deployment - #- name: deploy-container - # image: flady - #environment: - # IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flady:latest - # CONTAINERNAME: flady - # COMMAND: run - #OVERWRITE: true - #depends_on: [ docker-build-and-push ] + - name: deploy-container + image: flady + environment: + IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flady:latest + CONTAINERNAME: flady + COMMAND: run + OVERWRITE: true + depends_on: [ docker-build-and-push ] - name: code-analysis From 0352c3e1246ef2a2c44924328387a4f50e6e2f7a Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:43:58 +0100 Subject: [PATCH 41/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index 26068ce..e2560a1 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -7,3 +7,5 @@ ADD . /Api RUN npm install RUN npm run build EXPOSE 8080 +CMD [ "node","." ] + From 80300ae2ff0ee98449e621fa3f7b4bd06be05c3a Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:51:51 +0100 Subject: [PATCH 42/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index e5dab16..848ef6b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -21,7 +21,7 @@ steps: dockerfile: src/Api/Dockerfile context: src/Api registry: hub.codefirst.iut.uca.fr - repo: hub.codefirst.iut.uca.fr/emre.kartal/FLAD + repo: hub.codefirst.iut.uca.fr/emre.kartal/flad username: from_secret: SECRET_REGISTRY_USERNAME password: From 67d9124052d778778175f940d01d9f97ef9622fd Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:53:57 +0100 Subject: [PATCH 43/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 848ef6b..ff09c0e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -31,7 +31,7 @@ steps: - name: deploy-container image: flady environment: - IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flady:latest + IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flad CONTAINERNAME: flady COMMAND: run OVERWRITE: true From a8ee93ff286798dc902aaeded77a8da902cbe41c Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 04:58:23 +0100 Subject: [PATCH 44/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index ff09c0e..5887e98 100644 --- a/.drone.yml +++ b/.drone.yml @@ -32,7 +32,7 @@ steps: image: flady environment: IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flad - CONTAINERNAME: flady + CONTAINERNAME: flad COMMAND: run OVERWRITE: true depends_on: [ docker-build-and-push ] From b525829ee38657853ffe8dc96c56b57bce476081 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 05:04:14 +0100 Subject: [PATCH 45/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 5887e98..1afea70 100644 --- a/.drone.yml +++ b/.drone.yml @@ -29,10 +29,10 @@ steps: #container deployment - name: deploy-container - image: flady + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest environment: - IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flad - CONTAINERNAME: flad + IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flad:latest + CONTAINERNAME: flady-container COMMAND: run OVERWRITE: true depends_on: [ docker-build-and-push ] From c73c1a53ca7b0c6b2bc5087dc811ced750bc3506 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 05:09:42 +0100 Subject: [PATCH 46/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.drone.yml b/.drone.yml index 1afea70..6d4ccea 100644 --- a/.drone.yml +++ b/.drone.yml @@ -35,6 +35,7 @@ steps: CONTAINERNAME: flady-container COMMAND: run OVERWRITE: true + ADMINS: emrekartal,,davidd_almeida depends_on: [ docker-build-and-push ] From 2ff5b4ddb39349a4e9682efb9418c72ad3b5b5cf Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 05:12:49 +0100 Subject: [PATCH 47/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 6d4ccea..ca89f00 100644 --- a/.drone.yml +++ b/.drone.yml @@ -35,7 +35,7 @@ steps: CONTAINERNAME: flady-container COMMAND: run OVERWRITE: true - ADMINS: emrekartal,,davidd_almeida + ADMINS: emrekartal,,davidd_almeida depends_on: [ docker-build-and-push ] From 0512305b7b091910d96d51a52b0edfbae6143478 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 05:13:06 +0100 Subject: [PATCH 48/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index ca89f00..711b842 100644 --- a/.drone.yml +++ b/.drone.yml @@ -35,7 +35,7 @@ steps: CONTAINERNAME: flady-container COMMAND: run OVERWRITE: true - ADMINS: emrekartal,,davidd_almeida + ADMINS: emrekartal,davidd_almeida depends_on: [ docker-build-and-push ] From a411cdd03692f5be3e7928fe0c3f753ef026a8ee Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 05:26:18 +0100 Subject: [PATCH 49/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 711b842..d785290 100644 --- a/.drone.yml +++ b/.drone.yml @@ -33,7 +33,7 @@ steps: environment: IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flad:latest CONTAINERNAME: flady-container - COMMAND: run + COMMAND: create OVERWRITE: true ADMINS: emrekartal,davidd_almeida depends_on: [ docker-build-and-push ] From 8201f4e8aa1ebc4a9297d4356aaf63320981e6fb Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 05:40:19 +0100 Subject: [PATCH 50/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index d785290..8914e8c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -33,7 +33,7 @@ steps: environment: IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flad:latest CONTAINERNAME: flady-container - COMMAND: create + COMMAND: up OVERWRITE: true ADMINS: emrekartal,davidd_almeida depends_on: [ docker-build-and-push ] From 2133d4bfcbf61a4662c5eba9b163405f59b65639 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 05:45:41 +0100 Subject: [PATCH 51/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/.env?= =?UTF-8?q?'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Api/.env b/src/Api/.env index c0c68b1..c88bfa8 100644 --- a/src/Api/.env +++ b/src/Api/.env @@ -1 +1 @@ -PORT=3000 \ No newline at end of file +PORT=8080 \ No newline at end of file From 4a4116b8158651cd74d0f55ef1a6e29479ec48c4 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 24 Mar 2023 09:38:13 +0100 Subject: [PATCH 52/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/src/?= =?UTF-8?q?index.ts'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Api/src/index.ts b/src/Api/src/index.ts index 54ec830..928e60a 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(process.env.PORT) + Number(8080) ); From 3f152a791b05e2a71ae21c4ddbc25a46ab53042d Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Wed, 29 Mar 2023 11:05:53 +0200 Subject: [PATCH 53/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 8914e8c..dfc6da9 100644 --- a/.drone.yml +++ b/.drone.yml @@ -33,9 +33,9 @@ steps: environment: IMAGENAME: hub.codefirst.iut.uca.fr/emre.kartal/flad:latest CONTAINERNAME: flady-container - COMMAND: up + COMMAND: create OVERWRITE: true - ADMINS: emrekartal,davidd_almeida + ADMINS: emrekartal,davidd_almeida, depends_on: [ docker-build-and-push ] From c171371d33ad2543bd26a055624ee3056ce56f39 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Wed, 29 Mar 2023 11:08:12 +0200 Subject: [PATCH 54/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Api/Dock?= =?UTF-8?q?erfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Api/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Api/Dockerfile b/src/Api/Dockerfile index e2560a1..5eadece 100644 --- a/src/Api/Dockerfile +++ b/src/Api/Dockerfile @@ -1,10 +1,9 @@ FROM node:latest WORKDIR /Api -RUN ls ADD package.json /Api ADD tsconfig.json /Api ADD . /Api -RUN npm install +RUN npm install RUN npm run build EXPOSE 8080 CMD [ "node","." ] From 2951eade97873aba9c186343ac370d5f16bb6234 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Wed, 29 Mar 2023 11:35:41 +0200 Subject: [PATCH 55/55] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'.drone.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index dfc6da9..6bdc960 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2,7 +2,6 @@ kind: pipeline type: docker name: FLAD - trigger: event: - push