/* tslint:disable */
/* eslint-disable */
/**
 * AutoGlue API
 * API for managing K3s clusters across cloud providers
 *
 * The version of the OpenAPI document: dev
 *
 *
 * 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 ModelsOrganization
 */
export interface ModelsOrganization {
  /**
   *
   * @type {Date}
   * @memberof ModelsOrganization
   */
  created_at?: Date;
  /**
   *
   * @type {string}
   * @memberof ModelsOrganization
   */
  domain?: string;
  /**
   * example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
   * @type {string}
   * @memberof ModelsOrganization
   */
  id?: string;
  /**
   *
   * @type {string}
   * @memberof ModelsOrganization
   */
  name?: string;
  /**
   *
   * @type {Date}
   * @memberof ModelsOrganization
   */
  updated_at?: Date;
}

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

export function ModelsOrganizationFromJSON(json: any): ModelsOrganization {
  return ModelsOrganizationFromJSONTyped(json, false);
}

export function ModelsOrganizationFromJSONTyped(
  json: any,
  ignoreDiscriminator: boolean,
): ModelsOrganization {
  if (json == null) {
    return json;
  }
  return {
    created_at:
      json["created_at"] == null ? undefined : new Date(json["created_at"]),
    domain: json["domain"] == null ? undefined : json["domain"],
    id: json["id"] == null ? undefined : json["id"],
    name: json["name"] == null ? undefined : json["name"],
    updated_at:
      json["updated_at"] == null ? undefined : new Date(json["updated_at"]),
  };
}

export function ModelsOrganizationToJSON(json: any): ModelsOrganization {
  return ModelsOrganizationToJSONTyped(json, false);
}

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

  return {
    created_at:
      value["created_at"] == null
        ? value["created_at"]
        : value["created_at"].toISOString(),
    domain: value["domain"],
    id: value["id"],
    name: value["name"],
    updated_at:
      value["updated_at"] == null
        ? value["updated_at"]
        : value["updated_at"].toISOString(),
  };
}
