mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
73 lines
1.9 KiB
TypeScript
73 lines
1.9 KiB
TypeScript
import SecurityClient from '~/utilities/SecurityClient';
|
|
|
|
|
|
interface workspaceProps {
|
|
workspaceId: string;
|
|
offset: number;
|
|
limit: number;
|
|
userId: string;
|
|
actionNames: string;
|
|
}
|
|
|
|
/**
|
|
* This function fetches the activity logs for a certain project
|
|
* @param {object} obj
|
|
* @param {string} obj.workspaceId - workspace id for which we are trying to get project log
|
|
* @param {object} obj.offset - teh starting point of logs that we want to pull
|
|
* @param {object} obj.limit - how many logs will we output
|
|
* @param {object} obj.userId - optional userId filter - will only query logs for that user
|
|
* @param {string} obj.actionNames - optional actionNames filter - will only query logs for those actions
|
|
* @returns
|
|
*/
|
|
const getProjectLogs = async ({ workspaceId, offset, limit, userId, actionNames }: workspaceProps) => {
|
|
let payload;
|
|
if (userId != "" && actionNames != '') {
|
|
payload = {
|
|
offset: String(offset),
|
|
limit: String(limit),
|
|
sortBy: 'recent',
|
|
userId: JSON.stringify(userId),
|
|
actionNames: actionNames
|
|
}
|
|
} else if (userId != "") {
|
|
payload = {
|
|
offset: String(offset),
|
|
limit: String(limit),
|
|
sortBy: 'recent',
|
|
userId: JSON.stringify(userId)
|
|
}
|
|
} else if (actionNames != "") {
|
|
payload = {
|
|
offset: String(offset),
|
|
limit: String(limit),
|
|
sortBy: 'recent',
|
|
actionNames: actionNames
|
|
}
|
|
} else {
|
|
payload = {
|
|
offset: String(offset),
|
|
limit: String(limit),
|
|
sortBy: 'recent'
|
|
}
|
|
}
|
|
|
|
return SecurityClient.fetchCall(
|
|
'/api/v1/workspace/' + workspaceId + '/logs?' +
|
|
new URLSearchParams(payload),
|
|
{
|
|
method: 'GET',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
}
|
|
).then(async (res) => {
|
|
if (res && res.status == 200) {
|
|
return (await res.json()).logs;
|
|
} else {
|
|
console.log('Failed to get project logs');
|
|
}
|
|
});
|
|
};
|
|
|
|
export default getProjectLogs;
|