35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { Flow, FlowsApi } from "authentik-api";
 | 
						|
import { t } from "@lingui/macro";
 | 
						|
import { customElement } from "lit-element";
 | 
						|
import { html, TemplateResult } from "lit-html";
 | 
						|
import { DEFAULT_CONFIG } from "../../api/Config";
 | 
						|
import { Form } from "../../elements/forms/Form";
 | 
						|
import "../../elements/forms/HorizontalFormElement";
 | 
						|
 | 
						|
@customElement("ak-flow-import-form")
 | 
						|
export class FlowImportForm extends Form<Flow> {
 | 
						|
    getSuccessMessage(): string {
 | 
						|
        return t`Successfully imported flow.`;
 | 
						|
    }
 | 
						|
 | 
						|
    // eslint-disable-next-line
 | 
						|
    send = (data: Flow): Promise<void> => {
 | 
						|
        const file = this.getFormFile();
 | 
						|
        if (!file) {
 | 
						|
            throw new Error("No form data");
 | 
						|
        }
 | 
						|
        return new FlowsApi(DEFAULT_CONFIG).flowsInstancesImportFlowCreate({
 | 
						|
            file: file,
 | 
						|
        });
 | 
						|
    };
 | 
						|
 | 
						|
    renderForm(): TemplateResult {
 | 
						|
        return html`<form class="pf-c-form pf-m-horizontal">
 | 
						|
            <ak-form-element-horizontal label=${t`Flow`} name="flow">
 | 
						|
                <input type="file" value="" class="pf-c-form-control" />
 | 
						|
                <p class="pf-c-form__helper-text">${t`Background shown during execution.`}</p>
 | 
						|
            </ak-form-element-horizontal>
 | 
						|
        </form>`;
 | 
						|
    }
 | 
						|
}
 |