// Generated by Create API
// https://github.com/CreateAPI/CreateAPI

import Foundation

public struct SimpleProfileInfoSchema: Codable, Equatable {
    public var avatarImageUrl: String?
    public var displayName: String?
    public var entityType: EntityType?
    public var externalUserId: String
    public var handle: String?
    public var isFollowing: Bool
    /// ProfileStatsSchema
    public var stats: ProfileStatsSchema
    public var userId: Int?

    public struct EntityType: RawRepresentable, Codable, Equatable {
        public let rawValue: String

        public init(rawValue: String) {
            self.rawValue = rawValue
        }

        public static let simpleProfileSchema = Self(rawValue: "simple_profile_schema")
    }

    public init(avatarImageUrl: String? = nil, displayName: String? = nil, entityType: EntityType? = nil, externalUserId: String, handle: String? = nil, isFollowing: Bool? = nil, stats: ProfileStatsSchema, userId: Int? = nil) {
        self.avatarImageUrl = avatarImageUrl
        self.displayName = displayName
        self.entityType = entityType
        self.externalUserId = externalUserId
        self.handle = handle
        self.isFollowing = isFollowing ?? false
        self.stats = stats
        self.userId = userId
    }
}
