/* tslint:disable */ /* eslint-disable */ /** * authentik * Making authentication simple. * * The version of the OpenAPI document: 2026.8.0-rc7 * Contact: hello@goauthentik.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { PolicyEngineMode } from './PolicyEngineMode'; import { PolicyEngineModeFromJSON, PolicyEngineModeFromJSONTyped, PolicyEngineModeToJSON, PolicyEngineModeToJSONTyped, } from './PolicyEngineMode'; /** * Mixin to validate that a valid enterprise license * exists before allowing to save the object * @export * @interface PatchedRequestRuleBindingRequest */ export interface PatchedRequestRuleBindingRequest { /** * * @type {string} * @memberof PatchedRequestRuleBindingRequest */ uuid?: string; /** * * @type {PolicyEngineMode} * @memberof PatchedRequestRuleBindingRequest */ policyEngineMode?: PolicyEngineMode; /** * * @type {string} * @memberof PatchedRequestRuleBindingRequest */ rule?: string; /** * * @type {string} * @memberof PatchedRequestRuleBindingRequest */ target?: string; /** * How long a request against this binding stays pending before it automatically lapses if not approved or denied. * @type {string} * @memberof PatchedRequestRuleBindingRequest */ expiryPending?: string; /** * The maximum duration a grant approved against this binding can last. * @type {string} * @memberof PatchedRequestRuleBindingRequest */ expiryGrantedMax?: string; } /** * Check if a given object implements the PatchedRequestRuleBindingRequest interface. */ export function instanceOfPatchedRequestRuleBindingRequest(value: object): value is PatchedRequestRuleBindingRequest { return true; } export function PatchedRequestRuleBindingRequestFromJSON(json: any): PatchedRequestRuleBindingRequest { return PatchedRequestRuleBindingRequestFromJSONTyped(json, false); } export function PatchedRequestRuleBindingRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedRequestRuleBindingRequest { if (json == null) { return json; } return { 'uuid': json['uuid'] == null ? undefined : json['uuid'], 'policyEngineMode': json['policy_engine_mode'] == null ? undefined : PolicyEngineModeFromJSON(json['policy_engine_mode']), 'rule': json['rule'] == null ? undefined : json['rule'], 'target': json['target'] == null ? undefined : json['target'], 'expiryPending': json['expiry_pending'] == null ? undefined : json['expiry_pending'], 'expiryGrantedMax': json['expiry_granted_max'] == null ? undefined : json['expiry_granted_max'], }; } export function PatchedRequestRuleBindingRequestToJSON(json: any): PatchedRequestRuleBindingRequest { return PatchedRequestRuleBindingRequestToJSONTyped(json, false); } export function PatchedRequestRuleBindingRequestToJSONTyped(value?: PatchedRequestRuleBindingRequest | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'uuid': value['uuid'], 'policy_engine_mode': PolicyEngineModeToJSON(value['policyEngineMode']), 'rule': value['rule'], 'target': value['target'], 'expiry_pending': value['expiryPending'], 'expiry_granted_max': value['expiryGrantedMax'], }; }