mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-26 22:22:10 +00:00
27c2d1c16e
* [web] Personal Access Token Settings UI * [web] Add Personal Access Token Settings UI to settings page * [web] Added `personal-access-token-settings` unit tests GitOrigin-RevId: 353b2f1a2b57c3292554f129be6cbb4f8f8382f8
86 lines
2.4 KiB
JavaScript
86 lines
2.4 KiB
JavaScript
const MOCK_DELAY = 1000
|
|
|
|
export function defaultSetupMocks(fetchMock) {
|
|
fetchMock
|
|
.post('/user/oauth-unlink', 200, { delay: MOCK_DELAY })
|
|
.get(
|
|
'express:/user/tpds/queues',
|
|
{ tpdsToWeb: 0, webToTpds: 0 },
|
|
{ delay: MOCK_DELAY }
|
|
)
|
|
}
|
|
|
|
export function setDefaultMeta() {
|
|
window.metaAttributesCache.set('ol-user', {
|
|
...window.metaAttributesCache.get('ol-user'),
|
|
features: { github: true, dropbox: true, mendeley: false, zotero: false },
|
|
refProviders: {
|
|
mendeley: true,
|
|
zotero: true,
|
|
},
|
|
})
|
|
window.metaAttributesCache.set('ol-github', { enabled: false })
|
|
window.metaAttributesCache.set('ol-dropbox', { registered: true })
|
|
window.metaAttributesCache.set('ol-thirdPartyIds', {
|
|
collabratec: 'collabratec-id',
|
|
google: 'google-id',
|
|
twitter: 'twitter-id',
|
|
})
|
|
|
|
window.metaAttributesCache.set('ol-oauthProviders', {
|
|
collabratec: {
|
|
descriptionKey: 'linked_collabratec_description',
|
|
descriptionOptions: { appName: 'Overleaf' },
|
|
name: 'IEEE Collabratec®',
|
|
hideWhenNotLinked: true,
|
|
linkPath: '/collabratec/auth/link',
|
|
},
|
|
google: {
|
|
descriptionKey: 'login_with_service',
|
|
descriptionOptions: { service: 'Google' },
|
|
name: 'Google',
|
|
linkPath: '/auth/google',
|
|
},
|
|
orcid: {
|
|
descriptionKey: 'oauth_orcid_description',
|
|
descriptionOptions: {
|
|
link: '/blog/434',
|
|
appName: 'Overleaf',
|
|
},
|
|
name: 'ORCID',
|
|
linkPath: '/auth/orcid',
|
|
},
|
|
twitter: {
|
|
hideWhenNotLinked: true,
|
|
name: 'Twitter',
|
|
linkPath: '/auth/twitter',
|
|
},
|
|
})
|
|
window.metaAttributesCache.delete('integrationLinkingWidgets')
|
|
window.metaAttributesCache.delete('referenceLinkingWidgets')
|
|
window.metaAttributesCache.delete('ol-ssoErrorMessage')
|
|
}
|
|
|
|
export function setPersonalAccessTokensMeta() {
|
|
function generateToken(_id) {
|
|
const oneYearFromNow = new Date()
|
|
oneYearFromNow.setFullYear(oneYearFromNow.getFullYear() + 1)
|
|
|
|
const tokenHasBeenUsed = Math.random() > 0.5
|
|
|
|
return {
|
|
_id,
|
|
accessTokenPartial: 'olp_abc' + _id,
|
|
createdAt: new Date(),
|
|
accessTokenExpiresAt: oneYearFromNow,
|
|
lastUsedAt: tokenHasBeenUsed ? new Date() : undefined,
|
|
}
|
|
}
|
|
const tokens = []
|
|
for (let i = 0; i < 6; i++) {
|
|
tokens.push(generateToken(i))
|
|
}
|
|
|
|
window.metaAttributesCache.set('ol-personalAccessTokens', tokens)
|
|
window.metaAttributesCache.set('ol-showPersonalAccessToken', true)
|
|
}
|