mirror of
https://github.com/Bubka/2FAuth.git
synced 2024-11-26 18:25:09 +01:00
141 lines
3.2 KiB
JavaScript
Vendored
141 lines
3.2 KiB
JavaScript
Vendored
import { httpClientFactory } from '@/services/httpClientFactory'
|
|
|
|
const apiClient = httpClientFactory('api')
|
|
const webClient = httpClientFactory('web')
|
|
|
|
export default {
|
|
/**
|
|
* Get current signed-in user preferences
|
|
*
|
|
* @returns promise
|
|
*/
|
|
getPreferences(config = {}) {
|
|
return apiClient.get('/user/preferences', { ...config })
|
|
},
|
|
|
|
/**
|
|
* Update a user preference
|
|
*
|
|
* @param {string} name
|
|
* @param {any} value
|
|
* @returns promise
|
|
*/
|
|
updatePreference(name, value, config = {}) {
|
|
return apiClient.put('/user/preferences/' + name, { value: value }, { ...config })
|
|
},
|
|
|
|
/**
|
|
* Get all webauthn devices
|
|
*
|
|
* @param {string} name
|
|
* @param {any} value
|
|
* @returns promise
|
|
*/
|
|
getWebauthnDevices(config = {}) {
|
|
return webClient.get('/webauthn/credentials', { ...config })
|
|
},
|
|
|
|
/**
|
|
* Revoke a webauthn device
|
|
*
|
|
* @param {string} name
|
|
* @param {any} value
|
|
* @returns promise
|
|
*/
|
|
revokeWebauthnDevice(credentialId, config = {}) {
|
|
return webClient.delete('/webauthn/credentials/' + credentialId, { ...config })
|
|
},
|
|
|
|
/**
|
|
* Get all user PATs
|
|
*
|
|
* @param {*} config
|
|
* @returns promise
|
|
*/
|
|
getPersonalAccessTokens(config = {}) {
|
|
return webClient.get('/oauth/personal-access-tokens', { ...config })
|
|
},
|
|
|
|
/**
|
|
* Delete a user PAT
|
|
*
|
|
* @param {*} tokenId
|
|
* @returns promise
|
|
*/
|
|
deletePersonalAccessToken(tokenId, config = {}) {
|
|
return webClient.delete('/oauth/personal-access-tokens/' + tokenId, { ...config })
|
|
},
|
|
|
|
/**
|
|
* Get all registered users
|
|
*
|
|
* @returns promise
|
|
*/
|
|
getAll(config = {}) {
|
|
return apiClient.get('/users', { ...config })
|
|
},
|
|
|
|
/**
|
|
* Get a registered user by id
|
|
*
|
|
* @returns promise
|
|
*/
|
|
getById(id, config = {}) {
|
|
return apiClient.get('/users/' + id, { ...config })
|
|
},
|
|
|
|
/**
|
|
* Reset user password
|
|
*
|
|
* @returns promise
|
|
*/
|
|
resetPassword(id, config = {}) {
|
|
return apiClient.patch('/users/' + id + '/password/reset', {}, { ...config })
|
|
},
|
|
|
|
/**
|
|
* Delete user
|
|
*
|
|
* @returns promise
|
|
*/
|
|
delete(id, config = {}) {
|
|
return apiClient.delete('/users/' + id, { ...config })
|
|
},
|
|
|
|
/**
|
|
* Promote or demote user from the admin role
|
|
*
|
|
* @returns promise
|
|
*/
|
|
promote(id, payload, config = {}) {
|
|
return apiClient.patch('/users/' + id + '/promote', payload, { ...config })
|
|
},
|
|
|
|
/**
|
|
* Purge user's PATs
|
|
*
|
|
* @returns promise
|
|
*/
|
|
revokePATs(id, config = {}) {
|
|
return apiClient.delete('/users/' + id + '/pats', { ...config })
|
|
},
|
|
|
|
/**
|
|
* Purge user's PATs
|
|
*
|
|
* @returns promise
|
|
*/
|
|
revokeWebauthnCredentials(id, config = {}) {
|
|
return apiClient.delete('/users/' + id + '/credentials', { ...config })
|
|
},
|
|
|
|
/**
|
|
* Get user's authentication logs
|
|
*
|
|
* @returns promise
|
|
*/
|
|
getauthentications(id, period = 90, limit, config = {}) {
|
|
return apiClient.get('/users/' + id + '/authentications?period=' + period + (limit ? '&limit=' + limit : ''), { ...config })
|
|
},
|
|
|
|
} |