/* * InfluxDB OSS API Service * * The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint. * * OpenAPI spec version: 2.0.0 * * Generated by: https://github.com/openapitools/openapi-generator.git */ using System; using System.Linq; using System.IO; using System.Text; using System.Text.RegularExpressions; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Runtime.Serialization; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using OpenAPIDateConverter = InfluxDB.Client.Api.Client.OpenAPIDateConverter; namespace InfluxDB.Client.Api.Domain { /// /// ResourceOwner /// [DataContract] public partial class ResourceOwner : User, IEquatable { /// /// Defines Role /// [JsonConverter(typeof(StringEnumConverter))] public enum RoleEnum { /// /// Enum Owner for value: owner /// [EnumMember(Value = "owner")] Owner = 1 } /// /// Gets or Sets Role /// [DataMember(Name = "role", EmitDefaultValue = false)] public RoleEnum? Role { get; set; } /// /// Initializes a new instance of the class. /// [JsonConstructorAttribute] protected ResourceOwner() { } /// /// Initializes a new instance of the class. /// /// role (default to RoleEnum.Owner). public ResourceOwner(RoleEnum? role = RoleEnum.Owner, string oauthID = default, string name = default, StatusEnum? status = StatusEnum.Active, UserLinks links = default) : base(oauthID, name, status, links) { // use default value if no "role" provided if (role == null) { Role = RoleEnum.Owner; } else { Role = role; } } /// /// Returns the string presentation of the object /// /// String presentation of the object public override string ToString() { var sb = new StringBuilder(); sb.Append("class ResourceOwner {\n"); sb.Append(" ").Append(base.ToString().Replace("\n", "\n ")).Append("\n"); sb.Append(" Role: ").Append(Role).Append("\n"); sb.Append("}\n"); return sb.ToString(); } /// /// Returns the JSON string presentation of the object /// /// JSON string presentation of the object public override string ToJson() { return JsonConvert.SerializeObject(this, Formatting.Indented); } /// /// Returns true if objects are equal /// /// Object to be compared /// Boolean public override bool Equals(object input) { return Equals(input as ResourceOwner); } /// /// Returns true if ResourceOwner instances are equal /// /// Instance of ResourceOwner to be compared /// Boolean public bool Equals(ResourceOwner input) { if (input == null) { return false; } return base.Equals(input) && ( Role == input.Role || Role.Equals(input.Role) ); } /// /// Gets the hash code /// /// Hash code public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = base.GetHashCode(); hashCode = hashCode * 59 + Role.GetHashCode(); return hashCode; } } } }