Skip to content

Commit

Permalink
Clean unnecessary code up
Browse files Browse the repository at this point in the history
  • Loading branch information
pablogadhi committed Sep 19, 2023
1 parent b6e3ba0 commit d82f8af
Show file tree
Hide file tree
Showing 10 changed files with 5 additions and 153 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,7 @@ import request from './fixtures/request.json'
export const axiosMock = new MockAdapter(axios)

describe('useSimpleTokenUser', () => {
const OLD_ENV = process.env
// let axiosMock: MockAdapter

beforeEach(() => {
// jest.resetModules()
// process.env = { ...OLD_ENV, NEXT_PUBLIC_TOKEN_TYPE: 'simple' }
// const { axios } = require('@baseapp-frontend/utils')
// axiosMock = new MockAdapter(axios)
})

afterAll(() => {
process.env = OLD_ENV
})

test('should user be present for authenticated', async () => {
// const { useSimpleTokenUser } = require('../index')
;(Cookies.get as CookiesGetByNameFn) = jest.fn(() => 'fake token')

axiosMock.onGet('/users/me').reply(200, request)
Expand All @@ -48,7 +33,6 @@ describe('useSimpleTokenUser', () => {
})

test('can use a custom type interface', async () => {
// const { useSimpleTokenUser } = require('../index')
;(Cookies.get as CookiesGetByNameFn) = jest.fn(() => 'fake token')

interface ICustomUser extends IUser {
Expand All @@ -67,7 +51,6 @@ describe('useSimpleTokenUser', () => {
})

test('should remove cookie if 401', async () => {
// const { useSimpleTokenUser } = require('../index')
;(Cookies.get as CookiesGetByNameFn) = jest.fn(() => 'fake token')
;(Cookies.remove as CookiesGetByNameFn) = jest.fn(() => '')

Expand Down
1 change: 0 additions & 1 deletion packages/authentication/services/user.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { axios } from '@baseapp-frontend/utils'

// import { getAxiosInstance } from '@baseapp-frontend/utils'
import { IUser } from '../types/user'

export default class UserApi {
Expand Down
4 changes: 0 additions & 4 deletions packages/authentication/types/auth.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,6 @@ export interface IRegisterRequest {
acceptConsent?: boolean
}

export interface IRefreshTokenRequest {
refreshToken: string
}

export interface ICookieName {
cookieName?: string
refreshCookieName?: string
Expand Down
48 changes: 5 additions & 43 deletions packages/core/src/axios.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,8 @@ import _axios from 'axios'
import humps from 'humps'
import Cookies from 'js-cookie'

import { readExpiry, storeExpiry } from './local-storage-helper'
import { buildQueryString } from './queryString'

// decrypt encrypted data
async function refreshToken() {
// place request to backend service to refresh token
const response = await _axios.put('/api/token/refresh/')
// update stored instance
storeExpiry('auth_token', response.data.token, true)
// update axios instance with new token
return response.refresh
}

function createAxiosInstance({ file = false } = {}) {
const instance = _axios.create({
baseURL: process.env.NEXT_PUBLIC_API_BASE_URL,
Expand All @@ -29,19 +18,14 @@ function createAxiosInstance({ file = false } = {}) {
instance.defaults.headers.patch['Content-Type'] = contentType
instance.defaults.headers.put['Content-Type'] = contentType

instance.interceptors.request.use(async (request) => {
let authToken = Cookies.get('Authorization')
instance.interceptors.request.use((request) => {
const authToken = Cookies.get('Authorization')
if (authToken) {
if (request.headers && !request.headers.Authorization) {
const token = readExpiry(authToken)
if (token.response != null && token.expired) {
authToken = await refreshToken()
}
request.headers.Authorization = `Token ${authToken}`
}
}
console.log('!!!authToken', authToken)
console.log('!!!request', request)

if (request.data && !file) {
request.data = JSON.stringify(humps.decamelizeKeys(request.data))
}
Expand All @@ -56,34 +40,12 @@ function createAxiosInstance({ file = false } = {}) {
}
return response
},
async (error) => {
(error) => {
if (error.response.data && error.response.headers?.['content-type'] === 'application/json') {
const newError = { response: { data: {} } }
newError.response.data = humps.camelizeKeys(error.response.data)
}
const { status, data } = error.response
switch (status) {
case 401:
// check if 401 error was token
console.log('!!!data.message', data.message)
if (data.message === 'An unauthenticated request was made, Please try again') {
// token has expired;
try {
// attempting to refresh token;
await refreshToken()
// token refreshed, reattempting request;
const { config } = error
// configure new request in a new instance;
return await _axios({ method: config.method, url: config.url, data: config.data })
} catch (e) {
console.log(e)
}
}
return Promise.reject(error)

default:
return Promise.reject(error)
}
return Promise.reject(error)
},
)

Expand Down
75 changes: 0 additions & 75 deletions packages/core/src/local-storage-helper.ts

This file was deleted.

1 change: 0 additions & 1 deletion packages/provider/tsconfig.tsbuildinfo

This file was deleted.

1 change: 0 additions & 1 deletion packages/test/tsconfig.tsbuildinfo

This file was deleted.

2 changes: 0 additions & 2 deletions packages/utils/functions/axios/utils.ts

This file was deleted.

2 changes: 0 additions & 2 deletions packages/utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ export * from './functions/form'
export * from './functions/string'
export * from './functions/token'

export * from './functions/axios/utils'

export { default as useDebounce } from './hooks/useDebounce'

export type { IDjangoPaginatedResponse, OrderingDirection } from './types/django'
Expand Down
7 changes: 0 additions & 7 deletions packages/utils/types/jwt.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
export interface IJWT {
token_type: 'access' | 'refresh'
exp: number
iat: number
jti: string
}

export interface IJWTResponse {
access: string
refresh: string
Expand Down

0 comments on commit d82f8af

Please sign in to comment.