# This file was generated by the Julia Swagger Code Generator
# Do not modify this file directly. Modify the swagger specification instead.


@doc raw"""
    ObjsUserProfileShort(;
        avatar_hash=nothing,
        display_name=nothing,
        display_name_normalized=nothing,
        image_72=nothing,
        is_restricted=nothing,
        is_ultra_restricted=nothing,
        name=nothing,
        real_name=nothing,
        real_name_normalized=nothing,
        team=nothing,
    )

    - avatar_hash::String
    - display_name::String
    - display_name_normalized::String
    - image_72::String
    - is_restricted::Bool
    - is_ultra_restricted::Bool
    - name::String
    - real_name::String
    - real_name_normalized::String
    - team::DefsWorkspaceId
"""
mutable struct ObjsUserProfileShort <: SwaggerModel
    avatar_hash::Any # spec type: Union{ Nothing, String } # spec name: avatar_hash
    display_name::Any # spec type: Union{ Nothing, String } # spec name: display_name
    display_name_normalized::Any # spec type: Union{ Nothing, String } # spec name: display_name_normalized
    image_72::Any # spec type: Union{ Nothing, String } # spec name: image_72
    is_restricted::Any # spec type: Union{ Nothing, Bool } # spec name: is_restricted
    is_ultra_restricted::Any # spec type: Union{ Nothing, Bool } # spec name: is_ultra_restricted
    name::Any # spec type: Union{ Nothing, String } # spec name: name
    real_name::Any # spec type: Union{ Nothing, String } # spec name: real_name
    real_name_normalized::Any # spec type: Union{ Nothing, String } # spec name: real_name_normalized
    team::Any # spec type: Union{ Nothing, DefsWorkspaceId } # spec name: team

    function ObjsUserProfileShort(;avatar_hash=nothing, display_name=nothing, display_name_normalized=nothing, image_72=nothing, is_restricted=nothing, is_ultra_restricted=nothing, name=nothing, real_name=nothing, real_name_normalized=nothing, team=nothing)
        o = new()
        validate_property(ObjsUserProfileShort, Symbol("avatar_hash"), avatar_hash)
        setfield!(o, Symbol("avatar_hash"), avatar_hash)
        validate_property(ObjsUserProfileShort, Symbol("display_name"), display_name)
        setfield!(o, Symbol("display_name"), display_name)
        validate_property(ObjsUserProfileShort, Symbol("display_name_normalized"), display_name_normalized)
        setfield!(o, Symbol("display_name_normalized"), display_name_normalized)
        validate_property(ObjsUserProfileShort, Symbol("image_72"), image_72)
        setfield!(o, Symbol("image_72"), image_72)
        validate_property(ObjsUserProfileShort, Symbol("is_restricted"), is_restricted)
        setfield!(o, Symbol("is_restricted"), is_restricted)
        validate_property(ObjsUserProfileShort, Symbol("is_ultra_restricted"), is_ultra_restricted)
        setfield!(o, Symbol("is_ultra_restricted"), is_ultra_restricted)
        validate_property(ObjsUserProfileShort, Symbol("name"), name)
        setfield!(o, Symbol("name"), name)
        validate_property(ObjsUserProfileShort, Symbol("real_name"), real_name)
        setfield!(o, Symbol("real_name"), real_name)
        validate_property(ObjsUserProfileShort, Symbol("real_name_normalized"), real_name_normalized)
        setfield!(o, Symbol("real_name_normalized"), real_name_normalized)
        validate_property(ObjsUserProfileShort, Symbol("team"), team)
        setfield!(o, Symbol("team"), team)
        o
    end
end # type ObjsUserProfileShort

const _property_map_ObjsUserProfileShort = Dict{Symbol,Symbol}(Symbol("avatar_hash")=>Symbol("avatar_hash"), Symbol("display_name")=>Symbol("display_name"), Symbol("display_name_normalized")=>Symbol("display_name_normalized"), Symbol("image_72")=>Symbol("image_72"), Symbol("is_restricted")=>Symbol("is_restricted"), Symbol("is_ultra_restricted")=>Symbol("is_ultra_restricted"), Symbol("name")=>Symbol("name"), Symbol("real_name")=>Symbol("real_name"), Symbol("real_name_normalized")=>Symbol("real_name_normalized"), Symbol("team")=>Symbol("team"))
const _property_types_ObjsUserProfileShort = Dict{Symbol,String}(Symbol("avatar_hash")=>"String", Symbol("display_name")=>"String", Symbol("display_name_normalized")=>"String", Symbol("image_72")=>"String", Symbol("is_restricted")=>"Bool", Symbol("is_ultra_restricted")=>"Bool", Symbol("name")=>"String", Symbol("real_name")=>"String", Symbol("real_name_normalized")=>"String", Symbol("team")=>"DefsWorkspaceId")
Base.propertynames(::Type{ ObjsUserProfileShort }) = collect(keys(_property_map_ObjsUserProfileShort))
Swagger.property_type(::Type{ ObjsUserProfileShort }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_ObjsUserProfileShort[name]))}
Swagger.field_name(::Type{ ObjsUserProfileShort }, property_name::Symbol) =  _property_map_ObjsUserProfileShort[property_name]

function check_required(o::ObjsUserProfileShort)
    (getproperty(o, Symbol("avatar_hash")) === nothing) && (return false)
    (getproperty(o, Symbol("display_name")) === nothing) && (return false)
    (getproperty(o, Symbol("image_72")) === nothing) && (return false)
    (getproperty(o, Symbol("is_restricted")) === nothing) && (return false)
    (getproperty(o, Symbol("is_ultra_restricted")) === nothing) && (return false)
    (getproperty(o, Symbol("name")) === nothing) && (return false)
    (getproperty(o, Symbol("real_name")) === nothing) && (return false)
    (getproperty(o, Symbol("team")) === nothing) && (return false)
    true
end

function validate_property(::Type{ ObjsUserProfileShort }, name::Symbol, val)
end
