Skip to content

Commit c83894c

Browse files
committed
refactor: revert otplib update; add optional chaining wherever required
1 parent d19a4c8 commit c83894c

File tree

6 files changed

+58
-86
lines changed

6 files changed

+58
-86
lines changed

.talismanrc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
fileignoreconfig:
2-
- filename: test/unit/ContentstackClient-test.js
3-
checksum: ffeb69822e7614a9ab14bb26f5f3ec8bdbbb6d3feb259064bda6c1379e3c7d37
42
- filename: lib/contentstackClient.js
53
checksum: f564f6eee5c17dc73abdeab4be226a3b37942893e149d907d2a4ef415c485c5e
64
- filename: test/unit/globalField-test.js
@@ -13,7 +11,9 @@ fileignoreconfig:
1311
ignore_detectors:
1412
- filecontent
1513
- filename: package-lock.json
16-
checksum: 93c75c1df186c336aea23c74bbefd98067d4509a42e867b0afe76e9dc65511b0
14+
checksum: 92b88ce00603ede68344bac6bd6bf76bdb76f1e5f5ba8d1d0c79da2b72c5ecc0
15+
- filename: test/unit/ContentstackClient-test.js
16+
checksum: 5d8519b5b93c715e911a62b4033614cc4fb3596eabf31c7216ecb4cc08604a73
1717
- filename: .husky/pre-commit
1818
checksum: 52a664f536cf5d1be0bea19cb6031ca6e8107b45b6314fe7d47b7fad7d800632
1919
- filename: test/sanity-check/api/user-test.js

lib/contentstackClient.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import cloneDeep from 'lodash/cloneDeep'
77
import { User } from './user/index'
88
import error from './core/contentstackError'
99
import OAuthHandler from './core/oauthHandler'
10-
import { generateSync } from 'otplib'
10+
import { authenticator } from 'otplib'
1111

1212
export default function contentstackClient ({ http }) {
1313
/**
@@ -43,7 +43,7 @@ export default function contentstackClient ({ http }) {
4343
requestBody = credentials
4444

4545
if (!requestBody.tfa_token && mfaSecret) {
46-
requestBody.tfa_token = generateSync({ secret: mfaSecret })
46+
requestBody.tfa_token = authenticator.generate(mfaSecret)
4747
}
4848
return http.post('/user-session', { user: requestBody }, { params: params })
4949
.then((response) => {

lib/core/concurrency-queue.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,7 @@ export function ConcurrencyQueue ({ axios, config, plugins = [] }) {
210210
safeAxiosRequest(requestConfig)
211211
.then((response) => {
212212
// On successful retry, call the original onComplete to properly clean up
213-
if (error.config && error.config.onComplete) {
214-
error.config.onComplete()
215-
}
213+
error?.config?.onComplete?.()
216214
shift() // Process next queued request
217215
resolve(response)
218216
})
@@ -224,17 +222,13 @@ export function ConcurrencyQueue ({ axios, config, plugins = [] }) {
224222
.then(resolve)
225223
.catch((finalError) => {
226224
// On final failure, clean up the running queue
227-
if (error.config && error.config.onComplete) {
228-
error.config.onComplete()
229-
}
225+
error?.config?.onComplete?.()
230226
shift() // Process next queued request
231227
reject(finalError)
232228
})
233229
} else {
234230
// On non-retryable error, clean up the running queue
235-
if (error.config && error.config.onComplete) {
236-
error.config.onComplete()
237-
}
231+
error?.config?.onComplete?.()
238232
shift() // Process next queued request
239233
reject(retryError)
240234
}
@@ -483,7 +477,7 @@ export function ConcurrencyQueue ({ axios, config, plugins = [] }) {
483477
? error.message
484478
: 'Network request failed: error object missing request config'
485479
)
486-
if (error && error.code) fallbackError.code = error.code
480+
fallbackError.code = error?.code
487481
fallbackError.originalError = error
488482
return Promise.reject(runPluginOnResponseForError(fallbackError))
489483
}

package-lock.json

Lines changed: 46 additions & 68 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
"form-data": "^4.0.5",
6060
"husky": "^9.1.7",
6161
"lodash": "^4.17.23",
62-
"otplib": "^13.2.1",
62+
"otplib": "^12.0.1",
6363
"qs": "6.14.1",
6464
"stream-browserify": "^3.0.0"
6565
},

test/unit/ContentstackClient-test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ describe('Contentstack Client', () => {
239239
})
240240

241241
it('should handle login with TOTP secret', done => {
242-
const mfaSecret = 'JBSWY3DPEHPK3PXPJBSWY3DPEHPK3PXP'
242+
const mfaSecret = 'MFASECRET'
243243

244244
mock.onPost('/user-session').reply(config => {
245245
const data = JSON.parse(config.data)
@@ -416,7 +416,7 @@ describe('Contentstack Client', () => {
416416
.login({
417417
email: 'test@example.com',
418418
password: 'password123',
419-
mfaSecret: 'JBSWY3DPEHPK3PXPJBSWY3DPEHPK3PXP'
419+
mfaSecret: 'MFASECRET'
420420
})
421421
.then(response => {
422422
expect(response.user.authtoken).to.equal('Test Auth')

0 commit comments

Comments
 (0)