/**
 * BoldSign API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { RequestFile } from './models';
import { ModificationDetails } from './modificationDetails';
import { RecipientChangeLog } from './recipientChangeLog';

export class AuditTrail {
    'id'?: string | null;
    'name'?: string | null;
    'email'?: string | null;
    'fromName'?: string | null;
    'fromEmail'?: string | null;
    'fromPhoneNumber'?: string | null;
    'toName'?: string | null;
    'toEmail'?: string | null;
    'toPhoneNumber'?: string | null;
    'ipaddress'?: string | null;
    'action'?: AuditTrail.ActionEnum;
    'timestamp'?: number;
    'recipientChangeLog'?: RecipientChangeLog;
    'documentChangeLog'?: ModificationDetails;
    'fieldChangeLog'?: ModificationDetails;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "id",
            "baseName": "id",
            "type": "string"
        },
        {
            "name": "name",
            "baseName": "name",
            "type": "string"
        },
        {
            "name": "email",
            "baseName": "email",
            "type": "string"
        },
        {
            "name": "fromName",
            "baseName": "fromName",
            "type": "string"
        },
        {
            "name": "fromEmail",
            "baseName": "fromEmail",
            "type": "string"
        },
        {
            "name": "fromPhoneNumber",
            "baseName": "fromPhoneNumber",
            "type": "string"
        },
        {
            "name": "toName",
            "baseName": "toName",
            "type": "string"
        },
        {
            "name": "toEmail",
            "baseName": "toEmail",
            "type": "string"
        },
        {
            "name": "toPhoneNumber",
            "baseName": "toPhoneNumber",
            "type": "string"
        },
        {
            "name": "ipaddress",
            "baseName": "ipaddress",
            "type": "string"
        },
        {
            "name": "action",
            "baseName": "action",
            "type": "AuditTrail.ActionEnum"
        },
        {
            "name": "timestamp",
            "baseName": "timestamp",
            "type": "number"
        },
        {
            "name": "recipientChangeLog",
            "baseName": "recipientChangeLog",
            "type": "RecipientChangeLog"
        },
        {
            "name": "documentChangeLog",
            "baseName": "documentChangeLog",
            "type": "ModificationDetails"
        },
        {
            "name": "fieldChangeLog",
            "baseName": "fieldChangeLog",
            "type": "ModificationDetails"
        }    ];

    static getAttributeTypeMap() {
        return AuditTrail.attributeTypeMap;
    }
}

export namespace AuditTrail {
    export enum ActionEnum {
        Sent = <any> 'Sent',
        Viewed = <any> 'Viewed',
        Signed = <any> 'Signed',
        Completed = <any> 'Completed',
        Downloaded = <any> 'Downloaded',
        Reassigned = <any> 'Reassigned',
        Declined = <any> 'Declined',
        Recalled = <any> 'Recalled',
        Created = <any> 'Created',
        AuthenticationFailed = <any> 'AuthenticationFailed',
        Reminder = <any> 'Reminder',
        AccessCodeChanged = <any> 'AccessCodeChanged',
        AccessCodeViewed = <any> 'AccessCodeViewed',
        DownloadedForPrintSign = <any> 'DownloadedForPrintSign',
        FormCreated = <any> 'FormCreated',
        EmailOtp = <any> 'EmailOTP',
        AuthenticationRemoved = <any> 'AuthenticationRemoved',
        DownloadedAuditTrail = <any> 'DownloadedAuditTrail',
        Cloned = <any> 'Cloned',
        ClonedWithFieldValues = <any> 'ClonedWithFieldValues',
        Deleted = <any> 'Deleted',
        MovedToTrash = <any> 'MovedToTrash',
        Restored = <any> 'Restored',
        AutoReminder = <any> 'AutoReminder',
        Resend = <any> 'Resend',
        Reviewed = <any> 'Reviewed',
        InitiatePrintSign = <any> 'InitiatePrintSign',
        CancelPrintSign = <any> 'CancelPrintSign',
        CompletePrintSign = <any> 'CompletePrintSign',
        GeneratedEmbeddedSignLink = <any> 'GeneratedEmbeddedSignLink',
        EmbeddedSigned = <any> 'EmbeddedSigned',
        EmbeddedReviewed = <any> 'EmbeddedReviewed',
        ExpiryDateExtended = <any> 'ExpiryDateExtended',
        Attachment = <any> 'Attachment',
        EditRecipient = <any> 'EditRecipient',
        AuthenticationAdded = <any> 'AuthenticationAdded',
        AutoReminderOn = <any> 'AutoReminderON',
        AutoReminderOff = <any> 'AutoReminderOFF',
        Smsotp = <any> 'SMSOTP',
        PhoneNumberChanged = <any> 'PhoneNumberChanged',
        UnlockedSmsotp = <any> 'UnlockedSMSOTP',
        SmsAuthenticationAdded = <any> 'SMSAuthenticationAdded',
        SmsAuthenticationRemoved = <any> 'SMSAuthenticationRemoved',
        SmsotpVerified = <any> 'SMSOTPVerified',
        SmsAuthenticationFailed = <any> 'SMSAuthenticationFailed',
        UnlockEmailOtp = <any> 'UnlockEmailOTP',
        EmailAuthenticationAdded = <any> 'EmailAuthenticationAdded',
        EmailAuthenticationRemoved = <any> 'EmailAuthenticationRemoved',
        EmailOtpVerify = <any> 'EmailOtpVerify',
        EmailAuthenticationFailed = <any> 'EmailAuthenticationFailed',
        SmsotpResend = <any> 'SMSOTPResend',
        EmailOtpResend = <any> 'EmailOTPResend',
        ResumeDocumentSigning = <any> 'ResumeDocumentSigning',
        EmailOtpAuthenticationAdded = <any> 'EmailOTPAuthenticationAdded',
        EmailOtpAuthenticationRemoved = <any> 'EmailOTPAuthenticationRemoved',
        EmailOtpAuthenticationFailed = <any> 'EmailOTPAuthenticationFailed',
        EmailOtpVerified = <any> 'EmailOTPVerified',
        IdentityVerificationInitiated = <any> 'IdentityVerificationInitiated',
        IdentityVerificationRemoved = <any> 'IdentityVerificationRemoved',
        IdentityVerificationCompleted = <any> 'IdentityVerificationCompleted',
        IdentityVerificationFailed = <any> 'IdentityVerificationFailed',
        DownloadedVerificationData = <any> 'DownloadedVerificationData',
        ManualIdentityVerificationCompleted = <any> 'ManualIdentityVerificationCompleted',
        IdentityVerificationReset = <any> 'IdentityVerificationReset',
        CreateEmbeddedVerificationLink = <any> 'CreateEmbeddedVerificationLink',
        SensitiveDataDownloaded = <any> 'SensitiveDataDownloaded',
        IdVerificationRemoved = <any> 'IdVerificationRemoved',
        IdVerificationAdded = <any> 'IdVerificationAdded',
        ManualIdentityVerificationInitiated = <any> 'ManualIdentityVerificationInitiated',
        GeneratedSigningLink = <any> 'GeneratedSigningLink',
        EditingInitiated = <any> 'EditingInitiated',
        EditingCancelled = <any> 'EditingCancelled',
        EditingCompleted = <any> 'EditingCompleted',
        QesVerificationInitiated = <any> 'QESVerificationInitiated',
        QesVerified = <any> 'QESVerified',
        QesRejected = <any> 'QESRejected',
        QesExpired = <any> 'QESExpired',
        QesWithdrawn = <any> 'QESWithdrawn',
        ResentForApproval = <any> 'ResentForApproval',
        DocumentFieldMarkup = <any> 'DocumentFieldMarkup'
    }
}
