mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-15 07:35:09 +00:00
77 lines
1.9 KiB
TypeScript
77 lines
1.9 KiB
TypeScript
import SecurityClient from "@app/components/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
|
|
};
|
|
} 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
|
|
};
|
|
} 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;
|
|
}
|
|
console.log("Failed to get project logs");
|
|
return undefined;
|
|
});
|
|
};
|
|
|
|
export default getProjectLogs;
|