import { t } from "@lingui/macro"; import { html, TemplateResult } from "lit"; import { customElement } from "lit/decorators"; import { until } from "lit/directives/until"; import { FlowsApi, FlowsInstancesListDesignationEnum, ProvidersApi, SAMLProvider, } from "@goauthentik/api"; import { DEFAULT_CONFIG } from "../../../api/Config"; import { Form } from "../../../elements/forms/Form"; import "../../../elements/forms/HorizontalFormElement"; @customElement("ak-provider-saml-import-form") export class SAMLProviderImportForm extends Form { getSuccessMessage(): string { return t`Successfully imported provider.`; } // eslint-disable-next-line send = (data: SAMLProvider): Promise => { const file = this.getFormFile(); if (!file) { throw new Error("No form data"); } return new ProvidersApi(DEFAULT_CONFIG).providersSamlImportMetadataCreate({ file: file, name: data.name, authorizationFlow: data.authorizationFlow, }); }; renderForm(): TemplateResult { return html` ${until( new FlowsApi(DEFAULT_CONFIG) .flowsInstancesList({ ordering: "pk", designation: FlowsInstancesListDesignationEnum.Authorization, }) .then((flows) => { return flows.results.map((flow) => { return html` ${flow.name} (${flow.slug}) `; }); }), html`${t`Loading...`}`, )} ${t`Flow used when authorizing this provider.`} `; } }
${t`Flow used when authorizing this provider.`}