Skip to content

Commit

Permalink
fix: fix lint
Browse files Browse the repository at this point in the history
  • Loading branch information
JoaoPedroAS51 committed Apr 20, 2020
1 parent bd4ef66 commit 0a4e4f8
Show file tree
Hide file tree
Showing 13 changed files with 95 additions and 97 deletions.
18 changes: 9 additions & 9 deletions src/core/auth.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { routeOption, isRelativeURL, isSet, isSameURL, getProp } from '../utils'
import RefreshToken from '../inc/refresh-token'
import Token from '../inc/token'
import Storage from './storage'
import { AuthOptions, HTTPRequest, HTTPResponse } from '../types'
import Storage from './storage'

export default class Auth {
public ctx: any
Expand All @@ -15,8 +15,8 @@ export default class Auth {

private _errorListeners = []
private _redirectListeners = []
private _state_warn_shown: boolean
private _get_state_warn_shown: boolean
private _stateWarnShown: boolean
private _getStateWarnShown: boolean

public $storage: Storage
public $state
Expand Down Expand Up @@ -78,8 +78,8 @@ export default class Auth {

// Backward compatibility
get state () {
if (!this._state_warn_shown) {
this._state_warn_shown = true
if (!this._stateWarnShown) {
this._stateWarnShown = true
// eslint-disable-next-line no-console
console.warn('[AUTH] $auth.state is deprecated. Please use $auth.$state or top level props like $auth.loggedIn')
}
Expand All @@ -88,8 +88,8 @@ export default class Auth {
}

getState (key) {
if (!this._get_state_warn_shown) {
this._get_state_warn_shown = true
if (!this._getStateWarnShown) {
this._getStateWarnShown = true
// eslint-disable-next-line no-console
console.warn('[AUTH] $auth.getState is deprecated. Please use $auth.$storage.getState() or top level props like $auth.loggedIn')
}
Expand Down Expand Up @@ -255,7 +255,7 @@ export default class Auth {
return this.$storage.getState('busy')
}

request(endpoint: HTTPRequest, defaults = {}): Promise<HTTPResponse> {
request (endpoint: HTTPRequest, defaults = {}): Promise<HTTPResponse> {
const _endpoint =
typeof defaults === 'object'
? Object.assign({}, defaults, endpoint)
Expand All @@ -278,7 +278,7 @@ export default class Auth {
})
}

requestWith(strategy: string, endpoint: HTTPRequest, defaults?: HTTPRequest): Promise<HTTPResponse> {
requestWith (strategy: string, endpoint: HTTPRequest, defaults?: HTTPRequest): Promise<HTTPResponse> {
const token = this.token.get()

const _endpoint = Object.assign({}, defaults, endpoint)
Expand Down
2 changes: 1 addition & 1 deletion src/core/storage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ export default class Storage {
return parseCookie(cookieStr || '') || {}
}

setCookie(key, value, options: { prefix?: string } = {}) {
setCookie (key, value, options: { prefix?: string } = {}) {
if (!this.options.cookie || (process.server && !this.ctx.res)) {
return
}
Expand Down
2 changes: 1 addition & 1 deletion src/inc/refresh-controller.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import ExpiredAuthSessionError from './expired-auth-session-error'
import { Scheme, Auth } from '../types'
import ExpiredAuthSessionError from './expired-auth-session-error'

export default class RefreshController {
public $auth: Auth
Expand Down
2 changes: 1 addition & 1 deletion src/inc/refresh-token.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import jwtDecode, { InvalidTokenError } from 'jwt-decode'
import { addTokenPrefix } from '../utils'
import TokenStatus from './token-status'
import { Auth } from '../types'
import TokenStatus from './token-status'

export default class RefreshToken {
public $auth: Auth
Expand Down
6 changes: 3 additions & 3 deletions src/inc/request-handler.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { Auth, HTTPRequest } from '../types'

import ExpiredAuthSessionError from './expired-auth-session-error'
import { Auth } from '../types'
import { HTTPRequest } from '../types'

export default class RequestHandler {
constructor (public $auth: Auth) {}

_getUpdatedRequestConfig(config: HTTPRequest) {
_getUpdatedRequestConfig (config: HTTPRequest) {
config.headers[this.$auth.strategy.options.token.name] = this.$auth.token.get()
return config
}
Expand Down
12 changes: 6 additions & 6 deletions src/inc/token-status.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
export enum TokenStatusEnum {
UNKNOWN = 'UNKNOWN',
VALID = 'VALID',
EXPIRED = 'EXPIRED'
}

export default class TokenStatus {
private _status: TokenStatusEnum

Expand Down Expand Up @@ -40,9 +46,3 @@ export default class TokenStatus {
return TokenStatusEnum.EXPIRED === this._status
}
}

export enum TokenStatusEnum {
UNKNOWN = "UNKNOWN",
VALID = "VALID",
EXPIRED = "EXPIRED"
}
2 changes: 1 addition & 1 deletion src/inc/token.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import jwtDecode, { InvalidTokenError } from 'jwt-decode'
import { addTokenPrefix } from '../utils'
import { Auth } from '../types'
import TokenStatus from './token-status'
import RequestHandler from './request-handler'
import { Auth } from '../types'

export default class Token {
public requestHandler: RequestHandler
Expand Down
4 changes: 2 additions & 2 deletions src/schemes/_scheme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ import { Auth, SchemeOptions } from '../types'
export default class BaseScheme<OptionsT extends SchemeOptions> {
public options: OptionsT

constructor(public $auth: Auth, ...options: OptionsT[]) {
constructor (public $auth: Auth, ...options: OptionsT[]) {
this.options = options.reduce((p, c) => defu(p, c), {})
}

get name(): string {
get name (): string {
return this.options.name
}
}
2 changes: 1 addition & 1 deletion src/schemes/cookie.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import LocalScheme from './local'

export default class CookieScheme extends LocalScheme {
constructor($auth, options) {
constructor ($auth, options) {
super($auth, options, DEFAULTS)
}

Expand Down
72 changes: 36 additions & 36 deletions src/schemes/local.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,42 @@
import { getProp, getResponseProp } from '../utils'
import RequestHandler from '../inc/request-handler'
import BaseScheme from './_scheme'
import { SchemeOptions, HTTPRequest } from '../types'
import BaseScheme from './_scheme'

const DEFAULTS: SchemeOptions = {
name: 'local',
endpoints: {
login: {
url: '/api/auth/login',
method: 'post'
},
logout: {
url: '/api/auth/logout',
method: 'post'
},
user: {
url: '/api/auth/user',
method: 'get'
}
},
token: {
property: 'token',
type: 'Bearer',
name: 'Authorization',
maxAge: 1800,
global: true,
required: true
},
user: {
property: 'user',
autoFetch: true
},
clientId: {
property: 'client_id',
data: 'client_id',
prefix: '_client_id.'
}
}

export default class LocalScheme extends BaseScheme<typeof DEFAULTS> {
requestHandler: RequestHandler
Expand Down Expand Up @@ -157,38 +192,3 @@ export default class LocalScheme extends BaseScheme<typeof DEFAULTS> {
return Promise.resolve()
}
}

const DEFAULTS: SchemeOptions = {
name: 'local',
endpoints: {
login: {
url: '/api/auth/login',
method: 'post'
},
logout: {
url: '/api/auth/logout',
method: 'post'
},
user: {
url: '/api/auth/user',
method: 'get'
}
},
token: {
property: 'token',
type: 'Bearer',
name: 'Authorization',
maxAge: 1800,
global: true,
required: true
},
user: {
property: 'user',
autoFetch: true
},
clientId: {
property: 'client_id',
data: 'client_id',
prefix: '_client_id.'
}
}
63 changes: 31 additions & 32 deletions src/schemes/oauth2.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { nanoid } from 'nanoid'
import defu from 'defu'
import { encodeQuery, parseQuery, normalizePath } from '../utils'
import RefreshController from '../inc/refresh-controller'
import RequestHandler from '../inc/request-handler'
Expand All @@ -8,13 +7,42 @@ import BaseScheme from './_scheme'

const isHttps = process.server ? require('is-https') : null

const DEFAULTS = {
name: 'oauth2',
accessType: null,
redirectUri: null,
logoutRedirectUri: null,
clientId: null,
audience: null,
grantType: null,
endpoints: {
logout: '',
authorization: '',
token: '',
userInfo: ''
},
scope: [],
token: {
property: 'access_token',
type: 'Bearer',
name: 'Authorization',
maxAge: 1800,
global: true
},
refreshToken: {
property: 'refresh_token',
maxAge: 60 * 60 * 24 * 30
},
responseType: 'token'
}

export default class Oauth2Scheme extends BaseScheme<typeof DEFAULTS> {
public req
public name
public refreshController: RefreshController
public requestHandler: RequestHandler

constructor($auth, options) {
constructor ($auth, options) {
super($auth, options, DEFAULTS)

this.req = $auth.ctx.req
Expand Down Expand Up @@ -93,7 +121,7 @@ export default class Oauth2Scheme extends BaseScheme<typeof DEFAULTS> {
return Promise.resolve()
}

login(_opts: { state?, params?, nonce? } = {}) {
login (_opts: { state?, params?, nonce? } = {}) {
const opts = {
protocol: 'oauth2',
response_type: this.options.responseType,
Expand Down Expand Up @@ -266,32 +294,3 @@ export default class Oauth2Scheme extends BaseScheme<typeof DEFAULTS> {
return response
}
}

const DEFAULTS = {
name: 'oauth2',
accessType: null,
redirectUri: null,
logoutRedirectUri: null,
clientId: null,
audience: null,
grantType: null,
endpoints: {
logout: '',
authorization: '',
token: '',
userInfo: ''
},
scope: [],
token: {
property: 'access_token',
type: 'Bearer',
name: 'Authorization',
maxAge: 1800,
global: true
},
refreshToken: {
property: 'refresh_token',
maxAge: 60 * 60 * 24 * 30
},
responseType: 'token'
}
3 changes: 1 addition & 2 deletions src/schemes/refresh.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import defu from 'defu'
import { getResponseProp } from '../utils'
import RefreshController from '../inc/refresh-controller'
import ExpiredAuthSessionError from '../inc/expired-auth-session-error'
Expand All @@ -7,7 +6,7 @@ import LocalScheme from './local'
export default class RefreshScheme extends LocalScheme {
public refreshController: RefreshController

constructor($auth, options) {
constructor ($auth, options) {
super($auth, options, DEFAULTS)

// Initialize Refresh Controller
Expand Down
4 changes: 2 additions & 2 deletions src/utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ export function parseQuery (queryString) {
return query
}

export function encodeQuery (queryObject: {[key: string]: string} ) {
export function encodeQuery (queryObject: {[key: string]: string}) {
return Object.entries(queryObject)
.filter(([key, value]) => typeof value !== 'undefined')
.map(([key, value]) =>
encodeURIComponent(key) + (value != null ? '=' + encodeURIComponent(value) : '')
encodeURIComponent(key) + (value != null ? '=' + encodeURIComponent(value) : '')
)
.join('&')
}
Expand Down

0 comments on commit 0a4e4f8

Please sign in to comment.