Service tokens update on frontend

This commit is contained in:
Vladyslav Matsiiako
2023-01-04 18:54:45 -08:00
parent 6c88c4dc36
commit 9cf28fef5f
7 changed files with 107 additions and 80 deletions
@@ -5,14 +5,21 @@ interface Props {
workspaceId: string;
environment: string;
expiresIn: number;
publicKey: string;
encryptedKey: string;
nonce: string;
iv: string;
tag: string;
}
/**
* This route gets service tokens for a specific user in a project
* @param {*} param0
* @param {object} obj
* @param {string} obj.name - name of the service token
* @param {string} obj.workspaceId - workspace for which we are issuing the token
* @param {string} obj.environment - environment for which we are issuing the token
* @param {string} obj.expiresIn - how soon the service token expires in ms
* @param {string} obj.encryptedKey - encrypted project key through random symmetric encryption
* @param {string} obj.iv - obtained through symmetric encryption
* @param {string} obj.tag - obtained through symmetric encryption
* @returns
*/
const addServiceToken = ({
@@ -20,11 +27,11 @@ const addServiceToken = ({
workspaceId,
environment,
expiresIn,
publicKey,
encryptedKey,
nonce
iv,
tag
}: Props) => {
return SecurityClient.fetchCall('/api/v1/service-token/', {
return SecurityClient.fetchCall('/api/v2/service-token-data/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
@@ -34,13 +41,13 @@ const addServiceToken = ({
workspaceId,
environment,
expiresIn,
publicKey,
encryptedKey,
nonce
iv,
tag
})
}).then(async (res) => {
if (res && res.status == 200) {
return (await res.json()).token;
return (await res.json()).serviceToken;
} else {
console.log('Failed to add service tokens');
}
@@ -0,0 +1,30 @@
import SecurityClient from '~/utilities/SecurityClient';
interface Props {
serviceTokenId: string;
}
/**
* This route revokes a specific service token
* @param {object} obj
* @param {string} obj.serviceTokenId - id of a cervice token that we want to delete
* @returns
*/
const deleteServiceToken = ({
serviceTokenId,
}: Props) => {
return SecurityClient.fetchCall('/api/v2/service-token-data/' + serviceTokenId, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json'
},
}).then(async (res) => {
if (res && res.status == 200) {
return (await res.json());
} else {
console.log('Failed to delete a service token');
}
});
};
export default deleteServiceToken;
@@ -7,7 +7,7 @@ import SecurityClient from '~/utilities/SecurityClient';
*/
const getServiceTokens = ({ workspaceId }: { workspaceId: string }) => {
return SecurityClient.fetchCall(
'/api/v1/workspace/' + workspaceId + '/service-tokens',
'/api/v2/workspace/' + workspaceId + '/service-token-data',
{
method: 'GET',
headers: {
@@ -16,7 +16,7 @@ const getServiceTokens = ({ workspaceId }: { workspaceId: string }) => {
}
).then(async (res) => {
if (res && res.status == 200) {
return (await res.json()).serviceTokens;
return (await res.json()).serviceTokenData;
} else {
console.log('Failed to get service tokens');
}