 99ad492951
			
		
	
	99ad492951
	
	
	
		
			
			* initial Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add entra mappings Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix some stuff Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make API endpoints more consistent Signed-off-by: Jens Langhammer <jens@goauthentik.io> * implement more things Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add user tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix most group tests + fix bugs Signed-off-by: Jens Langhammer <jens@goauthentik.io> * more group tests, fix bugs Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix missing __init__ Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add ui for provisioned users Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix a bunch of bugs Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add `creating` to property mapping env Signed-off-by: Jens Langhammer <jens@goauthentik.io> * always sync group members Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix stuff Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix group membership Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix some types Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add group member add test Signed-off-by: Jens Langhammer <jens@goauthentik.io> * create sync status component to dedupe Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix discovery tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * get rid of more code and fix more issues Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add error handling for auth and transient Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make sure autoretry is on Signed-off-by: Jens Langhammer <jens@goauthentik.io> * format web Signed-off-by: Jens Langhammer <jens@goauthentik.io> * wait for task in signal Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add squashed google migration Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
		
			
				
	
	
		
			73 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { BasePropertyMappingForm } from "@goauthentik/admin/property-mappings/BasePropertyMappingForm";
 | |
| import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
 | |
| import { docLink } from "@goauthentik/common/global";
 | |
| import "@goauthentik/elements/CodeMirror";
 | |
| import { CodeMirrorMode } from "@goauthentik/elements/CodeMirror";
 | |
| import "@goauthentik/elements/forms/HorizontalFormElement";
 | |
| 
 | |
| import { msg } from "@lit/localize";
 | |
| import { TemplateResult, html } from "lit";
 | |
| import { customElement } from "lit/decorators.js";
 | |
| import { ifDefined } from "lit/directives/if-defined.js";
 | |
| 
 | |
| import { GoogleWorkspaceProviderMapping, PropertymappingsApi } from "@goauthentik/api";
 | |
| 
 | |
| @customElement("ak-property-mapping-google-workspace-form")
 | |
| export class PropertyMappingGoogleWorkspaceForm extends BasePropertyMappingForm<GoogleWorkspaceProviderMapping> {
 | |
|     loadInstance(pk: string): Promise<GoogleWorkspaceProviderMapping> {
 | |
|         return new PropertymappingsApi(
 | |
|             DEFAULT_CONFIG,
 | |
|         ).propertymappingsProviderGoogleWorkspaceRetrieve({
 | |
|             pmUuid: pk,
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     async send(data: GoogleWorkspaceProviderMapping): Promise<GoogleWorkspaceProviderMapping> {
 | |
|         if (this.instance) {
 | |
|             return new PropertymappingsApi(
 | |
|                 DEFAULT_CONFIG,
 | |
|             ).propertymappingsProviderGoogleWorkspaceUpdate({
 | |
|                 pmUuid: this.instance.pk,
 | |
|                 googleWorkspaceProviderMappingRequest: data,
 | |
|             });
 | |
|         } else {
 | |
|             return new PropertymappingsApi(
 | |
|                 DEFAULT_CONFIG,
 | |
|             ).propertymappingsProviderGoogleWorkspaceCreate({
 | |
|                 googleWorkspaceProviderMappingRequest: data,
 | |
|             });
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     renderForm(): TemplateResult {
 | |
|         return html` <ak-form-element-horizontal label=${msg("Name")} ?required=${true} name="name">
 | |
|                 <input
 | |
|                     type="text"
 | |
|                     value="${ifDefined(this.instance?.name)}"
 | |
|                     class="pf-c-form-control"
 | |
|                     required
 | |
|                 />
 | |
|             </ak-form-element-horizontal>
 | |
|             <ak-form-element-horizontal
 | |
|                 label=${msg("Expression")}
 | |
|                 ?required=${true}
 | |
|                 name="expression"
 | |
|             >
 | |
|                 <ak-codemirror
 | |
|                     mode=${CodeMirrorMode.Python}
 | |
|                     value="${ifDefined(this.instance?.expression)}"
 | |
|                 >
 | |
|                 </ak-codemirror>
 | |
|                 <p class="pf-c-form__helper-text">
 | |
|                     ${msg("Expression using Python.")}
 | |
|                     <a
 | |
|                         target="_blank"
 | |
|                         href="${docLink("/docs/property-mappings/expression?utm_source=authentik")}"
 | |
|                     >
 | |
|                         ${msg("See documentation for a list of all variables.")}
 | |
|                     </a>
 | |
|                 </p>
 | |
|             </ak-form-element-horizontal>`;
 | |
|     }
 | |
| }
 |