torc 0.21.0

Workflow management system
# This file was generated by the Julia OpenAPI Code Generator
# Do not modify this file directly. Modify the OpenAPI specification instead.


@doc raw"""ro_crate_entity_model
A single RO-Crate JSON-LD entity description for provenance tracking.

    RoCrateEntityModel(;
        id=nothing,
        workflow_id=nothing,
        file_id=nothing,
        entity_id=nothing,
        entity_type=nothing,
        metadata=nothing,
    )

    - id::Int64 : Database ID of this record
    - workflow_id::Int64 : Database ID of the workflow this entity belongs to
    - file_id::Int64 : Optional link to a file record
    - entity_id::String : The JSON-LD @id for this entity (e.g., \"data/output.parquet\", \"#job-42-attempt-1\")
    - entity_type::String : The Schema.org @type (e.g., \"File\", \"Dataset\", \"SoftwareApplication\", \"CreateAction\")
    - metadata::String : Full JSON-LD metadata object as a JSON string
"""
Base.@kwdef mutable struct RoCrateEntityModel <: OpenAPI.APIModel
    id::Union{Nothing, Int64} = nothing
    workflow_id::Union{Nothing, Int64} = nothing
    file_id::Union{Nothing, Int64} = nothing
    entity_id::Union{Nothing, String} = nothing
    entity_type::Union{Nothing, String} = nothing
    metadata::Union{Nothing, String} = nothing

    function RoCrateEntityModel(id, workflow_id, file_id, entity_id, entity_type, metadata, )
        o = new(id, workflow_id, file_id, entity_id, entity_type, metadata, )
        OpenAPI.validate_properties(o)
        return o
    end
end # type RoCrateEntityModel

const _property_types_RoCrateEntityModel = Dict{Symbol,String}(Symbol("id")=>"Int64", Symbol("workflow_id")=>"Int64", Symbol("file_id")=>"Int64", Symbol("entity_id")=>"String", Symbol("entity_type")=>"String", Symbol("metadata")=>"String", )
OpenAPI.property_type(::Type{ RoCrateEntityModel }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_RoCrateEntityModel[name]))}

function OpenAPI.check_required(o::RoCrateEntityModel)
    o.workflow_id === nothing && (return false)
    o.entity_id === nothing && (return false)
    o.entity_type === nothing && (return false)
    o.metadata === nothing && (return false)
    true
end

function OpenAPI.validate_properties(o::RoCrateEntityModel)
    OpenAPI.validate_property(RoCrateEntityModel, Symbol("id"), o.id)
    OpenAPI.validate_property(RoCrateEntityModel, Symbol("workflow_id"), o.workflow_id)
    OpenAPI.validate_property(RoCrateEntityModel, Symbol("file_id"), o.file_id)
    OpenAPI.validate_property(RoCrateEntityModel, Symbol("entity_id"), o.entity_id)
    OpenAPI.validate_property(RoCrateEntityModel, Symbol("entity_type"), o.entity_type)
    OpenAPI.validate_property(RoCrateEntityModel, Symbol("metadata"), o.metadata)
end

function OpenAPI.validate_property(::Type{ RoCrateEntityModel }, name::Symbol, val)






end