/* tslint:disable */
/* eslint-disable */
/**
 * OmsorgCore.Api
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * 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';
/**
 * 
 * @export
 * @interface AuditLogEntryResponse
 */
export interface AuditLogEntryResponse {
    /**
     * 
     * @type {string}
     * @memberof AuditLogEntryResponse
     */
    id?: string;
    /**
     * 
     * @type {Date}
     * @memberof AuditLogEntryResponse
     */
    occurredAtUtc?: Date;
    /**
     * 
     * @type {string}
     * @memberof AuditLogEntryResponse
     */
    actorUserId?: string | null;
    /**
     * 
     * @type {string}
     * @memberof AuditLogEntryResponse
     */
    actorUsername?: string | null;
    /**
     * 
     * @type {string}
     * @memberof AuditLogEntryResponse
     */
    ipAddress?: string | null;
    /**
     * 
     * @type {string}
     * @memberof AuditLogEntryResponse
     */
    category?: string | null;
    /**
     * 
     * @type {string}
     * @memberof AuditLogEntryResponse
     */
    action?: string | null;
    /**
     * 
     * @type {string}
     * @memberof AuditLogEntryResponse
     */
    entityType?: string | null;
    /**
     * 
     * @type {string}
     * @memberof AuditLogEntryResponse
     */
    entityId?: string | null;
    /**
     * 
     * @type {string}
     * @memberof AuditLogEntryResponse
     */
    details?: string | null;
}

/**
 * Check if a given object implements the AuditLogEntryResponse interface.
 */
export function instanceOfAuditLogEntryResponse(value: object): value is AuditLogEntryResponse {
    return true;
}

export function AuditLogEntryResponseFromJSON(json: any): AuditLogEntryResponse {
    return AuditLogEntryResponseFromJSONTyped(json, false);
}

export function AuditLogEntryResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuditLogEntryResponse {
    if (json == null) {
        return json;
    }
    return {
        
        'id': json['id'] == null ? undefined : json['id'],
        'occurredAtUtc': json['occurredAtUtc'] == null ? undefined : (new Date(json['occurredAtUtc'])),
        'actorUserId': json['actorUserId'] == null ? undefined : json['actorUserId'],
        'actorUsername': json['actorUsername'] == null ? undefined : json['actorUsername'],
        'ipAddress': json['ipAddress'] == null ? undefined : json['ipAddress'],
        'category': json['category'] == null ? undefined : json['category'],
        'action': json['action'] == null ? undefined : json['action'],
        'entityType': json['entityType'] == null ? undefined : json['entityType'],
        'entityId': json['entityId'] == null ? undefined : json['entityId'],
        'details': json['details'] == null ? undefined : json['details'],
    };
}

export function AuditLogEntryResponseToJSON(json: any): AuditLogEntryResponse {
    return AuditLogEntryResponseToJSONTyped(json, false);
}

export function AuditLogEntryResponseToJSONTyped(value?: AuditLogEntryResponse | null, ignoreDiscriminator: boolean = false): any {
    if (value == null) {
        return value;
    }

    return {
        
        'id': value['id'],
        'occurredAtUtc': value['occurredAtUtc'] == null ? undefined : ((value['occurredAtUtc']).toISOString()),
        'actorUserId': value['actorUserId'],
        'actorUsername': value['actorUsername'],
        'ipAddress': value['ipAddress'],
        'category': value['category'],
        'action': value['action'],
        'entityType': value['entityType'],
        'entityId': value['entityId'],
        'details': value['details'],
    };
}

