Fix type issues

This commit is contained in:
Tuan Dang
2024-12-05 23:16:31 -08:00
parent 82a4b89bb5
commit ec1ce3dc06
8 changed files with 14 additions and 29 deletions
@@ -1,6 +1,3 @@
export { OrgPermissionProvider, useOrgPermission } from "./OrgPermissionContext"; export { OrgPermissionProvider, useOrgPermission } from "./OrgPermissionContext";
export type { TOrgPermission } from "./types"; export type { TOrgPermission } from "./types";
export { export { OrgPermissionActions, OrgPermissionSubjects } from "./types";
OrgPermissionActions,
OrgPermissionSshCertificateTemplateActions,
OrgPermissionSubjects} from "./types";
@@ -53,6 +53,6 @@ export type OrgPermissionSet =
| [OrgPermissionActions, OrgPermissionSubjects.ProjectTemplates] | [OrgPermissionActions, OrgPermissionSubjects.ProjectTemplates]
| [OrgPermissionActions, OrgPermissionSubjects.SshCertificateAuthorities] | [OrgPermissionActions, OrgPermissionSubjects.SshCertificateAuthorities]
| [OrgPermissionActions, OrgPermissionSubjects.SshCertificates] | [OrgPermissionActions, OrgPermissionSubjects.SshCertificates]
| [OrgPermissionSshCertificateTemplateActions, OrgPermissionSubjects.SshCertificateTemplates]; | [OrgPermissionActions, OrgPermissionSubjects.SshCertificateTemplates];
export type TOrgPermission = MongoAbility<OrgPermissionSet>; export type TOrgPermission = MongoAbility<OrgPermissionSet>;
-1
View File
@@ -4,7 +4,6 @@ export type { TOrgPermission } from "./OrgPermissionContext";
export { export {
OrgPermissionActions, OrgPermissionActions,
OrgPermissionProvider, OrgPermissionProvider,
OrgPermissionSshCertificateTemplateActions,
OrgPermissionSubjects, OrgPermissionSubjects,
useOrgPermission useOrgPermission
} from "./OrgPermissionContext"; } from "./OrgPermissionContext";
@@ -13,13 +13,6 @@ const generalPermissionSchema = z
}) })
.optional(); .optional();
const sshCertificateSchema = z
.object({
read: z.boolean().optional(),
create: z.boolean().optional()
})
.optional();
const adminConsolePermissionSchmea = z const adminConsolePermissionSchmea = z
.object({ .object({
"access-all-projects": z.boolean().optional() "access-all-projects": z.boolean().optional()
@@ -58,7 +51,7 @@ export const formSchema = z.object({
[OrgPermissionSubjects.Kms]: generalPermissionSchema, [OrgPermissionSubjects.Kms]: generalPermissionSchema,
[OrgPermissionSubjects.ProjectTemplates]: generalPermissionSchema, [OrgPermissionSubjects.ProjectTemplates]: generalPermissionSchema,
[OrgPermissionSubjects.SshCertificateAuthorities]: generalPermissionSchema, [OrgPermissionSubjects.SshCertificateAuthorities]: generalPermissionSchema,
[OrgPermissionSubjects.SshCertificates]: sshCertificateSchema, [OrgPermissionSubjects.SshCertificates]: generalPermissionSchema,
[OrgPermissionSubjects.SshCertificateTemplates]: generalPermissionSchema [OrgPermissionSubjects.SshCertificateTemplates]: generalPermissionSchema
}) })
.optional() .optional()
@@ -51,11 +51,6 @@ const PROJECT_TEMPLATES_PERMISSIONS = [
{ action: "delete", label: "Remove" } { action: "delete", label: "Remove" }
] as const; ] as const;
const SSH_CERTIFICATES_PERMISSIONS = [
{ action: "read", label: "View" },
{ action: "create", label: "Create" }
] as const;
const getPermissionList = (option: string) => { const getPermissionList = (option: string) => {
switch (option) { switch (option) {
case "secret-scanning": case "secret-scanning":
@@ -68,8 +63,6 @@ const getPermissionList = (option: string) => {
return MEMBERS_PERMISSIONS; return MEMBERS_PERMISSIONS;
case OrgPermissionSubjects.ProjectTemplates: case OrgPermissionSubjects.ProjectTemplates:
return PROJECT_TEMPLATES_PERMISSIONS; return PROJECT_TEMPLATES_PERMISSIONS;
case OrgPermissionSubjects.SshCertificates:
return SSH_CERTIFICATES_PERMISSIONS;
default: default:
return PERMISSIONS; return PERMISSIONS;
} }
@@ -4,7 +4,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { createNotification } from "@app/components/notifications"; import { createNotification } from "@app/components/notifications";
import { OrgPermissionCan } from "@app/components/permissions"; import { OrgPermissionCan } from "@app/components/permissions";
import { DeleteActionModal, IconButton } from "@app/components/v2"; import { DeleteActionModal, IconButton } from "@app/components/v2";
import { OrgPermissionSshCertificateTemplateActions, OrgPermissionSubjects } from "@app/context"; import { OrgPermissionActions, OrgPermissionSubjects } from "@app/context";
import { usePopUp } from "@app/hooks"; import { usePopUp } from "@app/hooks";
import { useDeleteSshCertTemplate } from "@app/hooks/api"; import { useDeleteSshCertTemplate } from "@app/hooks/api";
@@ -52,7 +52,7 @@ export const SshCertificateTemplatesSection = ({ caId }: Props) => {
<div className="flex items-center justify-between border-b border-mineshaft-400 pb-4"> <div className="flex items-center justify-between border-b border-mineshaft-400 pb-4">
<h3 className="text-lg font-semibold text-mineshaft-100">Certificate Templates</h3> <h3 className="text-lg font-semibold text-mineshaft-100">Certificate Templates</h3>
<OrgPermissionCan <OrgPermissionCan
I={OrgPermissionSshCertificateTemplateActions.Create} I={OrgPermissionActions.Create}
a={OrgPermissionSubjects.SshCertificateTemplates} a={OrgPermissionSubjects.SshCertificateTemplates}
> >
{(isAllowed) => ( {(isAllowed) => (
@@ -1,4 +1,4 @@
import { faCertificate,faEllipsis, faFileAlt, faTrash } from "@fortawesome/free-solid-svg-icons"; import { faCertificate, faEllipsis, faFileAlt, faTrash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { twMerge } from "tailwind-merge"; import { twMerge } from "tailwind-merge";
@@ -19,7 +19,7 @@ import {
Tooltip, Tooltip,
Tr Tr
} from "@app/components/v2"; } from "@app/components/v2";
import { OrgPermissionSshCertificateTemplateActions, OrgPermissionSubjects } from "@app/context"; import { OrgPermissionActions, OrgPermissionSubjects } from "@app/context";
import { useGetSshCaCertTemplates } from "@app/hooks/api"; import { useGetSshCaCertTemplates } from "@app/hooks/api";
import { UsePopUpState } from "@app/hooks/usePopUp"; import { UsePopUpState } from "@app/hooks/usePopUp";
@@ -69,7 +69,7 @@ export const SshCertificateTemplatesTable = ({ handlePopUpOpen, sshCaId }: Props
</DropdownMenuTrigger> </DropdownMenuTrigger>
<DropdownMenuContent align="start" className="p-1"> <DropdownMenuContent align="start" className="p-1">
<OrgPermissionCan <OrgPermissionCan
I={OrgPermissionSshCertificateTemplateActions.Edit} I={OrgPermissionActions.Edit}
a={OrgPermissionSubjects.SshCertificateTemplates} a={OrgPermissionSubjects.SshCertificateTemplates}
> >
<DropdownMenuItem <DropdownMenuItem
@@ -87,7 +87,7 @@ export const SshCertificateTemplatesTable = ({ handlePopUpOpen, sshCaId }: Props
</DropdownMenuItem> </DropdownMenuItem>
</OrgPermissionCan> </OrgPermissionCan>
<OrgPermissionCan <OrgPermissionCan
I={OrgPermissionSshCertificateTemplateActions.Edit} I={OrgPermissionActions.Edit}
a={OrgPermissionSubjects.SshCertificateTemplates} a={OrgPermissionSubjects.SshCertificateTemplates}
> >
<DropdownMenuItem <DropdownMenuItem
@@ -102,7 +102,7 @@ export const SshCertificateTemplatesTable = ({ handlePopUpOpen, sshCaId }: Props
</DropdownMenuItem> </DropdownMenuItem>
</OrgPermissionCan> </OrgPermissionCan>
<OrgPermissionCan <OrgPermissionCan
I={OrgPermissionSshCertificateTemplateActions.Delete} I={OrgPermissionActions.Delete}
a={OrgPermissionSubjects.SshCertificateTemplates} a={OrgPermissionSubjects.SshCertificateTemplates}
> >
{(isAllowed) => ( {(isAllowed) => (
@@ -11,7 +11,8 @@ import {
Td, Td,
Th, Th,
THead, THead,
Tr} from "@app/components/v2"; Tr
} from "@app/components/v2";
import { useOrganization } from "@app/context"; import { useOrganization } from "@app/context";
import { useListOrgSshCertificates } from "@app/hooks/api"; import { useListOrgSshCertificates } from "@app/hooks/api";
import { sshCertTypeToNameMap } from "@app/hooks/api/ssh-ca/constants"; import { sshCertTypeToNameMap } from "@app/hooks/api/ssh-ca/constants";
@@ -29,6 +30,8 @@ export const SshCertificatesTable = () => {
limit: perPage limit: perPage
}); });
console.log("SSH Certificates Table data: ", data);
return ( return (
<TableContainer> <TableContainer>
<Table> <Table>