2023-10-04 09:30:05 +02:00
|
|
|
import { httpClientFactory } from '@/services/httpClientFactory'
|
|
|
|
|
|
|
|
const apiClient = httpClientFactory('api')
|
2023-10-05 14:05:42 +02:00
|
|
|
const webClient = httpClientFactory('web')
|
2023-10-04 09:30:05 +02:00
|
|
|
|
|
|
|
export default {
|
|
|
|
/**
|
2023-10-05 14:05:42 +02:00
|
|
|
* Update a user preference
|
2023-10-04 09:30:05 +02:00
|
|
|
*
|
2023-10-05 14:05:42 +02:00
|
|
|
* @param {string} name
|
|
|
|
* @param {any} value
|
|
|
|
* @returns promise
|
2023-10-04 09:30:05 +02:00
|
|
|
*/
|
2023-10-30 12:57:19 +01:00
|
|
|
updatePreference(name, value, config = {}) {
|
|
|
|
return apiClient.put('/user/preferences/' + name, { value: value }, { ...config })
|
2023-10-04 09:30:05 +02:00
|
|
|
},
|
2023-10-05 14:09:04 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Get all webauthn devices
|
|
|
|
*
|
|
|
|
* @param {string} name
|
|
|
|
* @param {any} value
|
|
|
|
* @returns promise
|
|
|
|
*/
|
|
|
|
getWebauthnDevices(config = {}) {
|
2023-10-30 12:57:19 +01:00
|
|
|
return webClient.get('/webauthn/credentials', { ...config })
|
2023-10-05 14:09:04 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Revoke a webauthn device
|
|
|
|
*
|
|
|
|
* @param {string} name
|
|
|
|
* @param {any} value
|
|
|
|
* @returns promise
|
|
|
|
*/
|
|
|
|
revokeWebauthnDevice(credentialId, config = {}) {
|
2023-10-30 12:57:19 +01:00
|
|
|
return webClient.delete('/webauthn/credentials/' + credentialId, { ...config })
|
2023-10-05 14:09:04 +02:00
|
|
|
},
|
2023-10-06 10:45:10 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Get all user PATs
|
|
|
|
*
|
|
|
|
* @param {*} config
|
|
|
|
* @returns
|
|
|
|
*/
|
|
|
|
getPersonalAccessTokens(config = {}) {
|
2023-10-30 12:57:19 +01:00
|
|
|
return webClient.get('/oauth/personal-access-tokens', { ...config })
|
2023-10-06 10:45:10 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Delete a user PAT
|
|
|
|
*
|
|
|
|
* @param {*} tokenId
|
|
|
|
* @returns
|
|
|
|
*/
|
|
|
|
deletePersonalAccessToken(tokenId, config = {}) {
|
2023-10-30 12:57:19 +01:00
|
|
|
return webClient.delete('/oauth/personal-access-tokens/' + tokenId, { ...config })
|
2023-10-06 10:45:10 +02:00
|
|
|
}
|
2023-10-04 09:30:05 +02:00
|
|
|
|
|
|
|
}
|