import "@goauthentik/admin/property-mappings/PropertyMappingGoogleWorkspaceForm"; import "@goauthentik/admin/property-mappings/PropertyMappingLDAPForm"; import "@goauthentik/admin/property-mappings/PropertyMappingMicrosoftEntraForm"; import "@goauthentik/admin/property-mappings/PropertyMappingNotification"; import "@goauthentik/admin/property-mappings/PropertyMappingRACForm"; import "@goauthentik/admin/property-mappings/PropertyMappingSAMLForm"; import "@goauthentik/admin/property-mappings/PropertyMappingSCIMForm"; import "@goauthentik/admin/property-mappings/PropertyMappingScopeForm"; import "@goauthentik/admin/property-mappings/PropertyMappingTestForm"; import "@goauthentik/admin/property-mappings/PropertyMappingWizard"; import "@goauthentik/admin/rbac/ObjectPermissionModal"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; import "@goauthentik/elements/forms/ProxyForm"; import { getURLParam, updateURLParams } from "@goauthentik/elements/router/RouteMatch"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg, str } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property, state } from "lit/decorators.js"; import { ifDefined } from "lit/directives/if-defined.js"; import { PropertyMapping, PropertymappingsApi } from "@goauthentik/api"; @customElement("ak-property-mapping-list") export class PropertyMappingListPage extends TablePage { searchEnabled(): boolean { return true; } pageTitle(): string { return msg("Property Mappings"); } pageDescription(): string { return msg("Control how authentik exposes and interprets information."); } pageIcon(): string { return "pf-icon pf-icon-blueprint"; } checkbox = true; clearOnRefresh = true; @property() order = "name"; @state() hideManaged = getURLParam("hideManaged", true); async apiEndpoint(): Promise> { return new PropertymappingsApi(DEFAULT_CONFIG).propertymappingsAllList({ ...(await this.defaultEndpointConfig()), managedIsnull: this.hideManaged ? true : undefined, }); } columns(): TableColumn[] { return [ new TableColumn(msg("Name"), "name"), new TableColumn(msg("Type"), "type"), new TableColumn(msg("Actions")), ]; } renderToolbarSelected(): TemplateResult { const disabled = this.selectedElements.length < 1; return html` { return new PropertymappingsApi(DEFAULT_CONFIG).propertymappingsAllUsedByList({ pmUuid: item.pk, }); }} .delete=${(item: PropertyMapping) => { return new PropertymappingsApi(DEFAULT_CONFIG).propertymappingsAllDestroy({ pmUuid: item.pk, }); }} > `; } row(item: PropertyMapping): TemplateResult[] { return [ html`${item.name}`, html`${item.verboseName}`, html` ${msg("Update")} ${msg(str`Update ${item.verboseName}`)} ${msg("Test")} ${msg("Test Property Mapping")} `, ]; } renderObjectCreate(): TemplateResult { return html` `; } renderToolbarAfter(): TemplateResult { return html` 
`; } } declare global { interface HTMLElementTagNameMap { "ak-property-mapping-list": PropertyMappingListPage; } }