Moved audit logs to org-level entirely

This commit is contained in:
Daniel Hougaard
2024-09-18 16:52:54 +04:00
parent b5660c87a0
commit 0f70c3ea9a
9 changed files with 12 additions and 32 deletions

View File

@@ -1,6 +1,7 @@
import { OrgPermissionActions, OrgPermissionSubjects } from "@app/context";
import { withPermission } from "@app/hoc";
import { LogsSection } from "@app/views/Project/AuditLogsPage/components";
import { LogsSection } from "./components";
export const AuditLogsPage = withPermission(
() => {
@@ -16,5 +17,5 @@ export const AuditLogsPage = withPermission(
</div>
);
},
{ action: OrgPermissionActions.Read, subject: OrgPermissionSubjects.Member } // TODO(Daniel): Create a permission for org audit logs
{ action: OrgPermissionActions.Read, subject: OrgPermissionSubjects.AuditLogs }
);

View File

@@ -199,7 +199,7 @@ export const LogsFilter = ({
<Controller
control={control}
name="userAgentType"
render={({ field: { onChange, ...field }, fieldState: { error } }) => (
render={({ field: { onChange, value, ...field }, fieldState: { error } }) => (
<FormControl
label="Source"
errorText={error?.message}
@@ -207,7 +207,7 @@ export const LogsFilter = ({
className="w-40"
>
<Select
{...(field.value ? { value: field.value } : { placeholder: "All sources" })}
value={value === undefined ? "all" : value}
{...field}
onValueChange={(e) => {
if (e === "all") onChange(undefined);
@@ -215,14 +215,14 @@ export const LogsFilter = ({
}}
className={twMerge(
"w-full border border-mineshaft-500 bg-mineshaft-700 text-mineshaft-100",
(field.value === "all" || field.value === undefined) && "text-mineshaft-400"
value === undefined && "text-mineshaft-400"
)}
>
<SelectItem value="all" key="all">
All sources
</SelectItem>
{userAgentTypes.map(({ label, value }) => (
<SelectItem value={String(value || "")} key={label}>
{userAgentTypes.map(({ label, value: userAgent }) => (
<SelectItem value={userAgent} key={label}>
{label}
</SelectItem>
))}
@@ -235,7 +235,7 @@ export const LogsFilter = ({
<Controller
control={control}
name="projectId"
render={({ field: { onChange, ...field }, fieldState: { error } }) => (
render={({ field: { onChange, value, ...field }, fieldState: { error } }) => (
<FormControl
label="Project"
errorText={error?.message}
@@ -243,7 +243,7 @@ export const LogsFilter = ({
className="w-40"
>
<Select
{...(field.value ? { value: field.value } : { placeholder: "All projects" })}
value={value === undefined ? "all" : value}
{...field}
onValueChange={(e) => {
if (e === "all") onChange(undefined);
@@ -251,7 +251,7 @@ export const LogsFilter = ({
}}
className={twMerge(
"w-full border border-mineshaft-500 bg-mineshaft-700 text-mineshaft-100",
(field.value === "all" || field.value === undefined) && "text-mineshaft-400"
value === undefined && "text-mineshaft-400"
)}
>
<SelectItem value="all" key="all">

View File

@@ -47,6 +47,7 @@ export const LogsSection = ({
const { control, reset, watch } = useForm<AuditLogFilterFormData>({
resolver: yupResolver(auditLogFilterFormSchema),
defaultValues: {
projectId: undefined,
actor: presets?.actorId,
eventType: presets?.eventType || [],
page: 1,

View File

@@ -1,21 +0,0 @@
import { ProjectPermissionActions, ProjectPermissionSub } from "@app/context";
import { withProjectPermission } from "@app/hoc";
import { LogsSection } from "./components";
export const AuditLogsPage = withProjectPermission(
() => {
return (
<div className="flex h-full w-full justify-center bg-bunker-800 text-white">
<div className="w-full max-w-7xl px-6">
<div className="sticky top-0 z-10 bg-bunker-800 py-6">
<p className="text-3xl font-semibold text-gray-200">Audit Logs</p>
<div />
</div>
<LogsSection showFilters />
</div>
</div>
);
},
{ action: ProjectPermissionActions.Read, subject: ProjectPermissionSub.AuditLogs }
);

View File

@@ -1 +0,0 @@
export { AuditLogsPage } from "./AuditLogsPage";