import "@goauthentik/admin/rbac/RoleObjectPermissionTable"; import "@goauthentik/admin/rbac/UserObjectPermissionTable"; import "@goauthentik/admin/roles/RoleAssignedGlobalPermissionsTable"; import "@goauthentik/admin/roles/RoleAssignedObjectPermissionTable"; import "@goauthentik/admin/users/UserAssignedGlobalPermissionsTable"; import "@goauthentik/admin/users/UserAssignedObjectPermissionsTable"; import { AKElement } from "@goauthentik/elements/Base"; import "@goauthentik/elements/Tabs"; import { msg } from "@lit/localize"; import { html, nothing } from "lit"; import { customElement, property } from "lit/decorators.js"; import PFCard from "@patternfly/patternfly/components/Card/card.css"; import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; import { RbacPermissionsAssignedByUsersListModelEnum } from "@goauthentik/api"; @customElement("ak-rbac-object-permission-page") export class ObjectPermissionPage extends AKElement { @property() model?: RbacPermissionsAssignedByUsersListModelEnum; @property() objectPk?: string | number; @property({ type: Boolean }) embedded = false; static get styles() { return [PFBase, PFGrid, PFPage, PFCard]; } render() { return html` ${this.model === RbacPermissionsAssignedByUsersListModelEnum.CoreUser ? this.renderCoreUser() : nothing} ${this.model === RbacPermissionsAssignedByUsersListModelEnum.RbacRole ? this.renderRbacRole() : nothing}
${msg("User Object Permissions")}
${msg("Permissions set on users which affect this object.")}
${msg("Role Object Permissions")}
${msg("Permissions set on roles which affect this object.")}
`; } renderCoreUser() { return html`
${msg("Assigned global permissions")}
${msg( "Permissions assigned to this user which affect all object instances of a given type.", )}
${msg("Assigned object permissions")}
${msg( "Permissions assigned to this user affecting specific object instances.", )}
`; } renderRbacRole() { return html`
${msg("Assigned global permissions")}
${msg( "Permissions assigned to this role which affect all object instances of a given type.", )}
${msg("Assigned object permissions")}
${msg( "Permissions assigned to this user affecting specific object instances.", )}
`; } } declare global { interface HTMLElementTagNameMap { "ak-rbac-object-permission-page": ObjectPermissionPage; } }