--wip-- [skip ci]

This commit is contained in:
2021-05-13 16:26:03 +02:00
parent 4f4d4e2024
commit 9dfac11a14
3 changed files with 13 additions and 5 deletions

View File

@@ -17,6 +17,7 @@ module.exports = {
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/camelcase': 'off', '@typescript-eslint/camelcase': 'off',
'vue/no-multiple-template-root': 'off',
'prettier-vue/prettier': [ 'prettier-vue/prettier': [
'error', 'error',
{ {

View File

@@ -4,7 +4,7 @@ import { GithubAccessToken } from '@/data/models/GithubAccessToken'
import { GithubToken } from '@/modules/user/interfaces/GithubToken' import { GithubToken } from '@/modules/user/interfaces/GithubToken'
import { GithubTokenError } from '@/modules/user/interfaces/GithubTokenError' import { GithubTokenError } from '@/modules/user/interfaces/GithubTokenError'
import { Octokit } from '@octokit/rest' import { Octokit } from '@octokit/rest'
import { addSeconds } from 'date-fns' import { addMinutes, addSeconds } from 'date-fns'
const AUTHENTICATION_SERVER = 'https://litenote.li212.fr' const AUTHENTICATION_SERVER = 'https://litenote.li212.fr'
const personalTokenId = 'token' const personalTokenId = 'token'
@@ -31,7 +31,7 @@ export const needToRefreshToken = async () => {
return false return false
} }
return new Date(accessToken.expirationDate) <= new Date() return new Date(accessToken.expirationDate) <= addMinutes(new Date(), -15)
} }
export const refreshToken = async () => { export const refreshToken = async () => {
@@ -44,9 +44,11 @@ export const refreshToken = async () => {
return null return null
} }
console.log(accessToken.refreshToken) const needRefresh = await needToRefreshToken()
if (await needToRefreshToken()) { console.log(accessToken.refreshToken, needRefresh)
if (needRefresh) {
const authenticationServerURL = new URL(AUTHENTICATION_SERVER) const authenticationServerURL = new URL(AUTHENTICATION_SERVER)
authenticationServerURL.searchParams.set('type', 'refresh') authenticationServerURL.searchParams.set('type', 'refresh')
authenticationServerURL.searchParams.set('code', accessToken.refreshToken) authenticationServerURL.searchParams.set('code', accessToken.refreshToken)

View File

@@ -8,10 +8,11 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent, defineAsyncComponent, computed } from 'vue' import { defineComponent, defineAsyncComponent, computed, onMounted } from 'vue'
import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook' import { useQueryStackedNotes } from '@/hooks/useQueryStackedNotes.hook'
import NewVersion from '@/components/NewVersion.vue' import NewVersion from '@/components/NewVersion.vue'
import Authorize from '@/components/Authorize.vue' import Authorize from '@/components/Authorize.vue'
import { refreshToken } from '@/modules/user/service/signIn'
const FluxNote = defineAsyncComponent(() => import('@/components/FluxNote.vue')) const FluxNote = defineAsyncComponent(() => import('@/components/FluxNote.vue'))
@@ -34,6 +35,10 @@ export default defineComponent({
setup(props) { setup(props) {
const { resetStackedNotes } = useQueryStackedNotes() const { resetStackedNotes } = useQueryStackedNotes()
onMounted(() => {
refreshToken()
})
return { return {
resetStackedNotes, resetStackedNotes,
routeKey: computed(() => `${props.user}-${props.repo}`) routeKey: computed(() => `${props.user}-${props.repo}`)