import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table"; import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; import { SCIMSourceGroup, SourcesApi } from "@goauthentik/api"; @customElement("ak-source-scim-groups-list") export class SCIMSourceGroupList extends Table { @property() sourceSlug?: string; expandable = true; searchEnabled(): boolean { return true; } async apiEndpoint(): Promise> { return new SourcesApi(DEFAULT_CONFIG).sourcesScimGroupsList({ ...(await this.defaultEndpointConfig()), sourceSlug: this.sourceSlug, }); } columns(): TableColumn[] { return [new TableColumn(msg("Name")), new TableColumn(msg("ID"))]; } renderExpanded(item: SCIMSourceGroup): TemplateResult { return html`
${JSON.stringify(item.attributes, null, 4)}
`; } row(item: SCIMSourceGroup): TemplateResult[] { return [ html`
${item.groupObj.name}
`, html`${item.id}`, ]; } }