From 275cf2cb6f711ab392bb6584de3eb7880c024fa1 Mon Sep 17 00:00:00 2001 From: OTH Service User <98660390+oth-service-user@users.noreply.github.com> Date: Mon, 11 Apr 2022 04:14:35 +0000 Subject: [PATCH 01/10] Workflow/dependency check --- docs/OUTDATED.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/OUTDATED.md b/docs/OUTDATED.md index d60d1de..a499440 100644 --- a/docs/OUTDATED.md +++ b/docs/OUTDATED.md @@ -13,6 +13,9 @@ Open Template Hub - Auth Server Template v4 Following packages are not updated in the develop branch yet. So, if you want to update outdated packages on your own risk, update the package.json and install dependencies. +| Package | Current | Wanted | Latest | Location | +| --- | --- | --- | --- | --- | +| @open-template-hub/common | 3.4.17 | 3.4.17 | 4.0.1 | auth-server-template |
othOpen Template Hub © 2021
From 24d3cf30258d2c63fb0068eb71c51f9f0d90fcb1 Mon Sep 17 00:00:00 2001 From: Furkan Yavuz Date: Mon, 11 Apr 2022 18:30:30 +0300 Subject: [PATCH 02/10] dependency update --- docs/OUTDATED.md | 3 --- package.json | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/OUTDATED.md b/docs/OUTDATED.md index a499440..d60d1de 100644 --- a/docs/OUTDATED.md +++ b/docs/OUTDATED.md @@ -13,9 +13,6 @@ Open Template Hub - Auth Server Template v4 Following packages are not updated in the develop branch yet. So, if you want to update outdated packages on your own risk, update the package.json and install dependencies. -| Package | Current | Wanted | Latest | Location | -| --- | --- | --- | --- | --- | -| @open-template-hub/common | 3.4.17 | 3.4.17 | 4.0.1 | auth-server-template |
othOpen Template Hub © 2021
diff --git a/package.json b/package.json index b5f62d6..ae77764 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "outdated": "node dependency-checker.ts > docs/OUTDATED.md" }, "dependencies": { - "@open-template-hub/common": "^3.4.17", + "@open-template-hub/common": "^4.0.1", "@types/bcrypt": "^5.0.0", "@types/capitalize": "^2.0.0", "@types/cors": "^2.8.9", From d4e59b6c1732297c2cbf25b391331e1980ae8eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20Sarac=CC=A7?= Date: Sun, 17 Apr 2022 19:34:03 +0300 Subject: [PATCH 03/10] created getUsers --- app/controller/auth.controller.ts | 24 ++++++++++++++++++++ app/repository/user.repository.ts | 35 ++++++++++++++++++++++++++++++ app/route/auth.route.ts | 21 +++++++++++++++++- assets/requests/auth-requests.rest | 5 +++++ 4 files changed, 84 insertions(+), 1 deletion(-) diff --git a/app/controller/auth.controller.ts b/app/controller/auth.controller.ts index dcf751a..efcf4aa 100644 --- a/app/controller/auth.controller.ts +++ b/app/controller/auth.controller.ts @@ -28,6 +28,7 @@ export class AuthController { private environment = new Environment(), private tokenUtil: TokenUtil = new TokenUtil( environment.args() ) ) { + /* intentionally blank */ } /** @@ -360,4 +361,27 @@ export class AuthController { } return maskedNumber; } + + getUsers = async ( + db: PostgreSqlProvider, + username?: string, + offset?: number, + limit?: number + ) => { + const userRepository = new UserRepository(db); + + if(!offset) { + offset = 0; + } + + if(!limit) { + limit = 20; + } + + const users = await userRepository.getAllUsers(username ?? '', offset, limit); + const count = +(await userRepository.getAllUsersCount(username ?? '')).count ?? 0; + + return { users, meta: { offset, limit, count } }; + } } + diff --git a/app/repository/user.repository.ts b/app/repository/user.repository.ts index d96c74b..fef2e34 100644 --- a/app/repository/user.repository.ts +++ b/app/repository/user.repository.ts @@ -214,4 +214,39 @@ export class UserRepository { throw error; } }; + + getAllUsers = async(username: string, offset: number, limit: number) => { + let response; + + try { + response = await this.provider.query( + "SELECT username FROM users WHERE username LIKE $1 ORDER BY username OFFSET $2 LIMIT $3", + ['%' + username + '%', offset, limit] + ); + } catch ( error ) { + console.error( error ); + throw error; + } + + return response.rows + } + + getAllUsersCount = async(username: string) => { + let response; + + username += '%'; + + try { + response = await this.provider.query( + "SELECT COUNT(*) FROM users WHERE username LIKE $1", + ['%' + username + '%'] + ); + this.shouldHaveSingleRow( response ); + } catch(error) { + console.log(error); + throw error; + } + + return response.rows[0] + } } diff --git a/app/route/auth.route.ts b/app/route/auth.route.ts index 3ba7418..b636054 100644 --- a/app/route/auth.route.ts +++ b/app/route/auth.route.ts @@ -19,7 +19,8 @@ const subRoutes = { resetPasswordToken: '/reset-password-token', user: '/user', submittedPhoneNumber: '/submitted-phone-number', -}; + users: '/users' +} export const router = Router(); @@ -180,3 +181,21 @@ router.delete( res.status( ResponseCode.OK ).json( {} ); } ); + +router.get( + subRoutes.users, + authorizedBy([UserRole.ADMIN, UserRole.DEFAULT]), + async(req: Request, res: Response) => { + const authController = new AuthController(); + const context = res.locals.ctx; + + const users = await authController.getUsers( + context.postgresql_provider, + req.query.username as string, + +(req.query.offset as string), + +(req.query.limit as string) + ); + + res.status(ResponseCode.OK).json(users); + } +) \ No newline at end of file diff --git a/assets/requests/auth-requests.rest b/assets/requests/auth-requests.rest index 2074c6c..0b1c339 100644 --- a/assets/requests/auth-requests.rest +++ b/assets/requests/auth-requests.rest @@ -60,3 +60,8 @@ Content-Type: application/json DELETE http://localhost:4001/auth/user?username=username Content-Type: application/json Authorization: Bearer token + +### Get users +GET http://localhost:4001/auth/users +Content-Type: application/json +Authorization: Bearer token \ No newline at end of file From e8931b3a27c9ff85bcca326e28d84cadccc8d6a4 Mon Sep 17 00:00:00 2001 From: OTH Service User <98660390+oth-service-user@users.noreply.github.com> Date: Mon, 2 May 2022 04:45:06 +0000 Subject: [PATCH 04/10] Workflow/dependency check --- docs/OUTDATED.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/OUTDATED.md b/docs/OUTDATED.md index d60d1de..4a16d80 100644 --- a/docs/OUTDATED.md +++ b/docs/OUTDATED.md @@ -13,6 +13,9 @@ Open Template Hub - Auth Server Template v4 Following packages are not updated in the develop branch yet. So, if you want to update outdated packages on your own risk, update the package.json and install dependencies. +| Package | Current | Wanted | Latest | Location | +| --- | --- | --- | --- | --- | +| axios | 0.26.1 | 0.26.1 | 0.27.2 | auth-server-template |
othOpen Template Hub © 2021
From 127ec6634c996d3f0ea2a1c86e13f4e122b9cad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20Sarac=CC=A7?= Date: Sun, 15 May 2022 18:40:48 +0300 Subject: [PATCH 05/10] created getOtherProfile, updated getAllUsers --- README.md | 1 + app/controller/auth.controller.ts | 38 +++++++++++-- app/controller/info.controller.ts | 5 ++ app/enum/social-login.enum.ts | 0 app/repository/social-login.repository.ts | 40 ++++++++++++++ app/repository/user.repository.ts | 66 ++++++++++++++++++++--- app/route/auth.route.ts | 6 +++ app/route/info.route.ts | 14 +++++ assets/requests/info-requests.rest | 5 ++ env.sh | 1 + 10 files changed, 165 insertions(+), 11 deletions(-) create mode 100644 app/enum/social-login.enum.ts diff --git a/README.md b/README.md index 71a93f9..3c161cc 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ MODULE=AuthServer ENVIRONMENT=Local CLIENT_URL=http://localhost:4200 +ADMIN_CLIENT_URLS="http://localhost:4202" CLIENT_RESET_PASSWORD_URL=http://localhost:4200/reset-password CLIENT_VERIFICATION_SUCCESS_URL=http://localhost:4200/verify-account diff --git a/app/controller/auth.controller.ts b/app/controller/auth.controller.ts index efcf4aa..62ae566 100644 --- a/app/controller/auth.controller.ts +++ b/app/controller/auth.controller.ts @@ -41,6 +41,7 @@ export class AuthController { signup = async ( db: PostgreSqlProvider, message_queue_provider: MessageQueueProvider, + origin: string, user: User, languageCode?: string ) => { @@ -68,7 +69,7 @@ export class AuthController { if ( isAutoVerify ) { await this.verify( db, verificationToken ); - return this.login( db, message_queue_provider, user ); + return this.login( db, message_queue_provider, origin, user ); } else { const orchestrationChannelTag = this.environment.args().mqArgs?.orchestrationServerMessageQueueChannel; @@ -107,6 +108,7 @@ export class AuthController { login = async ( db: PostgreSqlProvider, messageQueueProvider: MessageQueueProvider, + origin: string, user: User, skipTwoFactorControl: boolean = false ) => { @@ -128,6 +130,13 @@ export class AuthController { let dbUser = await userRepository.findUserByUsernameOrEmail( username ); + // if user is not admin and origin is related with admin clients, do not permit to process + if(dbUser?.role && dbUser.role !== UserRole.ADMIN && process.env.ADMIN_CLIENT_URLS?.includes(origin)) { + let e = new Error("Bad Credentials") as HttpError; + e.responseCode = ResponseCode.FORBIDDEN; + throw e; + } + if ( !( await bcrypt.compare( user.password, dbUser.password ) ) ) { let e = new Error( 'Bad credentials' ) as HttpError; e.responseCode = ResponseCode.FORBIDDEN; @@ -364,12 +373,32 @@ export class AuthController { getUsers = async ( db: PostgreSqlProvider, + role?: string, + verified?: any, + oauth?: any, + twoFA?: any, username?: string, offset?: number, limit?: number ) => { const userRepository = new UserRepository(db); + if(role === 'All') { + role = ''; + } + + if(verified === 'true') { + verified = true + } else if(verified === 'false') { + verified = false + } + + if(twoFA === 'true') { + twoFA = true + } else if(twoFA === 'false') { + twoFA = false + } + if(!offset) { offset = 0; } @@ -378,8 +407,11 @@ export class AuthController { limit = 20; } - const users = await userRepository.getAllUsers(username ?? '', offset, limit); - const count = +(await userRepository.getAllUsersCount(username ?? '')).count ?? 0; + let users: any[] = [] + let count: any; + + users = await userRepository.getAllUsers(role ?? '', verified, twoFA, oauth, username ?? '', offset, limit); + count = +(await userRepository.getAllUsersCount(role ?? '', verified, twoFA, oauth, username ?? '')).count ?? 0; return { users, meta: { offset, limit, count } }; } diff --git a/app/controller/info.controller.ts b/app/controller/info.controller.ts index 4df4e86..1cf1352 100644 --- a/app/controller/info.controller.ts +++ b/app/controller/info.controller.ts @@ -16,4 +16,9 @@ export class InfoController { const userRepository = new UserRepository( db ); return userRepository.findEmailByUsername( user.username ); }; + + other = async( db: PostgreSqlProvider, username: string ) => { + const userRepository = new UserRepository( db ); + return userRepository.findEmailByUsername( username ); + } } diff --git a/app/enum/social-login.enum.ts b/app/enum/social-login.enum.ts new file mode 100644 index 0000000..e69de29 diff --git a/app/repository/social-login.repository.ts b/app/repository/social-login.repository.ts index 5e14f2e..dbbe50d 100644 --- a/app/repository/social-login.repository.ts +++ b/app/repository/social-login.repository.ts @@ -92,4 +92,44 @@ export class SocialLoginRepository { throw error; } }; + + getAllUsersByKey = async( + username: string, + socialLoginKey: string, + offset: number, + limit: number + ) => { + let response; + + try { + response = await this.provider.query( + 'SELECT social_login_key, username, external_user_email, social_login_mappings.social_login_key FROM social_login_mappings WHERE social_login_key = $1 and (username LIKE $2 or external_user_email LIKE $3) ORDER BY username OFFSET $4 LIMIT $5', + [socialLoginKey, '%' + username + '%', '%' + username + '%', offset, limit] + ); + } catch(error) { + console.error(error); + throw error; + } + + return response.rows; + } + + getAllUsersByKeyCount = async( + username: string, + socialLoginKey: string + ) => { + let response; + + try { + response = await this.provider.query( + 'SELECT COUNT(*) FROM social_login_mappings WHERE social_login_key = $1 and (username LIKE $2 or external_user_email LIKE $3)', + [socialLoginKey, '%' + username + '%', '%' + username + '%'] + ) + } catch(error) { + console.error(error); + throw error; + } + + return response.rows; + } } diff --git a/app/repository/user.repository.ts b/app/repository/user.repository.ts index fef2e34..815f6d8 100644 --- a/app/repository/user.repository.ts +++ b/app/repository/user.repository.ts @@ -215,13 +215,39 @@ export class UserRepository { } }; - getAllUsers = async(username: string, offset: number, limit: number) => { + getAllUsers = async(role: string, verified: boolean | undefined, twoFA: boolean | undefined, oauth: string | undefined, username: string, offset: number, limit: number) => { let response; try { + let whereQueryString = "WHERE role ILIKE $3 and (users.username LIKE $4 or email LIKE $5)" + let whereQueryParams: Array = ['%' + role + '%', '%' + username + '%', '%' + username + '%'] + + let paramCounter = 6; + + if(verified !== undefined) { + whereQueryString += ` and verified = $${paramCounter}` + paramCounter += 1 + whereQueryParams.push(verified) + } + + if(twoFA !== undefined) { + whereQueryString += ` and two_factor_enabled = $${paramCounter}` + paramCounter += 1 + whereQueryParams.push(twoFA) + } + + if(oauth !== undefined) { + if(oauth === 'exclude') { + whereQueryString += ` and social_login_mappings.social_login_key IS NULL` + } else { + whereQueryString += ` and social_login_mappings.social_login_key = $${paramCounter}` + whereQueryParams.push(oauth) + } + } + response = await this.provider.query( - "SELECT username FROM users WHERE username LIKE $1 ORDER BY username OFFSET $2 LIMIT $3", - ['%' + username + '%', offset, limit] + `SELECT users.username, users.email, users.verified, users.phone_number as phoneNumber, users.two_factor_enabled as twoFactorEnabled, social_login_mappings.external_user_email, social_login_mappings.social_login_key FROM users LEFT JOIN social_login_mappings ON users.username = social_login_mappings.username ${whereQueryString} ORDER BY users.username OFFSET $1 LIMIT $2`, + [offset, limit, ...whereQueryParams] ); } catch ( error ) { console.error( error ); @@ -231,15 +257,39 @@ export class UserRepository { return response.rows } - getAllUsersCount = async(username: string) => { + getAllUsersCount = async(role: string, verified: boolean | undefined, twoFA: boolean | undefined, oauth: string | undefined, username: string) => { let response; + try { - username += '%'; + let whereQueryString = "WHERE role ILIKE $1 and users.username LIKE $2" + let whereQueryParams: any[] = ['%' + role + '%', '%' + username + '%'] + + let paramCounter = 3 + + if(verified !== undefined) { + whereQueryString += ` and verified = $${paramCounter}` + paramCounter += 1 + whereQueryParams.push(verified) + } + + if(twoFA !== undefined) { + whereQueryString += ` and two_factor_enabled = $${paramCounter}`; + paramCounter += 1 + whereQueryParams.push(twoFA) + } + + if(oauth !== undefined) { + if(oauth === 'exclude') { + whereQueryString += ` and social_login_mappings.social_login_key IS NULL` + } else { + whereQueryString += ` and social_login_mappings.social_login_key = $${paramCounter}` + whereQueryParams.push(oauth) + } + } - try { response = await this.provider.query( - "SELECT COUNT(*) FROM users WHERE username LIKE $1", - ['%' + username + '%'] + `SELECT COUNT(*) FROM users LEFT JOIN social_login_mappings ON users.username = social_login_mappings.username ${whereQueryString}`, + [...whereQueryParams] ); this.shouldHaveSingleRow( response ); } catch(error) { diff --git a/app/route/auth.route.ts b/app/route/auth.route.ts index b636054..f9acc03 100644 --- a/app/route/auth.route.ts +++ b/app/route/auth.route.ts @@ -31,6 +31,7 @@ router.post( subRoutes.signup, async ( req: Request, res: Response ) => { const response = await authController.signup( context.postgresql_provider, context.message_queue_provider, + req.body.origin, { username: req.body.username, password: req.body.password, @@ -48,6 +49,7 @@ router.post( subRoutes.login, async ( req: Request, res: Response ) => { const response = await authController.login( context.postgresql_provider, context.message_queue_provider, + req.body.origin, { username: req.body.username, password: req.body.password, @@ -191,6 +193,10 @@ router.get( const users = await authController.getUsers( context.postgresql_provider, + req.query.role as string, + req.query.verified as string, + req.query.oauth as string, + req.query.twoFA as string, req.query.username as string, +(req.query.offset as string), +(req.query.limit as string) diff --git a/app/route/info.route.ts b/app/route/info.route.ts index f6fe45a..81a40a3 100644 --- a/app/route/info.route.ts +++ b/app/route/info.route.ts @@ -10,6 +10,7 @@ import { InfoController } from '../controller/info.controller'; const subRoutes = { root: '/', me: '/me', + other: '/other' }; export const router = Router(); @@ -28,3 +29,16 @@ router.get( res.status( ResponseCode.OK ).json( response ); } ); + +router.get( + subRoutes.other, + authorizedBy( [UserRole.ADMIN ]), + async( req: Request, res: Response ) => { + const context = res.locals.ctx; + const response = await infoController.other( + context.postgresql_provider, + req.query.username as string + ); + res.status( ResponseCode.OK ).json( response ); + } +) diff --git a/assets/requests/info-requests.rest b/assets/requests/info-requests.rest index d21643c..3f1ca92 100644 --- a/assets/requests/info-requests.rest +++ b/assets/requests/info-requests.rest @@ -2,3 +2,8 @@ GET http://localhost:4001/info/me Content-Type: application/json Authorization: Bearer token + +### Get other user info (ADMIN) +GET http://localhost:4001/info/other?username=mert +Content-Type: application/json +Authorization: Bearer token diff --git a/env.sh b/env.sh index 638427c..3513ac1 100644 --- a/env.sh +++ b/env.sh @@ -11,6 +11,7 @@ if [ ! -f .env ]; then echo "ENVIRONMENT=Local" echo "CLIENT_URL=http://localhost:4200" + echo "ADMIN_CLIENT_URLS=http://localhost:4202" echo "CLIENT_RESET_PASSWORD_URL=http://localhost:4200/reset-password" echo "CLIENT_VERIFICATION_SUCCESS_URL=http://localhost:4200/verify-account" From 389a72d0d12ba4a4f43242d0f086545b37094e98 Mon Sep 17 00:00:00 2001 From: Furkan Yavuz Date: Mon, 16 May 2022 15:20:42 +0300 Subject: [PATCH 06/10] update dependencies --- docs/OUTDATED.md | 3 --- package.json | 10 +++++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/docs/OUTDATED.md b/docs/OUTDATED.md index 4a16d80..d60d1de 100644 --- a/docs/OUTDATED.md +++ b/docs/OUTDATED.md @@ -13,9 +13,6 @@ Open Template Hub - Auth Server Template v4 Following packages are not updated in the develop branch yet. So, if you want to update outdated packages on your own risk, update the package.json and install dependencies. -| Package | Current | Wanted | Latest | Location | -| --- | --- | --- | --- | --- | -| axios | 0.26.1 | 0.26.1 | 0.27.2 | auth-server-template |
othOpen Template Hub © 2021
diff --git a/package.json b/package.json index ae77764..2d9c747 100644 --- a/package.json +++ b/package.json @@ -18,22 +18,22 @@ "@types/cors": "^2.8.9", "@types/express": "^4.17.6", "@types/uuid": "^8.3.4", - "axios": "^0.26.1", + "axios": "^0.27.2", "bcrypt": "^5.0.0", "body-parser": "^1.20.0", "capitalize": "^2.0.4", "cors": "^2.8.5", "crypto": "^1.0.1", - "dotenv": "^16.0.0", - "express": "^4.17.3", + "dotenv": "^16.0.1", + "express": "^4.18.1", "express-promise-router": "^4.1.1", "oauth-1.0a": "^2.2.6", "ts-node": "^10.7.0", - "typescript": "^4.6.3", + "typescript": "^4.6.4", "uuid": "^8.3.2" }, "devDependencies": { - "nodemon": "^2.0.15" + "nodemon": "^2.0.16" }, "git repository": "https://github.com/open-template-hub/auth-server-template", "repository": { From 89d40268592eda25b2d1309c795c300287790eb0 Mon Sep 17 00:00:00 2001 From: Furkan Yavuz Date: Mon, 16 May 2022 15:26:15 +0300 Subject: [PATCH 07/10] update readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c161cc..cfab246 100644 --- a/README.md +++ b/README.md @@ -146,3 +146,4 @@ Refer to **[CODE_OF_CONDUCT.md](https://github.com/open-template-hub/.github/blo ## LICENSE The source code for this project is released under the [MIT License](LICENSE). + From adafd9ee9a706030f3e2ee5b8f2cd572cad27372 Mon Sep 17 00:00:00 2001 From: Furkan Yavuz Date: Thu, 26 May 2022 08:53:05 +0300 Subject: [PATCH 08/10] update dependencies --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2d9c747..bea21a5 100644 --- a/package.json +++ b/package.json @@ -28,8 +28,8 @@ "express": "^4.18.1", "express-promise-router": "^4.1.1", "oauth-1.0a": "^2.2.6", - "ts-node": "^10.7.0", - "typescript": "^4.6.4", + "ts-node": "^10.8.0", + "typescript": "^4.7.2", "uuid": "^8.3.2" }, "devDependencies": { From 4710217930ef540750b85b1d5cd1962314a1440d Mon Sep 17 00:00:00 2001 From: Furkan Yavuz Date: Mon, 6 Jun 2022 20:03:17 +0300 Subject: [PATCH 09/10] remove dependabot --- .github/dependabot.yml | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index ffbaa92..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,14 +0,0 @@ -version: 2 - -updates: - - package-ecosystem: 'npm' - directory: '/' - schedule: - interval: 'weekly' - day: 'monday' - time: '08:00' - timezone: 'Etc/GMT' - target-branch: 'workflow/dependency-update' - labels: - - 'workflow' - milestone: 2 From 8d2669fe95d4c451678597483e84a045246e00c2 Mon Sep 17 00:00:00 2001 From: Furkan Yavuz Date: Fri, 10 Jun 2022 21:27:55 +0300 Subject: [PATCH 10/10] update workflows --- .github/workflows/cron-dependency-checker-workflow.yml | 2 +- .github/workflows/on-version-update.yml | 2 +- .github/workflows/pr-open-to-master-workflows.yml | 2 +- .run/install.run.xml | 2 +- .run/outdated.run.xml | 2 +- .run/postmanDevelop.run.xml | 2 +- .run/postmanLocal.run.xml | 2 +- .run/start.run.xml | 2 +- .run/startLocal.run.xml | 2 +- .run/update.run.xml | 2 +- package.json | 6 +++--- 11 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/cron-dependency-checker-workflow.yml b/.github/workflows/cron-dependency-checker-workflow.yml index 304b6b5..245a08e 100644 --- a/.github/workflows/cron-dependency-checker-workflow.yml +++ b/.github/workflows/cron-dependency-checker-workflow.yml @@ -17,7 +17,7 @@ jobs: - name: Install Node uses: actions/setup-node@v1 with: - node-version: 12 + node-version: 16 - name: NPM Install run: npm i diff --git a/.github/workflows/on-version-update.yml b/.github/workflows/on-version-update.yml index 113154c..a7d9fbd 100644 --- a/.github/workflows/on-version-update.yml +++ b/.github/workflows/on-version-update.yml @@ -21,7 +21,7 @@ jobs: - name: Install Node uses: actions/setup-node@v1 with: - node-version: 12 + node-version: 16 - name: Bump Version and Create Tag uses: phips28/gh-action-bump-version@master diff --git a/.github/workflows/pr-open-to-master-workflows.yml b/.github/workflows/pr-open-to-master-workflows.yml index 91f6b07..fad556d 100644 --- a/.github/workflows/pr-open-to-master-workflows.yml +++ b/.github/workflows/pr-open-to-master-workflows.yml @@ -21,7 +21,7 @@ jobs: - name: Install Node uses: actions/setup-node@v1 with: - node-version: 12 + node-version: 16 - name: Install Newman run: | diff --git a/.run/install.run.xml b/.run/install.run.xml index aac58f4..3ee7832 100644 --- a/.run/install.run.xml +++ b/.run/install.run.xml @@ -2,7 +2,7 @@ - + diff --git a/.run/outdated.run.xml b/.run/outdated.run.xml index 74f74e5..e0a8156 100644 --- a/.run/outdated.run.xml +++ b/.run/outdated.run.xml @@ -5,7 +5,7 @@